@mstable/protocol
Version:
mStable Contracts
446 lines (445 loc) • 8.56 kB
JSON
[
{
"inputs": [
{
"internalType": "address",
"name": "_nexus",
"type": "address"
},
{
"internalType": "address",
"name": "_rewardsToken",
"type": "address"
},
{
"internalType": "address",
"name": "_uniswapRouter",
"type": "address"
},
{
"internalType": "address",
"name": "_emissionsController",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint16",
"name": "stakingDialId",
"type": "uint16"
}
],
"name": "AddedStakingContract",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "mAsset",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "mAssetsToTreasury",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "mAssetsSold",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "rewardsAmount",
"type": "uint256"
}
],
"name": "BuyBackRewards",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "totalRewards",
"type": "uint256"
}
],
"name": "DonatedRewards",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "mAsset",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "bAsset",
"type": "address"
}
],
"name": "MappedBasset",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "mAsset",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amountIn",
"type": "uint256"
}
],
"name": "RevenueReceived",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "treasury",
"type": "address"
}
],
"name": "TreasuryChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "treasuryFee",
"type": "uint256"
}
],
"name": "TreasuryFeeChanged",
"type": "event"
},
{
"inputs": [],
"name": "CONFIG_SCALE",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "EMISSIONS_CONTROLLER",
"outputs": [
{
"internalType": "contract IEmissionsController",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "REWARDS_TOKEN",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "UNISWAP_ROUTER",
"outputs": [
{
"internalType": "contract IUniswapV3SwapRouter",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "_stakingDialId",
"type": "uint16"
}
],
"name": "addStakingContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "bassets",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "mAssets",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "minBassetsAmounts",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "minRewardsAmounts",
"type": "uint256[]"
},
{
"internalType": "bytes[]",
"name": "uniswapPaths",
"type": "bytes[]"
}
],
"name": "buyBackRewards",
"outputs": [
{
"internalType": "uint256",
"name": "mAssetToTreasury",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "mAssetsSellAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rewardsAmount",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"name": "depositToPool",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "donateRewards",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16[]",
"name": "_stakingDialIds",
"type": "uint16[]"
},
{
"internalType": "address",
"name": "_treasury",
"type": "address"
},
{
"internalType": "uint256",
"name": "_treasuryFee",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_mAsset",
"type": "address"
},
{
"internalType": "address",
"name": "_bAsset",
"type": "address"
}
],
"name": "mapBasset",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "nexus",
"outputs": [
{
"internalType": "contract INexus",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_mAsset",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "notifyRedistributionAmount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_treasury",
"type": "address"
}
],
"name": "setTreasury",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_treasuryFee",
"type": "uint256"
}
],
"name": "setTreasuryFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "stakingDialIds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "treasury",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "treasuryFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]