secretstore-contracts
Version:
Secret Store permissioning and service contracts collection and toolkit.
1,389 lines • 141 kB
JSON
{
"contractName": "KeyServerSet",
"abi": [
{
"constant": true,
"inputs": [],
"name": "getCurrentLastChange",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "keyServer",
"type": "address"
}
],
"name": "getCurrentKeyServerIndex",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getCurrentKeyServersCount",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "index",
"type": "uint8"
}
],
"name": "getCurrentKeyServer",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getCurrentKeyServers",
"outputs": [
{
"name": "",
"type": "address[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "keyServer",
"type": "address"
}
],
"name": "getCurrentKeyServerPublic",
"outputs": [
{
"name": "",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "keyServer",
"type": "address"
}
],
"name": "getCurrentKeyServerAddress",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "//! The KeyServerSet contract.\n//!\n//! Copyright 2017 Svyatoslav Nikolsky, Parity Technologies Ltd.\n//!\n//! Licensed under the Apache License, Version 2.0 (the \"License\");\n//! you may not use this file except in compliance with the License.\n//! You may obtain a copy of the License at\n//!\n//! http://www.apache.org/licenses/LICENSE-2.0\n//!\n//! Unless required by applicable law or agreed to in writing, software\n//! distributed under the License is distributed on an \"AS IS\" BASIS,\n//! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//! See the License for the specific language governing permissions and\n//! limitations under the License.\n\npragma solidity ^0.4.24;\n\n/// Simple key server set.\ninterface KeyServerSet {\n /// Get number of block when current set has been changed last time.\n function getCurrentLastChange() external view returns (uint256);\n /// Get index of given key server in current set.\n function getCurrentKeyServerIndex(address keyServer) external view returns (uint8);\n /// Get count of key servers in current set.\n function getCurrentKeyServersCount() external view returns (uint8);\n /// Get address of key server in current set.\n function getCurrentKeyServer(uint8 index) external view returns (address);\n\n /// Get all current key servers.\n function getCurrentKeyServers() external view returns (address[] memory);\n /// Get current key server public key.\n function getCurrentKeyServerPublic(address keyServer) external view returns (bytes memory);\n /// Get current key server address.\n function getCurrentKeyServerAddress(address keyServer) external view returns (string memory);\n}\n\n/// Key server set with migration support.\ninterface KeyServerSetWithMigration {\n /// When new server is added to new set.\n event KeyServerAdded(address keyServer);\n /// When existing server is removed from new set.\n event KeyServerRemoved(address keyServer);\n /// When migration is started.\n event MigrationStarted();\n /// When migration is completed.\n event MigrationCompleted();\n\n /// Get number of block when current set has been changed last time.\n function getCurrentLastChange() external view returns (uint256);\n /// Get index of given key server in current set.\n function getCurrentKeyServerIndex(address keyServer) external view returns (uint8);\n /// Get count of key servers in current set.\n function getCurrentKeyServersCount() external view returns (uint8);\n /// Get address of key server in current set.\n function getCurrentKeyServer(uint8 index) external view returns (address);\n\n /// Get all current key servers.\n function getCurrentKeyServers() external view returns (address[] memory);\n /// Get current key server public key.\n function getCurrentKeyServerPublic(address keyServer) external view returns (bytes memory);\n /// Get current key server address.\n function getCurrentKeyServerAddress(address keyServer) external view returns (string memory);\n\n /// Get all migration key servers.\n function getMigrationKeyServers() external view returns (address[] memory);\n /// Get migration key server public key.\n function getMigrationKeyServerPublic(address keyServer) external view returns (bytes memory);\n /// Get migration key server address.\n function getMigrationKeyServerAddress(address keyServer) external view returns (string memory);\n\n /// Get all new key servers.\n function getNewKeyServers() external view returns (address[] memory);\n /// Get new key server public key.\n function getNewKeyServerPublic(address keyServer) external view returns (bytes memory);\n /// Get new key server address.\n function getNewKeyServerAddress(address keyServer) external view returns (string memory);\n\n /// Get migration id.\n function getMigrationId() external view returns (bytes32);\n /// Get migration master.\n function getMigrationMaster() external view returns (address);\n /// Is migration confirmed by given node?\n function isMigrationConfirmed(address keyServer) external view returns (bool);\n /// Start migration.\n function startMigration(bytes32 id) external;\n /// Confirm migration.\n function confirmMigration(bytes32 id) external;\n}\n",
"sourcePath": "/home/aznagy/work/secretstore/secretstore-contracts/contracts/interfaces/KeyServerSet.sol",
"ast": {
"absolutePath": "/home/aznagy/work/secretstore/secretstore-contracts/contracts/interfaces/KeyServerSet.sol",
"exportedSymbols": {
"KeyServerSet": [
452
],
"KeyServerSetWithMigration": [
576
]
},
"id": 577,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 407,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "671:24:2"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "Simple key server set.",
"fullyImplemented": false,
"id": 452,
"linearizedBaseContracts": [
452
],
"name": "KeyServerSet",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "Get number of block when current set has been changed last time.",
"id": 412,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentLastChange",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 408,
"nodeType": "ParameterList",
"parameters": [],
"src": "855:2:2"
},
"payable": false,
"returnParameters": {
"id": 411,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 410,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 412,
"src": "881:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 409,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "881:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "880:9:2"
},
"scope": 452,
"src": "826:64:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get index of given key server in current set.",
"id": 419,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServerIndex",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 415,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 414,
"name": "keyServer",
"nodeType": "VariableDeclaration",
"scope": 419,
"src": "983:17:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 413,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "983:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "982:19:2"
},
"payable": false,
"returnParameters": {
"id": 418,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 417,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 419,
"src": "1025:5:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 416,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1025:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1024:7:2"
},
"scope": 452,
"src": "949:83:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get count of key servers in current set.",
"id": 424,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServersCount",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 420,
"nodeType": "ParameterList",
"parameters": [],
"src": "1120:2:2"
},
"payable": false,
"returnParameters": {
"id": 423,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 422,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 424,
"src": "1146:5:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 421,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1146:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1145:7:2"
},
"scope": 452,
"src": "1086:67:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get address of key server in current set.",
"id": 431,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServer",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 427,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 426,
"name": "index",
"nodeType": "VariableDeclaration",
"scope": 431,
"src": "1237:11:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 425,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1237:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1236:13:2"
},
"payable": false,
"returnParameters": {
"id": 430,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 429,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 431,
"src": "1273:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 428,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1273:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1272:9:2"
},
"scope": 452,
"src": "1208:74:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get all current key servers.",
"id": 437,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServers",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 432,
"nodeType": "ParameterList",
"parameters": [],
"src": "1354:2:2"
},
"payable": false,
"returnParameters": {
"id": 436,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 435,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 437,
"src": "1380:9:2",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 433,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1380:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 434,
"length": null,
"nodeType": "ArrayTypeName",
"src": "1380:9:2",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1379:18:2"
},
"scope": 452,
"src": "1325:73:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get current key server public key.",
"id": 444,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServerPublic",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 440,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 439,
"name": "keyServer",
"nodeType": "VariableDeclaration",
"scope": 444,
"src": "1481:17:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 438,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1481:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1480:19:2"
},
"payable": false,
"returnParameters": {
"id": 443,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 442,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 444,
"src": "1523:5:2",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 441,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1523:5:2",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1522:14:2"
},
"scope": 452,
"src": "1446:91:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get current key server address.",
"id": 451,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServerAddress",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 447,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 446,
"name": "keyServer",
"nodeType": "VariableDeclaration",
"scope": 451,
"src": "1618:17:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 445,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1618:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1617:19:2"
},
"payable": false,
"returnParameters": {
"id": 450,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 449,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 451,
"src": "1660:6:2",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 448,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1660:6:2",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1659:15:2"
},
"scope": 452,
"src": "1582:93:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
}
],
"scope": 577,
"src": "724:953:2"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "Key server set with migration support.",
"fullyImplemented": false,
"id": 576,
"linearizedBaseContracts": [
576
],
"name": "KeyServerSetWithMigration",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": "When new server is added to new set.",
"id": 456,
"name": "KeyServerAdded",
"nodeType": "EventDefinition",
"parameters": {
"id": 455,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 454,
"indexed": false,
"name": "keyServer",
"nodeType": "VariableDeclaration",
"scope": 456,
"src": "1830:17:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 453,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1830:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1829:19:2"
},
"src": "1809:40:2"
},
{
"anonymous": false,
"documentation": "When existing server is removed from new set.",
"id": 460,
"name": "KeyServerRemoved",
"nodeType": "EventDefinition",
"parameters": {
"id": 459,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 458,
"indexed": false,
"name": "keyServer",
"nodeType": "VariableDeclaration",
"scope": 460,
"src": "1931:17:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 457,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1931:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1930:19:2"
},
"src": "1908:42:2"
},
{
"anonymous": false,
"documentation": "When migration is started.",
"id": 462,
"name": "MigrationStarted",
"nodeType": "EventDefinition",
"parameters": {
"id": 461,
"nodeType": "ParameterList",
"parameters": [],
"src": "2012:2:2"
},
"src": "1990:25:2"
},
{
"anonymous": false,
"documentation": "When migration is completed.",
"id": 464,
"name": "MigrationCompleted",
"nodeType": "EventDefinition",
"parameters": {
"id": 463,
"nodeType": "ParameterList",
"parameters": [],
"src": "2081:2:2"
},
"src": "2057:27:2"
},
{
"body": null,
"documentation": "Get number of block when current set has been changed last time.",
"id": 469,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentLastChange",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 465,
"nodeType": "ParameterList",
"parameters": [],
"src": "2192:2:2"
},
"payable": false,
"returnParameters": {
"id": 468,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 467,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 469,
"src": "2218:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 466,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2218:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2217:9:2"
},
"scope": 576,
"src": "2163:64:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get index of given key server in current set.",
"id": 476,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServerIndex",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 472,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 471,
"name": "keyServer",
"nodeType": "VariableDeclaration",
"scope": 476,
"src": "2320:17:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 470,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2320:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2319:19:2"
},
"payable": false,
"returnParameters": {
"id": 475,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 474,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 476,
"src": "2362:5:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 473,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "2362:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2361:7:2"
},
"scope": 576,
"src": "2286:83:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get count of key servers in current set.",
"id": 481,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServersCount",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 477,
"nodeType": "ParameterList",
"parameters": [],
"src": "2457:2:2"
},
"payable": false,
"returnParameters": {
"id": 480,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 479,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 481,
"src": "2483:5:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 478,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "2483:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2482:7:2"
},
"scope": 576,
"src": "2423:67:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get address of key server in current set.",
"id": 488,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServer",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 484,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 483,
"name": "index",
"nodeType": "VariableDeclaration",
"scope": 488,
"src": "2574:11:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 482,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "2574:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2573:13:2"
},
"payable": false,
"returnParameters": {
"id": 487,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 486,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 488,
"src": "2610:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 485,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2610:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2609:9:2"
},
"scope": 576,
"src": "2545:74:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get all current key servers.",
"id": 494,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServers",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 489,
"nodeType": "ParameterList",
"parameters": [],
"src": "2691:2:2"
},
"payable": false,
"returnParameters": {
"id": 493,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 492,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 494,
"src": "2717:9:2",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 490,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2717:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 491,
"length": null,
"nodeType": "ArrayTypeName",
"src": "2717:9:2",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2716:18:2"
},
"scope": 576,
"src": "2662:73:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get current key server public key.",
"id": 501,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServerPublic",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 497,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 496,
"name": "keyServer",
"nodeType": "VariableDeclaration",
"scope": 501,
"src": "2818:17:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 495,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2818:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2817:19:2"
},
"payable": false,
"returnParameters": {
"id": 500,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 499,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 501,
"src": "2860:5:2",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 498,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2860:5:2",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2859:14:2"
},
"scope": 576,
"src": "2783:91:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get current key server address.",
"id": 508,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getCurrentKeyServerAddress",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 504,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 503,
"name": "keyServer",
"nodeType": "VariableDeclaration",
"scope": 508,
"src": "2955:17:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 502,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2955:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2954:19:2"
},
"payable": false,
"returnParameters": {
"id": 507,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 506,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 508,
"src": "2997:6:2",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 505,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2997:6:2",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2996:15:2"
},
"scope": 576,
"src": "2919:93:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get all migration key servers.",
"id": 514,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getMigrationKeyServers",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 509,
"nodeType": "ParameterList",
"parameters": [],
"src": "3088:2:2"
},
"payable": false,
"returnParameters": {
"id": 513,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 512,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 514,
"src": "3114:9:2",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 510,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3114:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 511,
"length": null,
"nodeType": "ArrayTypeName",
"src": "3114:9:2",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3113:18:2"
},
"scope": 576,
"src": "3057:75:2",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Get migration key server public key.",
"id": 521,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "g