import { ContractFactory, ContractTransactionResponse } from "ethers"; import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; import type { NonPayableOverrides } from "../../common"; import type { UniswapV4DynamicPriceRouter, UniswapV4DynamicPriceRouterInterface } from "../../router/UniswapV4DynamicPriceRouter"; type UniswapV4DynamicPriceRouterConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class UniswapV4DynamicPriceRouter__factory extends ContractFactory { constructor(...args: UniswapV4DynamicPriceRouterConstructorParams); getDeployTransaction(_v4Quoter: AddressLike, overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(_v4Quoter: AddressLike, overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): UniswapV4DynamicPriceRouter__factory; static readonly bytecode = "0x608060405234801561001057600080fd5b50604051610d65380380610d6583398101604081905261002f9161017b565b338061005657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61005f8161006f565b506100698161008b565b506101ab565b600180546001600160a01b03191690556100888161012b565b50565b6001600160a01b0381166100e15760405162461bcd60e51b815260206004820181905260248201527f56342071756f7465722063616e6e6f74206265207a65726f2061646472657373604482015260640161004d565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fa552953fa9de3ba91605c96e58c7053a0253a278b1b62adf9ad096433afa34fb90600090a250565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561018d57600080fd5b81516001600160a01b03811681146101a457600080fd5b9392505050565b610bab806101ba6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063900715e11161008c578063d73792a911610066578063d73792a914610132578063d871e7e8146101ba578063e30c3978146101cd578063f2fde38b146101de57600080fd5b8063900715e11461018157806397d18b8e14610194578063c90659ec146101a757600080fd5b806301ffc9a7146100d45780630e05f676146100fc5780633bf1dffe14610132578063715018a61461014a57806379ba5097146101545780638da5cb5b1461015c575b600080fd5b6100e76100e236600461071a565b6101f1565b60405190151581526020015b60405180910390f35b6101256040518060400160405280600a8152602001691d5b9a5cddd85c0b5d8d60b21b81525081565b6040516100f3919061074b565b61013c620f424081565b6040519081526020016100f3565b610152610243565b005b610152610257565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100f3565b600254610169906001600160a01b031681565b61013c6101a236600461079a565b6102a0565b61013c6101b536600461079a565b6103ac565b6101526101c83660046107ea565b6103b7565b6001546001600160a01b0316610169565b6101526101ec3660046107ea565b6103c8565b60006001600160e01b031982166389e040cb60e01b148061022257506001600160e01b03198216630702fb3b60e11b145b8061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b61024b610439565b6102556000610466565b565b60015433906001600160a01b031681146102945760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b61029d81610466565b50565b6000806102ac8361047f565b905060006103016102c06020860186610807565b60008181106102d1576102d1610858565b90506020028101906102e3919061086e565b6102f49060408101906020016108a6565b62ffffff16620f42400390565b905060015b6103136020860186610807565b90508160ff16101561036e57620f42406103466103336020880188610807565b8460ff168181106102d1576102d1610858565b61035090846108d7565b61035a91906108ee565b91508061036681610910565b915050610306565b5060008161037f620f4240806108d7565b61038991906108ee565b9050620f424061039982856108d7565b6103a391906108ee565b95945050505050565b600061023d8261047f565b6103bf610439565b61029d8161052d565b6103d0610439565b600180546001600160a01b0383166001600160a01b031990911681179091556104016000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000546001600160a01b031633146102555760405163118cdaa760e01b815233600482015260240161028b565b600180546001600160a01b031916905561029d816105cd565b60006104966104916020840184610807565b61061d565b6104ae6104a96060840160408501610946565b610665565b60025460405163ca253dc960e01b81526000916001600160a01b03169063ca253dc9906104df9086906004016109db565b60408051808303816000875af11580156104fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105219190610b51565b50905061023d816106ca565b6001600160a01b0381166105835760405162461bcd60e51b815260206004820181905260248201527f56342071756f7465722063616e6e6f74206265207a65726f2061646472657373604482015260640161028b565b600280546001600160a01b0319166001600160a01b0383169081179091556040517fa552953fa9de3ba91605c96e58c7053a0253a278b1b62adf9ad096433afa34fb90600090a250565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b806106615760405162461bcd60e51b8152602060048201526014602482015273506174682063616e6e6f7420626520656d70747960601b604482015260640161028b565b5050565b6000816001600160801b03161161029d5760405162461bcd60e51b815260206004820152602360248201527f416d6f756e7420696e206d7573742062652067726561746572207468616e207a60448201526265726f60e81b606482015260840161028b565b6000811161029d5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420616d6f756e74206f75742066726f6d20556e697377617000604482015260640161028b565b60006020828403121561072c57600080fd5b81356001600160e01b03198116811461074457600080fd5b9392505050565b60006020808352835180602085015260005b818110156107795785810183015185820160400152820161075d565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156107ac57600080fd5b813567ffffffffffffffff8111156107c357600080fd5b82016060818503121561074457600080fd5b6001600160a01b038116811461029d57600080fd5b6000602082840312156107fc57600080fd5b8135610744816107d5565b6000808335601e1984360301811261081e57600080fd5b83018035915067ffffffffffffffff82111561083957600080fd5b6020019150600581901b360382131561085157600080fd5b9250929050565b634e487b7160e01b600052603260045260246000fd5b60008235609e1983360301811261088457600080fd5b9190910192915050565b803562ffffff811681146108a157600080fd5b919050565b6000602082840312156108b857600080fd5b6107448261088e565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761023d5761023d6108c1565b60008261090b57634e487b7160e01b600052601260045260246000fd5b500490565b600060ff821660ff8103610926576109266108c1565b60010192915050565b80356001600160801b03811681146108a157600080fd5b60006020828403121561095857600080fd5b6107448261092f565b80356108a1816107d5565b6000808335601e1984360301811261098357600080fd5b830160208101925035905067ffffffffffffffff8111156109a357600080fd5b80360382131561085157600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60006020808352608080840185356109f2816107d5565b6001600160a01b0390811686850152868401359036889003601e19018212610a1957600080fd5b90870190813585830167ffffffffffffffff821115610a3757600080fd5b8160051b803603821315610a4a57600080fd5b606060408b81018290529684905260a096918b01870191878c0160003689900360be19015b87821015610b21578e8603609f190183528635818112610a8e57600080fd5b8a018d81018035610a9e816107d5565b8b16885262ffffff610ab183880161088e565b168f890152868201358060020b808214610aca57600080fd5b8988015250610ada828f01610961565b6001600160a01b031687890152610af3828e018261096c565b925090508c8e890152610b098d890183836109b2565b988f019897505050918c019160019190910190610a6f565b5050505050610b3260408c0161092f565b6001600160801b03811660608c015297509a9950505050505050505050565b60008060408385031215610b6457600080fd5b50508051602090910151909290915056fea2646970667358221220b20934bdfc49c5e0598be08312a2c90547bea72f8e283117ab1a12dcd29784c564736f6c63430008180033"; static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_v4Quoter"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { 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 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: "v4Quoter"; readonly type: "address"; }]; readonly name: "V4QuoterSet"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "FEE_DENOMINATOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "ROUTER_NAME"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "SCALER_DENOMINATOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "acceptOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "ICustomUniswapV4Router.Currency"; readonly name: "exactCurrency"; 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 internalType: "struct ICustomUniswapV4Router.PathKey[]"; readonly name: "path"; readonly type: "tuple[]"; }, { readonly internalType: "uint128"; readonly name: "exactAmount"; readonly type: "uint128"; }]; readonly internalType: "struct ICustomUniswapV4Router.QuoteExactParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "getPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "ICustomUniswapV4Router.Currency"; readonly name: "exactCurrency"; 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 internalType: "struct ICustomUniswapV4Router.PathKey[]"; readonly name: "path"; readonly type: "tuple[]"; }, { readonly internalType: "uint128"; readonly name: "exactAmount"; readonly type: "uint128"; }]; readonly internalType: "struct ICustomUniswapV4Router.QuoteExactParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "getPriceFeesRemoved"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; 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: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_v4Quoter"; readonly type: "address"; }]; readonly name: "setV4Quoter"; 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 internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "v4Quoter"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): UniswapV4DynamicPriceRouterInterface; static connect(address: string, runner?: ContractRunner | null): UniswapV4DynamicPriceRouter; } export {};