/* 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 { ProviderController, ProviderControllerInterface, } from "../ProviderController"; const _abi = [ { inputs: [], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "provider", type: "address", }, { indexed: false, internalType: "bytes32", name: "account", type: "bytes32", }, ], name: "AccountRegistered", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "version", type: "uint8", }, ], name: "Initialized", 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", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, ], name: "Paused", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, ], name: "PauserAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, ], name: "PauserRemoved", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "provider", type: "address", }, { indexed: false, internalType: "bytes32", name: "account", type: "bytes32", }, ], name: "ProviderDripped", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "provider", type: "address", }, { indexed: false, internalType: "bytes32", name: "account", type: "bytes32", }, { indexed: false, internalType: "uint256", name: "nonce", type: "uint256", }, ], name: "ProviderDripped", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "contract IRouter", name: "router", type: "address", }, ], name: "RouterUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, ], name: "Unpaused", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "provider", type: "address", }, { indexed: false, internalType: "bytes32", name: "account", type: "bytes32", }, { indexed: false, internalType: "address", name: "from", type: "address", }, { indexed: false, internalType: "address", name: "to", type: "address", }, ], name: "WalletTransferred", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "bytes32", name: "hash", type: "bytes32", }, ], name: "WalletTypesHashUpdated", type: "event", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, ], name: "accountExists", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, ], name: "addPauser", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "account", type: "bytes32", }, { components: [ { internalType: "enum ResourceData.ResourceType", name: "resourceType", type: "uint8", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], internalType: "struct ResourceData.AmountPayload[]", name: "payloads", type: "tuple[]", }, ], name: "drip", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32[]", name: "accounts", type: "bytes32[]", }, { components: [ { internalType: "enum ResourceData.ResourceType", name: "resourceType", type: "uint8", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], internalType: "struct ResourceData.AmountPayload[][]", name: "payloads", type: "tuple[][]", }, { internalType: "uint256[]", name: "nonces", type: "uint256[]", }, ], name: "dripMult", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32[]", name: "accounts", type: "bytes32[]", }, { components: [ { internalType: "enum ResourceData.ResourceType", name: "resourceType", type: "uint8", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], internalType: "struct ResourceData.AmountPayload[][]", name: "payloads", type: "tuple[][]", }, ], name: "dripMult", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, { internalType: "address", name: "wallet", type: "address", }, ], name: "hashTypedDataV4ForWallet", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, { internalType: "address", name: "wallet", type: "address", }, ], name: "hashWalletTypes", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, { internalType: "address", name: "wallet", type: "address", }, { internalType: "bytes", name: "signature", type: "bytes", }, ], name: "initWallet", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "pauser", type: "address", }, { internalType: "string", name: "name", type: "string", }, { internalType: "string", name: "version", type: "string", }, { internalType: "string", name: "walletTypes", type: "string", }, { internalType: "contract IRouter", name: "router", type: "address", }, ], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, ], name: "isPauser", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "pause", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "paused", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "pausers", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, { internalType: "address", name: "wallet", type: "address", }, { internalType: "bytes", name: "signature", type: "bytes", }, ], name: "poolInitWallet", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "account", type: "bytes32", }, ], name: "registerAccount", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32[]", name: "accounts", type: "bytes32[]", }, { components: [ { internalType: "enum ResourceData.ResourceType", name: "resourceType", type: "uint8", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, ], internalType: "struct ResourceData.AmountPayload[][]", name: "payloads", type: "tuple[][]", }, ], name: "registerAndDripMult", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32[]", name: "accounts", type: "bytes32[]", }, ], name: "registerMult", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, ], name: "removePauser", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "renounceOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "renouncePauser", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "router", outputs: [ { internalType: "contract IRouter", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "newOwner", type: "address", }, ], name: "transferOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, { internalType: "address", name: "newWallet", type: "address", }, ], name: "transferWallet", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "unpause", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, ], name: "walletExists", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, ], name: "walletOf", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "walletTypesHash", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, ]; const _bytecode = "0x60806040523480156200001157600080fd5b5060006200002060016200008e565b9050801562000039576000805461ff0019166101001790555b801562000087576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906200007e9060019062000168565b60405180910390a15b50620001cb565b60008054610100900460ff1615620000f7578160ff166001148015620000c75750620000c5306200013b60201b620014151760201c565b155b620000ef5760405162461bcd60e51b8152600401620000e69062000178565b60405180910390fd5b506000919050565b60005460ff808416911610620001215760405162461bcd60e51b8152600401620000e69062000178565b506000805460ff191660ff92909216919091179055600190565b6001600160a01b03163b151590565b600060ff82165b92915050565b62000162816200014a565b82525050565b6020810162000151828462000157565b602080825281016200015181602e81527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160208201526d191e481a5b9a5d1a585b1a5e995960921b604082015260600190565b61386b80620001db6000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c8063718bb2f3116100f9578063a006410811610097578063dcccb5dc11610071578063dcccb5dc14610392578063f2db0f42146103a5578063f2fde38b146103b8578063f887ea40146103cb57600080fd5b8063a006410814610356578063b531303f1461036c578063d6f0362e1461037f57600080fd5b806382dc1ec4116100d357806382dc1ec4146103175780638456cb591461032a5780638da5cb5b146103325780639ba72cb81461034357600080fd5b8063718bb2f3146102c157806372d9e80e146102d457806380f51c12146102f457600080fd5b806345237f1c116101665780635db568a8116101405780635db568a81461028b5780636b2c0f551461029e5780636ef8d66d146102b1578063715018a6146102b957600080fd5b806345237f1c1461025a57806346fbf68e1461026d5780635c975abb1461028057600080fd5b806320898a78116101a257806320898a78146102035780632d529764146102165780633078a6e81461023f5780633f4ba83a1461025257600080fd5b8062c1b50a146101c857806314e8099d146101dd5780631ac84da1146101f0575b600080fd5b6101db6101d6366004612439565b6103eb565b005b6101db6101eb36600461269e565b61043c565b6101db6101fe3660046127fb565b610564565b6101db61021136600461288e565b61075b565b6102296102243660046128c8565b6108b4565b6040516102369190612905565b60405180910390f35b6101db61024d366004612913565b6109f7565b6101db610bcd565b6101db610268366004612a2e565b610bfc565b61022961027b366004612b06565b610ca2565b60995460ff16610229565b6101db610299366004612b27565b610cc0565b6101db6102ac366004612b06565b610f02565b6101db610f38565b6101db610f41565b6101db6102cf366004612b27565b610f75565b6102e76102e23660046128c8565b610f9d565b6040516102369190612bae565b610229610302366004612b06565b60cb6020526000908152604090205460ff1681565b6101db610325366004612b06565b610fee565b6101db611021565b6067546001600160a01b03166102e7565b6102296103513660046128c8565b61104e565b61035f60cf5481565b6040516102369190612bc2565b6101db61037a366004612913565b611078565b61035f61038d366004612439565b61123d565b61035f6103a0366004612439565b61125c565b6101db6103b3366004612bd0565b611296565b6101db6103c6366004612b06565b6113bc565b60cc546103de906001600160a01b031681565b6040516102369190612c05565b60006103f78484610f9d565b9050336001600160a01b0382161461042a5760405162461bcd60e51b815260040161042190612c67565b60405180910390fd5b61043684848385611424565b50505050565b60cc54604080516314b47ed960e31b815290516000926001600160a01b03169163a5a3f6c8916004808301926020929190829003018186803b15801561048157600080fd5b505afa158015610495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b99190612c82565b604051636b074a0760e01b81529091506001600160a01b03821690636b074a07906104e8903390600401612bae565b60206040518083038186803b15801561050057600080fd5b505afa158015610514573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105389190612cb6565b6105545760405162461bcd60e51b815260040161042190612d1d565b61055f3384846114a2565b505050565b60cc54604080516314b47ed960e31b815290516000926001600160a01b03169163a5a3f6c8916004808301926020929190829003018186803b1580156105a957600080fd5b505afa1580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e19190612c82565b604051636b074a0760e01b81529091506001600160a01b03821690636b074a0790610610903390600401612bae565b60206040518083038186803b15801561062857600080fd5b505afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612cb6565b61067c5760405162461bcd60e51b815260040161042190612d1d565b600084511161069d5760405162461bcd60e51b815260040161042190612d75565b60008351116106be5760405162461bcd60e51b815260040161042190612dcd565b82518451146106df5760405162461bcd60e51b815260040161042190612e2a565b60005b8451811015610754576107423386838151811061070157610701612e3a565b602002602001015186848151811061071b5761071b612e3a565b602002602001015186858151811061073557610735612e3a565b602002602001015161191a565b8061074c81612e66565b9150506106e2565b5050505050565b60cc54604080516314b47ed960e31b815290516000926001600160a01b03169163a5a3f6c8916004808301926020929190829003018186803b1580156107a057600080fd5b505afa1580156107b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d89190612c82565b604051636b074a0760e01b81529091506001600160a01b03821690636b074a0790610807903390600401612bae565b60206040518083038186803b15801561081f57600080fd5b505afa158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190612cb6565b6108735760405162461bcd60e51b815260040161042190612d1d565b60005b825181101561055f576108a23384838151811061089557610895612e3a565b6020026020010151611d6f565b806108ac81612e66565b915050610876565b60cc54604080516314b47ed960e31b815290516000926001600160a01b03169163a5a3f6c8916004808301926020929190829003018186803b1580156108f957600080fd5b505afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109319190612c82565b6001600160a01b0316636b074a07846040518263ffffffff1660e01b815260040161095c9190612bae565b60206040518083038186803b15801561097457600080fd5b505afa158015610988573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ac9190612cb6565b6109c85760405162461bcd60e51b815260040161042190612ec6565b506001600160a01b038216600090815260cd6020908152604080832084845290915290205460ff165b92915050565b60cc54604080516314b47ed960e31b815290516000926001600160a01b03169163a5a3f6c8916004808301926020929190829003018186803b158015610a3c57600080fd5b505afa158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a749190612c82565b604051636b074a0760e01b81529091506001600160a01b03821690636b074a0790610aa3903390600401612bae565b60206040518083038186803b158015610abb57600080fd5b505afa158015610acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af39190612cb6565b610b0f5760405162461bcd60e51b815260040161042190612d1d565b6000835111610b305760405162461bcd60e51b815260040161042190612d75565b6000825111610b515760405162461bcd60e51b815260040161042190612dcd565b8151835114610b725760405162461bcd60e51b815260040161042190612e2a565b60005b835181101561043657610bbb33858381518110610b9457610b94612e3a565b6020026020010151858481518110610bae57610bae612e3a565b60200260200101516114a2565b80610bc581612e66565b915050610b75565b610bd633610ca2565b610bf25760405162461bcd60e51b815260040161042190612f0b565b610bfa611f1f565b565b6000610c086001611f85565b90508015610c20576000805461ff0019166101001790555b610c2987612012565b610c3286612064565b610c3c858561208b565b610c45836120bc565b610c4e826120f3565b8015610c99576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610c9090600190612f2f565b60405180910390a15b50505050505050565b6001600160a01b0316600090815260cb602052604090205460ff1690565b60cc60009054906101000a90046001600160a01b03166001600160a01b031663e70b7acb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0e57600080fd5b505afa158015610d22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d469190612c82565b6001600160a01b0316336001600160a01b031614610d765760405162461bcd60e51b815260040161042190612f85565b610d8084846108b4565b610d9c5760405162461bcd60e51b815260040161042190612fd9565b610da6848461104e565b15610dc35760405162461bcd60e51b815260040161042190613027565b6000610dd085858561123d565b905060cc60009054906101000a90046001600160a01b03166001600160a01b031663a5a3f6c86040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2057600080fd5b505afa158015610e34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e589190612c82565b6001600160a01b031663238a4d1e8683856040518463ffffffff1660e01b8152600401610e8793929190613095565b602060405180830381600087803b158015610ea157600080fd5b505af1158015610eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed99190612cb6565b610ef55760405162461bcd60e51b81526004016104219061310d565b6107548585600086611424565b6067546001600160a01b03163314610f2c5760405162461bcd60e51b81526004016104219061314f565b610f3581612123565b50565b610bfa33612123565b6067546001600160a01b03163314610f6b5760405162461bcd60e51b81526004016104219061314f565b610bfa6000612012565b336001600160a01b03831614610d765760405162461bcd60e51b8152600401610421906131a8565b6000610fa9838361104e565b610fc55760405162461bcd60e51b8152600401610421906131fb565b506001600160a01b03918216600090815260ce6020908152604080832093835292905220541690565b6067546001600160a01b031633146110185760405162461bcd60e51b81526004016104219061314f565b610f35816121a3565b61102a33610ca2565b6110465760405162461bcd60e51b815260040161042190612f0b565b610bfa61221c565b6001600160a01b03918216600090815260ce60209081526040808320938352929052205416151590565b60cc54604080516314b47ed960e31b815290516000926001600160a01b03169163a5a3f6c8916004808301926020929190829003018186803b1580156110bd57600080fd5b505afa1580156110d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f59190612c82565b604051636b074a0760e01b81529091506001600160a01b03821690636b074a0790611124903390600401612bae565b60206040518083038186803b15801561113c57600080fd5b505afa158015611150573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111749190612cb6565b6111905760405162461bcd60e51b815260040161042190612d1d565b60008351116111b15760405162461bcd60e51b815260040161042190612d75565b60008251116111d25760405162461bcd60e51b815260040161042190612dcd565b81518351146111f35760405162461bcd60e51b815260040161042190612e2a565b60005b8351811015610436576112153385838151811061089557610895612e3a565b61122b33858381518110610b9457610b94612e3a565b8061123581612e66565b9150506111f6565b600061125261124d85858561125c565b612274565b90505b9392505050565b600060cf54848484604051602001611277949392919061320b565b6040516020818303038152906040528051906020012090509392505050565b60cc54604080516314b47ed960e31b815290516000926001600160a01b03169163a5a3f6c8916004808301926020929190829003018186803b1580156112db57600080fd5b505afa1580156112ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113139190612c82565b604051636b074a0760e01b81529091506001600160a01b03821690636b074a0790611342903390600401612bae565b60206040518083038186803b15801561135a57600080fd5b505afa15801561136e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113929190612cb6565b6113ae5760405162461bcd60e51b815260040161042190612d1d565b6113b83383611d6f565b5050565b6067546001600160a01b031633146113e65760405162461bcd60e51b81526004016104219061314f565b6001600160a01b03811661140c5760405162461bcd60e51b815260040161042190613283565b610f3581612012565b6001600160a01b03163b151590565b6001600160a01b03848116600090815260ce602090815260408083208784529091529081902080546001600160a01b03191692841692909217909155517f3848c851d32f9ec4e5737cee35fe6816770cfbcfd0096097933c80ffa0bc7c2890611494908690869086908690613293565b60405180910390a150505050565b6114ac83836108b4565b6114c85760405162461bcd60e51b815260040161042190612fd9565b60008151116114e95760405162461bcd60e51b8152600401610421906132fa565b60005b81518110156118db57600082828151811061150957611509612e3a565b60209081029190910101518051909150600181600481111561152d5761152d61330a565b1415611662578160200151516001146115585760405162461bcd60e51b815260040161042190613368565b60cc60009054906101000a90046001600160a01b03166001600160a01b03166322b31aba6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115a657600080fd5b505afa1580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de9190612c82565b6001600160a01b031663da5001a58787856020015160008151811061160557611605612e3a565b60200260200101516040518463ffffffff1660e01b815260040161162b93929190613378565b600060405180830381600087803b15801561164557600080fd5b505af1158015611659573d6000803e3d6000fd5b505050506118c6565b60028160048111156116765761167661330a565b14156116ef578160200151516001146116a15760405162461bcd60e51b8152600401610421906133e8565b60cc60009054906101000a90046001600160a01b03166001600160a01b031663f931ca566040518163ffffffff1660e01b815260040160206040518083038186803b1580156115a657600080fd5b60038160048111156117035761170361330a565b141561177c5781602001515160011461172e5760405162461bcd60e51b815260040161042190613440565b60cc60009054906101000a90046001600160a01b03166001600160a01b031663a2d2f2db6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115a657600080fd5b60048160048111156117905761179061330a565b14156118ae578160200151516002146117bb5760405162461bcd60e51b815260040161042190613498565b60cc60009054906101000a90046001600160a01b03166001600160a01b031663740e80616040518163ffffffff1660e01b815260040160206040518083038186803b15801561180957600080fd5b505afa15801561181d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118419190612c82565b6001600160a01b031663ed3811888787856020015160008151811061186857611868612e3a565b6020026020010151866020015160018151811061188757611887612e3a565b60200260200101516040518563ffffffff1660e01b815260040161162b94939291906134a8565b60405162461bcd60e51b815260040161042190613523565b505080806118d390612e66565b9150506114ec565b507f0cc4f008775f50ff94480b827bff217f10b555c53b83873f4cd0918a9c241ae4838360405161190d929190613533565b60405180910390a1505050565b61192484846108b4565b6119405760405162461bcd60e51b815260040161042190612fd9565b60008251116119615760405162461bcd60e51b8152600401610421906132fa565b60005b8251811015611d3b57600083828151811061198157611981612e3a565b6020908102919091010151805190915060018160048111156119a5576119a561330a565b1415611ada578160200151516001146119d05760405162461bcd60e51b815260040161042190613368565b60cc60009054906101000a90046001600160a01b03166001600160a01b03166322b31aba6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b505afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a569190612c82565b6001600160a01b031663da5001a588888560200151600081518110611a7d57611a7d612e3a565b60200260200101516040518463ffffffff1660e01b8152600401611aa393929190613378565b600060405180830381600087803b158015611abd57600080fd5b505af1158015611ad1573d6000803e3d6000fd5b50505050611d26565b6002816004811115611aee57611aee61330a565b1415611b6757816020015151600114611b195760405162461bcd60e51b8152600401610421906133e8565b60cc60009054906101000a90046001600160a01b03166001600160a01b031663f931ca566040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b6003816004811115611b7b57611b7b61330a565b1415611bf457816020015151600114611ba65760405162461bcd60e51b815260040161042190613440565b60cc60009054906101000a90046001600160a01b03166001600160a01b031663a2d2f2db6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1e57600080fd5b6004816004811115611c0857611c0861330a565b14156118ae57816020015151600214611c335760405162461bcd60e51b815260040161042190613498565b60cc60009054906101000a90046001600160a01b03166001600160a01b031663740e80616040518163ffffffff1660e01b815260040160206040518083038186803b158015611c8157600080fd5b505afa158015611c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb99190612c82565b6001600160a01b031663ed38118888888560200151600081518110611ce057611ce0612e3a565b60200260200101518660200151600181518110611cff57611cff612e3a565b60200260200101516040518563ffffffff1660e01b8152600401611aa394939291906134a8565b50508080611d3390612e66565b915050611964565b507faafd7e80d52b65053b760ea122566df828fbe3e57fadd8ab7b473e4b6dc2792084848360405161149493929190613378565b611d7982826108b4565b15611d965760405162461bcd60e51b81526004016104219061358d565b60cc60009054906101000a90046001600160a01b03166001600160a01b031663a5a3f6c86040518163ffffffff1660e01b815260040160206040518083038186803b158015611de457600080fd5b505afa158015611df8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1c9190612c82565b6001600160a01b0316636b074a07336040518263ffffffff1660e01b8152600401611e479190612bae565b60206040518083038186803b158015611e5f57600080fd5b505afa158015611e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e979190612cb6565b611eb35760405162461bcd60e51b815260040161042190612ec6565b6001600160a01b038216600090815260cd6020908152604080832084845290915290819020805460ff19166001179055517f672144042732f7b1cdbf0772464ae545aedd7f41d38b8487dafd9085496a5d5190611f139084908490613533565b60405180910390a15050565b60995460ff16611f415760405162461bcd60e51b8152600401610421906135c8565b6099805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051611f7b9190612bae565b60405180910390a1565b60008054610100900460ff1615611fcc578160ff166001148015611fa85750303b155b611fc45760405162461bcd60e51b815260040161042190613623565b506000919050565b60005460ff808416911610611ff35760405162461bcd60e51b815260040161042190613623565b506000805460ff191660ff92909216919091179055600190565b919050565b606780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166110185760405162461bcd60e51b81526004016104219061367b565b600054610100900460ff166120b25760405162461bcd60e51b81526004016104219061367b565b6113b88282612287565b600054610100900460ff166120e35760405162461bcd60e51b81526004016104219061367b565b610f3581805190602001206122c8565b600054610100900460ff1661211a5760405162461bcd60e51b81526004016104219061367b565b610f35816122fd565b61212c81610ca2565b6121485760405162461bcd60e51b8152600401610421906136bf565b6001600160a01b038116600090815260cb602052604090819020805460ff19169055517fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90612198908390612bae565b60405180910390a150565b6121ac81610ca2565b156121c95760405162461bcd60e51b81526004016104219061370d565b6001600160a01b038116600090815260cb602052604090819020805460ff19166001179055517f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890612198908390612bae565b60995460ff161561223f5760405162461bcd60e51b815260040161042190613744565b6099805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f6e3390565b60006109f161228161236e565b836123aa565b600054610100900460ff166122ae5760405162461bcd60e51b81526004016104219061367b565b815160209283012081519190920120600191909155600255565b60cf8190556040517fd5b7aa922fbc99b384e2da1530298f9f1f39cbaafe5584138c9a7031f594a34f90612198908390612bc2565b6001600160a01b0381166123235760405162461bcd60e51b815260040161042190613788565b60cc80546001600160a01b0319166001600160a01b0383161790556040517f7aed1d3e8155a07ccf395e44ea3109a0e2d6c9b29bbbe9f142d9790596f4dc8090612198908390612c05565b60006123a57f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61239d60015490565b6002546123dd565b905090565b600082826040516020016123bf929190613798565b60405160208183030381529060405280519060200120905092915050565b600083838346306040516020016112779594939291906137c9565b60006001600160a01b0382166109f1565b612412816123f8565b8114610f3557600080fd5b80356109f181612409565b80612412565b80356109f181612428565b60008060006060848603121561245157612451600080fd5b600061245d868661241d565b935050602061246e8682870161242e565b925050604061247f8682870161241d565b9150509250925092565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b03821117156124c4576124c4612489565b6040525050565b60006124d660405190565b905061200d828261249f565b60006001600160401b038211156124fb576124fb612489565b5060209081020190565b60058110610f3557600080fd5b80356109f181612505565b600061253061252b846124e2565b6124cb565b8381529050602080820190840283018581111561254f5761254f600080fd5b835b818110156125735780612564888261242e565b84525060209283019201612551565b5050509392505050565b600082601f83011261259157612591600080fd5b81356125a184826020860161251d565b949350505050565b6000604082840312156125be576125be600080fd5b6125c860406124cb565b905060006125d68484612512565b82525060208201356001600160401b038111156125f5576125f5600080fd5b6126018482850161257d565b60208301525092915050565b600061261b61252b846124e2565b8381529050602080820190840283018581111561263a5761263a600080fd5b835b818110156125735780356001600160401b0381111561265d5761265d600080fd5b80860161266a89826125a9565b855250506020928301920161263c565b600082601f83011261268e5761268e600080fd5b81356125a184826020860161260d565b600080604083850312156126b4576126b4600080fd5b60006126c0858561242e565b92505060208301356001600160401b038111156126df576126df600080fd5b6126eb8582860161267a565b9150509250929050565b600061270361252b846124e2565b8381529050602080820190840283018581111561272257612722600080fd5b835b818110156125735780612737888261242e565b84525060209283019201612724565b600082601f83011261275a5761275a600080fd5b81356125a18482602086016126f5565b600061277861252b846124e2565b8381529050602080820190840283018581111561279757612797600080fd5b835b818110156125735780356001600160401b038111156127ba576127ba600080fd5b8086016127c7898261267a565b8552505060209283019201612799565b600082601f8301126127eb576127eb600080fd5b81356125a184826020860161276a565b60008060006060848603121561281357612813600080fd5b83356001600160401b0381111561282c5761282c600080fd5b61283886828701612746565b93505060208401356001600160401b0381111561285757612857600080fd5b612863868287016127d7565b92505060408401356001600160401b0381111561288257612882600080fd5b61247f8682870161257d565b6000602082840312156128a3576128a3600080fd5b81356001600160401b038111156128bc576128bc600080fd5b6125a184828501612746565b600080604083850312156128de576128de600080fd5b60006128ea858561241d565b92505060206126eb8582860161242e565b8015155b82525050565b602081016109f182846128fb565b6000806040838503121561292957612929600080fd5b82356001600160401b0381111561294257612942600080fd5b61294e85828601612746565b92505060208301356001600160401b0381111561296d5761296d600080fd5b6126eb858286016127d7565b60006001600160401b0382111561299257612992612489565b601f19601f83011660200192915050565b82818337506000910152565b60006129bd61252b84612979565b9050828152602081018484840111156129d8576129d8600080fd5b6129e38482856129a3565b509392505050565b600082601f8301126129ff576129ff600080fd5b81356125a18482602086016129af565b60006109f1826123f8565b61241281612a0f565b80356109f181612a1a565b60008060008060008060c08789031215612a4a57612a4a600080fd5b6000612a56898961241d565b9650506020612a6789828a0161241d565b95505060408701356001600160401b03811115612a8657612a86600080fd5b612a9289828a016129eb565b94505060608701356001600160401b03811115612ab157612ab1600080fd5b612abd89828a016129eb565b93505060808701356001600160401b03811115612adc57612adc600080fd5b612ae889828a016129eb565b92505060a0612af989828a01612a23565b9150509295509295509295565b600060208284031215612b1b57612b1b600080fd5b60006125a1848461241d565b60008060008060808587031215612b4057612b40600080fd5b6000612b4c878761241d565b9450506020612b5d8782880161242e565b9350506040612b6e8782880161241d565b92505060608501356001600160401b03811115612b8d57612b8d600080fd5b612b99878288016129eb565b91505092959194509250565b6128ff816123f8565b602081016109f18284612ba5565b806128ff565b602081016109f18284612bbc565b600060208284031215612be557612be5600080fd5b60006125a1848461242e565b60006109f182612a0f565b6128ff81612bf1565b602081016109f18284612bfc565b603481526000602082017f50726f7669646572436f6e74726f6c6c65723a2063616c6c6572206973206e6f8152731d081d1a194818dd5c9c995b9d081dd85b1b195d60621b602082015291505b5060400190565b602080825281016109f181612c13565b80516109f181612a1a565b600060208284031215612c9757612c97600080fd5b60006125a18484612c77565b801515612412565b80516109f181612ca3565b600060208284031215612ccb57612ccb600080fd5b60006125a18484612cab565b602981526000602082017f526f75746572577261707065723a2063616c6c6572206973206e6f742074686581526810383937bb34b232b960b91b60208201529150612c60565b602080825281016109f181612cd7565b602b81526000602082017f50726f7669646572436f6e74726f6c6c65723a20696e76616c6964206163636f81526a0eadce8e640d8cadccee8d60ab1b60208201529150612c60565b602080825281016109f181612d2d565b602b81526000602082017f50726f7669646572436f6e74726f6c6c65723a20696e76616c6964207061796c81526a0dec2c8e640d8cadccee8d60ab1b60208201529150612c60565b602080825281016109f181612d85565b603081526000602082017f50726f7669646572436f6e74726f6c6c65723a20696e636f6e736974656e742081526f0e0c2e4c2dacae8cae440d8cadccee8d60831b60208201529150612c60565b602080825281016109f181612ddd565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612e7a57612e7a612e50565b5060010190565b602881526000602082017f50726f7669646572436f6e74726f6c6c65723a206e6f6e6578697374656e7420815267383937bb34b232b960c11b60208201529150612c60565b602080825281016109f181612e81565b60208082527f5061757365723a2063616c6c6572206973206e6f742074686520706175736572910190815260005b5060200190565b602080825281016109f181612ed6565b600060ff82166109f1565b6128ff81612f1b565b602081016109f18284612f26565b602b81526000602082017f50726f7669646572436f6e74726f6c6c65723a2063616c6c6572206973206e6f81526a1d08199d5b99081c1bdbdb60aa1b60208201529150612c60565b602080825281016109f181612f3d565b602781526000602082017f50726f7669646572436f6e74726f6c6c65723a206e6f6e6578697374656e74208152661858d8dbdd5b9d60ca1b60208201529150612c60565b602080825281016109f181612f95565b602181526000602082017f50726f7669646572436f6e74726f6c6c65723a2077616c6c65742065786973748152607360f81b60208201529150612c60565b602080825281016109f181612fe9565b60005b8381101561305257818101518382015260200161303a565b838111156104365750506000910152565b600061306d825190565b808452602084019350613084818560208601613037565b601f01601f19169290920192915050565b606081016130a38286612ba5565b6130b06020830185612bbc565b81810360408301526130c28184613063565b95945050505050565b602581526000602082017f50726f7669646572436f6e74726f6c6c65723a20696e76616c6964207369676e815264617475726560d81b60208201529150612c60565b602080825281016109f1816130cb565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657291019081526000612f04565b602080825281016109f18161311d565b602c81526000602082017f50726f7669646572436f6e74726f6c6c65723a2063616c6c657220696e206e6f81526b1d081d1a19481dd85b1b195d60a21b60208201529150612c60565b602080825281016109f18161315f565b602681526000602082017f50726f7669646572436f6e74726f6c6c65723a206e6f6e6578697374656e74208152651dd85b1b195d60d21b60208201529150612c60565b602080825281016109f1816131b8565b608081016132198287612bbc565b6132266020830186612ba5565b6132336040830185612bbc565b6130c26060830184612ba5565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b60208201529150612c60565b602080825281016109f181613240565b608081016132a18287612ba5565b6132ae6020830186612bbc565b6132336040830185612ba5565b602281526000602082017f50726f7669646572436f6e74726f6c6c65723a20656d707479207061796c6f61815261647360f01b60208201529150612c60565b602080825281016109f1816132bb565b634e487b7160e01b600052602160045260246000fd5b603c815260006020820160008051602061381683398151915281527f6e7473206c656e67746820666f72206275696c64696e672074696d650000000060208201529150612c60565b602080825281016109f181613320565b606081016133868286612ba5565b6133936020830185612bbc565b6125a16040830184612bbc565b6038815260006020820160008051602061381683398151915281527f6e7473206c656e67746820666f722062616e647769647468000000000000000060208201529150612c60565b602080825281016109f1816133a0565b6039815260006020820160008051602061381683398151915281527f6e7473206c656e67746820666f722061722073746f726167650000000000000060208201529150612c60565b602080825281016109f1816133f8565b603b815260006020820160008051602061381683398151915281527f6e7473206c656e67746820666f7220697066732073746f72616765000000000060208201529150612c60565b602080825281016109f181613450565b608081016134b68287612ba5565b6134c36020830186612bbc565b6134d06040830185612bbc565b6130c26060830184612bbc565b602981526000602082017f50726f7669646572436f6e74726f6c6c65723a20756e6b6e6f776e207265736f81526875726365207479706560b81b60208201529150612c60565b602080825281016109f1816134dd565b604081016135418285612ba5565b6112556020830184612bbc565b602281526000602082017f50726f7669646572436f6e74726f6c6c65723a206163636f756e742065786973815261747360f01b60208201529150612c60565b602080825281016109f18161354e565b601481526000602082017314185d5cd8589b194e881b9bdd081c185d5cd95960621b81529150612f04565b602080825281016109f18161359d565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150612c60565b602080825281016109f1816135d8565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150612c60565b602080825281016109f181613633565b601d81526000602082017f5061757365723a206163636f756e74206973206e6f742070617573657200000081529150612f04565b602080825281016109f18161368b565b602181526000602082017f5061757365723a206163636f756e7420697320616c72656164792070617573658152603960f91b60208201529150612c60565b602080825281016109f1816136cf565b601081526000602082016f14185d5cd8589b194e881c185d5cd95960821b81529150612f04565b602080825281016109f18161371d565b601b81526000602082017f526f75746572577261707065723a207a65726f2061646472657373000000000081529150612f04565b602080825281016109f181613754565b61190160f01b815260020160006137af8285612bbc565b6020820191506137bf8284612bbc565b5060200192915050565b60a081016137d78288612bbc565b6137e46020830187612bbc565b6137f16040830186612bbc565b6137fe6060830185612bbc565b61380b6080830184612ba5565b969550505050505056fe50726f7669646572436f6e74726f6c6c65723a20696e76616c696420616d6f75a2646970667358221220d681bf992ec2f4bceb6ed1019af591287f7daf66fc4d25702ba06e9ed69721ba64736f6c63430008090033"; export class ProviderController__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): ProviderController { return super.attach(address) as ProviderController; } connect(signer: Signer): ProviderController__factory { return super.connect(signer) as ProviderController__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): ProviderControllerInterface { return new utils.Interface(_abi) as ProviderControllerInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): ProviderController { return new Contract(address, _abi, signerOrProvider) as ProviderController; } }