viem
Version:
30 lines • 5.1 kB
TypeScript
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