/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, utils, BigNumberish, Contract, ContractFactory, Overrides, } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { SafeWallet, SafeWalletInterface } from "../SafeWallet"; const _abi = [ { inputs: [ { internalType: "address[]", name: "_owners", type: "address[]", }, { internalType: "uint256", name: "_threshold", type: "uint256", }, ], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "owner", type: "address", }, ], name: "AddedOwner", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "approvedHash", type: "bytes32", }, { indexed: true, internalType: "address", name: "owner", type: "address", }, ], name: "ApproveHash", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "handler", type: "address", }, ], name: "ChangedFallbackHandler", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "guard", type: "address", }, ], name: "ChangedGuard", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "threshold", type: "uint256", }, ], name: "ChangedThreshold", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "module", type: "address", }, ], name: "DisabledModule", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "module", type: "address", }, ], name: "EnabledModule", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "bytes32", name: "txHash", type: "bytes32", }, { indexed: false, internalType: "uint256", name: "payment", type: "uint256", }, ], name: "ExecutionFailure", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "module", type: "address", }, ], name: "ExecutionFromModuleFailure", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "module", type: "address", }, ], name: "ExecutionFromModuleSuccess", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "bytes32", name: "txHash", type: "bytes32", }, { indexed: false, internalType: "uint256", name: "payment", type: "uint256", }, ], name: "ExecutionSuccess", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "owner", type: "address", }, ], name: "RemovedOwner", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "module", type: "address", }, { indexed: false, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, { indexed: false, internalType: "bytes", name: "data", type: "bytes", }, { indexed: false, internalType: "enum Enum.Operation", name: "operation", type: "uint8", }, ], name: "SafeModuleTransaction", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, { indexed: false, internalType: "bytes", name: "data", type: "bytes", }, { indexed: false, internalType: "enum Enum.Operation", name: "operation", type: "uint8", }, { indexed: false, internalType: "uint256", name: "safeTxGas", type: "uint256", }, { indexed: false, internalType: "uint256", name: "baseGas", type: "uint256", }, { indexed: false, internalType: "uint256", name: "gasPrice", type: "uint256", }, { indexed: false, internalType: "address", name: "gasToken", type: "address", }, { indexed: false, internalType: "address payable", name: "refundReceiver", type: "address", }, { indexed: false, internalType: "bytes", name: "signatures", type: "bytes", }, { indexed: false, internalType: "bytes", name: "additionalInfo", type: "bytes", }, ], name: "SafeMultiSigTransaction", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "SafeReceived", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "initiator", type: "address", }, { indexed: false, internalType: "address[]", name: "owners", type: "address[]", }, { indexed: false, internalType: "uint256", name: "threshold", type: "uint256", }, { indexed: false, internalType: "address", name: "initializer", type: "address", }, { indexed: false, internalType: "address", name: "fallbackHandler", type: "address", }, ], name: "SafeSetup", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "msgHash", type: "bytes32", }, ], name: "SignMsg", type: "event", }, { stateMutability: "nonpayable", type: "fallback", }, { inputs: [], name: "VERSION", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "uint256", name: "_threshold", type: "uint256", }, ], name: "addOwnerWithThreshold", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "hashToApprove", type: "bytes32", }, ], name: "approveHash", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "bytes32", name: "", type: "bytes32", }, ], name: "approvedHashes", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_threshold", type: "uint256", }, ], name: "changeThreshold", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "dataHash", type: "bytes32", }, { internalType: "bytes", name: "data", type: "bytes", }, { internalType: "bytes", name: "signatures", type: "bytes", }, { internalType: "uint256", name: "requiredSignatures", type: "uint256", }, ], name: "checkNSignatures", outputs: [], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "dataHash", type: "bytes32", }, { internalType: "bytes", name: "data", type: "bytes", }, { internalType: "bytes", name: "signatures", type: "bytes", }, ], name: "checkSignatures", outputs: [], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "prevModule", type: "address", }, { internalType: "address", name: "module", type: "address", }, ], name: "disableModule", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "domainSeparator", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "module", type: "address", }, ], name: "enableModule", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, { internalType: "bytes", name: "data", type: "bytes", }, { internalType: "enum Enum.Operation", name: "operation", type: "uint8", }, { internalType: "uint256", name: "safeTxGas", type: "uint256", }, { internalType: "uint256", name: "baseGas", type: "uint256", }, { internalType: "uint256", name: "gasPrice", type: "uint256", }, { internalType: "address", name: "gasToken", type: "address", }, { internalType: "address", name: "refundReceiver", type: "address", }, { internalType: "uint256", name: "_nonce", type: "uint256", }, ], name: "encodeTransactionData", outputs: [ { internalType: "bytes", name: "", type: "bytes", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, { internalType: "bytes", name: "data", type: "bytes", }, { internalType: "enum Enum.Operation", name: "operation", type: "uint8", }, { internalType: "uint256", name: "safeTxGas", type: "uint256", }, { internalType: "uint256", name: "baseGas", type: "uint256", }, { internalType: "uint256", name: "gasPrice", type: "uint256", }, { internalType: "address", name: "gasToken", type: "address", }, { internalType: "address payable", name: "refundReceiver", type: "address", }, { internalType: "bytes", name: "signatures", type: "bytes", }, ], name: "execTransaction", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, { internalType: "bytes", name: "data", type: "bytes", }, { internalType: "enum Enum.Operation", name: "operation", type: "uint8", }, ], name: "execTransactionFromModule", outputs: [ { internalType: "bool", name: "success", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, { internalType: "bytes", name: "data", type: "bytes", }, { internalType: "enum Enum.Operation", name: "operation", type: "uint8", }, ], name: "execTransactionFromModuleReturnData", outputs: [ { internalType: "bool", name: "success", type: "bool", }, { internalType: "bytes", name: "returnData", type: "bytes", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "getChainId", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "start", type: "address", }, { internalType: "uint256", name: "pageSize", type: "uint256", }, ], name: "getModulesPaginated", outputs: [ { internalType: "address[]", name: "array", type: "address[]", }, { internalType: "address", name: "next", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getOwners", outputs: [ { internalType: "address[]", name: "", type: "address[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "offset", type: "uint256", }, { internalType: "uint256", name: "length", type: "uint256", }, ], name: "getStorageAt", outputs: [ { internalType: "bytes", name: "", type: "bytes", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getThreshold", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, { internalType: "bytes", name: "data", type: "bytes", }, { internalType: "enum Enum.Operation", name: "operation", type: "uint8", }, { internalType: "uint256", name: "safeTxGas", type: "uint256", }, { internalType: "uint256", name: "baseGas", type: "uint256", }, { internalType: "uint256", name: "gasPrice", type: "uint256", }, { internalType: "address", name: "gasToken", type: "address", }, { internalType: "address", name: "refundReceiver", type: "address", }, { internalType: "uint256", name: "_nonce", type: "uint256", }, ], name: "getTransactionHash", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "module", type: "address", }, ], name: "isModuleEnabled", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, ], name: "isOwner", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "nonce", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "prevOwner", type: "address", }, { internalType: "address", name: "owner", type: "address", }, { internalType: "uint256", name: "_threshold", type: "uint256", }, ], name: "removeOwner", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, { internalType: "bytes", name: "data", type: "bytes", }, { internalType: "enum Enum.Operation", name: "operation", type: "uint8", }, ], name: "requiredTxGas", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "handler", type: "address", }, ], name: "setFallbackHandler", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "guard", type: "address", }, ], name: "setGuard", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address[]", name: "_owners", type: "address[]", }, { internalType: "uint256", name: "_threshold", type: "uint256", }, { internalType: "address", name: "to", type: "address", }, { internalType: "bytes", name: "data", type: "bytes", }, { internalType: "address", name: "fallbackHandler", type: "address", }, { internalType: "address", name: "paymentToken", type: "address", }, { internalType: "uint256", name: "payment", type: "uint256", }, { internalType: "address payable", name: "paymentReceiver", type: "address", }, ], name: "setup", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], name: "signedMessages", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "targetContract", type: "address", }, { internalType: "bytes", name: "calldataPayload", type: "bytes", }, ], name: "simulateAndRevert", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "prevOwner", type: "address", }, { internalType: "address", name: "oldOwner", type: "address", }, { internalType: "address", name: "newOwner", type: "address", }, ], name: "swapOwner", outputs: [], stateMutability: "nonpayable", type: "function", }, { stateMutability: "payable", type: "receive", }, ]; const _bytecode = "0x60806040523480156200001157600080fd5b5060405162003cbf38038062003cbf833981016040819052620000349162000397565b60006004556200004582826200004d565b50506200052c565b60045415620000795760405162461bcd60e51b8152600401620000709062000414565b60405180910390fd5b81518111156200009d5760405162461bcd60e51b8152600401620000709062000443565b6001811015620000c15760405162461bcd60e51b8152600401620000709062000472565b600160005b8351811015620001f2576000848281518110620000e757620000e762000484565b6020026020010151905060006001600160a01b0316816001600160a01b0316141580156200011f57506001600160a01b038116600114155b80156200013557506001600160a01b0381163014155b8015620001545750806001600160a01b0316836001600160a01b031614155b620001735760405162461bcd60e51b81526004016200007090620004b7565b6001600160a01b038181166000908152600260205260409020541615620001ae5760405162461bcd60e51b81526004016200007090620004e6565b6001600160a01b03928316600090815260026020526040902080546001600160a01b0319169382169390931790925580620001e9816200050e565b915050620000c6565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171562000263576200026362000225565b6040525050565b60006200027660405190565b90506200028482826200023b565b919050565b60006001600160401b03821115620002a557620002a562000225565b5060209081020190565b60006001600160a01b0382165b92915050565b620002cd81620002af565b8114620002d957600080fd5b50565b8051620002bc81620002c2565b600062000300620002fa8462000289565b6200026a565b83815290506020808201908402830185811115620003215762000321600080fd5b835b81811015620003495780620003398882620002dc565b8452506020928301920162000323565b5050509392505050565b600082601f830112620003695762000369600080fd5b81516200037b848260208601620002e9565b949350505050565b80620002cd565b8051620002bc8162000383565b60008060408385031215620003af57620003af600080fd5b82516001600160401b03811115620003ca57620003ca600080fd5b620003d88582860162000353565b9250506020620003eb858286016200038a565b9150509250929050565b6005815260006020820164047533230360dc1b815291505b5060200190565b60208082528101620002bc81620003f5565b6005815260006020820164475332303160d81b815291506200040d565b60208082528101620002bc8162000426565b600581526000602082016423a999181960d91b815291506200040d565b60208082528101620002bc8162000455565b634e487b7160e01b600052603260045260246000fd5b6005815260006020820164475332303360d81b815291506200040d565b60208082528101620002bc816200049a565b600581526000602082016411d4cc8c0d60da1b815291506200040d565b60208082528101620002bc81620004c9565b634e487b7160e01b600052601160045260246000fd5b6000600019821415620005255762000525620004f8565b5060010190565b613783806200053c6000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314610629578063f698da2514610649578063f8dc5dd91461065e578063ffa1ad741461067e57610224565b8063e19a9dd9146105b4578063e318b52b146105d4578063e75235b8146105f4578063e86637db1461060957610224565b8063cc2f8452116100d1578063cc2f845214610526578063d4d9bdcd14610554578063d8d11f7814610574578063e009cfde1461059457610224565b8063affed0e0146104b0578063b4faba09146104c6578063b63e800d146104e6578063c4ca3a9c1461050657610224565b80635624b25b1161017a5780636a761202116101495780636a761202146104235780637d83297414610436578063934f3a111461046e578063a0e67e2b1461048e57610224565b80635624b25b146103895780635ae6bd37146103b6578063610b5925146103e3578063694e80c31461040357610224565b80632f54bf6e116101b65780632f54bf6e146102ff5780633408e4701461031f578063468721a71461033b5780635229073f1461035b57610224565b80630d582f131461028757806312fb68e0146102a95780632d9ad53d146102c957610224565b3661022457336001600160a01b03167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d3460405161021a91906122a2565b60405180910390a2005b34801561023057600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061025b57005b36600080373360601b365260008060143601600080855af13d6000803e80610282573d6000fd5b3d6000f35b34801561029357600080fd5b506102a76102a23660046122f4565b6106af565b005b3480156102b557600080fd5b506102a76102c4366004612422565b61080a565b3480156102d557600080fd5b506102e96102e43660046124ba565b610b9a565b6040516102f691906124e3565b60405180910390f35b34801561030b57600080fd5b506102e961031a3660046124ba565b610bd5565b34801561032b57600080fd5b50465b6040516102f691906122a2565b34801561034757600080fd5b506102e9610356366004612509565b610c0d565b34801561036757600080fd5b5061037b610376366004612509565b610c63565b6040516102f69291906125db565b34801561039557600080fd5b506103a96103a43660046125fb565b610c99565b6040516102f6919061261d565b3480156103c257600080fd5b5061032e6103d136600461262e565b60076020526000908152604090205481565b3480156103ef57600080fd5b506102a76103fe3660046124ba565b610d1e565b34801561040f57600080fd5b506102a761041e36600461262e565b610e36565b6102e96104313660046126a0565b610eb6565b34801561044257600080fd5b5061032e6104513660046122f4565b600860209081526000928352604080842090915290825290205481565b34801561047a57600080fd5b506102a76104893660046127b5565b610f55565b34801561049a57600080fd5b506104a3610f87565b6040516102f6919061289f565b3480156104bc57600080fd5b5061032e60055481565b3480156104d257600080fd5b506102a76104e13660046128b0565b611077565b3480156104f257600080fd5b506102a7610501366004612947565b611099565b34801561051257600080fd5b5061032e610521366004612a36565b6111ba565b34801561053257600080fd5b506105466105413660046122f4565b611252565b6040516102f6929190612ab9565b34801561056057600080fd5b506102a761056f36600461262e565b61134b565b34801561058057600080fd5b5061032e61058f366004612ad9565b6113c8565b3480156105a057600080fd5b506102a76105af366004612bc1565b6113f5565b3480156105c057600080fd5b506102a76105cf3660046124ba565b6114f6565b3480156105e057600080fd5b506102a76105ef366004612bf4565b611552565b34801561060057600080fd5b5060045461032e565b34801561061557600080fd5b506103a9610624366004612ad9565b611727565b34801561063557600080fd5b506102a76106443660046124ba565b6117e8565b34801561065557600080fd5b5061032e611847565b34801561066a57600080fd5b506102a7610679366004612c3a565b611899565b34801561068a57600080fd5b506103a9604051806040016040528060058152602001640312e332e360dc1b81525081565b6106b76119ef565b6001600160a01b038216158015906106d957506001600160a01b038216600114155b80156106ee57506001600160a01b0382163014155b6107135760405162461bcd60e51b815260040161070a90612c9f565b60405180910390fd5b6001600160a01b03828116600090815260026020526040902054161561074b5760405162461bcd60e51b815260040161070a90612ccb565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b0319938416179093556001835283549091161790915560038054916107b883612cf1565b91905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26826040516107ec9190612d0c565b60405180910390a180600454146108065761080681610e36565b5050565b610815816041611a10565b825110156108355760405162461bcd60e51b815260040161070a90612d36565b6000808060008060005b86811015610b8e576041818102890160208101516040820151919092015160ff1695509093509150836109bb57919350839161087c876041611a10565b82101561089b5760405162461bcd60e51b815260040161070a90612d62565b87516108a8836020611a49565b11156108c65760405162461bcd60e51b815260040161070a90612d8e565b6020828901810151895190916108e99083906108e3908790611a49565b90611a49565b11156109075760405162461bcd60e51b815260040161070a90612dba565b6040516320c13b0b60e01b8082528a8501602001916001600160a01b038916906320c13b0b9061093d908f908690600401612dca565b60206040518083038186803b15801561095557600080fd5b505afa158015610969573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098d9190612e0a565b6001600160e01b031916146109b45760405162461bcd60e51b815260040161070a90612e47565b5050610b0c565b8360ff1660011415610a26579193508391336001600160a01b0384161480610a0557506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610a215760405162461bcd60e51b815260040161070a90612e73565b610b0c565b601e8460ff161115610aba5760018a604051602001610a459190612e89565b60405160208183030381529060405280519060200120600486610a689190612ec4565b858560405160008152602001604052604051610a879493929190612ef1565b6020604051602081039080840390855afa158015610aa9573d6000803e3d6000fd5b505050602060405103519450610b0c565b60018a85858560405160008152602001604052604051610add9493929190612ef1565b6020604051602081039080840390855afa158015610aff573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610b4657506001600160a01b038581166000908152600260205260409020541615155b8015610b5c57506001600160a01b038516600114155b610b785760405162461bcd60e51b815260040161070a90612f42565b8495508080610b8690612cf1565b91505061083f565b50505050505050505050565b600060016001600160a01b03831614801590610bcf57506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610bcf5750506001600160a01b0390811660009081526002602052604090205416151590565b60007fb648d3644f584ed1c2232d53c46d87e693586486ad0d1175f8656013110b714e3386868686604051610c46959493929190612f96565b60405180910390a1610c5a85858585611a65565b95945050505050565b60006060610c7386868686610c0d565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610ca8836020612fe9565b6001600160401b03811115610cbf57610cbf612331565b6040519080825280601f01601f191660200182016040528015610ce9576020820181803683370190505b50905060005b83811015610d16578481015460208083028401015280610d0e81612cf1565b915050610cef565b509392505050565b610d266119ef565b6001600160a01b03811615801590610d4857506001600160a01b038116600114155b610d645760405162461bcd60e51b815260040161070a90613024565b6001600160a01b038181166000908152600160205260409020541615610d9c5760405162461bcd60e51b815260040161070a90613050565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455949094528254169092179055517fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844090610e2b908390612d0c565b60405180910390a150565b610e3e6119ef565b600354811115610e605760405162461bcd60e51b815260040161070a9061307c565b6001811015610e815760405162461bcd60e51b815260040161070a906130a8565b60048190556040517f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c9390610e2b9083906122a2565b6000606060055433600454604051602001610ed3939291906130b8565b60405160208183030381529060405290507f66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed8d8d8d8d8d8d8d8d8d8d8d8c604051610f299c9b9a99989796959493929190613103565b60405180910390a1610f448d8d8d8d8d8d8d8d8d8d8d611b24565b9d9c50505050505050505050505050565b60045480610f755760405162461bcd60e51b815260040161070a906131d9565b610f818484848461080a565b50505050565b606060006003546001600160401b03811115610fa557610fa5612331565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461106f578083838151811061102f5761102f6131e9565b6001600160a01b0392831660209182029290920181019190915291811660009081526002909252604090912054168161106781612cf1565b92505061100b565b509092915050565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6110d78a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c9250611e3b915050565b6001600160a01b0384161561110e5761110e847f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b61114e8787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ff192505050565b811561116557611163826000600186856120bb565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b896040516111a695949392919061324b565b60405180910390a250505050505050505050565b6000805a9050611203878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525089925050505a612191565b61120c57600080fd5b60005a6112199083613286565b90508060405160200161122c919061328e565b60408051601f198184030181529082905262461bcd60e51b825261070a9160040161261d565b60606000826001600160401b0381111561126e5761126e612331565b604051908082528060200260200182016040528015611297578160200160208202803683370190505b506001600160a01b0380861660009081526001602052604081205492945091165b6001600160a01b038116158015906112da57506001600160a01b038116600114155b80156112e557508482105b1561133d57808483815181106112fd576112fd6131e9565b6001600160a01b0392831660209182029290920181019190915291811660009081526001909252604090912054168161133581612cf1565b9250506112b8565b908352919491935090915050565b336000908152600260205260409020546001600160a01b03166113805760405162461bcd60e51b815260040161070a906132b6565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b60006113dd8c8c8c8c8c8c8c8c8c8c8c611727565b8051906020012090509b9a5050505050505050505050565b6113fd6119ef565b6001600160a01b0381161580159061141f57506001600160a01b038116600114155b61143b5760405162461bcd60e51b815260040161070a90613024565b6001600160a01b038281166000908152600160205260409020548116908216146114775760405162461bcd60e51b815260040161070a906132e2565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095559290915281549092169055517faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace4054276906114ea908390612d0c565b60405180910390a15050565b6114fe6119ef565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040517f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa2906114ea908490612d0c565b61155a6119ef565b6001600160a01b0381161580159061157c57506001600160a01b038116600114155b801561159157506001600160a01b0381163014155b6115ad5760405162461bcd60e51b815260040161070a90612c9f565b6001600160a01b0381811660009081526002602052604090205416156115e55760405162461bcd60e51b815260040161070a90612ccb565b6001600160a01b0382161580159061160757506001600160a01b038216600114155b6116235760405162461bcd60e51b815260040161070a90612c9f565b6001600160a01b0383811660009081526002602052604090205481169083161461165f5760405162461bcd60e51b815260040161070a9061330e565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095559290915281549092169055517ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf906116e3908490612d0c565b60405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea268160405161171a9190612d0c565b60405180910390a1505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611761929190613331565b604051908190038120611787949392918e908e908e908e908e908e908e9060200161333e565b60408051601f1981840301815291905280516020909101209050601960f81b600160f81b6117b3611847565b836040516020016117c794939291906133f2565b6040516020818303038152906040529150509b9a5050505050505050505050565b6117f06119ef565b611818817f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051610e2b9190612d0c565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218463060405160200161187e93929190613459565b60405160208183030381529060405280519060200120905090565b6118a16119ef565b8060016003546118b19190613286565b10156118cf5760405162461bcd60e51b815260040161070a9061307c565b6001600160a01b038216158015906118f157506001600160a01b038216600114155b61190d5760405162461bcd60e51b815260040161070a90612c9f565b6001600160a01b038381166000908152600260205260409020548116908316146119495760405162461bcd60e51b815260040161070a9061330e565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b0319928316179094559181528254909116909155600380549161199c83613481565b91905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf826040516119d09190612d0c565b60405180910390a180600454146119ea576119ea81610e36565b505050565b333014611a0e5760405162461bcd60e51b815260040161070a906134b4565b565b600082611a1f57506000610bcf565b6000611a2b8385612fe9565b905082611a3885836134da565b14611a4257600080fd5b9392505050565b600080611a5683856134ee565b905083811015611a4257600080fd5b600033600114801590611a8f5750336000908152600160205260409020546001600160a01b031615155b611aab5760405162461bcd60e51b815260040161070a90613522565b611ab8858585855a612191565b90508015611af05760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2611b1c565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b6000806000611b3e8e8e8e8e8e8e8e8e8e8e600554611727565b600580549192506000611b5083612cf1565b9091555050805160208201209150611b69828286610f55565b506000611b947f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b03811615611c1a57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401611be79c9b9a99989796959493929190613532565b600060405180830381600087803b158015611c0157600080fd5b505af1158015611c15573d6000803e3d6000fd5b505050505b611c46611c298a6109c46134ee565b603f611c368c6040612fe9565b611c4091906134da565b906121d7565b611c52906101f46134ee565b5a1015611c715760405162461bcd60e51b815260040161070a906135f1565b60005a9050611ce28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611ccf578e612191565b6109c45a611cdd9190613286565b612191565b9350611cef5a82906121ee565b90508380611cfc57508915155b80611d0657508715155b611d225760405162461bcd60e51b815260040161070a9061361d565b60008815611d3a57611d37828b8b8b8b6120bb565b90505b8415611d7e577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051611d7192919061362d565b60405180910390a1611db8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051611daf92919061362d565b60405180910390a15b50506001600160a01b03811615611e2a57604051631264e26d60e31b81526001600160a01b03821690639327136890611df79085908790600401613648565b600060405180830381600087803b158015611e1157600080fd5b505af1158015611e25573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b60045415611e5b5760405162461bcd60e51b815260040161070a9061367f565b8151811115611e7c5760405162461bcd60e51b815260040161070a9061307c565b6001811015611e9d5760405162461bcd60e51b815260040161070a906130a8565b600160005b8351811015611fbe576000848281518110611ebf57611ebf6131e9565b6020026020010151905060006001600160a01b0316816001600160a01b031614158015611ef657506001600160a01b038116600114155b8015611f0b57506001600160a01b0381163014155b8015611f295750806001600160a01b0316836001600160a01b031614155b611f455760405162461bcd60e51b815260040161070a90612c9f565b6001600160a01b038181166000908152600260205260409020541615611f7d5760405162461bcd60e51b815260040161070a90612ccb565b6001600160a01b03928316600090815260026020526040902080546001600160a01b0319169382169390931790925580611fb681612cf1565b915050611ea2565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156120435760405162461bcd60e51b815260040161070a906136ab565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b038216156108065761209f8260008360015a612191565b6108065760405162461bcd60e51b815260040161070a906136d7565b6000806001600160a01b038316156120d357826120d5565b325b90506001600160a01b038416612150576121073a86106120f5573a6120f7565b855b6121018989611a49565b90611a10565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f1935050505061214b5760405162461bcd60e51b815260040161070a90613703565b612187565b61215e856121018989611a49565b915061216b848284612209565b6121875760405162461bcd60e51b815260040161070a9061372f565b5095945050505050565b600060018360018111156121a7576121a7612f52565b14156121c0576000808551602087018986f49050610c5a565b600080855160208701888a87f19695505050505050565b6000818310156121e75781611a42565b5090919050565b6000828211156121fd57600080fd5b6000611b1c8385613286565b60008063a9059cbb848460405160240161222492919061373f565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050509050602060008251602084016000896127105a03f13d801561227d57602081146122855760009350612290565b819350612290565b600051158215171593505b5050509392505050565b805b82525050565b60208101610bcf828461229a565b60006001600160a01b038216610bcf565b6122ca816122b0565b81146122d557600080fd5b50565b8035610bcf816122c1565b806122ca565b8035610bcf816122e3565b6000806040838503121561230a5761230a600080fd5b600061231685856122d8565b9250506020612327858286016122e9565b9150509250929050565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171561236c5761236c612331565b6040525050565b600061237e60405190565b905061238a8282612347565b919050565b60006001600160401b038211156123a8576123a8612331565b601f19601f83011660200192915050565b82818337506000910152565b60006123d86123d38461238f565b612373565b9050828152602081018484840111156123f3576123f3600080fd5b610d168482856123b9565b600082601f83011261241257612412600080fd5b8135611b1c8482602086016123c5565b6000806000806080858703121561243b5761243b600080fd5b600061244787876122e9565b94505060208501356001600160401b0381111561246657612466600080fd5b612472878288016123fe565b93505060408501356001600160401b0381111561249157612491600080fd5b61249d878288016123fe565b92505060606124ae878288016122e9565b91505092959194509250565b6000602082840312156124cf576124cf600080fd5b6000611b1c84846122d8565b80151561229c565b60208101610bcf82846124db565b600281106122d557600080fd5b8035610bcf816124f1565b6000806000806080858703121561252257612522600080fd5b600061252e87876122d8565b945050602061253f878288016122e9565b93505060408501356001600160401b0381111561255e5761255e600080fd5b61256a878288016123fe565b92505060606124ae878288016124fe565b60005b8381101561259657818101518382015260200161257e565b83811115610f815750506000910152565b60006125b1825190565b8084526020840193506125c881856020860161257b565b601f19601f8201165b9093019392505050565b604081016125e982856124db565b8181036020830152611b1c81846125a7565b6000806040838503121561261157612611600080fd5b600061231685856122e9565b60208082528101611a4281846125a7565b60006020828403121561264357612643600080fd5b6000611b1c84846122e9565b60008083601f84011261266457612664600080fd5b5081356001600160401b0381111561267e5761267e600080fd5b60208301915083600182028301111561269957612699600080fd5b9250929050565b60008060008060008060008060008060006101408c8e0312156126c5576126c5600080fd5b60006126d18e8e6122d8565b9b505060206126e28e828f016122e9565b9a505060408c01356001600160401b0381111561270157612701600080fd5b61270d8e828f0161264f565b995099505060606127208e828f016124fe565b97505060806127318e828f016122e9565b96505060a06127428e828f016122e9565b95505060c06127538e828f016122e9565b94505060e06127648e828f016122d8565b9350506101006127768e828f016122d8565b9250506101208c01356001600160401b0381111561279657612796600080fd5b6127a28e828f016123fe565b9150509295989b509295989b9093969950565b6000806000606084860312156127cd576127cd600080fd5b60006127d986866122e9565b93505060208401356001600160401b038111156127f8576127f8600080fd5b612804868287016123fe565b92505060408401356001600160401b0381111561282357612823600080fd5b61282f868287016123fe565b9150509250925092565b61229c816122b0565b600061284e8383612839565b505060200190565b6000612860825190565b80845260209384019383018060005b838110156128945781516128838882612842565b97506020830192505060010161286f565b509495945050505050565b60208082528101611a428184612856565b600080604083850312156128c6576128c6600080fd5b60006128d285856122d8565b92505060208301356001600160401b038111156128f1576128f1600080fd5b612327858286016123fe565b60008083601f84011261291257612912600080fd5b5081356001600160401b0381111561292c5761292c600080fd5b60208301915083602082028301111561269957612699600080fd5b6000806000806000806000806000806101008b8d03121561296a5761296a600080fd5b8a356001600160401b0381111561298357612983600080fd5b61298f8d828e016128fd565b9a509a505060206129a28d828e016122e9565b98505060406129b38d828e016122d8565b97505060608b01356001600160401b038111156129d2576129d2600080fd5b6129de8d828e0161264f565b965096505060806129f18d828e016122d8565b94505060a0612a028d828e016122d8565b93505060c0612a138d828e016122e9565b92505060e0612a248d828e016122d8565b9150509295989b9194979a5092959850565b600080600080600060808688031215612a5157612a51600080fd5b6000612a5d88886122d8565b9550506020612a6e888289016122e9565b94505060408601356001600160401b03811115612a8d57612a8d600080fd5b612a998882890161264f565b93509350506060612aac888289016124fe565b9150509295509295909350565b60408082528101612aca8185612856565b9050611a426020830184612839565b60008060008060008060008060008060006101408c8e031215612afe57612afe600080fd5b6000612b0a8e8e6122d8565b9b50506020612b1b8e828f016122e9565b9a505060408c01356001600160401b03811115612b3a57612b3a600080fd5b612b468e828f0161264f565b99509950506060612b598e828f016124fe565b9750506080612b6a8e828f016122e9565b96505060a0612b7b8e828f016122e9565b95505060c0612b8c8e828f016122e9565b94505060e0612b9d8e828f016122d8565b935050610100612baf8e828f016122d8565b9250506101206127a28e828f016122e9565b60008060408385031215612bd757612bd7600080fd5b6000612be385856122d8565b9250506020612327858286016122d8565b600080600060608486031215612c0c57612c0c600080fd5b6000612c1886866122d8565b9350506020612c29868287016122d8565b925050604061282f868287016122d8565b600080600060608486031215612c5257612c52600080fd5b6000612c5e86866122d8565b9350506020612c6f868287016122d8565b925050604061282f868287016122e9565b6005815260006020820164475332303360d81b815291505b5060200190565b60208082528101610bcf81612c80565b600581526000602082016411d4cc8c0d60da1b81529150612c98565b60208082528101610bcf81612caf565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612d0557612d05612cdb565b5060010190565b60208101610bcf8284612839565b6005815260006020820164047533032360dc1b81529150612c98565b60208082528101610bcf81612d1a565b6005815260006020820164475330323160d81b81529150612c98565b60208082528101610bcf81612d46565b600581526000602082016423a998191960d91b81529150612c98565b60208082528101610bcf81612d72565b6005815260006020820164475330323360d81b81529150612c98565b60208082528101610bcf81612d9e565b60408082528101612ddb81856125a7565b90508181036020830152611b1c81846125a7565b6001600160e01b031981166122ca565b8051610bcf81612def565b600060208284031215612e1f57612e1f600080fd5b6000611b1c8484612dff565b600581526000602082016411d4cc0c8d60da1b81529150612c98565b60208082528101610bcf81612e2b565b6005815260006020820164475330323560d81b81529150612c98565b60208082528101610bcf81612e57565b8061229c565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c016000612ebb8284612e83565b50602001919050565b600060ff8216915060ff83165b925082821015612ee357612ee3612cdb565b500390565b60ff811661229c565b60808101612eff828761229a565b612f0c6020830186612ee8565b612f19604083018561229a565b610c5a606083018461229a565b600581526000602082016423a998191b60d91b81529150612c98565b60208082528101610bcf81612f26565b634e487b7160e01b600052602160045260246000fd5b600281106122d5576122d5612f52565b8061238a81612f68565b6000610bcf82612f78565b61229c81612f82565b60a08101612fa48288612839565b612fb16020830187612839565b612fbe604083018661229a565b8181036060830152612fd081856125a7565b9050612fdf6080830184612f8d565b9695505050505050565b600081600019048311821515161561300357613003612cdb565b500290565b6005815260006020820164475331303160d81b81529150612c98565b60208082528101610bcf81613008565b600581526000602082016423a998981960d91b81529150612c98565b60208082528101610bcf81613034565b6005815260006020820164475332303160d81b81529150612c98565b60208082528101610bcf81613060565b600581526000602082016423a999181960d91b81529150612c98565b60208082528101610bcf8161308c565b606081016130c6828661229a565b6130d36020830185612839565b611b1c604083018461229a565b81835260006020840193506130f68385846123b9565b601f19601f8401166125d1565b6101608101613112828f612839565b61311f602083018e61229a565b8181036040830152613132818c8e6130e0565b9050613141606083018b612f8d565b61314e608083018a61229a565b61315b60a083018961229a565b61316860c083018861229a565b61317560e0830187612839565b613183610100830186612839565b81810361012083015261319681856125a7565b90508181036101408301526131ab81846125a7565b9e9d5050505050505050505050505050565b6005815260006020820164475330303160d81b81529150612c98565b60208082528101610bcf816131bd565b634e487b7160e01b600052603260045260246000fd5b6000611a4260208401846122d8565b8183526000602084019350818060005b858110156128945761323082846131ff565b61323a8882612842565b97506020830192505060010161321e565b6080808252810161325d81878961320e565b905061326c602083018661229a565b6132796040830185612839565b612fdf6060830184612839565b600082612ed1565b6000612ebb8284612e83565b6005815260006020820164047533033360dc1b81529150612c98565b60208082528101610bcf8161329a565b6005815260006020820164475331303360d81b81529150612c98565b60208082528101610bcf816132c6565b6005815260006020820164475332303560d81b81529150612c98565b60208082528101610bcf816132f2565b600061332b8385846123b9565b50500190565b6000611b1c82848661331e565b610160810161334d828e61229a565b61335a602083018d612839565b613367604083018c61229a565b613374606083018b61229a565b613381608083018a612f8d565b61338e60a083018961229a565b61339b60c083018861229a565b6133a860e083018761229a565b6133b6610100830186612839565b6133c4610120830185612839565b6133d261014083018461229a565b9c9b505050505050505050505050565b6001600160f81b0319811661229c565b60006133fe82876133e2565b60018201915061340e82866133e2565b60018201915061341e8285612e83565b60208201915061342e8284612e83565b50602001949350505050565b6000610bcf826122b0565b6000610bcf8261343a565b61229c81613445565b60608101613467828661229a565b613474602083018561229a565b611b1c6040830184613450565b60008161349057613490612cdb565b506000190190565b6005815260006020820164475330333160d81b81529150612c98565b60208082528101610bcf81613498565b634e487b7160e01b600052601260045260246000fd5b6000826134e9576134e96134c4565b500490565b6000821982111561350157613501612cdb565b500190565b600581526000602082016411d4cc4c0d60da1b81529150612c98565b60208082528101610bcf81613506565b6101608101613541828f612839565b61354e602083018e61229a565b8181036040830152613561818c8e6130e0565b9050613570606083018b612f8d565b61357d608083018a61229a565b61358a60a083018961229a565b61359760c083018861229a565b6135a460e0830187612839565b6135b2610100830186612839565b8181036101208301526135c581856125a7565b9050610f44610140830184612839565b6005815260006020820164047533031360dc1b81529150612c98565b60208082528101610bcf816135d5565b6005815260006020820164475330313360d81b81529150612c98565b60208082528101610bcf81613601565b6040810161363b828561229a565b611a42602083018461229a565b60408101613656828561229a565b611a4260208301846124db565b6005815260006020820164047533230360dc1b81529150612c98565b60208082528101610bcf81613663565b6005815260006020820164047533130360dc1b81529150612c98565b60208082528101610bcf8161368f565b6005815260006020820164047533030360dc1b81529150612c98565b60208082528101610bcf816136bb565b6005815260006020820164475330313160d81b81529150612c98565b60208082528101610bcf816136e7565b600581526000602082016423a998189960d91b81529150612c98565b60208082528101610bcf81613713565b6040810161363b828561283956fea26469706673582212204137f8bd551fe19ddb741e09e7a93e5e80217a467edd591c156695d9601a03c264736f6c63430008090033"; export class SafeWallet__factory extends ContractFactory { constructor( ...args: [signer: Signer] | ConstructorParameters ) { if (args.length === 1) { super(_abi, _bytecode, args[0]); } else { super(...args); } } deploy( _owners: string[], _threshold: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy( _owners, _threshold, overrides || {} ) as Promise; } getDeployTransaction( _owners: string[], _threshold: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction(_owners, _threshold, overrides || {}); } attach(address: string): SafeWallet { return super.attach(address) as SafeWallet; } connect(signer: Signer): SafeWallet__factory { return super.connect(signer) as SafeWallet__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): SafeWalletInterface { return new utils.Interface(_abi) as SafeWalletInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): SafeWallet { return new Contract(address, _abi, signerOrProvider) as SafeWallet; } }