@etherisc/depeg-contracts
Version:
Etherisc's smart contracts for a depeg insurance for stable coins.
1,570 lines (1,569 loc) • 52.4 kB
JSON
{
"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",