@mstable/protocol
Version:
mStable Contracts
463 lines (462 loc) • 10.5 kB
JSON
[
{
"inputs": [
{
"components": [
{
"internalType": "uint128",
"name": "ratio",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "vaultBalance",
"type": "uint128"
}
],
"internalType": "struct BassetData[]",
"name": "_bAssets",
"type": "tuple[]"
},
{
"internalType": "uint8",
"name": "_i",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "_rawInput",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint128",
"name": "min",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "max",
"type": "uint128"
}
],
"internalType": "struct WeightLimits",
"name": "limits",
"type": "tuple"
}
],
"internalType": "struct FeederConfig",
"name": "_config",
"type": "tuple"
}
],
"name": "computeMint",
"outputs": [
{
"internalType": "uint256",
"name": "mintAmount",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint128",
"name": "ratio",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "vaultBalance",
"type": "uint128"
}
],
"internalType": "struct BassetData[]",
"name": "_bAssets",
"type": "tuple[]"
},
{
"internalType": "uint8[]",
"name": "_indices",
"type": "uint8[]"
},
{
"internalType": "uint256[]",
"name": "_rawInputs",
"type": "uint256[]"
},
{
"components": [
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint128",
"name": "min",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "max",
"type": "uint128"
}
],
"internalType": "struct WeightLimits",
"name": "limits",
"type": "tuple"
}
],
"internalType": "struct FeederConfig",
"name": "_config",
"type": "tuple"
}
],
"name": "computeMintMulti",
"outputs": [
{
"internalType": "uint256",
"name": "mintAmount",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint128",
"name": "ratio",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "vaultBalance",
"type": "uint128"
}
],
"internalType": "struct BassetData[]",
"name": "_bAssets",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint128",
"name": "min",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "max",
"type": "uint128"
}
],
"internalType": "struct WeightLimits",
"name": "limits",
"type": "tuple"
}
],
"internalType": "struct FeederConfig",
"name": "_config",
"type": "tuple"
}
],
"name": "computePrice",
"outputs": [
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "k",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint128",
"name": "ratio",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "vaultBalance",
"type": "uint128"
}
],
"internalType": "struct BassetData[]",
"name": "_bAssets",
"type": "tuple[]"
},
{
"internalType": "uint8",
"name": "_o",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "_netRedeemInput",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint128",
"name": "min",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "max",
"type": "uint128"
}
],
"internalType": "struct WeightLimits",
"name": "limits",
"type": "tuple"
}
],
"internalType": "struct FeederConfig",
"name": "_config",
"type": "tuple"
}
],
"name": "computeRedeem",
"outputs": [
{
"internalType": "uint256",
"name": "rawOutputUnits",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint128",
"name": "ratio",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "vaultBalance",
"type": "uint128"
}
],
"internalType": "struct BassetData[]",
"name": "_bAssets",
"type": "tuple[]"
},
{
"internalType": "uint8[]",
"name": "_indices",
"type": "uint8[]"
},
{
"internalType": "uint256[]",
"name": "_rawOutputs",
"type": "uint256[]"
},
{
"components": [
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint128",
"name": "min",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "max",
"type": "uint128"
}
],
"internalType": "struct WeightLimits",
"name": "limits",
"type": "tuple"
}
],
"internalType": "struct FeederConfig",
"name": "_config",
"type": "tuple"
}
],
"name": "computeRedeemExact",
"outputs": [
{
"internalType": "uint256",
"name": "redeemInput",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint128",
"name": "ratio",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "vaultBalance",
"type": "uint128"
}
],
"internalType": "struct BassetData[]",
"name": "_bAssets",
"type": "tuple[]"
},
{
"internalType": "uint8",
"name": "_i",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "_o",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "_rawInput",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_feeRate",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint128",
"name": "min",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "max",
"type": "uint128"
}
],
"internalType": "struct WeightLimits",
"name": "limits",
"type": "tuple"
}
],
"internalType": "struct FeederConfig",
"name": "_config",
"type": "tuple"
}
],
"name": "computeSwap",
"outputs": [
{
"internalType": "uint256",
"name": "bAssetOutputQuantity",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "scaledSwapFee",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
]