UNPKG

viem

Version:

TypeScript Interface for Ethereum

30 lines 5.1 kB
import type { ErrorType } from '../../errors/utils.js'; import type { BlockTag } from '../../types/block.js'; import type { Chain } from '../../types/chain.js'; import type { ExtractChainFormatterExclude, ExtractChainFormatterReturnType } from '../../types/chain.js'; import type { RpcTransaction } from '../../types/rpc.js'; import type { Transaction } from '../../types/transaction.js'; import type { UnionLooseOmit } from '../../types/utils.js'; import { type DefineFormatterErrorType } from './formatter.js'; type TransactionPendingDependencies = 'blockHash' | 'blockNumber' | 'transactionIndex'; export type FormattedTransaction<TChain extends Chain | undefined = undefined, TBlockTag extends BlockTag = BlockTag, _FormatterReturnType = ExtractChainFormatterReturnType<TChain, 'transaction', Transaction>, _ExcludedPendingDependencies extends string = TransactionPendingDependencies & ExtractChainFormatterExclude<TChain, 'transaction'>> = UnionLooseOmit<_FormatterReturnType, TransactionPendingDependencies> & { [_K in _ExcludedPendingDependencies]: never; } & Pick<Transaction<bigint, number, TBlockTag extends 'pending' ? true : false>, TransactionPendingDependencies>; export declare const transactionType: { readonly '0x0': "legacy"; readonly '0x1': "eip2930"; readonly '0x2': "eip1559"; }; export type FormatTransactionErrorType = ErrorType; export declare function formatTransaction(transaction: Partial<RpcTransaction>): Transaction; export type DefineTransactionErrorType = DefineFormatterErrorType | ErrorType; export declare const defineTransaction: <TOverrideParameters, TOverrideReturnType, TExclude extends ("yParity" | "blockHash" | "blockNumber" | "from" | "gas" | "hash" | "input" | "nonce" | "r" | "s" | "to" | "transactionIndex" | "v" | "value" | "type" | "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" | "accessList" | "chainId" | keyof TOverrideParameters)[] = []>({ exclude, format: overrides, }: { exclude?: TExclude | undefined; format: (_: TOverrideParameters) => TOverrideReturnType; }) => { exclude: TExclude | undefined; format: (args: import("../../types/utils.js").Assign<Partial<RpcTransaction>, TOverrideParameters>) => (((import("../../types/transaction.js").TransactionLegacy<bigint, number, boolean, "legacy"> extends infer T_2 ? { [K_1 in keyof T_2 as K_1 extends keyof TOverrideReturnType ? TOverrideReturnType[K_1] extends void ? never : K_1 : K_1]: K_1 extends keyof TOverrideReturnType ? TOverrideReturnType[K_1] : import("../../types/transaction.js").TransactionLegacy<bigint, number, boolean, "legacy">[K_1]; } : never) & TOverrideReturnType extends infer T ? { [K in keyof T]: ((import("../../types/transaction.js").TransactionLegacy<bigint, number, boolean, "legacy"> extends infer T_1 ? { [K_1 in keyof T_1 as K_1 extends keyof TOverrideReturnType ? TOverrideReturnType[K_1] extends void ? never : K_1 : K_1]: K_1 extends keyof TOverrideReturnType ? TOverrideReturnType[K_1] : import("../../types/transaction.js").TransactionLegacy<bigint, number, boolean, "legacy">[K_1]; } : never) & TOverrideReturnType)[K]; } : never) | ((import("../../types/transaction.js").TransactionEIP2930<bigint, number, boolean, "eip2930"> extends infer T_5 ? { [K_3 in keyof T_5 as K_3 extends keyof TOverrideReturnType ? TOverrideReturnType[K_3] extends void ? never : K_3 : K_3]: K_3 extends keyof TOverrideReturnType ? TOverrideReturnType[K_3] : import("../../types/transaction.js").TransactionEIP2930<bigint, number, boolean, "eip2930">[K_3]; } : never) & TOverrideReturnType extends infer T_3 ? { [K_2 in keyof T_3]: ((import("../../types/transaction.js").TransactionEIP2930<bigint, number, boolean, "eip2930"> extends infer T_4 ? { [K_3 in keyof T_4 as K_3 extends keyof TOverrideReturnType ? TOverrideReturnType[K_3] extends void ? never : K_3 : K_3]: K_3 extends keyof TOverrideReturnType ? TOverrideReturnType[K_3] : import("../../types/transaction.js").TransactionEIP2930<bigint, number, boolean, "eip2930">[K_3]; } : never) & TOverrideReturnType)[K_2]; } : never) | ((import("../../types/transaction.js").TransactionEIP1559<bigint, number, boolean, "eip1559"> extends infer T_8 ? { [K_5 in keyof T_8 as K_5 extends keyof TOverrideReturnType ? TOverrideReturnType[K_5] extends void ? never : K_5 : K_5]: K_5 extends keyof TOverrideReturnType ? TOverrideReturnType[K_5] : import("../../types/transaction.js").TransactionEIP1559<bigint, number, boolean, "eip1559">[K_5]; } : never) & TOverrideReturnType extends infer T_6 ? { [K_4 in keyof T_6]: ((import("../../types/transaction.js").TransactionEIP1559<bigint, number, boolean, "eip1559"> extends infer T_7 ? { [K_5 in keyof T_7 as K_5 extends keyof TOverrideReturnType ? TOverrideReturnType[K_5] extends void ? never : K_5 : K_5]: K_5 extends keyof TOverrideReturnType ? TOverrideReturnType[K_5] : import("../../types/transaction.js").TransactionEIP1559<bigint, number, boolean, "eip1559">[K_5]; } : never) & TOverrideReturnType)[K_4]; } : never)) & { [_key in TExclude[number]]: never; }; type: "transaction"; }; export {}; //# sourceMappingURL=transaction.d.ts.map