@arbitrum/sdk
Version:
Typescript library client-side interactions with Arbitrum
468 lines (467 loc) • 25.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidatorWallet__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
{
inputs: [
{
internalType: "uint256",
name: "expected",
type: "uint256",
},
{
internalType: "uint256",
name: "actual",
type: "uint256",
},
],
name: "BadArrayLength",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "actual",
type: "address",
},
],
name: "NotExecutorOrOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "expected",
type: "address",
},
{
internalType: "address",
name: "actual",
type: "address",
},
{
internalType: "address",
name: "destination",
type: "address",
},
],
name: "OnlyOwnerDestination",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "destination",
type: "address",
},
],
name: "WithdrawEthFail",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "destination",
type: "address",
},
{
indexed: false,
internalType: "bool",
name: "isSet",
type: "bool",
},
],
name: "AllowedExecutorDestinationsUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "executor",
type: "address",
},
{
indexed: false,
internalType: "bool",
name: "isExecutor",
type: "bool",
},
],
name: "ExecutorUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "allowedExecutorDestinations",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes",
name: "data",
type: "bytes",
},
{
internalType: "address",
name: "destination",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "executeTransaction",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "contract IGasRefunder",
name: "gasRefunder",
type: "address",
},
{
internalType: "bytes",
name: "data",
type: "bytes",
},
{
internalType: "address",
name: "destination",
type: "address",
},
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
],
name: "executeTransactionWithGasRefunder",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "bytes[]",
name: "data",
type: "bytes[]",
},
{
internalType: "address[]",
name: "destination",
type: "address[]",
},
{
internalType: "uint256[]",
name: "amount",
type: "uint256[]",
},
],
name: "executeTransactions",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "contract IGasRefunder",
name: "gasRefunder",
type: "address",
},
{
internalType: "bytes[]",
name: "data",
type: "bytes[]",
},
{
internalType: "address[]",
name: "destination",
type: "address[]",
},
{
internalType: "uint256[]",
name: "amount",
type: "uint256[]",
},
],
name: "executeTransactionsWithGasRefunder",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "executors",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "_executor",
type: "address",
},
{
internalType: "address",
name: "_owner",
type: "address",
},
{
internalType: "address[]",
name: "initialExecutorAllowedDests",
type: "address[]",
},
],
name: "initialize",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "destinations",
type: "address[]",
},
{
internalType: "bool[]",
name: "isSet",
type: "bool[]",
},
],
name: "setAllowedExecutorDestinations",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "newExecutors",
type: "address[]",
},
{
internalType: "bool[]",
name: "isExecutor",
type: "bool[]",
},
],
name: "setExecutor",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract IChallengeManager",
name: "manager",
type: "address",
},
{
internalType: "uint64[]",
name: "challenges",
type: "uint64[]",
},
],
name: "timeoutChallenges",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract IGasRefunder",
name: "gasRefunder",
type: "address",
},
{
internalType: "contract IChallengeManager",
name: "manager",
type: "address",
},
{
internalType: "uint64[]",
name: "challenges",
type: "uint64[]",
},
],
name: "timeoutChallengesWithGasRefunder",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "destination",
type: "address",
},
],
name: "validateExecuteTransaction",
outputs: [],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "amount",
type: "uint256",
},
{
internalType: "address",
name: "destination",
type: "address",
},
],
name: "withdrawEth",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
stateMutability: "payable",
type: "receive",
},
];
const _bytecode = "0x60a06040523060805234801561001457600080fd5b50608051611ad0610030600039600061090a0152611ad06000f3fe6080604052600436106100d75760003560e01c80639ac2a0111161007a5780639ac2a011146101e75780639be7bbd214610217578063a158657c14610237578063af1b9a0714610257578063c179f1d914610277578063ce1d571f1461028a578063d327821a1461029d578063f2fde38b146102bd57600080fd5b8063097da1f8146100e35780630a2435f8146100f8578063193c8edd146101185780633a7c721a1461015d578063715018a61461017d57806372f458661461019257806377a24f36146101a55780638da5cb5b146101c557600080fd5b366100de57005b600080fd5b6100f66100f136600461138a565b6102dd565b005b34801561010457600080fd5b506100f661011336600461143d565b6104f2565b34801561012457600080fd5b506101486101333660046114a8565b60666020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561016957600080fd5b506100f661017836600461143d565b610697565b34801561018957600080fd5b506100f6610808565b6100f66101a03660046114cc565b610843565b3480156101b157600080fd5b506100f66101c0366004611565565b61085b565b3480156101d157600080fd5b506101da610b00565b60405161015491906115bd565b3480156101f357600080fd5b506101486102023660046114a8565b60656020526000908152604090205460ff1681565b34801561022357600080fd5b506100f66102323660046114a8565b610b0f565b34801561024357600080fd5b506100f66102523660046115d1565b610b8b565b34801561026357600080fd5b506100f6610272366004611601565b610c35565b6100f6610285366004611655565b610c42565b6100f6610298366004611701565b610f85565b3480156102a957600080fd5b506100f66102b8366004611565565b610f99565b3480156102c957600080fd5b506100f66102d83660046114a8565b6111e8565b3360009081526065602052604090205460ff1615801561030d575033610301610b00565b6001600160a01b031614155b1561033757335b60405163f26aea8b60e01b815260040161032e91906115bd565b60405180910390fd5b8460005a9050841561036a576001600160a01b0384163b61036a5760405162461bcd60e51b815260040161032e9061175d565b61037384610b0f565b6000846001600160a01b0316848888604051610390929190611786565b60006040518083038185875af1925050503d80600081146103cd576040519150601f19603f3d011682016040523d82523d6000602084013e6103d2565b606091505b50509050806103e8576040513d806000833e8082fd5b506001600160a01b038216156104e957366000602061040883601f6117ac565b61041291906117c4565b90506102006104226002836118cc565b61042c91906117c4565b6104378260066118db565b61044191906117ac565b61044b90846117ac565b925033321461045957600091505b836001600160a01b031663e3db8a49335a61047490876118fa565b856040518463ffffffff1660e01b815260040161049393929190611911565b602060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190611940565b5050505b50505050505050565b336104fb610b00565b6001600160a01b0316146105215760405162461bcd60e51b815260040161032e9061195d565b82811461054b5760405163088253c360e11b8152600481018490526024810182905260440161032e565b60005b6001600160401b038116841115610690578282826001600160401b031681811061057a5761057a611992565b905060200201602081019061058f91906119a8565b606560008787856001600160401b03168181106105ae576105ae611992565b90506020020160208101906105c391906114a8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905584846001600160401b03831681811061060657610606611992565b905060200201602081019061061b91906114a8565b6001600160a01b03167f9fdbc2d48b8a0db2f62663bf9312ad02f5b1f6414ad600b55a247d09aeec3ea28484846001600160401b031681811061066057610660611992565b905060200201602081019061067591906119a8565b604051901515815260200160405180910390a260010161054e565b5050505050565b336106a0610b00565b6001600160a01b0316146106c65760405162461bcd60e51b815260040161032e9061195d565b8281146106f05760405163088253c360e11b8152600481018490526024810182905260440161032e565b60005b838110156106905782828281811061070d5761070d611992565b905060200201602081019061072291906119a8565b6066600087878581811061073857610738611992565b905060200201602081019061074d91906114a8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905584848281811061078757610787611992565b905060200201602081019061079c91906114a8565b6001600160a01b03167fab063fe575c4df359aaf3733bcf10706bacfdd24557e670a2c1cba126ae4d8a48484848181106107d8576107d8611992565b90506020020160208101906107ed91906119a8565b604051901515815260200160405180910390a26001016106f3565b33610811610b00565b6001600160a01b0316146108375760405162461bcd60e51b815260040161032e9061195d565b6108416000611281565b565b6108536000878787878787610c42565b505050505050565b600054610100900460ff166108765760005460ff161561087a565b303b155b6108dd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161032e565b600054610100900460ff161580156108ff576000805461ffff19166101011790555b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561098d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840161032e565b6109956112d3565b61099e846111e8565b6001600160a01b038516600081815260656020908152604091829020805460ff1916600190811790915591519182527f9fdbc2d48b8a0db2f62663bf9312ad02f5b1f6414ad600b55a247d09aeec3ea2910160405180910390a260005b6001600160401b038116831115610ae7576001606660008686856001600160401b0316818110610a2d57610a2d611992565b9050602002016020810190610a4291906114a8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905583836001600160401b038316818110610a8557610a85611992565b9050602002016020810190610a9a91906114a8565b6001600160a01b03167fab063fe575c4df359aaf3733bcf10706bacfdd24557e670a2c1cba126ae4d8a46001604051610ad7911515815260200190565b60405180910390a26001016109fb565b508015610690576000805461ff00191690555050505050565b6033546001600160a01b031690565b6001600160a01b03811660009081526066602052604090205460ff16158015610b48575033610b3c610b00565b6001600160a01b031614155b15610b8857610b55610b00565b6040516320fe37c560e11b81526001600160a01b039182166004820152336024820152908216604482015260640161032e565b50565b33610b94610b00565b6001600160a01b031614610bba5760405162461bcd60e51b815260040161032e9061195d565b6000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114610c07576040519150601f19603f3d011682016040523d82523d6000602084013e610c0c565b606091505b5050905080610c305781604051630fdb769360e31b815260040161032e91906115bd565b505050565b610c306000848484610f99565b3360009081526065602052604090205460ff16158015610c72575033610c66610b00565b6001600160a01b031614155b15610c7d5733610314565b8660005a905086858114610cae5760405163088253c360e11b8152600481018290526024810187905260440161032e565b808414610cd85760405163088253c360e11b8152600481018290526024810185905260440161032e565b60005b81811015610e785760008a8a83818110610cf757610cf7611992565b9050602002810190610d0991906119c5565b90501115610d6657610d4a888883818110610d2657610d26611992565b9050602002016020810190610d3b91906114a8565b6001600160a01b03163b151590565b610d665760405162461bcd60e51b815260040161032e9061175d565b610d90888883818110610d7b57610d7b611992565b905060200201602081019061023291906114a8565b6000888883818110610da457610da4611992565b9050602002016020810190610db991906114a8565b6001600160a01b0316878784818110610dd457610dd4611992565b905060200201358c8c85818110610ded57610ded611992565b9050602002810190610dff91906119c5565b604051610e0d929190611786565b60006040518083038185875af1925050503d8060008114610e4a576040519150601f19603f3d011682016040523d82523d6000602084013e610e4f565b606091505b5050905080610e65576040513d806000833e8082fd5b5080610e7081611a0b565b915050610cdb565b50506001600160a01b03821615610f7a573660006020610e9983601f6117ac565b610ea391906117c4565b9050610200610eb36002836118cc565b610ebd91906117c4565b610ec88260066118db565b610ed291906117ac565b610edc90846117ac565b9250333214610eea57600091505b836001600160a01b031663e3db8a49335a610f0590876118fa565b856040518463ffffffff1660e01b8152600401610f2493929190611911565b602060405180830381600087803b158015610f3e57600080fd5b505af1158015610f52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f769190611940565b5050505b505050505050505050565b610f936000858585856102dd565b50505050565b3360009081526065602052604090205460ff16158015610fc9575033610fbd610b00565b6001600160a01b031614155b15610fd45733610314565b8360005a90508260005b818110156110ea57866001600160a01b0316631b45c86a87878481811061100757611007611992565b905060200201602081019061101c9190611a26565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401600060405180830381600087803b15801561105d57600080fd5b505af192505050801561106e575060015b6110d8573d80801561109c576040519150601f19603f3d011682016040523d82523d6000602084013e6110a1565b606091505b5080516110d65760405162461bcd60e51b815260206004820152600360248201526247415360e81b604482015260640161032e565b505b806110e281611a0b565b915050610fde565b50506001600160a01b0382161561085357366000602061110b83601f6117ac565b61111591906117c4565b90506102006111256002836118cc565b61112f91906117c4565b61113a8260066118db565b61114491906117ac565b61114e90846117ac565b925033321461115c57600091505b836001600160a01b031663e3db8a49335a61117790876118fa565b856040518463ffffffff1660e01b815260040161119693929190611911565b602060405180830381600087803b1580156111b057600080fd5b505af11580156111c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7a9190611940565b336111f1610b00565b6001600160a01b0316146112175760405162461bcd60e51b815260040161032e9061195d565b6001600160a01b03811661127c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161032e565b610b88815b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166112fa5760405162461bcd60e51b815260040161032e90611a4f565b610841600054610100900460ff166113245760405162461bcd60e51b815260040161032e90611a4f565b61084133611281565b6001600160a01b0381168114610b8857600080fd5b60008083601f84011261135457600080fd5b5081356001600160401b0381111561136b57600080fd5b60208301915083602082850101111561138357600080fd5b9250929050565b6000806000806000608086880312156113a257600080fd5b85356113ad8161132d565b945060208601356001600160401b038111156113c857600080fd5b6113d488828901611342565b90955093505060408601356113e88161132d565b949793965091946060013592915050565b60008083601f84011261140b57600080fd5b5081356001600160401b0381111561142257600080fd5b6020830191508360208260051b850101111561138357600080fd5b6000806000806040858703121561145357600080fd5b84356001600160401b038082111561146a57600080fd5b611476888389016113f9565b9096509450602087013591508082111561148f57600080fd5b5061149c878288016113f9565b95989497509550505050565b6000602082840312156114ba57600080fd5b81356114c58161132d565b9392505050565b600080600080600080606087890312156114e557600080fd5b86356001600160401b03808211156114fc57600080fd5b6115088a838b016113f9565b9098509650602089013591508082111561152157600080fd5b61152d8a838b016113f9565b9096509450604089013591508082111561154657600080fd5b5061155389828a016113f9565b979a9699509497509295939492505050565b6000806000806060858703121561157b57600080fd5b84356115868161132d565b935060208501356115968161132d565b925060408501356001600160401b038111156115b157600080fd5b61149c878288016113f9565b6001600160a01b0391909116815260200190565b600080604083850312156115e457600080fd5b8235915060208301356115f68161132d565b809150509250929050565b60008060006040848603121561161657600080fd5b83356116218161132d565b925060208401356001600160401b0381111561163c57600080fd5b611648868287016113f9565b9497909650939450505050565b60008060008060008060006080888a03121561167057600080fd5b873561167b8161132d565b965060208801356001600160401b038082111561169757600080fd5b6116a38b838c016113f9565b909850965060408a01359150808211156116bc57600080fd5b6116c88b838c016113f9565b909650945060608a01359150808211156116e157600080fd5b506116ee8a828b016113f9565b989b979a50959850939692959293505050565b6000806000806060858703121561171757600080fd5b84356001600160401b0381111561172d57600080fd5b61173987828801611342565b909550935050602085013561174d8161132d565b9396929550929360400135925050565b6020808252600f908201526e2727afa1a7a222afa0aa2fa0a2222960891b604082015260600190565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156117bf576117bf611796565b500190565b6000826117e157634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561182157816000190482111561180757611807611796565b8085161561181457918102915b93841c93908002906117eb565b509250929050565b600082611838575060016118c6565b81611845575060006118c6565b816001811461185b576002811461186557611881565b60019150506118c6565b60ff84111561187657611876611796565b50506001821b6118c6565b5060208310610133831016604e8410600b84101617156118a4575081810a6118c6565b6118ae83836117e6565b80600019048211156118c2576118c2611796565b0290505b92915050565b60006114c560ff841683611829565b60008160001904831182151516156118f5576118f5611796565b500290565b60008282101561190c5761190c611796565b500390565b6001600160a01b039390931683526020830191909152604082015260600190565b8015158114610b8857600080fd5b60006020828403121561195257600080fd5b81516114c581611932565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119ba57600080fd5b81356114c581611932565b6000808335601e198436030181126119dc57600080fd5b8301803591506001600160401b038211156119f657600080fd5b60200191503681900382131561138357600080fd5b6000600019821415611a1f57611a1f611796565b5060010190565b600060208284031215611a3857600080fd5b81356001600160401b03811681146114c557600080fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea264697066735822122057bbde5e9f4c4c7496ee10265e3631815f114fbf2193a4f999c1491dfd4661ec64736f6c63430008090033";
const isSuperArgs = (xs) => xs.length > 1;
class ValidatorWallet__factory extends ethers_1.ContractFactory {
constructor(...args) {
if (isSuperArgs(args)) {
super(...args);
}
else {
super(_abi, _bytecode, args[0]);
}
this.contractName = "ValidatorWallet";
}
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.ValidatorWallet__factory = ValidatorWallet__factory;
ValidatorWallet__factory.bytecode = _bytecode;
ValidatorWallet__factory.abi = _abi;