UNPKG

ox

Version:

Ethereum Standard Library

165 lines 8.32 kB
import type * as Address from '../core/Address.js'; import type * as Hex from '../core/Hex.js'; import type { Compute } from '../core/internal/types.js'; import * as ox_TransactionReceipt from '../core/TransactionReceipt.js'; /** * Tempo transaction receipt. * * Extends standard receipts with `feePayer` (the address that paid fees) and * `feeToken` (the TIP-20 token used for fee payment). * * @see {@link https://docs.tempo.xyz/protocol/transactions Tempo Transactions} */ export type TransactionReceipt<status = ox_TransactionReceipt.Status, type = ox_TransactionReceipt.Type, bigintType = bigint, numberType = number> = Compute<ox_TransactionReceipt.TransactionReceipt<status, type, bigintType, numberType> & { /** Address of the fee payer. */ feePayer?: Address.Address | undefined; /** Address of the fee token. */ feeToken?: Address.Address | undefined; }>; export type Rpc = TransactionReceipt<ox_TransactionReceipt.RpcStatus, ox_TransactionReceipt.RpcType, Hex.Hex, Hex.Hex>; export type Type = 'tempo' | ox_TransactionReceipt.Type; export type RpcType = '0x76' | ox_TransactionReceipt.RpcType; export type Status = ox_TransactionReceipt.Status; export type RpcStatus = ox_TransactionReceipt.RpcStatus; /** RPC type to type mapping. */ export declare const fromRpcType: { readonly '0x76': "tempo"; readonly '0x0': "legacy"; readonly '0x1': "eip2930"; readonly '0x2': "eip1559"; readonly '0x3': "eip4844"; readonly '0x4': "eip7702"; }; /** Type to RPC type mapping. */ export declare const toRpcType: { readonly tempo: "0x76"; readonly legacy: "0x0"; readonly eip2930: "0x1"; readonly eip1559: "0x2"; readonly eip4844: "0x3"; readonly eip7702: "0x4"; }; /** * Converts an RPC receipt to a TransactionReceipt. * * @see {@link https://docs.tempo.xyz/protocol/transactions Tempo Transactions} * * @example * ```ts twoslash * import { TransactionReceipt } from 'ox/tempo' * * const receipt = TransactionReceipt.fromRpc({ * blobGasPrice: '0x42069', * blobGasUsed: '0x1337', * blockHash: * '0xc350d807505fb835650f0013632c5515592987ba169bbc6626d9fc54d91f0f0b', * blockNumber: '0x12f296f', * contractAddress: null, * cumulativeGasUsed: '0x82515', * effectiveGasPrice: '0x21c2f6c09', * feePayer: '0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6', * feeToken: '0x20c0000000000000000000000000000000000001', * from: '0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6', * gasUsed: '0x2abba', * logs: [], * logsBloom: * '0x00200000000000000000008080000000000000000040000000000000000000000000000000000000000000000000000022000000080000000000000000000000000000080000000000000008000000200000000000000000000200008020400000000000000000280000000000100000000000000000000000000010000000000000000000020000000000000020000000000001000000080000004000000000000000000000000000000000000000000000400000000000001000000000000000000002000000000000000020000000000000000000001000000000000000000000200000000000000000000000000000001000000000c00000000000000000', * status: '0x1', * to: '0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad', * transactionHash: * '0x353fdfc38a2f26115daadee9f5b8392ce62b84f410957967e2ed56b35338cdd0', * transactionIndex: '0x2', * type: '0x2', * }) * // @log: { * // @log: blobGasPrice: 270441n, * // @log: blobGasUsed: 4919n, * // @log: blockHash: "0xc350d807505fb835650f0013632c5515592987ba169bbc6626d9fc54d91f0f0b", * // @log: blockNumber: 19868015n, * // @log: contractAddress: null, * // @log: cumulativeGasUsed: 533781n, * // @log: effectiveGasPrice: 9062804489n, * // @log: feePayer: "0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6", * // @log: feeToken: "0x20c0000000000000000000000000000000000001", * // @log: from: "0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6", * // @log: gasUsed: 175034n, * // @log: logs: [], * // @log: logsBloom: "0x00200000000000000000008080000000000000000040000000000000000000000000000000000000000000000000000022000000080000000000000000000000000000080000000000000008000000200000000000000000000200008020400000000000000000280000000000100000000000000000000000000010000000000000000000020000000000000020000000000001000000080000004000000000000000000000000000000000000000000000400000000000001000000000000000000002000000000000000020000000000000000000001000000000000000000000200000000000000000000000000000001000000000c00000000000000000", * // @log: root: undefined, * // @log: status: "success", * // @log: to: "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", * // @log: transactionHash: "0x353fdfc38a2f26115daadee9f5b8392ce62b84f410957967e2ed56b35338cdd0", * // @log: transactionIndex: 2, * // @log: type: "eip1559", * // @log: } * ``` * * @param receipt - The RPC receipt to convert. * @returns A TransactionReceipt. */ export declare function fromRpc<const receipt extends Rpc | null>(receipt: receipt | Rpc | null): receipt extends Rpc ? TransactionReceipt : null; export declare namespace fromRpc { type ErrorType = ox_TransactionReceipt.fromRpc.ErrorType; } /** * Converts a TransactionReceipt to an RPC receipt. * * @example * ```ts twoslash * import { TransactionReceipt } from 'ox/tempo' * * const receipt = TransactionReceipt.toRpc({ * blobGasPrice: 270441n, * blobGasUsed: 4919n, * blockHash: * '0xc350d807505fb835650f0013632c5515592987ba169bbc6626d9fc54d91f0f0b', * blockNumber: 19868015n, * contractAddress: null, * cumulativeGasUsed: 533781n, * effectiveGasPrice: 9062804489n, * feePayer: '0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6', * feeToken: '0x20c0000000000000000000000000000000000001', * from: '0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6', * gasUsed: 175034n, * logs: [], * logsBloom: * '0x00200000000000000000008080000000000000000040000000000000000000000000000000000000000000000000000022000000080000000000000000000000000000080000000000000008000000200000000000000000000200008020400000000000000000280000000000100000000000000000000000000010000000000000000000020000000000000020000000000001000000080000004000000000000000000000000000000000000000000000400000000000001000000000000000000002000000000000000020000000000000000000001000000000000000000000200000000000000000000000000000001000000000c00000000000000000', * root: undefined, * status: 'success', * to: '0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad', * transactionHash: * '0x353fdfc38a2f26115daadee9f5b8392ce62b84f410957967e2ed56b35338cdd0', * transactionIndex: 2, * type: 'eip1559', * }) * // @log: { * // @log: blobGasPrice: "0x042069", * // @log: blobGasUsed: "0x1337", * // @log: blockHash: "0xc350d807505fb835650f0013632c5515592987ba169bbc6626d9fc54d91f0f0b", * // @log: blockNumber: "0x012f296f", * // @log: contractAddress: null, * // @log: cumulativeGasUsed: "0x082515", * // @log: effectiveGasPrice: "0x021c2f6c09", * // @log: feePayer: "0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6", * // @log: feeToken: "0x20c0000000000000000000000000000000000001", * // @log: from: "0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6", * // @log: gasUsed: "0x02abba", * // @log: logs: [], * // @log: logsBloom: "0x00200000000000000000008080000000000000000040000000000000000000000000000000000000000000000000000022000000080000000000000000000000000000080000000000000008000000200000000000000000000200008020400000000000000000280000000000100000000000000000000000000010000000000000000000020000000000000020000000000001000000080000004000000000000000000000000000000000000000000000400000000000001000000000000000000002000000000000000020000000000000000000001000000000000000000000200000000000000000000000000000001000000000c00000000000000000", * // @log: root: undefined, * // @log: status: "0x1", * // @log: to: "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", * // @log: transactionHash: "0x353fdfc38a2f26115daadee9f5b8392ce62b84f410957967e2ed56b35338cdd0", * // @log: transactionIndex: "0x02", * // @log: type: "eip1559", * // @log: } * ``` * * @param receipt - The receipt to convert. * @returns An RPC receipt. */ export declare function toRpc(receipt: TransactionReceipt): Rpc; export declare namespace toRpc { type ErrorType = ox_TransactionReceipt.toRpc.ErrorType; } //# sourceMappingURL=TransactionReceipt.d.ts.map