51b511b27e
WIP; rebasing Another branch squash Squashing the v3 branch changing min pledge amounts logic for adding new nymnode into the contract converting mixnode/gateway bonding into nym-node bonding logic for migrating gateways into nymnodes ibid for mixnodes further nym-node work + fixed most existing unit tests forbid nymnode migration with pending cost params changes preassign nodeid for gateways changing role assignment and epoch progression changing role assignment and epoch progression optional custom http port logic for unbonding a nym-node updating Delegation struct logic for increasing pledge of either mixnode or nymnode logic for decreasing pledge of either mixnode or a nym node logic for changing cost params of either mixnode or a nym node wip initialise nymnodes storage fixing transaction tests fixed naive family tests reward-compatibility related works resolving delegation events introduced rewarded set metadata another iteration of restoring old tests updated rewarding part of nym-api parking the branch unparking the branch wip purged families added 'ExitGateway' role passing explicit work factor for rewarding function remove legacy layers storage wip: node description queries added announced ports to self-described api step1 in gruelling journey of adding node_id to gateways ensure epoch work never goes above 1.0 changed active set to contain role distribution [theoretically] sending rewarding messages for the new rewarded set [theoretically] assigning new rewarded set reimplementing more nym-api features remove legacy types re-implement legacy network monitor restoring further routes + minor refactor of NodeStatusCache skimmed routes now return legacy nodes alongside nym-nodes seemingly restored all functionalities in nym-api removing more legacy things from the contract initial contract cleanup added nym-api endpoints to return generic annotations regardless of type updated simulator to use new rewarding parameters more contract cleanup made existing mixnet contract tests compile extra validation of nym-node bonding parameters fixed additional compilation issues fixed nym-api v3 database migration failure added additional nym-node contract queries updated the schema made additional delegation/rewards queries compatible with both legacy mixnodes and nym-nodes fixing existing unit tests in mixnet contract wip resolved first batch of 500 compiler errors re-deprecating routes making wallet's rust backend compile fixed non-determinism in contract + nym-api build fixes to the build populating cotracts-cache with nym-nodes data more missing nymnodes queries temp mixnet contract methods + restored result submission in nym-api allow deprecated routes submitting correct results for mixnode results removed deprecated re-export of AxumAppState and removed smurf naming moved axum modules into support::http cleaning up nym-api warnings determine entry gateways before exits exposed transaction to update nym-node config missing memo for updating node config new routes added routes to swagger and fixed relative paths fixed some macro derivations added nym-node commands to nym-cli
1469 lines
43 KiB
JSON
1469 lines
43 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": "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
|
|
}
|
|
],
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|