Contract Overview
Quoter
Balance:
0 METIS

METIS Value:
$0.00 (@ $49.90/METIS)
More Info
Tag:
Not Available. Update?

Contract Creator:
Contract Source Code Verified (Exact Match)
Contract Name:
Quoter

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 1000000 runs

Created At:
Tue, 03 Oct 2023 11:27:50 GMT
Quoter.sol
contracts
lens
Quoter.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_factory",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_WNativeToken",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_poolDeployer",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "WNativeToken",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int256",
        "name": "amount0Delta",
        "type": "int256"
      },
      {
        "internalType": "int256",
        "name": "amount1Delta",
        "type": "int256"
      },
      {
        "internalType": "bytes",
        "name": "path",
        "type": "bytes"
      }
    ],
    "name": "algebraSwapCallback",
    "outputs": [],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "factory",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "poolDeployer",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes",
        "name": "path",
        "type": "bytes"
      },
      {
        "internalType": "uint256",
        "name": "amountIn",
        "type": "uint256"
      }
    ],
    "name": "quoteExactInput",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "amountOut",
        "type": "uint256"
      },
      {
        "internalType": "uint16[]",
        "name": "fees",
        "type": "uint16[]"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "tokenIn",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "tokenOut",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amountIn",
        "type": "uint256"
      },
      {
        "internalType": "uint160",
        "name": "limitSqrtPrice",
        "type": "uint160"
      }
    ],
    "name": "quoteExactInputSingle",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "amountOut",
        "type": "uint256"
      },
      {
        "internalType": "uint16",
        "name": "fee",
        "type": "uint16"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes",
        "name": "path",
        "type": "bytes"
      },
      {
        "internalType": "uint256",
        "name": "amountOut",
        "type": "uint256"
      }
    ],
    "name": "quoteExactOutput",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "amountIn",
        "type": "uint256"
      },
      {
        "internalType": "uint16[]",
        "name": "fees",
        "type": "uint16[]"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "tokenIn",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "tokenOut",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amountOut",
        "type": "uint256"
      },
      {
        "internalType": "uint160",
        "name": "limitSqrtPrice",
        "type": "uint160"
      }
    ],
    "name": "quoteExactOutputSingle",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "amountIn",
        "type": "uint256"
      },
      {
        "internalType": "uint16",
        "name": "fee",
        "type": "uint16"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]


