import { ContractFactory, ContractTransactionResponse } from "ethers"; import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; import type { NonPayableOverrides } from "../../common"; import type { MockUniswapV4Router, MockUniswapV4RouterInterface } from "../../router/MockUniswapV4Router"; type MockUniswapV4RouterConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class MockUniswapV4Router__factory extends ContractFactory { constructor(...args: MockUniswapV4RouterConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): MockUniswapV4Router__factory; static readonly bytecode = "0x608060405234801561001057600080fd5b5061001c60003361004d565b506100477f04824fcb60e7cc526d70b264caa65b62ed44d9c8e5d230e8ff6b0c7373843b8a3361004d565b506100f9565b6000828152602081815260408083206001600160a01b038516845290915281205460ff166100ef576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556100a73390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016100f3565b5060005b92915050565b610d17806101086000396000f3fe608060405234801561001057600080fd5b50600436106100a85760003560e01c806391d148541161007157806391d1485414610141578063a217fddf14610154578063ca253dc91461015c578063cfed246b14610184578063d547741f146101a4578063f00acbaa146101b757600080fd5b8062e4768b146100ad57806301ffc9a7146100c2578063248a9ca3146100ea5780632f2ff15d1461011b57806336568abe1461012e575b600080fd5b6100c06100bb3660046107a9565b6101de565b005b6100d56100d03660046107d5565b6102bd565b60405190151581526020015b60405180910390f35b61010d6100f8366004610806565b60009081526020819052604090206001015490565b6040519081526020016100e1565b6100c061012936600461081f565b6102e8565b6100c061013c36600461081f565b610313565b6100d561014f36600461081f565b61034b565b61010d600081565b61016f61016a36600461098b565b610374565b604080519283526020830191909152016100e1565b61010d610192366004610b1d565b60016020526000908152604090205481565b6100c06101b236600461081f565b6105f3565b61010d7f04824fcb60e7cc526d70b264caa65b62ed44d9c8e5d230e8ff6b0c7373843b8a81565b7f04824fcb60e7cc526d70b264caa65b62ed44d9c8e5d230e8ff6b0c7373843b8a61020881610618565b6001600160a01b0383166102635760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e20616464726573732063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b6001600160a01b03831660008181526001602052604090819020849055517fdc35f70153c3b5a45a62165c0974292da519118810fd0fb7807162df37cb86d9906102b09085815260200190565b60405180910390a2505050565b60006001600160e01b0319821663ca253dc960e01b14806102e257506102e282610625565b92915050565b60008281526020819052604090206001015461030381610618565b61030d838361065a565b50505050565b6001600160a01b038116331461033c5760405163334bd91960e11b815260040160405180910390fd5b61034682826106ec565b505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600080600183602001515110156103cd5760405162461bcd60e51b815260206004820152601f60248201527f50617468206d7573742068617665206174206c65617374203120746f6b656e00604482015260640161025a565b600083604001516001600160801b03161161042a5760405162461bcd60e51b815260206004820181905260248201527f416d6f756e7420696e206d7573742062652067726561746572207468616e2030604482015260640161025a565b5081516020830151805160009291839161044690600190610b50565b8151811061045657610456610b63565b60200260200101516000015190506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c89190610b79565b90506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052e9190610b79565b90508060ff168260ff161115610596576105488183610b9c565b61055390600a610c99565b6001600160a01b03851660009081526001602052604090819020549089015161058591906001600160801b0316610ca8565b61058f9190610cbf565b95506105ea565b6105a08282610b9c565b6105ab90600a610c99565b6001600160a01b0385166000908152600160205260409081902054908901516105dd91906001600160801b0316610ca8565b6105e79190610ca8565b95505b50505050915091565b60008281526020819052604090206001015461060e81610618565b61030d83836106ec565b6106228133610757565b50565b60006001600160e01b03198216637965db0b60e01b14806102e257506301ffc9a760e01b6001600160e01b03198316146102e2565b6000610666838361034b565b6106e4576000838152602081815260408083206001600160a01b03861684529091529020805460ff1916600117905561069c3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102e2565b5060006102e2565b60006106f8838361034b565b156106e4576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102e2565b610761828261034b565b6107905760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161025a565b5050565b6001600160a01b038116811461062257600080fd5b600080604083850312156107bc57600080fd5b82356107c781610794565b946020939093013593505050565b6000602082840312156107e757600080fd5b81356001600160e01b0319811681146107ff57600080fd5b9392505050565b60006020828403121561081857600080fd5b5035919050565b6000806040838503121561083257600080fd5b82359150602083013561084481610794565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156108885761088861084f565b60405290565b60405160a0810167ffffffffffffffff811182821017156108885761088861084f565b604051601f8201601f1916810167ffffffffffffffff811182821017156108da576108da61084f565b604052919050565b8035600281900b81146108f457600080fd5b919050565b80356108f481610794565b600082601f83011261091557600080fd5b813567ffffffffffffffff81111561092f5761092f61084f565b610942601f8201601f19166020016108b1565b81815284602083860101111561095757600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160801b03811681146108f457600080fd5b6000602080838503121561099e57600080fd5b823567ffffffffffffffff808211156109b657600080fd5b90840190606082870312156109ca57600080fd5b6109d2610865565b82356109dd81610794565b815282840135828111156109f057600080fd5b8301601f81018813610a0157600080fd5b803583811115610a1357610a1361084f565b8060051b610a228782016108b1565b918252828101870191878101908b841115610a3c57600080fd5b88850192505b83831015610af957823587811115610a5957600080fd5b850160a0818e03601f19011215610a6f57600080fd5b610a7761088e565b8a820135610a8481610794565b8152604082013562ffffff81168114610a9c57600080fd5b818c0152610aac606083016108e2565b6040820152610abd608083016108f9565b606082015260a082013589811115610ad55760008081fd5b610ae38f8d83860101610904565b6080830152508352509188019190880190610a42565b8589015250610b0e9250505060408401610974565b60408201529695505050505050565b600060208284031215610b2f57600080fd5b81356107ff81610794565b634e487b7160e01b600052601160045260246000fd5b818103818111156102e2576102e2610b3a565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610b8b57600080fd5b815160ff811681146107ff57600080fd5b60ff82811682821603908111156102e2576102e2610b3a565b600181815b80851115610bf0578160001904821115610bd657610bd6610b3a565b80851615610be357918102915b93841c9390800290610bba565b509250929050565b600082610c07575060016102e2565b81610c14575060006102e2565b8160018114610c2a5760028114610c3457610c50565b60019150506102e2565b60ff841115610c4557610c45610b3a565b50506001821b6102e2565b5060208310610133831016604e8410600b8410161715610c73575081810a6102e2565b610c7d8383610bb5565b8060001904821115610c9157610c91610b3a565b029392505050565b60006107ff60ff841683610bf8565b80820281158282048414176102e2576102e2610b3a565b600082610cdc57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220c00eb08285c0965a33ae38aab0a5b2bcedbec6b8c1846890f42645cddb1a291664736f6c63430008180033"; static readonly abi: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "AccessControlBadConfirmation"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "neededRole"; readonly type: "bytes32"; }]; readonly name: "AccessControlUnauthorizedAccount"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }]; readonly name: "MockUniswapV4TokenPriceSet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; }]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "DEFAULT_ADMIN_ROLE"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PRICE_SETTER_ROLE"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }]; readonly name: "getRoleAdmin"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "grantRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "hasRole"; 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: ""; readonly type: "address"; }]; readonly name: "prices"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; 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: "quoteExactInput"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountOut"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "gasEstimate"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "callerConfirmation"; readonly type: "address"; }]; readonly name: "renounceRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "revokeRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_price"; readonly type: "uint256"; }]; readonly name: "setPrice"; 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"; }]; static createInterface(): MockUniswapV4RouterInterface; static connect(address: string, runner?: ContractRunner | null): MockUniswapV4Router; } export {};