UNPKG

@arbitrum/sdk

Version:

Typescript library client-side interactions with Arbitrum

416 lines (415 loc) 18.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ArbMulticall2__factory = void 0; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ const ethers_1 = require("ethers"); const _abi = [ { inputs: [ { components: [ { internalType: "address", name: "target", type: "address", }, { internalType: "bytes", name: "callData", type: "bytes", }, ], internalType: "struct ArbMulticall2.Call[]", name: "calls", type: "tuple[]", }, ], name: "aggregate", outputs: [ { internalType: "uint256", name: "blockNumber", type: "uint256", }, { internalType: "bytes[]", name: "returnData", type: "bytes[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { components: [ { internalType: "address", name: "target", type: "address", }, { internalType: "bytes", name: "callData", type: "bytes", }, ], internalType: "struct ArbMulticall2.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 ArbMulticall2.Result[]", name: "returnData", type: "tuple[]", }, ], stateMutability: "nonpayable", 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: "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: "getL1BlockNumber", outputs: [ { internalType: "uint256", name: "l1BlockNumber", 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 ArbMulticall2.Call[]", name: "calls", type: "tuple[]", }, ], name: "tryAggregate", outputs: [ { components: [ { internalType: "bool", name: "success", type: "bool", }, { internalType: "bytes", name: "returnData", type: "bytes", }, ], internalType: "struct ArbMulticall2.Result[]", name: "returnData", type: "tuple[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bool", name: "requireSuccess", type: "bool", }, { components: [ { internalType: "address", name: "target", type: "address", }, { internalType: "bytes", name: "callData", type: "bytes", }, ], internalType: "struct ArbMulticall2.Call[]", name: "calls", type: "tuple[]", }, ], name: "tryAggregateGasRation", outputs: [ { components: [ { internalType: "bool", name: "success", type: "bool", }, { internalType: "bytes", name: "returnData", type: "bytes", }, ], internalType: "struct ArbMulticall2.Result[]", name: "returnData", type: "tuple[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bool", name: "requireSuccess", type: "bool", }, { components: [ { internalType: "address", name: "target", type: "address", }, { internalType: "bytes", name: "callData", type: "bytes", }, ], internalType: "struct ArbMulticall2.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 ArbMulticall2.Result[]", name: "returnData", type: "tuple[]", }, ], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x608060405234801561001057600080fd5b50610d0b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ca5760003560e01c806372425d9d1161007c57806372425d9d1461017257806386d516e814610178578063a8b0574e1461017e578063b9b3efe91461018c578063bce38bd714610192578063c3077fa9146101a5578063ee82ac5e146101b857600080fd5b80630f28c97d146100cf578063252dba42146100e457806327e86d6e146101055780632935cd901461010d578063399542e91461012d57806342cbb15c1461014f5780634d2301cc14610157575b600080fd5b425b6040519081526020015b60405180910390f35b6100f76100f23660046109b4565b6101ca565b6040516100db929190610a40565b6100d16103b5565b61012061011b366004610aaa565b6103c8565b6040516100db9190610b69565b61014061013b366004610aaa565b610569565b6040516100db93929190610b83565b6100d16105ea565b6100d1610165366004610bab565b6001600160a01b03163190565b446100d1565b456100d1565b6040514181526020016100db565b436100d1565b6101206101a0366004610aaa565b610654565b6101406101b33660046109b4565b6107d3565b6100d16101c6366004610bc6565b4090565b6000606060646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102319190610bdf565b915082516001600160401b0381111561024c5761024c6107f0565b60405190808252806020026020018201604052801561027f57816020015b606081526020019060019003908161026a5790505b50905060005b83518110156103af576000808583815181106102a3576102a3610bf8565b6020026020010151600001516001600160a01b03168684815181106102ca576102ca610bf8565b6020026020010151602001516040516102e39190610c0e565b6000604051808303816000865af19150503d8060008114610320576040519150601f19603f3d011682016040523d82523d6000602084013e610325565b606091505b50915091508161037c5760405162461bcd60e51b815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061038f5761038f610bf8565b6020026020010181905250505080806103a790610c40565b915050610285565b50915091565b60006103c2600143610c59565b40905090565b606081516001600160401b038111156103e3576103e36107f0565b60405190808252806020026020018201604052801561042957816020015b6040805180820190915260008152606060208201528152602001906001900390816104015790505b509050600082515a61043b9190610c72565b905060005b83518110156105615760008085838151811061045e5761045e610bf8565b6020026020010151600001516001600160a01b0316845a11610480575a610482565b845b87858151811061049457610494610bf8565b6020026020010151602001516040516104ad9190610c0e565b60006040518083038160008787f1925050503d80600081146104eb576040519150601f19603f3d011682016040523d82523d6000602084013e6104f0565b606091505b5091509150861561051857816105185760405162461bcd60e51b815260040161037390610c94565b604051806040016040528083151581526020018281525085848151811061054157610541610bf8565b60200260200101819052505050808061055990610c40565b915050610440565b505092915050565b600080606060646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610bdf565b9250434091506105e18585610654565b90509250925092565b600060646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064f9190610bdf565b905090565b606081516001600160401b0381111561066f5761066f6107f0565b6040519080825280602002602001820160405280156106b557816020015b60408051808201909152600081526060602082015281526020019060019003908161068d5790505b50905060005b82518110156107cc576000808483815181106106d9576106d9610bf8565b6020026020010151600001516001600160a01b031685848151811061070057610700610bf8565b6020026020010151602001516040516107199190610c0e565b6000604051808303816000865af19150503d8060008114610756576040519150601f19603f3d011682016040523d82523d6000602084013e61075b565b606091505b5091509150851561078357816107835760405162461bcd60e51b815260040161037390610c94565b60405180604001604052808315158152602001828152508484815181106107ac576107ac610bf8565b6020026020010181905250505080806107c490610c40565b9150506106bb565b5092915050565b60008060606107e3600185610569565b9196909550909350915050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610828576108286107f0565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610856576108566107f0565b604052919050565b80356001600160a01b038116811461087557600080fd5b919050565b6000601f838184011261088c57600080fd5b823560206001600160401b03808311156108a8576108a86107f0565b8260051b6108b783820161082e565b93845286810183019383810190898611156108d157600080fd5b84890192505b858310156109a7578235848111156108ef5760008081fd5b89016040601f19828d0381018213156109085760008081fd5b610910610806565b61091b89850161085e565b8152828401358881111561092f5760008081fd5b8085019450508d603f8501126109455760008081fd5b8884013588811115610959576109596107f0565b6109688a848e8401160161082e565b92508083528e8482870101111561097f5760008081fd5b808486018b85013760009083018a0152808901919091528452505091840191908401906108d7565b9998505050505050505050565b6000602082840312156109c657600080fd5b81356001600160401b038111156109dc57600080fd5b6109e88482850161087a565b949350505050565b60005b83811015610a0b5781810151838201526020016109f3565b50506000910152565b60008151808452610a2c8160208601602086016109f0565b601f01601f19169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610a9c57605f19888703018452610a8a868351610a14565b95509284019290840190600101610a6e565b509398975050505050505050565b60008060408385031215610abd57600080fd5b82358015158114610acd57600080fd5b915060208301356001600160401b03811115610ae857600080fd5b610af48582860161087a565b9150509250929050565b600081518084526020808501808196508360051b8101915082860160005b85811015610b5c57828403895281518051151585528501516040868601819052610b4881870183610a14565b9a87019a9550505090840190600101610b1c565b5091979650505050505050565b602081526000610b7c6020830184610afe565b9392505050565b838152826020820152606060408201526000610ba26060830184610afe565b95945050505050565b600060208284031215610bbd57600080fd5b610b7c8261085e565b600060208284031215610bd857600080fd5b5035919050565b600060208284031215610bf157600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60008251610c208184602087016109f0565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b600060018201610c5257610c52610c2a565b5060010190565b81810381811115610c6c57610c6c610c2a565b92915050565b600082610c8f57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526021908201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c656040820152601960fa1b60608201526080019056fea264697066735822122040ceedf42c3e9fad97b3feb060b7a1531767507667a583247f9ec2bfcf5719c364736f6c63430008100033"; const isSuperArgs = (xs) => xs.length > 1; class ArbMulticall2__factory extends ethers_1.ContractFactory { constructor(...args) { if (isSuperArgs(args)) { super(...args); } else { super(_abi, _bytecode, args[0]); } this.contractName = "ArbMulticall2"; } deploy(overrides) { return super.deploy(overrides || {}); } getDeployTransaction(overrides) { return super.getDeployTransaction(overrides || {}); } attach(address) { return super.attach(address); } connect(signer) { return super.connect(signer); } static createInterface() { return new ethers_1.utils.Interface(_abi); } static connect(address, signerOrProvider) { return new ethers_1.Contract(address, _abi, signerOrProvider); } } exports.ArbMulticall2__factory = ArbMulticall2__factory; ArbMulticall2__factory.bytecode = _bytecode; ArbMulticall2__factory.abi = _abi;