import { Signer, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { TwapGenericFeeHandler, TwapGenericFeeHandlerInterface } from "../TwapGenericFeeHandler"; declare type TwapGenericFeeHandlerConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class TwapGenericFeeHandler__factory extends ContractFactory { constructor(...args: TwapGenericFeeHandlerConstructorParams); deploy(bridgeAddress: string, feeHandlerRouterAddress: string, overrides?: Overrides & { from?: string | Promise; }): Promise; getDeployTransaction(bridgeAddress: string, feeHandlerRouterAddress: string, overrides?: Overrides & { from?: string | Promise; }): TransactionRequest; attach(address: string): TwapGenericFeeHandler; connect(signer: Signer): TwapGenericFeeHandler__factory; static readonly contractName: "TwapGenericFeeHandler"; readonly contractName: "TwapGenericFeeHandler"; static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162001b1838038062001b18833981016040819052620000349162000166565b6001600160a01b03808316608052811660a05281816200005660003362000060565b505050506200019e565b6200006c828262000070565b5050565b6000828152602081815260409091206200009591839062000df1620000d7821b17901c565b156200006c5760405133906001600160a01b0383169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b6000620000ee836001600160a01b038416620000f7565b90505b92915050565b60008181526001830160205260408120546200014057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620000f1565b506000620000f1565b80516001600160a01b03811681146200016157600080fd5b919050565b600080604083850312156200017a57600080fd5b620001858362000149565b9150620001956020840162000149565b90509250929050565b60805160a051611946620001d26000396000818161035b0152610e430152600081816102940152610e1101526119466000f3fe6080604052600436106101655760003560e01c80639010d07c116100d1578063a8a989621161008a578063d547741f11610064578063d547741f146104d8578063e0d0b441146104f8578063ef4f081f14610518578063fc818cfb1461055557600080fd5b8063a8a9896214610442578063aff2ba9114610462578063ca15c873146104b857600080fd5b80639010d07c1461037d5780639043292a1461039d578063904e9b2b146103bd57806391d14854146103dd57806396a320731461040d578063a217fddf1461042d57600080fd5b8063318c136e11610123578063318c136e1461028257806336568abe146102b65780634e0df3f6146102d6578063542774b5146102f65780635e1fab0f14610329578063745e6b611461034957600080fd5b8062b9558b1461016a57806312cc05ca1461018c578063223d11c6146101c3578063248a9ca314610211578063253070651461024f5780632f2ff15d14610262575b600080fd5b34801561017657600080fd5b5061018a6101853660046113d1565b61058e565b005b34801561019857600080fd5b506001546101ad90600160a01b900460ff1681565b6040516101ba919061146a565b60405180910390f35b3480156101cf57600080fd5b506101f96101de366004611478565b6002602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016101ba565b34801561021d57600080fd5b5061024161022c366004611493565b60009081526020819052604090206002015490565b6040519081526020016101ba565b61018a61025d36600461150a565b610667565b34801561026e57600080fd5b5061018a61027d3660046115b7565b6107cd565b34801561028e57600080fd5b506101f97f000000000000000000000000000000000000000000000000000000000000000081565b3480156102c257600080fd5b5061018a6102d13660046115b7565b61085b565b3480156102e257600080fd5b506102416102f13660046115b7565b6108d5565b34801561030257600080fd5b5060408051808201825260048152630747761760e41b602082015290516101ba91906115e7565b34801561033557600080fd5b5061018a61034436600461163c565b610900565b34801561035557600080fd5b506101f97f000000000000000000000000000000000000000000000000000000000000000081565b34801561038957600080fd5b506101f9610398366004611659565b610970565b3480156103a957600080fd5b506001546101f9906001600160a01b031681565b3480156103c957600080fd5b5061018a6103d83660046116c0565b61098f565b3480156103e957600080fd5b506103fd6103f83660046115b7565b610bdd565b60405190151581526020016101ba565b34801561041957600080fd5b5061018a61042836600461172c565b610bf5565b34801561043957600080fd5b50610241600081565b34801561044e57600080fd5b5061018a61045d36600461163c565b610c28565b34801561046e57600080fd5b506104a961047d366004611478565b6003602052600090815260409020805460019091015460ff81169061010090046001600160f81b031683565b6040516101ba93929190611752565b3480156104c457600080fd5b506102416104d3366004611493565b610ca4565b3480156104e457600080fd5b5061018a6104f33660046115b7565b610cbb565b34801561050457600080fd5b5061018a61051336600461177f565b610d3c565b34801561052457600080fd5b5061053861053336600461150a565b610dcd565b604080519283526001600160a01b039091166020830152016101ba565b34801561056157600080fd5b5060015461057990600160a81b900463ffffffff1681565b60405163ffffffff90911681526020016101ba565b610599600033610bdd565b6105be5760405162461bcd60e51b81526004016105b5906117ab565b60405180910390fd5b60ff8416600090815260036020526040902083815560019081018054849260ff19909116908360028111156105f5576105f5611432565b021790555060ff84811660008181526003602090815260409182902060010180549094166101006001600160f81b038716021790935580519182529181018590527f152e6e3ae88c467525b0ea2c962955a627860a90bd0c1630c38cec4b27f73e91910160405180910390a150505050565b61066f610e06565b60006106818989898989898989610ec8565b509050803410156106a757604051634dc2c71160e01b81523460048201526024016105b5565b60006106b382346117f8565b905080156107605760008a6001600160a01b03168260405160006040518083038185875af1925050503d8060008114610708576040519150601f19603f3d011682016040523d82523d6000602084013e61070d565b606091505b505090508061075e5760405162461bcd60e51b815260206004820152601e60248201527f4661696c656420746f2073656e642072656d61696e696e67204574686572000060448201526064016105b5565b505b604080516001600160a01b038c16815260ff8b811660208301528a16818301526060810189905260808101849052600060a082015290517fbd231b7fa4103e15e7a238c72f07e8aff310701af121895aa6c793b80245e4339181900360c00190a150505050505050505050565b6000828152602081905260409020600201546107e99033610bdd565b61084d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084016105b5565b61085782826110cf565b5050565b6001600160a01b03811633146108cb5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016105b5565b6108578282611128565b6000828152602081815260408083206001600160a01b03851684526001019091529020545b92915050565b336001600160a01b03821681141561095a5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f742072656e6f756e6365206f6e6573656c6600000000000000000060448201526064016105b5565b6109656000836107cd565b61085760008261085b565b60008281526020819052604081206109889083611181565b9392505050565b61099a600033610bdd565b6109b65760405162461bcd60e51b81526004016105b5906117ab565b828114610a055760405162461bcd60e51b815260206004820152601f60248201527f61646472735b5d2c20616d6f756e74735b5d3a2064696666206c656e6774680060448201526064016105b5565b60005b83811015610bd657610a48858583818110610a2557610a2561180f565b9050602002016020810190610a3a919061163c565b6001600160a01b031661118d565b506000858583818110610a5d57610a5d61180f565b9050602002016020810190610a72919061163c565b6001600160a01b0316848484818110610a8d57610a8d61180f565b9050602002013560405160006040518083038185875af1925050503d8060008114610ad4576040519150601f19603f3d011682016040523d82523d6000602084013e610ad9565b606091505b5050905080610b2a5760405162461bcd60e51b815260206004820152601960248201527f466565206574686572207472616e73666572206661696c65640000000000000060448201526064016105b5565b7faaa40a232aaf133fdd28f3485f6fdd163514cfadbffa981f3610f42398efe34b6000878785818110610b5f57610b5f61180f565b9050602002016020810190610b74919061163c565b868686818110610b8657610b8661180f565b90506020020135604051610bbb939291906001600160a01b039384168152919092166020820152604081019190915260600190565b60405180910390a15080610bce81611825565b915050610a08565b5050505050565b600082815260208190526040812061098890836111ba565b610c00600033610bdd565b610c1c5760405162461bcd60e51b81526004016105b5906117ab565b610c25816111dc565b50565b610c33600033610bdd565b610c4f5760405162461bcd60e51b81526004016105b5906117ab565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f8ff9800f44d2ae37d6eb381b3eeefcf16753096bc01ff09bd022391786a565f7906020015b60405180910390a150565b60008181526020819052604081206108fa90611230565b600082815260208190526040902060020154610cd79033610bdd565b6108cb5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016105b5565b610d47600033610bdd565b610d635760405162461bcd60e51b81526004016105b5906117ab565b60ff821660008181526002602090815260409182902080546001600160a01b0319166001600160a01b0386169081179091558251938452908301527f1f91f6027c99e6eae32d3ff27b27fb46c0898518462ee173fb23edef8d130ced910160405180910390a15050565b600080610de08a8a8a8a8a8a8a8a610ec8565b915091509850989650505050505050565b6000610988836001600160a01b03841661123a565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610e655750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610ec65760405162461bcd60e51b815260206004820152602c60248201527f73656e646572206d75737420626520627269646765206f722066656520726f7560448201526b1d195c8818dbdb9d1c9858dd60a21b60648201526084016105b5565b565b60008080610ed9602082888a611840565b610ee29161186a565b60015460ff8b166000908152600260205260408082205490516341976e0960e01b81526001600160a01b03918216600482015293945090929116906341976e0990602401602060405180830381865afa158015610f43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f679190611888565b905080610f87576040516399b5cb1d60e01b815260040160405180910390fd5b60ff808b166000908152600360209081526040808320815160608101909252805482526001810154939491939092840191166002811115610fca57610fca611432565b6002811115610fdb57610fdb611432565b81526001919091015461010090046001600160f81b03166020909101528051909150600090670de0b6b3a76400009084906110179087906118a1565b61102191906118a1565b61102b91906118c0565b905060018260200151600281111561104557611045611432565b141561106a576040820151611063906001600160f81b0316826118e2565b90506110bb565b60028260200151600281111561108257611082611432565b14156110bb5761271082604001516001600160f81b0316826110a491906118a1565b6110ae91906118c0565b6110b890826118e2565b90505b9d60009d509b505050505050505050505050565b60008281526020819052604090206110e79082610df1565b156108575760405133906001600160a01b0383169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008281526020819052604090206111409082611289565b156108575760405133906001600160a01b0383169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b6000610988838361129e565b60006001600160a01b0382166111b65760405163d92e233d60e01b815260040160405180910390fd5b5090565b6001600160a01b03811660009081526001830160205260408120541515610988565b6001805463ffffffff60a81b1916600160a81b63ffffffff8416908102919091179091556040519081527f3a95f857f3cc96b11753cc5002df9d33987b488bdefafa362f33969bfe32003990602001610c99565b60006108fa825490565b6000818152600183016020526040812054611281575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556108fa565b5060006108fa565b6000610988836001600160a01b0384166112c8565b60008260000182815481106112b5576112b561180f565b9060005260206000200154905092915050565b600081815260018301602052604081205480156113b15760006112ec6001836117f8565b8554909150600090611300906001906117f8565b90508181146113655760008660000182815481106113205761132061180f565b90600052602060002001549050808760000184815481106113435761134361180f565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611376576113766118fa565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506108fa565b60009150506108fa565b803560ff811681146113cc57600080fd5b919050565b600080600080608085870312156113e757600080fd5b6113f0856113bb565b93506020850135925060408501356003811061140b57600080fd5b915060608501356001600160f81b038116811461142757600080fd5b939692955090935050565b634e487b7160e01b600052602160045260246000fd5b6003811061146657634e487b7160e01b600052602160045260246000fd5b9052565b602081016108fa8284611448565b60006020828403121561148a57600080fd5b610988826113bb565b6000602082840312156114a557600080fd5b5035919050565b6001600160a01b0381168114610c2557600080fd5b60008083601f8401126114d357600080fd5b50813567ffffffffffffffff8111156114eb57600080fd5b60208301915083602082850101111561150357600080fd5b9250929050565b60008060008060008060008060c0898b03121561152657600080fd5b8835611531816114ac565b975061153f60208a016113bb565b965061154d60408a016113bb565b955060608901359450608089013567ffffffffffffffff8082111561157157600080fd5b61157d8c838d016114c1565b909650945060a08b013591508082111561159657600080fd5b506115a38b828c016114c1565b999c989b5096995094979396929594505050565b600080604083850312156115ca57600080fd5b8235915060208301356115dc816114ac565b809150509250929050565b600060208083528351808285015260005b81811015611614578581018301518582016040015282016115f8565b81811115611626576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561164e57600080fd5b8135610988816114ac565b6000806040838503121561166c57600080fd5b50508035926020909101359150565b60008083601f84011261168d57600080fd5b50813567ffffffffffffffff8111156116a557600080fd5b6020830191508360208260051b850101111561150357600080fd5b600080600080604085870312156116d657600080fd5b843567ffffffffffffffff808211156116ee57600080fd5b6116fa8883890161167b565b9096509450602087013591508082111561171357600080fd5b506117208782880161167b565b95989497509550505050565b60006020828403121561173e57600080fd5b813563ffffffff8116811461098857600080fd5b838152606081016117666020830185611448565b6001600160f81b03929092166040919091015292915050565b6000806040838503121561179257600080fd5b61179b836113bb565b915060208301356115dc816114ac565b6020808252601e908201527f73656e64657220646f65736e277420686176652061646d696e20726f6c650000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561180a5761180a6117e2565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611839576118396117e2565b5060010190565b6000808585111561185057600080fd5b8386111561185d57600080fd5b5050820193919092039150565b803560208310156108fa57600019602084900360031b1b1692915050565b60006020828403121561189a57600080fd5b5051919050565b60008160001904831182151516156118bb576118bb6117e2565b500290565b6000826118dd57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156118f5576118f56117e2565b500190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220be5b2adc1e97d4e6e287e9d91c7a9921ea31cea6779eb3ed11ce8105137da50d64736f6c634300080b0033"; static readonly abi: ({ inputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; name?: undefined; anonymous?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; anonymous?: undefined; outputs?: undefined; } | { anonymous: boolean; inputs: { indexed: boolean; internalType: string; name: string; type: string; }[]; name: string; type: string; stateMutability?: undefined; outputs?: undefined; } | { inputs: { internalType: string; name: string; type: string; }[]; name: string; outputs: { internalType: string; name: string; type: string; }[]; stateMutability: string; type: string; anonymous?: undefined; })[]; static createInterface(): TwapGenericFeeHandlerInterface; static connect(address: string, signerOrProvider: Signer | Provider): TwapGenericFeeHandler; } export {};