import { ContractFactory, ContractTransactionResponse } from "ethers"; import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; import type { NonPayableOverrides } from "../../common"; import type { MockUniswapV2Router, MockUniswapV2RouterInterface } from "../../router/MockUniswapV2Router"; type MockUniswapV2RouterConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class MockUniswapV2Router__factory extends ContractFactory { constructor(...args: MockUniswapV2RouterConstructorParams); getDeployTransaction(overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): MockUniswapV2Router__factory; static readonly bytecode = "0x608060405234801561001057600080fd5b5061001c60003361004d565b506100477f04824fcb60e7cc526d70b264caa65b62ed44d9c8e5d230e8ff6b0c7373843b8a3361004d565b506100f9565b6000828152602081815260408083206001600160a01b038516845290915281205460ff166100ef576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556100a73390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016100f3565b5060005b92915050565b610eac806101086000396000f3fe608060405234801561001057600080fd5b50600436106100b35760003560e01c806391d148541161007157806391d148541461015f578063a217fddf14610172578063cfed246b1461017a578063d06ca61f1461019a578063d547741f146101ba578063f00acbaa146101cd57600080fd5b8062e4768b146100b857806301ffc9a7146100cd578063248a9ca3146100f55780632f2ff15d1461012657806331a1b8f61461013957806336568abe1461014c575b600080fd5b6100cb6100c6366004610ab6565b6101f4565b005b6100e06100db366004610ae0565b6102d3565b60405190151581526020015b60405180910390f35b610118610103366004610b11565b60009081526020819052604090206001015490565b6040519081526020016100ec565b6100cb610134366004610b2a565b6102fe565b6100cb610147366004610ba2565b610329565b6100cb61015a366004610b2a565b610571565b6100e061016d366004610b2a565b6105a9565b610118600081565b610118610188366004610c0e565b60016020526000908152604090205481565b6101ad6101a8366004610c29565b6105d2565b6040516100ec9190610c75565b6100cb6101c8366004610b2a565b6108f9565b6101187f04824fcb60e7cc526d70b264caa65b62ed44d9c8e5d230e8ff6b0c7373843b8a81565b7f04824fcb60e7cc526d70b264caa65b62ed44d9c8e5d230e8ff6b0c7373843b8a61021e8161091e565b6001600160a01b0383166102795760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e20616464726573732063616e6e6f74206265207a65726f0000000060448201526064015b60405180910390fd5b6001600160a01b03831660008181526001602052604090819020849055517ff0147d56c92773cc23ca1af1f2ca781007bb3f60f47c98fb67a35f4841d3711d906102c69085815260200190565b60405180910390a2505050565b60006001600160e01b0319821663d06ca61f60e01b14806102f857506102f88261092b565b92915050565b6000828152602081905260409020600101546103198161091e565b6103238383610960565b50505050565b7f04824fcb60e7cc526d70b264caa65b62ed44d9c8e5d230e8ff6b0c7373843b8a6103538161091e565b8382146103b65760405162461bcd60e51b815260206004820152602b60248201527f546f6b656e7320616e6420707269636573206d7573742068617665207468652060448201526a0e6c2daca40d8cadccee8d60ab1b6064820152608401610270565b836103f85760405162461bcd60e51b8152602060048201526012602482015271139bc81d1bdad95b9cc81c1c9bdd9a59195960721b6044820152606401610270565b60005b8481101561056957600086868381811061041757610417610cb9565b905060200201602081019061042c9190610c0e565b6001600160a01b0316036104825760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e20616464726573732063616e6e6f74206265207a65726f000000006044820152606401610270565b83838281811061049457610494610cb9565b90506020020135600160008888858181106104b1576104b1610cb9565b90506020020160208101906104c69190610c0e565b6001600160a01b031681526020810191909152604001600020558585828181106104f2576104f2610cb9565b90506020020160208101906105079190610c0e565b6001600160a01b03167ff0147d56c92773cc23ca1af1f2ca781007bb3f60f47c98fb67a35f4841d3711d85858481811061054357610543610cb9565b9050602002013560405161055991815260200190565b60405180910390a26001016103fb565b505050505050565b6001600160a01b038116331461059a5760405163334bd91960e11b815260040160405180910390fd5b6105a482826109f2565b505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600182116106245760405162461bcd60e51b815260206004820181905260248201527f50617468206d7573742068617665206174206c65617374203220746f6b656e736044820152606401610270565b600084116106745760405162461bcd60e51b815260206004820181905260248201527f416d6f756e7420696e206d7573742062652067726561746572207468616e20306044820152606401610270565b8167ffffffffffffffff81111561068d5761068d610ccf565b6040519080825280602002602001820160405280156106b6578160200160208202803683370190505b50905083816000815181106106cd576106cd610cb9565b6020026020010181815250506000838360008181106106ee576106ee610cb9565b90506020020160208101906107039190610c0e565b905060008484610714600182610cfb565b81811061072357610723610cb9565b90506020020160208101906107389190610c0e565b90506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079e9190610d0e565b90506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108049190610d0e565b90508060ff168260ff1611156108835761081e8183610d31565b61082990600a610e2e565b6001600160a01b03851660009081526001602052604090205461084c908a610e3d565b6108569190610e54565b85610862600189610cfb565b8151811061087257610872610cb9565b6020026020010181815250506108ee565b61088d8282610d31565b61089890600a610e2e565b6001600160a01b0385166000908152600160205260409020546108bb908a610e3d565b6108c59190610e3d565b856108d1600189610cfb565b815181106108e1576108e1610cb9565b6020026020010181815250505b505050509392505050565b6000828152602081905260409020600101546109148161091e565b61032383836109f2565b6109288133610a5d565b50565b60006001600160e01b03198216637965db0b60e01b14806102f857506301ffc9a760e01b6001600160e01b03198316146102f8565b600061096c83836105a9565b6109ea576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556109a23390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102f8565b5060006102f8565b60006109fe83836105a9565b156109ea576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102f8565b610a6782826105a9565b610a965760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610270565b5050565b80356001600160a01b0381168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a9a565b946020939093013593505050565b600060208284031215610af257600080fd5b81356001600160e01b031981168114610b0a57600080fd5b9392505050565b600060208284031215610b2357600080fd5b5035919050565b60008060408385031215610b3d57600080fd5b82359150610b4d60208401610a9a565b90509250929050565b60008083601f840112610b6857600080fd5b50813567ffffffffffffffff811115610b8057600080fd5b6020830191508360208260051b8501011115610b9b57600080fd5b9250929050565b60008060008060408587031215610bb857600080fd5b843567ffffffffffffffff80821115610bd057600080fd5b610bdc88838901610b56565b90965094506020870135915080821115610bf557600080fd5b50610c0287828801610b56565b95989497509550505050565b600060208284031215610c2057600080fd5b610b0a82610a9a565b600080600060408486031215610c3e57600080fd5b83359250602084013567ffffffffffffffff811115610c5c57600080fd5b610c6886828701610b56565b9497909650939450505050565b6020808252825182820181905260009190848201906040850190845b81811015610cad57835183529284019291840191600101610c91565b50909695505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156102f8576102f8610ce5565b600060208284031215610d2057600080fd5b815160ff81168114610b0a57600080fd5b60ff82811682821603908111156102f8576102f8610ce5565b600181815b80851115610d85578160001904821115610d6b57610d6b610ce5565b80851615610d7857918102915b93841c9390800290610d4f565b509250929050565b600082610d9c575060016102f8565b81610da9575060006102f8565b8160018114610dbf5760028114610dc957610de5565b60019150506102f8565b60ff841115610dda57610dda610ce5565b50506001821b6102f8565b5060208310610133831016604e8410600b8410161715610e08575081810a6102f8565b610e128383610d4a565b8060001904821115610e2657610e26610ce5565b029392505050565b6000610b0a60ff841683610d8d565b80820281158282048414176102f8576102f8610ce5565b600082610e7157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220975f53919b400471e654f3a87d361eaff860c8f168051af3428295cda339aeb564736f6c63430008180033"; 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: "MockUniswapV2TokenPriceSet"; 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: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "path"; readonly type: "address[]"; }]; readonly name: "getAmountsOut"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "amounts"; readonly type: "uint256[]"; }]; 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 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: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "_prices"; readonly type: "uint256[]"; }]; readonly name: "setPriceBatch"; 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(): MockUniswapV2RouterInterface; static connect(address: string, runner?: ContractRunner | null): MockUniswapV2Router; } export {};