/* 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 { FundPool, FundPoolInterface } from "../FundPool"; const _abi = [ { inputs: [], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "version", type: "uint8", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "NativeWithdrawal", 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", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "Recharged", 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: "provider", type: "address", }, { indexed: false, internalType: "bytes32", name: "account", type: "bytes32", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "Spent", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, ], name: "Unpaused", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, { indexed: false, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Withdrawal", 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: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "Withdrawn", type: "event", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, ], name: "addPauser", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, ], name: "balanceOf", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "bytes", name: "message", type: "bytes", }, ], name: "celerExec", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, { internalType: "bytes", name: "walletSig", type: "bytes", }, { internalType: "bytes", name: "bills", type: "bytes", }, { internalType: "uint256", name: "timeout", type: "uint256", }, { internalType: "uint64", name: "nonce", type: "uint64", }, { internalType: "bytes", name: "billSig", type: "bytes", }, { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "initWalletAndWithdraw", outputs: [ { internalType: "uint256", name: "fee", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "pauser", type: "address", }, { 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: [ { internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], name: "ownerWithdrawERC20", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address payable", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], name: "ownerWithdrawNative", outputs: [], stateMutability: "nonpayable", 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: "uint256", name: "amount", type: "uint256", }, ], name: "recharge", 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: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, { internalType: "bytes", name: "bills", type: "bytes", }, { internalType: "uint256", name: "timeout", type: "uint256", }, { internalType: "uint64", name: "nonce", type: "uint64", }, { internalType: "bytes", name: "signature", type: "bytes", }, ], name: "spend", outputs: [ { internalType: "uint256", name: "fee", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newOwner", type: "address", }, ], name: "transferOwnership", 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: "walletOf", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, { internalType: "bytes", name: "bills", type: "bytes", }, { internalType: "uint256", name: "timeout", type: "uint256", }, { internalType: "uint64", name: "nonce", type: "uint64", }, { internalType: "bytes", name: "signature", type: "bytes", }, { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "withdraw", outputs: [ { internalType: "uint256", name: "fee", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60806040523480156200001157600080fd5b5060006200002060016200008e565b9050801562000039576000805461ff0019166101001790555b801562000087576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906200007e9060019062000168565b60405180910390a15b50620001cb565b60008054610100900460ff1615620000f7578160ff166001148015620000c75750620000c5306200013b60201b6200105c1760201c565b155b620000ef5760405162461bcd60e51b8152600401620000e69062000178565b60405180910390fd5b506000919050565b60005460ff808416911610620001215760405162461bcd60e51b8152600401620000e69062000178565b506000805460ff191660ff92909216919091179055600190565b6001600160a01b03163b151590565b600060ff82165b92915050565b62000162816200014a565b82525050565b6020810162000151828462000157565b602080825281016200015181602e81527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160208201526d191e481a5b9a5d1a585b1a5e995960921b604082015260600190565b612a8880620001db6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806372d9e80e116100b85780638de479f61161007c5780638de479f61461028357806393563a9514610296578063c0c53b8b146102a9578063cf5f1d0e146102bc578063f2fde38b146102cf578063f887ea40146102e257600080fd5b806372d9e80e1461021457806380f51c121461023457806382dc1ec4146102575780638456cb591461026a5780638da5cb5b1461027257600080fd5b80635db179301161010a5780635db17930146101b8578063699256f4146101cb5780636b2c0f55146101de5780636ef8d66d146101f1578063715018a6146101f9578063720262641461020157600080fd5b806317a6020b146101475780633f4ba83a1461017057806346fbf68e1461017a5780634d30b6be1461019a5780635c975abb146101ad575b600080fd5b61015a610155366004611be4565b610302565b6040516101679190611cac565b60405180910390f35b610178610492565b005b61018d610188366004611cba565b6104c1565b6040516101679190611ce3565b61015a6101a8366004611cf1565b6104df565b60655460ff1661018d565b6101786101c6366004611d2e565b610621565b6101786101d9366004611cf1565b6107bd565b6101786101ec366004611cba565b61086b565b6101786108a1565b6101786108aa565b61017861020f366004611d7e565b6108de565b610227610222366004611cf1565b610a9c565b6040516101679190611dd5565b61018d610242366004611cba565b60976020526000908152604090205460ff1681565b610178610265366004611cba565b610b9d565b610178610bd0565b6033546001600160a01b0316610227565b61015a610291366004611de3565b610bfd565b6101786102a4366004611f1a565b610d79565b6101786102b7366004611f4f565b610dea565b61015a6102ca366004611f95565b610e7a565b6101786102dd366004611cba565b611003565b60ca546102f5906001600160a01b031681565b6040516101679190612092565b600061031060655460ff1690565b156103365760405162461bcd60e51b815260040161032d906120ca565b60405180910390fd5b600260985414156103595760405162461bcd60e51b815260040161032d9061210e565b600260985560ca54604080516350e420e560e11b815290516001600160a01b039092169163a1c841ca91600480820192602092909190829003018186803b1580156103a357600080fd5b505afa1580156103b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103db9190612129565b6001600160a01b0316632d52976488886040518363ffffffff1660e01b815260040161040892919061214a565b60206040518083038186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104589190612178565b6104745760405162461bcd60e51b815260040161032d906121cd565b61048287878787878761106b565b6001609855979650505050505050565b61049b336104c1565b6104b75760405162461bcd60e51b815260040161032d9061220f565b6104bf6112d2565b565b6001600160a01b031660009081526097602052604090205460ff1690565b60ca54604080516350e420e560e11b815290516000926001600160a01b03169163a1c841ca916004808301926020929190829003018186803b15801561052457600080fd5b505afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c9190612129565b6001600160a01b0316632d52976484846040518363ffffffff1660e01b815260040161058992919061214a565b60206040518083038186803b1580156105a157600080fd5b505afa1580156105b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d99190612178565b6105f55760405162461bcd60e51b815260040161032d906121cd565b506001600160a01b038216600090815260cb602090815260408083208484529091529020545b92915050565b60655460ff16156106445760405162461bcd60e51b815260040161032d906120ca565b600260985414156106675760405162461bcd60e51b815260040161032d9061210e565b6002609855806106895760405162461bcd60e51b815260040161032d9061224b565b60ca60009054906101000a90046001600160a01b03166001600160a01b031663a1c841ca6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d757600080fd5b505afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f9190612129565b6001600160a01b0316632d52976484846040518363ffffffff1660e01b815260040161073c92919061214a565b60206040518083038186803b15801561075457600080fd5b505afa158015610768573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078c9190612178565b6107a85760405162461bcd60e51b815260040161032d906122a4565b6107b3838383611338565b5050600160985550565b6033546001600160a01b031633146107e75760405162461bcd60e51b815260040161032d906122e6565b6040516000906001600160a01b0384169083156108fc0290849084818181858888f1935050505090508061082d5760405162461bcd60e51b815260040161032d90612342565b7f2c876ecb97b3c6854f2488d373403f903eacb800e51c159a5c0c7a9c857e4827838360405161085e929190612352565b60405180910390a1505050565b6033546001600160a01b031633146108955760405162461bcd60e51b815260040161032d906122e6565b61089e8161144d565b50565b6104bf3361144d565b6033546001600160a01b031633146108d45760405162461bcd60e51b815260040161032d906122e6565b6104bf60006114cd565b60655460ff16156109015760405162461bcd60e51b815260040161032d906120ca565b600260985414156109245760405162461bcd60e51b815260040161032d9061210e565b6002609881905550600080828060200190518101906109439190612376565b91509150600084116109675760405162461bcd60e51b815260040161032d9061224b565b60ca60009054906101000a90046001600160a01b03166001600160a01b031663a1c841ca6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b557600080fd5b505afa1580156109c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ed9190612129565b6001600160a01b0316632d52976483836040518363ffffffff1660e01b8152600401610a1a92919061214a565b60206040518083038186803b158015610a3257600080fd5b505afa158015610a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6a9190612178565b610a865760405162461bcd60e51b815260040161032d906122a4565b610a91828286611338565b505060016098555050565b60ca54604080516350e420e560e11b815290516000926001600160a01b03169163a1c841ca916004808301926020929190829003018186803b158015610ae157600080fd5b505afa158015610af5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b199190612129565b6001600160a01b03166372d9e80e84846040518363ffffffff1660e01b8152600401610b4692919061214a565b60206040518083038186803b158015610b5e57600080fd5b505afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9691906123a9565b9392505050565b6033546001600160a01b03163314610bc75760405162461bcd60e51b815260040161032d906122e6565b61089e8161151f565b610bd9336104c1565b610bf55760405162461bcd60e51b815260040161032d9061220f565b6104bf611598565b6000610c0b60655460ff1690565b15610c285760405162461bcd60e51b815260040161032d906120ca565b60026098541415610c4b5760405162461bcd60e51b815260040161032d9061210e565b600260985581610c6d5760405162461bcd60e51b815260040161032d9061224b565b60ca60009054906101000a90046001600160a01b03166001600160a01b031663a1c841ca6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cbb57600080fd5b505afa158015610ccf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf39190612129565b6001600160a01b0316635db568a88b8b338c6040518563ffffffff1660e01b8152600401610d249493929190612428565b600060405180830381600087803b158015610d3e57600080fd5b505af1158015610d52573d6000803e3d6000fd5b50505050610d668a8a8989898989896115f0565b60016098559a9950505050505050505050565b6033546001600160a01b03163314610da35760405162461bcd60e51b815260040161032d906122e6565b610db76001600160a01b0384168383611708565b7f2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b639883838360405161085e9392919061246c565b6000610df66001611763565b90508015610e0e576000805461ff0019166101001790555b610e17846114cd565b610e20836117f0565b610e2982611817565b8015610e74576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610e6b906001906124a8565b60405180910390a15b50505050565b6000610e8860655460ff1690565b15610ea55760405162461bcd60e51b815260040161032d906120ca565b60026098541415610ec85760405162461bcd60e51b815260040161032d9061210e565b600260985560ca54604080516350e420e560e11b815290516000926001600160a01b03169163a1c841ca916004808301926020929190829003018186803b158015610f1257600080fd5b505afa158015610f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4a9190612129565b60405163396cf40760e11b815290915033906001600160a01b038316906372d9e80e90610f7d908e908e9060040161214a565b60206040518083038186803b158015610f9557600080fd5b505afa158015610fa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcd91906123a9565b6001600160a01b031614610ff35760405162461bcd60e51b815260040161032d90612505565b610d668a8a8a8a8a8a8a8a6115f0565b6033546001600160a01b0316331461102d5760405162461bcd60e51b815260040161032d906122e6565b6001600160a01b0381166110535760405162461bcd60e51b815260040161032d90612558565b61089e816114cd565b6001600160a01b03163b151590565b60008060ca60009054906101000a90046001600160a01b03166001600160a01b031663e20ce6eb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110bc57600080fd5b505afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f49190612129565b6040516317a6020b60e01b81529091506001600160a01b038216906317a6020b9061112d908b908b908b908b908b908b90600401612578565b602060405180830381600087803b15801561114757600080fd5b505af115801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117f91906125df565b9150600061118d89896104df565b9050828110156111af5760405162461bcd60e51b815260040161032d9061264b565b6001600160a01b038916600090815260cb602090815260408083208b84529091529020546111dd9084611847565b6001600160a01b03808b16600090815260cb602090815260408083208d84528252918290209390935560ca548151636120933b60e11b8152915161128b948794899493169263c24126769260048083019392829003018186803b15801561124357600080fd5b505afa158015611257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127b9190612129565b6001600160a01b03169190611708565b7fde367c913aaac6425f1138a69a4532650f465e49bda8eb976383904cb3d413e08989856040516112be9392919061265b565b60405180910390a150509695505050505050565b60655460ff166112f45760405162461bcd60e51b815260040161032d906126a1565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161132e9190611dd5565b60405180910390a1565b6001600160a01b038316600090815260cb602090815260408083208584529091529020546113669082611853565b6001600160a01b03808516600090815260cb602090815260408083208784528252918290209390935560ca548151636120933b60e11b8152915161141a943394309488949091169263c241267692600480840193919291829003018186803b1580156113d157600080fd5b505afa1580156113e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114099190612129565b6001600160a01b031692919061185f565b7fbb749947730256b87847d720594722a899da4c323db1ce06aa30fb53cf56edf683838360405161085e9392919061265b565b611456816104c1565b6114725760405162461bcd60e51b815260040161032d906126e5565b6001600160a01b03811660009081526097602052604090819020805460ff19169055517fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e906114c2908390611dd5565b60405180910390a150565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611528816104c1565b156115455760405162461bcd60e51b815260040161032d90612733565b6001600160a01b03811660009081526097602052604090819020805460ff19166001179055517f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8906114c2908390611dd5565b60655460ff16156115bb5760405162461bcd60e51b815260040161032d906120ca565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586113213390565b600061160089898989898961106b565b90508161160d8a8a6104df565b101561162b5760405162461bcd60e51b815260040161032d9061278d565b6001600160a01b038916600090815260cb602090815260408083208b84529091529020546116599083611847565b6001600160a01b03808b16600090815260cb602090815260408083208d84528252918290209390935560ca548151636120933b60e11b815291516116bf948894889493169263c24126769260048083019392829003018186803b15801561124357600080fd5b7f1b0a089ddd8413135f08a33d7e2918568fc526e7725ad4d10b1f0e38e202e43f898985856040516116f4949392919061279d565b60405180910390a198975050505050505050565b61175e8363a9059cbb60e01b848460405160240161172792919061214a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611880565b505050565b60008054610100900460ff16156117aa578160ff1660011480156117865750303b155b6117a25760405162461bcd60e51b815260040161032d90612826565b506000919050565b60005460ff8084169116106117d15760405162461bcd60e51b815260040161032d90612826565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16610bc75760405162461bcd60e51b815260040161032d9061287e565b600054610100900460ff1661183e5760405162461bcd60e51b815260040161032d9061287e565b61089e8161190f565b6000610b9682846128a4565b6000610b9682846128bb565b610e74846323b872dd60e01b858585604051602401611727939291906128d3565b60006118d5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119809092919063ffffffff16565b80519091501561175e57808060200190518101906118f39190612178565b61175e5760405162461bcd60e51b815260040161032d90612928565b6001600160a01b0381166119355760405162461bcd60e51b815260040161032d9061296c565b60ca80546001600160a01b0319166001600160a01b0383161790556040517f7aed1d3e8155a07ccf395e44ea3109a0e2d6c9b29bbbe9f142d9790596f4dc80906114c2908390612092565b606061198f8484600085611997565b949350505050565b6060824710156119b95760405162461bcd60e51b815260040161032d906129bf565b6001600160a01b0385163b6119e05760405162461bcd60e51b815260040161032d90612a03565b600080866001600160a01b031685876040516119fc9190612a35565b60006040518083038185875af1925050503d8060008114611a39576040519150601f19603f3d011682016040523d82523d6000602084013e611a3e565b606091505b5091509150611a4e828286611a59565b979650505050505050565b60608315611a68575081610b96565b825115611a785782518084602001fd5b8160405162461bcd60e51b815260040161032d9190612a41565b60006001600160a01b03821661061b565b611aac81611a92565b811461089e57600080fd5b803561061b81611aa3565b80611aac565b803561061b81611ac2565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff82111715611b0f57611b0f611ad3565b6040525050565b6000611b2160405190565b90506117eb8282611ae9565b600067ffffffffffffffff821115611b4757611b47611ad3565b601f19601f83011660200192915050565b82818337506000910152565b6000611b77611b7284611b2d565b611b16565b905082815260208101848484011115611b9257611b92600080fd5b611b9d848285611b58565b509392505050565b600082601f830112611bb957611bb9600080fd5b813561198f848260208601611b64565b67ffffffffffffffff8116611aac565b803561061b81611bc9565b60008060008060008060c08789031215611c0057611c00600080fd5b6000611c0c8989611ab7565b9650506020611c1d89828a01611ac8565b955050604087013567ffffffffffffffff811115611c3d57611c3d600080fd5b611c4989828a01611ba5565b9450506060611c5a89828a01611ac8565b9350506080611c6b89828a01611bd9565b92505060a087013567ffffffffffffffff811115611c8b57611c8b600080fd5b611c9789828a01611ba5565b9150509295509295509295565b805b82525050565b6020810161061b8284611ca4565b600060208284031215611ccf57611ccf600080fd5b600061198f8484611ab7565b801515611ca6565b6020810161061b8284611cdb565b60008060408385031215611d0757611d07600080fd5b6000611d138585611ab7565b9250506020611d2485828601611ac8565b9150509250929050565b600080600060608486031215611d4657611d46600080fd5b6000611d528686611ab7565b9350506020611d6386828701611ac8565b9250506040611d7486828701611ac8565b9150509250925092565b60008060408385031215611d9457611d94600080fd5b6000611da08585611ac8565b925050602083013567ffffffffffffffff811115611dc057611dc0600080fd5b611d2485828601611ba5565b611ca681611a92565b6020810161061b8284611dcc565b60008060008060008060008060006101208a8c031215611e0557611e05600080fd5b6000611e118c8c611ab7565b9950506020611e228c828d01611ac8565b98505060408a013567ffffffffffffffff811115611e4257611e42600080fd5b611e4e8c828d01611ba5565b97505060608a013567ffffffffffffffff811115611e6e57611e6e600080fd5b611e7a8c828d01611ba5565b9650506080611e8b8c828d01611ac8565b95505060a0611e9c8c828d01611bd9565b94505060c08a013567ffffffffffffffff811115611ebc57611ebc600080fd5b611ec88c828d01611ba5565b93505060e0611ed98c828d01611ab7565b925050610100611eeb8c828d01611ac8565b9150509295985092959850929598565b600061061b82611a92565b611aac81611efb565b803561061b81611f06565b600080600060608486031215611f3257611f32600080fd5b6000611f3e8686611f0f565b9350506020611d6386828701611ab7565b600080600060608486031215611f6757611f67600080fd5b6000611f738686611ab7565b9350506020611f8486828701611ab7565b9250506040611d7486828701611f0f565b600080600080600080600080610100898b031215611fb557611fb5600080fd5b6000611fc18b8b611ab7565b9850506020611fd28b828c01611ac8565b975050604089013567ffffffffffffffff811115611ff257611ff2600080fd5b611ffe8b828c01611ba5565b965050606061200f8b828c01611ac8565b95505060806120208b828c01611bd9565b94505060a089013567ffffffffffffffff81111561204057612040600080fd5b61204c8b828c01611ba5565b93505060c061205d8b828c01611ab7565b92505060e061206e8b828c01611ac8565b9150509295985092959890939650565b600061061b82611efb565b611ca68161207e565b6020810161061b8284612089565b601081526000602082016f14185d5cd8589b194e881c185d5cd95960821b815291505b5060200190565b6020808252810161061b816120a0565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815291506120c3565b6020808252810161061b816120da565b805161061b81611f06565b60006020828403121561213e5761213e600080fd5b600061198f848461211e565b604081016121588285611dcc565b610b966020830184611ca4565b801515611aac565b805161061b81612165565b60006020828403121561218d5761218d600080fd5b600061198f848461216d565b601d81526000602082017f46756e64506f6f6c3a206e6f6e6578697374656e74206163636f756e74000000815291506120c3565b6020808252810161061b81612199565b60208082527f5061757365723a2063616c6c6572206973206e6f742074686520706175736572910190815260006120c3565b6020808252810161061b816121dd565b6015815260006020820174119d5b99141bdbdb0e881e995c9bc8185b5bdd5b9d605a1b815291506120c3565b6020808252810161061b8161221f565b602981526000602082017f46756e64506f6f6c3a206e6f6e6578697374656e74206163636f756e74206f6e81526810383937bb34b232b960b91b602082015291505b5060400190565b6020808252810161061b8161225b565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260006120c3565b6020808252810161061b816122b4565b602f81526000602082017f4f776e6572576974686472617761626c653a207769746864726177206e61746981526e1d99481d1bdad95b8819985a5b1959608a1b6020820152915061229d565b6020808252810161061b816122f6565b604081016121588285612089565b805161061b81611aa3565b805161061b81611ac2565b6000806040838503121561238c5761238c600080fd5b60006123988585612360565b9250506020611d248582860161236b565b6000602082840312156123be576123be600080fd5b600061198f8484612360565b60005b838110156123e55781810151838201526020016123cd565b83811115610e745750506000910152565b6000612400825190565b8084526020840193506124178185602086016123ca565b601f01601f19169290920192915050565b608081016124368287611dcc565b6124436020830186611ca4565b6124506040830185611dcc565b818103606083015261246281846123f6565b9695505050505050565b6060810161247a8286612089565b6124876020830185611dcc565b61198f6040830184611ca4565b600060ff821661061b565b611ca681612494565b6020810161061b828461249f565b603281526000602082017f46756e64506f6f6c3a2063616c6c6572206973206e6f74207468652077616c6c815271195d08199bdc881d1a19481858d8dbdd5b9d60721b6020820152915061229d565b6020808252810161061b816124b6565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b6020820152915061229d565b6020808252810161061b81612515565b67ffffffffffffffff8116611ca6565b60c081016125868289611dcc565b6125936020830188611ca4565b81810360408301526125a581876123f6565b90506125b46060830186611ca4565b6125c16080830185612568565b81810360a08301526125d381846123f6565b98975050505050505050565b6000602082840312156125f4576125f4600080fd5b600061198f848461236b565b602e81526000602082017f46756e64506f6f6c3a20696e73756666696369656e742062616c616e6365206681526d6f722062696c6c696e672066656560901b6020820152915061229d565b6020808252810161061b81612600565b606081016126698286611dcc565b6124876020830185611ca4565b601481526000602082017314185d5cd8589b194e881b9bdd081c185d5cd95960621b815291506120c3565b6020808252810161061b81612676565b601d81526000602082017f5061757365723a206163636f756e74206973206e6f7420706175736572000000815291506120c3565b6020808252810161061b816126b1565b602181526000602082017f5061757365723a206163636f756e7420697320616c72656164792070617573658152603960f91b6020820152915061229d565b6020808252810161061b816126f5565b602d81526000602082017f46756e64506f6f6c3a20696e73756666696369656e742062616c616e6365206681526c1bdc881dda5d1a191c985dd85b609a1b6020820152915061229d565b6020808252810161061b81612743565b608081016127ab8287611dcc565b6127b86020830186611ca4565b6127c56040830185611dcc565b6127d26060830184611ca4565b95945050505050565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b6020820152915061229d565b6020808252810161061b816127db565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b6020820152915061229d565b6020808252810161061b81612836565b634e487b7160e01b600052601160045260246000fd5b6000828210156128b6576128b661288e565b500390565b600082198211156128ce576128ce61288e565b500190565b6060810161247a8286611dcc565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b6020820152915061229d565b6020808252810161061b816128e1565b601b81526000602082017f526f75746572577261707065723a207a65726f20616464726573730000000000815291506120c3565b6020808252810161061b81612938565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b6020820152915061229d565b6020808252810161061b8161297c565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506120c3565b6020808252810161061b816129cf565b6000612a1d825190565b612a2b8185602086016123ca565b9290920192915050565b6000610b968284612a13565b60208082528101610b9681846123f656fea2646970667358221220d79c346d8f4fbfeeb6e67abb035af096430d3675664952cb084ba647f745e29464736f6c63430008090033"; export class FundPool__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): FundPool { return super.attach(address) as FundPool; } connect(signer: Signer): FundPool__factory { return super.connect(signer) as FundPool__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): FundPoolInterface { return new utils.Interface(_abi) as FundPoolInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): FundPool { return new Contract(address, _abi, signerOrProvider) as FundPool; } }