@muffinfi/muffin-contracts
Version:
Smart contracts of Muffin Protocol
248 lines (247 loc) • 5.73 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "IQuoter",
"sourceName": "contracts/interfaces/lens/IQuoter.sol",
"abi": [
{
"inputs": [],
"name": "hub",
"outputs": [
{
"internalType": "contract IMuffinHubCombined",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "manager",
"outputs": [
{
"internalType": "contract IPositionManager",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "path",
"type": "bytes"
},
{
"internalType": "int256",
"name": "amountDesired",
"type": "int256"
}
],
"name": "quote",
"outputs": [
{
"internalType": "uint256",
"name": "amountIn",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountOut",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "gasUsed",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenIn",
"type": "address"
},
{
"internalType": "address",
"name": "tokenOut",
"type": "address"
},
{
"internalType": "uint256",
"name": "tierChoices",
"type": "uint256"
},
{
"internalType": "int256",
"name": "amountDesired",
"type": "int256"
}
],
"name": "quoteSingle",
"outputs": [
{
"internalType": "uint256",
"name": "amountIn",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountOut",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "gasUsed",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "path",
"type": "bytes"
},
{
"internalType": "int256",
"name": "amountDesired",
"type": "int256"
}
],
"name": "simulate",
"outputs": [
{
"internalType": "uint256",
"name": "amountIn",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountOut",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "amountIn",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountOut",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "protocolFeeAmt",
"type": "uint256"
},
{
"internalType": "uint256[]",
"name": "tierAmountsIn",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "tierAmountsOut",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "tierData",
"type": "uint256[]"
}
],
"internalType": "struct IQuoter.Hop[]",
"name": "hops",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenIn",
"type": "address"
},
{
"internalType": "address",
"name": "tokenOut",
"type": "address"
},
{
"internalType": "uint256",
"name": "tierChoices",
"type": "uint256"
},
{
"internalType": "int256",
"name": "amountDesired",
"type": "int256"
}
],
"name": "simulateSingle",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "amountIn",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountOut",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "protocolFeeAmt",
"type": "uint256"
},
{
"internalType": "uint256[]",
"name": "tierAmountsIn",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "tierAmountsOut",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "tierData",
"type": "uint256[]"
}
],
"internalType": "struct IQuoter.Hop",
"name": "hop",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}