Files
nym/contracts/mixnet/schema/raw/instantiate.json
Jędrzej Stuczyński 66979df10c update contract schema
2024-07-26 15:05:47 +01:00

172 lines
4.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "InstantiateMsg",
"type": "object",
"required": [
"epoch_duration",
"epochs_in_interval",
"initial_rewarding_params",
"rewarding_denom",
"rewarding_validator_address",
"vesting_contract_address"
],
"properties": {
"epoch_duration": {
"$ref": "#/definitions/Duration"
},
"epochs_in_interval": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"initial_rewarding_params": {
"$ref": "#/definitions/InitialRewardingParams"
},
"interval_operating_cost": {
"default": {
"maximum": "1000000000000000",
"minimum": "0"
},
"allOf": [
{
"$ref": "#/definitions/RangedValue_for_Uint128"
}
]
},
"profit_margin": {
"default": {
"maximum": "1",
"minimum": "0"
},
"allOf": [
{
"$ref": "#/definitions/RangedValue_for_Percent"
}
]
},
"rewarding_denom": {
"type": "string"
},
"rewarding_validator_address": {
"type": "string"
},
"vesting_contract_address": {
"type": "string"
}
},
"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"
},
"Duration": {
"type": "object",
"required": [
"nanos",
"secs"
],
"properties": {
"nanos": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"secs": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
}
}
},
"InitialRewardingParams": {
"type": "object",
"required": [
"active_set_size",
"active_set_work_factor",
"initial_reward_pool",
"initial_staking_supply",
"interval_pool_emission",
"rewarded_set_size",
"staking_supply_scale_factor",
"sybil_resistance"
],
"properties": {
"active_set_size": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"active_set_work_factor": {
"$ref": "#/definitions/Decimal"
},
"initial_reward_pool": {
"$ref": "#/definitions/Decimal"
},
"initial_staking_supply": {
"$ref": "#/definitions/Decimal"
},
"interval_pool_emission": {
"$ref": "#/definitions/Percent"
},
"rewarded_set_size": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"staking_supply_scale_factor": {
"$ref": "#/definitions/Percent"
},
"sybil_resistance": {
"$ref": "#/definitions/Percent"
}
},
"additionalProperties": false
},
"Percent": {
"description": "Percent represents a value between 0 and 100% (i.e. between 0.0 and 1.0)",
"allOf": [
{
"$ref": "#/definitions/Decimal"
}
]
},
"RangedValue_for_Percent": {
"type": "object",
"required": [
"maximum",
"minimum"
],
"properties": {
"maximum": {
"$ref": "#/definitions/Percent"
},
"minimum": {
"$ref": "#/definitions/Percent"
}
},
"additionalProperties": false
},
"RangedValue_for_Uint128": {
"type": "object",
"required": [
"maximum",
"minimum"
],
"properties": {
"maximum": {
"$ref": "#/definitions/Uint128"
},
"minimum": {
"$ref": "#/definitions/Uint128"
}
},
"additionalProperties": false
},
"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"
}
}
}