UNPKG

@etherisc/depeg-contracts

Version:

Etherisc's smart contracts for a depeg insurance for stable coins.

1,570 lines (1,569 loc) 52.4 kB
{ "abi": [ { "inputs": [ { "internalType": "uint96", "name": "targetNftId", "type": "uint96" } ], "name": "capitalSupport", "outputs": [ { "internalType": "uint256", "name": "capitalAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDip", "outputs": [ { "internalType": "contract IERC20Metadata", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRegistry", "outputs": [ { "internalType": "contract IChainRegistryFacade", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getStakingWallet", "outputs": [ { "internalType": "address", "name": "stakingWallet", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "implementsIStaking", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "maxRewardRate", "outputs": [ { "internalType": "uint256", "name": "rate", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rateDecimals", "outputs": [ { "internalType": "uint256", "name": "decimals", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "rewardBalance", "outputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardRate", "outputs": [ { "internalType": "uint256", "name": "rate", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardReserves", "outputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "stakeBalance", "outputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes5", "name": "chain", "type": "bytes5" }, { "internalType": "address", "name": "token", "type": "address" } ], "name": "stakingRate", "outputs": [ { "internalType": "uint256", "name": "rate", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "chainId", "type": "uint256" } ], "name": "toChain", "outputs": [ { "internalType": "bytes5", "name": "", "type": "bytes5" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "int8", "name": "exp", "type": "int8" } ], "name": "toRate", "outputs": [ { "internalType": "uint256", "name": "rate", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "uint48", "name": "", "type": "uint48" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "versionParts", "outputs": [ { "internalType": "uint16", "name": "major", "type": "uint16" }, { "internalType": "uint16", "name": "minor", "type": "uint16" }, { "internalType": "uint16", "name": "patch", "type": "uint16" } ], "stateMutability": "view", "type": "function" } ], "allSourcePaths": { "4": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol", "5": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/extensions/IERC20Metadata.sol", "59": "contracts/registry/IChainNftFacade.sol", "60": "contracts/registry/IChainRegistryFacade.sol", "62": "contracts/staking/IStakingFacade.sol" }, "ast": { "absolutePath": "contracts/staking/IStakingFacade.sol", "exportedSymbols": { "IChainRegistryFacade": [ 7497 ], "IERC20Metadata": [ 9510 ], "IStakingFacade": [ 7660 ] }, "id": 7661, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 7552, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:62" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/extensions/IERC20Metadata.sol", "file": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "id": 7554, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 7661, "sourceUnit": 9511, "src": "540:97:62", "symbolAliases": [ { "foreign": { "id": 7553, "name": "IERC20Metadata", "nodeType": "Identifier", "overloadedDeclarations": [], "src": "548:14:62", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/registry/IChainRegistryFacade.sol", "file": "../registry/IChainRegistryFacade.sol", "id": 7556, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 7661, "sourceUnit": 7498, "src": "639:74:62", "symbolAliases": [ { "foreign": { "id": 7555, "name": "IChainRegistryFacade", "nodeType": "Identifier", "overloadedDeclarations": [], "src": "647:20:62", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "id": 7660, "linearizedBaseContracts": [ 7660 ], "name": "IStakingFacade", "nameLocation": "725:14:62", "nodeType": "ContractDefinition", "nodes": [ { "functionSelector": "8da5cb5b", "id": 7561, "implemented": false, "kind": "function", "modifiers": [], "name": "owner", "nameLocation": "756:5:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7557, "nodeType": "ParameterList", "parameters": [], "src": "761:2:62" }, "returnParameters": { "id": 7560, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7559, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7561, "src": "786:7:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7558, "name": "address", "nodeType": "ElementaryTypeName", "src": "786:7:62", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "785:9:62" }, "scope": 7660, "src": "747:48:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "5ab1bd53", "id": 7567, "implemented": false, "kind": "function", "modifiers": [], "name": "getRegistry", "nameLocation": "809:11:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7562, "nodeType": "ParameterList", "parameters": [], "src": "820:2:62" }, "returnParameters": { "id": 7566, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7565, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7567, "src": "845:20:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IChainRegistryFacade_$7497", "typeString": "contract IChainRegistryFacade" }, "typeName": { "id": 7564, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7563, "name": "IChainRegistryFacade", "nodeType": "IdentifierPath", "referencedDeclaration": 7497, "src": "845:20:62" }, "referencedDeclaration": 7497, "src": "845:20:62", "typeDescriptions": { "typeIdentifier": "t_contract$_IChainRegistryFacade_$7497", "typeString": "contract IChainRegistryFacade" } }, "visibility": "internal" } ], "src": "844:22:62" }, "scope": 7660, "src": "800:67:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "b3fc986e", "id": 7572, "implemented": false, "kind": "function", "modifiers": [], "name": "getStakingWallet", "nameLocation": "882:16:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7568, "nodeType": "ParameterList", "parameters": [], "src": "898:2:62" }, "returnParameters": { "id": 7571, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7570, "mutability": "mutable", "name": "stakingWallet", "nameLocation": "931:13:62", "nodeType": "VariableDeclaration", "scope": 7572, "src": "923:21:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7569, "name": "address", "nodeType": "ElementaryTypeName", "src": "923:7:62", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "922:23:62" }, "scope": 7660, "src": "873:73:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "b54ded6e", "id": 7578, "implemented": false, "kind": "function", "modifiers": [], "name": "getDip", "nameLocation": "960:6:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7573, "nodeType": "ParameterList", "parameters": [], "src": "966:2:62" }, "returnParameters": { "id": 7577, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7576, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7578, "src": "991:14:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20Metadata_$9510", "typeString": "contract IERC20Metadata" }, "typeName": { "id": 7575, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7574, "name": "IERC20Metadata", "nodeType": "IdentifierPath", "referencedDeclaration": 9510, "src": "991:14:62" }, "referencedDeclaration": 9510, "src": "991:14:62", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20Metadata_$9510", "typeString": "contract IERC20Metadata" } }, "visibility": "internal" } ], "src": "990:16:62" }, "scope": 7660, "src": "951:56:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "0d40ffc7", "id": 7583, "implemented": false, "kind": "function", "modifiers": [], "name": "maxRewardRate", "nameLocation": "1022:13:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7579, "nodeType": "ParameterList", "parameters": [], "src": "1035:2:62" }, "returnParameters": { "id": 7582, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7581, "mutability": "mutable", "name": "rate", "nameLocation": "1068:4:62", "nodeType": "VariableDeclaration", "scope": 7583, "src": "1060:12:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7580, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1060:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1059:14:62" }, "scope": 7660, "src": "1013:61:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "7b0a47ee", "id": 7588, "implemented": false, "kind": "function", "modifiers": [], "name": "rewardRate", "nameLocation": "1088:10:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7584, "nodeType": "ParameterList", "parameters": [], "src": "1098:2:62" }, "returnParameters": { "id": 7587, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7586, "mutability": "mutable", "name": "rate", "nameLocation": "1131:4:62", "nodeType": "VariableDeclaration", "scope": 7588, "src": "1123:12:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7585, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1123:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1122:14:62" }, "scope": 7660, "src": "1079:58:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "aa5c3ab4", "id": 7593, "implemented": false, "kind": "function", "modifiers": [], "name": "rewardBalance", "nameLocation": "1151:13:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7589, "nodeType": "ParameterList", "parameters": [], "src": "1164:2:62" }, "returnParameters": { "id": 7592, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7591, "mutability": "mutable", "name": "dipAmount", "nameLocation": "1197:9:62", "nodeType": "VariableDeclaration", "scope": 7593, "src": "1189:17:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7590, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1189:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1188:19:62" }, "scope": 7660, "src": "1142:66:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "f0de8228", "id": 7598, "implemented": false, "kind": "function", "modifiers": [], "name": "rewardReserves", "nameLocation": "1222:14:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7594, "nodeType": "ParameterList", "parameters": [], "src": "1236:2:62" }, "returnParameters": { "id": 7597, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7596, "mutability": "mutable", "name": "dipAmount", "nameLocation": "1269:9:62", "nodeType": "VariableDeclaration", "scope": 7598, "src": "1261:17:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7595, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1261:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1260:19:62" }, "scope": 7660, "src": "1213:67:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "93bc9dfe", "id": 7603, "implemented": false, "kind": "function", "modifiers": [], "name": "stakeBalance", "nameLocation": "1295:12:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7599, "nodeType": "ParameterList", "parameters": [], "src": "1307:2:62" }, "returnParameters": { "id": 7602, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7601, "mutability": "mutable", "name": "dipAmount", "nameLocation": "1340:9:62", "nodeType": "VariableDeclaration", "scope": 7603, "src": "1332:17:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7600, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1332:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1331:19:62" }, "scope": 7660, "src": "1286:65:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "0dd4d811", "id": 7612, "implemented": false, "kind": "function", "modifiers": [], "name": "stakingRate", "nameLocation": "1365:11:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7608, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7605, "mutability": "mutable", "name": "chain", "nameLocation": "1384:5:62", "nodeType": "VariableDeclaration", "scope": 7612, "src": "1377:12:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes5", "typeString": "bytes5" }, "typeName": { "id": 7604, "name": "bytes5", "nodeType": "ElementaryTypeName", "src": "1377:6:62", "typeDescriptions": { "typeIdentifier": "t_bytes5", "typeString": "bytes5" } }, "visibility": "internal" }, { "constant": false, "id": 7607, "mutability": "mutable", "name": "token", "nameLocation": "1399:5:62", "nodeType": "VariableDeclaration", "scope": 7612, "src": "1391:13:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7606, "name": "address", "nodeType": "ElementaryTypeName", "src": "1391:7:62", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "1376:29:62" }, "returnParameters": { "id": 7611, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7610, "mutability": "mutable", "name": "rate", "nameLocation": "1436:4:62", "nodeType": "VariableDeclaration", "scope": 7612, "src": "1428:12:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7609, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1428:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1427:14:62" }, "scope": 7660, "src": "1356:86:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "33d84ec0", "id": 7619, "implemented": false, "kind": "function", "modifiers": [], "name": "capitalSupport", "nameLocation": "1457:14:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7615, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7614, "mutability": "mutable", "name": "targetNftId", "nameLocation": "1479:11:62", "nodeType": "VariableDeclaration", "scope": 7619, "src": "1472:18:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint96", "typeString": "uint96" }, "typeName": { "id": 7613, "name": "uint96", "nodeType": "ElementaryTypeName", "src": "1472:6:62", "typeDescriptions": { "typeIdentifier": "t_uint96", "typeString": "uint96" } }, "visibility": "internal" } ], "src": "1471:20:62" }, "returnParameters": { "id": 7618, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7617, "mutability": "mutable", "name": "capitalAmount", "nameLocation": "1522:13:62", "nodeType": "VariableDeclaration", "scope": 7619, "src": "1514:21:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7616, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1514:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1513:23:62" }, "scope": 7660, "src": "1448:89:62", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "1b08829c", "id": 7624, "implemented": false, "kind": "function", "modifiers": [], "name": "implementsIStaking", "nameLocation": "1551:18:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7620, "nodeType": "ParameterList", "parameters": [], "src": "1569:2:62" }, "returnParameters": { "id": 7623, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7622, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7624, "src": "1594:4:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 7621, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1594:4:62", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "1593:6:62" }, "scope": 7660, "src": "1542:58:62", "stateMutability": "pure", "virtual": false, "visibility": "external" }, { "functionSelector": "178156ca", "id": 7631, "implemented": false, "kind": "function", "modifiers": [], "name": "toChain", "nameLocation": "1615:7:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7627, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7626, "mutability": "mutable", "name": "chainId", "nameLocation": "1631:7:62", "nodeType": "VariableDeclaration", "scope": 7631, "src": "1623:15:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7625, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1623:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1622:17:62" }, "returnParameters": { "id": 7630, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7629, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7631, "src": "1662:6:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes5", "typeString": "bytes5" }, "typeName": { "id": 7628, "name": "bytes5", "nodeType": "ElementaryTypeName", "src": "1662:6:62", "typeDescriptions": { "typeIdentifier": "t_bytes5", "typeString": "bytes5" } }, "visibility": "internal" } ], "src": "1661:8:62" }, "scope": 7660, "src": "1606:64:62", "stateMutability": "pure", "virtual": false, "visibility": "external" }, { "functionSelector": "fc1cd6cc", "id": 7640, "implemented": false, "kind": "function", "modifiers": [], "name": "toRate", "nameLocation": "1685:6:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7636, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7633, "mutability": "mutable", "name": "value", "nameLocation": "1700:5:62", "nodeType": "VariableDeclaration", "scope": 7640, "src": "1692:13:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7632, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1692:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 7635, "mutability": "mutable", "name": "exp", "nameLocation": "1712:3:62", "nodeType": "VariableDeclaration", "scope": 7640, "src": "1707:8:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" }, "typeName": { "id": 7634, "name": "int8", "nodeType": "ElementaryTypeName", "src": "1707:4:62", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" } }, "visibility": "internal" } ], "src": "1691:25:62" }, "returnParameters": { "id": 7639, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7638, "mutability": "mutable", "name": "rate", "nameLocation": "1747:4:62", "nodeType": "VariableDeclaration", "scope": 7640, "src": "1739:12:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7637, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1739:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1738:14:62" }, "scope": 7660, "src": "1676:77:62", "stateMutability": "pure", "virtual": false, "visibility": "external" }, { "functionSelector": "1a3480b5", "id": 7645, "implemented": false, "kind": "function", "modifiers": [], "name": "rateDecimals", "nameLocation": "1767:12:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7641, "nodeType": "ParameterList", "parameters": [], "src": "1779:2:62" }, "returnParameters": { "id": 7644, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7643, "mutability": "mutable", "name": "decimals", "nameLocation": "1812:8:62", "nodeType": "VariableDeclaration", "scope": 7645, "src": "1804:16:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7642, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1804:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1803:18:62" }, "scope": 7660, "src": "1758:64:62", "stateMutability": "pure", "virtual": false, "visibility": "external" }, { "functionSelector": "54fd4d50", "id": 7650, "implemented": false, "kind": "function", "modifiers": [], "name": "version", "nameLocation": "1837:7:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7646, "nodeType": "ParameterList", "parameters": [], "src": "1844:2:62" }, "returnParameters": { "id": 7649, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7648, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7650, "src": "1869:6:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" }, "typeName": { "id": 7647, "name": "uint48", "nodeType": "ElementaryTypeName", "src": "1869:6:62", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" } }, "visibility": "internal" } ], "src": "1868:8:62" }, "scope": 7660, "src": "1828:49:62", "stateMutability": "pure", "virtual": false, "visibility": "external" }, { "functionSelector": "bd4080ec", "id": 7659, "implemented": false, "kind": "function", "modifiers": [], "name": "versionParts", "nameLocation": "1891:12:62", "nodeType": "FunctionDefinition", "parameters": { "id": 7651, "nodeType": "ParameterList", "parameters": [], "src": "1903:2:62" }, "returnParameters": { "id": 7658, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7653, "mutability": "mutable", "name": "major", "nameLocation": "1972:5:62", "nodeType": "VariableDeclaration", "scope": 7659, "src": "1965:12:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" }, "typeName": { "id": 7652, "name": "uint16", "nodeType": "ElementaryTypeName", "src": "1965:6:62", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" } }, "visibility": "internal" }, { "constant": false, "id": 7655, "mutability": "mutable", "name": "minor", "nameLocation": "1998:5:62", "nodeType": "VariableDeclaration", "scope": 7659, "src": "1991:12:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" }, "typeName": { "id": 7654, "name": "uint16", "nodeType": "ElementaryTypeName", "src": "1991:6:62", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" } }, "visibility": "internal" }, { "constant": false, "id": 7657, "mutability": "mutable", "name": "patch", "nameLocation": "2024:5:62", "nodeType": "VariableDeclaration", "scope": 7659, "src": "2017:12:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" }, "typeName": { "id": 7656, "name": "uint16", "nodeType": "ElementaryTypeName", "src": "2017:6:62", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" } }, "visibility": "internal" } ], "src": "1951:88:62" }, "scope": 7660, "src": "1882:158:62", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 7661, "src": "715:1328:62" } ], "src": "39:2004:62" }, "bytecode": "", "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", "compiler": { "evm_version": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "version": "0.8.2+commit.661d1103" }, "contractName": "IStakingFacade", "coverageMap": { "branches": {}, "statements": {} }, "dependencies": [ "IChainNftFacade", "IChainRegistryFacade", "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC20", "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC20Metadata" ], "deployedBytecode": "", "deployedSourceMap": "", "language": "Solidity", "natspec": { "kind": "dev",