From 5eb2249ad56eaa6724c5d11f28e9bee15ad589da Mon Sep 17 00:00:00 2001 From: durch Date: Wed, 23 Mar 2022 20:40:24 +0100 Subject: [PATCH] Regenerate mixnet json schema --- contracts/mixnet/schema/execute_msg.json | 466 +++++++++++++++---- contracts/mixnet/schema/instantiate_msg.json | 10 +- contracts/mixnet/schema/mix_node_bond.json | 36 +- contracts/mixnet/schema/query_msg.json | 462 +++++++++++++----- contracts/mixnet/schema/state.json | 94 ---- 5 files changed, 750 insertions(+), 318 deletions(-) delete mode 100644 contracts/mixnet/schema/state.json diff --git a/contracts/mixnet/schema/execute_msg.json b/contracts/mixnet/schema/execute_msg.json index bf576be61e..377975435f 100644 --- a/contracts/mixnet/schema/execute_msg.json +++ b/contracts/mixnet/schema/execute_msg.json @@ -1,7 +1,107 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExecuteMsg", - "anyOf": [ + "oneOf": [ + { + "type": "object", + "required": [ + "reconcile_delegations" + ], + "properties": { + "reconcile_delegations": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "checkpoint_mixnodes" + ], + "properties": { + "checkpoint_mixnodes": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "compound_operator_reward_on_behalf" + ], + "properties": { + "compound_operator_reward_on_behalf": { + "type": "object", + "required": [ + "owner" + ], + "properties": { + "owner": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "compound_delegator_reward_on_behalf" + ], + "properties": { + "compound_delegator_reward_on_behalf": { + "type": "object", + "required": [ + "mix_identity", + "owner" + ], + "properties": { + "mix_identity": { + "type": "string" + }, + "owner": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "compound_operator_reward" + ], + "properties": { + "compound_operator_reward": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "compound_delegator_reward" + ], + "properties": { + "compound_delegator_reward": { + "type": "object", + "required": [ + "mix_identity" + ], + "properties": { + "mix_identity": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, { "type": "object", "required": [ @@ -11,11 +111,15 @@ "bond_mixnode": { "type": "object", "required": [ - "mix_node" + "mix_node", + "owner_signature" ], "properties": { "mix_node": { "$ref": "#/definitions/MixNode" + }, + "owner_signature": { + "type": "string" } } } @@ -34,6 +138,54 @@ }, "additionalProperties": false }, + { + "type": "object", + "required": [ + "update_mixnode_config" + ], + "properties": { + "update_mixnode_config": { + "type": "object", + "required": [ + "profit_margin_percent" + ], + "properties": { + "profit_margin_percent": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "update_mixnode_config_on_behalf" + ], + "properties": { + "update_mixnode_config_on_behalf": { + "type": "object", + "required": [ + "owner", + "profit_margin_percent" + ], + "properties": { + "owner": { + "type": "string" + }, + "profit_margin_percent": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + } + } + } + }, + "additionalProperties": false + }, { "type": "object", "required": [ @@ -43,11 +195,15 @@ "bond_gateway": { "type": "object", "required": [ - "gateway" + "gateway", + "owner_signature" ], "properties": { "gateway": { "$ref": "#/definitions/Gateway" + }, + "owner_signature": { + "type": "string" } } } @@ -69,11 +225,11 @@ { "type": "object", "required": [ - "update_contract_settings" + "update_contract_state_params" ], "properties": { - "update_contract_settings": { - "$ref": "#/definitions/StateParams" + "update_contract_state_params": { + "$ref": "#/definitions/ContractStateParams" } }, "additionalProperties": false @@ -118,46 +274,6 @@ }, "additionalProperties": false }, - { - "type": "object", - "required": [ - "delegate_to_gateway" - ], - "properties": { - "delegate_to_gateway": { - "type": "object", - "required": [ - "gateway_identity" - ], - "properties": { - "gateway_identity": { - "type": "string" - } - } - } - }, - "additionalProperties": false - }, - { - "type": "object", - "required": [ - "undelegate_from_gateway" - ], - "properties": { - "undelegate_from_gateway": { - "type": "object", - "required": [ - "gateway_identity" - ], - "properties": { - "gateway_identity": { - "type": "string" - } - } - } - }, - "additionalProperties": false - }, { "type": "object", "required": [ @@ -168,16 +284,14 @@ "type": "object", "required": [ "identity", - "uptime" + "params" ], "properties": { "identity": { "type": "string" }, - "uptime": { - "type": "integer", - "format": "uint32", - "minimum": 0.0 + "params": { + "$ref": "#/definitions/NodeRewardParams" } } } @@ -187,34 +301,216 @@ { "type": "object", "required": [ - "reward_gateway" + "delegate_to_mixnode_on_behalf" ], "properties": { - "reward_gateway": { + "delegate_to_mixnode_on_behalf": { "type": "object", "required": [ - "identity", - "uptime" + "delegate", + "mix_identity" ], "properties": { - "identity": { + "delegate": { "type": "string" }, - "uptime": { + "mix_identity": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "undelegate_from_mixnode_on_behalf" + ], + "properties": { + "undelegate_from_mixnode_on_behalf": { + "type": "object", + "required": [ + "delegate", + "mix_identity" + ], + "properties": { + "delegate": { + "type": "string" + }, + "mix_identity": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "bond_mixnode_on_behalf" + ], + "properties": { + "bond_mixnode_on_behalf": { + "type": "object", + "required": [ + "mix_node", + "owner", + "owner_signature" + ], + "properties": { + "mix_node": { + "$ref": "#/definitions/MixNode" + }, + "owner": { + "type": "string" + }, + "owner_signature": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "unbond_mixnode_on_behalf" + ], + "properties": { + "unbond_mixnode_on_behalf": { + "type": "object", + "required": [ + "owner" + ], + "properties": { + "owner": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "bond_gateway_on_behalf" + ], + "properties": { + "bond_gateway_on_behalf": { + "type": "object", + "required": [ + "gateway", + "owner", + "owner_signature" + ], + "properties": { + "gateway": { + "$ref": "#/definitions/Gateway" + }, + "owner": { + "type": "string" + }, + "owner_signature": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "unbond_gateway_on_behalf" + ], + "properties": { + "unbond_gateway_on_behalf": { + "type": "object", + "required": [ + "owner" + ], + "properties": { + "owner": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "write_rewarded_set" + ], + "properties": { + "write_rewarded_set": { + "type": "object", + "required": [ + "expected_active_set_size", + "rewarded_set" + ], + "properties": { + "expected_active_set_size": { "type": "integer", "format": "uint32", "minimum": 0.0 + }, + "rewarded_set": { + "type": "array", + "items": { + "type": "string" + } } } } }, "additionalProperties": false + }, + { + "type": "object", + "required": [ + "advance_current_epoch" + ], + "properties": { + "advance_current_epoch": { + "type": "object" + } + }, + "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" + "ContractStateParams": { + "type": "object", + "required": [ + "minimum_gateway_pledge", + "minimum_mixnode_pledge", + "mixnode_active_set_size", + "mixnode_rewarded_set_size" + ], + "properties": { + "minimum_gateway_pledge": { + "$ref": "#/definitions/Uint128" + }, + "minimum_mixnode_pledge": { + "$ref": "#/definitions/Uint128" + }, + "mixnode_active_set_size": { + "type": "integer", + "format": "uint32", + "minimum": 0.0 + }, + "mixnode_rewarded_set_size": { + "type": "integer", + "format": "uint32", + "minimum": 0.0 + } + } }, "Gateway": { "type": "object", @@ -263,6 +559,7 @@ "http_api_port", "identity_key", "mix_port", + "profit_margin_percent", "sphinx_key", "verloc_port", "version" @@ -285,6 +582,11 @@ "format": "uint16", "minimum": 0.0 }, + "profit_margin_percent": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, "sphinx_key": { "type": "string" }, @@ -298,46 +600,24 @@ } } }, - "StateParams": { + "NodeRewardParams": { "type": "object", "required": [ - "epoch_length", - "gateway_bond_reward_rate", - "gateway_delegation_reward_rate", - "minimum_gateway_bond", - "minimum_mixnode_bond", - "mixnode_active_set_size", - "mixnode_bond_reward_rate", - "mixnode_delegation_reward_rate" + "in_active_set", + "reward_blockstamp", + "uptime" ], "properties": { - "epoch_length": { + "in_active_set": { + "type": "boolean" + }, + "reward_blockstamp": { "type": "integer", - "format": "uint32", + "format": "uint64", "minimum": 0.0 }, - "gateway_bond_reward_rate": { - "$ref": "#/definitions/Decimal" - }, - "gateway_delegation_reward_rate": { - "$ref": "#/definitions/Decimal" - }, - "minimum_gateway_bond": { + "uptime": { "$ref": "#/definitions/Uint128" - }, - "minimum_mixnode_bond": { - "$ref": "#/definitions/Uint128" - }, - "mixnode_active_set_size": { - "type": "integer", - "format": "uint32", - "minimum": 0.0 - }, - "mixnode_bond_reward_rate": { - "$ref": "#/definitions/Decimal" - }, - "mixnode_delegation_reward_rate": { - "$ref": "#/definitions/Decimal" } } }, @@ -346,4 +626,4 @@ "type": "string" } } -} \ No newline at end of file +} diff --git a/contracts/mixnet/schema/instantiate_msg.json b/contracts/mixnet/schema/instantiate_msg.json index 44588cf226..3aa0e29b6d 100644 --- a/contracts/mixnet/schema/instantiate_msg.json +++ b/contracts/mixnet/schema/instantiate_msg.json @@ -1,5 +1,13 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "title": "InstantiateMsg", - "type": "object" + "type": "object", + "required": [ + "rewarding_validator_address" + ], + "properties": { + "rewarding_validator_address": { + "type": "string" + } + } } diff --git a/contracts/mixnet/schema/mix_node_bond.json b/contracts/mixnet/schema/mix_node_bond.json index 21c52482ec..0f5c3fd0be 100644 --- a/contracts/mixnet/schema/mix_node_bond.json +++ b/contracts/mixnet/schema/mix_node_bond.json @@ -3,22 +3,29 @@ "title": "MixNodeBond", "type": "object", "required": [ - "bond_amount", + "block_height", "layer", "mix_node", "owner", + "pledge_amount", "total_delegation" ], "properties": { + "accumulated_rewards": { + "anyOf": [ + { + "$ref": "#/definitions/Uint128" + }, + { + "type": "null" + } + ] + }, "block_height": { - "default": 0, "type": "integer", "format": "uint64", "minimum": 0.0 }, - "bond_amount": { - "$ref": "#/definitions/Coin" - }, "layer": { "$ref": "#/definitions/Layer" }, @@ -28,6 +35,19 @@ "owner": { "$ref": "#/definitions/Addr" }, + "pledge_amount": { + "$ref": "#/definitions/Coin" + }, + "proxy": { + "anyOf": [ + { + "$ref": "#/definitions/Addr" + }, + { + "type": "null" + } + ] + }, "total_delegation": { "$ref": "#/definitions/Coin" } @@ -68,6 +88,7 @@ "http_api_port", "identity_key", "mix_port", + "profit_margin_percent", "sphinx_key", "verloc_port", "version" @@ -90,6 +111,11 @@ "format": "uint16", "minimum": 0.0 }, + "profit_margin_percent": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + }, "sphinx_key": { "type": "string" }, diff --git a/contracts/mixnet/schema/query_msg.json b/contracts/mixnet/schema/query_msg.json index 0fdb3a0fd2..43ab824a4c 100644 --- a/contracts/mixnet/schema/query_msg.json +++ b/contracts/mixnet/schema/query_msg.json @@ -1,7 +1,19 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "title": "QueryMsg", - "anyOf": [ + "oneOf": [ + { + "type": "object", + "required": [ + "get_contract_version" + ], + "properties": { + "get_contract_version": { + "type": "object" + } + }, + "additionalProperties": false + }, { "type": "object", "required": [ @@ -71,7 +83,7 @@ ], "properties": { "address": { - "$ref": "#/definitions/Addr" + "type": "string" } } } @@ -91,7 +103,7 @@ ], "properties": { "address": { - "$ref": "#/definitions/Addr" + "type": "string" } } } @@ -101,10 +113,10 @@ { "type": "object", "required": [ - "contract_settings_params" + "state_params" ], "properties": { - "contract_settings_params": { + "state_params": { "type": "object" } }, @@ -113,10 +125,58 @@ { "type": "object", "required": [ - "get_mix_delegations" + "get_all_network_delegations" ], "properties": { - "get_mix_delegations": { + "get_all_network_delegations": { + "type": "object", + "properties": { + "limit": { + "type": [ + "integer", + "null" + ], + "format": "uint32", + "minimum": 0.0 + }, + "start_after": { + "type": [ + "array", + "null" + ], + "items": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + } + }, + { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + } + ], + "maxItems": 3, + "minItems": 3 + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_mixnode_delegations" + ], + "properties": { + "get_mixnode_delegations": { "type": "object", "required": [ "mix_identity" @@ -134,14 +194,22 @@ "type": "string" }, "start_after": { - "anyOf": [ + "type": [ + "array", + "null" + ], + "items": [ { - "$ref": "#/definitions/Addr" + "type": "string" }, { - "type": "null" + "type": "integer", + "format": "uint64", + "minimum": 0.0 } - ] + ], + "maxItems": 2, + "minItems": 2 } } } @@ -151,17 +219,17 @@ { "type": "object", "required": [ - "get_reverse_mix_delegations" + "get_delegator_delegations" ], "properties": { - "get_reverse_mix_delegations": { + "get_delegator_delegations": { "type": "object", "required": [ - "delegation_owner" + "delegator" ], "properties": { - "delegation_owner": { - "$ref": "#/definitions/Addr" + "delegator": { + "type": "string" }, "limit": { "type": [ @@ -185,18 +253,18 @@ { "type": "object", "required": [ - "get_mix_delegation" + "get_delegation_details" ], "properties": { - "get_mix_delegation": { + "get_delegation_details": { "type": "object", "required": [ - "address", + "delegator", "mix_identity" ], "properties": { - "address": { - "$ref": "#/definitions/Addr" + "delegator": { + "type": "string" }, "mix_identity": { "type": "string" @@ -206,102 +274,6 @@ }, "additionalProperties": false }, - { - "type": "object", - "required": [ - "get_gateway_delegations" - ], - "properties": { - "get_gateway_delegations": { - "type": "object", - "required": [ - "gateway_identity" - ], - "properties": { - "gateway_identity": { - "type": "string" - }, - "limit": { - "type": [ - "integer", - "null" - ], - "format": "uint32", - "minimum": 0.0 - }, - "start_after": { - "anyOf": [ - { - "$ref": "#/definitions/Addr" - }, - { - "type": "null" - } - ] - } - } - } - }, - "additionalProperties": false - }, - { - "type": "object", - "required": [ - "get_reverse_gateway_delegations" - ], - "properties": { - "get_reverse_gateway_delegations": { - "type": "object", - "required": [ - "delegation_owner" - ], - "properties": { - "delegation_owner": { - "$ref": "#/definitions/Addr" - }, - "limit": { - "type": [ - "integer", - "null" - ], - "format": "uint32", - "minimum": 0.0 - }, - "start_after": { - "type": [ - "string", - "null" - ] - } - } - } - }, - "additionalProperties": false - }, - { - "type": "object", - "required": [ - "get_gateway_delegation" - ], - "properties": { - "get_gateway_delegation": { - "type": "object", - "required": [ - "address", - "gateway_identity" - ], - "properties": { - "address": { - "$ref": "#/definitions/Addr" - }, - "gateway_identity": { - "type": "string" - } - } - } - }, - "additionalProperties": false - }, { "type": "object", "required": [ @@ -313,12 +285,252 @@ } }, "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_reward_pool" + ], + "properties": { + "get_reward_pool": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_circulating_supply" + ], + "properties": { + "get_circulating_supply": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_interval_reward_percent" + ], + "properties": { + "get_interval_reward_percent": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_sybil_resistance_percent" + ], + "properties": { + "get_sybil_resistance_percent": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_active_set_work_factor" + ], + "properties": { + "get_active_set_work_factor": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_rewarding_status" + ], + "properties": { + "get_rewarding_status": { + "type": "object", + "required": [ + "interval_id", + "mix_identity" + ], + "properties": { + "interval_id": { + "type": "integer", + "format": "uint32", + "minimum": 0.0 + }, + "mix_identity": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_rewarded_set" + ], + "properties": { + "get_rewarded_set": { + "type": "object", + "properties": { + "height": { + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 0.0 + }, + "limit": { + "type": [ + "integer", + "null" + ], + "format": "uint32", + "minimum": 0.0 + }, + "start_after": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_rewarded_set_update_details" + ], + "properties": { + "get_rewarded_set_update_details": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_current_rewarded_set_height" + ], + "properties": { + "get_current_rewarded_set_height": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_rewarded_set_refresh_blocks" + ], + "properties": { + "get_rewarded_set_refresh_blocks": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_current_epoch" + ], + "properties": { + "get_current_epoch": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_epochs_in_interval" + ], + "properties": { + "get_epochs_in_interval": { + "type": "object" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "query_operator_reward" + ], + "properties": { + "query_operator_reward": { + "type": "object", + "required": [ + "address" + ], + "properties": { + "address": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "query_delegator_reward" + ], + "properties": { + "query_delegator_reward": { + "type": "object", + "required": [ + "address", + "mix_identity" + ], + "properties": { + "address": { + "type": "string" + }, + "mix_identity": { + "type": "string" + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "get_pending_delegation_events" + ], + "properties": { + "get_pending_delegation_events": { + "type": "object", + "required": [ + "owner_address" + ], + "properties": { + "owner_address": { + "type": "string" + } + } + } + }, + "additionalProperties": false } - ], - "definitions": { - "Addr": { - "description": "A human readable address.\n\nIn Cosmos, this is typically bech32 encoded. But for multi-chain smart contracts no assumptions should be made other than being UTF-8 encoded and of reasonable length.\n\nThis type represents a validated address. It can be created in the following ways 1. Use `Addr::unchecked(input)` 2. Use `let checked: Addr = deps.api.addr_validate(input)?` 3. Use `let checked: Addr = deps.api.addr_humanize(canonical_addr)?` 4. Deserialize from JSON. This must only be done from JSON that was validated before such as a contract's state. `Addr` must not be used in messages sent by the user because this would result in unvalidated instances.\n\nThis type is immutable. If you really need to mutate it (Really? Are you sure?), create a mutable copy using `let mut mutable = Addr::to_string()` and operate on that `String` instance.", - "type": "string" - } - } -} \ No newline at end of file + ] +} diff --git a/contracts/mixnet/schema/state.json b/contracts/mixnet/schema/state.json deleted file mode 100644 index 33ea553981..0000000000 --- a/contracts/mixnet/schema/state.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "State", - "type": "object", - "required": [ - "gateway_epoch_bond_reward", - "gateway_epoch_delegation_reward", - "mixnode_epoch_bond_reward", - "mixnode_epoch_delegation_reward", - "network_monitor_address", - "owner", - "params" - ], - "properties": { - "gateway_epoch_bond_reward": { - "$ref": "#/definitions/Decimal" - }, - "gateway_epoch_delegation_reward": { - "$ref": "#/definitions/Decimal" - }, - "mixnode_epoch_bond_reward": { - "$ref": "#/definitions/Decimal" - }, - "mixnode_epoch_delegation_reward": { - "$ref": "#/definitions/Decimal" - }, - "network_monitor_address": { - "$ref": "#/definitions/Addr" - }, - "owner": { - "$ref": "#/definitions/Addr" - }, - "params": { - "$ref": "#/definitions/StateParams" - } - }, - "definitions": { - "Addr": { - "description": "A human readable address.\n\nIn Cosmos, this is typically bech32 encoded. But for multi-chain smart contracts no assumptions should be made other than being UTF-8 encoded and of reasonable length.\n\nThis type represents a validated address. It can be created in the following ways 1. Use `Addr::unchecked(input)` 2. Use `let checked: Addr = deps.api.addr_validate(input)?` 3. Use `let checked: Addr = deps.api.addr_humanize(canonical_addr)?` 4. Deserialize from JSON. This must only be done from JSON that was validated before such as a contract's state. `Addr` must not be used in messages sent by the user because this would result in unvalidated instances.\n\nThis type is immutable. If you really need to mutate it (Really? Are you sure?), create a mutable copy using `let mut mutable = Addr::to_string()` and operate on that `String` instance.", - "type": "string" - }, - "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" - }, - "StateParams": { - "type": "object", - "required": [ - "epoch_length", - "gateway_bond_reward_rate", - "gateway_delegation_reward_rate", - "minimum_gateway_bond", - "minimum_mixnode_bond", - "mixnode_active_set_size", - "mixnode_bond_reward_rate", - "mixnode_delegation_reward_rate" - ], - "properties": { - "epoch_length": { - "type": "integer", - "format": "uint32", - "minimum": 0.0 - }, - "gateway_bond_reward_rate": { - "$ref": "#/definitions/Decimal" - }, - "gateway_delegation_reward_rate": { - "$ref": "#/definitions/Decimal" - }, - "minimum_gateway_bond": { - "$ref": "#/definitions/Uint128" - }, - "minimum_mixnode_bond": { - "$ref": "#/definitions/Uint128" - }, - "mixnode_active_set_size": { - "type": "integer", - "format": "uint32", - "minimum": 0.0 - }, - "mixnode_bond_reward_rate": { - "$ref": "#/definitions/Decimal" - }, - "mixnode_delegation_reward_rate": { - "$ref": "#/definitions/Decimal" - } - } - }, - "Uint128": { - "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", - "type": "string" - } - } -}