d8c84cc4d6
* wip * wip: wrap node's sphinx key with a manager * wip: choosing correct key for packet processing * further propagation of key rotation information * attaching key rotation information to reply surbs * added basic key rotation information to mixnet contract * wip: introducing cached queries for key rotation info from nym api * unified nym-api contract cache refreshing * finish packet decoding * multi api client + retrieving rotation id * rotating sphinx key files * logic for migrating config file * wip: putting new sphinx keys to self described endpoints * processing loop of KeyRotationController * fixed sphinx key loading * rotating bloomfilters * wired up KeyRotationController * flushing bloomfilters to disk and loading * most of nym-node changes * post rebase fixes * fixes due to backwards compatible hostkeys * split http state.rs file * dont use deprecated fields * fixed backwards compatible deserialisation of host information * split up node describe cache * added a dedicated CacheRefresher listener to perform full refresh outside the set interval * controlling announced sphinx keys within nym-api * retrieving rotation id when pulling topology * split nym-nodes http handlers * v2 nym-api endpoints to retrieve nodes with additional metadata information * bug fixes... * additional bugfixes and guards against stuck epoch * testnet manager: set first nym-api as the rewarder * fixed host information deserialisation * fixed panic during first key rotation * post rebase fixes * clippy * more guards against stuck epochs * added helper method to reset node's sphinx key * instantiate mixnet contract with custom key rotation validity * additional bugfixes and debugging nym-api deadlock * passing shutdown to nym apis client * remove dead test * post rebasing fixes * missing MixnetQueryClient variants * remove usage of deprecated methods in sdk example * fix: incorrect method signature * post rebasing fixes * attempt to retrieve key rotation id before doing any config migration work * ignore tests relying on networking behaviour * allow networking failures in certain tests
1545 lines
45 KiB
JSON
1545 lines
45 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "QueryMsg",
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"admin"
|
|
],
|
|
"properties": {
|
|
"admin": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets build information of this contract, such as the commit hash used for the build or rustc version.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_contract_version"
|
|
],
|
|
"properties": {
|
|
"get_contract_version": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the stored contract version information that's required by the CW2 spec interface for migrations.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_cw2_contract_version"
|
|
],
|
|
"properties": {
|
|
"get_cw2_contract_version": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the address of the validator that's allowed to send rewarding transactions and transition the epoch.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_rewarding_validator_address"
|
|
],
|
|
"properties": {
|
|
"get_rewarding_validator_address": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the contract parameters that could be adjusted in a transaction by the contract admin.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_state_params"
|
|
],
|
|
"properties": {
|
|
"get_state_params": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the current state of the contract.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_state"
|
|
],
|
|
"properties": {
|
|
"get_state": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Get the current expected version of a Nym Node.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_current_nym_node_version"
|
|
],
|
|
"properties": {
|
|
"get_current_nym_node_version": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Get the version history of Nym Node.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_nym_node_version_history"
|
|
],
|
|
"properties": {
|
|
"get_nym_node_version_history": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the current parameters used for reward calculation.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_rewarding_params"
|
|
],
|
|
"properties": {
|
|
"get_rewarding_params": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the status of the current rewarding epoch.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_epoch_status"
|
|
],
|
|
"properties": {
|
|
"get_epoch_status": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Get the details of the current rewarding interval.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_current_interval_details"
|
|
],
|
|
"properties": {
|
|
"get_current_interval_details": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic list of all currently bonded mixnodes.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_mix_node_bonds"
|
|
],
|
|
"properties": {
|
|
"get_mix_node_bonds": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the detailed list of all currently bonded mixnodes.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_mix_nodes_detailed"
|
|
],
|
|
"properties": {
|
|
"get_mix_nodes_detailed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic list of all unbonded mixnodes.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_unbonded_mix_nodes"
|
|
],
|
|
"properties": {
|
|
"get_unbonded_mix_nodes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic list of all unbonded mixnodes that belonged to a particular owner.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_unbonded_mix_nodes_by_owner"
|
|
],
|
|
"properties": {
|
|
"get_unbonded_mix_nodes_by_owner": {
|
|
"type": "object",
|
|
"required": [
|
|
"owner"
|
|
],
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"owner": {
|
|
"description": "The address of the owner of the mixnodes used for the query.",
|
|
"type": "string"
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic list of all unbonded mixnodes that used the particular identity key.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_unbonded_mix_nodes_by_identity_key"
|
|
],
|
|
"properties": {
|
|
"get_unbonded_mix_nodes_by_identity_key": {
|
|
"type": "object",
|
|
"required": [
|
|
"identity_key"
|
|
],
|
|
"properties": {
|
|
"identity_key": {
|
|
"description": "The identity key (base58-encoded ed25519 public key) of the mixnode used for the query.",
|
|
"type": "string"
|
|
},
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the detailed mixnode information belonging to the particular owner.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_owned_mixnode"
|
|
],
|
|
"properties": {
|
|
"get_owned_mixnode": {
|
|
"type": "object",
|
|
"required": [
|
|
"address"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"description": "Address of the mixnode owner to use for the query.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the detailed mixnode information of a node with the provided id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_mixnode_details"
|
|
],
|
|
"properties": {
|
|
"get_mixnode_details": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id"
|
|
],
|
|
"properties": {
|
|
"mix_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the rewarding information of a mixnode with the provided id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_mixnode_rewarding_details"
|
|
],
|
|
"properties": {
|
|
"get_mixnode_rewarding_details": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id"
|
|
],
|
|
"properties": {
|
|
"mix_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the stake saturation of a mixnode with the provided id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_stake_saturation"
|
|
],
|
|
"properties": {
|
|
"get_stake_saturation": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id"
|
|
],
|
|
"properties": {
|
|
"mix_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic information of an unbonded mixnode with the provided id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_unbonded_mix_node_information"
|
|
],
|
|
"properties": {
|
|
"get_unbonded_mix_node_information": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id"
|
|
],
|
|
"properties": {
|
|
"mix_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the detailed mixnode information of a node given its current identity key.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_bonded_mixnode_details_by_identity"
|
|
],
|
|
"properties": {
|
|
"get_bonded_mixnode_details_by_identity": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_identity"
|
|
],
|
|
"properties": {
|
|
"mix_identity": {
|
|
"description": "The identity key (base58-encoded ed25519 public key) of the mixnode used for the query.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic list of all currently bonded gateways.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_gateways"
|
|
],
|
|
"properties": {
|
|
"get_gateways": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the gateway details of a node given its identity key.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_gateway_bond"
|
|
],
|
|
"properties": {
|
|
"get_gateway_bond": {
|
|
"type": "object",
|
|
"required": [
|
|
"identity"
|
|
],
|
|
"properties": {
|
|
"identity": {
|
|
"description": "The identity key (base58-encoded ed25519 public key) of the gateway used for the query.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the detailed gateway information belonging to the particular owner.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_owned_gateway"
|
|
],
|
|
"properties": {
|
|
"get_owned_gateway": {
|
|
"type": "object",
|
|
"required": [
|
|
"address"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"description": "Address of the gateway owner to use for the query.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Get the `NodeId`s of all the legacy gateways that they will get assigned once migrated into NymNodes",
|
|
"type": "object",
|
|
"required": [
|
|
"get_preassigned_gateway_ids"
|
|
],
|
|
"properties": {
|
|
"get_preassigned_gateway_ids": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic list of all currently bonded nymnodes.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_nym_node_bonds_paged"
|
|
],
|
|
"properties": {
|
|
"get_nym_node_bonds_paged": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the detailed list of all currently bonded nymnodes.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_nym_nodes_detailed_paged"
|
|
],
|
|
"properties": {
|
|
"get_nym_nodes_detailed_paged": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic information of an unbonded nym-node with the provided id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_unbonded_nym_node"
|
|
],
|
|
"properties": {
|
|
"get_unbonded_nym_node": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic list of all unbonded nymnodes.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_unbonded_nym_nodes_paged"
|
|
],
|
|
"properties": {
|
|
"get_unbonded_nym_nodes_paged": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic list of all unbonded nymnodes that belonged to a particular owner.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_unbonded_nym_nodes_by_owner_paged"
|
|
],
|
|
"properties": {
|
|
"get_unbonded_nym_nodes_by_owner_paged": {
|
|
"type": "object",
|
|
"required": [
|
|
"owner"
|
|
],
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"owner": {
|
|
"description": "The address of the owner of the nym-node used for the query",
|
|
"type": "string"
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the basic list of all unbonded nymnodes that used the particular identity key.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_unbonded_nym_nodes_by_identity_key_paged"
|
|
],
|
|
"properties": {
|
|
"get_unbonded_nym_nodes_by_identity_key_paged": {
|
|
"type": "object",
|
|
"required": [
|
|
"identity_key"
|
|
],
|
|
"properties": {
|
|
"identity_key": {
|
|
"description": "The identity key (base58-encoded ed25519 public key) of the node used for the query.",
|
|
"type": "string"
|
|
},
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the detailed nymnode information belonging to the particular owner.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_owned_nym_node"
|
|
],
|
|
"properties": {
|
|
"get_owned_nym_node": {
|
|
"type": "object",
|
|
"required": [
|
|
"address"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"description": "Address of the node owner to use for the query.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the detailed nymnode information of a node with the provided id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_nym_node_details"
|
|
],
|
|
"properties": {
|
|
"get_nym_node_details": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the detailed nym-node information given its current identity key.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_nym_node_details_by_identity_key"
|
|
],
|
|
"properties": {
|
|
"get_nym_node_details_by_identity_key": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_identity"
|
|
],
|
|
"properties": {
|
|
"node_identity": {
|
|
"description": "The identity key (base58-encoded ed25519 public key) of the nym-node used for the query.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the rewarding information of a nym-node with the provided id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_node_rewarding_details"
|
|
],
|
|
"properties": {
|
|
"get_node_rewarding_details": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the stake saturation of a nym-node with the provided id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_node_stake_saturation"
|
|
],
|
|
"properties": {
|
|
"get_node_stake_saturation": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"get_role_assignment"
|
|
],
|
|
"properties": {
|
|
"get_role_assignment": {
|
|
"type": "object",
|
|
"required": [
|
|
"role"
|
|
],
|
|
"properties": {
|
|
"role": {
|
|
"$ref": "#/definitions/Role"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"get_rewarded_set_metadata"
|
|
],
|
|
"properties": {
|
|
"get_rewarded_set_metadata": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets all delegations associated with particular node",
|
|
"type": "object",
|
|
"required": [
|
|
"get_node_delegations"
|
|
],
|
|
"properties": {
|
|
"get_node_delegations": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets all delegations associated with particular delegator",
|
|
"type": "object",
|
|
"required": [
|
|
"get_delegator_delegations"
|
|
],
|
|
"properties": {
|
|
"get_delegator_delegations": {
|
|
"type": "object",
|
|
"required": [
|
|
"delegator"
|
|
],
|
|
"properties": {
|
|
"delegator": {
|
|
"description": "The address of the owner of the delegations.",
|
|
"type": "string"
|
|
},
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": [
|
|
{
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"maxItems": 2,
|
|
"minItems": 2
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets delegation information associated with particular mixnode - delegator pair",
|
|
"type": "object",
|
|
"required": [
|
|
"get_delegation_details"
|
|
],
|
|
"properties": {
|
|
"get_delegation_details": {
|
|
"type": "object",
|
|
"required": [
|
|
"delegator",
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"delegator": {
|
|
"description": "The address of the owner of the delegation.",
|
|
"type": "string"
|
|
},
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"proxy": {
|
|
"description": "Entity who made the delegation on behalf of the owner. If present, it's most likely the address of the vesting contract.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets all delegations in the system",
|
|
"type": "object",
|
|
"required": [
|
|
"get_all_delegations"
|
|
],
|
|
"properties": {
|
|
"get_all_delegations": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": [
|
|
{
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"maxItems": 2,
|
|
"minItems": 2
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the reward amount accrued by the node operator that has not yet been claimed.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_pending_operator_reward"
|
|
],
|
|
"properties": {
|
|
"get_pending_operator_reward": {
|
|
"type": "object",
|
|
"required": [
|
|
"address"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"description": "Address of the operator to use for the query.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the reward amount accrued by the particular mixnode that has not yet been claimed.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_pending_node_operator_reward"
|
|
],
|
|
"properties": {
|
|
"get_pending_node_operator_reward": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the reward amount accrued by the particular delegator that has not yet been claimed.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_pending_delegator_reward"
|
|
],
|
|
"properties": {
|
|
"get_pending_delegator_reward": {
|
|
"type": "object",
|
|
"required": [
|
|
"address",
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"description": "Address of the delegator to use for the query.",
|
|
"type": "string"
|
|
},
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"proxy": {
|
|
"description": "Entity who made the delegation on behalf of the owner. If present, it's most likely the address of the vesting contract.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Given the provided node performance, attempt to estimate the operator reward for the current epoch.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_estimated_current_epoch_operator_reward"
|
|
],
|
|
"properties": {
|
|
"get_estimated_current_epoch_operator_reward": {
|
|
"type": "object",
|
|
"required": [
|
|
"estimated_performance",
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"estimated_performance": {
|
|
"description": "The estimated performance for the current epoch of the given node.",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/Percent"
|
|
}
|
|
]
|
|
},
|
|
"estimated_work": {
|
|
"description": "The estimated work for the current epoch of the given node.",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/Decimal"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Given the provided node performance, attempt to estimate the delegator reward for the current epoch.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_estimated_current_epoch_delegator_reward"
|
|
],
|
|
"properties": {
|
|
"get_estimated_current_epoch_delegator_reward": {
|
|
"type": "object",
|
|
"required": [
|
|
"address",
|
|
"estimated_performance",
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"description": "Address of the delegator to use for the query.",
|
|
"type": "string"
|
|
},
|
|
"estimated_performance": {
|
|
"description": "The estimated performance for the current epoch of the given node.",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/Percent"
|
|
}
|
|
]
|
|
},
|
|
"estimated_work": {
|
|
"description": "The estimated work for the current epoch of the given node.",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/Decimal"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"node_id": {
|
|
"description": "Id of the node to query.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the list of all currently pending epoch events that will be resolved once the current epoch finishes.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_pending_epoch_events"
|
|
],
|
|
"properties": {
|
|
"get_pending_epoch_events": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the list of all currently pending interval events that will be resolved once the current interval finishes.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_pending_interval_events"
|
|
],
|
|
"properties": {
|
|
"get_pending_interval_events": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limit": {
|
|
"description": "Controls the maximum number of entries returned by the query. Note that too large values will be overwritten by a saner default.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
},
|
|
"start_after": {
|
|
"description": "Pagination control for the values returned by the query. Note that the provided value itself will **not** be used for the response.",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets detailed information about a pending epoch event given its id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_pending_epoch_event"
|
|
],
|
|
"properties": {
|
|
"get_pending_epoch_event": {
|
|
"type": "object",
|
|
"required": [
|
|
"event_id"
|
|
],
|
|
"properties": {
|
|
"event_id": {
|
|
"description": "The unique id associated with the event.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets detailed information about a pending interval event given its id.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_pending_interval_event"
|
|
],
|
|
"properties": {
|
|
"get_pending_interval_event": {
|
|
"type": "object",
|
|
"required": [
|
|
"event_id"
|
|
],
|
|
"properties": {
|
|
"event_id": {
|
|
"description": "The unique id associated with the event.",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0.0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the information about the number of currently pending epoch and interval events.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_number_of_pending_events"
|
|
],
|
|
"properties": {
|
|
"get_number_of_pending_events": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the signing nonce associated with the particular cosmos address.",
|
|
"type": "object",
|
|
"required": [
|
|
"get_signing_nonce"
|
|
],
|
|
"properties": {
|
|
"get_signing_nonce": {
|
|
"type": "object",
|
|
"required": [
|
|
"address"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"description": "Cosmos address used for the query of the signing nonce.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the current state config of the key rotation (i.e. starting epoch id and validity duration)",
|
|
"type": "object",
|
|
"required": [
|
|
"get_key_rotation_state"
|
|
],
|
|
"properties": {
|
|
"get_key_rotation_state": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "Gets the current key rotation id",
|
|
"type": "object",
|
|
"required": [
|
|
"get_key_rotation_id"
|
|
],
|
|
"properties": {
|
|
"get_key_rotation_id": {
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
],
|
|
"definitions": {
|
|
"Decimal": {
|
|
"description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)",
|
|
"type": "string"
|
|
},
|
|
"Percent": {
|
|
"description": "Percent represents a value between 0 and 100% (i.e. between 0.0 and 1.0)",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/Decimal"
|
|
}
|
|
]
|
|
},
|
|
"Role": {
|
|
"type": "string",
|
|
"enum": [
|
|
"eg",
|
|
"l1",
|
|
"l2",
|
|
"l3",
|
|
"xg",
|
|
"stb"
|
|
]
|
|
}
|
|
}
|
|
}
|