Files
nym/contracts/mixnet/schema/raw/query.json
T
Jędrzej Stuczyński 51b511b27e Rebased the branch one more time
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
2024-10-10 13:27:05 +01:00

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"
]
}
}
}