@arbitrum/sdk
Version:
Typescript library client-side interactions with Arbitrum
416 lines (415 loc) • 18.1 kB
JavaScript
;
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;