UNPKG

ox

Version:

Ethereum Standard Library

66 lines 1.82 kB
import * as Hex from './Hex.js'; /** * Converts a {@link ox#Withdrawal.Rpc} to an {@link ox#Withdrawal.Withdrawal}. * * @example * ```ts twoslash * import { Withdrawal } from 'ox' * * const withdrawal = Withdrawal.fromRpc({ * address: '0x00000000219ab540356cBB839Cbe05303d7705Fa', * amount: '0x620323', * index: '0x0', * validatorIndex: '0x1', * }) * // @log: { * // @log: address: '0x00000000219ab540356cBB839Cbe05303d7705Fa', * // @log: amount: 6423331n, * // @log: index: 0, * // @log: validatorIndex: 1 * // @log: } * ``` * * @param withdrawal - The RPC withdrawal to convert. * @returns An instantiated {@link ox#Withdrawal.Withdrawal}. */ export function fromRpc(withdrawal) { return { ...withdrawal, amount: BigInt(withdrawal.amount), index: Number(withdrawal.index), validatorIndex: Number(withdrawal.validatorIndex), }; } /** * Converts a {@link ox#Withdrawal.Withdrawal} to an {@link ox#Withdrawal.Rpc}. * * @example * ```ts twoslash * import { Withdrawal } from 'ox' * * const withdrawal = Withdrawal.toRpc({ * address: '0x00000000219ab540356cBB839Cbe05303d7705Fa', * amount: 6423331n, * index: 0, * validatorIndex: 1, * }) * // @log: { * // @log: address: '0x00000000219ab540356cBB839Cbe05303d7705Fa', * // @log: amount: '0x620323', * // @log: index: '0x0', * // @log: validatorIndex: '0x1', * // @log: } * ``` * * @param withdrawal - The Withdrawal to convert. * @returns An RPC Withdrawal. */ export function toRpc(withdrawal) { return { address: withdrawal.address, amount: Hex.fromNumber(withdrawal.amount), index: Hex.fromNumber(withdrawal.index), validatorIndex: Hex.fromNumber(withdrawal.validatorIndex), }; } //# sourceMappingURL=Withdrawal.js.map