Skip to main content

schema.json

{
"openrpc": "1.0.0-rc1",
"info": {
"version": "1.5.6",
"title": "Client API of Casper Node",
"description": "This describes the JSON-RPC 2.0 API of a node on the Casper network.",
"contact": {
"name": "Casper Labs",
"url": "https://casperlabs.io"
},
"license": {
"name": "APACHE LICENSE, VERSION 2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
},
"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": {
"hash": "5c9b3b099c1378aa8e4a5f07f59ff1fcdc69a83179427c7e67ae0377d94d93fa",
"header": {
"account": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"timestamp": "2020-11-17T00:39:24.072Z",
"ttl": "1h",
"gas_price": 1,
"body_hash": "d53cf72d17278fd47d399013ca389c50d589352f1a12593c0b8e01872a641b50",
"dependencies": [
"0101010101010101010101010101010101010101010101010101010101010101"
],
"chain_name": "casper-example"
},
"payment": {
"StoredContractByName": {
"name": "casper-example",
"entry_point": "example-entry-point",
"args": [
[
"amount",
{
"cl_type": "I32",
"bytes": "e8030000",
"parsed": 1000
}
]
]
}
},
"session": {
"Transfer": {
"args": [
[
"amount",
{
"cl_type": "I32",
"bytes": "e8030000",
"parsed": 1000
}
]
]
}
},
"approvals": [
{
"signer": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"signature": "014c1a89f92e29dd74fc648f741137d9caf4edba97c5f9799ce0c9aa6b0c9b58db368c64098603dbecef645774c05dff057cb1f91f2cf390bbacce78aa6f084007"
}
]
}
}
],
"result": {
"name": "account_put_deploy_example_result",
"value": {
"api_version": "1.5.6",
"deploy_hash": "5c9b3b099c1378aa8e4a5f07f59ff1fcdc69a83179427c7e67ae0377d94d93fa"
}
}
}
]
},
{
"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
},
{
"name": "finalized_approvals",
"schema": {
"description": "Whether to return the deploy with the finalized approvals substituted. If `false` or omitted, returns the deploy with the approvals that were originally received by the node.",
"default": false,
"type": "boolean"
},
"required": false
}
],
"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"
}
},
"block_hash": {
"description": "The hash of this deploy's block.",
"$ref": "#/components/schemas/BlockHash"
},
"block_height": {
"description": "The height of this deploy's block.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
}
},
"additionalProperties": false
}
},
"examples": [
{
"name": "info_get_deploy_example",
"params": [
{
"name": "deploy_hash",
"value": "5c9b3b099c1378aa8e4a5f07f59ff1fcdc69a83179427c7e67ae0377d94d93fa"
},
{
"name": "finalized_approvals",
"value": true
}
],
"result": {
"name": "info_get_deploy_example_result",
"value": {
"api_version": "1.5.6",
"deploy": {
"hash": "5c9b3b099c1378aa8e4a5f07f59ff1fcdc69a83179427c7e67ae0377d94d93fa",
"header": {
"account": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"timestamp": "2020-11-17T00:39:24.072Z",
"ttl": "1h",
"gas_price": 1,
"body_hash": "d53cf72d17278fd47d399013ca389c50d589352f1a12593c0b8e01872a641b50",
"dependencies": [
"0101010101010101010101010101010101010101010101010101010101010101"
],
"chain_name": "casper-example"
},
"payment": {
"StoredContractByName": {
"name": "casper-example",
"entry_point": "example-entry-point",
"args": [
[
"amount",
{
"cl_type": "I32",
"bytes": "e8030000",
"parsed": 1000
}
]
]
}
},
"session": {
"Transfer": {
"args": [
[
"amount",
{
"cl_type": "I32",
"bytes": "e8030000",
"parsed": 1000
}
]
]
}
},
"approvals": [
{
"signer": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"signature": "014c1a89f92e29dd74fc648f741137d9caf4edba97c5f9799ce0c9aa6b0c9b58db368c64098603dbecef645774c05dff057cb1f91f2cf390bbacce78aa6f084007"
}
]
},
"execution_results": [
{
"block_hash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb",
"result": {
"Success": {
"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"
],
"cost": "123456"
}
}
}
]
}
}
}
]
},
{
"name": "state_get_account_info",
"summary": "returns an Account from the network",
"params": [
{
"name": "account_identifier",
"schema": {
"description": "The public key of the Account.",
"$ref": "#/components/schemas/AccountIdentifier"
},
"required": true
},
{
"name": "block_identifier",
"schema": {
"description": "The block identifier.",
"anyOf": [
{
"$ref": "#/components/schemas/BlockIdentifier"
},
{
"type": "null"
}
]
},
"required": false
}
],
"result": {
"name": "state_get_account_info_result",
"schema": {
"description": "Result for \"state_get_account_info\" RPC response.",
"type": "object",
"required": [
"account",
"api_version",
"merkle_proof"
],
"properties": {
"api_version": {
"description": "The RPC API version.",
"type": "string"
},
"account": {
"description": "The account.",
"$ref": "#/components/schemas/Account"
},
"merkle_proof": {
"description": "The Merkle proof.",
"type": "string"
}
},
"additionalProperties": false
}
},
"examples": [
{
"name": "state_get_account_info_example",
"params": [
{
"name": "account_identifier",
"value": "013b6a27bcceb6a42d62a3a8d02a6f0d73653215771de243a63ac048a18b59da29"
},
{
"name": "block_identifier",
"value": {
"Hash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb"
}
}
],
"result": {
"name": "state_get_account_info_example_result",
"value": {
"api_version": "1.5.6",
"account": {
"account_hash": "account-hash-e94daaff79c2ab8d9c31d9c3058d7d0a0dd31204a5638dc1451fa67b2e3fb88c",
"named_keys": [],
"main_purse": "uref-09480c3248ef76b603d386f3f4f8a5f87f597d4eaffd475433f861af187ab5db-007",
"associated_keys": [
{
"account_hash": "account-hash-e94daaff79c2ab8d9c31d9c3058d7d0a0dd31204a5638dc1451fa67b2e3fb88c",
"weight": 1
}
],
"action_thresholds": {
"deployment": 1,
"key_management": 1
}
},
"merkle_proof": "01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3"
}
}
}
]
},
{
"name": "state_get_dictionary_item",
"summary": "returns an item from a Dictionary",
"params": [
{
"name": "state_root_hash",
"schema": {
"description": "Hash of the state root",
"$ref": "#/components/schemas/Digest"
},
"required": true
},
{
"name": "dictionary_identifier",
"schema": {
"description": "The Dictionary query identifier.",
"$ref": "#/components/schemas/DictionaryIdentifier"
},
"required": true
}
],
"result": {
"name": "state_get_dictionary_item_result",
"schema": {
"description": "Result for \"state_get_dictionary_item\" RPC response.",
"type": "object",
"required": [
"api_version",
"dictionary_key",
"merkle_proof",
"stored_value"
],
"properties": {
"api_version": {
"description": "The RPC API version.",
"type": "string"
},
"dictionary_key": {
"description": "The key under which the value is stored.",
"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_dictionary_item_example",
"params": [
{
"name": "state_root_hash",
"value": "0808080808080808080808080808080808080808080808080808080808080808"
},
{
"name": "dictionary_identifier",
"value": {
"URef": {
"seed_uref": "uref-09480c3248ef76b603d386f3f4f8a5f87f597d4eaffd475433f861af187ab5db-007",
"dictionary_item_key": "a_unique_entry_identifier"
}
}
}
],
"result": {
"name": "state_get_dictionary_item_example_result",
"value": {
"api_version": "1.5.6",
"dictionary_key": "dictionary-67518854aa916c97d4e53df8570c8217ccc259da2721b692102d76acd0ee8d1f",
"stored_value": {
"CLValue": {
"cl_type": "U64",
"bytes": "0100000000000000",
"parsed": 1
}
},
"merkle_proof": "01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3"
}
}
}
]
},
{
"name": "query_global_state",
"summary": "a query to global state using either a Block hash or state root hash",
"params": [
{
"name": "key",
"schema": {
"description": "`casper_types::Key` as formatted string.",
"type": "string"
},
"required": true
},
{
"name": "state_identifier",
"schema": {
"description": "The identifier used for the query. If none is passed the tip of the chain will be used.",
"anyOf": [
{
"$ref": "#/components/schemas/GlobalStateIdentifier"
},
{
"type": "null"
}
]
},
"required": false
},
{
"name": "path",
"schema": {
"description": "The path components starting from the key as base.",
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"required": false
}
],
"result": {
"name": "query_global_state_result",
"schema": {
"description": "Result for \"query_global_state\" RPC response.",
"type": "object",
"required": [
"api_version",
"merkle_proof",
"stored_value"
],
"properties": {
"api_version": {
"description": "The RPC API version.",
"type": "string"
},
"block_header": {
"description": "The block header if a Block hash was provided.",
"anyOf": [
{
"$ref": "#/components/schemas/JsonBlockHeader"
},
{
"type": "null"
}
]
},
"stored_value": {
"description": "The stored value.",
"$ref": "#/components/schemas/StoredValue"
},
"merkle_proof": {
"description": "The Merkle proof.",
"type": "string"
}
},
"additionalProperties": false
}
},
"examples": [
{
"name": "query_global_state_example",
"params": [
{
"name": "state_identifier",
"value": {
"BlockHash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb"
}
},
{
"name": "key",
"value": "deploy-af684263911154d26fa05be9963171802801a0b6aff8f199b7391eacb8edc9e1"
},
{
"name": "path",
"value": []
}
],
"result": {
"name": "query_global_state_example_result",
"value": {
"api_version": "1.5.6",
"block_header": {
"parent_hash": "0707070707070707070707070707070707070707070707070707070707070707",
"state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808",
"body_hash": "cd502c5393a3c8b66d6979ad7857507c9baf5a8ba16ba99c28378d3a970fff42",
"random_bit": true,
"accumulated_seed": "ac979f51525cfd979b14aa7dc0737c5154eabe0db9280eceaa8dc8d2905b20d5",
"era_end": {
"era_report": {
"equivocators": [
"013b6a27bcceb6a42d62a3a8d02a6f0d73653215771de243a63ac048a18b59da29"
],
"rewards": [
{
"validator": "018a88e3dd7409f195fd52db2d3cba5d72ca6709bf1d94121bf3748801b40f6f5c",
"amount": 1000
}
],
"inactive_validators": [
"018139770ea87d175f56a35466c34c7ecccb8d8a91b4ee37a25df60f5b8fc9b394"
]
},
"next_era_validator_weights": [
{
"validator": "016e7a1cdd29b0b78fd13af4c5598feff4ef2a97166e3ca6f2e4fbfccd80505bf1",
"weight": "456"
},
{
"validator": "018a875fff1eb38451577acd5afee405456568dd7c89e090863a0557bc7af49f17",
"weight": "789"
},
{
"validator": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"weight": "123"
}
]
},
"timestamp": "2020-11-17T00:39:24.072Z",
"era_id": 1,
"height": 10,
"protocol_version": "1.0.0"
},
"stored_value": {
"Account": {
"account_hash": "account-hash-e94daaff79c2ab8d9c31d9c3058d7d0a0dd31204a5638dc1451fa67b2e3fb88c",
"named_keys": [],
"main_purse": "uref-09480c3248ef76b603d386f3f4f8a5f87f597d4eaffd475433f861af187ab5db-007",
"associated_keys": [
{
"account_hash": "account-hash-e94daaff79c2ab8d9c31d9c3058d7d0a0dd31204a5638dc1451fa67b2e3fb88c",
"weight": 1
}
],
"action_thresholds": {
"deployment": 1,
"key_management": 1
}
}
},
"merkle_proof": "01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3"
}
}
}
]
},
{
"name": "query_balance",
"summary": "query for a balance using a purse identifier and a state identifier",
"params": [
{
"name": "purse_identifier",
"schema": {
"description": "The identifier to obtain the purse corresponding to balance query.",
"$ref": "#/components/schemas/PurseIdentifier"
},
"required": true
},
{
"name": "state_identifier",
"schema": {
"description": "The state identifier used for the query, if none is passed the tip of the chain will be used.",
"anyOf": [
{
"$ref": "#/components/schemas/GlobalStateIdentifier"
},
{
"type": "null"
}
]
},
"required": false
}
],
"result": {
"name": "query_balance_result",
"schema": {
"description": "Result for \"query_balance\" RPC response.",
"type": "object",
"required": [
"api_version",
"balance"
],
"properties": {
"api_version": {
"description": "The RPC API version.",
"type": "string"
},
"balance": {
"description": "The balance represented in motes.",
"$ref": "#/components/schemas/U512"
}
}
}
},
"examples": [
{
"name": "query_balance_example",
"params": [
{
"name": "state_identifier",
"value": {
"BlockHash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb"
}
},
{
"name": "purse_identifier",
"value": {
"main_purse_under_account_hash": "account-hash-0909090909090909090909090909090909090909090909090909090909090909"
}
}
],
"result": {
"name": "query_balance_example_result",
"value": {
"api_version": "1.5.6",
"balance": "123456"
}
}
}
]
},
{
"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.5.6",
"peers": [
{
"node_id": "tls:0101..0101",
"address": "127.0.0.1:54321"
}
]
}
}
}
]
},
{
"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",
"available_block_range",
"block_sync",
"build_version",
"chainspec_name",
"last_progress",
"peers",
"reactor_state",
"starting_state_root_hash",
"uptime"
],
"properties": {
"peers": {
"description": "The node ID and network address of each connected peer.",
"$ref": "#/components/schemas/PeersMap"
},
"api_version": {
"description": "The RPC API version.",
"type": "string"
},
"build_version": {
"description": "The compiled node version.",
"type": "string"
},
"chainspec_name": {
"description": "The chainspec name.",
"type": "string"
},
"starting_state_root_hash": {
"description": "The state root hash of the lowest block in the available block range.",
"$ref": "#/components/schemas/Digest"
},
"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"
}
]
},
"uptime": {
"description": "Time that passed since the node has started.",
"$ref": "#/components/schemas/TimeDiff"
},
"reactor_state": {
"description": "The current state of node reactor.",
"$ref": "#/components/schemas/ReactorState"
},
"last_progress": {
"description": "Timestamp of the last recorded progress in the reactor.",
"$ref": "#/components/schemas/Timestamp"
},
"available_block_range": {
"description": "The available block range in storage.",
"$ref": "#/components/schemas/AvailableBlockRange"
},
"block_sync": {
"description": "The status of the block synchronizer builders.",
"$ref": "#/components/schemas/BlockSynchronizerStatus"
}
},
"additionalProperties": false
}
},
"examples": [
{
"name": "info_get_status_example",
"params": [],
"result": {
"name": "info_get_status_example_result",
"value": {
"peers": [
{
"node_id": "tls:0101..0101",
"address": "127.0.0.1:54321"
}
],
"api_version": "1.5.6",
"build_version": "1.5.6",
"chainspec_name": "casper-example",
"starting_state_root_hash": "0000000000000000000000000000000000000000000000000000000000000000",
"last_added_block_info": {
"hash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb",
"timestamp": "2020-11-17T00:39:24.072Z",
"era_id": 1,
"height": 10,
"state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808",
"creator": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c"
},
"our_public_signing_key": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"round_length": "1m 5s 536ms",
"next_upgrade": {
"activation_point": 42,
"protocol_version": "2.0.1"
},
"uptime": "13s",
"reactor_state": "Initialize",
"last_progress": "1970-01-01T00:00:00.000Z",
"available_block_range": {
"low": 0,
"high": 0
},
"block_sync": {
"historical": {
"block_hash": "16ddf28e2b3d2e17f4cef36f8b58827eca917af225d139b0c77df3b4a67dc55e",
"block_height": 40,
"acquisition_state": "have strict finality(40) for: block hash 16dd..c55e"
},
"forward": {
"block_hash": "59907b1e32a9158169c4d89d9ce5ac9164fc31240bfcfb0969227ece06d74983",
"block_height": 6701,
"acquisition_state": "have block body(6701) for: block hash 5990..4983"
}
}
}
}
}
]
},
{
"name": "info_get_validator_changes",
"summary": "returns status changes of active validators",
"params": [],
"result": {
"name": "info_get_validator_changes_result",
"schema": {
"description": "Result for the \"info_get_validator_changes\" RPC.",
"type": "object",
"required": [
"api_version",
"changes"
],
"properties": {
"api_version": {
"description": "The RPC API version.",
"type": "string"
},
"changes": {
"description": "The validators' status changes.",
"type": "array",
"items": {
"$ref": "#/components/schemas/JsonValidatorChanges"
}
}
},
"additionalProperties": false
}
},
"examples": [
{
"name": "info_get_validator_changes_example",
"params": [],
"result": {
"name": "info_get_validator_changes_example_result",
"value": {
"api_version": "1.5.6",
"changes": [
{
"public_key": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"status_changes": [
{
"era_id": 1,
"validator_change": "Added"
}
]
}
]
}
}
}
]
},
{
"name": "info_get_chainspec",
"summary": "returns the raw bytes of the chainspec.toml, genesis accounts.toml, and global_state.toml files",
"params": [],
"result": {
"name": "info_get_chainspec_result",
"schema": {
"description": "Result for the \"info_get_chainspec\" RPC.",
"type": "object",
"required": [
"api_version",
"chainspec_bytes"
],
"properties": {
"api_version": {
"description": "The RPC API version.",
"type": "string"
},
"chainspec_bytes": {
"description": "The chainspec file bytes.",
"$ref": "#/components/schemas/ChainspecRawBytes"
}
}
}
},
"examples": [
{
"name": "info_get_chainspec_example",
"params": [],
"result": {
"name": "info_get_chainspec_example_result",
"value": {
"api_version": "1.5.6",
"chainspec_bytes": {
"chainspec_bytes": "2a2a",
"maybe_genesis_accounts_bytes": null,
"maybe_global_state_bytes": null
}
}
}
}
]
},
{
"name": "chain_get_block",
"summary": "returns a Block from the network",
"params": [
{
"name": "block_identifier",
"schema": {
"description": "The block identifier.",
"$ref": "#/components/schemas/BlockIdentifier"
},
"required": false
}
],
"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": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb"
}
}
],
"result": {
"name": "chain_get_block_example_result",
"value": {
"api_version": "1.5.6",
"block": {
"hash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb",
"header": {
"parent_hash": "0707070707070707070707070707070707070707070707070707070707070707",
"state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808",
"body_hash": "cd502c5393a3c8b66d6979ad7857507c9baf5a8ba16ba99c28378d3a970fff42",
"random_bit": true,
"accumulated_seed": "ac979f51525cfd979b14aa7dc0737c5154eabe0db9280eceaa8dc8d2905b20d5",
"era_end": {
"era_report": {
"equivocators": [
"013b6a27bcceb6a42d62a3a8d02a6f0d73653215771de243a63ac048a18b59da29"
],
"rewards": [
{
"validator": "018a88e3dd7409f195fd52db2d3cba5d72ca6709bf1d94121bf3748801b40f6f5c",
"amount": 1000
}
],
"inactive_validators": [
"018139770ea87d175f56a35466c34c7ecccb8d8a91b4ee37a25df60f5b8fc9b394"
]
},
"next_era_validator_weights": [
{
"validator": "016e7a1cdd29b0b78fd13af4c5598feff4ef2a97166e3ca6f2e4fbfccd80505bf1",
"weight": "456"
},
{
"validator": "018a875fff1eb38451577acd5afee405456568dd7c89e090863a0557bc7af49f17",
"weight": "789"
},
{
"validator": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"weight": "123"
}
]
},
"timestamp": "2020-11-17T00:39:24.072Z",
"era_id": 1,
"height": 10,
"protocol_version": "1.0.0"
},
"body": {
"proposer": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"deploy_hashes": [],
"transfer_hashes": [
"5c9b3b099c1378aa8e4a5f07f59ff1fcdc69a83179427c7e67ae0377d94d93fa"
]
},
"proofs": [
{
"public_key": "01d9bf2148748a85c89da5aad8ee0b0fc2d105fd39d41a4c796536354f0ae2900c",
"signature": "016291a7b2689e2edcc6e79030be50edd02f9bd7d809921ae2654012f808c7b9a0f125bc32d6aa610cbd012395a9832ccfaa9262023339f1db71ca073a13bb9707"
}
]
}
}
}
}
]
},
{
"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": false
}
],
"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": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb"
}
}
],
"result": {
"name": "chain_get_block_transfers_example_result",
"value": {
"api_version": "1.5.6",
"block_hash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb",
"transfers": [
{
"deploy_hash": "0000000000000000000000000000000000000000000000000000000000000000",
"from": "account-hash-0000000000000000000000000000000000000000000000000000000000000000",
"to": null,
"source": "uref-0000000000000000000000000000000000000000000000000000000000000000-000",
"target": "uref-0000000000000000000000000000000000000000000000000000000000000000-000",
"amount": "0",
"gas": "0",
"id": 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": false
}
],
"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.5.6",
"state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808"
}
}
}
]
},
{
"name": "state_get_item",
"summary": "returns a stored value from the network. This RPC is deprecated, use `query_global_state` instead.",
"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": "state_root_hash",
"value": "0808080808080808080808080808080808080808080808080808080808080808"
},
{
"name": "key",
"value": "deploy-af684263911154d26fa05be9963171802801a0b6aff8f199b7391eacb8edc9e1"
},
{
"name": "path",
"value": [
"inner"
]
}
],
"result": {
"name": "state_get_item_example_result",
"value": {
"api_version": "1.5.6",
"stored_value": {
"CLValue": {
"cl_type": "U64",
"bytes": "0100000000000000",
"parsed": 1
}
},
"merkle_proof": "01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3"
}
}
}
]
},
{
"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": "state_root_hash",
"value": "0808080808080808080808080808080808080808080808080808080808080808"
},
{
"name": "purse_uref",
"value": "uref-09480c3248ef76b603d386f3f4f8a5f87f597d4eaffd475433f861af187ab5db-007"
}
],
"result": {
"name": "state_get_balance_example_result",
"value": {
"api_version": "1.5.6",
"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": false
}
],
"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": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb"
}
}
],
"result": {
"name": "chain_get_era_info_by_switch_block_example_result",
"value": {
"api_version": "1.5.6",
"era_summary": {
"block_hash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb",
"era_id": 42,
"stored_value": {
"EraInfo": {
"seigniorage_allocations": [
{
"Delegator": {
"delegator_public_key": "01e1b46a25baa8a5c28beb3c9cfb79b572effa04076f00befa57eb70b016153f18",
"validator_public_key": "012a1732addc639ea43a89e25d3ad912e40232156dcaa4b9edfc709f43d2fb0876",
"amount": "1000"
}
},
{
"Validator": {
"validator_public_key": "012a1732addc639ea43a89e25d3ad912e40232156dcaa4b9edfc709f43d2fb0876",
"amount": "2000"
}
}
]
}
},
"state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808",
"merkle_proof": "01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3"
}
}
}
}
]
},
{
"name": "state_get_auction_info",
"summary": "returns the bids and validators as of either a specific block (by height or hash), or the most recently added block",
"params": [
{
"name": "block_identifier",
"schema": {
"description": "The block identifier.",
"$ref": "#/components/schemas/BlockIdentifier"
},
"required": false
}
],
"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": [
{
"name": "block_identifier",
"value": {
"Hash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb"
}
}
],
"result": {
"name": "state_get_auction_info_example_result",
"value": {
"api_version": "1.5.6",
"auction_state": {
"state_root_hash": "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b",
"block_height": 10,
"era_validators": [
{
"era_id": 10,
"validator_weights": [
{
"public_key": "01197f6b23e16c8532c6abc838facd5ea789be0c76b2920334039bfa8b3d368d61",
"weight": "10"
}
]
}
],
"bids": [
{
"public_key": "01197f6b23e16c8532c6abc838facd5ea789be0c76b2920334039bfa8b3d368d61",
"bid": {
"bonding_purse": "uref-fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa-007",
"staked_amount": "10",
"delegation_rate": 0,
"delegators": [],
"inactive": false
}
}
]
}
}
}
}
]
},
{
"name": "chain_get_era_summary",
"summary": "returns the era summary at either a specific block (by height or hash), or the most recently added block",
"params": [
{
"name": "block_identifier",
"schema": {
"description": "The block identifier.",
"$ref": "#/components/schemas/BlockIdentifier"
},
"required": false
}
],
"result": {
"name": "chain_get_era_summary_result",
"schema": {
"description": "Result for \"chain_get_era_summary\" RPC response.",
"type": "object",
"required": [
"api_version",
"era_summary"
],
"properties": {
"api_version": {
"description": "The RPC API version.",
"type": "string"
},
"era_summary": {
"description": "The era summary.",
"$ref": "#/components/schemas/EraSummary"
}
},
"additionalProperties": false
}
},
"examples": [
{
"name": "chain_get_era_summary_example",
"params": [
{
"name": "block_identifier",
"value": {
"Hash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb"
}
}
],
"result": {
"name": "chain_get_era_summary_example_result",
"value": {
"api_version": "1.5.6",
"era_summary": {
"block_hash": "13c2d7a68ecdd4b74bf4393c88915c836c863fc4bf11d7f2bd930a1bbccacdcb",
"era_id": 42,
"stored_value": {
"EraInfo": {
"seigniorage_allocations": [
{
"Delegator": {
"delegator_public_key": "01e1b46a25baa8a5c28beb3c9cfb79b572effa04076f00befa57eb70b016153f18",
"validator_public_key": "012a1732addc639ea43a89e25d3ad912e40232156dcaa4b9edfc709f43d2fb0876",
"amount": "1000"
}
},
{
"Validator": {
"validator_public_key": "012a1732addc639ea43a89e25d3ad912e40232156dcaa4b9edfc709f43d2fb0876",
"amount": "2000"
}
}
]
}
},
"state_root_hash": "0808080808080808080808080808080808080808080808080808080808080808",
"merkle_proof": "01000000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625016ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a72536147614625000000003529cde5c621f857f75f3810611eb4af3f998caaa9d4a3413cf799f99c67db0307010000006ef2e0949ac76e55812421f755abe129b6244fe7168b77f47a7253614761462501010102000000006e06000000000074769d28aac597a36a03a932d4b43e4f10bf0403ee5c41dd035102553f5773631200b9e173e8f05361b681513c14e25e3138639eb03232581db7557c9e8dbbc83ce94500226a9a7fe4f2b7b88d5103a4fc7400f02bf89c860c9ccdd56951a2afe9be0e0267006d820fb5676eb2960e15722f7725f3f8f41030078f8b2e44bf0dc03f71b176d6e800dc5ae9805068c5be6da1a90b2528ee85db0609cc0fb4bd60bbd559f497a98b67f500e1e3e846592f4918234647fca39830b7e1e6ad6f5b7a99b39af823d82ba1873d000003000000010186ff500f287e9b53f823ae1582b1fa429dfede28015125fd233a31ca04d5012002015cc42669a55467a1fdf49750772bfc1aed59b9b085558eb81510e9b015a7c83b0301e3cf4a34b1db6bfa58808b686cb8fe21ebe0c1bcbcee522649d2b135fe510fe3"
}
}
}
}
]
}
],
"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"
},
"uniqueItems": true
}
},
"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`].",
"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.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.",
"examples": [
{
"name": "SystemPublicKey",
"description": "A pseudo public key, used for example when the system proposes an immediate switch block after a network upgrade rather than a specific validator. Its hex-encoded value is always '00', as is the corresponding pseudo signature's",
"value": "00"
},
{
"name": "Ed25519PublicKey",
"description": "An Ed25519 public key. Its hex-encoded value begins '01' and is followed by 64 characters",
"value": "018a88e3dd7409f195fd52db2d3cba5d72ca6709bf1d94121bf3748801b40f6f5c"
},
{
"name": "Secp256k1PublicKey",
"description": "A secp256k1 public key. Its hex-encoded value begins '02' and is followed by 66 characters",
"value": "0203408e9526316fd1f8def480dd45b2cc72ffd732771c9ceb5d92ffa4051e6ee084"
}
],
"type": "string"
},
"Timestamp": {
"description": "Timestamp formatted as per RFC 3339",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"TimeDiff": {
"description": "Human-readable duration.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"ExecutableDeployItem": {
"description": "Represents possible variants of an executable deploy.",
"anyOf": [
{
"description": "Executable specified as raw bytes that represent WASM code and an instance of [`RuntimeArgs`].",
"type": "object",
"required": [
"ModuleBytes"
],
"properties": {
"ModuleBytes": {
"type": "object",
"required": [
"args",
"module_bytes"
],
"properties": {
"module_bytes": {
"description": "Hex-encoded raw Wasm bytes.",
"type": "string"
},
"args": {
"description": "Runtime arguments.",
"allOf": [
{
"$ref": "#/components/schemas/RuntimeArgs"
}
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"description": "Stored contract referenced by its [`ContractHash`], entry point and an instance of [`RuntimeArgs`].",
"type": "object",
"required": [
"StoredContractByHash"
],
"properties": {
"StoredContractByHash": {
"type": "object",
"required": [
"args",
"entry_point",
"hash"
],
"properties": {
"hash": {
"description": "Hex-encoded hash.",
"type": "string"
},
"entry_point": {
"description": "Name of an entry point.",
"type": "string"
},
"args": {
"description": "Runtime arguments.",
"allOf": [
{
"$ref": "#/components/schemas/RuntimeArgs"
}
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"description": "Stored contract referenced by a named key existing in the signer's account context, entry point and an instance of [`RuntimeArgs`].",
"type": "object",
"required": [
"StoredContractByName"
],
"properties": {
"StoredContractByName": {
"type": "object",
"required": [
"args",
"entry_point",
"name"
],
"properties": {
"name": {
"description": "Named key.",
"type": "string"
},
"entry_point": {
"description": "Name of an entry point.",
"type": "string"
},
"args": {
"description": "Runtime arguments.",
"allOf": [
{
"$ref": "#/components/schemas/RuntimeArgs"
}
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"description": "Stored versioned contract referenced by its [`ContractPackageHash`], entry point and an instance of [`RuntimeArgs`].",
"type": "object",
"required": [
"StoredVersionedContractByHash"
],
"properties": {
"StoredVersionedContractByHash": {
"type": "object",
"required": [
"args",
"entry_point",
"hash"
],
"properties": {
"hash": {
"description": "Hex-encoded hash.",
"type": "string"
},
"version": {
"description": "An optional version of the contract to call. It will default to the highest enabled version if no value is specified.",
"type": [
"integer",
"null"
],
"format": "uint32",
"minimum": 0.0
},
"entry_point": {
"description": "Entry point name.",
"type": "string"
},
"args": {
"description": "Runtime arguments.",
"allOf": [
{
"$ref": "#/components/schemas/RuntimeArgs"
}
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"description": "Stored versioned contract referenced by a named key existing in the signer's account context, entry point and an instance of [`RuntimeArgs`].",
"type": "object",
"required": [
"StoredVersionedContractByName"
],
"properties": {
"StoredVersionedContractByName": {
"type": "object",
"required": [
"args",
"entry_point",
"name"
],
"properties": {
"name": {
"description": "Named key.",
"type": "string"
},
"version": {
"description": "An optional version of the contract to call. It will default to the highest enabled version if no value is specified.",
"type": [
"integer",
"null"
],
"format": "uint32",
"minimum": 0.0
},
"entry_point": {
"description": "Entry point name.",
"type": "string"
},
"args": {
"description": "Runtime arguments.",
"allOf": [
{
"$ref": "#/components/schemas/RuntimeArgs"
}
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"description": "A native transfer which does not contain or reference a WASM code.",
"type": "object",
"required": [
"Transfer"
],
"properties": {
"Transfer": {
"type": "object",
"required": [
"args"
],
"properties": {
"args": {
"description": "Runtime arguments.",
"allOf": [
{
"$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.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 of a deploy hash 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 journal of execution transforms from a single deploy.",
"type": "object",
"required": [
"operations",
"transforms"
],
"properties": {
"operations": {
"description": "The resulting operations.",
"type": "array",
"items": {
"$ref": "#/components/schemas/Operation"
}
},
"transforms": {
"description": "The journal of execution transforms.",
"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/WithdrawPurse"
}
}
},
"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.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
},
{
"description": "Writes the given Unbonding to global state.",
"type": "object",
"required": [
"WriteUnbonding"
],
"properties": {
"WriteUnbonding": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnbondingPurse"
}
}
},
"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.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.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.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
},
"WithdrawPurse": {
"description": "A withdraw purse, a legacy structure.",
"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.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
},
"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"
}
]
},
"new_validator": {
"description": "The validator public key to re-delegate to.",
"anyOf": [
{
"$ref": "#/components/schemas/PublicKey"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"AccountIdentifier": {
"description": "Identifier of an account.",
"anyOf": [
{
"description": "The public key of an account",
"allOf": [
{
"$ref": "#/components/schemas/PublicKey"
}
]
},
{
"description": "The account hash of an account",
"allOf": [
{
"$ref": "#/components/schemas/AccountHash"
}
]
}
]
},
"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.0
}
},
"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.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.0
},
"key_management": {
"type": "integer",
"format": "uint8",
"minimum": 0.0
}
},
"additionalProperties": false
},
"DictionaryIdentifier": {
"description": "Options for dictionary item lookups.",
"anyOf": [
{
"description": "Lookup a dictionary item via an Account's named keys.",
"type": "object",
"required": [
"AccountNamedKey"
],
"properties": {
"AccountNamedKey": {
"type": "object",
"required": [
"dictionary_item_key",
"dictionary_name",
"key"
],
"properties": {
"key": {
"description": "The account key as a formatted string whose named keys contains dictionary_name.",
"type": "string"
},
"dictionary_name": {
"description": "The named key under which the dictionary seed URef is stored.",
"type": "string"
},
"dictionary_item_key": {
"description": "The dictionary item key formatted as a string.",
"type": "string"
}
}
}
},
"additionalProperties": false
},
{
"description": "Lookup a dictionary item via a Contract's named keys.",
"type": "object",
"required": [
"ContractNamedKey"
],
"properties": {
"ContractNamedKey": {
"type": "object",
"required": [
"dictionary_item_key",
"dictionary_name",
"key"
],
"properties": {
"key": {
"description": "The contract key as a formatted string whose named keys contains dictionary_name.",
"type": "string"
},
"dictionary_name": {
"description": "The named key under which the dictionary seed URef is stored.",
"type": "string"
},
"dictionary_item_key": {
"description": "The dictionary item key formatted as a string.",
"type": "string"
}
}
}
},
"additionalProperties": false
},
{
"description": "Lookup a dictionary item via its seed URef.",
"type": "object",
"required": [
"URef"
],
"properties": {
"URef": {
"type": "object",
"required": [
"dictionary_item_key",
"seed_uref"
],
"properties": {
"seed_uref": {
"description": "The dictionary's seed URef.",
"type": "string"
},
"dictionary_item_key": {
"description": "The dictionary item key formatted as a string.",
"type": "string"
}
}
}
},
"additionalProperties": false
},
{
"description": "Lookup a dictionary item via its unique key.",
"type": "object",
"required": [
"Dictionary"
],
"properties": {
"Dictionary": {
"type": "string"
}
},
"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": "An instance of any variant of CLValue",
"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/WithdrawPurse"
}
}
},
"additionalProperties": false
},
{
"description": "A collection of unbonding purses",
"type": "object",
"required": [
"Unbonding"
],
"properties": {
"Unbonding": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnbondingPurse"
}
}
},
"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 associated 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",
"lock_status",
"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"
}
},
"lock_status": {
"$ref": "#/components/schemas/ContractPackageStatus"
}
},
"additionalProperties": false
},
"ContractVersion": {
"type": "object",
"required": [
"contract_hash",
"contract_version",
"protocol_version_major"
],
"properties": {
"protocol_version_major": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"contract_version": {
"type": "integer",
"format": "uint32",
"minimum": 0.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.0
},
"contract_version": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
}
}
},
"Groups": {
"type": "object",
"required": [
"group",
"keys"
],
"properties": {
"group": {
"type": "string"
},
"keys": {
"type": "array",
"items": {
"$ref": "#/components/schemas/URef"
}
}
}
},
"ContractPackageStatus": {
"description": "A enum to determine the lock status of the contract package.",
"type": "string",
"enum": [
"Locked",
"Unlocked"
]
},
"GlobalStateIdentifier": {
"description": "Identifier for possible ways to query Global State",
"anyOf": [
{
"description": "Query using a block hash.",
"type": "object",
"required": [
"BlockHash"
],
"properties": {
"BlockHash": {
"$ref": "#/components/schemas/BlockHash"
}
},
"additionalProperties": false
},
{
"description": "Query using a block height.",
"type": "object",
"required": [
"BlockHeight"
],
"properties": {
"BlockHeight": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
}
},
"additionalProperties": false
},
{
"description": "Query using the state root hash.",
"type": "object",
"required": [
"StateRootHash"
],
"properties": {
"StateRootHash": {
"$ref": "#/components/schemas/Digest"
}
},
"additionalProperties": false
}
]
},
"JsonBlockHeader": {
"description": "JSON representation of a block header.",
"type": "object",
"required": [
"accumulated_seed",
"body_hash",
"era_id",
"height",
"parent_hash",
"protocol_version",
"random_bit",
"state_root_hash",
"timestamp"
],
"properties": {
"parent_hash": {
"description": "The parent hash.",
"allOf": [
{
"$ref": "#/components/schemas/BlockHash"
}
]
},
"state_root_hash": {
"description": "The state root hash.",
"allOf": [
{
"$ref": "#/components/schemas/Digest"
}
]
},
"body_hash": {
"description": "The body hash.",
"allOf": [
{
"$ref": "#/components/schemas/Digest"
}
]
},
"random_bit": {
"description": "Randomness bit.",
"type": "boolean"
},
"accumulated_seed": {
"description": "Accumulated seed.",
"allOf": [
{
"$ref": "#/components/schemas/Digest"
}
]
},
"era_end": {
"description": "The era end.",
"anyOf": [
{
"$ref": "#/components/schemas/JsonEraEnd"
},
{
"type": "null"
}
]
},
"timestamp": {
"description": "The block timestamp.",
"allOf": [
{
"$ref": "#/components/schemas/Timestamp"
}
]
},
"era_id": {
"description": "The block era id.",
"allOf": [
{
"$ref": "#/components/schemas/EraId"
}
]
},
"height": {
"description": "The block height.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"protocol_version": {
"description": "The protocol version.",
"allOf": [
{
"$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.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"
},
"PurseIdentifier": {
"description": "Identifier of a purse.",
"anyOf": [
{
"description": "The main purse of the account identified by this public key.",
"type": "object",
"required": [
"main_purse_under_public_key"
],
"properties": {
"main_purse_under_public_key": {
"$ref": "#/components/schemas/PublicKey"
}
},
"additionalProperties": false
},
{
"description": "The main purse of the account identified by this account hash.",
"type": "object",
"required": [
"main_purse_under_account_hash"
],
"properties": {
"main_purse_under_account_hash": {
"$ref": "#/components/schemas/AccountHash"
}
},
"additionalProperties": false
},
{
"description": "The purse identified by this URef.",
"type": "object",
"required": [
"purse_uref"
],
"properties": {
"purse_uref": {
"$ref": "#/components/schemas/URef"
}
},
"additionalProperties": false
}
]
},
"PeersMap": {
"description": "Map of peer IDs to network addresses.",
"type": "array",
"items": {
"$ref": "#/components/schemas/PeerEntry"
}
},
"PeerEntry": {
"description": "Node peer entry.",
"type": "object",
"required": [
"address",
"node_id"
],
"properties": {
"node_id": {
"description": "Node id.",
"type": "string"
},
"address": {
"description": "Node 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.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": [
{
"description": "Era id.",
"allOf": [
{
"$ref": "#/components/schemas/EraId"
}
]
},
{
"description": "Genesis timestamp.",
"allOf": [
{
"$ref": "#/components/schemas/Timestamp"
}
]
}
]
},
"ReactorState": {
"description": "The state of the reactor.",
"type": "string",
"enum": [
"Initialize",
"CatchUp",
"Upgrading",
"KeepUp",
"Validate",
"ShutdownForUpgrade"
]
},
"AvailableBlockRange": {
"description": "An unbroken, inclusive range of blocks.",
"type": "object",
"required": [
"high",
"low"
],
"properties": {
"low": {
"description": "The inclusive lower bound of the range.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"high": {
"description": "The inclusive upper bound of the range.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
}
},
"additionalProperties": false
},
"BlockSynchronizerStatus": {
"description": "The status of the block synchronizer.",
"type": "object",
"properties": {
"historical": {
"description": "The status of syncing a historical block, if any.",
"anyOf": [
{
"$ref": "#/components/schemas/BlockSyncStatus"
},
{
"type": "null"
}
]
},
"forward": {
"description": "The status of syncing a forward block, if any.",
"anyOf": [
{
"$ref": "#/components/schemas/BlockSyncStatus"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"BlockSyncStatus": {
"description": "The status of syncing an individual block.",
"type": "object",
"required": [
"acquisition_state",
"block_hash"
],
"properties": {
"block_hash": {
"description": "The block hash.",
"allOf": [
{
"$ref": "#/components/schemas/BlockHash"
}
]
},
"block_height": {
"description": "The height of the block, if known.",
"type": [
"integer",
"null"
],
"format": "uint64",
"minimum": 0.0
},
"acquisition_state": {
"description": "The state of acquisition of the data associated with the block.",
"type": "string"
}
},
"additionalProperties": false
},
"JsonValidatorChanges": {
"description": "The changes in a validator's status.",
"type": "object",
"required": [
"public_key",
"status_changes"
],
"properties": {
"public_key": {
"description": "The public key of the validator.",
"allOf": [
{
"$ref": "#/components/schemas/PublicKey"
}
]
},
"status_changes": {
"description": "The set of changes to the validator's status.",
"type": "array",
"items": {
"$ref": "#/components/schemas/JsonValidatorStatusChange"
}
}
},
"additionalProperties": false
},
"JsonValidatorStatusChange": {
"description": "A single change to a validator's status in the given era.",
"type": "object",
"required": [
"era_id",
"validator_change"
],
"properties": {
"era_id": {
"description": "The era in which the change occurred.",
"allOf": [
{
"$ref": "#/components/schemas/EraId"
}
]
},
"validator_change": {
"description": "The change in validator status.",
"allOf": [
{
"$ref": "#/components/schemas/ValidatorChange"
}
]
}
},
"additionalProperties": false
},
"ValidatorChange": {
"description": "A change to a validator's status between two eras.",
"type": "string",
"enum": [
"Added",
"Removed",
"Banned",
"CannotPropose",
"SeenAsFaulty"
]
},
"ChainspecRawBytes": {
"description": "The raw bytes of the chainspec.toml, genesis accounts.toml, and global_state.toml files.",
"type": "object",
"required": [
"chainspec_bytes",
"maybe_genesis_accounts_bytes",
"maybe_global_state_bytes"
],
"properties": {
"chainspec_bytes": {
"description": "Hex-encoded raw bytes of the current chainspec.toml file.",
"type": "string"
},
"maybe_genesis_accounts_bytes": {
"description": "Hex-encoded raw bytes of the current genesis accounts.toml file.",
"type": "string"
},
"maybe_global_state_bytes": {
"description": "Hex-encoded raw bytes of the current global_state.toml file.",
"type": "string"
}
}
},
"JsonBlock": {
"description": "A JSON-friendly representation of `Block`.",
"type": "object",
"required": [
"body",
"hash",
"header",
"proofs"
],
"properties": {
"hash": {
"description": "`BlockHash`",
"allOf": [
{
"$ref": "#/components/schemas/BlockHash"
}
]
},
"header": {
"description": "JSON-friendly block header.",
"allOf": [
{
"$ref": "#/components/schemas/JsonBlockHeader"
}
]
},
"body": {
"description": "JSON-friendly block body.",
"allOf": [
{
"$ref": "#/components/schemas/JsonBlockBody"
}
]
},
"proofs": {
"description": "JSON-friendly list of proofs for this block.",
"type": "array",
"items": {
"$ref": "#/components/schemas/JsonProof"
}
}
},
"additionalProperties": false
},
"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
},
"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.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.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
}
}
}
}