import { ContractFactory, ContractTransactionResponse } from "ethers"; import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; import type { NonPayableOverrides } from "../../common"; import type { UniswapV4DynamicERC20, UniswapV4DynamicERC20Interface } from "../../tokens/UniswapV4DynamicERC20"; type UniswapV4DynamicERC20ConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class UniswapV4DynamicERC20__factory extends ContractFactory { constructor(...args: UniswapV4DynamicERC20ConstructorParams); getDeployTransaction(_name: string, _symbol: string, _baseToken: AddressLike, _quoteToken: AddressLike, _dynamicPriceRouter: AddressLike, _baseToQuotePath: AddressLike[], _quoteToBasePath: AddressLike[], _baseToQuoteFees: UniswapV4DynamicERC20.FeeStruct[], _quoteToBaseFees: UniswapV4DynamicERC20.FeeStruct[], overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(_name: string, _symbol: string, _baseToken: AddressLike, _quoteToken: AddressLike, _dynamicPriceRouter: AddressLike, _baseToQuotePath: AddressLike[], _quoteToBasePath: AddressLike[], _baseToQuoteFees: UniswapV4DynamicERC20.FeeStruct[], _quoteToBaseFees: UniswapV4DynamicERC20.FeeStruct[], overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): UniswapV4DynamicERC20__factory; static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162004468380380620044688339810160408190526200003491620011a7565b3389898989896001600160a01b038316620000a05760405162461bcd60e51b815260206004820152602160248201527f4261736520746f6b656e2063616e6e6f74206265207a65726f206164647265736044820152607360f81b60648201526084015b60405180910390fd5b6001600160a01b038216620001035760405162461bcd60e51b815260206004820152602260248201527f51756f746520746f6b656e2063616e6e6f74206265207a65726f206164647265604482015261737360f01b606482015260840162000097565b816001600160a01b0316836001600160a01b031603620001765760405162461bcd60e51b815260206004820152602760248201527f4261736520616e642071756f746520746f6b656e2063616e6e6f74206265207460448201526668652073616d6560c81b606482015260840162000097565b600062000184868262001379565b50600162000193858262001379565b506001600160a01b03808416608052821660a052620001b28162000218565b5050506001600160a01b0383169150620001e5905057604051631e4fbdf760e01b81526000600482015260240162000097565b620001f081620002fe565b50620001fd848362000319565b620002098382620004a3565b5050505050505050506200192c565b6040516301ffc9a760e01b81526389e040cb60e01b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa15801562000264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028a919062001445565b620002f05760405162461bcd60e51b815260206004820152602f60248201527f446f6573206e6f7420696d706c656d656e742049556e6973776170563444796e60448201526e30b6b4b1a83934b1b2a937baba32b960891b606482015260840162000097565b620002fb8162000620565b50565b600680546001600160a01b0319169055620002fb816200066c565b6200032482620006be565b600062000332838362000812565b9050620003426007600062000de1565b620003506002600062000e04565b60005b81518110156200042857600782828151811062000374576200037462001470565b602090810291909101810151825460018082018555600094855293839020825160039092020180549383015160408401516001600160a01b039384166001600160b81b031990961695909517600160a01b62ffffff928316021762ffffff60b81b1916600160b81b9190951602939093178355606082015193830180546001600160a01b0319169490911693909317909255608082015160028201906200041c908262001379565b50505060010162000353565b5082516200043e90600290602086019062000e24565b5060a0516001600160a01b03166080516001600160a01b0316306001600160a01b03167fa9cc5b1eb7c5c750899614031516fa8679dc637c4cd14cd29132cd44c367d0cd60026007604051620004969291906200150b565b60405180910390a4505050565b620004ae8262000c83565b6000620004bc838362000812565b9050620004cc6008600062000de1565b620004da6003600062000e04565b60005b8151811015620005b2576008828281518110620004fe57620004fe62001470565b602090810291909101810151825460018082018555600094855293839020825160039092020180549383015160408401516001600160a01b039384166001600160b81b031990961695909517600160a01b62ffffff928316021762ffffff60b81b1916600160b81b9190951602939093178355606082015193830180546001600160a01b031916949091169390931790925560808201516002820190620005a6908262001379565b505050600101620004dd565b508251620005c890600390602086019062000e24565b5060a0516001600160a01b03166080516001600160a01b0316306001600160a01b03167f1a5beb35747ca7c2b8fb702fb2b70573a3f6278ffde606ad1b28f1ac15f4cbfe60036008604051620004969291906200150b565b600480546001600160a01b0319166001600160a01b03831690811790915560405130907fd208b3f2137ba34e4b2ea29e6e0558a1395796409f6b8328f2cbd5ff9159bc1590600090a350565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001815111620007005760405162461bcd60e51b8152602060048201819052602482015260008051602062004448833981519152604482015260640162000097565b6080516001600160a01b03168160008151811062000722576200072262001470565b60200260200101516001600160a01b031614620007825760405162461bcd60e51b815260206004820181905260248201527f4261736520746f6b656e206d75737420626520666972737420696e2070617468604482015260640162000097565b60a0516001600160a01b031681600183516200079f91906200161b565b81518110620007b257620007b262001470565b60200260200101516001600160a01b031614620002fb5760405162461bcd60e51b815260206004820181905260248201527f51756f746520746f6b656e206d757374206265206c61737420696e2070617468604482015260640162000097565b6060600183516200082491906200161b565b825114620008805760405162461bcd60e51b815260206004820152602260248201527f46656573206d7573742062652070726f766964656420666f7220616c6c20686f604482015261707360f01b606482015260840162000097565b81516001600160401b038111156200089c576200089c62000f28565b604051908082528060200260200182016040528015620008f957816020015b6040805160a0810182526000808252602080830182905292820181905260608083019190915260808201528252600019909201910181620008bb5790505b50600480546040805163d73792a960e01b815290519394506001600160a01b0390911692600092849263d73792a992818301926020928290030181865afa15801562000949573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200096f919062001637565b905060005b845181101562000b0c578185828151811062000994576200099462001470565b60200260200101516000015162ffffff16101580620009d85750848181518110620009c357620009c362001470565b60200260200101516000015162ffffff166000145b1562000a2857848181518110620009f357620009f362001470565b602090810291909101015151604051632801709560e11b815262ffffff90911660048201526024810183905260440162000097565b6040518060a001604052808783600162000a43919062001651565b8151811062000a565762000a5662001470565b60200260200101516001600160a01b0316815260200186838151811062000a815762000a8162001470565b60200260200101516000015162ffffff16815260200186838151811062000aac5762000aac62001470565b60200260200101516020015160020b815260200160006001600160a01b031681526020016040518060200160405280600081525081525084828151811062000af85762000af862001470565b602090810291909101015260010162000974565b50600060405180606001604052808760008151811062000b305762000b3062001470565b60200260200101516001600160a01b031681526020018581526020018760008151811062000b625762000b6262001470565b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000ba8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bce919062001667565b62000bdb90600a62001789565b6001600160801b03169052604051634be8c5c760e11b81529091506001600160a01b038416906397d18b8e9062000c179084906004016200179a565b6020604051808303816000875af192505050801562000c55575060408051601f3d908101601f1916820190925262000c529181019062001637565b60015b62000c795785856040516334f8967d60e21b81526004016200009792919062001891565b5050505092915050565b600181511162000cc55760405162461bcd60e51b8152602060048201819052602482015260008051602062004448833981519152604482015260640162000097565b60a0516001600160a01b03168160008151811062000ce75762000ce762001470565b60200260200101516001600160a01b03161462000d515760405162461bcd60e51b815260206004820152602160248201527f51756f746520746f6b656e206d75737420626520666972737420696e207061746044820152600d60fb1b606482015260840162000097565b6080516001600160a01b0316816001835162000d6e91906200161b565b8151811062000d815762000d8162001470565b60200260200101516001600160a01b031614620002fb5760405162461bcd60e51b815260206004820152601f60248201527f4261736520746f6b656e206d757374206265206c61737420696e207061746800604482015260640162000097565b5080546000825560030290600052602060002090810190620002fb919062000e8e565b5080546000825590600052602060002090810190620002fb919062000ed2565b82805482825590600052602060002090810192821562000e7c579160200282015b8281111562000e7c57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000e45565b5062000e8a92915062000ed2565b5090565b8082111562000e8a5780546001600160d01b03191681556001810180546001600160a01b0319169055600062000ec8600283018262000ee9565b5060030162000e8e565b5b8082111562000e8a576000815560010162000ed3565b50805462000ef790620012e8565b6000825580601f1062000f08575050565b601f016020900490600052602060002090810190620002fb919062000ed2565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562000f635762000f6362000f28565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000f945762000f9462000f28565b604052919050565b60005b8381101562000fb957818101518382015260200162000f9f565b50506000910152565b600082601f83011262000fd457600080fd5b81516001600160401b0381111562000ff05762000ff062000f28565b62001005601f8201601f191660200162000f69565b8181528460208386010111156200101b57600080fd5b6200102e82602083016020870162000f9c565b949350505050565b80516001600160a01b03811681146200104e57600080fd5b919050565b60006001600160401b038211156200106f576200106f62000f28565b5060051b60200190565b600082601f8301126200108b57600080fd5b81516020620010a46200109e8362001053565b62000f69565b8083825260208201915060208460051b870101935086841115620010c757600080fd5b602086015b84811015620010ee57620010e08162001036565b8352918301918301620010cc565b509695505050505050565b600082601f8301126200110b57600080fd5b815160206200111e6200109e8362001053565b82815260069290921b840181019181810190868411156200113e57600080fd5b8286015b84811015620010ee57604081890312156200115d5760008081fd5b6200116762000f3e565b815162ffffff811681146200117c5760008081fd5b815281850151600281900b8114620011945760008081fd5b8186015283529183019160400162001142565b60008060008060008060008060006101208a8c031215620011c757600080fd5b89516001600160401b0380821115620011df57600080fd5b620011ed8d838e0162000fc2565b9a5060208c01519150808211156200120457600080fd5b620012128d838e0162000fc2565b99506200122260408d0162001036565b98506200123260608d0162001036565b97506200124260808d0162001036565b965060a08c01519150808211156200125957600080fd5b620012678d838e0162001079565b955060c08c01519150808211156200127e57600080fd5b6200128c8d838e0162001079565b945060e08c0151915080821115620012a357600080fd5b620012b18d838e01620010f9565b93506101008c0151915080821115620012c957600080fd5b50620012d88c828d01620010f9565b9150509295985092959850929598565b600181811c90821680620012fd57607f821691505b6020821081036200131e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562001374576000816000526020600020601f850160051c810160208610156200134f5750805b601f850160051c820191505b8181101562001370578281556001016200135b565b5050505b505050565b81516001600160401b0381111562001395576200139562000f28565b620013ad81620013a68454620012e8565b8462001324565b602080601f831160018114620013e55760008415620013cc5750858301515b600019600386901b1c1916600185901b17855562001370565b600085815260208120601f198616915b828110156200141657888601518255948401946001909101908401620013f5565b5085821015620014355787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200145857600080fd5b815180151581146200146957600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b600081546200149581620012e8565b808552602060018381168015620014b55760018114620014d05762001500565b60ff1985168884015283151560051b88018301955062001500565b866000528260002060005b85811015620014f85781548a8201860152908301908401620014db565b890184019650505b505050505092915050565b60006040808301604084528086548083526060925060608601915060008881526020808220825b84811015620015595781546001600160a01b03168652948201946001918201910162001532565b50508784038189015288548085528983528183208286019450600582901b86018301905b82851015620015f557601f1987830301865260a0815460018060a01b03808216855262ffffff82841c168786015260028260b81c810b8d870152816001860154168c870152836080870152620015d884870182870162001486565b95505050505060038101905083860195506001850194506200157d565b509b9a5050505050505050505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111562001631576200163162001605565b92915050565b6000602082840312156200164a57600080fd5b5051919050565b8082018082111562001631576200163162001605565b6000602082840312156200167a57600080fd5b815160ff811681146200146957600080fd5b600181815b80851115620016cd578160001904821115620016b157620016b162001605565b80851615620016bf57918102915b93841c939080029062001691565b509250929050565b600082620016e65750600162001631565b81620016f55750600062001631565b81600181146200170e5760028114620017195762001739565b600191505062001631565b60ff8411156200172d576200172d62001605565b50506001821b62001631565b5060208310610133831016604e8410600b84101617156200175e575081810a62001631565b6200176a83836200168c565b806000190482111562001781576200178162001605565b029392505050565b60006200146960ff841683620016d5565b600060208083526080830160018060a01b03808651168386015282860151606060406060604089015284835180875260a0965060a08a01915060a08160051b8b0101888601955060005b828110156200186b57609f198c8303018452865188815116835262ffffff8b820151168b8401528581015160020b8684015288878201511687840152608081015190508960808401528051808b85015260c062001847828287018f860162000f9c565b988c0198958c0195601f91909101601f1916939093019092019150600101620017e4565b5060408c01516001600160801b03811660608d015298509b9a5050505050505050505050565b60408082528351828201819052600091906020906060850190828801855b82811015620018d65781516001600160a01b031684529284019290840190600101620018af565b5050508481038286015285518082528683019183019060005b818110156200191e578351805162ffffff16845285015160020b858401529284019291850191600101620018ef565b509098975050505050505050565b60805160a051612a71620019d76000396000818161027f015281816107790152818161092401528181610fc201528181611175015281816114fd0152818161174c0152611c7b0152600081816103f3015281816106d50152818161088f015281816109d801528181610ac801528181610b6201528181610d7301528181610de501528181610fec0152818161119f0152818161122d015281816116b10152611d200152612a716000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063715018a61161010f578063b67fa939116100a2578063dd62ed3e11610071578063dd62ed3e1461041d578063e30c397814610430578063e71dc5e514610441578063f2fde38b1461045457600080fd5b8063b67fa939146103d3578063be41d5bc146103db578063c55dae63146103ee578063cb27a4341461041557600080fd5b80638da5cb5b116100de5780638da5cb5b1461039957806395d89b41146103aa578063a9059cbb146103b2578063aebab157146103c057600080fd5b8063715018a61461036357806379ba50971461036b5780637a19c83d146103735780638caecde51461038657600080fd5b806323b872dd116101875780634971c79a116101565780634971c79a146103015780636702fcac146103095780636bb26dba1461033b57806370a082311461035057600080fd5b806323b872dd146102b9578063313ce567146102cc57806333832480146102e657806339ff2da2146102f957600080fd5b80630b9f1340116101c35780630b9f13401461023a5780630d1a4d4c1461024f57806318160ddd14610264578063217a4b701461027a57600080fd5b806301ffc9a7146101ea57806306fdde0314610212578063095ea7b314610227575b600080fd5b6101fd6101f8366004611f96565b610467565b60405190151581526020015b60405180910390f35b61021a6104d4565b6040516102099190612010565b6101fd61023536600461203f565b610566565b610242610581565b6040516102099190612069565b61026261025d36600461225c565b6106bb565b005b61026c6106d1565b604051908152602001610209565b6102a17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610209565b6101fd6102c736600461231c565b61075a565b6102d4610775565b60405160ff9091168152602001610209565b6102626102f436600461225c565b6107f9565b61021a61080b565b61026c610888565b61031c610317366004612358565b61091f565b604080516001600160a01b039093168352602083019190915201610209565b610343610955565b60405161020991906123b6565b61026c61035e3660046123c9565b6109b6565b610262610a45565b610262610a59565b61026c6103813660046123c9565b610aa2565b61026c6103943660046123e4565b610b34565b6005546001600160a01b03166102a1565b61021a610b98565b6101fd6102c736600461203f565b6102626103ce3660046123c9565b610ba7565b610242610bb8565b6004546102a1906001600160a01b031681565b6102a17f000000000000000000000000000000000000000000000000000000000000000081565b610343610ce9565b61026c61042b3660046123e4565b610d49565b6006546001600160a01b03166102a1565b61031c61044f366004612358565b610de0565b6102626104623660046123c9565b610e0d565b60006001600160e01b03198216631f9aa5f160e31b148061049857506001600160e01b031982166336372b0760e01b145b806104b357506001600160e01b0319821663a219a02560e01b145b806104ce57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546104e390612417565b80601f016020809104026020016040519081016040528092919081815260200182805461050f90612417565b801561055c5780601f106105315761010080835404028352916020019161055c565b820191906000526020600020905b81548152906001019060200180831161053f57829003601f168201915b5050505050905090565b6000604051632028747160e01b815260040160405180910390fd5b60606007805480602002602001604051908101604052809291908181526020016000905b828210156106b25760008481526020908190206040805160a0810182526003860290920180546001600160a01b03808216855262ffffff600160a01b83041695850195909552600160b81b9004600290810b92840192909252600181015490931660608301528201805491929160808401919061062190612417565b80601f016020809104026020016040519081016040528092919081815260200182805461064d90612417565b801561069a5780601f1061066f5761010080835404028352916020019161069a565b820191906000526020600020905b81548152906001019060200180831161067d57829003601f168201915b505050505081525050815260200190600101906105a5565b50505050905090565b6106c3610e7e565b6106cd8282610eab565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190612451565b905090565b6000604051638cd22d1960e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610755919061246a565b610801610e7e565b6106cd828261105e565b6060600460009054906101000a90046001600160a01b03166001600160a01b0316630e05f6766040518163ffffffff1660e01b8152600401600060405180830381865afa158015610860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610755919081019061248d565b60006107557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f919061246a565b61091a90600a61261b565b611204565b6000807f000000000000000000000000000000000000000000000000000000000000000061094c84611204565b91509150915091565b6060600380548060200260200160405190810160405280929190818152602001828054801561055c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161098f575050505050905090565b6040516370a0823160e01b81526001600160a01b0382811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ce9190612451565b610a4d610e7e565b610a5760006113df565b565b60065433906001600160a01b03168114610a965760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b610a9f816113df565b50565b6040516370a0823160e01b81526001600160a01b0382811660048301526000916104ce917f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa158015610b10573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091a9190612451565b604051636eb1769f60e11b81526001600160a01b0383811660048301528281166024830152600091610b91917f0000000000000000000000000000000000000000000000000000000000000000169063dd62ed3e90604401610af3565b9392505050565b6060600180546104e390612417565b610baf610e7e565b610a9f816113f8565b60606008805480602002602001604051908101604052809291908181526020016000905b828210156106b25760008481526020908190206040805160a0810182526003860290920180546001600160a01b03808216855262ffffff600160a01b83041695850195909552600160b81b9004600290810b928401929092526001810154909316606083015282018054919291608084019190610c5890612417565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8490612417565b8015610cd15780601f10610ca657610100808354040283529160200191610cd1565b820191906000526020600020905b815481529060010190602001808311610cb457829003601f168201915b50505050508152505081526020019060010190610bdc565b6060600280548060200260200160405190810160405280929190818152602001828054801561055c576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161098f575050505050905090565b604051636eb1769f60e11b81526001600160a01b03838116600483015282811660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063dd62ed3e90604401602060405180830381865afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b919190612451565b6000807f000000000000000000000000000000000000000000000000000000000000000061094c846114d4565b610e15610e7e565b600680546001600160a01b0383166001600160a01b03199091168117909155610e466005546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6005546001600160a01b03163314610a575760405163118cdaa760e01b8152336004820152602401610a8d565b610eb48261165e565b6000610ec083836117f1565b9050610ece60076000611e63565b610eda60026000611e84565b60005b8151811015610fab576007828281518110610efa57610efa61262a565b602090810291909101810151825460018082018555600094855293839020825160039092020180549383015160408401516001600160a01b039384166001600160b81b031990961695909517600160a01b62ffffff928316021762ffffff60b81b1916600160b81b9190951602939093178355606082015193830180546001600160a01b031916949091169390931790925560808201516002820190610fa09082612691565b505050600101610edd565b508251610fbf906002906020860190611ea2565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316306001600160a01b03167fa9cc5b1eb7c5c750899614031516fa8679dc637c4cd14cd29132cd44c367d0cd600260076040516110519291906127ce565b60405180910390a4505050565b61106782611c28565b600061107383836117f1565b905061108160086000611e63565b61108d60036000611e84565b60005b815181101561115e5760088282815181106110ad576110ad61262a565b602090810291909101810151825460018082018555600094855293839020825160039092020180549383015160408401516001600160a01b039384166001600160b81b031990961695909517600160a01b62ffffff928316021762ffffff60b81b1916600160b81b9190951602939093178355606082015193830180546001600160a01b0319169490911693909317909255608082015160028201906111539082612691565b505050600101611090565b508251611172906003906020860190611ea2565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316306001600160a01b03167f1a5beb35747ca7c2b8fb702fb2b70573a3f6278ffde606ad1b28f1ac15f4cbfe600360086040516110519291906127ce565b60008160000361121657506000919050565b600454604080516060810182526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081168252600780548451602080830282018101909652818152929095169485946397d18b8e9493818501939092909160009084015b8282101561138e5760008481526020908190206040805160a0810182526003860290920180546001600160a01b03808216855262ffffff600160a01b83041695850195909552600160b81b9004600290810b9284019290925260018101549093166060830152820180549192916080840191906112fd90612417565b80601f016020809104026020016040519081016040528092919081815260200182805461132990612417565b80156113765780601f1061134b57610100808354040283529160200191611376565b820191906000526020600020905b81548152906001019060200180831161135957829003601f168201915b50505050508152505081526020019060010190611281565b505050508152602001866001600160801b03168152506040518263ffffffff1660e01b81526004016113c091906128c2565b6020604051808303816000875af1158015610dbc573d6000803e3d6000fd5b600680546001600160a01b0319169055610a9f81611dc5565b6040516301ffc9a760e01b81526389e040cb60e01b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611443573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114679190612997565b6114cb5760405162461bcd60e51b815260206004820152602f60248201527f446f6573206e6f7420696d706c656d656e742049556e6973776170563444796e60448201526e30b6b4b1a83934b1b2a937baba32b960891b6064820152608401610a8d565b610a9f81611e17565b6000816000036114e657506000919050565b600454604080516060810182526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081168252600880548451602080830282018101909652818152929095169485946397d18b8e9493818501939092909160009084015b8282101561138e5760008481526020908190206040805160a0810182526003860290920180546001600160a01b03808216855262ffffff600160a01b83041695850195909552600160b81b9004600290810b9284019290925260018101549093166060830152820180549192916080840191906115cd90612417565b80601f01602080910402602001604051908101604052809291908181526020018280546115f990612417565b80156116465780601f1061161b57610100808354040283529160200191611646565b820191906000526020600020905b81548152906001019060200180831161162957829003601f168201915b50505050508152505081526020019060010190611551565b60018151116116af5760405162461bcd60e51b815260206004820181905260248201527f50617468206d7573742068617665206174206c65617374203220746f6b656e736044820152606401610a8d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816000815181106116ec576116ec61262a565b60200260200101516001600160a01b03161461174a5760405162461bcd60e51b815260206004820181905260248201527f4261736520746f6b656e206d75737420626520666972737420696e20706174686044820152606401610a8d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001835161178391906129b9565b815181106117935761179361262a565b60200260200101516001600160a01b031614610a9f5760405162461bcd60e51b815260206004820181905260248201527f51756f746520746f6b656e206d757374206265206c61737420696e20706174686044820152606401610a8d565b60606001835161180191906129b9565b82511461185b5760405162461bcd60e51b815260206004820152602260248201527f46656573206d7573742062652070726f766964656420666f7220616c6c20686f604482015261707360f01b6064820152608401610a8d565b815167ffffffffffffffff81111561187557611875612116565b6040519080825280602002602001820160405280156118d057816020015b6040805160a08101825260008082526020808301829052928201819052606080830191909152608082015282526000199092019101816118935790505b50600480546040805163d73792a960e01b815290519394506001600160a01b0390911692600092849263d73792a992818301926020928290030181865afa15801561191f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119439190612451565b905060005b8451811015611ac457818582815181106119645761196461262a565b60200260200101516000015162ffffff161015806119a4575084818151811061198f5761198f61262a565b60200260200101516000015162ffffff166000145b156119ef578481815181106119bb576119bb61262a565b602090810291909101015151604051632801709560e11b815262ffffff909116600482015260248101839052604401610a8d565b6040518060a0016040528087836001611a0891906129cc565b81518110611a1857611a1861262a565b60200260200101516001600160a01b03168152602001868381518110611a4057611a4061262a565b60200260200101516000015162ffffff168152602001868381518110611a6857611a6861262a565b60200260200101516020015160020b815260200160006001600160a01b0316815260200160405180602001604052806000815250815250848281518110611ab157611ab161262a565b6020908102919091010152600101611948565b506000604051806060016040528087600081518110611ae557611ae561262a565b60200260200101516001600160a01b0316815260200185815260200187600081518110611b1457611b1461262a565b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7d919061246a565b611b8890600a61261b565b6001600160801b03169052604051634be8c5c760e11b81529091506001600160a01b038416906397d18b8e90611bc29084906004016128c2565b6020604051808303816000875af1925050508015611bfd575060408051601f3d908101601f19168201909252611bfa91810190612451565b60015b611c1e5785856040516334f8967d60e21b8152600401610a8d9291906129df565b5050505092915050565b6001815111611c795760405162461bcd60e51b815260206004820181905260248201527f50617468206d7573742068617665206174206c65617374203220746f6b656e736044820152606401610a8d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681600081518110611cb657611cb661262a565b60200260200101516001600160a01b031614611d1e5760405162461bcd60e51b815260206004820152602160248201527f51756f746520746f6b656e206d75737420626520666972737420696e207061746044820152600d60fb1b6064820152608401610a8d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168160018351611d5791906129b9565b81518110611d6757611d6761262a565b60200260200101516001600160a01b031614610a9f5760405162461bcd60e51b815260206004820152601f60248201527f4261736520746f6b656e206d757374206265206c61737420696e2070617468006044820152606401610a8d565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600480546001600160a01b0319166001600160a01b03831690811790915560405130907fd208b3f2137ba34e4b2ea29e6e0558a1395796409f6b8328f2cbd5ff9159bc1590600090a350565b5080546000825560030290600052602060002090810190610a9f9190611f07565b5080546000825590600052602060002090810190610a9f9190611f47565b828054828255906000526020600020908101928215611ef7579160200282015b82811115611ef757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611ec2565b50611f03929150611f47565b5090565b80821115611f035780546001600160d01b03191681556001810180546001600160a01b03191690556000611f3e6002830182611f5c565b50600301611f07565b5b80821115611f035760008155600101611f48565b508054611f6890612417565b6000825580601f10611f78575050565b601f016020900490600052602060002090810190610a9f9190611f47565b600060208284031215611fa857600080fd5b81356001600160e01b031981168114610b9157600080fd5b60005b83811015611fdb578181015183820152602001611fc3565b50506000910152565b60008151808452611ffc816020860160208601611fc0565b601f01601f19169290920160200192915050565b602081526000610b916020830184611fe4565b80356001600160a01b038116811461203a57600080fd5b919050565b6000806040838503121561205257600080fd5b61205b83612023565b946020939093013593505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561210857888303603f19018552815180516001600160a01b0390811685528882015162ffffff16898601528782015160020b888601526060808301519091169085015260809081015160a0918501829052906120f481860183611fe4565b968901969450505090860190600101612092565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561214f5761214f612116565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561217e5761217e612116565b604052919050565b600067ffffffffffffffff8211156121a0576121a0612116565b5060051b60200190565b600082601f8301126121bb57600080fd5b813560206121d06121cb83612186565b612155565b82815260069290921b840181019181810190868411156121ef57600080fd5b8286015b84811015612251576040818903121561220c5760008081fd5b61221461212c565b813562ffffff811681146122285760008081fd5b815281850135600281900b811461223f5760008081fd5b818601528352918301916040016121f3565b509695505050505050565b6000806040838503121561226f57600080fd5b823567ffffffffffffffff8082111561228757600080fd5b818501915085601f83011261229b57600080fd5b813560206122ab6121cb83612186565b82815260059290921b840181019181810190898411156122ca57600080fd5b948201945b838610156122ef576122e086612023565b825294820194908201906122cf565b9650508601359250508082111561230557600080fd5b50612312858286016121aa565b9150509250929050565b60008060006060848603121561233157600080fd5b61233a84612023565b925061234860208501612023565b9150604084013590509250925092565b60006020828403121561236a57600080fd5b5035919050565b60008151808452602080850194506020840160005b838110156123ab5781516001600160a01b031687529582019590820190600101612386565b509495945050505050565b602081526000610b916020830184612371565b6000602082840312156123db57600080fd5b610b9182612023565b600080604083850312156123f757600080fd5b61240083612023565b915061240e60208401612023565b90509250929050565b600181811c9082168061242b57607f821691505b60208210810361244b57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561246357600080fd5b5051919050565b60006020828403121561247c57600080fd5b815160ff81168114610b9157600080fd5b60006020828403121561249f57600080fd5b815167ffffffffffffffff808211156124b757600080fd5b818401915084601f8301126124cb57600080fd5b8151818111156124dd576124dd612116565b6124f0601f8201601f1916602001612155565b915080825285602082850101111561250757600080fd5b612518816020840160208601611fc0565b50949350505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561257257816000190482111561255857612558612521565b8085161561256557918102915b93841c939080029061253c565b509250929050565b600082612589575060016104ce565b81612596575060006104ce565b81600181146125ac57600281146125b6576125d2565b60019150506104ce565b60ff8411156125c7576125c7612521565b50506001821b6104ce565b5060208310610133831016604e8410600b84101617156125f5575081810a6104ce565b6125ff8383612537565b806000190482111561261357612613612521565b029392505050565b6000610b9160ff84168361257a565b634e487b7160e01b600052603260045260246000fd5b601f82111561268c576000816000526020600020601f850160051c810160208610156126695750805b601f850160051c820191505b8181101561268857828155600101612675565b5050505b505050565b815167ffffffffffffffff8111156126ab576126ab612116565b6126bf816126b98454612417565b84612640565b602080601f8311600181146126f457600084156126dc5750858301515b600019600386901b1c1916600185901b178555612688565b600085815260208120601f198616915b8281101561272357888601518255948401946001909101908401612704565b50858210156127415787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000815461275e81612417565b80855260206001838116801561277b5760018114612795576127c3565b60ff1985168884015283151560051b8801830195506127c3565b866000528260002060005b858110156127bb5781548a82018601529083019084016127a0565b890184019650505b505050505092915050565b60006040808301604084528086548083526060925060608601915060008881526020808220825b8481101561281a5781546001600160a01b0316865294820194600191820191016127f5565b50508784038189015288548085528983528183208286019450600582901b86018301905b828510156128b257601f1987830301865260a0815460018060a01b03808216855262ffffff82841c168786015260028260b81c810b8d870152816001860154168c870152836080870152612896848701828701612751565b955050505050600381019050838601955060018501945061283e565b509b9a5050505050505050505050565b60006020808352608080840160018060a01b0380875116848701528387015160606040606060408a015284835180875260a0965060a08b01915060a08160051b8c0101898601955060005b82811015612970578c8203609f1901845286518051891683528b81015162ffffff168c8401528581015160020b86840152868101518916878401528a01518a83018a905261295d8a840182611fe4565b978c0197948c019492505060010161290d565b5060408d01516001600160801b03811660608e015299509c9b505050505050505050505050565b6000602082840312156129a957600080fd5b81518015158114610b9157600080fd5b818103818111156104ce576104ce612521565b808201808211156104ce576104ce612521565b600060408083526129f36040840186612371565b83810360208581019190915285518083528682019282019060005b81811015612108578451805162ffffff16845284015160020b848401529383019391850191600101612a0e56fea26469706673582212206904cfd6a0e763f5e05219733b482a05408d0ab384b9c5a78b806483da1eb57064736f6c6343000818003350617468206d7573742068617665206174206c65617374203220746f6b656e73"; static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "_name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "_symbol"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "_baseToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_quoteToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_dynamicPriceRouter"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_baseToQuotePath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "_quoteToBasePath"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }]; readonly internalType: "struct UniswapV4DynamicERC20.Fee[]"; readonly name: "_baseToQuoteFees"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }]; readonly internalType: "struct UniswapV4DynamicERC20.Fee[]"; readonly name: "_quoteToBaseFees"; readonly type: "tuple[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "ApproveNotAllowed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint24"; readonly name: "_fee"; readonly type: "uint24"; }, { readonly internalType: "uint256"; readonly name: "_maxFee"; readonly type: "uint256"; }]; readonly name: "InvalidFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_path"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }]; readonly internalType: "struct UniswapV4DynamicERC20.Fee[]"; readonly name: "_fees"; readonly type: "tuple[]"; }]; readonly name: "InvalidPath"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TransferNotAllowed"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "dynamicERC20"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "dynamicPriceRouter"; readonly type: "address"; }]; readonly name: "DynamicPriceRouterSet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferStarted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "dynamicERC20"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address[]"; readonly name: "path"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "ICustomUniswapV4Router.Currency"; readonly name: "intermediateCurrency"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }, { readonly internalType: "contract IHooks"; readonly name: "hooks"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "hookData"; readonly type: "bytes"; }]; readonly indexed: false; readonly internalType: "struct ICustomUniswapV4Router.PathKey[]"; readonly name: "pathKeys"; readonly type: "tuple[]"; }]; readonly name: "UniswapV4BaseToQuotePathSet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "dynamicERC20"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address[]"; readonly name: "path"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "ICustomUniswapV4Router.Currency"; readonly name: "intermediateCurrency"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }, { readonly internalType: "contract IHooks"; readonly name: "hooks"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "hookData"; readonly type: "bytes"; }]; readonly indexed: false; readonly internalType: "struct ICustomUniswapV4Router.PathKey[]"; readonly name: "pathKeys"; readonly type: "tuple[]"; }]; readonly name: "UniswapV4QuoteToBasePathSet"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "acceptOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }]; readonly name: "allowanceQuote"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "balanceOfQuote"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "baseToken"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dynamicPriceRouter"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getBaseToQuotePath"; readonly outputs: readonly [{ readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getBaseToQuotePathKeys"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "ICustomUniswapV4Router.Currency"; readonly name: "intermediateCurrency"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }, { readonly internalType: "contract IHooks"; readonly name: "hooks"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "hookData"; readonly type: "bytes"; }]; readonly internalType: "struct ICustomUniswapV4Router.PathKey[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }]; readonly name: "getBaseTokenAmount"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getBaseTokenPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getQuoteToBasePath"; readonly outputs: readonly [{ readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getQuoteToBasePathKeys"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "ICustomUniswapV4Router.Currency"; readonly name: "intermediateCurrency"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }, { readonly internalType: "contract IHooks"; readonly name: "hooks"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "hookData"; readonly type: "bytes"; }]; readonly internalType: "struct ICustomUniswapV4Router.PathKey[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }]; readonly name: "getQuoteTokenAmount"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pendingOwner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "quoteToken"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "routerName"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_path"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }]; readonly internalType: "struct UniswapV4DynamicERC20.Fee[]"; readonly name: "_fees"; readonly type: "tuple[]"; }]; readonly name: "setBaseToQuotePath"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_dynamicPriceRouter"; readonly type: "address"; }]; readonly name: "setDynamicPriceRouter"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_path"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }]; readonly internalType: "struct UniswapV4DynamicERC20.Fee[]"; readonly name: "_fees"; readonly type: "tuple[]"; }]; readonly name: "setQuoteToBasePath"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; static createInterface(): UniswapV4DynamicERC20Interface; static connect(address: string, runner?: ContractRunner | null): UniswapV4DynamicERC20; } export {};