Static
Readonly
abi
abi: readonly [{
inputs: readonly [{
components: readonly [{
internalType: "address";
name: "target";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}];
internalType: "struct Multicall2.Call[]";
name: "calls";
type: "tuple[]";
}];
name: "aggregate";
outputs: readonly [{
internalType: "uint256";
name: "blockNumber";
type: "uint256";
}, {
internalType: "bytes[]";
name: "returnData";
type: "bytes[]";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "address";
name: "target";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}];
internalType: "struct Multicall2.Call[]";
name: "calls";
type: "tuple[]";
}];
name: "blockAndAggregate";
outputs: readonly [{
internalType: "uint256";
name: "blockNumber";
type: "uint256";
}, {
internalType: "bytes32";
name: "blockHash";
type: "bytes32";
}, {
components: readonly [{
internalType: "bool";
name: "success";
type: "bool";
}, {
internalType: "bytes";
name: "returnData";
type: "bytes";
}];
internalType: "struct Multicall2.Result[]";
name: "returnData";
type: "tuple[]";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "owner";
type: "address";
}, {
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "fetchAccountBalances";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "balance";
type: "uint256";
}, {
components: readonly [{
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}];
internalType: "struct TokenLens.TokenBalance[]";
name: "tokenBalances";
type: "tuple[]";
}];
internalType: "struct TokenLens.AccountBalance";
name: "balance";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "owner";
type: "address";
}, {
internalType: "address";
name: "spender";
type: "address";
}, {
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "fetchTokenAllowances";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}];
internalType: "struct TokenLens.TokenBalance[]";
name: "allowances";
type: "tuple[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "owner";
type: "address";
}, {
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "fetchTokenBalances";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}];
internalType: "struct TokenLens.TokenBalance[]";
name: "balances";
type: "tuple[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "token";
type: "address";
}];
name: "fetchTokenInformation";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "string";
name: "name";
type: "string";
}, {
internalType: "string";
name: "symbol";
type: "string";
}, {
internalType: "uint256";
name: "decimals";
type: "uint256";
}];
internalType: "struct TokenLens.TokenInformation";
name: "tokenInformation";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "fetchTokenInformations";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "token";
type: "address";
}, {
internalType: "string";
name: "name";
type: "string";
}, {
internalType: "string";
name: "symbol";
type: "string";
}, {
internalType: "uint256";
name: "decimals";
type: "uint256";
}];
internalType: "struct TokenLens.TokenInformation[]";
name: "tokenInformation";
type: "tuple[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "blockNumber";
type: "uint256";
}];
name: "getBlockHash";
outputs: readonly [{
internalType: "bytes32";
name: "blockHash";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getBlockNumber";
outputs: readonly [{
internalType: "uint256";
name: "blockNumber";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getCurrentBlockCoinbase";
outputs: readonly [{
internalType: "address";
name: "coinbase";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getCurrentBlockDifficulty";
outputs: readonly [{
internalType: "uint256";
name: "difficulty";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getCurrentBlockGasLimit";
outputs: readonly [{
internalType: "uint256";
name: "gaslimit";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getCurrentBlockTimestamp";
outputs: readonly [{
internalType: "uint256";
name: "timestamp";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "addr";
type: "address";
}];
name: "getEthBalance";
outputs: readonly [{
internalType: "uint256";
name: "balance";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "getLastBlockHash";
outputs: readonly [{
internalType: "bytes32";
name: "blockHash";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "requireSuccess";
type: "bool";
}, {
components: readonly [{
internalType: "address";
name: "target";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}];
internalType: "struct Multicall2.Call[]";
name: "calls";
type: "tuple[]";
}];
name: "tryAggregate";
outputs: readonly [{
components: readonly [{
internalType: "bool";
name: "success";
type: "bool";
}, {
internalType: "bytes";
name: "returnData";
type: "bytes";
}];
internalType: "struct Multicall2.Result[]";
name: "returnData";
type: "tuple[]";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "requireSuccess";
type: "bool";
}, {
components: readonly [{
internalType: "address";
name: "target";
type: "address";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}];
internalType: "struct Multicall2.Call[]";
name: "calls";
type: "tuple[]";
}];
name: "tryBlockAndAggregate";
outputs: readonly [{
internalType: "uint256";
name: "blockNumber";
type: "uint256";
}, {
internalType: "bytes32";
name: "blockHash";
type: "bytes32";
}, {
components: readonly [{
internalType: "bool";
name: "success";
type: "bool";
}, {
internalType: "bytes";
name: "returnData";
type: "bytes";
}];
internalType: "struct Multicall2.Result[]";
name: "returnData";
type: "tuple[]";
}];
stateMutability: "nonpayable";
type: "function";
}] = _abi