import { Signer, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { ERC20Handler, ERC20HandlerInterface } from "../ERC20Handler"; declare type ERC20HandlerConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class ERC20Handler__factory extends ContractFactory { constructor(...args: ERC20HandlerConstructorParams); deploy(bridgeAddress: string, defaultMessageReceiver: string, overrides?: Overrides & { from?: string | Promise; }): Promise; getDeployTransaction(bridgeAddress: string, defaultMessageReceiver: string, overrides?: Overrides & { from?: string | Promise; }): TransactionRequest; attach(address: string): ERC20Handler; connect(signer: Signer): ERC20Handler__factory; static readonly contractName: "ERC20Handler"; readonly contractName: "ERC20Handler"; static readonly bytecode = "0x60c060405234801561001057600080fd5b5060405161163138038061163183398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a0516115696100c86000396000818161015701526109c8015260008181610130015261061701526115696000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a2f21f8a11610066578063a2f21f8a14610152578063ac607c2114610179578063b07e54bb1461020e578063e248cff21461022e578063fa8675b01461024157600080fd5b806307b7ed99146100a35780630968f264146100b85780630a6d55d8146100cb57806330f08abd14610111578063318c136e1461012b575b600080fd5b6100b66100b1366004610f8a565b610254565b005b6100b66100c6366004610fbd565b610268565b6100f46100d936600461106e565b6000602081905290815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b610119601281565b60405160ff9091168152602001610108565b6100f47f000000000000000000000000000000000000000000000000000000000000000081565b6100f47f000000000000000000000000000000000000000000000000000000000000000081565b6101d6610187366004610f8a565b600160208181526000928352604092839020805492810154845180860190955260029091015460ff81811615158652610100918290048116938601939093529293828216939091049091169084565b6040805194855292151560208086019190915291151592840192909252815115156060840152015160ff16608082015260a001610108565b61022161021c3660046110d0565b6102b4565b6040516101089190611184565b61022161023c366004611197565b610381565b6100b661024f3660046110d0565b610582565b61025c61060c565b61026581610686565b50565b61027061060c565b60008060008380602001905181019061028991906111e3565b919450925090506102a26001600160a01b0383166106f8565b506102ae838383610725565b50505050565b60606102be61060c565b60006102cc8385018561106e565b600087815260208181526040808320546001600160a01b0316808452600192839052922001549192509060ff16610326576040516325df77c560e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b03811660009081526001602081905260409091200154610100900460ff16156103605761035b818784610731565b61036c565b61036c8187308561079d565b61037681836107aa565b979650505050505050565b606061038b61060c565b6000610398858585610898565b80516001600160a01b03166000908152600160208190526040909120015490915060ff166103e75780516040516325df77c560e11b81526001600160a01b03909116600482015260240161031d565b80516001600160a01b031660009081526001602081905260409091200154610100900460ff161561042e57610429816000015182604001518360600151610b16565b610445565b610445816000015182604001518360600151610725565b60028160a00151600281111561045d5761045d611226565b141561046e5760c00151905061057b565b60018160a00151600281111561048657610486611226565b141561052d576000806104c0836080015160006101008660c0015187604001516001600160a01b0316610b4e90949392919063ffffffff16565b91509150811580156104d857506104d681610bd9565b155b156104f657604051632f89bddb60e21b815260040160405180910390fd5b8251604080850151602080870151925161051494939186910161123c565b604051602081830303815290604052935050505061057b565b80516040808301516020808501519251610568949391016001600160a01b039384168152919092166020820152604081019190915260600190565b6040516020818303038152906040529150505b9392505050565b61058a61060c565b61059c836001600160a01b03166106f8565b5060008481526020818152604080832080546001600160a01b0319166001600160a01b03881690811790915583526001918290529091208581558101805461ffff1916909117905580156102ae5760006105f68284611279565b60f81c90506106058482610bf4565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106845760405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652062726964676520636f6e74726163740000604482015260640161031d565b565b6001600160a01b0381166000908152600160208190526040909120015460ff166106ce576040516325df77c560e11b81526001600160a01b038216600482015260240161031d565b6001600160a01b0316600090815260016020819052604090912001805461ff001916610100179055565b60006001600160a01b0382166107215760405163d92e233d60e01b815260040160405180910390fd5b5090565b826102ae818484610c9e565b60405163079cc67960e41b81526001600160a01b038381166004830152602482018390528491908216906379cc6790906044015b600060405180830381600087803b15801561077f57600080fd5b505af1158015610793573d6000803e3d6000fd5b5050505050505050565b8361060581858585610d06565b6001600160a01b038216600090815260016020908152604080832081518083019092526002015460ff80821615158084526101009092041692820192909252606092909161080b576040518060200160405280600081525092505050610892565b601260ff16826020015160ff161061084a576012826020015161082e91906112bf565b61083990600a6113c6565b61084390856113d5565b9050610872565b602082015161085a9060126112bf565b61086590600a6113c6565b61086f90856113f7565b90505b604080516020810183905201604051602081830303815290604052925050505b92915050565b6108d86040805160e08101825260008082526020820181905291810182905260608101829052608081018290529060a08201908152602001606081525090565b6000806108e784860186611416565b90925090506108f7816014610d3e565b506000610908605460408789611438565b61091191611462565b60008881526020819052604081205460609290921c92506001600160a01b039091169061093e8286610d71565b90506054600080606081610953856040611495565b8c1115610aaf578c8c8690809261096c93929190611438565b8101906109799190611416565b9094509250610989604086611495565b945060008411801561099b5750600083115b80156109b057508b6109ad8685611495565b11155b15610a5d575060016001600160a01b0388166109ea577f000000000000000000000000000000000000000000000000000000000000000097505b634726ca4360e01b87878f8f8990888b610a049190611495565b92610a1193929190611438565b604051602401610a2494939291906114ad565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529150610aaf565b506040805160048152602481018252602080820180516001600160e01b03166356a6881560e11b1790529151600292610a9d928a928c928f92910161123c565b60405160208183030381529060405291505b6040518060e00160405280886001600160a01b031681526020018b8152602001896001600160a01b03168152602001878152602001858152602001826002811115610afc57610afc611226565b815260200192909252509c9b505050505050505050505050565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390528491908216906340c10f1990604401610765565b6000606060008060008661ffff1667ffffffffffffffff811115610b7457610b74610fa7565b6040519080825280601f01601f191660200182016040528015610b9e576020820181803683370190505b5090506000808751602089018b8e8ef191503d925086831115610bbf578692505b828152826000602083013e90999098509650505050505050565b805160009015610bec5781518083602001fd5b506000919050565b6001600160a01b0382166000908152600160208190526040909120015460ff16610c3c576040516325df77c560e11b81526001600160a01b038316600482015260240161031d565b604080518082018252600180825260ff93841660208084019182526001600160a01b039690961660009081529190955291909120905160029091018054935161ffff1990941691151561ff001916919091176101009390921692909202179055565b6040516001600160a01b038316602482015260448101829052610d0190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610e23565b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526102ae9085906323b872dd60e01b90608401610cca565b6000818314610d6a5760405163c230690360e01b8152600481018490526024810183905260440161031d565b5090919050565b6001600160a01b038216600090815260016020908152604080832081518083019092526002015460ff8082161515808452610100909204169282019290925290610dbe5782915050610892565b601260ff16816020015160ff1610610dfe5760128160200151610de191906112bf565b610dec90600a6113c6565b610df690846113f7565b915050610892565b6020810151610e0e9060126112bf565b610e1990600a6113c6565b610df690846113d5565b813b80610e6a5760405162461bcd60e51b8152602060048201526015602482015274115490cc8c0e881b9bdd08184818dbdb9d1c9858dd605a1b604482015260640161031d565b600080846001600160a01b031684604051610e8591906114f5565b6000604051808303816000865af19150503d8060008114610ec2576040519150601f19603f3d011682016040523d82523d6000602084013e610ec7565b606091505b509150915081610f0e5760405162461bcd60e51b8152602060048201526012602482015271115490cc8c0e8818d85b1b0819985a5b195960721b604482015260640161031d565b8051156106055780806020019051810190610f299190611511565b6106055760405162461bcd60e51b815260206004820181905260248201527f45524332303a206f7065726174696f6e20646964206e6f742073756363656564604482015260640161031d565b6001600160a01b038116811461026557600080fd5b600060208284031215610f9c57600080fd5b813561057b81610f75565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610fcf57600080fd5b813567ffffffffffffffff80821115610fe757600080fd5b818401915084601f830112610ffb57600080fd5b81358181111561100d5761100d610fa7565b604051601f8201601f19908116603f0116810190838211818310171561103557611035610fa7565b8160405282815287602084870101111561104e57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561108057600080fd5b5035919050565b60008083601f84011261109957600080fd5b50813567ffffffffffffffff8111156110b157600080fd5b6020830191508360208285010111156110c957600080fd5b9250929050565b600080600080606085870312156110e657600080fd5b8435935060208501356110f881610f75565b9250604085013567ffffffffffffffff81111561111457600080fd5b61112087828801611087565b95989497509550505050565b60005b8381101561114757818101518382015260200161112f565b838111156102ae5750506000910152565b6000815180845261117081602086016020860161112c565b601f01601f19169290920160200192915050565b60208152600061057b6020830184611158565b6000806000604084860312156111ac57600080fd5b83359250602084013567ffffffffffffffff8111156111ca57600080fd5b6111d686828701611087565b9497909650939450505050565b6000806000606084860312156111f857600080fd5b835161120381610f75565b602085015190935061121481610f75565b80925050604084015190509250925092565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061126f90830184611158565b9695505050505050565b6001600160f81b031981358181169160018510156112a15780818660010360031b1b83161692505b505092915050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156112d9576112d96112a9565b90039392505050565b600181815b8085111561131d578160001904821115611303576113036112a9565b8085161561131057918102915b93841c93908002906112e7565b509250929050565b60008261133457506001610892565b8161134157506000610892565b816001811461135757600281146113615761137d565b6001915050610892565b60ff841115611372576113726112a9565b50506001821b610892565b5060208310610133831016604e8410600b84101617156113a0575081810a610892565b6113aa83836112e2565b80600019048211156113be576113be6112a9565b029392505050565b600061057b60ff841683611325565b6000826113f257634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611411576114116112a9565b500290565b6000806040838503121561142957600080fd5b50508035926020909101359150565b6000808585111561144857600080fd5b8386111561145557600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156112a15760149490940360031b84901b1690921692915050565b600082198211156114a8576114a86112a9565b500190565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f191601019392505050565b6000825161150781846020870161112c565b9190910192915050565b60006020828403121561152357600080fd5b8151801515811461057b57600080fdfea2646970667358221220f1bb60faed1eee5b7cfb30b26e23221a0f1e55b87e56b2323d065677063d4b4064736f6c634300080b0033"; static readonly abi: ({ inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; name?: undefined; outputs?: undefined; constant?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; outputs?: undefined; constant?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: ({ internalType: string; name: string; type: string; components?: undefined; } | { components: { internalType: string; name: string; type: string; }[]; internalType: string; name: string; type: string; })[]; stateMutability: string; type: string; constant: boolean; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; constant?: undefined; })[]; static createInterface(): ERC20HandlerInterface; static connect(address: string, signerOrProvider: Signer | Provider): ERC20Handler; } export {};