@0x/0x-parser
Version:
🧾 Designed for 0x integrators: This library parses 0x transactions on EVM blockchains into a format that is both user-friendly and easy to understand.
1,270 lines (1,269 loc) • 111 kB
TypeScript
import type { SupportedChainId } from "./types";
export declare const FORWARDING_MULTICALL_ABI: ({
type: string;
stateMutability: string;
name?: undefined;
inputs?: undefined;
outputs?: undefined;
} | {
type: string;
name: string;
inputs: ({
name: string;
type: string;
internalType: string;
components: {
name: string;
type: string;
internalType: string;
}[];
} | {
name: string;
type: string;
internalType: string;
components?: undefined;
})[];
outputs: {
name: string;
type: string;
internalType: string;
components: {
name: string;
type: string;
internalType: string;
}[];
}[];
stateMutability: string;
})[];
export declare const SETTLER_META_TXN_ABI: readonly [{
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "recipient";
readonly type: "address";
}, {
readonly internalType: "contract IERC20";
readonly name: "buyToken";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "minAmountOut";
readonly type: "uint256";
}];
readonly internalType: "struct SettlerBase.AllowedSlippage";
readonly name: "slippage";
readonly type: "tuple";
}, {
readonly internalType: "bytes[]";
readonly name: "actions";
readonly type: "bytes[]";
}, {
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "msgSender";
readonly type: "address";
}, {
readonly internalType: "bytes";
readonly name: "sig";
readonly type: "bytes";
}];
readonly name: "executeMetaTxn";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}];
export declare const FUNCTION_SELECTORS: {
EXECUTE_META_TXN: string;
};
export declare const SUPPORTED_CHAINS: ({
blockExplorers: {
readonly default: {
readonly name: "BscScan";
readonly url: "https://bscscan.com";
readonly apiUrl: "https://api.bscscan.com/api";
};
};
blockTime: 750;
contracts: {
readonly multicall3: {
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
readonly blockCreated: 15921452;
};
};
ensTlds?: readonly string[] | undefined;
id: 56;
name: "BNB Smart Chain";
nativeCurrency: {
readonly decimals: 18;
readonly name: "BNB";
readonly symbol: "BNB";
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://56.rpc.thirdweb.com"];
};
};
sourceId?: number | undefined | undefined;
testnet?: boolean | undefined | undefined;
custom?: Record<string, unknown> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters?: undefined;
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
} | {
blockExplorers: {
readonly default: {
readonly name: "Basescan";
readonly url: "https://basescan.org";
readonly apiUrl: "https://api.basescan.org/api";
};
};
blockTime: 2000;
contracts: {
readonly disputeGameFactory: {
readonly 1: {
readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
};
};
readonly l2OutputOracle: {
readonly 1: {
readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
};
};
readonly multicall3: {
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
readonly blockCreated: 5022;
};
readonly portal: {
readonly 1: {
readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
readonly blockCreated: 17482143;
};
};
readonly l1StandardBridge: {
readonly 1: {
readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
readonly blockCreated: 17482143;
};
};
readonly gasPriceOracle: {
readonly address: "0x420000000000000000000000000000000000000F";
};
readonly l1Block: {
readonly address: "0x4200000000000000000000000000000000000015";
};
readonly l2CrossDomainMessenger: {
readonly address: "0x4200000000000000000000000000000000000007";
};
readonly l2Erc721Bridge: {
readonly address: "0x4200000000000000000000000000000000000014";
};
readonly l2StandardBridge: {
readonly address: "0x4200000000000000000000000000000000000010";
};
readonly l2ToL1MessagePasser: {
readonly address: "0x4200000000000000000000000000000000000016";
};
};
ensTlds?: readonly string[] | undefined;
id: 8453;
name: "Base";
nativeCurrency: {
readonly name: "Ether";
readonly symbol: "ETH";
readonly decimals: 18;
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://mainnet.base.org"];
};
};
sourceId: 1;
testnet?: boolean | undefined | undefined;
custom?: Record<string, unknown> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters: {
readonly block: {
exclude: [] | undefined;
format: (args: import("viem/chains").OpStackRpcBlock, action?: string | undefined) => {
baseFeePerGas: bigint | null;
blobGasUsed: bigint;
difficulty: bigint;
excessBlobGas: bigint;
extraData: import("viem").Hex;
gasLimit: bigint;
gasUsed: bigint;
hash: `0x${string}` | null;
logsBloom: `0x${string}` | null;
miner: import("viem").Address;
mixHash: import("viem").Hash;
nonce: `0x${string}` | null;
number: bigint | null;
parentBeaconBlockRoot?: `0x${string}` | undefined;
parentHash: import("viem").Hash;
receiptsRoot: import("viem").Hex;
sealFields: import("viem").Hex[];
sha3Uncles: import("viem").Hash;
size: bigint;
stateRoot: import("viem").Hash;
timestamp: bigint;
totalDifficulty: bigint | null;
transactions: `0x${string}`[] | import("viem/chains").OpStackTransaction<boolean>[];
transactionsRoot: import("viem").Hash;
uncles: import("viem").Hash[];
withdrawals?: import("viem").Withdrawal[] | undefined | undefined;
withdrawalsRoot?: `0x${string}` | undefined;
} & {};
type: "block";
};
readonly transaction: {
exclude: [] | undefined;
format: (args: import("viem/chains").OpStackRpcTransaction, action?: string | undefined) => ({
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
gasPrice?: undefined | undefined;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: boolean;
mint?: bigint | undefined | undefined;
sourceHash: import("viem").Hex;
type: "deposit";
} | {
r: import("viem").Hex;
s: import("viem").Hex;
v: bigint;
value: bigint;
gas: bigint;
to: import("viem").Address | null;
from: import("viem").Address;
nonce: number;
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
transactionIndex: number | null;
hash: import("viem").Hash;
input: import("viem").Hex;
typeHex: import("viem").Hex | null;
accessList?: undefined | undefined;
authorizationList?: undefined | undefined;
blobVersionedHashes?: undefined | undefined;
chainId?: number | undefined;
yParity?: undefined | undefined;
type: "legacy";
gasPrice: bigint;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas?: undefined | undefined;
maxPriorityFeePerGas?: undefined | undefined;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList?: undefined | undefined;
blobVersionedHashes?: undefined | undefined;
chainId: number;
type: "eip2930";
gasPrice: bigint;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas?: undefined | undefined;
maxPriorityFeePerGas?: undefined | undefined;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList?: undefined | undefined;
blobVersionedHashes?: undefined | undefined;
chainId: number;
type: "eip1559";
gasPrice?: undefined | undefined;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList?: undefined | undefined;
blobVersionedHashes: readonly import("viem").Hex[];
chainId: number;
type: "eip4844";
gasPrice?: undefined | undefined;
maxFeePerBlobGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList: import("viem").SignedAuthorizationList;
blobVersionedHashes?: undefined | undefined;
chainId: number;
type: "eip7702";
gasPrice?: undefined | undefined;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
}) & {};
type: "transaction";
};
readonly transactionReceipt: {
exclude: [] | undefined;
format: (args: import("viem/chains").OpStackRpcTransactionReceipt, action?: string | undefined) => {
blobGasPrice?: bigint | undefined;
blobGasUsed?: bigint | undefined;
blockHash: import("viem").Hash;
blockNumber: bigint;
contractAddress: import("viem").Address | null | undefined;
cumulativeGasUsed: bigint;
effectiveGasPrice: bigint;
from: import("viem").Address;
gasUsed: bigint;
logs: import("viem").Log<bigint, number, false>[];
logsBloom: import("viem").Hex;
root?: `0x${string}` | undefined;
status: "success" | "reverted";
to: import("viem").Address | null;
transactionHash: import("viem").Hash;
transactionIndex: number;
type: import("viem").TransactionType;
l1GasPrice: bigint | null;
l1GasUsed: bigint | null;
l1Fee: bigint | null;
l1FeeScalar: number | null;
} & {};
type: "transactionReceipt";
};
};
serializers: {
readonly transaction: typeof import("viem/chains").serializeTransactionOpStack;
};
} | {
blockExplorers: {
readonly default: {
readonly name: "Modescan";
readonly url: "https://modescan.io";
};
};
blockTime: 2000;
contracts: {
readonly multicall3: {
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
readonly blockCreated: 2465882;
};
readonly l2OutputOracle: {
readonly 1: {
readonly address: "0x4317ba146D4933D889518a3e5E11Fe7a53199b04";
};
};
readonly portal: {
readonly 1: {
readonly address: "0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07";
};
};
readonly l1StandardBridge: {
readonly 1: {
readonly address: "0x735aDBbE72226BD52e818E7181953f42E3b0FF21";
};
};
readonly gasPriceOracle: {
readonly address: "0x420000000000000000000000000000000000000F";
};
readonly l1Block: {
readonly address: "0x4200000000000000000000000000000000000015";
};
readonly l2CrossDomainMessenger: {
readonly address: "0x4200000000000000000000000000000000000007";
};
readonly l2Erc721Bridge: {
readonly address: "0x4200000000000000000000000000000000000014";
};
readonly l2StandardBridge: {
readonly address: "0x4200000000000000000000000000000000000010";
};
readonly l2ToL1MessagePasser: {
readonly address: "0x4200000000000000000000000000000000000016";
};
};
ensTlds?: readonly string[] | undefined;
id: 34443;
name: "Mode Mainnet";
nativeCurrency: {
readonly name: "Ether";
readonly symbol: "ETH";
readonly decimals: 18;
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://mainnet.mode.network"];
};
};
sourceId: 1;
testnet?: boolean | undefined | undefined;
custom?: Record<string, unknown> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters: {
readonly block: {
exclude: [] | undefined;
format: (args: import("viem/chains").OpStackRpcBlock, action?: string | undefined) => {
baseFeePerGas: bigint | null;
blobGasUsed: bigint;
difficulty: bigint;
excessBlobGas: bigint;
extraData: import("viem").Hex;
gasLimit: bigint;
gasUsed: bigint;
hash: `0x${string}` | null;
logsBloom: `0x${string}` | null;
miner: import("viem").Address;
mixHash: import("viem").Hash;
nonce: `0x${string}` | null;
number: bigint | null;
parentBeaconBlockRoot?: `0x${string}` | undefined;
parentHash: import("viem").Hash;
receiptsRoot: import("viem").Hex;
sealFields: import("viem").Hex[];
sha3Uncles: import("viem").Hash;
size: bigint;
stateRoot: import("viem").Hash;
timestamp: bigint;
totalDifficulty: bigint | null;
transactions: `0x${string}`[] | import("viem/chains").OpStackTransaction<boolean>[];
transactionsRoot: import("viem").Hash;
uncles: import("viem").Hash[];
withdrawals?: import("viem").Withdrawal[] | undefined | undefined;
withdrawalsRoot?: `0x${string}` | undefined;
} & {};
type: "block";
};
readonly transaction: {
exclude: [] | undefined;
format: (args: import("viem/chains").OpStackRpcTransaction, action?: string | undefined) => ({
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
gasPrice?: undefined | undefined;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: boolean;
mint?: bigint | undefined | undefined;
sourceHash: import("viem").Hex;
type: "deposit";
} | {
r: import("viem").Hex;
s: import("viem").Hex;
v: bigint;
value: bigint;
gas: bigint;
to: import("viem").Address | null;
from: import("viem").Address;
nonce: number;
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
transactionIndex: number | null;
hash: import("viem").Hash;
input: import("viem").Hex;
typeHex: import("viem").Hex | null;
accessList?: undefined | undefined;
authorizationList?: undefined | undefined;
blobVersionedHashes?: undefined | undefined;
chainId?: number | undefined;
yParity?: undefined | undefined;
type: "legacy";
gasPrice: bigint;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas?: undefined | undefined;
maxPriorityFeePerGas?: undefined | undefined;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList?: undefined | undefined;
blobVersionedHashes?: undefined | undefined;
chainId: number;
type: "eip2930";
gasPrice: bigint;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas?: undefined | undefined;
maxPriorityFeePerGas?: undefined | undefined;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList?: undefined | undefined;
blobVersionedHashes?: undefined | undefined;
chainId: number;
type: "eip1559";
gasPrice?: undefined | undefined;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList?: undefined | undefined;
blobVersionedHashes: readonly import("viem").Hex[];
chainId: number;
type: "eip4844";
gasPrice?: undefined | undefined;
maxFeePerBlobGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList: import("viem").SignedAuthorizationList;
blobVersionedHashes?: undefined | undefined;
chainId: number;
type: "eip7702";
gasPrice?: undefined | undefined;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
}) & {};
type: "transaction";
};
readonly transactionReceipt: {
exclude: [] | undefined;
format: (args: import("viem/chains").OpStackRpcTransactionReceipt, action?: string | undefined) => {
blobGasPrice?: bigint | undefined;
blobGasUsed?: bigint | undefined;
blockHash: import("viem").Hash;
blockNumber: bigint;
contractAddress: import("viem").Address | null | undefined;
cumulativeGasUsed: bigint;
effectiveGasPrice: bigint;
from: import("viem").Address;
gasUsed: bigint;
logs: import("viem").Log<bigint, number, false>[];
logsBloom: import("viem").Hex;
root?: `0x${string}` | undefined;
status: "success" | "reverted";
to: import("viem").Address | null;
transactionHash: import("viem").Hash;
transactionIndex: number;
type: import("viem").TransactionType;
l1GasPrice: bigint | null;
l1GasUsed: bigint | null;
l1Fee: bigint | null;
l1FeeScalar: number | null;
} & {};
type: "transactionReceipt";
};
};
serializers: {
readonly transaction: typeof import("viem/chains").serializeTransactionOpStack;
};
} | {
blockExplorers: {
readonly default: {
readonly name: "Monvision";
readonly url: "https://mainnet-beta.monvision.io";
};
};
blockTime: 400;
contracts?: {
[x: string]: import("viem").ChainContract | {
[sourceId: number]: import("viem").ChainContract | undefined;
} | undefined;
ensRegistry?: import("viem").ChainContract | undefined;
ensUniversalResolver?: import("viem").ChainContract | undefined;
multicall3?: import("viem").ChainContract | undefined;
erc6492Verifier?: import("viem").ChainContract | undefined;
} | undefined;
ensTlds?: readonly string[] | undefined;
id: 143;
name: "Monad";
nativeCurrency: {
readonly name: "Monad";
readonly symbol: "MON";
readonly decimals: 18;
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://rpc.monad.xyz"];
};
};
sourceId?: number | undefined | undefined;
testnet: false;
custom?: Record<string, unknown> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters?: undefined;
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
} | {
blockExplorers: {
readonly default: {
readonly name: "Blastscan";
readonly url: "https://blastscan.io";
readonly apiUrl: "https://api.blastscan.io/api";
};
};
blockTime: 2000;
contracts: {
readonly multicall3: {
readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
readonly blockCreated: 212929;
};
readonly l2OutputOracle: {
readonly 1: {
readonly address: "0x826D1B0D4111Ad9146Eb8941D7Ca2B6a44215c76";
readonly blockCreated: 19300358;
};
};
readonly portal: {
readonly 1: {
readonly address: "0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb";
readonly blockCreated: 19300357;
};
};
readonly l1StandardBridge: {
readonly 1: {
readonly address: "0x697402166Fbf2F22E970df8a6486Ef171dbfc524";
readonly blockCreated: 19300360;
};
};
readonly gasPriceOracle: {
readonly address: "0x420000000000000000000000000000000000000F";
};
readonly l1Block: {
readonly address: "0x4200000000000000000000000000000000000015";
};
readonly l2CrossDomainMessenger: {
readonly address: "0x4200000000000000000000000000000000000007";
};
readonly l2Erc721Bridge: {
readonly address: "0x4200000000000000000000000000000000000014";
};
readonly l2StandardBridge: {
readonly address: "0x4200000000000000000000000000000000000010";
};
readonly l2ToL1MessagePasser: {
readonly address: "0x4200000000000000000000000000000000000016";
};
};
ensTlds?: readonly string[] | undefined;
id: 81457;
name: "Blast";
nativeCurrency: {
readonly decimals: 18;
readonly name: "Ether";
readonly symbol: "ETH";
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://rpc.blast.io"];
};
};
sourceId: 1;
testnet?: boolean | undefined | undefined;
custom?: Record<string, unknown> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters: {
readonly block: {
exclude: [] | undefined;
format: (args: import("viem/chains").OpStackRpcBlock, action?: string | undefined) => {
baseFeePerGas: bigint | null;
blobGasUsed: bigint;
difficulty: bigint;
excessBlobGas: bigint;
extraData: import("viem").Hex;
gasLimit: bigint;
gasUsed: bigint;
hash: `0x${string}` | null;
logsBloom: `0x${string}` | null;
miner: import("viem").Address;
mixHash: import("viem").Hash;
nonce: `0x${string}` | null;
number: bigint | null;
parentBeaconBlockRoot?: `0x${string}` | undefined;
parentHash: import("viem").Hash;
receiptsRoot: import("viem").Hex;
sealFields: import("viem").Hex[];
sha3Uncles: import("viem").Hash;
size: bigint;
stateRoot: import("viem").Hash;
timestamp: bigint;
totalDifficulty: bigint | null;
transactions: `0x${string}`[] | import("viem/chains").OpStackTransaction<boolean>[];
transactionsRoot: import("viem").Hash;
uncles: import("viem").Hash[];
withdrawals?: import("viem").Withdrawal[] | undefined | undefined;
withdrawalsRoot?: `0x${string}` | undefined;
} & {};
type: "block";
};
readonly transaction: {
exclude: [] | undefined;
format: (args: import("viem/chains").OpStackRpcTransaction, action?: string | undefined) => ({
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
gasPrice?: undefined | undefined;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: boolean;
mint?: bigint | undefined | undefined;
sourceHash: import("viem").Hex;
type: "deposit";
} | {
r: import("viem").Hex;
s: import("viem").Hex;
v: bigint;
value: bigint;
gas: bigint;
to: import("viem").Address | null;
from: import("viem").Address;
nonce: number;
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
transactionIndex: number | null;
hash: import("viem").Hash;
input: import("viem").Hex;
typeHex: import("viem").Hex | null;
accessList?: undefined | undefined;
authorizationList?: undefined | undefined;
blobVersionedHashes?: undefined | undefined;
chainId?: number | undefined;
yParity?: undefined | undefined;
type: "legacy";
gasPrice: bigint;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas?: undefined | undefined;
maxPriorityFeePerGas?: undefined | undefined;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList?: undefined | undefined;
blobVersionedHashes?: undefined | undefined;
chainId: number;
type: "eip2930";
gasPrice: bigint;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas?: undefined | undefined;
maxPriorityFeePerGas?: undefined | undefined;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList?: undefined | undefined;
blobVersionedHashes?: undefined | undefined;
chainId: number;
type: "eip1559";
gasPrice?: undefined | undefined;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList?: undefined | undefined;
blobVersionedHashes: readonly import("viem").Hex[];
chainId: number;
type: "eip4844";
gasPrice?: undefined | undefined;
maxFeePerBlobGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
} | {
blockHash: `0x${string}` | null;
blockNumber: bigint | null;
from: import("viem").Address;
gas: bigint;
hash: import("viem").Hash;
input: import("viem").Hex;
nonce: number;
r: import("viem").Hex;
s: import("viem").Hex;
to: import("viem").Address | null;
transactionIndex: number | null;
typeHex: import("viem").Hex | null;
v: bigint;
value: bigint;
yParity: number;
accessList: import("viem").AccessList;
authorizationList: import("viem").SignedAuthorizationList;
blobVersionedHashes?: undefined | undefined;
chainId: number;
type: "eip7702";
gasPrice?: undefined | undefined;
maxFeePerBlobGas?: undefined | undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
isSystemTx?: undefined | undefined;
mint?: undefined | undefined;
sourceHash?: undefined | undefined;
}) & {};
type: "transaction";
};
readonly transactionReceipt: {
exclude: [] | undefined;
format: (args: import("viem/chains").OpStackRpcTransactionReceipt, action?: string | undefined) => {
blobGasPrice?: bigint | undefined;
blobGasUsed?: bigint | undefined;
blockHash: import("viem").Hash;
blockNumber: bigint;
contractAddress: import("viem").Address | null | undefined;
cumulativeGasUsed: bigint;
effectiveGasPrice: bigint;
from: import("viem").Address;
gasUsed: bigint;
logs: import("viem").Log<bigint, number, false>[];
logsBloom: import("viem").Hex;
root?: `0x${string}` | undefined;
status: "success" | "reverted";
to: import("viem").Address | null;
transactionHash: import("viem").Hash;
transactionIndex: number;
type: import("viem").TransactionType;
l1GasPrice: bigint | null;
l1GasUsed: bigint | null;
l1Fee: bigint | null;
l1FeeScalar: number | null;
} & {};
type: "transactionReceipt";
};
};
serializers: {
readonly transaction: typeof import("viem/chains").serializeTransactionOpStack;
};
} | {
blockExplorers: {
readonly default: {
readonly name: "Etherscan";
readonly url: "https://lineascan.build";
readonly apiUrl: "https://api.lineascan.build/api";
};
};
blockTime: 2000;
contracts: {
readonly multicall3: {
readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
readonly blockCreated: 42;
};
readonly ensRegistry: {
readonly address: "0x50130b669B28C339991d8676FA73CF122a121267";
readonly blockCreated: 6682888;
};
readonly ensUniversalResolver: {
readonly address: "0x4D41762915F83c76EcaF6776d9b08076aA32b492";
readonly blockCreated: 22222151;
};
};
ensTlds: readonly [".linea.eth"];
id: 59144;
name: "Linea Mainnet";
nativeCurrency: {
readonly name: "Linea Ether";
readonly symbol: "ETH";
readonly decimals: 18;
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://rpc.linea.build"];
readonly webSocket: readonly ["wss://rpc.linea.build"];
};
};
sourceId?: number | undefined | undefined;
testnet: false;
custom?: Record<string, unknown> | undefined;
fees: {
readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<import("viem").ChainEstimateFeesPerGasFn>[0]) => ReturnType<import("viem").ChainEstimateFeesPerGasFn>;
readonly maxPriorityFeePerGas: ({ block, client, request }: import("viem").ChainFeesFnParameters<import("viem").ChainFormatters | undefined>) => Promise<bigint | null>;
};
formatters?: undefined;
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
} | {
blockExplorers: {
readonly default: {
readonly name: "Scrollscan";
readonly url: "https://scrollscan.com";
readonly apiUrl: "https://api.scrollscan.com/api";
};
};
blockTime: 3000;
contracts: {
readonly multicall3: {
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
readonly blockCreated: 14;
};
};
ensTlds?: readonly string[] | undefined;
id: 534352;
name: "Scroll";
nativeCurrency: {
readonly name: "Ether";
readonly symbol: "ETH";
readonly decimals: 18;
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://rpc.scroll.io"];
readonly webSocket: readonly ["wss://wss-rpc.scroll.io/ws"];
};
};
sourceId?: number | undefined | undefined;
testnet: false;
custom?: Record<string, unknown> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters?: undefined;
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
} | {
blockExplorers: {
readonly default: {
readonly name: "Mantle Explorer";
readonly url: "https://mantlescan.xyz/";
readonly apiUrl: "https://api.mantlescan.xyz/api";
};
};
blockTime?: number | undefined | undefined;
contracts: {
readonly multicall3: {
readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
readonly blockCreated: 304717;
};
};
ensTlds?: readonly string[] | undefined;
id: 5000;
name: "Mantle";
nativeCurrency: {
readonly decimals: 18;
readonly name: "MNT";
readonly symbol: "MNT";
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://rpc.mantle.xyz"];
};
};
sourceId?: number | undefined | undefined;
testnet?: boolean | undefined | undefined;
custom?: Record<string, unknown> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters?: undefined;
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
} | {
blockExplorers: {
readonly default: {
readonly name: "Etherscan";
readonly url: "https://etherscan.io";
readonly apiUrl: "https://api.etherscan.io/api";
};
};
blockTime: 12000;
contracts: {
readonly ensUniversalResolver: {
readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
readonly blockCreated: 23085558;
};
readonly multicall3: {
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
readonly blockCreated: 14353601;
};
};
ensTlds?: readonly string[] | undefined;
id: 1;
name: "Ethereum";
nativeCurrency: {
readonly name: "Ether";
readonly symbol: "ETH";
readonly decimals: 18;
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://eth.merkle.io"];
};
};
sourceId?: number | undefined | undefined;
testnet?: boolean | undefined | undefined;
custom?: Record<string, unknown> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters?: undefined;
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
} | {
blockExplorers: {
readonly default: {
readonly name: "PolygonScan";
readonly url: "https://polygonscan.com";
readonly apiUrl: "https://api.polygonscan.com/api";
};
};
blockTime: 2000;
contracts: {
readonly multicall3: {
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
readonly blockCreated: 25770160;
};
};
ensTlds?: readonly string[] | undefined;
id: 137;
name: "Polygon";
nativeCurrency: {
readonly name: "POL";
readonly symbol: "POL";
readonly decimals: 18;
};
experimental_preconfirmationTime?: number | undefined | undefined;
rpcUrls: {
readonly default: {
readonly http: readonly ["https://polygon-rpc.com"];
};
};
sourceId?: number | undefined | undefined;
testnet?: boolean | undefined | undefined;
custom?: Record<string, unknown> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters?: undefined;
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
} | {
blockExplorers: {
readonly default: {
readonly name: "Arbiscan";
readonly url: "https://arbiscan.io";
readonly apiUrl: "https://api.arbiscan.io/api";
};
};
blockTime: 250;
contracts: {
readonly multicall3: {
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";