viem
Version:
183 lines • 8.36 kB
TypeScript
import type { Address } from 'abitype';
import type { FeeValuesEIP1559 } from '../../types/fee.js';
import type { Hash, Hex } from '../../types/misc.js';
import type { Index, Quantity, RpcTransactionReceipt, RpcTransactionRequest as RpcTransactionRequest_ } from '../../types/rpc.js';
import type { TransactionBase, TransactionEIP1559 as TransactionEIP1559_, TransactionEIP2930 as TransactionEIP2930_, TransactionLegacy as TransactionLegacy_, TransactionReceipt, TransactionRequestBase, TransactionRequest as TransactionRequest_, TransactionSerializable, TransactionSerializableEIP1559, TransactionSerialized, TransactionType, Transaction as Transaction_ } from '../../types/transaction.js';
import type { ExactPartial, OneOf, UnionOmit } from '../../types/utils.js';
import type { ZksyncEip712Meta } from './eip712.js';
import type { ZksyncFee, ZksyncFeeValues } from './fee.js';
import type { ZksyncL2ToL1Log, ZksyncLog, ZksyncRpcL2ToL1Log, ZksyncRpcLog } from './log.js';
type EIP712Type = '0x71';
type PriorityType = '0xff';
type TransactionOverrides = {
l1BatchNumber: bigint | null;
l1BatchTxIndex: bigint | null;
};
type TransactionPriority<pending extends boolean = boolean> = TransactionBase<bigint, number, pending> & TransactionOverrides & FeeValuesEIP1559 & {
type: 'priority';
};
export type ZksyncTransactionEIP712<pending extends boolean = boolean> = TransactionBase<bigint, number, pending> & TransactionOverrides & FeeValuesEIP1559 & {
type: 'eip712' | 'priority';
};
type Transaction<pending extends boolean = boolean> = Transaction_<bigint, number, pending> & TransactionOverrides;
export type ZksyncTransaction<pending extends boolean = boolean> = Transaction<pending> | TransactionPriority<pending> | ZksyncTransactionEIP712<pending>;
type RpcTransactionOverrides = {
l1BatchNumber: Hex | null;
l1BatchTxIndex: Hex | null;
};
type RpcTransactionLegacy<pending extends boolean = boolean> = TransactionLegacy_<Hex, Hex, pending, '0x0'> & RpcTransactionOverrides;
type RpcTransactionEIP2930<pending extends boolean = boolean> = TransactionEIP2930_<Hex, Hex, pending, '0x1'> & RpcTransactionOverrides;
type RpcTransactionEIP1559<pending extends boolean = boolean> = TransactionEIP1559_<Hex, Hex, pending, '0x2'> & RpcTransactionOverrides;
export type ZksyncRpcTransactionPriority<pending extends boolean = boolean> = TransactionBase<Quantity, Index, pending> & ZksyncFeeValues<Quantity> & RpcTransactionOverrides & {
accessList?: undefined;
chainId: Hex;
type: PriorityType;
};
export type ZksyncRpcTransactionEIP712<pending extends boolean = boolean> = TransactionBase<Quantity, Index, pending> & ZksyncFeeValues<Quantity> & RpcTransactionOverrides & {
accessList?: undefined;
chainId: Hex;
type: EIP712Type;
};
export type ZksyncRpcTransaction<pending extends boolean = boolean> = UnionOmit<RpcTransactionLegacy<pending> | RpcTransactionEIP2930<pending> | RpcTransactionEIP1559<pending> | ZksyncRpcTransactionPriority<pending> | ZksyncRpcTransactionEIP712<pending>, 'typeHex'>;
export type TransactionRequest<quantity = bigint, index = number> = TransactionRequest_<quantity, index> & {
gasPerPubdata?: undefined;
customSignature?: undefined;
paymaster?: undefined;
paymasterInput?: undefined;
factoryDeps?: undefined;
};
export type ZksyncTransactionRequestEIP712<quantity = bigint, index = number> = Omit<TransactionRequestBase<quantity, index>, 'type'> & ExactPartial<FeeValuesEIP1559> & {
gasPerPubdata?: bigint | undefined;
customSignature?: Hex | undefined;
factoryDeps?: Hex[] | undefined;
type?: 'eip712' | 'priority' | undefined;
} & ({
paymaster: Address;
paymasterInput: Hex;
} | {
paymaster?: undefined;
paymasterInput?: undefined;
});
export type ZksyncTransactionRequest<quantity = bigint, index = number> = TransactionRequest<quantity, index> | ZksyncTransactionRequestEIP712<quantity, index>;
type RpcTransactionRequest = RpcTransactionRequest_ & {
eip712Meta?: undefined;
};
export type ZksyncRpcTransactionRequestEIP712 = TransactionRequestBase<Quantity, Index> & ExactPartial<FeeValuesEIP1559<Quantity>> & {
eip712Meta: ZksyncEip712Meta;
type: EIP712Type | PriorityType;
};
export type ZksyncRpcTransactionRequest = RpcTransactionRequest | ZksyncRpcTransactionRequestEIP712;
export type ZksyncTransactionType = TransactionType | 'eip712' | 'priority';
export type ZksyncRpcTransactionReceiptOverrides = {
l1BatchNumber: Hex | null;
l1BatchTxIndex: Hex | null;
logs: ZksyncRpcLog[];
l2ToL1Logs: ZksyncRpcL2ToL1Log[];
root: Hex;
};
export type ZksyncRpcTransactionReceipt = Omit<RpcTransactionReceipt, 'logs'> & ZksyncRpcTransactionReceiptOverrides;
export type ZksyncTransactionReceiptOverrides = {
l1BatchNumber: bigint | null;
l1BatchTxIndex: bigint | null;
logs: ZksyncLog[];
l2ToL1Logs: ZksyncL2ToL1Log[];
};
export type ZksyncTransactionReceipt<status = 'success' | 'reverted', type = ZksyncTransactionType> = Omit<TransactionReceipt<bigint, number, status, type>, 'logs'> & ZksyncTransactionReceiptOverrides;
export type ZksyncTransactionSerializable = OneOf<TransactionSerializable | ZksyncTransactionSerializableEIP712>;
export type ZksyncTransactionSerialized<type extends TransactionType = 'eip712'> = type extends 'eip712' ? ZksyncTransactionSerializedEIP712 : TransactionSerialized<type>;
export type ZksyncTransactionSerializedEIP712 = `0x71${string}`;
export type ZksyncTransactionSerializableEIP712<quantity = bigint, index = number> = Omit<TransactionSerializableEIP1559<quantity, index>, 'type'> & {
from: Hex;
gasPerPubdata?: bigint | undefined;
paymaster?: Address | undefined;
factoryDeps?: Hex[] | undefined;
paymasterInput?: Hex | undefined;
customSignature?: Hex | undefined;
type?: 'eip712' | undefined;
};
export type ZksyncEIP712TransactionSignable = {
txType: bigint;
from: bigint;
to: bigint;
gasLimit: bigint;
gasPerPubdataByteLimit: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
paymaster: bigint;
nonce: bigint;
value: bigint;
data: Hex;
factoryDeps: Hex[];
paymasterInput: Hex;
};
export type TransactionRequestEIP712<quantity = bigint, index = number, transactionType = 'eip712'> = TransactionRequestBase<quantity, index> & ExactPartial<FeeValuesEIP1559<quantity>> & {
accessList?: undefined;
gasPerPubdata?: bigint | undefined;
factoryDeps?: Hex[] | undefined;
paymaster?: Address | undefined;
paymasterInput?: Hex | undefined;
customSignature?: Hex | undefined;
type?: transactionType | undefined;
};
type CommonDataRawBlockTransaction = {
sender: Address;
maxFeePerGas: Hex;
gasLimit: Hex;
gasPerPubdataLimit: Hex;
ethHash: Hash;
ethBlock: number;
canonicalTxHash: Hash;
toMint: Hex;
refundRecipient: Address;
};
export type ZksyncRawBlockTransactions = {
commonData: {
L1?: ({
serialId: number;
deadlineBlock: number;
layer2TipFee: Hex;
fullFee: Hex;
opProcessingType: string;
priorityQueueType: string;
} & CommonDataRawBlockTransaction) | undefined;
L2?: {
nonce: number;
fee: ZksyncFee<Hex>;
initiatorAddress: Address;
signature: Uint8Array;
transactionType: string;
input?: {
hash: Hash;
data: Uint8Array;
} | undefined;
paymasterParams: {
paymaster: Address;
paymasterInput: Uint8Array;
};
} | undefined;
ProtocolUpgrade?: ({
upgradeId: string;
} & CommonDataRawBlockTransaction) | undefined;
};
execute: {
calldata: Hash;
contractAddress: Address;
factoryDeps?: Hash;
value: bigint;
};
receivedTimestampMs: number;
rawBytes?: string | undefined;
}[];
export type ZksyncTransactionDetails = {
isL1Originated: boolean;
status: string;
fee: bigint;
gasPerPubdata: bigint;
initiatorAddress: Address;
receivedAt: Date;
ethCommitTxHash?: Hash | undefined;
ethProveTxHash?: Hash | undefined;
ethExecuteTxHash?: Hash | undefined;
};
export {};
//# sourceMappingURL=transaction.d.ts.map