Contract Creation Code
60e06040523480156200001157600080fd5b50604051620014f9380380620014f9833981016040819052620000349162000078565b6001600160601b0319606093841b811660805290831b811660a052911b1660c052620000c1565b80516001600160a01b03811681146200007357600080fd5b919050565b6000806000606084860312156200008d578283fd5b62000098846200005b565b9250620000a8602085016200005b565b9150620000b8604085016200005b565b90509250925092565b60805160601c60a05160601c60c05160601c6113f862000101600039806105b4525080610165528061059052806108a952508061078552506113f86000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638af3ac851161005b5780638af3ac85146101025780639e73c81d1461010a578063c45a01551461011d578063cdca17531461012557610088565b80632c8958f61461008d5780632d9ebd1d146100a25780632f80bb1d146100cc5780633119049a146100ed575b600080fd5b6100a061009b366004610ff9565b610138565b005b6100b56100b0366004610f41565b610323565b6040516100c3929190611320565b60405180910390f35b6100df6100da366004610f93565b6104b9565b6040516100c39291906112cf565b6100f561058e565b6040516100c39190611212565b6100f56105b2565b6100b5610118366004610f41565b6105d6565b6100f5610783565b6100df610133366004610f93565b6107a7565b60008313806101475750600082135b61015057600080fd5b60008061015c83610864565b9150915061018b7f00000000000000000000000000000000000000000000000000000000000000008383610885565b5060008060008088136101d1578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16108789600003610206565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161088886000035b925092509250600061021886866108a2565b905060008060008373ffffffffffffffffffffffffffffffffffffffff1663e76c01e46040518163ffffffff1660e01b81526004016101006040518083038186803b15801561026657600080fd5b505afa15801561027a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029e91906110ba565b505050509350935050508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16106102e157806102e3565b815b925086156102fc57604051858152836020820152604081fd5b6000541561031257600054851461031257600080fd5b604051868152836020820152604081fd5b60008073ffffffffffffffffffffffffffffffffffffffff8086169087161061034c87876108a2565b73ffffffffffffffffffffffffffffffffffffffff1663128acb083083610372896108e0565b73ffffffffffffffffffffffffffffffffffffffff89161561039457886103ba565b856103b35773fffd8963efd1fc6a506488495d951d5263988d256103ba565b6401000276a45b8c8c6040516020016103cd9291906111d8565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016103fc959493929190611233565b6040805180830381600087803b15801561041557600080fd5b505af1925050508015610463575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261046091810190610fd6565b60015b6104ac573d808015610491576040519150601f19603f3d011682016040523d82523d6000602084013e610496565b606091505b506104a081610912565b90945092506104af9050565b50505b5094509492505050565b600060606104c6846109cd565b67ffffffffffffffff811180156104dc57600080fd5b50604051908082528060200260200182016040528015610506578160200160208202803683370190505b50905060005b6000610517866109e5565b905060008061052588610864565b9150915061053681838960006105d6565b86868151811061054257fe5b602002602001018161ffff1661ffff168152508198505050821561057057610569886109ed565b975061057c565b86955050505050610587565b50505060010161050c565b9250929050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008073ffffffffffffffffffffffffffffffffffffffff808616878216109084166106025760008590555b61060c87876108a2565b73ffffffffffffffffffffffffffffffffffffffff1663128acb083083610632896108e0565b60000373ffffffffffffffffffffffffffffffffffffffff891615610657578861067d565b856106765773fffd8963efd1fc6a506488495d951d5263988d2561067d565b6401000276a45b8b8d6040516020016106909291906111d8565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016106bf959493929190611233565b6040805180830381600087803b1580156106d857600080fd5b505af1925050508015610726575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261072391810190610fd6565b60015b6104ac573d808015610754576040519150601f19603f3d011682016040523d82523d6000602084013e610759565b606091505b5073ffffffffffffffffffffffffffffffffffffffff851661077a57600080555b6104a081610912565b7f000000000000000000000000000000000000000000000000000000000000000081565b600060606107b4846109cd565b67ffffffffffffffff811180156107ca57600080fd5b506040519080825280602002602001820160405280156107f4578160200160208202803683370190505b50905060005b6000610805866109e5565b905060008061081388610864565b915091506108248282896000610323565b86868151811061083057fe5b602002602001018161ffff1661ffff168152508198505050821561057057610857886109ed565b97505050506001016107fa565b6000806108718382610a08565b915061087e836014610a08565b9050915091565b600061089a846108958585610b08565b610b77565b949350505050565b60006108d77f00000000000000000000000000000000000000000000000000000000000000006108d28585610b08565b610ba7565b90505b92915050565b60007f8000000000000000000000000000000000000000000000000000000000000000821061090e57600080fd5b5090565b60008082516040146109b057604483511015610963576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095a90611298565b60405180910390fd5b6004830192508280602001905181019061097d9190611047565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095a9190611285565b828060200190518101906109c49190611163565b91509150915091565b6000601480835103816109dc57fe5b0490505b919050565b51603c111590565b60606108da60148084510384610ccf9092919063ffffffff16565b600081826014011015610a7c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b8160140183511015610aef57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b610b10610eb6565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161115610b48579091905b506040805180820190915273ffffffffffffffffffffffffffffffffffffffff92831681529116602082015290565b6000610b838383610ba7565b90503373ffffffffffffffffffffffffffffffffffffffff8216146108da57600080fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1610610be957600080fd5b5080516020918201516040805173ffffffffffffffffffffffffffffffffffffffff938416818601529290911682820152805180830382018152606080840183528151918501919091207fff00000000000000000000000000000000000000000000000000000000000000608085015294901b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016608183015260958201939093527f6c1bebd370ba84753516bc1393c0d0a6c645856da55f5393ac8ab3d6dbc861d360b5808301919091528351808303909101815260d5909101909252815191012090565b60608182601f011015610d4357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b828284011015610db457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015610e2657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015610e455760405191506000825260208201604052610ead565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610e7e578051835260209283019201610e66565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b604080518082019091526000808252602082015290565b600082601f830112610edd578081fd5b8135610ef0610eeb82611356565b611332565b818152846020838601011115610f04578283fd5b816020850160208301379081016020019190915292915050565b805161ffff811681146109e057600080fd5b805160ff811681146109e057600080fd5b60008060008060808587031215610f56578384fd5b8435610f61816113c6565b93506020850135610f71816113c6565b9250604085013591506060850135610f88816113c6565b939692955090935050565b60008060408385031215610fa5578182fd5b823567ffffffffffffffff811115610fbb578283fd5b610fc785828601610ecd565b95602094909401359450505050565b60008060408385031215610fe8578182fd5b505080516020909101519092909150565b60008060006060848603121561100d578283fd5b8335925060208401359150604084013567ffffffffffffffff811115611031578182fd5b61103d86828701610ecd565b9150509250925092565b600060208284031215611058578081fd5b815167ffffffffffffffff81111561106e578182fd5b8201601f8101841361107e578182fd5b805161108c610eeb82611356565b8181528560208385010111156110a0578384fd5b6110b1826020830160208601611396565b95945050505050565b600080600080600080600080610100898b0312156110d6578384fd5b88516110e1816113c6565b8098505060208901518060020b81146110f8578485fd5b965061110660408a01610f1e565b955061111460608a01610f1e565b945061112260808a01610f1e565b935061113060a08a01610f30565b925061113e60c08a01610f30565b915060e08901518015158114611152578182fd5b809150509295985092959890939650565b60008060408385031215611175578182fd5b8251915061118560208401610f1e565b90509250929050565b600081518084526111a6816020860160208601611396565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811682529190921b16601482015260280190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a0608083015261127a60a083018461118e565b979650505050505050565b6000602082526108d7602083018461118e565b60208082526010908201527f556e6578706563746564206572726f7200000000000000000000000000000000604082015260600190565b60006040820184835260206040818501528185518084526060860191508287019350845b8181101561131357845161ffff16835293830193918301916001016112f3565b5090979650505050505050565b91825261ffff16602082015260400190565b60405181810167ffffffffffffffff8111828210171561134e57fe5b604052919050565b600067ffffffffffffffff82111561136a57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b838110156113b1578181015183820152602001611399565b838111156113c0576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff811681146113e857600080fd5b5056fea164736f6c6343000706000a000000000000000000000000c5bfa92f27df36d268422ee314a1387bb5ffb06a00000000000000000000000075cb093e4d61d2a2e65d8e0bbb01de8d89b5348100000000000000000000000043aa9b2ed25f972fd8d44fdfb77a4a514eab4d71