/* 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 { SrcChainRecharge, SrcChainRechargeInterface, } from "../SrcChainRecharge"; 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", }, { indexed: false, internalType: "uint64", name: "nonce", type: "uint64", }, { indexed: false, internalType: "uint32", name: "maxSlippage", type: "uint32", }, ], name: "Recharge", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "contract IRechargeMessageSender", name: "messageSender", type: "address", }, ], name: "RechargeMessageSenderUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, ], name: "TokenUpdated", 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", }, { 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: "calcFee", outputs: [ { internalType: "uint256", name: "value", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "provider", type: "address", }, { internalType: "bytes32", name: "account", type: "bytes32", }, ], name: "encodeMessage", outputs: [ { internalType: "bytes", name: "", type: "bytes", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "pauser", type: "address", }, { internalType: "contract IRechargeMessageSender", name: "_messageSender", type: "address", }, { internalType: "contract IERC20Upgradeable", name: "_token", 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: "messageSender", outputs: [ { internalType: "contract IRechargeMessageSender", name: "", type: "address", }, ], 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", }, { internalType: "uint64", name: "nonce", type: "uint64", }, { internalType: "uint32", name: "maxSlippage", type: "uint32", }, ], name: "recharge", outputs: [], stateMutability: "payable", 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: [ { internalType: "contract IRechargeMessageSender", name: "_messageSender", type: "address", }, ], name: "setMessageSender", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "contract IERC20Upgradeable", name: "_token", type: "address", }, ], name: "setToken", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "token", outputs: [ { internalType: "contract IERC20Upgradeable", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "newOwner", type: "address", }, ], name: "transferOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "unpause", outputs: [], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60806040523480156200001157600080fd5b5060006200002060016200008e565b9050801562000039576000805461ff0019166101001790555b801562000087576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906200007e9060019062000168565b60405180910390a15b50620001cb565b60008054610100900460ff1615620000f7578160ff166001148015620000c75750620000c5306200013b60201b620009771760201c565b155b620000ef5760405162461bcd60e51b8152600401620000e69062000178565b60405180910390fd5b506000919050565b60005460ff808416911610620001215760405162461bcd60e51b8152600401620000e69062000178565b506000805460ff191660ff92909216919091179055600190565b6001600160a01b03163b151590565b600060ff82165b92915050565b62000162816200014a565b82525050565b6020810162000151828462000157565b602080825281016200015181602e81527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160208201526d191e481a5b9a5d1a585b1a5e995960921b604082015260600190565b61190c80620001db6000396000f3fe60806040526004361061012a5760003560e01c806382dc1ec4116100ab578063bc67f8321161006f578063bc67f83214610323578063d67bdd2514610343578063f2fde38b14610370578063f7073db214610390578063f8c8765e146103a3578063fc0c546a146103c357600080fd5b806382dc1ec41461027b5780638456cb591461029b5780638da5cb5b146102b057806393563a95146102d6578063a4e65e4e146102f657600080fd5b8063699256f4116100f2578063699256f4146101e15780636b2c0f55146102015780636ef8d66d14610221578063715018a61461023657806380f51c121461024b57600080fd5b8063144fa6d71461012f5780633f4ba83a1461015157806346fbf68e14610166578063599a45221461019c5780635c975abb146101c9575b600080fd5b34801561013b57600080fd5b5061014f61014a366004610fd1565b6103e3565b005b34801561015d57600080fd5b5061014f610422565b34801561017257600080fd5b50610186610181366004611006565b610451565b6040516101939190611031565b60405180910390f35b3480156101a857600080fd5b506101bc6101b7366004611050565b61046f565b6040516101939190611093565b3480156101d557600080fd5b5060975460ff16610186565b3480156101ed57600080fd5b5061014f6101fc366004611050565b610502565b34801561020d57600080fd5b5061014f61021c366004611006565b6105b0565b34801561022d57600080fd5b5061014f6105e3565b34801561024257600080fd5b5061014f6105ec565b34801561025757600080fd5b50610186610266366004611006565b60c96020526000908152604090205460ff1681565b34801561028757600080fd5b5061014f610296366004611006565b610620565b3480156102a757600080fd5b5061014f610653565b3480156102bc57600080fd5b506065546001600160a01b031660405161019391906110aa565b3480156102e257600080fd5b5061014f6102f13660046110b8565b610680565b34801561030257600080fd5b50610316610311366004611050565b6106f1565b6040516101939190611166565b34801561032f57600080fd5b5061014f61033e366004610fd1565b61071d565b34801561034f57600080fd5b5060cb54610363906001600160a01b031681565b604051610193919061118b565b34801561037c57600080fd5b5061014f61038b366004611006565b610750565b61014f61039e3660046111cb565b6107a9565b3480156103af57600080fd5b5061014f6103be366004611243565b6108dd565b3480156103cf57600080fd5b5060ca54610363906001600160a01b031681565b6065546001600160a01b031633146104165760405162461bcd60e51b815260040161040d906112dc565b60405180910390fd5b61041f81610986565b50565b61042b33610451565b6104475760405162461bcd60e51b815260040161040d9061131e565b61044f610a03565b565b6001600160a01b0316600090815260c9602052604090205460ff1690565b60cb546000906001600160a01b0316635335dca261048d85856106f1565b6040518263ffffffff1660e01b81526004016104a99190611166565b60206040518083038186803b1580156104c157600080fd5b505afa1580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f99190611339565b90505b92915050565b6065546001600160a01b0316331461052c5760405162461bcd60e51b815260040161040d906112dc565b6040516000906001600160a01b0384169083156108fc0290849084818181858888f193505050509050806105725760405162461bcd60e51b815260040161040d906113a9565b7f2c876ecb97b3c6854f2488d373403f903eacb800e51c159a5c0c7a9c857e482783836040516105a39291906113b9565b60405180910390a1505050565b6065546001600160a01b031633146105da5760405162461bcd60e51b815260040161040d906112dc565b61041f81610a69565b61044f33610a69565b6065546001600160a01b031633146106165760405162461bcd60e51b815260040161040d906112dc565b61044f6000610ade565b6065546001600160a01b0316331461064a5760405162461bcd60e51b815260040161040d906112dc565b61041f81610b30565b61065c33610451565b6106785760405162461bcd60e51b815260040161040d9061131e565b61044f610ba9565b6065546001600160a01b031633146106aa5760405162461bcd60e51b815260040161040d906112dc565b6106be6001600160a01b0384168383610c01565b7f2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b63988383836040516105a3939291906113d4565b606082826040516020016107069291906113fc565b604051602081830303815290604052905092915050565b6065546001600160a01b031633146107475760405162461bcd60e51b815260040161040d906112dc565b61041f81610c5c565b6065546001600160a01b0316331461077a5760405162461bcd60e51b815260040161040d906112dc565b6001600160a01b0381166107a05760405162461bcd60e51b815260040161040d9061144d565b61041f81610ade565b60975460ff16156107cc5760405162461bcd60e51b815260040161040d90611484565b600260015414156107ef5760405162461bcd60e51b815260040161040d906114c8565b600260015560cb5460ca54610813916001600160a01b039182169133911686610ccd565b600061081f86866106f1565b60cb5460ca5460405163c66f16ff60e01b81529293506001600160a01b039182169263c66f16ff9234926108609291169089908990899089906004016114f4565b6000604051808303818588803b15801561087957600080fd5b505af115801561088d573d6000803e3d6000fd5b50505050507f833b0faa5a2004f42a8e5c3c83c2487ffd6c213da3d76274d40603fd91837b5b86868686866040516108c9959493929190611546565b60405180910390a150506001805550505050565b60006108e96001610cf4565b90508015610901576000805461ff0019166101001790555b61090a85610ade565b61091384610d7c565b61091c83610da3565b61092582610dca565b8015610970576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610967906001906115a6565b60405180910390a15b5050505050565b6001600160a01b03163b151590565b6001600160a01b0381166109ac5760405162461bcd60e51b815260040161040d906115e8565b60ca80546001600160a01b0319166001600160a01b0383169081179091556040517f5ba6b30cd4b2f9e9e67f4feb9b9df10d5da3b057598e6901b217b7d590345e30916109f89161118b565b60405180910390a150565b60975460ff16610a255760405162461bcd60e51b815260040161040d90611623565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051610a5f91906110aa565b60405180910390a1565b610a7281610451565b610a8e5760405162461bcd60e51b815260040161040d90611667565b6001600160a01b038116600090815260c9602052604090819020805460ff19169055517fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e906109f89083906110aa565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610b3981610451565b15610b565760405162461bcd60e51b815260040161040d906116b5565b6001600160a01b038116600090815260c9602052604090819020805460ff19166001179055517f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8906109f89083906110aa565b60975460ff1615610bcc5760405162461bcd60e51b815260040161040d90611484565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610a523390565b610c578363a9059cbb60e01b8484604051602401610c209291906113fc565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610df1565b505050565b6001600160a01b038116610c825760405162461bcd60e51b815260040161040d906115e8565b60cb80546001600160a01b0319166001600160a01b0383161790556040517f076da4357573168a98c03c20e0cabcb42e5890747d8bdd6f8e26d58f0617c8ce906109f890839061118b565b610cee846323b872dd60e01b858585604051602401610c20939291906116c5565b50505050565b60008054610100900460ff1615610d3b578160ff166001148015610d175750303b155b610d335760405162461bcd60e51b815260040161040d9061171e565b506000919050565b60005460ff808416911610610d625760405162461bcd60e51b815260040161040d9061171e565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff1661064a5760405162461bcd60e51b815260040161040d90611776565b600054610100900460ff166107475760405162461bcd60e51b815260040161040d90611776565b600054610100900460ff166104165760405162461bcd60e51b815260040161040d90611776565b6000610e46826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e809092919063ffffffff16565b805190915015610c575780806020019051810190610e649190611799565b610c575760405162461bcd60e51b815260040161040d90611801565b6060610e8f8484600085610e99565b90505b9392505050565b606082471015610ebb5760405162461bcd60e51b815260040161040d90611854565b6001600160a01b0385163b610ee25760405162461bcd60e51b815260040161040d90611898565b600080866001600160a01b03168587604051610efe91906118ca565b60006040518083038185875af1925050503d8060008114610f3b576040519150601f19603f3d011682016040523d82523d6000602084013e610f40565b606091505b5091509150610f50828286610f5d565b925050505b949350505050565b60608315610f6c575081610e92565b825115610f7c5782518084602001fd5b8160405162461bcd60e51b815260040161040d9190611166565b60006001600160a01b0382166104fc565b60006104fc82610f96565b610fbb81610fa7565b811461041f57600080fd5b80356104fc81610fb2565b600060208284031215610fe657610fe6600080fd5b6000610f558484610fc6565b610fbb81610f96565b80356104fc81610ff2565b60006020828403121561101b5761101b600080fd5b6000610f558484610ffb565b8015155b82525050565b602081016104fc8284611027565b80610fbb565b80356104fc8161103f565b6000806040838503121561106657611066600080fd5b60006110728585610ffb565b925050602061108385828601611045565b9150509250929050565b8061102b565b602081016104fc828461108d565b61102b81610f96565b602081016104fc82846110a1565b6000806000606084860312156110d0576110d0600080fd5b60006110dc8686610fc6565b93505060206110ed86828701610ffb565b92505060406110fe86828701611045565b9150509250925092565b60005b8381101561112357818101518382015260200161110b565b83811115610cee5750506000910152565b600061113e825190565b808452602084019350611155818560208601611108565b601f01601f19169290920192915050565b602080825281016104f98184611134565b60006104fc82610fa7565b61102b81611177565b602081016104fc8284611182565b67ffffffffffffffff8116610fbb565b80356104fc81611199565b63ffffffff8116610fbb565b80356104fc816111b4565b600080600080600060a086880312156111e6576111e6600080fd5b60006111f28888610ffb565b955050602061120388828901611045565b945050604061121488828901611045565b9350506060611225888289016111a9565b9250506080611236888289016111c0565b9150509295509295909350565b6000806000806080858703121561125c5761125c600080fd5b60006112688787610ffb565b945050602061127987828801610ffb565b935050604061128a87828801610fc6565b925050606061129b87828801610fc6565b91505092959194509250565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260005b5060200190565b602080825281016104fc816112a7565b60208082527f5061757365723a2063616c6c6572206973206e6f742074686520706175736572910190815260006112d5565b602080825281016104fc816112ec565b80516104fc8161103f565b60006020828403121561134e5761134e600080fd5b6000610f55848461132e565b602f81526000602082017f4f776e6572576974686472617761626c653a207769746864726177206e61746981526e1d99481d1bdad95b8819985a5b1959608a1b602082015291505b5060400190565b602080825281016104fc8161135a565b604081016113c78285611182565b610e92602083018461108d565b606081016113e28286611182565b6113ef60208301856110a1565b610f55604083018461108d565b604081016113c782856110a1565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015291506113a2565b602080825281016104fc8161140a565b601081526000602082016f14185d5cd8589b194e881c185d5cd95960821b815291506112d5565b602080825281016104fc8161145d565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815291506112d5565b602080825281016104fc81611494565b67ffffffffffffffff811661102b565b63ffffffff811661102b565b60a081016115028288611182565b61150f602083018761108d565b61151c60408301866114d8565b61152960608301856114e8565b818103608083015261153b8184611134565b979650505050505050565b60a0810161155482886110a1565b611561602083018761108d565b61156e604083018661108d565b61157b60608301856114d8565b61158860808301846114e8565b9695505050505050565b600060ff82166104fc565b61102b81611592565b602081016104fc828461159d565b601e81526000602082017f537263436861696e52656368617267653a207a65726f20616464726573730000815291506112d5565b602080825281016104fc816115b4565b601481526000602082017314185d5cd8589b194e881b9bdd081c185d5cd95960621b815291506112d5565b602080825281016104fc816115f8565b601d81526000602082017f5061757365723a206163636f756e74206973206e6f7420706175736572000000815291506112d5565b602080825281016104fc81611633565b602181526000602082017f5061757365723a206163636f756e7420697320616c72656164792070617573658152603960f91b602082015291506113a2565b602080825281016104fc81611677565b606081016113e282866110a1565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b602082015291506113a2565b602080825281016104fc816116d3565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b602082015291506113a2565b602080825281016104fc8161172e565b801515610fbb565b80516104fc81611786565b6000602082840312156117ae576117ae600080fd5b6000610f55848461178e565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015291506113a2565b602080825281016104fc816117ba565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015291506113a2565b602080825281016104fc81611811565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506112d5565b602080825281016104fc81611864565b60006118b2825190565b6118c0818560208601611108565b9290920192915050565b6000610e9282846118a856fea26469706673582212203b5da40303406c599f92b3528e4ce0bb230097b52dae6336c75b4c72c5bd402d64736f6c63430008090033"; export class SrcChainRecharge__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): SrcChainRecharge { return super.attach(address) as SrcChainRecharge; } connect(signer: Signer): SrcChainRecharge__factory { return super.connect(signer) as SrcChainRecharge__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): SrcChainRechargeInterface { return new utils.Interface(_abi) as SrcChainRechargeInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): SrcChainRecharge { return new Contract(address, _abi, signerOrProvider) as SrcChainRecharge; } }