Created
April 21, 2021 19:03
-
-
Save Fraser999/a510101058b1fa2e21118237fae7c51e to your computer and use it in GitHub Desktop.
The OpenRPC-compatible schema describing the JSON-RPC API of the Casper network at version 1.0.0.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"openrpc":"1.0.0-rc1", | |
"info":{ | |
"version":"1.0.0", | |
"title":"Client API of Casper Node", | |
"description":"This describes the JSON-RPC 2.0 API of a node on the Casper network.", | |
"contact":{ | |
"name":"CasperLabs", | |
"url":"https://casperlabs.io" | |
}, | |
"license":{ | |
"name":"CasperLabs Open Source License Version 1.0", | |
"url":"https://raw.githubusercontent.com/CasperLabs/casper-node/master/LICENSE" | |
} | |
}, | |
"servers":[ | |
{ | |
"name":"any Casper Network node", | |
"url":"http://IP:PORT/rpc/" | |
} | |
], | |
"methods":[ | |
{ | |
"name":"account_put_deploy", | |
"summary":"receives a Deploy to be executed by the network", | |
"params":[ | |
{ | |
"name":"deploy", | |
"schema":{ | |
"description":"The `Deploy`.", | |
"$ref":"#/components/schemas/Deploy" | |
}, | |
"required":true | |
} | |
], | |
"result":{ | |
"name":"account_put_deploy_result", | |
"schema":{ | |
"description":"Result for \"account_put_deploy\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version", | |
"deploy_hash" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"deploy_hash":{ | |
"description":"The deploy hash.", | |
"$ref":"#/components/schemas/DeployHash" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"account_put_deploy_example", | |
"params":[ | |
{ | |
"name":"deploy", | |
"value":{ | |
"approvals":[ | |
{ | |
"signature":"012dbf03817a51794a8e19e0724884075e6d1fbec326b766ecfa6658b41f81290da85e23b24e88b1c8d9761185c961daee1adab0649912a6477bcd2e69bd91bd08", | |
"signer":"01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c" | |
} | |
], | |
"hash":"01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187", | |
"header":{ | |
"account":"01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", | |
"body_hash":"4811966d37fe5674a8af4001884ea0d9042d1c06668da0c963769c3a01ebd08f", | |
"chain_name":"casper-example", | |
"dependencies":[ | |
"0101010101010101010101010101010101010101010101010101010101010101" | |
], | |
"gas_price":1, | |
"timestamp":"2020-11-17T00:39:24.072Z", | |
"ttl":"1h" | |
}, | |
"payment":{ | |
"StoredContractByName":{ | |
"args":[ | |
[ | |
"quantity", | |
{ | |
"bytes":"e8030000", | |
"cl_type":"I32", | |
"parsed":1000 | |
} | |
] | |
], | |
"entry_point":"example-entry-point", | |
"name":"casper-example" | |
} | |
}, | |
"session":{ | |
"Transfer":{ | |
"args":[ | |
[ | |
"amount", | |
{ | |
"bytes":"e8030000", | |
"cl_type":"I32", | |
"parsed":1000 | |
} | |
] | |
] | |
} | |
} | |
} | |
} | |
], | |
"result":{ | |
"name":"account_put_deploy_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"deploy_hash":"01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187" | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"info_get_deploy", | |
"summary":"returns a Deploy from the network", | |
"params":[ | |
{ | |
"name":"deploy_hash", | |
"schema":{ | |
"description":"The deploy hash.", | |
"$ref":"#/components/schemas/DeployHash" | |
}, | |
"required":true | |
} | |
], | |
"result":{ | |
"name":"info_get_deploy_result", | |
"schema":{ | |
"description":"Result for \"info_get_deploy\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version", | |
"deploy", | |
"execution_results" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"deploy":{ | |
"description":"The deploy.", | |
"$ref":"#/components/schemas/Deploy" | |
}, | |
"execution_results":{ | |
"description":"The map of block hash to execution result.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/JsonExecutionResult" | |
} | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"info_get_deploy_example", | |
"params":[ | |
{ | |
"name":"deploy_hash", | |
"value":"01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187" | |
} | |
], | |
"result":{ | |
"name":"info_get_deploy_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"deploy":{ | |
"approvals":[ | |
{ | |
"signature":"012dbf03817a51794a8e19e0724884075e6d1fbec326b766ecfa6658b41f81290da85e23b24e88b1c8d9761185c961daee1adab0649912a6477bcd2e69bd91bd08", | |
"signer":"01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c" | |
} | |
], | |
"hash":"01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187", | |
"header":{ | |
"account":"01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", | |
"body_hash":"4811966d37fe5674a8af4001884ea0d9042d1c06668da0c963769c3a01ebd08f", | |
"chain_name":"casper-example", | |
"dependencies":[ | |
"0101010101010101010101010101010101010101010101010101010101010101" | |
], | |
"gas_price":1, | |
"timestamp":"2020-11-17T00:39:24.072Z", | |
"ttl":"1h" | |
}, | |
"payment":{ | |
"StoredContractByName":{ | |
"args":[ | |
[ | |
"quantity", | |
{ | |
"bytes":"e8030000", | |
"cl_type":"I32", | |
"parsed":1000 | |
} | |
] | |
], | |
"entry_point":"example-entry-point", | |
"name":"casper-example" | |
} | |
}, | |
"session":{ | |
"Transfer":{ | |
"args":[ | |
[ | |
"amount", | |
{ | |
"bytes":"e8030000", | |
"cl_type":"I32", | |
"parsed":1000 | |
} | |
] | |
] | |
} | |
} | |
}, | |
"execution_results":[ | |
{ | |
"block_hash":"528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", | |
"result":{ | |
"Success":{ | |
"cost":"123456", | |
"effect":{ | |
"operations":[ | |
{ | |
"key":"account-hash-2c4a11c062a8a337bfc97e27fd66291caeb2c65865dcb5d3ef3759c4c97efecb", | |
"kind":"Write" | |
}, | |
{ | |
"key":"deploy-af684263911154d26fa05be9963171802801a0b6aff8f199b7391eacb8edc9e1", | |
"kind":"Read" | |
} | |
], | |
"transforms":[ | |
{ | |
"key":"uref-2c4a11c062a8a337bfc97e27fd66291caeb2c65865dcb5d3ef3759c4c97efecb-007", | |
"transform":{ | |
"AddUInt64":8 | |
} | |
}, | |
{ | |
"key":"deploy-af684263911154d26fa05be9963171802801a0b6aff8f199b7391eacb8edc9e1", | |
"transform":"Identity" | |
} | |
] | |
}, | |
"transfers":[ | |
"transfer-5959595959595959595959595959595959595959595959595959595959595959", | |
"transfer-8282828282828282828282828282828282828282828282828282828282828282" | |
] | |
} | |
} | |
} | |
] | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"info_get_peers", | |
"summary":"returns a list of peers connected to the node", | |
"params":[ | |
], | |
"result":{ | |
"name":"info_get_peers_result", | |
"schema":{ | |
"description":"Result for \"info_get_peers\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version", | |
"peers" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"peers":{ | |
"description":"The node ID and network address of each connected peer.", | |
"$ref":"#/components/schemas/PeersMap" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"info_get_peers_example", | |
"params":[ | |
], | |
"result":{ | |
"name":"info_get_peers_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"peers":[ | |
{ | |
"address":"127.0.0.1:54321", | |
"node_id":"NodeId::Tls(0101..0101)" | |
} | |
] | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"info_get_status", | |
"summary":"returns the current status of the node", | |
"params":[ | |
], | |
"result":{ | |
"name":"info_get_status_result", | |
"schema":{ | |
"description":"Result for \"info_get_status\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version", | |
"build_version", | |
"chainspec_name", | |
"peers", | |
"starting_state_root_hash" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"chainspec_name":{ | |
"description":"The chainspec name.", | |
"type":"string" | |
}, | |
"starting_state_root_hash":{ | |
"description":"The state root hash used at the start of the current session.", | |
"type":"string" | |
}, | |
"peers":{ | |
"description":"The node ID and network address of each connected peer.", | |
"$ref":"#/components/schemas/PeersMap" | |
}, | |
"last_added_block_info":{ | |
"description":"The minimal info of the last block from the linear chain.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/MinimalBlockInfo" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
}, | |
"our_public_signing_key":{ | |
"description":"Our public signing key.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
}, | |
"round_length":{ | |
"description":"The next round length if this node is a validator.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/TimeDiff" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
}, | |
"next_upgrade":{ | |
"description":"Information about the next scheduled upgrade.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/NextUpgrade" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
}, | |
"build_version":{ | |
"description":"The compiled node version.", | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"info_get_status_example", | |
"params":[ | |
], | |
"result":{ | |
"name":"info_get_status_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"build_version":"1.0.0-34c802333", | |
"chainspec_name":"casper-example", | |
"last_added_block_info":{ | |
"creator":"01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", | |
"era_id":1, | |
"hash":"528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", | |
"height":10, | |
"state_root_hash":"0808080808080808080808080808080808080808080808080808080808080808", | |
"timestamp":"2020-11-17T00:39:24.072Z" | |
}, | |
"next_upgrade":{ | |
"activation_point":42, | |
"protocol_version":"2.0.1" | |
}, | |
"our_public_signing_key":"01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", | |
"peers":[ | |
{ | |
"address":"127.0.0.1:54321", | |
"node_id":"NodeId::Tls(0101..0101)" | |
} | |
], | |
"round_length":"1m 5s 536ms", | |
"starting_state_root_hash":"0202..0202" | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"chain_get_block", | |
"summary":"returns a Block from the network", | |
"params":[ | |
{ | |
"name":"block_identifier", | |
"schema":{ | |
"description":"The block hash.", | |
"$ref":"#/components/schemas/BlockIdentifier" | |
}, | |
"required":true | |
} | |
], | |
"result":{ | |
"name":"chain_get_block_result", | |
"schema":{ | |
"description":"Result for \"chain_get_block\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"block":{ | |
"description":"The block, if found.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/JsonBlock" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"chain_get_block_example", | |
"params":[ | |
{ | |
"name":"block_identifier", | |
"value":{ | |
"Hash":"528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18" | |
} | |
} | |
], | |
"result":{ | |
"name":"chain_get_block_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"block":{ | |
"body":{ | |
"deploy_hashes":[ | |
"01da3c604f71e0e7df83ff1ab4ef15bb04de64ca02e3d2b78de6950e8b5ee187" | |
], | |
"proposer":"01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", | |
"transfer_hashes":[ | |
] | |
}, | |
"hash":"528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", | |
"header":{ | |
"accumulated_seed":"ac979f51525cfd979b14aa7dc0737c5154eabe0db9280eceaa8dc8d2905b20d5", | |
"body_hash":"5f4b03936cebebe35eb1f2c542d34098b4c645c898673f1597de64ebdf916956", | |
"era_end":{ | |
"era_report":{ | |
"equivocators":[ | |
"013b6a27bcceb6a42d62a3a8d02a6f0d73653215771de243a63ac048a18b59da29" | |
], | |
"inactive_validators":[ | |
"018139770ea87d175f56a35466c34c7ecccb8d8a91b4ee37a25df60f5b8fc9b394" | |
], | |
"rewards":[ | |
{ | |
"amount":1000, | |
"validator":"018a88e3dd7409f195fd52db2d3cba5d72ca6709bf1d94121bf3748801b40f6f5c" | |
} | |
] | |
}, | |
"next_era_validator_weights":[ | |
{ | |
"validator":"016e7a1cdd29b0b78fd13af4c5598feff4ef2a97166e3ca6f2e4fbfccd80505bf1", | |
"weight":"456" | |
}, | |
{ | |
"validator":"018a875fff1eb38451577acd5afee405456568dd7c89e090863a0557bc7af49f17", | |
"weight":"789" | |
}, | |
{ | |
"validator":"01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", | |
"weight":"123" | |
} | |
] | |
}, | |
"era_id":1, | |
"height":10, | |
"parent_hash":"0707070707070707070707070707070707070707070707070707070707070707", | |
"protocol_version":"1.0.0", | |
"random_bit":true, | |
"state_root_hash":"0808080808080808080808080808080808080808080808080808080808080808", | |
"timestamp":"2020-11-17T00:39:24.072Z" | |
}, | |
"proofs":[ | |
{ | |
"public_key":"01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c", | |
"signature":"01674bf915211f4038d8e4ce9c68023d8b77a85fd937aaf951e1dc16e88a75664a055bf531babdb742003b7e731e3515138928045145490fdec530b461b97c7a0a" | |
} | |
] | |
} | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"chain_get_block_transfers", | |
"summary":"returns all transfers for a Block from the network", | |
"params":[ | |
{ | |
"name":"block_identifier", | |
"schema":{ | |
"description":"The block hash.", | |
"$ref":"#/components/schemas/BlockIdentifier" | |
}, | |
"required":true | |
} | |
], | |
"result":{ | |
"name":"chain_get_block_transfers_result", | |
"schema":{ | |
"description":"Result for \"chain_get_block_transfers\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"block_hash":{ | |
"description":"The block hash, if found.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/BlockHash" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
}, | |
"transfers":{ | |
"description":"The block's transfers, if found.", | |
"type":[ | |
"array", | |
"null" | |
], | |
"items":{ | |
"$ref":"#/components/schemas/Transfer" | |
} | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"chain_get_block_transfers_example", | |
"params":[ | |
{ | |
"name":"block_identifier", | |
"value":{ | |
"Hash":"528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18" | |
} | |
} | |
], | |
"result":{ | |
"name":"chain_get_block_transfers_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"block_hash":"528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", | |
"transfers":[ | |
{ | |
"amount":"0", | |
"deploy_hash":"0000000000000000000000000000000000000000000000000000000000000000", | |
"from":"account-hash-0000000000000000000000000000000000000000000000000000000000000000", | |
"gas":"0", | |
"id":null, | |
"source":"uref-0000000000000000000000000000000000000000000000000000000000000000-000", | |
"target":"uref-0000000000000000000000000000000000000000000000000000000000000000-000", | |
"to":null | |
} | |
] | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"chain_get_state_root_hash", | |
"summary":"returns a state root hash at a given Block", | |
"params":[ | |
{ | |
"name":"block_identifier", | |
"schema":{ | |
"description":"The block hash.", | |
"$ref":"#/components/schemas/BlockIdentifier" | |
}, | |
"required":true | |
} | |
], | |
"result":{ | |
"name":"chain_get_state_root_hash_result", | |
"schema":{ | |
"description":"Result for \"chain_get_state_root_hash\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"state_root_hash":{ | |
"description":"Hex-encoded hash of the state root.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/Digest" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"chain_get_state_root_hash_example", | |
"params":[ | |
{ | |
"name":"block_identifier", | |
"value":{ | |
"Height":10 | |
} | |
} | |
], | |
"result":{ | |
"name":"chain_get_state_root_hash_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"state_root_hash":"0808080808080808080808080808080808080808080808080808080808080808" | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"state_get_item", | |
"summary":"returns a stored value from the network", | |
"params":[ | |
{ | |
"name":"state_root_hash", | |
"schema":{ | |
"description":"Hash of the state root.", | |
"$ref":"#/components/schemas/Digest" | |
}, | |
"required":true | |
}, | |
{ | |
"name":"key", | |
"schema":{ | |
"description":"`casper_types::Key` as formatted string.", | |
"type":"string" | |
}, | |
"required":true | |
}, | |
{ | |
"name":"path", | |
"schema":{ | |
"description":"The path components starting from the key as base.", | |
"default":[ | |
], | |
"type":"array", | |
"items":{ | |
"type":"string" | |
} | |
}, | |
"required":false | |
} | |
], | |
"result":{ | |
"name":"state_get_item_result", | |
"schema":{ | |
"description":"Result for \"state_get_item\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version", | |
"merkle_proof", | |
"stored_value" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"stored_value":{ | |
"description":"The stored value.", | |
"$ref":"#/components/schemas/StoredValue" | |
}, | |
"merkle_proof":{ | |
"description":"The merkle proof.", | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"state_get_item_example", | |
"params":[ | |
{ | |
"name":"key", | |
"value":"deploy-af684263911154d26fa05be9963171802801a0b6aff8f199b7391eacb8edc9e1" | |
}, | |
{ | |
"name":"path", | |
"value":[ | |
"inner" | |
] | |
}, | |
{ | |
"name":"state_root_hash", | |
"value":"0808080808080808080808080808080808080808080808080808080808080808" | |
} | |
], | |
"result":{ | |
"name":"state_get_item_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"merkle_proof":"01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3", | |
"stored_value":{ | |
"CLValue":{ | |
"bytes":"0100000000000000", | |
"cl_type":"U64", | |
"parsed":1 | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"state_get_balance", | |
"summary":"returns a purse's balance from the network", | |
"params":[ | |
{ | |
"name":"state_root_hash", | |
"schema":{ | |
"description":"The hash of state root.", | |
"$ref":"#/components/schemas/Digest" | |
}, | |
"required":true | |
}, | |
{ | |
"name":"purse_uref", | |
"schema":{ | |
"description":"Formatted URef.", | |
"type":"string" | |
}, | |
"required":true | |
} | |
], | |
"result":{ | |
"name":"state_get_balance_result", | |
"schema":{ | |
"description":"Result for \"state_get_balance\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version", | |
"balance_value", | |
"merkle_proof" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"balance_value":{ | |
"description":"The balance value.", | |
"$ref":"#/components/schemas/U512" | |
}, | |
"merkle_proof":{ | |
"description":"The merkle proof.", | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"state_get_balance_example", | |
"params":[ | |
{ | |
"name":"purse_uref", | |
"value":"uref-09480c3248ef76b603d386f3f4f8a5f87f597d4eaffd475433f861af187ab5db-007" | |
}, | |
{ | |
"name":"state_root_hash", | |
"value":"0808080808080808080808080808080808080808080808080808080808080808" | |
} | |
], | |
"result":{ | |
"name":"state_get_balance_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"balance_value":"123456", | |
"merkle_proof":"01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3" | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"chain_get_era_info_by_switch_block", | |
"summary":"returns an EraInfo from the network", | |
"params":[ | |
{ | |
"name":"block_identifier", | |
"schema":{ | |
"description":"The block identifier.", | |
"$ref":"#/components/schemas/BlockIdentifier" | |
}, | |
"required":true | |
} | |
], | |
"result":{ | |
"name":"chain_get_era_info_by_switch_block_result", | |
"schema":{ | |
"description":"Result for \"chain_get_era_info\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"era_summary":{ | |
"description":"The era summary.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/EraSummary" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"chain_get_era_info_by_switch_block_example", | |
"params":[ | |
{ | |
"name":"block_identifier", | |
"value":{ | |
"Hash":"528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18" | |
} | |
} | |
], | |
"result":{ | |
"name":"chain_get_era_info_by_switch_block_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"era_summary":{ | |
"block_hash":"528c63a9e30bf6e52b9d38f7c1a3e2ec035a54bfb29225d31ecedff00eebbe18", | |
"era_id":42, | |
"merkle_proof":"01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3", | |
"state_root_hash":"0808080808080808080808080808080808080808080808080808080808080808", | |
"stored_value":{ | |
"EraInfo":{ | |
"seigniorage_allocations":[ | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"name":"state_get_auction_info", | |
"summary":"returns the bids and validators as of the most recently added Block", | |
"params":[ | |
], | |
"result":{ | |
"name":"state_get_auction_info_result", | |
"schema":{ | |
"description":"Result for \"state_get_auction_info\" RPC response.", | |
"type":"object", | |
"required":[ | |
"api_version", | |
"auction_state" | |
], | |
"properties":{ | |
"api_version":{ | |
"description":"The RPC API version.", | |
"type":"string" | |
}, | |
"auction_state":{ | |
"description":"The auction state.", | |
"$ref":"#/components/schemas/AuctionState" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"examples":[ | |
{ | |
"name":"state_get_auction_info_example", | |
"params":[ | |
], | |
"result":{ | |
"name":"state_get_auction_info_example_result", | |
"value":{ | |
"api_version":"1.0.0", | |
"auction_state":{ | |
"bids":[ | |
{ | |
"bid":{ | |
"bonding_purse":"uref-fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa-007", | |
"delegation_rate":0, | |
"delegators":[ | |
], | |
"inactive":false, | |
"staked_amount":"10" | |
}, | |
"public_key":"01197f6b23e16c8532c6abc838facd5ea789be0c76b2920334039bfa8b3d368d61" | |
} | |
], | |
"block_height":10, | |
"era_validators":[ | |
{ | |
"era_id":10, | |
"validator_weights":[ | |
{ | |
"public_key":"01197f6b23e16c8532c6abc838facd5ea789be0c76b2920334039bfa8b3d368d61", | |
"weight":"10" | |
} | |
] | |
} | |
], | |
"state_root_hash":"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b" | |
} | |
} | |
} | |
} | |
] | |
} | |
], | |
"components":{ | |
"schemas":{ | |
"Deploy":{ | |
"description":"A deploy; an item containing a smart contract along with the requester's signature(s).", | |
"type":"object", | |
"required":[ | |
"approvals", | |
"hash", | |
"header", | |
"payment", | |
"session" | |
], | |
"properties":{ | |
"hash":{ | |
"$ref":"#/components/schemas/DeployHash" | |
}, | |
"header":{ | |
"$ref":"#/components/schemas/DeployHeader" | |
}, | |
"payment":{ | |
"$ref":"#/components/schemas/ExecutableDeployItem" | |
}, | |
"session":{ | |
"$ref":"#/components/schemas/ExecutableDeployItem" | |
}, | |
"approvals":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/Approval" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"DeployHash":{ | |
"description":"Hex-encoded deploy hash.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/Digest" | |
} | |
] | |
}, | |
"Digest":{ | |
"description":"Hex-encoded hash digest.", | |
"type":"string" | |
}, | |
"DeployHeader":{ | |
"description":"The header portion of a [`Deploy`](struct.Deploy.html).", | |
"type":"object", | |
"required":[ | |
"account", | |
"body_hash", | |
"chain_name", | |
"dependencies", | |
"gas_price", | |
"timestamp", | |
"ttl" | |
], | |
"properties":{ | |
"account":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"timestamp":{ | |
"$ref":"#/components/schemas/Timestamp" | |
}, | |
"ttl":{ | |
"$ref":"#/components/schemas/TimeDiff" | |
}, | |
"gas_price":{ | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
}, | |
"body_hash":{ | |
"$ref":"#/components/schemas/Digest" | |
}, | |
"dependencies":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/DeployHash" | |
} | |
}, | |
"chain_name":{ | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"PublicKey":{ | |
"description":"Hex-encoded cryptographic public key, including the algorithm tag prefix.", | |
"type":"string" | |
}, | |
"Timestamp":{ | |
"description":"Timestamp formatted as per RFC 3339", | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
}, | |
"TimeDiff":{ | |
"description":"Human-readable duration.", | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
}, | |
"ExecutableDeployItem":{ | |
"anyOf":[ | |
{ | |
"type":"object", | |
"required":[ | |
"ModuleBytes" | |
], | |
"properties":{ | |
"ModuleBytes":{ | |
"type":"object", | |
"required":[ | |
"args", | |
"module_bytes" | |
], | |
"properties":{ | |
"module_bytes":{ | |
"description":"Hex-encoded raw Wasm bytes.", | |
"type":"string" | |
}, | |
"args":{ | |
"$ref":"#/components/schemas/RuntimeArgs" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"type":"object", | |
"required":[ | |
"StoredContractByHash" | |
], | |
"properties":{ | |
"StoredContractByHash":{ | |
"type":"object", | |
"required":[ | |
"args", | |
"entry_point", | |
"hash" | |
], | |
"properties":{ | |
"hash":{ | |
"description":"Hex-encoded hash.", | |
"type":"string" | |
}, | |
"entry_point":{ | |
"type":"string" | |
}, | |
"args":{ | |
"$ref":"#/components/schemas/RuntimeArgs" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"type":"object", | |
"required":[ | |
"StoredContractByName" | |
], | |
"properties":{ | |
"StoredContractByName":{ | |
"type":"object", | |
"required":[ | |
"args", | |
"entry_point", | |
"name" | |
], | |
"properties":{ | |
"name":{ | |
"type":"string" | |
}, | |
"entry_point":{ | |
"type":"string" | |
}, | |
"args":{ | |
"$ref":"#/components/schemas/RuntimeArgs" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"type":"object", | |
"required":[ | |
"StoredVersionedContractByHash" | |
], | |
"properties":{ | |
"StoredVersionedContractByHash":{ | |
"type":"object", | |
"required":[ | |
"args", | |
"entry_point", | |
"hash" | |
], | |
"properties":{ | |
"hash":{ | |
"description":"Hex-encoded hash.", | |
"type":"string" | |
}, | |
"version":{ | |
"type":[ | |
"integer", | |
"null" | |
], | |
"format":"uint32", | |
"minimum":0 | |
}, | |
"entry_point":{ | |
"type":"string" | |
}, | |
"args":{ | |
"$ref":"#/components/schemas/RuntimeArgs" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"type":"object", | |
"required":[ | |
"StoredVersionedContractByName" | |
], | |
"properties":{ | |
"StoredVersionedContractByName":{ | |
"type":"object", | |
"required":[ | |
"args", | |
"entry_point", | |
"name" | |
], | |
"properties":{ | |
"name":{ | |
"type":"string" | |
}, | |
"version":{ | |
"type":[ | |
"integer", | |
"null" | |
], | |
"format":"uint32", | |
"minimum":0 | |
}, | |
"entry_point":{ | |
"type":"string" | |
}, | |
"args":{ | |
"$ref":"#/components/schemas/RuntimeArgs" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"type":"object", | |
"required":[ | |
"Transfer" | |
], | |
"properties":{ | |
"Transfer":{ | |
"type":"object", | |
"required":[ | |
"args" | |
], | |
"properties":{ | |
"args":{ | |
"$ref":"#/components/schemas/RuntimeArgs" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
} | |
] | |
}, | |
"RuntimeArgs":{ | |
"description":"Represents a collection of arguments passed to a smart contract.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/NamedArg" | |
} | |
}, | |
"NamedArg":{ | |
"description":"Named arguments to a contract", | |
"type":"array", | |
"items":[ | |
{ | |
"type":"string" | |
}, | |
{ | |
"$ref":"#/components/schemas/CLValue" | |
} | |
], | |
"maxItems":2, | |
"minItems":2 | |
}, | |
"CLValue":{ | |
"description":"A Casper value, i.e. a value which can be stored and manipulated by smart contracts.\n\nIt holds the underlying data as a type-erased, serialized `Vec<u8>` and also holds the CLType of the underlying data as a separate member.\n\nThe `parsed` field, representing the original value, is a convenience only available when a CLValue is encoded to JSON, and can always be set to null if preferred.", | |
"type":"object", | |
"required":[ | |
"bytes", | |
"cl_type" | |
], | |
"properties":{ | |
"cl_type":{ | |
"$ref":"#/components/schemas/CLType" | |
}, | |
"bytes":{ | |
"type":"string" | |
}, | |
"parsed":true | |
}, | |
"additionalProperties":false | |
}, | |
"CLType":{ | |
"description":"Casper types, i.e. types which can be stored and manipulated by smart contracts.\n\nProvides a description of the underlying data type of a [`CLValue`](crate::CLValue).", | |
"anyOf":[ | |
{ | |
"type":"string", | |
"enum":[ | |
"Bool", | |
"I32", | |
"I64", | |
"U8", | |
"U32", | |
"U64", | |
"U128", | |
"U256", | |
"U512", | |
"Unit", | |
"String", | |
"Key", | |
"URef", | |
"PublicKey", | |
"Any" | |
] | |
}, | |
{ | |
"description":"`Option` of a `CLType`.", | |
"type":"object", | |
"required":[ | |
"Option" | |
], | |
"properties":{ | |
"Option":{ | |
"$ref":"#/components/schemas/CLType" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Variable-length list of a single `CLType` (comparable to a `Vec`).", | |
"type":"object", | |
"required":[ | |
"List" | |
], | |
"properties":{ | |
"List":{ | |
"$ref":"#/components/schemas/CLType" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Fixed-length list of a single `CLType` (comparable to a Rust array).", | |
"type":"object", | |
"required":[ | |
"ByteArray" | |
], | |
"properties":{ | |
"ByteArray":{ | |
"type":"integer", | |
"format":"uint32", | |
"minimum":0 | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"`Result` with `Ok` and `Err` variants of `CLType`s.", | |
"type":"object", | |
"required":[ | |
"Result" | |
], | |
"properties":{ | |
"Result":{ | |
"type":"object", | |
"required":[ | |
"err", | |
"ok" | |
], | |
"properties":{ | |
"ok":{ | |
"$ref":"#/components/schemas/CLType" | |
}, | |
"err":{ | |
"$ref":"#/components/schemas/CLType" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Map with keys of a single `CLType` and values of a single `CLType`.", | |
"type":"object", | |
"required":[ | |
"Map" | |
], | |
"properties":{ | |
"Map":{ | |
"type":"object", | |
"required":[ | |
"key", | |
"value" | |
], | |
"properties":{ | |
"key":{ | |
"$ref":"#/components/schemas/CLType" | |
}, | |
"value":{ | |
"$ref":"#/components/schemas/CLType" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"1-ary tuple of a `CLType`.", | |
"type":"object", | |
"required":[ | |
"Tuple1" | |
], | |
"properties":{ | |
"Tuple1":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/CLType" | |
}, | |
"maxItems":1, | |
"minItems":1 | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"2-ary tuple of `CLType`s.", | |
"type":"object", | |
"required":[ | |
"Tuple2" | |
], | |
"properties":{ | |
"Tuple2":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/CLType" | |
}, | |
"maxItems":2, | |
"minItems":2 | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"3-ary tuple of `CLType`s.", | |
"type":"object", | |
"required":[ | |
"Tuple3" | |
], | |
"properties":{ | |
"Tuple3":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/CLType" | |
}, | |
"maxItems":3, | |
"minItems":3 | |
} | |
}, | |
"additionalProperties":false | |
} | |
] | |
}, | |
"Approval":{ | |
"description":"A struct containing a signature and the public key of the signer.", | |
"type":"object", | |
"required":[ | |
"signature", | |
"signer" | |
], | |
"properties":{ | |
"signer":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"signature":{ | |
"$ref":"#/components/schemas/Signature" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"Signature":{ | |
"description":"Hex-encoded cryptographic signature, including the algorithm tag prefix.", | |
"type":"string" | |
}, | |
"JsonExecutionResult":{ | |
"description":"The execution result of a single deploy.", | |
"type":"object", | |
"required":[ | |
"block_hash", | |
"result" | |
], | |
"properties":{ | |
"block_hash":{ | |
"description":"The block hash.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/BlockHash" | |
} | |
] | |
}, | |
"result":{ | |
"description":"Execution result.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/ExecutionResult" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"BlockHash":{ | |
"description":"A cryptographic hash identifying a [`Block`](struct.Block.html).", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/Digest" | |
} | |
] | |
}, | |
"ExecutionResult":{ | |
"description":"The result of executing a single deploy.", | |
"anyOf":[ | |
{ | |
"description":"The result of a failed execution.", | |
"type":"object", | |
"required":[ | |
"Failure" | |
], | |
"properties":{ | |
"Failure":{ | |
"type":"object", | |
"required":[ | |
"cost", | |
"effect", | |
"error_message", | |
"transfers" | |
], | |
"properties":{ | |
"effect":{ | |
"description":"The effect of executing the deploy.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/ExecutionEffect" | |
} | |
] | |
}, | |
"transfers":{ | |
"description":"A record of Transfers performed while executing the deploy.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/TransferAddr" | |
} | |
}, | |
"cost":{ | |
"description":"The cost of executing the deploy.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
}, | |
"error_message":{ | |
"description":"The error message associated with executing the deploy.", | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"The result of a successful execution.", | |
"type":"object", | |
"required":[ | |
"Success" | |
], | |
"properties":{ | |
"Success":{ | |
"type":"object", | |
"required":[ | |
"cost", | |
"effect", | |
"transfers" | |
], | |
"properties":{ | |
"effect":{ | |
"description":"The effect of executing the deploy.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/ExecutionEffect" | |
} | |
] | |
}, | |
"transfers":{ | |
"description":"A record of Transfers performed while executing the deploy.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/TransferAddr" | |
} | |
}, | |
"cost":{ | |
"description":"The cost of executing the deploy.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
} | |
] | |
}, | |
"ExecutionEffect":{ | |
"description":"The effect of executing a single deploy.", | |
"type":"object", | |
"required":[ | |
"operations", | |
"transforms" | |
], | |
"properties":{ | |
"operations":{ | |
"description":"The resulting operations.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/Operation" | |
} | |
}, | |
"transforms":{ | |
"description":"The resulting transformations.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/TransformEntry" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"Operation":{ | |
"description":"An operation performed while executing a deploy.", | |
"type":"object", | |
"required":[ | |
"key", | |
"kind" | |
], | |
"properties":{ | |
"key":{ | |
"description":"The formatted string of the `Key`.", | |
"type":"string" | |
}, | |
"kind":{ | |
"description":"The type of operation.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/OpKind" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"OpKind":{ | |
"description":"The type of operation performed while executing a deploy.", | |
"type":"string", | |
"enum":[ | |
"Read", | |
"Write", | |
"Add", | |
"NoOp" | |
] | |
}, | |
"TransformEntry":{ | |
"description":"A transformation performed while executing a deploy.", | |
"type":"object", | |
"required":[ | |
"key", | |
"transform" | |
], | |
"properties":{ | |
"key":{ | |
"description":"The formatted string of the `Key`.", | |
"type":"string" | |
}, | |
"transform":{ | |
"description":"The transformation.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/Transform" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"Transform":{ | |
"description":"The actual transformation performed while executing a deploy.", | |
"anyOf":[ | |
{ | |
"type":"string", | |
"enum":[ | |
"Identity", | |
"WriteContractWasm", | |
"WriteContract", | |
"WriteContractPackage" | |
] | |
}, | |
{ | |
"description":"Writes the given CLValue to global state.", | |
"type":"object", | |
"required":[ | |
"WriteCLValue" | |
], | |
"properties":{ | |
"WriteCLValue":{ | |
"$ref":"#/components/schemas/CLValue" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Writes the given Account to global state.", | |
"type":"object", | |
"required":[ | |
"WriteAccount" | |
], | |
"properties":{ | |
"WriteAccount":{ | |
"$ref":"#/components/schemas/AccountHash" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Writes the given DeployInfo to global state.", | |
"type":"object", | |
"required":[ | |
"WriteDeployInfo" | |
], | |
"properties":{ | |
"WriteDeployInfo":{ | |
"$ref":"#/components/schemas/DeployInfo" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Writes the given EraInfo to global state.", | |
"type":"object", | |
"required":[ | |
"WriteEraInfo" | |
], | |
"properties":{ | |
"WriteEraInfo":{ | |
"$ref":"#/components/schemas/EraInfo" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Writes the given Transfer to global state.", | |
"type":"object", | |
"required":[ | |
"WriteTransfer" | |
], | |
"properties":{ | |
"WriteTransfer":{ | |
"$ref":"#/components/schemas/Transfer" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Writes the given Bid to global state.", | |
"type":"object", | |
"required":[ | |
"WriteBid" | |
], | |
"properties":{ | |
"WriteBid":{ | |
"$ref":"#/components/schemas/Bid" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Writes the given Withdraw to global state.", | |
"type":"object", | |
"required":[ | |
"WriteWithdraw" | |
], | |
"properties":{ | |
"WriteWithdraw":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/UnbondingPurse" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Adds the given `i32`.", | |
"type":"object", | |
"required":[ | |
"AddInt32" | |
], | |
"properties":{ | |
"AddInt32":{ | |
"type":"integer", | |
"format":"int32" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Adds the given `u64`.", | |
"type":"object", | |
"required":[ | |
"AddUInt64" | |
], | |
"properties":{ | |
"AddUInt64":{ | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Adds the given `U128`.", | |
"type":"object", | |
"required":[ | |
"AddUInt128" | |
], | |
"properties":{ | |
"AddUInt128":{ | |
"$ref":"#/components/schemas/U128" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Adds the given `U256`.", | |
"type":"object", | |
"required":[ | |
"AddUInt256" | |
], | |
"properties":{ | |
"AddUInt256":{ | |
"$ref":"#/components/schemas/U256" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Adds the given `U512`.", | |
"type":"object", | |
"required":[ | |
"AddUInt512" | |
], | |
"properties":{ | |
"AddUInt512":{ | |
"$ref":"#/components/schemas/U512" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Adds the given collection of named keys.", | |
"type":"object", | |
"required":[ | |
"AddKeys" | |
], | |
"properties":{ | |
"AddKeys":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/NamedKey" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"A failed transformation, containing an error message.", | |
"type":"object", | |
"required":[ | |
"Failure" | |
], | |
"properties":{ | |
"Failure":{ | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
} | |
] | |
}, | |
"AccountHash":{ | |
"description":"Hex-encoded account hash.", | |
"type":"string" | |
}, | |
"DeployInfo":{ | |
"description":"Information relating to the given Deploy.", | |
"type":"object", | |
"required":[ | |
"deploy_hash", | |
"from", | |
"gas", | |
"source", | |
"transfers" | |
], | |
"properties":{ | |
"deploy_hash":{ | |
"description":"The relevant Deploy.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/DeployHash" | |
} | |
] | |
}, | |
"transfers":{ | |
"description":"Transfers performed by the Deploy.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/TransferAddr" | |
} | |
}, | |
"from":{ | |
"description":"Account identifier of the creator of the Deploy.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/AccountHash" | |
} | |
] | |
}, | |
"source":{ | |
"description":"Source purse used for payment of the Deploy.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/URef" | |
} | |
] | |
}, | |
"gas":{ | |
"description":"Gas cost of executing the Deploy.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"TransferAddr":{ | |
"description":"Hex-encoded transfer address.", | |
"type":"string" | |
}, | |
"URef":{ | |
"description":"Hex-encoded, formatted URef.", | |
"type":"string" | |
}, | |
"U512":{ | |
"description":"Decimal representation of a 512-bit integer.", | |
"type":"string" | |
}, | |
"EraInfo":{ | |
"description":"Auction metadata. Intended to be recorded at each era.", | |
"type":"object", | |
"required":[ | |
"seigniorage_allocations" | |
], | |
"properties":{ | |
"seigniorage_allocations":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/SeigniorageAllocation" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"SeigniorageAllocation":{ | |
"description":"Information about a seigniorage allocation", | |
"anyOf":[ | |
{ | |
"description":"Info about a seigniorage allocation for a validator", | |
"type":"object", | |
"required":[ | |
"Validator" | |
], | |
"properties":{ | |
"Validator":{ | |
"type":"object", | |
"required":[ | |
"amount", | |
"validator_public_key" | |
], | |
"properties":{ | |
"validator_public_key":{ | |
"description":"Validator's public key", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
] | |
}, | |
"amount":{ | |
"description":"Allocated amount", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Info about a seigniorage allocation for a delegator", | |
"type":"object", | |
"required":[ | |
"Delegator" | |
], | |
"properties":{ | |
"Delegator":{ | |
"type":"object", | |
"required":[ | |
"amount", | |
"delegator_public_key", | |
"validator_public_key" | |
], | |
"properties":{ | |
"delegator_public_key":{ | |
"description":"Delegator's public key", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
] | |
}, | |
"validator_public_key":{ | |
"description":"Validator's public key", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
] | |
}, | |
"amount":{ | |
"description":"Allocated amount", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
} | |
}, | |
"additionalProperties":false | |
} | |
] | |
}, | |
"Transfer":{ | |
"description":"Represents a transfer from one purse to another", | |
"type":"object", | |
"required":[ | |
"amount", | |
"deploy_hash", | |
"from", | |
"gas", | |
"source", | |
"target" | |
], | |
"properties":{ | |
"deploy_hash":{ | |
"description":"Deploy that created the transfer", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/DeployHash" | |
} | |
] | |
}, | |
"from":{ | |
"description":"Account from which transfer was executed", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/AccountHash" | |
} | |
] | |
}, | |
"to":{ | |
"description":"Account to which funds are transferred", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/AccountHash" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
}, | |
"source":{ | |
"description":"Source purse", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/URef" | |
} | |
] | |
}, | |
"target":{ | |
"description":"Target purse", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/URef" | |
} | |
] | |
}, | |
"amount":{ | |
"description":"Transfer amount", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
}, | |
"gas":{ | |
"description":"Gas", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
}, | |
"id":{ | |
"description":"User-defined id", | |
"type":[ | |
"integer", | |
"null" | |
], | |
"format":"uint64", | |
"minimum":0 | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"Bid":{ | |
"description":"An entry in the validator map.", | |
"type":"object", | |
"required":[ | |
"bonding_purse", | |
"delegation_rate", | |
"delegators", | |
"inactive", | |
"staked_amount", | |
"validator_public_key" | |
], | |
"properties":{ | |
"validator_public_key":{ | |
"description":"Validator public key", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
] | |
}, | |
"bonding_purse":{ | |
"description":"The purse that was used for bonding.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/URef" | |
} | |
] | |
}, | |
"staked_amount":{ | |
"description":"The amount of tokens staked by a validator (not including delegators).", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
}, | |
"delegation_rate":{ | |
"description":"Delegation rate", | |
"type":"integer", | |
"format":"uint8", | |
"minimum":0 | |
}, | |
"vesting_schedule":{ | |
"description":"Vesting schedule for a genesis validator. `None` if non-genesis validator.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/VestingSchedule" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
}, | |
"delegators":{ | |
"description":"This validator's delegators, indexed by their public keys", | |
"type":"object", | |
"additionalProperties":{ | |
"$ref":"#/components/schemas/Delegator" | |
} | |
}, | |
"inactive":{ | |
"description":"`true` if validator has been \"evicted\"", | |
"type":"boolean" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"VestingSchedule":{ | |
"type":"object", | |
"required":[ | |
"initial_release_timestamp_millis" | |
], | |
"properties":{ | |
"initial_release_timestamp_millis":{ | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
}, | |
"locked_amounts":{ | |
"type":[ | |
"array", | |
"null" | |
], | |
"items":{ | |
"$ref":"#/components/schemas/U512" | |
}, | |
"maxItems":14, | |
"minItems":14 | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"Delegator":{ | |
"description":"Represents a party delegating their stake to a validator (or \"delegatee\")", | |
"type":"object", | |
"required":[ | |
"bonding_purse", | |
"delegator_public_key", | |
"staked_amount", | |
"validator_public_key" | |
], | |
"properties":{ | |
"delegator_public_key":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"staked_amount":{ | |
"$ref":"#/components/schemas/U512" | |
}, | |
"bonding_purse":{ | |
"$ref":"#/components/schemas/URef" | |
}, | |
"validator_public_key":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"vesting_schedule":{ | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/VestingSchedule" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"UnbondingPurse":{ | |
"description":"Unbonding purse.", | |
"type":"object", | |
"required":[ | |
"amount", | |
"bonding_purse", | |
"era_of_creation", | |
"unbonder_public_key", | |
"validator_public_key" | |
], | |
"properties":{ | |
"bonding_purse":{ | |
"description":"Bonding Purse", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/URef" | |
} | |
] | |
}, | |
"validator_public_key":{ | |
"description":"Validators public key.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
] | |
}, | |
"unbonder_public_key":{ | |
"description":"Unbonders public key.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
] | |
}, | |
"era_of_creation":{ | |
"description":"Era in which this unbonding request was created.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/EraId" | |
} | |
] | |
}, | |
"amount":{ | |
"description":"Unbonding Amount.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"EraId":{ | |
"description":"Era ID newtype.", | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
}, | |
"U128":{ | |
"description":"Decimal representation of a 128-bit integer.", | |
"type":"string" | |
}, | |
"U256":{ | |
"description":"Decimal representation of a 256-bit integer.", | |
"type":"string" | |
}, | |
"NamedKey":{ | |
"description":"A named key.", | |
"type":"object", | |
"required":[ | |
"key", | |
"name" | |
], | |
"properties":{ | |
"name":{ | |
"description":"The name of the entry.", | |
"type":"string" | |
}, | |
"key":{ | |
"description":"The value of the entry: a casper `Key` type.", | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"PeersMap":{ | |
"description":"Map of peer IDs to network addresses.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/PeerEntry" | |
} | |
}, | |
"PeerEntry":{ | |
"type":"object", | |
"required":[ | |
"address", | |
"node_id" | |
], | |
"properties":{ | |
"node_id":{ | |
"type":"string" | |
}, | |
"address":{ | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"MinimalBlockInfo":{ | |
"description":"Minimal info of a `Block`.", | |
"type":"object", | |
"required":[ | |
"creator", | |
"era_id", | |
"hash", | |
"height", | |
"state_root_hash", | |
"timestamp" | |
], | |
"properties":{ | |
"hash":{ | |
"$ref":"#/components/schemas/BlockHash" | |
}, | |
"timestamp":{ | |
"$ref":"#/components/schemas/Timestamp" | |
}, | |
"era_id":{ | |
"$ref":"#/components/schemas/EraId" | |
}, | |
"height":{ | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
}, | |
"state_root_hash":{ | |
"$ref":"#/components/schemas/Digest" | |
}, | |
"creator":{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"NextUpgrade":{ | |
"description":"Information about the next protocol upgrade.", | |
"type":"object", | |
"required":[ | |
"activation_point", | |
"protocol_version" | |
], | |
"properties":{ | |
"activation_point":{ | |
"$ref":"#/components/schemas/ActivationPoint" | |
}, | |
"protocol_version":{ | |
"type":"string" | |
} | |
} | |
}, | |
"ActivationPoint":{ | |
"description":"The first era to which the associated protocol version applies.", | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/EraId" | |
}, | |
{ | |
"$ref":"#/components/schemas/Timestamp" | |
} | |
] | |
}, | |
"BlockIdentifier":{ | |
"description":"Identifier for possible ways to retrieve a block.", | |
"anyOf":[ | |
{ | |
"description":"Identify and retrieve the block with its hash.", | |
"type":"object", | |
"required":[ | |
"Hash" | |
], | |
"properties":{ | |
"Hash":{ | |
"$ref":"#/components/schemas/BlockHash" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Identify and retrieve the block with its height.", | |
"type":"object", | |
"required":[ | |
"Height" | |
], | |
"properties":{ | |
"Height":{ | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
} | |
}, | |
"additionalProperties":false | |
} | |
] | |
}, | |
"JsonBlock":{ | |
"description":"A JSON-friendly representation of `Block`.", | |
"type":"object", | |
"required":[ | |
"body", | |
"hash", | |
"header", | |
"proofs" | |
], | |
"properties":{ | |
"hash":{ | |
"$ref":"#/components/schemas/BlockHash" | |
}, | |
"header":{ | |
"$ref":"#/components/schemas/JsonBlockHeader" | |
}, | |
"body":{ | |
"$ref":"#/components/schemas/JsonBlockBody" | |
}, | |
"proofs":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/JsonProof" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"JsonBlockHeader":{ | |
"type":"object", | |
"required":[ | |
"accumulated_seed", | |
"body_hash", | |
"era_id", | |
"height", | |
"parent_hash", | |
"protocol_version", | |
"random_bit", | |
"state_root_hash", | |
"timestamp" | |
], | |
"properties":{ | |
"parent_hash":{ | |
"$ref":"#/components/schemas/BlockHash" | |
}, | |
"state_root_hash":{ | |
"$ref":"#/components/schemas/Digest" | |
}, | |
"body_hash":{ | |
"$ref":"#/components/schemas/Digest" | |
}, | |
"random_bit":{ | |
"type":"boolean" | |
}, | |
"accumulated_seed":{ | |
"$ref":"#/components/schemas/Digest" | |
}, | |
"era_end":{ | |
"anyOf":[ | |
{ | |
"$ref":"#/components/schemas/JsonEraEnd" | |
}, | |
{ | |
"type":"null" | |
} | |
] | |
}, | |
"timestamp":{ | |
"$ref":"#/components/schemas/Timestamp" | |
}, | |
"era_id":{ | |
"$ref":"#/components/schemas/EraId" | |
}, | |
"height":{ | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
}, | |
"protocol_version":{ | |
"$ref":"#/components/schemas/ProtocolVersion" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"JsonEraEnd":{ | |
"type":"object", | |
"required":[ | |
"era_report", | |
"next_era_validator_weights" | |
], | |
"properties":{ | |
"era_report":{ | |
"$ref":"#/components/schemas/JsonEraReport" | |
}, | |
"next_era_validator_weights":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/ValidatorWeight" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"JsonEraReport":{ | |
"description":"Equivocation and reward information to be included in the terminal block.", | |
"type":"object", | |
"required":[ | |
"equivocators", | |
"inactive_validators", | |
"rewards" | |
], | |
"properties":{ | |
"equivocators":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
}, | |
"rewards":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/Reward" | |
} | |
}, | |
"inactive_validators":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"Reward":{ | |
"type":"object", | |
"required":[ | |
"amount", | |
"validator" | |
], | |
"properties":{ | |
"validator":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"amount":{ | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"ValidatorWeight":{ | |
"type":"object", | |
"required":[ | |
"validator", | |
"weight" | |
], | |
"properties":{ | |
"validator":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"weight":{ | |
"$ref":"#/components/schemas/U512" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"ProtocolVersion":{ | |
"description":"Casper Platform protocol version", | |
"type":"string" | |
}, | |
"JsonBlockBody":{ | |
"description":"A JSON-friendly representation of `Body`", | |
"type":"object", | |
"required":[ | |
"deploy_hashes", | |
"proposer", | |
"transfer_hashes" | |
], | |
"properties":{ | |
"proposer":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"deploy_hashes":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/DeployHash" | |
} | |
}, | |
"transfer_hashes":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/DeployHash" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"JsonProof":{ | |
"description":"A JSON-friendly representation of a proof, i.e. a block's finality signature.", | |
"type":"object", | |
"required":[ | |
"public_key", | |
"signature" | |
], | |
"properties":{ | |
"public_key":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"signature":{ | |
"$ref":"#/components/schemas/Signature" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"StoredValue":{ | |
"description":"Representation of a value stored in global state.\n\n`Account`, `Contract` and `ContractPackage` have their own `json_compatibility` representations (see their docs for further info).", | |
"anyOf":[ | |
{ | |
"description":"A CasperLabs value.", | |
"type":"object", | |
"required":[ | |
"CLValue" | |
], | |
"properties":{ | |
"CLValue":{ | |
"$ref":"#/components/schemas/CLValue" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"An account.", | |
"type":"object", | |
"required":[ | |
"Account" | |
], | |
"properties":{ | |
"Account":{ | |
"$ref":"#/components/schemas/Account" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"A contract's Wasm", | |
"type":"object", | |
"required":[ | |
"ContractWasm" | |
], | |
"properties":{ | |
"ContractWasm":{ | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Methods and type signatures supported by a contract.", | |
"type":"object", | |
"required":[ | |
"Contract" | |
], | |
"properties":{ | |
"Contract":{ | |
"$ref":"#/components/schemas/Contract" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"A contract definition, metadata, and security container.", | |
"type":"object", | |
"required":[ | |
"ContractPackage" | |
], | |
"properties":{ | |
"ContractPackage":{ | |
"$ref":"#/components/schemas/ContractPackage" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"A record of a transfer", | |
"type":"object", | |
"required":[ | |
"Transfer" | |
], | |
"properties":{ | |
"Transfer":{ | |
"$ref":"#/components/schemas/Transfer" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"A record of a deploy", | |
"type":"object", | |
"required":[ | |
"DeployInfo" | |
], | |
"properties":{ | |
"DeployInfo":{ | |
"$ref":"#/components/schemas/DeployInfo" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"Auction metadata", | |
"type":"object", | |
"required":[ | |
"EraInfo" | |
], | |
"properties":{ | |
"EraInfo":{ | |
"$ref":"#/components/schemas/EraInfo" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"A bid", | |
"type":"object", | |
"required":[ | |
"Bid" | |
], | |
"properties":{ | |
"Bid":{ | |
"$ref":"#/components/schemas/Bid" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
{ | |
"description":"A withdraw", | |
"type":"object", | |
"required":[ | |
"Withdraw" | |
], | |
"properties":{ | |
"Withdraw":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/UnbondingPurse" | |
} | |
} | |
}, | |
"additionalProperties":false | |
} | |
] | |
}, | |
"Account":{ | |
"description":"Structure representing a user's account, stored in global state.", | |
"type":"object", | |
"required":[ | |
"account_hash", | |
"action_thresholds", | |
"associated_keys", | |
"main_purse", | |
"named_keys" | |
], | |
"properties":{ | |
"account_hash":{ | |
"$ref":"#/components/schemas/AccountHash" | |
}, | |
"named_keys":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/NamedKey" | |
} | |
}, | |
"main_purse":{ | |
"$ref":"#/components/schemas/URef" | |
}, | |
"associated_keys":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/AssociatedKey" | |
} | |
}, | |
"action_thresholds":{ | |
"$ref":"#/components/schemas/ActionThresholds" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"AssociatedKey":{ | |
"type":"object", | |
"required":[ | |
"account_hash", | |
"weight" | |
], | |
"properties":{ | |
"account_hash":{ | |
"$ref":"#/components/schemas/AccountHash" | |
}, | |
"weight":{ | |
"type":"integer", | |
"format":"uint8", | |
"minimum":0 | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"ActionThresholds":{ | |
"description":"Thresholds that have to be met when executing an action of a certain type.", | |
"type":"object", | |
"required":[ | |
"deployment", | |
"key_management" | |
], | |
"properties":{ | |
"deployment":{ | |
"type":"integer", | |
"format":"uint8", | |
"minimum":0 | |
}, | |
"key_management":{ | |
"type":"integer", | |
"format":"uint8", | |
"minimum":0 | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"Contract":{ | |
"description":"A contract struct that can be serialized as JSON object.", | |
"type":"object", | |
"required":[ | |
"contract_package_hash", | |
"contract_wasm_hash", | |
"entry_points", | |
"named_keys", | |
"protocol_version" | |
], | |
"properties":{ | |
"contract_package_hash":{ | |
"$ref":"#/components/schemas/ContractPackageHash" | |
}, | |
"contract_wasm_hash":{ | |
"$ref":"#/components/schemas/ContractWasmHash" | |
}, | |
"named_keys":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/NamedKey" | |
} | |
}, | |
"entry_points":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/EntryPoint" | |
} | |
}, | |
"protocol_version":{ | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"ContractPackageHash":{ | |
"description":"The hash address of the contract package", | |
"type":"string" | |
}, | |
"ContractWasmHash":{ | |
"description":"The hash address of the contract wasm", | |
"type":"string" | |
}, | |
"EntryPoint":{ | |
"description":"Type signature of a method. Order of arguments matter since can be referenced by index as well as name.", | |
"type":"object", | |
"required":[ | |
"access", | |
"args", | |
"entry_point_type", | |
"name", | |
"ret" | |
], | |
"properties":{ | |
"name":{ | |
"type":"string" | |
}, | |
"args":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/Parameter" | |
} | |
}, | |
"ret":{ | |
"$ref":"#/components/schemas/CLType" | |
}, | |
"access":{ | |
"$ref":"#/components/schemas/EntryPointAccess" | |
}, | |
"entry_point_type":{ | |
"$ref":"#/components/schemas/EntryPointType" | |
} | |
} | |
}, | |
"Parameter":{ | |
"description":"Parameter to a method", | |
"type":"object", | |
"required":[ | |
"cl_type", | |
"name" | |
], | |
"properties":{ | |
"name":{ | |
"type":"string" | |
}, | |
"cl_type":{ | |
"$ref":"#/components/schemas/CLType" | |
} | |
} | |
}, | |
"EntryPointAccess":{ | |
"description":"Enum describing the possible access control options for a contract entry point (method).", | |
"anyOf":[ | |
{ | |
"type":"string", | |
"enum":[ | |
"Public" | |
] | |
}, | |
{ | |
"description":"Only users from the listed groups may call this method. Note: if the list is empty then this method is not callable from outside the contract.", | |
"type":"object", | |
"required":[ | |
"Groups" | |
], | |
"properties":{ | |
"Groups":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/Group" | |
} | |
} | |
}, | |
"additionalProperties":false | |
} | |
] | |
}, | |
"Group":{ | |
"description":"A (labelled) \"user group\". Each method of a versioned contract may be assoicated with one or more user groups which are allowed to call it.", | |
"type":"string" | |
}, | |
"EntryPointType":{ | |
"description":"Context of method execution", | |
"type":"string", | |
"enum":[ | |
"Session", | |
"Contract" | |
] | |
}, | |
"ContractPackage":{ | |
"description":"Contract definition, metadata, and security container.", | |
"type":"object", | |
"required":[ | |
"access_key", | |
"disabled_versions", | |
"groups", | |
"versions" | |
], | |
"properties":{ | |
"access_key":{ | |
"$ref":"#/components/schemas/URef" | |
}, | |
"versions":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/ContractVersion" | |
} | |
}, | |
"disabled_versions":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/DisabledVersion" | |
} | |
}, | |
"groups":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/Groups" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"ContractVersion":{ | |
"type":"object", | |
"required":[ | |
"contract_hash", | |
"contract_version", | |
"protocol_version_major" | |
], | |
"properties":{ | |
"protocol_version_major":{ | |
"type":"integer", | |
"format":"uint32", | |
"minimum":0 | |
}, | |
"contract_version":{ | |
"type":"integer", | |
"format":"uint32", | |
"minimum":0 | |
}, | |
"contract_hash":{ | |
"$ref":"#/components/schemas/ContractHash" | |
} | |
} | |
}, | |
"ContractHash":{ | |
"description":"The hash address of the contract", | |
"type":"string" | |
}, | |
"DisabledVersion":{ | |
"type":"object", | |
"required":[ | |
"contract_version", | |
"protocol_version_major" | |
], | |
"properties":{ | |
"protocol_version_major":{ | |
"type":"integer", | |
"format":"uint32", | |
"minimum":0 | |
}, | |
"contract_version":{ | |
"type":"integer", | |
"format":"uint32", | |
"minimum":0 | |
} | |
} | |
}, | |
"Groups":{ | |
"type":"object", | |
"required":[ | |
"group", | |
"keys" | |
], | |
"properties":{ | |
"group":{ | |
"type":"string" | |
}, | |
"keys":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/URef" | |
} | |
} | |
} | |
}, | |
"EraSummary":{ | |
"description":"The summary of an era", | |
"type":"object", | |
"required":[ | |
"block_hash", | |
"era_id", | |
"merkle_proof", | |
"state_root_hash", | |
"stored_value" | |
], | |
"properties":{ | |
"block_hash":{ | |
"description":"The block hash", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/BlockHash" | |
} | |
] | |
}, | |
"era_id":{ | |
"description":"The era id", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/EraId" | |
} | |
] | |
}, | |
"stored_value":{ | |
"description":"The StoredValue containing era information", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/StoredValue" | |
} | |
] | |
}, | |
"state_root_hash":{ | |
"description":"Hex-encoded hash of the state root", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/Digest" | |
} | |
] | |
}, | |
"merkle_proof":{ | |
"description":"The merkle proof", | |
"type":"string" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"AuctionState":{ | |
"description":"Data structure summarizing auction contract data.", | |
"type":"object", | |
"required":[ | |
"bids", | |
"block_height", | |
"era_validators", | |
"state_root_hash" | |
], | |
"properties":{ | |
"state_root_hash":{ | |
"description":"Global state hash.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/Digest" | |
} | |
] | |
}, | |
"block_height":{ | |
"description":"Block height.", | |
"type":"integer", | |
"format":"uint64", | |
"minimum":0 | |
}, | |
"era_validators":{ | |
"description":"Era validators.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/JsonEraValidators" | |
} | |
}, | |
"bids":{ | |
"description":"All bids contained within a vector.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/JsonBids" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"JsonEraValidators":{ | |
"description":"The validators for the given era.", | |
"type":"object", | |
"required":[ | |
"era_id", | |
"validator_weights" | |
], | |
"properties":{ | |
"era_id":{ | |
"$ref":"#/components/schemas/EraId" | |
}, | |
"validator_weights":{ | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/JsonValidatorWeights" | |
} | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"JsonValidatorWeights":{ | |
"description":"A validator's weight.", | |
"type":"object", | |
"required":[ | |
"public_key", | |
"weight" | |
], | |
"properties":{ | |
"public_key":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"weight":{ | |
"$ref":"#/components/schemas/U512" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"JsonBids":{ | |
"description":"A Json representation of a single bid.", | |
"type":"object", | |
"required":[ | |
"bid", | |
"public_key" | |
], | |
"properties":{ | |
"public_key":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"bid":{ | |
"$ref":"#/components/schemas/JsonBid" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"JsonBid":{ | |
"description":"An entry in a founding validator map representing a bid.", | |
"type":"object", | |
"required":[ | |
"bonding_purse", | |
"delegation_rate", | |
"delegators", | |
"inactive", | |
"staked_amount" | |
], | |
"properties":{ | |
"bonding_purse":{ | |
"description":"The purse that was used for bonding.", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/URef" | |
} | |
] | |
}, | |
"staked_amount":{ | |
"description":"The amount of tokens staked by a validator (not including delegators).", | |
"allOf":[ | |
{ | |
"$ref":"#/components/schemas/U512" | |
} | |
] | |
}, | |
"delegation_rate":{ | |
"description":"The delegation rate.", | |
"type":"integer", | |
"format":"uint8", | |
"minimum":0 | |
}, | |
"delegators":{ | |
"description":"The delegators.", | |
"type":"array", | |
"items":{ | |
"$ref":"#/components/schemas/JsonDelegator" | |
} | |
}, | |
"inactive":{ | |
"description":"Is this an inactive validator.", | |
"type":"boolean" | |
} | |
}, | |
"additionalProperties":false | |
}, | |
"JsonDelegator":{ | |
"description":"A delegator associated with the given validator.", | |
"type":"object", | |
"required":[ | |
"bonding_purse", | |
"delegatee", | |
"public_key", | |
"staked_amount" | |
], | |
"properties":{ | |
"public_key":{ | |
"$ref":"#/components/schemas/PublicKey" | |
}, | |
"staked_amount":{ | |
"$ref":"#/components/schemas/U512" | |
}, | |
"bonding_purse":{ | |
"$ref":"#/components/schemas/URef" | |
}, | |
"delegatee":{ | |
"$ref":"#/components/schemas/PublicKey" | |
} | |
}, | |
"additionalProperties":false | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment