/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Interface } from '@ethersproject/abi' import { Signer } from '@ethersproject/abstract-signer' import { Contract } from '@ethersproject/contracts' import type { Provider } from '@ethersproject/providers' import type { Multicall, MulticallInterface } from '../Multicall' const _abi = [ { inputs: [ { components: [ { internalType: 'address', name: 'target', type: 'address', }, { internalType: 'bytes', name: 'callData', type: 'bytes', }, ], internalType: 'struct Multicall3.Call[]', name: 'calls', type: 'tuple[]', }, ], name: 'aggregate', outputs: [ { internalType: 'uint256', name: 'blockNumber', type: 'uint256', }, { internalType: 'bytes[]', name: 'returnData', type: 'bytes[]', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ { components: [ { internalType: 'address', name: 'target', type: 'address', }, { internalType: 'bool', name: 'allowFailure', type: 'bool', }, { internalType: 'bytes', name: 'callData', type: 'bytes', }, ], internalType: 'struct Multicall3.Call3[]', name: 'calls', type: 'tuple[]', }, ], name: 'aggregate3', outputs: [ { components: [ { internalType: 'bool', name: 'success', type: 'bool', }, { internalType: 'bytes', name: 'returnData', type: 'bytes', }, ], internalType: 'struct Multicall3.Result[]', name: 'returnData', type: 'tuple[]', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ { components: [ { internalType: 'address', name: 'target', type: 'address', }, { internalType: 'bool', name: 'allowFailure', type: 'bool', }, { internalType: 'uint256', name: 'value', type: 'uint256', }, { internalType: 'bytes', name: 'callData', type: 'bytes', }, ], internalType: 'struct Multicall3.Call3Value[]', name: 'calls', type: 'tuple[]', }, ], name: 'aggregate3Value', outputs: [ { components: [ { internalType: 'bool', name: 'success', type: 'bool', }, { internalType: 'bytes', name: 'returnData', type: 'bytes', }, ], internalType: 'struct Multicall3.Result[]', name: 'returnData', type: 'tuple[]', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ { components: [ { internalType: 'address', name: 'target', type: 'address', }, { internalType: 'bytes', name: 'callData', type: 'bytes', }, ], internalType: 'struct Multicall3.Call[]', name: 'calls', type: 'tuple[]', }, ], name: 'blockAndAggregate', outputs: [ { internalType: 'uint256', name: 'blockNumber', type: 'uint256', }, { internalType: 'bytes32', name: 'blockHash', type: 'bytes32', }, { components: [ { internalType: 'bool', name: 'success', type: 'bool', }, { internalType: 'bytes', name: 'returnData', type: 'bytes', }, ], internalType: 'struct Multicall3.Result[]', name: 'returnData', type: 'tuple[]', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [], name: 'getBasefee', outputs: [ { internalType: 'uint256', name: 'basefee', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'uint256', name: 'blockNumber', type: 'uint256', }, ], name: 'getBlockHash', outputs: [ { internalType: 'bytes32', name: 'blockHash', type: 'bytes32', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getBlockNumber', outputs: [ { internalType: 'uint256', name: 'blockNumber', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getChainId', outputs: [ { internalType: 'uint256', name: 'chainid', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getCurrentBlockCoinbase', outputs: [ { internalType: 'address', name: 'coinbase', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getCurrentBlockDifficulty', outputs: [ { internalType: 'uint256', name: 'difficulty', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getCurrentBlockGasLimit', outputs: [ { internalType: 'uint256', name: 'gaslimit', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getCurrentBlockTimestamp', outputs: [ { internalType: 'uint256', name: 'timestamp', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'addr', type: 'address', }, ], name: 'getEthBalance', outputs: [ { internalType: 'uint256', name: 'balance', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getLastBlockHash', outputs: [ { internalType: 'bytes32', name: 'blockHash', type: 'bytes32', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bool', name: 'requireSuccess', type: 'bool', }, { components: [ { internalType: 'address', name: 'target', type: 'address', }, { internalType: 'bytes', name: 'callData', type: 'bytes', }, ], internalType: 'struct Multicall3.Call[]', name: 'calls', type: 'tuple[]', }, ], name: 'tryAggregate', outputs: [ { components: [ { internalType: 'bool', name: 'success', type: 'bool', }, { internalType: 'bytes', name: 'returnData', type: 'bytes', }, ], internalType: 'struct Multicall3.Result[]', name: 'returnData', type: 'tuple[]', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ { internalType: 'bool', name: 'requireSuccess', type: 'bool', }, { components: [ { internalType: 'address', name: 'target', type: 'address', }, { internalType: 'bytes', name: 'callData', type: 'bytes', }, ], internalType: 'struct Multicall3.Call[]', name: 'calls', type: 'tuple[]', }, ], name: 'tryBlockAndAggregate', outputs: [ { internalType: 'uint256', name: 'blockNumber', type: 'uint256', }, { internalType: 'bytes32', name: 'blockHash', type: 'bytes32', }, { components: [ { internalType: 'bool', name: 'success', type: 'bool', }, { internalType: 'bytes', name: 'returnData', type: 'bytes', }, ], internalType: 'struct Multicall3.Result[]', name: 'returnData', type: 'tuple[]', }, ], stateMutability: 'payable', type: 'function', }, ] export class Multicall__factory { static readonly abi = _abi static createInterface(): MulticallInterface { return new Interface(_abi) as MulticallInterface } static connect( address: string, signerOrProvider: Signer | Provider, ): Multicall { return new Contract(address, _abi, signerOrProvider) as Multicall } }