@venusprotocol/protocol-reserve
Version:
Venus Protocol contracts to manage the income generated by the protocol
1,926 lines (1,925 loc) • 52.7 kB
JSON
{
"name": "opbnbtestnet",
"chainId": "5611",
"contracts": {
"DefaultProxyAdmin": {
"address": "0xB1281ADC816fba7df64B798D7A0BC4bd2a6d42f4",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "initialOwner",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [
{
"internalType": "contract TransparentUpgradeableProxy",
"name": "proxy",
"type": "address"
},
{
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "changeProxyAdmin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract TransparentUpgradeableProxy",
"name": "proxy",
"type": "address"
}
],
"name": "getProxyAdmin",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract TransparentUpgradeableProxy",
"name": "proxy",
"type": "address"
}
],
"name": "getProxyImplementation",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract TransparentUpgradeableProxy",
"name": "proxy",
"type": "address"
},
{
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "upgrade",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract TransparentUpgradeableProxy",
"name": "proxy",
"type": "address"
},
{
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "upgradeAndCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
]
},
"ProtocolShareReserve": {
"address": "0xc355dEb1A9289f8C58CFAa076EEdBf51F3A8Da7F",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "admin",
"outputs": [
{
"internalType": "address",
"name": "admin_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "changeAdmin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "implementation",
"outputs": [
{
"internalType": "address",
"name": "implementation_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
}
],
"name": "upgradeTo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "upgradeToAndCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
},
{
"inputs": [],
"name": "InvalidAddress",
"type": "error"
},
{
"inputs": [],
"name": "InvalidTotalPercentage",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "loopsLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredLoops",
"type": "uint256"
}
],
"name": "MaxLoopsLimitExceeded",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "calledContract",
"type": "address"
},
{
"internalType": "string",
"name": "methodSignature",
"type": "string"
}
],
"name": "Unauthorized",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "percent",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "AssetReleased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "enum IProtocolShareReserve.IncomeType",
"name": "incomeType",
"type": "uint8"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "AssetsReservesUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"indexed": false,
"internalType": "uint16",
"name": "percentage",
"type": "uint16"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "DistributionConfigAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"indexed": false,
"internalType": "uint16",
"name": "percentage",
"type": "uint16"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "DistributionConfigRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"indexed": false,
"internalType": "uint16",
"name": "oldPercentage",
"type": "uint16"
},
{
"indexed": false,
"internalType": "uint16",
"name": "newPercentage",
"type": "uint16"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "DistributionConfigUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "oldMaxLoopsLimit",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newmaxLoopsLimit",
"type": "uint256"
}
],
"name": "MaxLoopsLimitUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "oldAccessControlManager",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAccessControlManager",
"type": "address"
}
],
"name": "NewAccessControlManager",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferStarted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "oldPoolRegistry",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newPoolRegistry",
"type": "address"
}
],
"name": "PoolRegistryUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "oldBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newBalance",
"type": "uint256"
}
],
"name": "ReservesUpdated",
"type": "event"
},
{
"inputs": [],
"name": "CORE_POOL_COMPTROLLER",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MAX_PERCENT",
"outputs": [
{
"internalType": "uint16",
"name": "",
"type": "uint16"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "WBNB",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "accessControlManager",
"outputs": [
{
"internalType": "contract IAccessControlManagerV8",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"internalType": "uint16",
"name": "percentage",
"type": "uint16"
},
{
"internalType": "address",
"name": "destination",
"type": "address"
}
],
"internalType": "struct ProtocolShareReserve.DistributionConfig[]",
"name": "configs",
"type": "tuple[]"
}
],
"name": "addOrUpdateDistributionConfigs",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "",
"type": "uint8"
}
],
"name": "assetsReserves",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "distributionTargets",
"outputs": [
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"internalType": "uint16",
"name": "percentage",
"type": "uint16"
},
{
"internalType": "address",
"name": "destination",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "getPercentageDistribution",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"internalType": "address",
"name": "asset",
"type": "address"
}
],
"name": "getUnreleasedFunds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_accessControlManager",
"type": "address"
},
{
"internalType": "uint256",
"name": "_loopsLimit",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "maxLoopsLimit",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pendingOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "poolRegistry",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"internalType": "address[]",
"name": "assets",
"type": "address[]"
}
],
"name": "releaseFunds",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"internalType": "address",
"name": "destination",
"type": "address"
}
],
"name": "removeDistributionConfig",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "accessControlManager_",
"type": "address"
}
],
"name": "setAccessControlManager",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_poolRegistry",
"type": "address"
}
],
"name": "setPoolRegistry",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "totalAssetReserve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalDistributions",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"internalType": "enum IProtocolShareReserve.IncomeType",
"name": "incomeType",
"type": "uint8"
}
],
"name": "updateAssetsState",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "vBNB",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_logic",
"type": "address"
},
{
"internalType": "address",
"name": "admin_",
"type": "address"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"stateMutability": "payable",
"type": "constructor"
}
]
},
"ProtocolShareReserve_Implementation": {
"address": "0xD91a8d928413daEc12028800cb934562138b8b36",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_corePoolComptroller",
"type": "address"
},
{
"internalType": "address",
"name": "_wbnb",
"type": "address"
},
{
"internalType": "address",
"name": "_vbnb",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "InvalidAddress",
"type": "error"
},
{
"inputs": [],
"name": "InvalidTotalPercentage",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "loopsLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "requiredLoops",
"type": "uint256"
}
],
"name": "MaxLoopsLimitExceeded",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "calledContract",
"type": "address"
},
{
"internalType": "string",
"name": "methodSignature",
"type": "string"
}
],
"name": "Unauthorized",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "percent",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "AssetReleased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "enum IProtocolShareReserve.IncomeType",
"name": "incomeType",
"type": "uint8"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "AssetsReservesUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"indexed": false,
"internalType": "uint16",
"name": "percentage",
"type": "uint16"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "DistributionConfigAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"indexed": false,
"internalType": "uint16",
"name": "percentage",
"type": "uint16"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "DistributionConfigRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"indexed": false,
"internalType": "uint16",
"name": "oldPercentage",
"type": "uint16"
},
{
"indexed": false,
"internalType": "uint16",
"name": "newPercentage",
"type": "uint16"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "DistributionConfigUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "oldMaxLoopsLimit",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newmaxLoopsLimit",
"type": "uint256"
}
],
"name": "MaxLoopsLimitUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "oldAccessControlManager",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAccessControlManager",
"type": "address"
}
],
"name": "NewAccessControlManager",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferStarted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "oldPoolRegistry",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newPoolRegistry",
"type": "address"
}
],
"name": "PoolRegistryUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": false,
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "oldBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newBalance",
"type": "uint256"
}
],
"name": "ReservesUpdated",
"type": "event"
},
{
"inputs": [],
"name": "CORE_POOL_COMPTROLLER",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MAX_PERCENT",
"outputs": [
{
"internalType": "uint16",
"name": "",
"type": "uint16"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "WBNB",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "accessControlManager",
"outputs": [
{
"internalType": "contract IAccessControlManagerV8",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"internalType": "uint16",
"name": "percentage",
"type": "uint16"
},
{
"internalType": "address",
"name": "destination",
"type": "address"
}
],
"internalType": "struct ProtocolShareReserve.DistributionConfig[]",
"name": "configs",
"type": "tuple[]"
}
],
"name": "addOrUpdateDistributionConfigs",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "",
"type": "uint8"
}
],
"name": "assetsReserves",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "distributionTargets",
"outputs": [
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"internalType": "uint16",
"name": "percentage",
"type": "uint16"
},
{
"internalType": "address",
"name": "destination",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
}
],
"name": "getPercentageDistribution",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"internalType": "address",
"name": "destination",
"type": "address"
},
{
"internalType": "address",
"name": "asset",
"type": "address"
}
],
"name": "getUnreleasedFunds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_accessControlManager",
"type": "address"
},
{
"internalType": "uint256",
"name": "_loopsLimit",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "maxLoopsLimit",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pendingOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "poolRegistry",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"internalType": "address[]",
"name": "assets",
"type": "address[]"
}
],
"name": "releaseFunds",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum ProtocolShareReserve.Schema",
"name": "schema",
"type": "uint8"
},
{
"internalType": "address",
"name": "destination",
"type": "address"
}
],
"name": "removeDistributionConfig",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "accessControlManager_",
"type": "address"
}
],
"name": "setAccessControlManager",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_poolRegistry",
"type": "address"
}
],
"name": "setPoolRegistry",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "totalAssetReserve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalDistributions",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "comptroller",
"type": "address"
},
{
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"internalType": "enum IProtocolShareReserve.IncomeType",
"name": "incomeType",
"type": "uint8"
}
],
"name": "updateAssetsState",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "vBNB",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
},
"ProtocolShareReserve_Proxy": {
"address": "0xc355dEb1A9289f8C58CFAa076EEdBf51F3A8Da7F",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_logic",
"type": "address"
},
{
"internalType": "address",
"name": "admin_",
"type": "address"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"stateMutability": "payable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",