/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { GnosisSafe, GnosisSafeInterface } from "../GnosisSafe"; const _abi = [ { inputs: [], 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: 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: "success", 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 = "0x608060405234801561001057600080fd5b506001600455613576806100256000396000f3fe6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314610629578063f698da2514610649578063f8dc5dd91461065e578063ffa1ad741461067e57610224565b8063e19a9dd9146105b4578063e318b52b146105d4578063e75235b8146105f4578063e86637db1461060957610224565b8063cc2f8452116100d1578063cc2f845214610526578063d4d9bdcd14610554578063d8d11f7814610574578063e009cfde1461059457610224565b8063affed0e0146104b0578063b4faba09146104c6578063b63e800d146104e6578063c4ca3a9c1461050657610224565b80635624b25b1161017a5780636a761202116101495780636a761202146104235780637d83297414610436578063934f3a111461046e578063a0e67e2b1461048e57610224565b80635624b25b146103895780635ae6bd37146103b6578063610b5925146103e3578063694e80c31461040357610224565b80632f54bf6e116101b65780632f54bf6e146102ff5780633408e4701461031f578063468721a71461033b5780635229073f1461035b57610224565b80630d582f131461028757806312fb68e0146102a95780632d9ad53d146102c957610224565b3661022457336001600160a01b03167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d3460405161021a91906121af565b60405180910390a2005b34801561023057600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061025b57005b36600080373360601b365260008060143601600080855af13d6000803e80610282573d6000fd5b3d6000f35b34801561029357600080fd5b506102a76102a2366004612201565b6106af565b005b3480156102b557600080fd5b506102a76102c436600461232f565b61080a565b3480156102d557600080fd5b506102e96102e43660046123c7565b610b9a565b6040516102f691906123f0565b60405180910390f35b34801561030b57600080fd5b506102e961031a3660046123c7565b610bd5565b34801561032b57600080fd5b50465b6040516102f691906121af565b34801561034757600080fd5b506102e9610356366004612416565b610c0d565b34801561036757600080fd5b5061037b610376366004612416565b610ccc565b6040516102f69291906124e8565b34801561039557600080fd5b506103a96103a4366004612508565b610d02565b6040516102f6919061252a565b3480156103c257600080fd5b5061032e6103d136600461253b565b60076020526000908152604090205481565b3480156103ef57600080fd5b506102a76103fe3660046123c7565b610d87565b34801561040f57600080fd5b506102a761041e36600461253b565b610e9f565b6102e96104313660046125ad565b610f1f565b34801561044257600080fd5b5061032e610451366004612201565b600860209081526000928352604080842090915290825290205481565b34801561047a57600080fd5b506102a76104893660046126c2565b611236565b34801561049a57600080fd5b506104a3611268565b6040516102f691906127ac565b3480156104bc57600080fd5b5061032e60055481565b3480156104d257600080fd5b506102a76104e13660046127bd565b611358565b3480156104f257600080fd5b506102a7610501366004612854565b61137a565b34801561051257600080fd5b5061032e610521366004612943565b61149b565b34801561053257600080fd5b50610546610541366004612201565b611533565b6040516102f69291906129c6565b34801561056057600080fd5b506102a761056f36600461253b565b61162c565b34801561058057600080fd5b5061032e61058f3660046129e6565b6116a9565b3480156105a057600080fd5b506102a76105af366004612ace565b6116d6565b3480156105c057600080fd5b506102a76105cf3660046123c7565b6117d7565b3480156105e057600080fd5b506102a76105ef366004612b01565b611833565b34801561060057600080fd5b5060045461032e565b34801561061557600080fd5b506103a96106243660046129e6565b611a08565b34801561063557600080fd5b506102a76106443660046123c7565b611ac9565b34801561065557600080fd5b5061032e611b28565b34801561066a57600080fd5b506102a7610679366004612b47565b611b7a565b34801561068a57600080fd5b506103a9604051806040016040528060058152602001640312e332e360dc1b81525081565b6106b7611cd0565b6001600160a01b038216158015906106d957506001600160a01b038216600114155b80156106ee57506001600160a01b0382163014155b6107135760405162461bcd60e51b815260040161070a90612bac565b60405180910390fd5b6001600160a01b03828116600090815260026020526040902054161561074b5760405162461bcd60e51b815260040161070a90612bd8565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b0319938416179093556001835283549091161790915560038054916107b883612bfe565b91905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26826040516107ec9190612c19565b60405180910390a180600454146108065761080681610e9f565b5050565b610815816041611cf1565b825110156108355760405162461bcd60e51b815260040161070a90612c43565b6000808060008060005b86811015610b8e576041818102890160208101516040820151919092015160ff1695509093509150836109bb57919350839161087c876041611cf1565b82101561089b5760405162461bcd60e51b815260040161070a90612c6f565b87516108a8836020611d2a565b11156108c65760405162461bcd60e51b815260040161070a90612c9b565b6020828901810151895190916108e99083906108e3908790611d2a565b90611d2a565b11156109075760405162461bcd60e51b815260040161070a90612cc7565b6040516320c13b0b60e01b8082528a8501602001916001600160a01b038916906320c13b0b9061093d908f908690600401612cd7565b60206040518083038186803b15801561095557600080fd5b505afa158015610969573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098d9190612d17565b6001600160e01b031916146109b45760405162461bcd60e51b815260040161070a90612d54565b5050610b0c565b8360ff1660011415610a26579193508391336001600160a01b0384161480610a0557506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610a215760405162461bcd60e51b815260040161070a90612d80565b610b0c565b601e8460ff161115610aba5760018a604051602001610a459190612d96565b60405160208183030381529060405280519060200120600486610a689190612dd1565b858560405160008152602001604052604051610a879493929190612dfe565b6020604051602081039080840390855afa158015610aa9573d6000803e3d6000fd5b505050602060405103519450610b0c565b60018a85858560405160008152602001604052604051610add9493929190612dfe565b6020604051602081039080840390855afa158015610aff573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610b4657506001600160a01b038581166000908152600260205260409020541615155b8015610b5c57506001600160a01b038516600114155b610b785760405162461bcd60e51b815260040161070a90612e4f565b8495508080610b8690612bfe565b91505061083f565b50505050505050505050565b600060016001600160a01b03831614801590610bcf57506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610bcf5750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610c375750336000908152600160205260409020546001600160a01b031615155b610c535760405162461bcd60e51b815260040161070a90612e7b565b610c60858585855a611d46565b90508015610c985760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610cc4565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610cdc86868686610c0d565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610d11836020612e8b565b6001600160401b03811115610d2857610d2861223e565b6040519080825280601f01601f191660200182016040528015610d52576020820181803683370190505b50905060005b83811015610d7f578481015460208083028401015280610d7781612bfe565b915050610d58565b509392505050565b610d8f611cd0565b6001600160a01b03811615801590610db157506001600160a01b038116600114155b610dcd5760405162461bcd60e51b815260040161070a90612ec6565b6001600160a01b038181166000908152600160205260409020541615610e055760405162461bcd60e51b815260040161070a90612ef2565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455949094528254169092179055517fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844090610e94908390612c19565b60405180910390a150565b610ea7611cd0565b600354811115610ec95760405162461bcd60e51b815260040161070a90612f1e565b6001811015610eea5760405162461bcd60e51b815260040161070a90612f4a565b60048190556040517f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c9390610e949083906121af565b6000806000610f398e8e8e8e8e8e8e8e8e8e600554611a08565b600580549192506000610f4b83612bfe565b9091555050805160208201209150610f64828286611236565b506000610f8f7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561101557806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401610fe29c9b9a99989796959493929190612fc1565b600060405180830381600087803b158015610ffc57600080fd5b505af1158015611010573d6000803e3d6000fd5b505050505b6110416110248a6109c4613075565b603f6110318c6040612e8b565b61103b91906130a3565b90611d8e565b61104d906101f4613075565b5a101561106c5760405162461bcd60e51b815260040161070a906130d3565b60005a90506110dd8f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c6000146110ca578e611d46565b6109c45a6110d891906130e3565b611d46565b93506110ea5a8290611da5565b905083806110f757508915155b8061110157508715155b61111d5760405162461bcd60e51b815260040161070a90613107565b6000881561113557611132828b8b8b8b611dc0565b90505b8415611179577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e848260405161116c929190613117565b60405180910390a16111b3565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d2384826040516111aa929190613117565b60405180910390a15b50506001600160a01b0381161561122557604051631264e26d60e31b81526001600160a01b038216906393271368906111f29085908790600401613132565b600060405180830381600087803b15801561120c57600080fd5b505af1158015611220573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b600454806112565760405162461bcd60e51b815260040161070a90613169565b6112628484848461080a565b50505050565b606060006003546001600160401b038111156112865761128661223e565b6040519080825280602002602001820160405280156112af578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b038116600114611350578083838151811061131057611310613179565b6001600160a01b0392831660209182029290920181019190915291811660009081526002909252604090912054168161134881612bfe565b9250506112ec565b509092915050565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6113b88a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c9250611e96915050565b6001600160a01b038416156113ef576113ef847f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b61142f8787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061204c92505050565b81156114465761144482600060018685611dc0565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b896040516114879594939291906131db565b60405180910390a250505050505050505050565b6000805a90506114e4878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525089925050505a611d46565b6114ed57600080fd5b60005a6114fa90836130e3565b90508060405160200161150d9190613220565b60408051601f198184030181529082905262461bcd60e51b825261070a9160040161252a565b60606000826001600160401b0381111561154f5761154f61223e565b604051908082528060200260200182016040528015611578578160200160208202803683370190505b506001600160a01b0380861660009081526001602052604081205492945091165b6001600160a01b038116158015906115bb57506001600160a01b038116600114155b80156115c657508482105b1561161e57808483815181106115de576115de613179565b6001600160a01b0392831660209182029290920181019190915291811660009081526001909252604090912054168161161681612bfe565b925050611599565b908352919491935090915050565b336000908152600260205260409020546001600160a01b03166116615760405162461bcd60e51b815260040161070a90613248565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b60006116be8c8c8c8c8c8c8c8c8c8c8c611a08565b8051906020012090509b9a5050505050505050505050565b6116de611cd0565b6001600160a01b0381161580159061170057506001600160a01b038116600114155b61171c5760405162461bcd60e51b815260040161070a90612ec6565b6001600160a01b038281166000908152600160205260409020548116908216146117585760405162461bcd60e51b815260040161070a90613274565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095559290915281549092169055517faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace4054276906117cb908390612c19565b60405180910390a15050565b6117df611cd0565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040517f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa2906117cb908490612c19565b61183b611cd0565b6001600160a01b0381161580159061185d57506001600160a01b038116600114155b801561187257506001600160a01b0381163014155b61188e5760405162461bcd60e51b815260040161070a90612bac565b6001600160a01b0381811660009081526002602052604090205416156118c65760405162461bcd60e51b815260040161070a90612bd8565b6001600160a01b038216158015906118e857506001600160a01b038216600114155b6119045760405162461bcd60e51b815260040161070a90612bac565b6001600160a01b038381166000908152600260205260409020548116908316146119405760405162461bcd60e51b815260040161070a906132a0565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095559290915281549092169055517ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf906119c4908490612c19565b60405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26816040516119fb9190612c19565b60405180910390a1505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611a429291906132c3565b604051908190038120611a68949392918e908e908e908e908e908e908e906020016132d0565b60408051601f1981840301815291905280516020909101209050601960f81b600160f81b611a94611b28565b83604051602001611aa89493929190613384565b6040516020818303038152906040529150509b9a5050505050505050505050565b611ad1611cd0565b611af9817f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051610e949190612c19565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184630604051602001611b5f939291906133eb565b60405160208183030381529060405280519060200120905090565b611b82611cd0565b806001600354611b9291906130e3565b1015611bb05760405162461bcd60e51b815260040161070a90612f1e565b6001600160a01b03821615801590611bd257506001600160a01b038216600114155b611bee5760405162461bcd60e51b815260040161070a90612bac565b6001600160a01b03838116600090815260026020526040902054811690831614611c2a5760405162461bcd60e51b815260040161070a906132a0565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b03199283161790945591815282549091169091556003805491611c7d83613413565b91905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051611cb19190612c19565b60405180910390a18060045414611ccb57611ccb81610e9f565b505050565b333014611cef5760405162461bcd60e51b815260040161070a90613446565b565b600082611d0057506000610bcf565b6000611d0c8385612e8b565b905082611d1985836130a3565b14611d2357600080fd5b9392505050565b600080611d378385613075565b905083811015611d2357600080fd5b60006001836001811115611d5c57611d5c612f7d565b1415611d75576000808551602087018986f49050611d85565b600080855160208701888a87f190505b95945050505050565b600081831015611d9e5781611d23565b5090919050565b600082821115611db457600080fd5b6000610cc483856130e3565b6000806001600160a01b03831615611dd85782611dda565b325b90506001600160a01b038416611e5557611e0c3a8610611dfa573a611dfc565b855b611e068989611d2a565b90611cf1565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f19350505050611e505760405162461bcd60e51b815260040161070a90613472565b611e8c565b611e6385611e068989611d2a565b9150611e70848284612116565b611e8c5760405162461bcd60e51b815260040161070a9061349e565b5095945050505050565b60045415611eb65760405162461bcd60e51b815260040161070a906134ca565b8151811115611ed75760405162461bcd60e51b815260040161070a90612f1e565b6001811015611ef85760405162461bcd60e51b815260040161070a90612f4a565b600160005b8351811015612019576000848281518110611f1a57611f1a613179565b6020026020010151905060006001600160a01b0316816001600160a01b031614158015611f5157506001600160a01b038116600114155b8015611f6657506001600160a01b0381163014155b8015611f845750806001600160a01b0316836001600160a01b031614155b611fa05760405162461bcd60e51b815260040161070a90612bac565b6001600160a01b038181166000908152600260205260409020541615611fd85760405162461bcd60e51b815260040161070a90612bd8565b6001600160a01b03928316600090815260026020526040902080546001600160a01b031916938216939093179092558061201181612bfe565b915050611efd565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b03161561209e5760405162461bcd60e51b815260040161070a906134f6565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b03821615610806576120fa8260008360015a611d46565b6108065760405162461bcd60e51b815260040161070a90613522565b60008063a9059cbb8484604051602401612131929190613532565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050509050602060008251602084016000896127105a03f13d801561218a5760208114612192576000935061219d565b81935061219d565b600051158215171593505b5050509392505050565b805b82525050565b60208101610bcf82846121a7565b60006001600160a01b038216610bcf565b6121d7816121bd565b81146121e257600080fd5b50565b8035610bcf816121ce565b806121d7565b8035610bcf816121f0565b6000806040838503121561221757612217600080fd5b600061222385856121e5565b9250506020612234858286016121f6565b9150509250929050565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b03821117156122795761227961223e565b6040525050565b600061228b60405190565b90506122978282612254565b919050565b60006001600160401b038211156122b5576122b561223e565b601f19601f83011660200192915050565b82818337506000910152565b60006122e56122e08461229c565b612280565b90508281526020810184848401111561230057612300600080fd5b610d7f8482856122c6565b600082601f83011261231f5761231f600080fd5b8135610cc48482602086016122d2565b6000806000806080858703121561234857612348600080fd5b600061235487876121f6565b94505060208501356001600160401b0381111561237357612373600080fd5b61237f8782880161230b565b93505060408501356001600160401b0381111561239e5761239e600080fd5b6123aa8782880161230b565b92505060606123bb878288016121f6565b91505092959194509250565b6000602082840312156123dc576123dc600080fd5b6000610cc484846121e5565b8015156121a9565b60208101610bcf82846123e8565b600281106121e257600080fd5b8035610bcf816123fe565b6000806000806080858703121561242f5761242f600080fd5b600061243b87876121e5565b945050602061244c878288016121f6565b93505060408501356001600160401b0381111561246b5761246b600080fd5b6124778782880161230b565b92505060606123bb8782880161240b565b60005b838110156124a357818101518382015260200161248b565b838111156112625750506000910152565b60006124be825190565b8084526020840193506124d5818560208601612488565b601f19601f8201165b9093019392505050565b604081016124f682856123e8565b8181036020830152610cc481846124b4565b6000806040838503121561251e5761251e600080fd5b600061222385856121f6565b60208082528101611d2381846124b4565b60006020828403121561255057612550600080fd5b6000610cc484846121f6565b60008083601f84011261257157612571600080fd5b5081356001600160401b0381111561258b5761258b600080fd5b6020830191508360018202830111156125a6576125a6600080fd5b9250929050565b60008060008060008060008060008060006101408c8e0312156125d2576125d2600080fd5b60006125de8e8e6121e5565b9b505060206125ef8e828f016121f6565b9a505060408c01356001600160401b0381111561260e5761260e600080fd5b61261a8e828f0161255c565b9950995050606061262d8e828f0161240b565b975050608061263e8e828f016121f6565b96505060a061264f8e828f016121f6565b95505060c06126608e828f016121f6565b94505060e06126718e828f016121e5565b9350506101006126838e828f016121e5565b9250506101208c01356001600160401b038111156126a3576126a3600080fd5b6126af8e828f0161230b565b9150509295989b509295989b9093969950565b6000806000606084860312156126da576126da600080fd5b60006126e686866121f6565b93505060208401356001600160401b0381111561270557612705600080fd5b6127118682870161230b565b92505060408401356001600160401b0381111561273057612730600080fd5b61273c8682870161230b565b9150509250925092565b6121a9816121bd565b600061275b8383612746565b505060200190565b600061276d825190565b80845260209384019383018060005b838110156127a1578151612790888261274f565b97506020830192505060010161277c565b509495945050505050565b60208082528101611d238184612763565b600080604083850312156127d3576127d3600080fd5b60006127df85856121e5565b92505060208301356001600160401b038111156127fe576127fe600080fd5b6122348582860161230b565b60008083601f84011261281f5761281f600080fd5b5081356001600160401b0381111561283957612839600080fd5b6020830191508360208202830111156125a6576125a6600080fd5b6000806000806000806000806000806101008b8d03121561287757612877600080fd5b8a356001600160401b0381111561289057612890600080fd5b61289c8d828e0161280a565b9a509a505060206128af8d828e016121f6565b98505060406128c08d828e016121e5565b97505060608b01356001600160401b038111156128df576128df600080fd5b6128eb8d828e0161255c565b965096505060806128fe8d828e016121e5565b94505060a061290f8d828e016121e5565b93505060c06129208d828e016121f6565b92505060e06129318d828e016121e5565b9150509295989b9194979a5092959850565b60008060008060006080868803121561295e5761295e600080fd5b600061296a88886121e5565b955050602061297b888289016121f6565b94505060408601356001600160401b0381111561299a5761299a600080fd5b6129a68882890161255c565b935093505060606129b98882890161240b565b9150509295509295909350565b604080825281016129d78185612763565b9050611d236020830184612746565b60008060008060008060008060008060006101408c8e031215612a0b57612a0b600080fd5b6000612a178e8e6121e5565b9b50506020612a288e828f016121f6565b9a505060408c01356001600160401b03811115612a4757612a47600080fd5b612a538e828f0161255c565b99509950506060612a668e828f0161240b565b9750506080612a778e828f016121f6565b96505060a0612a888e828f016121f6565b95505060c0612a998e828f016121f6565b94505060e0612aaa8e828f016121e5565b935050610100612abc8e828f016121e5565b9250506101206126af8e828f016121f6565b60008060408385031215612ae457612ae4600080fd5b6000612af085856121e5565b9250506020612234858286016121e5565b600080600060608486031215612b1957612b19600080fd5b6000612b2586866121e5565b9350506020612b36868287016121e5565b925050604061273c868287016121e5565b600080600060608486031215612b5f57612b5f600080fd5b6000612b6b86866121e5565b9350506020612b7c868287016121e5565b925050604061273c868287016121f6565b6005815260006020820164475332303360d81b815291505b5060200190565b60208082528101610bcf81612b8d565b600581526000602082016411d4cc8c0d60da1b81529150612ba5565b60208082528101610bcf81612bbc565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612c1257612c12612be8565b5060010190565b60208101610bcf8284612746565b6005815260006020820164047533032360dc1b81529150612ba5565b60208082528101610bcf81612c27565b6005815260006020820164475330323160d81b81529150612ba5565b60208082528101610bcf81612c53565b600581526000602082016423a998191960d91b81529150612ba5565b60208082528101610bcf81612c7f565b6005815260006020820164475330323360d81b81529150612ba5565b60208082528101610bcf81612cab565b60408082528101612ce881856124b4565b90508181036020830152610cc481846124b4565b6001600160e01b031981166121d7565b8051610bcf81612cfc565b600060208284031215612d2c57612d2c600080fd5b6000610cc48484612d0c565b600581526000602082016411d4cc0c8d60da1b81529150612ba5565b60208082528101610bcf81612d38565b6005815260006020820164475330323560d81b81529150612ba5565b60208082528101610bcf81612d64565b806121a9565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c016000612dc88284612d90565b50602001919050565b600060ff8216915060ff83165b925082821015612df057612df0612be8565b500390565b60ff81166121a9565b60808101612e0c82876121a7565b612e196020830186612df5565b612e2660408301856121a7565b611d8560608301846121a7565b600581526000602082016423a998191b60d91b81529150612ba5565b60208082528101610bcf81612e33565b600581526000602082016411d4cc4c0d60da1b81529150612ba5565b60208082528101610bcf81612e5f565b6000816000190483118215151615612ea557612ea5612be8565b500290565b6005815260006020820164475331303160d81b81529150612ba5565b60208082528101610bcf81612eaa565b600581526000602082016423a998981960d91b81529150612ba5565b60208082528101610bcf81612ed6565b6005815260006020820164475332303160d81b81529150612ba5565b60208082528101610bcf81612f02565b600581526000602082016423a999181960d91b81529150612ba5565b60208082528101610bcf81612f2e565b8183526000602084019350612f708385846122c6565b601f19601f8401166124de565b634e487b7160e01b600052602160045260246000fd5b600281106121e2576121e2612f7d565b8061229781612f93565b6000610bcf82612fa3565b6121a981612fad565b6101608101612fd0828f612746565b612fdd602083018e6121a7565b8181036040830152612ff0818c8e612f5a565b9050612fff606083018b612fb8565b61300c608083018a6121a7565b61301960a08301896121a7565b61302660c08301886121a7565b61303360e0830187612746565b613041610100830186612746565b81810361012083015261305481856124b4565b9050613064610140830184612746565b9d9c50505050505050505050505050565b6000821982111561308857613088612be8565b500190565b634e487b7160e01b600052601260045260246000fd5b6000826130b2576130b261308d565b500490565b6005815260006020820164047533031360dc1b81529150612ba5565b60208082528101610bcf816130b7565b600082612dde565b6005815260006020820164475330313360d81b81529150612ba5565b60208082528101610bcf816130eb565b6040810161312582856121a7565b611d2360208301846121a7565b6040810161314082856121a7565b611d2360208301846123e8565b6005815260006020820164475330303160d81b81529150612ba5565b60208082528101610bcf8161314d565b634e487b7160e01b600052603260045260246000fd5b6000611d2360208401846121e5565b8183526000602084019350818060005b858110156127a1576131c0828461318f565b6131ca888261274f565b9750602083019250506001016131ae565b608080825281016131ed81878961319e565b90506131fc60208301866121a7565b6132096040830185612746565b6132166060830184612746565b9695505050505050565b6000612dc88284612d90565b6005815260006020820164047533033360dc1b81529150612ba5565b60208082528101610bcf8161322c565b6005815260006020820164475331303360d81b81529150612ba5565b60208082528101610bcf81613258565b6005815260006020820164475332303560d81b81529150612ba5565b60208082528101610bcf81613284565b60006132bd8385846122c6565b50500190565b6000610cc48284866132b0565b61016081016132df828e6121a7565b6132ec602083018d612746565b6132f9604083018c6121a7565b613306606083018b6121a7565b613313608083018a612fb8565b61332060a08301896121a7565b61332d60c08301886121a7565b61333a60e08301876121a7565b613348610100830186612746565b613356610120830185612746565b6133646101408301846121a7565b9c9b505050505050505050505050565b6001600160f81b031981166121a9565b60006133908287613374565b6001820191506133a08286613374565b6001820191506133b08285612d90565b6020820191506133c08284612d90565b50602001949350505050565b6000610bcf826121bd565b6000610bcf826133cc565b6121a9816133d7565b606081016133f982866121a7565b61340660208301856121a7565b610cc460408301846133e2565b60008161342257613422612be8565b506000190190565b6005815260006020820164475330333160d81b81529150612ba5565b60208082528101610bcf8161342a565b6005815260006020820164475330313160d81b81529150612ba5565b60208082528101610bcf81613456565b600581526000602082016423a998189960d91b81529150612ba5565b60208082528101610bcf81613482565b6005815260006020820164047533230360dc1b81529150612ba5565b60208082528101610bcf816134ae565b6005815260006020820164047533130360dc1b81529150612ba5565b60208082528101610bcf816134da565b6005815260006020820164047533030360dc1b81529150612ba5565b60208082528101610bcf81613506565b60408101613125828561274656fea26469706673582212202cc2ab1f6444fc9209288457d0ed3a0a8efcd20c5ac45d7abc0f36c474f4f55a64736f6c63430008090033"; export class GnosisSafe__factory extends ContractFactory { constructor( ...args: [signer: Signer] | ConstructorParameters ) { if (args.length === 1) { super(_abi, _bytecode, args[0]); } else { super(...args); } } deploy( overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy(overrides || {}) as Promise; } getDeployTransaction( overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction(overrides || {}); } attach(address: string): GnosisSafe { return super.attach(address) as GnosisSafe; } connect(signer: Signer): GnosisSafe__factory { return super.connect(signer) as GnosisSafe__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): GnosisSafeInterface { return new utils.Interface(_abi) as GnosisSafeInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): GnosisSafe { return new Contract(address, _abi, signerOrProvider) as GnosisSafe; } }