0 txs
9 calls
constructor
No constructor.
functions
convertedPath
viewfunction convertedPath(address[] _path) view returns (bytes packedData)
convertedPathReversed
viewfunction convertedPathReversed(address[] _path) view returns (bytes packedData)
exchangeRouter
viewfunction exchangeRouter() view returns (address)
feeTier
viewfunction feeTier(address, address) view returns (uint24)
getInputAmount
purefunction getInputAmount(uint256, address, address) pure returns (bool, uint256)
getOutputAmount
purefunction getOutputAmount(uint256, address, address) pure returns (bool, uint256)
getSqrtPriceX96
viewfunction getSqrtPriceX96(address[] _path) view returns (uint256[] _sqrtPriceX96, address[] _firstToken)
isPathValid
viewfunction isPathValid(address[] _path) view returns (bool _result)
liquidityPoolFactory
viewfunction liquidityPoolFactory() view returns (address)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
quoterAddress
viewfunction quoterAddress() view returns (address)
wrappedNativeToken
viewfunction wrappedNativeToken() view returns (address)
getExactInput
nonpayablefunction getExactInput(address[] _path, uint256 _amountIn) returns (bool, uint256)
getExactOutput
nonpayablefunction getExactOutput(address[] _path, uint256 _amountOut) returns (bool, uint256)
initialize
nonpayablefunction initialize(string _name, address _exchangeRouter, address _quoterAddress)
renounceOwnership
nonpayablefunction renounceOwnership()
setExchangeRouter
nonpayablefunction setExchangeRouter(address _exchangeRouter)
setFeeTier
nonpayablefunction setFeeTier(address _firstToken, address _secondToken, uint24 _feeTier)
setLiquidityPoolFactory
nonpayablefunction setLiquidityPoolFactory()
setQuoter
nonpayablefunction setQuoter(address _quoterAddress)
setWrappedNativeToken
nonpayablefunction setWrappedNativeToken()
swap
nonpayablefunction swap(uint256 _inputAmount, uint256 _outputAmount, address[] _path, address _to, uint256 _deadline, bool _isFixedToken) returns (bool _result, uint256[] _amounts)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Swap
event Swap(address[] path, uint256[] amounts, address receiver)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b5061270c806100206000396000f3fe608060405234801561001057600080fd5b50600436106101285760003560e01c806301e65db31461012d57806304fe3fcb1461017657806306fdde031461018b57806311a2f0cb146101a05780631580b5e5146101cb57806317fcb39b146101d35780631cb85818146101e65780633566967d146101f9578063463fd1af146102235780636145f87614610236578063715018a61461024957806378c3168414610251578063838b7ccb1461027257806389883074146102855780638b1937cd1461029f5780638da5cb5b146102b25780639b4bca24146102ba578063b0bbcd88146102dd578063b18a313f146102fe578063b23e4fc614610311578063df71d7f314610285578063e75d75d514610319578063f2fde38b1461032c578063f912c64b1461033f575b600080fd5b61015d61013b366004611e81565b609c60209081526000928352604080842090915290825290205462ffffff1681565b60405162ffffff90911681526020015b60405180910390f35b610189610184366004611eb9565b610352565b005b6101936103b5565b60405161016d91906124aa565b609b546101b3906001600160a01b031681565b6040516001600160a01b03909116815260200161016d565b610189610443565b6098546101b3906001600160a01b031681565b6099546101b3906001600160a01b031681565b61020c610207366004611f44565b6104f3565b60408051921515835260208301919091520161016d565b610189610231366004611fa2565b6105b2565b610193610244366004611f0a565b610834565b61018961095e565b61026461025f366004611f0a565b610968565b60405161016d929190612461565b610189610280366004611e49565b610d7c565b61020c610293366004612106565b60016000935093915050565b61020c6102ad366004611f44565b610e5b565b6101b3610e93565b6102cd6102c8366004611f0a565b610ea2565b604051901515815260200161016d565b6102f06102eb366004612214565b611099565b60405161016d92919061248f565b61019361030c366004611f0a565b61143c565b61018961157a565b609a546101b3906001600160a01b031681565b61018961033a366004611e49565b61162a565b61018961034d366004611e49565b6116a3565b61035a6116cd565b6001600160a01b039283166000818152609c60208181526040808420969097168352948552858220805462ffffff90951662ffffff199586168117909155908552858220928252919093529290912080549091169091179055565b609780546103c290612637565b80601f01602080910402602001604051908101604052809291908181526020018280546103ee90612637565b801561043b5780601f106104105761010080835404028352916020019161043b565b820191906000526020600020905b81548152906001019060200180831161041e57829003601f168201915b505050505081565b61044b6116cd565b609960009054906101000a90046001600160a01b03166001600160a01b0316634aa4a4fc6040518163ffffffff1660e01b815260040160206040518083038186803b15801561049957600080fd5b505afa1580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d19190611e65565b609880546001600160a01b0319166001600160a01b0392909216919091179055565b6000806104ff84610ea2565b61050e575060009050806105ab565b609b546000906001600160a01b0316632f80bb1d61052b8761143c565b866040518363ffffffff1660e01b81526004016105499291906124bd565b600060405180830381600087803b15801561056357600080fd5b505af1158015610577573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059f919081019061213c565b50600195509193505050505b9250929050565b600054610100900460ff16158080156105d25750600054600160ff909116105b806105ec5750303b1580156105ec575060005460ff166001145b6106545760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610677576000805461ff0019166101001790555b61067f61172c565b61068761175b565b835161069a906097906020870190611ca8565b50609980546001600160a01b0319166001600160a01b0385169081179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156106ef57600080fd5b505afa158015610703573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107279190611e65565b609a80546001600160a01b03199081166001600160a01b0393841617909155609b8054909116848316179055609954604080516312a9293f60e21b815290519190921691634aa4a4fc916004808301926020929190829003018186803b15801561079057600080fd5b505afa1580156107a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c89190611e65565b609880546001600160a01b0319166001600160a01b0392909216919091179055801561082e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60608160008151811061085757634e487b7160e01b600052603260045260246000fd5b602002602001015160405160200161086f9190612380565b60408051601f19818403018152919052905060015b82518110156109585760008361089b6001846125dd565b815181106108b957634e487b7160e01b600052603260045260246000fd5b6020026020010151905060008483815181106108e557634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b038085166000908152609c84526040808220928416825291845281902054905191935062ffffff169161093191879184918691016123b4565b604051602081830303815290604052945050505080806109509061266c565b915050610884565b50919050565b6109666116cd565b565b60608060008060005b6001865161097f91906125dd565b811015610d7457609a5486516001600160a01b0390911690631698ee82908890849081106109bd57634e487b7160e01b600052603260045260246000fd5b6020026020010151888460016109d391906125c5565b815181106109f157634e487b7160e01b600052603260045260246000fd5b6020026020010151609c60008b8781518110610a1d57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008b876001610a5591906125c5565b81518110610a7357634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a900462ffffff166040518463ffffffff1660e01b8152600401610ac9939291906123fb565b60206040518083038186803b158015610ae157600080fd5b505afa158015610af5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b199190611e65565b9250826001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b158015610b5457600080fd5b505afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190612052565b505089516001600160a01b03909516965086948a945086935083109150610bc5905057634e487b7160e01b600052603260045260246000fd5b602002602001018181525050858181518110610bf157634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316836001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3b57600080fd5b505afa158015610c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190611e65565b6001600160a01b03161415610cef57858181518110610ca257634e487b7160e01b600052603260045260246000fd5b6020026020010151848281518110610cca57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050610d62565b85610cfb8260016125c5565b81518110610d1957634e487b7160e01b600052603260045260246000fd5b6020026020010151848281518110610d4157634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250505b80610d6c8161266c565b915050610971565b505050915091565b806001600160a01b038116610da35760405162461bcd60e51b815260040161064b906124df565b610dab6116cd565b609980546001600160a01b0319166001600160a01b0384169081179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b158015610dff57600080fd5b505afa158015610e13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e379190611e65565b609a80546001600160a01b0319166001600160a01b03929092169190911790555050565b600080610e6784610ea2565b610e76575060009050806105ab565b609b546000906001600160a01b031663cdca175361052b87610834565b6033546001600160a01b031690565b600080600283511015610eb85750600092915050565b60005b60018451610ec991906125dd565b81101561108f57609a5484516001600160a01b0390911690631698ee8290869084908110610f0757634e487b7160e01b600052603260045260246000fd5b602002602001015186846001610f1d91906125c5565b81518110610f3b57634e487b7160e01b600052603260045260246000fd5b6020026020010151609c6000898781518110610f6757634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600089876001610f9f91906125c5565b81518110610fbd57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a900462ffffff166040518463ffffffff1660e01b8152600401611013939291906123fb565b60206040518083038186803b15801561102b57600080fd5b505afa15801561103f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110639190611e65565b91506001600160a01b03821661107d575060009392505050565b806110878161266c565b915050610ebb565b5060019392505050565b600060606110a561178a565b846001600160a01b0381166110cc5760405162461bcd60e51b815260040161064b906124df565b60006110db8a8a8a89896117e4565b9094509050600084156114245760408051600280825260608201835290916020830190803683370190505093506111503330848c60008151811061112f57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316611852909392919063ffffffff16565b8860008151811061117157634e487b7160e01b600052603260045260246000fd5b602090810291909101015160995460405163095ea7b360e01b81526001600160a01b0391821660048201526024810185905291169063095ea7b390604401602060405180830381600087803b1580156111c957600080fd5b505af11580156111dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190611f86565b50600186151514156112f8576099546001600160a01b031663c04b8d5961122b848d8d8d8d6118ac565b6040518263ffffffff1660e01b8152600401611247919061255f565b602060405180830381600087803b15801561126157600080fd5b505af1158015611275573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129991906120ee565b905081846000815181106112bd57634e487b7160e01b600052603260045260246000fd5b60200260200101818152505080846001815181106112eb57634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b856113e8576099546001600160a01b031663f28c049861131b848d8d8d8d611929565b6040518263ffffffff1660e01b8152600401611337919061255f565b602060405180830381600087803b15801561135157600080fd5b505af1158015611365573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138991906120ee565b905080846000815181106113ad57634e487b7160e01b600052603260045260246000fd5b60200260200101818152505089846001815181106113db57634e487b7160e01b600052603260045260246000fd5b6020026020010181815250505b7fe1010d0ab476908054981d12fbb96915efcceb8d57a09ae8ca62f4bda731837389858a60405161141b93929190612423565b60405180910390a15b5050506114316001606555565b965096945050505050565b6060816001835161144d91906125dd565b8151811061146b57634e487b7160e01b600052603260045260246000fd5b60200260200101516040516020016114839190612380565b60405160208183030381529060405290506000600183516114a491906125dd565b90505b80156109585760008382815181106114cf57634e487b7160e01b600052603260045260246000fd5b602002602001015190506000846001846114e991906125dd565b8151811061150757634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b038085166000908152609c84526040808220928416825291845281902054905191935062ffffff169161155391879184918691016123b4565b6040516020818303038152906040529450505050808061157290612620565b9150506114a7565b6115826116cd565b609960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116089190611e65565b609a80546001600160a01b0319166001600160a01b0392909216919091179055565b6116326116cd565b6001600160a01b0381166116975760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161064b565b6116a0816119ae565b50565b6116ab6116cd565b609b80546001600160a01b0319166001600160a01b0392909216919091179055565b336116d6610e93565b6001600160a01b0316146109665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161064b565b600054610100900460ff166117535760405162461bcd60e51b815260040161064b90612514565b610966611a00565b600054610100900460ff166117825760405162461bcd60e51b815260040161064b90612514565b610966611a30565b600260655414156117dd5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161064b565b6002606555565b600080428410156117fa57506000905080611848565b600080611807878a610e5b565b915091508088111561182157600080935093505050611848565b6001851515141561183757509150869050611848565b61184187896104f3565b9350935050505b9550959350505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261082e908590611a57565b6118e76040518060a001604052806060815260200160006001600160a01b031681526020016000815260200160008152602001600081525090565b6040518060a001604052806118fb86610834565b81526001600160a01b0390941660208501526040840192909252506060820194909452608001919091525090565b6119646040518060a001604052806060815260200160006001600160a01b031681526020016000815260200160008152602001600081525090565b6040518060a0016040528061197886610834565b8152602001846001600160a01b0316815260200183815260200186815260200187815250905095945050505050565b6001606555565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16611a275760405162461bcd60e51b815260040161064b90612514565b610966336119ae565b600054610100900460ff166119a75760405162461bcd60e51b815260040161064b90612514565b6000611aac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b2e9092919063ffffffff16565b805190915015611b295780806020019051810190611aca9190611f86565b611b295760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161064b565b505050565b6060611b3d8484600085611b47565b90505b9392505050565b606082471015611ba85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161064b565b843b611bf65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161064b565b600080866001600160a01b03168587604051611c129190612398565b60006040518083038185875af1925050503d8060008114611c4f576040519150601f19603f3d011682016040523d82523d6000602084013e611c54565b606091505b5091509150611c64828286611c6f565b979650505050505050565b60608315611c7e575081611b40565b825115611c8e5782518084602001fd5b8160405162461bcd60e51b815260040161064b91906124aa565b828054611cb490612637565b90600052602060002090601f016020900481019282611cd65760008555611d1c565b82601f10611cef57805160ff1916838001178555611d1c565b82800160010185558215611d1c579182015b82811115611d1c578251825591602001919060010190611d01565b50611d28929150611d2c565b5090565b5b80821115611d285760008155600101611d2d565b8035611d4c816126b3565b919050565b600082601f830112611d61578081fd5b81356020611d76611d71836125a2565b612572565b80838252828201915082860187848660051b8901011115611d95578586fd5b855b85811015611dbc578135611daa816126b3565b84529284019290840190600101611d97565b5090979650505050505050565b600082601f830112611dd9578081fd5b81516020611de9611d71836125a2565b80838252828201915082860187848660051b8901011115611e08578586fd5b855b85811015611dbc57815163ffffffff81168114611e25578788fd5b84529284019290840190600101611e0a565b805161ffff81168114611d4c57600080fd5b600060208284031215611e5a578081fd5b8135611b40816126b3565b600060208284031215611e76578081fd5b8151611b40816126b3565b60008060408385031215611e93578081fd5b8235611e9e816126b3565b91506020830135611eae816126b3565b809150509250929050565b600080600060608486031215611ecd578081fd5b8335611ed8816126b3565b92506020840135611ee8816126b3565b9150604084013562ffffff81168114611eff578182fd5b809150509250925092565b600060208284031215611f1b578081fd5b81356001600160401b03811115611f30578182fd5b611f3c84828501611d51565b949350505050565b60008060408385031215611f56578182fd5b82356001600160401b03811115611f6b578283fd5b611f7785828601611d51565b95602094909401359450505050565b600060208284031215611f97578081fd5b8151611b40816126c8565b600080600060608486031215611fb6578081fd5b83356001600160401b0380821115611fcc578283fd5b818601915086601f830112611fdf578283fd5b8135602082821115611ff357611ff361269d565b612005601f8301601f19168201612572565b9250818352888183860101111561201a578485fd5b818185018285013784818385010152829650612037818901611d41565b95505050505061204960408501611d41565b90509250925092565b600080600080600080600060e0888a03121561206c578485fd5b8751612077816126b3565b8097505060208801518060020b811461208e578586fd5b955061209c60408901611e37565b94506120aa60608901611e37565b93506120b860808901611e37565b925060a088015160ff811681146120cd578283fd5b60c08901519092506120de816126c8565b8091505092959891949750929550565b6000602082840312156120ff578081fd5b5051919050565b60008060006060848603121561211a578081fd5b83359250602084013561212c816126b3565b91506040840135611eff816126b3565b60008060008060808587031215612151578182fd5b8451602080870151919550906001600160401b0380821115612171578485fd5b818801915088601f830112612184578485fd5b8151612192611d71826125a2565b8082825285820191508585018c878560051b88010111156121b1578889fd5b8895505b838610156121dc5780516121c8816126b3565b8352600195909501949186019186016121b5565b5060408b015190985094505050808311156121f5578485fd5b505061220387828801611dc9565b606096909601519497939650505050565b60008060008060008060c0878903121561222c578384fd5b863595506020870135945060408701356001600160401b0381111561224f578485fd5b61225b89828a01611d51565b945050606087013561226c816126b3565b92506080870135915060a0870135612283816126c8565b809150509295509295509295565b6000815180845260208085019450808401835b838110156122c95781516001600160a01b0316875295820195908201906001016122a4565b509495945050505050565b6000815180845260208085019450808401835b838110156122c9578151875295820195908201906001016122e7565b6000815180845261231b8160208601602086016125f4565b601f01601f19169290920160200192915050565b6000815160a0845261234460a0850182612303565b6020848101516001600160a01b031690860152604080850151908601526060808501519086015260809384015193909401929092525090919050565b60609190911b6001600160601b031916815260140190565b600082516123aa8184602087016125f4565b9190910192915050565b600084516123c68184602089016125f4565b60e89490941b6001600160e81b0319169190930190815260609190911b6001600160601b031916600382015260170192915050565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b6060815260006124366060830186612291565b828103602084015261244881866122d4565b91505060018060a01b0383166040830152949350505050565b60408152600061247460408301856122d4565b82810360208401526124868185612291565b95945050505050565b8215158152604060208201526000611b3d60408301846122d4565b602081526000611b406020830184612303565b6040815260006124d06040830185612303565b90508260208301529392505050565b6020808252818101527f556e69737761705633436f6e6e6563746f723a207a65726f2061646472657373604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b602081526000611b40602083018461232f565b604051601f8201601f191681016001600160401b038111828210171561259a5761259a61269d565b604052919050565b60006001600160401b038211156125bb576125bb61269d565b5060051b60200190565b600082198211156125d8576125d8612687565b500190565b6000828210156125ef576125ef612687565b500390565b60005b8381101561260f5781810151838201526020016125f7565b8381111561082e5750506000910152565b60008161262f5761262f612687565b506000190190565b600181811c9082168061264b57607f821691505b6020821081141561095857634e487b7160e01b600052602260045260246000fd5b600060001982141561268057612680612687565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146116a057600080fd5b80151581146116a057600080fdfea26469706673582212200973f0128e4918fba992325e018bada8b4f993b1d3e1f9e6d5fc1b850400030664736f6c63430008040033