7529 lines
188 KiB
JSON
7529 lines
188 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"title": "Nym API",
|
|
"description": "",
|
|
"contact": {
|
|
"name": "Nym Technologies SA"
|
|
},
|
|
"license": {
|
|
"name": "GPL-3.0"
|
|
},
|
|
"version": "1.1.47"
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "/api",
|
|
"description": "Main Nym Api Server"
|
|
},
|
|
{
|
|
"url": "/",
|
|
"description": "Auxiliary Nym Api Instances"
|
|
},
|
|
{
|
|
"url": "/",
|
|
"description": "Local Development Server"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/v1/api-status/build-information": {
|
|
"get": {
|
|
"tags": [
|
|
"API Status"
|
|
],
|
|
"operationId": "build_information",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BinaryBuildInformationOwned"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/api-status/health": {
|
|
"get": {
|
|
"tags": [
|
|
"API Status"
|
|
],
|
|
"operationId": "health",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ApiHealthResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/api-status/signer-information": {
|
|
"get": {
|
|
"tags": [
|
|
"API Status"
|
|
],
|
|
"operationId": "signer_information",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SignerInformationResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/circulating-supply": {
|
|
"get": {
|
|
"tags": [
|
|
"circulating-supply"
|
|
],
|
|
"operationId": "get_full_circulating_supply",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CirculatingSupplyResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/circulating-supply/circulating-supply-value": {
|
|
"get": {
|
|
"tags": [
|
|
"circulating-supply"
|
|
],
|
|
"operationId": "get_circulating_supply",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/circulating-supply/total-supply-value": {
|
|
"get": {
|
|
"tags": [
|
|
"circulating-supply"
|
|
],
|
|
"operationId": "get_total_supply",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/aggregated-coin-indices-signatures": {
|
|
"get": {
|
|
"tags": [
|
|
"Ecash Global Data"
|
|
],
|
|
"operationId": "coin_indices_signatures",
|
|
"parameters": [
|
|
{
|
|
"name": "epoch_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int64",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AggregatedCoinIndicesSignatureResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/aggregated-expiration-date-signatures": {
|
|
"get": {
|
|
"tags": [
|
|
"Ecash Global Data"
|
|
],
|
|
"operationId": "expiration_date_signatures",
|
|
"parameters": [
|
|
{
|
|
"name": "expiration_date",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AggregatedExpirationDateSignatureResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/batch-redeem-ecash-tickets": {
|
|
"post": {
|
|
"tags": [
|
|
"Ecash"
|
|
],
|
|
"operationId": "batch_redeem_tickets",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BatchRedeemTicketsBody"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/EcashBatchTicketRedemptionResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "this nym-api is not an ecash signer in the current epoch",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/blind-sign": {
|
|
"post": {
|
|
"tags": [
|
|
"Ecash"
|
|
],
|
|
"operationId": "post_blind_sign",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BlindSignRequestBody"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BlindedSignatureResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "this nym-api is not an ecash signer in the current epoch",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/double-spending-filter-v1": {
|
|
"get": {
|
|
"tags": [
|
|
"Ecash"
|
|
],
|
|
"operationId": "double_spending_filter_v1",
|
|
"responses": {
|
|
"500": {
|
|
"description": "bloomfilters got disabled",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/ecash/issued-ticketbooks-challenge": {
|
|
"post": {
|
|
"tags": [
|
|
"Ecash"
|
|
],
|
|
"operationId": "issued_ticketbooks_challenge",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/IssuedTicketbooksChallengeRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/IssuedTicketbooksChallengeResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "this nym-api is not an ecash signer in the current epoch",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/issued-ticketbooks-for/{expiration_date}": {
|
|
"get": {
|
|
"tags": [
|
|
"Ecash"
|
|
],
|
|
"operationId": "issued_ticketbooks_for",
|
|
"parameters": [
|
|
{
|
|
"name": "expiration_date",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "date"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/IssuedTicketbooksForResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "this nym-api is not an ecash signer in the current epoch",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/master-verification-key": {
|
|
"get": {
|
|
"tags": [
|
|
"Ecash Global Data"
|
|
],
|
|
"operationId": "master_verification_key",
|
|
"parameters": [
|
|
{
|
|
"name": "epoch_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int64",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VerificationKeyResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/partial-coin-indices-signatures": {
|
|
"get": {
|
|
"tags": [
|
|
"Ecash"
|
|
],
|
|
"operationId": "partial_coin_indices_signatures",
|
|
"parameters": [
|
|
{
|
|
"name": "epoch_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int64",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartialExpirationDateSignatureResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "this nym-api is not an ecash signer in the current epoch",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/partial-expiration-date-signatures": {
|
|
"get": {
|
|
"tags": [
|
|
"Ecash"
|
|
],
|
|
"operationId": "partial_expiration_date_signatures",
|
|
"parameters": [
|
|
{
|
|
"name": "expiration_date",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartialExpirationDateSignatureResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "this nym-api is not an ecash signer in the current epoch",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/ecash/verify-ecash-ticket": {
|
|
"post": {
|
|
"tags": [
|
|
"Ecash"
|
|
],
|
|
"operationId": "verify_ticket",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VerifyEcashTicketBody"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/EcashTicketVerificationResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "this nym-api is not an ecash signer in the current epoch",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/epoch/current": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_current_epoch",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Interval"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/epoch/reward_params": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_interval_reward_params",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/RewardingParams"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/gateways": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_gateways",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/GatewayBond"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/gateways/blacklisted": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_blacklisted_gateways",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/gateways/described": {
|
|
"get": {
|
|
"tags": [
|
|
"Legacy gateways"
|
|
],
|
|
"operationId": "get_gateways_described",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LegacyDescribedGateway"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/mixnodes": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_mixnodes",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LegacyMixNodeDetailsWithLayer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/mixnodes/active": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_active_set",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LegacyMixNodeDetailsWithLayer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/mixnodes/active/detailed": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_active_set_detailed",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/MixNodeBondAnnotated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/mixnodes/blacklisted": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_blacklisted_mixnodes",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/components/schemas/u32"
|
|
},
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/mixnodes/described": {
|
|
"get": {
|
|
"tags": [
|
|
"Legacy Mixnodes"
|
|
],
|
|
"operationId": "get_mixnodes_described",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LegacyDescribedMixNode"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/mixnodes/detailed": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_mixnodes_detailed",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/MixNodeBondAnnotated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/mixnodes/rewarded": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_rewarded_set",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LegacyMixNodeDetailsWithLayer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/mixnodes/rewarded/detailed": {
|
|
"get": {
|
|
"tags": [
|
|
"contract-cache"
|
|
],
|
|
"operationId": "get_rewarded_set_detailed",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/MixNodeBondAnnotated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/network/details": {
|
|
"get": {
|
|
"tags": [
|
|
"network"
|
|
],
|
|
"operationId": "network_details",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NetworkDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/network/nym-contracts": {
|
|
"get": {
|
|
"tags": [
|
|
"network"
|
|
],
|
|
"operationId": "nym_contracts",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/ContractInformationContractVersion"
|
|
},
|
|
"propertyNames": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/network/nym-contracts-detailed": {
|
|
"get": {
|
|
"tags": [
|
|
"network"
|
|
],
|
|
"operationId": "nym_contracts_detailed",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/ContractInformationBuildInformation"
|
|
},
|
|
"propertyNames": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/annotation/{node_id}": {
|
|
"get": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "get_node_annotation",
|
|
"parameters": [
|
|
{
|
|
"name": "node_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AnnotationResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/bonded": {
|
|
"get": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "get_bonded_nodes",
|
|
"parameters": [
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedResponse_NymNodeDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/described": {
|
|
"get": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "get_described_nodes",
|
|
"parameters": [
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedResponse_NymNodeDescription"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/historical-performance/{node_id}": {
|
|
"get": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "get_historical_performance",
|
|
"parameters": [
|
|
{
|
|
"name": "date",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "date"
|
|
}
|
|
},
|
|
{
|
|
"name": "node_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NodeDatePerformanceResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/noise": {
|
|
"get": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "nodes_noise",
|
|
"parameters": [
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedResponse_NoiseDetails"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/performance-history/{node_id}": {
|
|
"get": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "get_node_performance_history",
|
|
"parameters": [
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "node_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PerformanceHistoryResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/performance/{node_id}": {
|
|
"get": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "get_current_node_performance",
|
|
"parameters": [
|
|
{
|
|
"name": "node_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NodePerformanceResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/refresh-described": {
|
|
"post": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "refresh_described",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NodeRefreshBody"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/rewarded-set": {
|
|
"get": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "rewarded_set",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NodeRefreshBody"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RewardedSetResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/nym-nodes/uptime-history/{node_id}": {
|
|
"get": {
|
|
"tags": [
|
|
"Nym Nodes"
|
|
],
|
|
"operationId": "get_node_uptime_history",
|
|
"parameters": [
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "node_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PerformanceHistoryResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/status/config-score-details": {
|
|
"get": {
|
|
"tags": [
|
|
"Status"
|
|
],
|
|
"operationId": "config_score_details",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ConfigScoreDataResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/status/gateway/{identity}/avg_uptime": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "get_gateway_avg_uptime",
|
|
"parameters": [
|
|
{
|
|
"name": "identity",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GatewayUptimeResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/gateway/{identity}/core-status-count": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "gateway_core_status_count",
|
|
"parameters": [
|
|
{
|
|
"name": "since",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int64"
|
|
}
|
|
},
|
|
{
|
|
"name": "identity",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GatewayCoreStatusResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/gateway/{identity}/history": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "gateway_uptime_history",
|
|
"parameters": [
|
|
{
|
|
"name": "identity",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GatewayUptimeHistoryResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/gateway/{identity}/report": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "gateway_report",
|
|
"parameters": [
|
|
{
|
|
"name": "identity",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GatewayStatusReportResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/gateways/detailed": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "get_gateways_detailed",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GatewayBondAnnotated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/gateways/detailed-unfiltered": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "get_gateways_detailed_unfiltered",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GatewayBondAnnotated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/gateways/unstable/{identity}/test-results": {
|
|
"get": {
|
|
"tags": [
|
|
"UNSTABLE - DO **NOT** USE"
|
|
],
|
|
"operationId": "gateway_test_results",
|
|
"parameters": [
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "identity",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/status/mixnode/{mix_id}/avg_uptime": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "get_mixnode_avg_uptime",
|
|
"parameters": [
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UptimeResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnode/{mix_id}/compute-reward-estimation": {
|
|
"post": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "compute_mixnode_reward_estimation",
|
|
"parameters": [
|
|
{
|
|
"name": "performance",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "active_in_rewarded_set",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pledge_amount",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int64",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "total_delegation",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int64",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "interval_operating_cost",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "profit_margin_percent",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ComputeRewardEstParam"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RewardEstimationResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnode/{mix_id}/core-status-count": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "mixnode_core_status_count",
|
|
"parameters": [
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
},
|
|
{
|
|
"name": "since",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int64"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MixnodeCoreStatusResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnode/{mix_id}/history": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "mixnode_uptime_history",
|
|
"parameters": [
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MixnodeUptimeHistoryResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnode/{mix_id}/inclusion-probability": {
|
|
"get": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"operationId": "get_mixnode_inclusion_probability",
|
|
"parameters": [
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InclusionProbabilityResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnode/{mix_id}/report": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "mixnode_report",
|
|
"parameters": [
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MixnodeStatusReportResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnode/{mix_id}/reward-estimation": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "get_mixnode_reward_estimation",
|
|
"parameters": [
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RewardEstimationResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnode/{mix_id}/stake-saturation": {
|
|
"get": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"operationId": "get_mixnode_stake_saturation",
|
|
"parameters": [
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StakeSaturationResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnode/{mix_id}/status": {
|
|
"get": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"operationId": "get_mixnode_status",
|
|
"parameters": [
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MixnodeStatusResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnodes/active/detailed": {
|
|
"get": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"operationId": "get_active_set_detailed",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MixNodeBondAnnotated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnodes/detailed": {
|
|
"get": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"operationId": "get_mixnodes_detailed",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MixNodeBondAnnotated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnodes/detailed-unfiltered": {
|
|
"get": {
|
|
"tags": [
|
|
"network-monitor-status"
|
|
],
|
|
"operationId": "get_mixnodes_detailed_unfiltered",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MixNodeBondAnnotated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnodes/inclusion-probability": {
|
|
"get": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"operationId": "get_mixnode_inclusion_probabilities",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AllInclusionProbabilitiesResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnodes/rewarded/detailed": {
|
|
"get": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"operationId": "get_rewarded_set_detailed",
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MixNodeBondAnnotated"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/status/mixnodes/unstable/{mix_id}/test-results": {
|
|
"get": {
|
|
"tags": [
|
|
"UNSTABLE - DO **NOT** USE"
|
|
],
|
|
"operationId": "mixnode_test_results",
|
|
"parameters": [
|
|
{
|
|
"name": "mix_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/status/network-monitor/unstable/run/latest/details": {
|
|
"get": {
|
|
"tags": [
|
|
"UNSTABLE - DO **NOT** USE"
|
|
],
|
|
"operationId": "latest_monitor_run_report",
|
|
"parameters": [
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NetworkMonitorRunDetailsResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/status/network-monitor/unstable/run/{monitor_run_id}/details": {
|
|
"get": {
|
|
"tags": [
|
|
"UNSTABLE - DO **NOT** USE"
|
|
],
|
|
"operationId": "monitor_run_report",
|
|
"parameters": [
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "monitor_run_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NetworkMonitorRunDetailsResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/status/submit-gateway-monitoring-results": {
|
|
"post": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"operationId": "submit_gateway_monitoring_results",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MonitorMessage"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"description": "TBD",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "TBD",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "TBD",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/status/submit-node-monitoring-results": {
|
|
"post": {
|
|
"tags": [
|
|
"status"
|
|
],
|
|
"operationId": "submit_node_monitoring_results",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MonitorMessage"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"description": "TBD",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "TBD",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "TBD",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/full-fat": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"operationId": "nodes_detailed",
|
|
"parameters": [
|
|
{
|
|
"name": "role",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"active-mixnode",
|
|
"entry-gateway",
|
|
"exit-gateway"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"501": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/gateways/skimmed": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Deprecated query that gets ALL gateways",
|
|
"operationId": "deprecated_gateways_basic",
|
|
"parameters": [
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CachedNodesResponse_SkimmedNode"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/mixnodes/skimmed": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Deprecated query that gets ACTIVE-ONLY mixnodes",
|
|
"operationId": "deprecated_mixnodes_basic",
|
|
"parameters": [
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CachedNodesResponse_SkimmedNode"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/semi-skimmed": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"operationId": "nodes_expanded",
|
|
"parameters": [
|
|
{
|
|
"name": "role",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"active-mixnode",
|
|
"entry-gateway",
|
|
"exit-gateway"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"501": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/skimmed": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Return all Nym Nodes and optionally legacy mixnodes/gateways (if `no-legacy` flag is not used)\nthat are currently bonded.",
|
|
"operationId": "nodes_basic_all",
|
|
"parameters": [
|
|
{
|
|
"name": "role",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"active-mixnode",
|
|
"entry-gateway",
|
|
"exit-gateway"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/skimmed/active": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Return Nym Nodes and optionally legacy mixnodes/gateways (if `no-legacy` flag is not used)\nthat are currently bonded and are in the **active set**",
|
|
"operationId": "nodes_basic_active",
|
|
"parameters": [
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/skimmed/entry-gateways/active": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Returns Nym Nodes and optionally legacy gateways (if `no-legacy` flag is not used)\nthat are currently bonded and are in the active set with the entry role.",
|
|
"operationId": "entry_gateways_basic_active",
|
|
"parameters": [
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/skimmed/entry-gateways/all": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Returns Nym Nodes and optionally legacy gateways (if `no-legacy` flag is not used)\nthat are currently bonded and support entry gateway role.",
|
|
"operationId": "entry_gateways_basic_all",
|
|
"parameters": [
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/skimmed/exit-gateways/active": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Returns Nym Nodes and optionally legacy gateways (if `no-legacy` flag is not used)\nthat are currently bonded and are in the active set with the exit role.",
|
|
"operationId": "exit_gateways_basic_active",
|
|
"parameters": [
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/skimmed/exit-gateways/all": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Returns Nym Nodes and optionally legacy gateways (if `no-legacy` flag is not used)\nthat are currently bonded and support exit gateway role.",
|
|
"operationId": "exit_gateways_basic_all",
|
|
"parameters": [
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/skimmed/mixnodes/active": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Returns Nym Nodes and optionally legacy mixnodes (if `no-legacy` flag is not used)\nthat are currently bonded and are in the active set with one of the mixing roles.",
|
|
"operationId": "mixnodes_basic_active",
|
|
"parameters": [
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/unstable/nym-nodes/skimmed/mixnodes/all": {
|
|
"get": {
|
|
"tags": [
|
|
"Unstable Nym Nodes"
|
|
],
|
|
"summary": "Returns Nym Nodes and optionally legacy mixnodes (if `no-legacy` flag is not used)\nthat are currently bonded and support mixing role.",
|
|
"operationId": "mixnodes_basic_all",
|
|
"parameters": [
|
|
{
|
|
"name": "semver_compatibility",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "no_legacy",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "per_page",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"AggregatedCoinIndicesSignatureResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"epoch_id",
|
|
"signatures"
|
|
],
|
|
"properties": {
|
|
"epoch_id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"signatures": {
|
|
"$ref": "#/components/schemas/Signature"
|
|
}
|
|
}
|
|
},
|
|
"AggregatedExpirationDateSignatureResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"epoch_id",
|
|
"expiration_date",
|
|
"signatures"
|
|
],
|
|
"properties": {
|
|
"epoch_id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"expiration_date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"signatures": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AnnotatedExpirationDateSignature"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"AllInclusionProbabilitiesResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"inclusion_probabilities",
|
|
"samples",
|
|
"elapsed",
|
|
"delta_max",
|
|
"delta_l2",
|
|
"as_at"
|
|
],
|
|
"properties": {
|
|
"as_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"delta_l2": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"delta_max": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"elapsed": {
|
|
"type": "string"
|
|
},
|
|
"inclusion_probabilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/InclusionProbability"
|
|
}
|
|
},
|
|
"samples": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"deprecated": true
|
|
},
|
|
"AnnotatedCoinIndexSignature": {
|
|
"type": "object",
|
|
"required": [
|
|
"signature",
|
|
"index"
|
|
],
|
|
"properties": {
|
|
"index": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"signature": {
|
|
"$ref": "#/components/schemas/Signature"
|
|
}
|
|
}
|
|
},
|
|
"AnnotatedExpirationDateSignature": {
|
|
"type": "object",
|
|
"required": [
|
|
"signature",
|
|
"expiration_timestamp",
|
|
"spending_timestamp"
|
|
],
|
|
"properties": {
|
|
"expiration_timestamp": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"signature": {
|
|
"$ref": "#/components/schemas/Signature"
|
|
},
|
|
"spending_timestamp": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"AnnotationResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"annotation": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/NodeAnnotation"
|
|
}
|
|
]
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"AnnouncePorts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mix_port": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"verloc_port": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"ApiHealthResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"status",
|
|
"uptime"
|
|
],
|
|
"properties": {
|
|
"status": {
|
|
"$ref": "#/components/schemas/ApiStatus"
|
|
},
|
|
"uptime": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"ApiStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"up"
|
|
]
|
|
},
|
|
"AuthenticatorDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"address"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"type": "string",
|
|
"description": "address of the embedded authenticator"
|
|
}
|
|
}
|
|
},
|
|
"AuxiliaryDetails": {
|
|
"type": "object",
|
|
"description": "Auxiliary details of the associated Nym Node.",
|
|
"properties": {
|
|
"accepted_operator_terms_and_conditions": {
|
|
"type": "boolean",
|
|
"description": "Specifies whether this node operator has agreed to the terms and conditions\nas defined at <https://nymtech.net/terms-and-conditions/operators/v1.0.0>"
|
|
},
|
|
"announce_ports": {
|
|
"$ref": "#/components/schemas/AnnouncePorts"
|
|
},
|
|
"location": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Optional ISO 3166 alpha-2 two-letter country code of the node's **physical** location",
|
|
"example": "PL"
|
|
}
|
|
}
|
|
},
|
|
"AxumErrorResponse": {
|
|
"type": "object",
|
|
"title": "ErrorResponse",
|
|
"required": [
|
|
"message",
|
|
"status"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"$ref": "#/components/schemas/RequestError"
|
|
},
|
|
"status": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"BasicEntryInformation": {
|
|
"type": "object",
|
|
"required": [
|
|
"ws_port"
|
|
],
|
|
"properties": {
|
|
"hostname": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"ws_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"wss_port": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"BatchRedeemTicketsBody": {
|
|
"type": "object",
|
|
"required": [
|
|
"digest",
|
|
"included_serial_numbers",
|
|
"proposal_id",
|
|
"gateway_cosmos_addr"
|
|
],
|
|
"properties": {
|
|
"digest": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"gateway_cosmos_addr": {
|
|
"type": "string"
|
|
},
|
|
"included_serial_numbers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SerialNumberWrapper"
|
|
}
|
|
},
|
|
"proposal_id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"BinaryBuildInformationOwned": {
|
|
"type": "object",
|
|
"required": [
|
|
"binary_name",
|
|
"build_timestamp",
|
|
"build_version",
|
|
"commit_sha",
|
|
"commit_timestamp",
|
|
"commit_branch",
|
|
"rustc_version",
|
|
"rustc_channel",
|
|
"cargo_profile"
|
|
],
|
|
"properties": {
|
|
"binary_name": {
|
|
"type": "string",
|
|
"description": "Provides the name of the binary, i.e. the content of `CARGO_PKG_NAME` environmental variable."
|
|
},
|
|
"build_timestamp": {
|
|
"type": "string",
|
|
"description": "Provides the build timestamp, for example `2021-02-23T20:14:46.558472672+00:00`."
|
|
},
|
|
"build_version": {
|
|
"type": "string",
|
|
"description": "Provides the build version, for example `0.1.0-9-g46f83e1`."
|
|
},
|
|
"cargo_profile": {
|
|
"type": "string",
|
|
"description": "Provides the cargo debug mode that was used for the build."
|
|
},
|
|
"cargo_triple": {
|
|
"type": "string",
|
|
"description": "Provides the cargo target triple that was used for the build."
|
|
},
|
|
"commit_branch": {
|
|
"type": "string",
|
|
"description": "Provides the name of the git branch that was used for the build, for example `master`."
|
|
},
|
|
"commit_sha": {
|
|
"type": "string",
|
|
"description": "Provides the hash of the commit that was used for the build, for example `46f83e112520533338245862d366f6a02cef07d4`."
|
|
},
|
|
"commit_timestamp": {
|
|
"type": "string",
|
|
"description": "Provides the timestamp of the commit that was used for the build, for example `2021-02-23T08:08:02-05:00`."
|
|
},
|
|
"rustc_channel": {
|
|
"type": "string",
|
|
"description": "Provides the rustc channel that was used for the build, for example `nightly`."
|
|
},
|
|
"rustc_version": {
|
|
"type": "string",
|
|
"description": "Provides the rustc version that was used for the build, for example `1.52.0-nightly`."
|
|
}
|
|
}
|
|
},
|
|
"BlindSignRequestBody": {
|
|
"type": "object",
|
|
"required": [
|
|
"inner_sign_request",
|
|
"deposit_id",
|
|
"signature",
|
|
"ecash_pubkey",
|
|
"expiration_date",
|
|
"ticketbook_type"
|
|
],
|
|
"properties": {
|
|
"deposit_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "the id of the associated deposit",
|
|
"minimum": 0
|
|
},
|
|
"ecash_pubkey": {
|
|
"$ref": "#/components/schemas/PublicKeyUser"
|
|
},
|
|
"expiration_date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"inner_sign_request": {
|
|
"$ref": "#/components/schemas/WithdrawalRequest"
|
|
},
|
|
"signature": {
|
|
"type": "string",
|
|
"description": "Signature on the inner sign request and the tx hash"
|
|
},
|
|
"ticketbook_type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"BlindedSignature": {
|
|
"type": "object",
|
|
"required": [
|
|
"h",
|
|
"c"
|
|
],
|
|
"properties": {
|
|
"c": {
|
|
"type": "string"
|
|
},
|
|
"h": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"BlindedSignatureResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"blinded_signature"
|
|
],
|
|
"properties": {
|
|
"blinded_signature": {
|
|
"$ref": "#/components/schemas/BlindedSignature"
|
|
}
|
|
}
|
|
},
|
|
"CachedNodesResponse_SkimmedNode": {
|
|
"type": "object",
|
|
"required": [
|
|
"refreshed_at",
|
|
"nodes"
|
|
],
|
|
"properties": {
|
|
"nodes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id",
|
|
"ed25519_identity_pubkey",
|
|
"ip_addresses",
|
|
"mix_port",
|
|
"x25519_sphinx_pubkey",
|
|
"role",
|
|
"performance"
|
|
],
|
|
"properties": {
|
|
"ed25519_identity_pubkey": {
|
|
"type": "string"
|
|
},
|
|
"entry": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/BasicEntryInformation"
|
|
}
|
|
]
|
|
},
|
|
"ip_addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"mix_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"performance": {
|
|
"type": "string",
|
|
"description": "Average node performance in last 24h period"
|
|
},
|
|
"role": {
|
|
"$ref": "#/components/schemas/NodeRole"
|
|
},
|
|
"supported_roles": {
|
|
"$ref": "#/components/schemas/DeclaredRoles"
|
|
},
|
|
"x25519_sphinx_pubkey": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"refreshed_at": {
|
|
"$ref": "#/components/schemas/OffsetDateTimeJsonSchemaWrapper"
|
|
}
|
|
}
|
|
},
|
|
"ChainDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"bech32_account_prefix",
|
|
"mix_denom",
|
|
"stake_denom"
|
|
],
|
|
"properties": {
|
|
"bech32_account_prefix": {
|
|
"type": "string"
|
|
},
|
|
"mix_denom": {
|
|
"$ref": "#/components/schemas/DenomDetailsOwned"
|
|
},
|
|
"stake_denom": {
|
|
"$ref": "#/components/schemas/DenomDetailsOwned"
|
|
}
|
|
}
|
|
},
|
|
"CirculatingSupplyResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"total_supply",
|
|
"mixmining_reserve",
|
|
"vesting_tokens",
|
|
"circulating_supply"
|
|
],
|
|
"properties": {
|
|
"circulating_supply": {
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
},
|
|
"mixmining_reserve": {
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
},
|
|
"total_supply": {
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
},
|
|
"vesting_tokens": {
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
}
|
|
}
|
|
},
|
|
"CoinSchema": {
|
|
"type": "object",
|
|
"title": "Coin",
|
|
"required": [
|
|
"denom",
|
|
"amount"
|
|
],
|
|
"properties": {
|
|
"amount": {
|
|
"type": "string"
|
|
},
|
|
"denom": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"CommitedDeposit": {
|
|
"type": "object",
|
|
"required": [
|
|
"depositId",
|
|
"merkleIndex"
|
|
],
|
|
"properties": {
|
|
"depositId": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"merkleIndex": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"ComputeRewardEstParam": {
|
|
"type": "object",
|
|
"properties": {
|
|
"active_in_rewarded_set": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
},
|
|
"interval_operating_cost": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
}
|
|
]
|
|
},
|
|
"performance": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"pledge_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"profit_margin_percent": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"total_delegation": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int64",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"ConfigScore": {
|
|
"type": "object",
|
|
"required": [
|
|
"score",
|
|
"self_described_api_available",
|
|
"accepted_terms_and_conditions",
|
|
"runs_nym_node_binary"
|
|
],
|
|
"properties": {
|
|
"accepted_terms_and_conditions": {
|
|
"type": "boolean"
|
|
},
|
|
"runs_nym_node_binary": {
|
|
"type": "boolean"
|
|
},
|
|
"score": {
|
|
"type": "number",
|
|
"format": "double",
|
|
"description": "Total score after taking all the criteria into consideration"
|
|
},
|
|
"self_described_api_available": {
|
|
"type": "boolean"
|
|
},
|
|
"versions_behind": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"ConfigScoreDataResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"parameters",
|
|
"version_history"
|
|
],
|
|
"properties": {
|
|
"parameters": {
|
|
"$ref": "#/components/schemas/ConfigScoreParams"
|
|
},
|
|
"version_history": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/HistoricalNymNodeVersionEntry"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ConfigScoreParams": {
|
|
"type": "object",
|
|
"required": [
|
|
"version_weights",
|
|
"version_score_formula_params"
|
|
],
|
|
"properties": {
|
|
"version_score_formula_params": {
|
|
"$ref": "#/components/schemas/VersionScoreFormulaParams",
|
|
"description": "Defines the parameters of the formula for calculating the version score"
|
|
},
|
|
"version_weights": {
|
|
"$ref": "#/components/schemas/OutdatedVersionWeights",
|
|
"description": "Defines weights for calculating numbers of versions behind the current release."
|
|
}
|
|
}
|
|
},
|
|
"ContractBuildInformation": {
|
|
"type": "object",
|
|
"required": [
|
|
"build_timestamp",
|
|
"build_version",
|
|
"commit_sha",
|
|
"commit_timestamp",
|
|
"commit_branch",
|
|
"rustc_version"
|
|
],
|
|
"properties": {
|
|
"build_timestamp": {
|
|
"type": "string",
|
|
"description": "Provides the build timestamp, for example `2021-02-23T20:14:46.558472672+00:00`."
|
|
},
|
|
"build_version": {
|
|
"type": "string",
|
|
"description": "Provides the build version, for example `0.1.0-9-g46f83e1`."
|
|
},
|
|
"cargo_debug": {
|
|
"type": "string",
|
|
"description": "Provides the cargo debug mode that was used for the build."
|
|
},
|
|
"cargo_opt_level": {
|
|
"type": "string",
|
|
"description": "Provides the opt value set by cargo during the build"
|
|
},
|
|
"commit_branch": {
|
|
"type": "string",
|
|
"description": "Provides the name of the git branch that was used for the build, for example `master`."
|
|
},
|
|
"commit_sha": {
|
|
"type": "string",
|
|
"description": "Provides the hash of the commit that was used for the build, for example `46f83e112520533338245862d366f6a02cef07d4`."
|
|
},
|
|
"commit_timestamp": {
|
|
"type": "string",
|
|
"description": "Provides the timestamp of the commit that was used for the build, for example `2021-02-23T08:08:02-05:00`."
|
|
},
|
|
"contract_name": {
|
|
"type": "string",
|
|
"description": "Provides the name of the binary, i.e. the content of `CARGO_PKG_NAME` environmental variable."
|
|
},
|
|
"rustc_version": {
|
|
"type": "string",
|
|
"description": "Provides the rustc version that was used for the build, for example `1.52.0-nightly`."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"ContractInformationBuildInformation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"details": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ContractBuildInformation"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"ContractInformationContractVersion": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"details": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ContractVersionSchemaResponse"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"ContractVersionSchemaResponse": {
|
|
"type": "object",
|
|
"title": "ContractVersion",
|
|
"required": [
|
|
"contract",
|
|
"version"
|
|
],
|
|
"properties": {
|
|
"contract": {
|
|
"type": "string",
|
|
"description": "contract is the crate name of the implementing contract, eg. `crate:cw20-base`\nwe will use other prefixes for other languages, and their standard global namespacing"
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"description": "version is any string that this implementation knows. It may be simple counter \"1\", \"2\".\nor semantic version on release tags \"v0.7.0\", or some custom feature flag list.\nthe only code that needs to understand the version parsing is code that knows how to\nmigrate from the given contract (and is tied to it's implementation somehow)"
|
|
}
|
|
}
|
|
},
|
|
"CredentialSpendingData": {
|
|
"type": "object",
|
|
"required": [
|
|
"payment",
|
|
"pay_info",
|
|
"spend_date",
|
|
"epoch_id"
|
|
],
|
|
"properties": {
|
|
"epoch_id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"description": "The (DKG) epoch id under which the credential has been issued so that the verifier could use correct verification key for validation.",
|
|
"minimum": 0
|
|
},
|
|
"pay_info": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"payment": {
|
|
"$ref": "#/components/schemas/Payment"
|
|
},
|
|
"spend_date": {
|
|
"type": "string",
|
|
"format": "date"
|
|
}
|
|
}
|
|
},
|
|
"DateQuery": {
|
|
"type": "object",
|
|
"required": [
|
|
"date"
|
|
],
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
}
|
|
}
|
|
},
|
|
"DeclaredRoles": {
|
|
"type": "object",
|
|
"required": [
|
|
"mixnode",
|
|
"entry",
|
|
"exit_nr",
|
|
"exit_ipr"
|
|
],
|
|
"properties": {
|
|
"entry": {
|
|
"type": "boolean"
|
|
},
|
|
"exit_ipr": {
|
|
"type": "boolean"
|
|
},
|
|
"exit_nr": {
|
|
"type": "boolean"
|
|
},
|
|
"mixnode": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"DenomDetailsOwned": {
|
|
"type": "object",
|
|
"required": [
|
|
"base",
|
|
"display",
|
|
"display_exponent"
|
|
],
|
|
"properties": {
|
|
"base": {
|
|
"type": "string"
|
|
},
|
|
"display": {
|
|
"type": "string"
|
|
},
|
|
"display_exponent": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"DescribedNodeType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"legacy_mixnode",
|
|
"legacy_gateway",
|
|
"nym_node"
|
|
]
|
|
},
|
|
"DetailedNodePerformance": {
|
|
"type": "object",
|
|
"required": [
|
|
"performance_score",
|
|
"routing_score",
|
|
"config_score"
|
|
],
|
|
"properties": {
|
|
"config_score": {
|
|
"$ref": "#/components/schemas/ConfigScore"
|
|
},
|
|
"performance_score": {
|
|
"type": "number",
|
|
"format": "double",
|
|
"description": "routing_score * config_score"
|
|
},
|
|
"routing_score": {
|
|
"$ref": "#/components/schemas/RoutingScore"
|
|
}
|
|
}
|
|
},
|
|
"DisplayRole": {
|
|
"type": "string",
|
|
"enum": [
|
|
"entryGateway",
|
|
"layer1",
|
|
"layer2",
|
|
"layer3",
|
|
"exitGateway",
|
|
"standby"
|
|
]
|
|
},
|
|
"EcashBatchTicketRedemptionResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"proposal_accepted"
|
|
],
|
|
"properties": {
|
|
"proposal_accepted": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"EcashTicketVerificationRejection": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"InvalidSpentDate"
|
|
],
|
|
"properties": {
|
|
"InvalidSpentDate": {
|
|
"type": "object",
|
|
"required": [
|
|
"today",
|
|
"yesterday",
|
|
"received"
|
|
],
|
|
"properties": {
|
|
"received": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"today": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"yesterday": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"ReplayedTicket"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"DoubleSpend"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"InvalidTicket"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"MultipleTickets"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"EcashTicketVerificationResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"verified"
|
|
],
|
|
"properties": {
|
|
"verified": {
|
|
"$ref": "#/components/schemas/EcashTicketVerificationResult"
|
|
}
|
|
}
|
|
},
|
|
"EcashTicketVerificationResult": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"Ok"
|
|
],
|
|
"properties": {
|
|
"Ok": {
|
|
"default": null
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"EcashTicketVerificationRejection"
|
|
]
|
|
}
|
|
],
|
|
"description": "Used exclusively as part of OpenAPI docs"
|
|
},
|
|
"ExpirationDatePathParam": {
|
|
"type": "object",
|
|
"required": [
|
|
"expiration_date"
|
|
],
|
|
"properties": {
|
|
"expiration_date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
}
|
|
}
|
|
},
|
|
"FullFatNode": {
|
|
"type": "object",
|
|
"required": [
|
|
"expanded"
|
|
],
|
|
"properties": {
|
|
"expanded": {
|
|
"$ref": "#/components/schemas/SemiSkimmedNode"
|
|
},
|
|
"self_described": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/NymNodeData"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"G2ProjectiveSchema": {
|
|
"type": "object",
|
|
"title": "G2Projective",
|
|
"required": [
|
|
"x",
|
|
"y",
|
|
"z"
|
|
],
|
|
"properties": {
|
|
"x": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"contentEncoding": "base16"
|
|
},
|
|
"y": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"contentEncoding": "base16"
|
|
},
|
|
"z": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"contentEncoding": "base16"
|
|
}
|
|
}
|
|
},
|
|
"Gateway": {
|
|
"type": "object",
|
|
"description": "Information provided by the node operator during bonding that are used to allow other entities to use the services of this node.",
|
|
"required": [
|
|
"host",
|
|
"mix_port",
|
|
"clients_port",
|
|
"location",
|
|
"sphinx_key",
|
|
"identity_key",
|
|
"version"
|
|
],
|
|
"properties": {
|
|
"clients_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Port used by this gateway for listening for client requests.",
|
|
"minimum": 0
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"description": "Network address of this gateway, for example 1.1.1.1 or foo.gateway.com"
|
|
},
|
|
"identity_key": {
|
|
"type": "string",
|
|
"description": "Base58 encoded ed25519 EdDSA public key of the gateway used to derive shared keys with clients"
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The physical, self-reported, location of this gateway."
|
|
},
|
|
"mix_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Port used by this gateway for listening for mix packets.",
|
|
"minimum": 0
|
|
},
|
|
"sphinx_key": {
|
|
"type": "string",
|
|
"description": "Base58-encoded x25519 public key used for sphinx key derivation."
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"description": "The self-reported semver version of this gateway."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"GatewayBond": {
|
|
"type": "object",
|
|
"description": "Basic gateway information provided by the node operator.",
|
|
"required": [
|
|
"pledge_amount",
|
|
"owner",
|
|
"block_height",
|
|
"gateway",
|
|
"proxy"
|
|
],
|
|
"properties": {
|
|
"block_height": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"description": "Block height at which this gateway has been bonded.",
|
|
"minimum": 0
|
|
},
|
|
"gateway": {
|
|
"$ref": "#/components/schemas/Gateway",
|
|
"description": "Information provided by the operator for the purposes of bonding."
|
|
},
|
|
"owner": {
|
|
"type": "string",
|
|
"description": "Address of the owner of this gateway."
|
|
},
|
|
"pledge_amount": {
|
|
"$ref": "#/components/schemas/CoinSchema",
|
|
"description": "Original amount pledged by the operator of this node."
|
|
},
|
|
"proxy": {
|
|
"type": "string",
|
|
"description": "Entity who bonded this gateway on behalf of the owner.\nIf exists, it's most likely the address of the vesting contract."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"GatewayBondAnnotated": {
|
|
"type": "object",
|
|
"required": [
|
|
"gateway_bond",
|
|
"performance",
|
|
"node_performance",
|
|
"blacklisted"
|
|
],
|
|
"properties": {
|
|
"blacklisted": {
|
|
"type": "boolean"
|
|
},
|
|
"gateway_bond": {
|
|
"$ref": "#/components/schemas/LegacyGatewayBondWithId"
|
|
},
|
|
"ip_addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"node_performance": {
|
|
"$ref": "#/components/schemas/NodePerformance"
|
|
},
|
|
"performance": {
|
|
"type": "string"
|
|
},
|
|
"self_described": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/GatewayDescription"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"GatewayCoreStatusResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"identity",
|
|
"count"
|
|
],
|
|
"properties": {
|
|
"count": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"identity": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"GatewayDescription": {
|
|
"type": "object"
|
|
},
|
|
"GatewayStatusReportResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"identity",
|
|
"owner",
|
|
"most_recent",
|
|
"last_hour",
|
|
"last_day"
|
|
],
|
|
"properties": {
|
|
"identity": {
|
|
"type": "string"
|
|
},
|
|
"last_day": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"last_hour": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"most_recent": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"owner": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"GatewayUptimeHistoryResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"identity",
|
|
"owner",
|
|
"history"
|
|
],
|
|
"properties": {
|
|
"history": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/OldHistoricalUptimeResponse"
|
|
}
|
|
},
|
|
"identity": {
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"GatewayUptimeResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"identity",
|
|
"avg_uptime",
|
|
"node_performance"
|
|
],
|
|
"properties": {
|
|
"avg_uptime": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"identity": {
|
|
"type": "string"
|
|
},
|
|
"node_performance": {
|
|
"$ref": "#/components/schemas/NodePerformance"
|
|
}
|
|
}
|
|
},
|
|
"HistoricalNymNodeVersion": {
|
|
"type": "object",
|
|
"required": [
|
|
"semver",
|
|
"introduced_at_height"
|
|
],
|
|
"properties": {
|
|
"introduced_at_height": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"description": "Block height of when this version has been added to the contract",
|
|
"minimum": 0
|
|
},
|
|
"semver": {
|
|
"type": "string",
|
|
"description": "Version of the nym node that is going to be used for determining the version score of a node.\nnote: value stored here is pre-validated `semver::Version`"
|
|
}
|
|
}
|
|
},
|
|
"HistoricalNymNodeVersionEntry": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"version_information"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "The unique, ordered, id of this particular entry",
|
|
"minimum": 0
|
|
},
|
|
"version_information": {
|
|
"$ref": "#/components/schemas/HistoricalNymNodeVersion",
|
|
"description": "Data associated with this particular version"
|
|
}
|
|
}
|
|
},
|
|
"HistoricalPerformanceResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"date",
|
|
"performance"
|
|
],
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"performance": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
}
|
|
},
|
|
"HistoricalUptimeResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"date",
|
|
"uptime"
|
|
],
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"uptime": {
|
|
"$ref": "#/components/schemas/u8"
|
|
}
|
|
}
|
|
},
|
|
"HostInformation": {
|
|
"type": "object",
|
|
"required": [
|
|
"ip_address",
|
|
"keys"
|
|
],
|
|
"properties": {
|
|
"hostname": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"ip_address": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"keys": {
|
|
"$ref": "#/components/schemas/HostKeys"
|
|
}
|
|
}
|
|
},
|
|
"HostKeys": {
|
|
"type": "object",
|
|
"required": [
|
|
"ed25519",
|
|
"x25519"
|
|
],
|
|
"properties": {
|
|
"ed25519": {
|
|
"type": "string"
|
|
},
|
|
"x25519": {
|
|
"type": "string"
|
|
},
|
|
"x25519_noise": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"InclusionProbability": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id",
|
|
"in_active",
|
|
"in_reserve"
|
|
],
|
|
"properties": {
|
|
"in_active": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"in_reserve": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"mix_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"deprecated": true
|
|
},
|
|
"InclusionProbabilityResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"in_active",
|
|
"in_reserve"
|
|
],
|
|
"properties": {
|
|
"in_active": {
|
|
"$ref": "#/components/schemas/SelectionChance"
|
|
},
|
|
"in_reserve": {
|
|
"$ref": "#/components/schemas/SelectionChance"
|
|
}
|
|
},
|
|
"deprecated": true
|
|
},
|
|
"Interval": {
|
|
"type": "object",
|
|
"description": "Specification of a rewarding interval.",
|
|
"required": [
|
|
"id",
|
|
"epochs_in_interval",
|
|
"current_epoch_start",
|
|
"current_epoch_id",
|
|
"epoch_length",
|
|
"total_elapsed_epochs"
|
|
],
|
|
"properties": {
|
|
"current_epoch_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Monotonously increasing id of the current epoch in this interval.",
|
|
"minimum": 0
|
|
},
|
|
"current_epoch_start": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "The timestamp indicating the start of the current rewarding epoch."
|
|
},
|
|
"epoch_length": {
|
|
"type": "string",
|
|
"description": "The duration of all epochs in this interval."
|
|
},
|
|
"epochs_in_interval": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Number of epochs in this interval.",
|
|
"minimum": 0
|
|
},
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Monotonously increasing id of this interval.",
|
|
"minimum": 0
|
|
},
|
|
"total_elapsed_epochs": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "The total amount of elapsed epochs since the first epoch of the first interval.",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"IntervalRewardParams": {
|
|
"type": "object",
|
|
"description": "Parameters required by the mix-mining reward distribution that do not change during an interval.",
|
|
"required": [
|
|
"reward_pool",
|
|
"staking_supply",
|
|
"staking_supply_scale_factor",
|
|
"epoch_reward_budget",
|
|
"stake_saturation_point",
|
|
"sybil_resistance",
|
|
"active_set_work_factor",
|
|
"interval_pool_emission"
|
|
],
|
|
"properties": {
|
|
"active_set_work_factor": {
|
|
"type": "string",
|
|
"description": "Current active set work factor.\nIt is not really expected to be changing very often.\nAs a matter of fact, unless there's a very specific reason, it should remain constant."
|
|
},
|
|
"epoch_reward_budget": {
|
|
"type": "string",
|
|
"description": "Current value of the computed reward budget per epoch, per node.\nIt is expected to be constant throughout the interval."
|
|
},
|
|
"interval_pool_emission": {
|
|
"type": "string",
|
|
"description": "Current maximum interval pool emission.\nAssuming all nodes in the rewarded set are fully saturated and have 100% performance,\nthis % of the reward pool would get distributed in rewards to all operators and its delegators.\nIt is not really expected to be changing very often.\nAs a matter of fact, unless there's a very specific reason, it should remain constant."
|
|
},
|
|
"reward_pool": {
|
|
"type": "string",
|
|
"description": "Current value of the rewarding pool.\nIt is expected to be constant throughout the interval."
|
|
},
|
|
"stake_saturation_point": {
|
|
"type": "string",
|
|
"description": "Current value of the stake saturation point.\nIt is expected to be constant throughout the interval."
|
|
},
|
|
"staking_supply": {
|
|
"type": "string",
|
|
"description": "Current value of the staking supply.\nIt is expected to be constant throughout the interval."
|
|
},
|
|
"staking_supply_scale_factor": {
|
|
"type": "string",
|
|
"description": "Defines the percentage of stake needed to reach saturation for all of the nodes in the rewarded set.\nAlso known as `beta`."
|
|
},
|
|
"sybil_resistance": {
|
|
"type": "string",
|
|
"description": "Current value of the sybil resistance percent (`alpha`).\nIt is not really expected to be changing very often.\nAs a matter of fact, unless there's a very specific reason, it should remain constant."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"IpPacketRouterDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"address"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"type": "string",
|
|
"description": "address of the embedded ip packet router"
|
|
}
|
|
}
|
|
},
|
|
"IssuedTicketbook": {
|
|
"type": "object",
|
|
"required": [
|
|
"depositId",
|
|
"epochId",
|
|
"blindedPartialCredential",
|
|
"joinedEncodedPrivateAttributesCommitments",
|
|
"expirationDate",
|
|
"ticketbookType"
|
|
],
|
|
"properties": {
|
|
"blindedPartialCredential": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"depositId": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"epochId": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"expirationDate": {
|
|
"type": "string"
|
|
},
|
|
"joinedEncodedPrivateAttributesCommitments": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"ticketbookType": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"IssuedTicketbooksChallengeRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"expirationDate",
|
|
"deposits"
|
|
],
|
|
"properties": {
|
|
"deposits": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"expirationDate": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
}
|
|
}
|
|
},
|
|
"IssuedTicketbooksChallengeResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"body",
|
|
"signature"
|
|
],
|
|
"properties": {
|
|
"body": {
|
|
"$ref": "#/components/schemas/IssuedTicketbooksChallengeResponseBody"
|
|
},
|
|
"signature": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"IssuedTicketbooksChallengeResponseBody": {
|
|
"type": "object",
|
|
"required": [
|
|
"expirationDate",
|
|
"partialTicketbooks",
|
|
"merkleProof"
|
|
],
|
|
"properties": {
|
|
"expirationDate": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"merkleProof": {
|
|
"$ref": "#/components/schemas/IssuedTicketbooksFullMerkleProof"
|
|
},
|
|
"partialTicketbooks": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/IssuedTicketbook"
|
|
},
|
|
"propertyNames": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"IssuedTicketbooksForResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"body",
|
|
"signature"
|
|
],
|
|
"properties": {
|
|
"body": {
|
|
"$ref": "#/components/schemas/IssuedTicketbooksForResponseBody"
|
|
},
|
|
"signature": {
|
|
"type": "string",
|
|
"description": "Signature on the body"
|
|
}
|
|
}
|
|
},
|
|
"IssuedTicketbooksForResponseBody": {
|
|
"type": "object",
|
|
"required": [
|
|
"expirationDate",
|
|
"deposits"
|
|
],
|
|
"properties": {
|
|
"deposits": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CommitedDeposit"
|
|
}
|
|
},
|
|
"expirationDate": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"merkleRoot": {
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"IssuedTicketbooksFullMerkleProof": {
|
|
"type": "object",
|
|
"required": [
|
|
"inner_proof",
|
|
"included_leaves",
|
|
"total_leaves",
|
|
"root"
|
|
],
|
|
"properties": {
|
|
"included_leaves": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/MerkleLeaf"
|
|
}
|
|
},
|
|
"inner_proof": {
|
|
"type": "string"
|
|
},
|
|
"root": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"total_leaves": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"LegacyDescribedGateway": {
|
|
"type": "object",
|
|
"required": [
|
|
"bond"
|
|
],
|
|
"properties": {
|
|
"bond": {
|
|
"$ref": "#/components/schemas/GatewayBond"
|
|
},
|
|
"self_described": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/NymNodeData"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"LegacyDescribedMixNode": {
|
|
"type": "object",
|
|
"required": [
|
|
"bond"
|
|
],
|
|
"properties": {
|
|
"bond": {
|
|
"$ref": "#/components/schemas/LegacyMixNodeBondWithLayer"
|
|
},
|
|
"self_described": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/NymNodeData"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"LegacyGatewayBondWithId": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/GatewayBond"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"node_id": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"LegacyMixLayer": {
|
|
"type": "string",
|
|
"enum": [
|
|
"One",
|
|
"Two",
|
|
"Three"
|
|
]
|
|
},
|
|
"LegacyMixNodeBondWithLayer": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MixNodeBond"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"layer"
|
|
],
|
|
"properties": {
|
|
"layer": {
|
|
"$ref": "#/components/schemas/LegacyMixLayer"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"LegacyMixNodeDetailsWithLayer": {
|
|
"type": "object",
|
|
"required": [
|
|
"bond_information",
|
|
"rewarding_details"
|
|
],
|
|
"properties": {
|
|
"bond_information": {
|
|
"$ref": "#/components/schemas/LegacyMixNodeBondWithLayer",
|
|
"description": "Basic bond information of this mixnode, such as owner address, original pledge, etc."
|
|
},
|
|
"pending_changes": {
|
|
"$ref": "#/components/schemas/LegacyPendingMixNodeChanges",
|
|
"description": "Adjustments to the mixnode that are ought to happen during future epoch transitions."
|
|
},
|
|
"rewarding_details": {
|
|
"$ref": "#/components/schemas/NodeRewarding",
|
|
"description": "Details used for computation of rewarding related data."
|
|
}
|
|
}
|
|
},
|
|
"LegacyMixNodeDetailsWithLayerSchema": {
|
|
"type": "object",
|
|
"title": "LegacyMixNodeDetailsWithLayer",
|
|
"required": [
|
|
"bond_information",
|
|
"rewarding_details",
|
|
"pending_changes"
|
|
],
|
|
"properties": {
|
|
"bond_information": {
|
|
"type": "string",
|
|
"description": "Basic bond information of this mixnode, such as owner address, original pledge, etc.",
|
|
"example": "unimplemented schema"
|
|
},
|
|
"pending_changes": {
|
|
"type": "string",
|
|
"description": "Adjustments to the mixnode that are ought to happen during future epoch transitions.",
|
|
"example": "unimplemented schema"
|
|
},
|
|
"rewarding_details": {
|
|
"type": "string",
|
|
"description": "Details used for computation of rewarding related data.",
|
|
"example": "unimplemented schema"
|
|
}
|
|
}
|
|
},
|
|
"LegacyPendingMixNodeChanges": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pledge_change": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"MasterVerificationKeyResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"key"
|
|
],
|
|
"properties": {
|
|
"key": {
|
|
"$ref": "#/components/schemas/VerificationKeyAuth"
|
|
}
|
|
}
|
|
},
|
|
"MerkleLeaf": {
|
|
"type": "object",
|
|
"required": [
|
|
"hash",
|
|
"index"
|
|
],
|
|
"properties": {
|
|
"hash": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"index": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"MixNode": {
|
|
"type": "object",
|
|
"description": "Information provided by the node operator during bonding that are used to allow other entities to use the services of this node.",
|
|
"required": [
|
|
"host",
|
|
"mix_port",
|
|
"verloc_port",
|
|
"http_api_port",
|
|
"sphinx_key",
|
|
"identity_key",
|
|
"version"
|
|
],
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"description": "Network address of this mixnode, for example 1.1.1.1 or foo.mixnode.com"
|
|
},
|
|
"http_api_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Port used by this mixnode for its http(s) API",
|
|
"minimum": 0
|
|
},
|
|
"identity_key": {
|
|
"$ref": "#/components/schemas/String",
|
|
"description": "Base58-encoded ed25519 EdDSA public key."
|
|
},
|
|
"mix_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Port used by this mixnode for listening for mix packets.",
|
|
"minimum": 0
|
|
},
|
|
"sphinx_key": {
|
|
"$ref": "#/components/schemas/String",
|
|
"description": "Base58-encoded x25519 public key used for sphinx key derivation."
|
|
},
|
|
"verloc_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Port used by this mixnode for listening for verloc requests.",
|
|
"minimum": 0
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"description": "The self-reported semver version of this mixnode."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"MixNodeBond": {
|
|
"type": "object",
|
|
"description": "Basic mixnode information provided by the node operator.",
|
|
"required": [
|
|
"mix_id",
|
|
"owner",
|
|
"original_pledge",
|
|
"mix_node",
|
|
"bonding_height",
|
|
"is_unbonding"
|
|
],
|
|
"properties": {
|
|
"bonding_height": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"description": "Block height at which this mixnode has been bonded.",
|
|
"minimum": 0
|
|
},
|
|
"is_unbonding": {
|
|
"type": "boolean",
|
|
"description": "Flag to indicate whether this node is in the process of unbonding,\nthat will conclude upon the epoch finishing."
|
|
},
|
|
"mix_id": {
|
|
"$ref": "#/components/schemas/u32",
|
|
"description": "Unique id assigned to the bonded mixnode."
|
|
},
|
|
"mix_node": {
|
|
"$ref": "#/components/schemas/MixNode",
|
|
"description": "Information provided by the operator for the purposes of bonding."
|
|
},
|
|
"original_pledge": {
|
|
"$ref": "#/components/schemas/CoinSchema",
|
|
"description": "Original amount pledged by the operator of this node."
|
|
},
|
|
"owner": {
|
|
"type": "string",
|
|
"description": "Address of the owner of this mixnode."
|
|
},
|
|
"proxy": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Entity who bonded this mixnode on behalf of the owner.\nIf exists, it's most likely the address of the vesting contract."
|
|
}
|
|
}
|
|
},
|
|
"MixNodeBondAnnotated": {
|
|
"type": "object",
|
|
"required": [
|
|
"mixnode_details",
|
|
"stake_saturation",
|
|
"uncapped_stake_saturation",
|
|
"performance",
|
|
"node_performance",
|
|
"estimated_operator_apy",
|
|
"estimated_delegators_apy",
|
|
"blacklisted"
|
|
],
|
|
"properties": {
|
|
"blacklisted": {
|
|
"type": "boolean"
|
|
},
|
|
"estimated_delegators_apy": {
|
|
"type": "string"
|
|
},
|
|
"estimated_operator_apy": {
|
|
"type": "string"
|
|
},
|
|
"ip_addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"mixnode_details": {
|
|
"$ref": "#/components/schemas/LegacyMixNodeDetailsWithLayerSchema"
|
|
},
|
|
"node_performance": {
|
|
"$ref": "#/components/schemas/NodePerformance"
|
|
},
|
|
"performance": {
|
|
"type": "string"
|
|
},
|
|
"stake_saturation": {
|
|
"type": "string"
|
|
},
|
|
"uncapped_stake_saturation": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"MixnodeCoreStatusResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id",
|
|
"count"
|
|
],
|
|
"properties": {
|
|
"count": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"mix_id": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
},
|
|
"MixnodeStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"active",
|
|
"standby",
|
|
"inactive",
|
|
"not_found"
|
|
]
|
|
},
|
|
"MixnodeStatusReport": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id",
|
|
"identity",
|
|
"most_recent",
|
|
"last_hour",
|
|
"last_day"
|
|
],
|
|
"properties": {
|
|
"identity": {
|
|
"type": "string"
|
|
},
|
|
"last_day": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"last_hour": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"mix_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"most_recent": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"MixnodeStatusReportResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id",
|
|
"identity",
|
|
"owner",
|
|
"most_recent",
|
|
"last_hour",
|
|
"last_day"
|
|
],
|
|
"properties": {
|
|
"identity": {
|
|
"$ref": "#/components/schemas/String"
|
|
},
|
|
"last_day": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"last_hour": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"mix_id": {
|
|
"$ref": "#/components/schemas/u32"
|
|
},
|
|
"most_recent": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"owner": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"MixnodeStatusResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"status"
|
|
],
|
|
"properties": {
|
|
"status": {
|
|
"$ref": "#/components/schemas/MixnodeStatus"
|
|
}
|
|
}
|
|
},
|
|
"MixnodeUptimeHistoryResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id",
|
|
"identity",
|
|
"owner",
|
|
"history"
|
|
],
|
|
"properties": {
|
|
"history": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/OldHistoricalUptimeResponse"
|
|
}
|
|
},
|
|
"identity": {
|
|
"type": "string"
|
|
},
|
|
"mix_id": {
|
|
"$ref": "#/components/schemas/u32"
|
|
},
|
|
"owner": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"MonitorMessage": {
|
|
"type": "object",
|
|
"required": [
|
|
"results",
|
|
"signature",
|
|
"signer",
|
|
"timestamp"
|
|
],
|
|
"properties": {
|
|
"results": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/NodeResult"
|
|
}
|
|
},
|
|
"signature": {
|
|
"type": "string"
|
|
},
|
|
"signer": {
|
|
"type": "string"
|
|
},
|
|
"timestamp": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"NetworkDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"connected_nyxd",
|
|
"network"
|
|
],
|
|
"properties": {
|
|
"connected_nyxd": {
|
|
"type": "string"
|
|
},
|
|
"network": {
|
|
"$ref": "#/components/schemas/NymNetworkDetails"
|
|
}
|
|
}
|
|
},
|
|
"NetworkMonitorRunDetailsResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"monitor_run_id",
|
|
"network_reliability",
|
|
"total_sent",
|
|
"total_received",
|
|
"mixnode_results",
|
|
"gateway_results"
|
|
],
|
|
"properties": {
|
|
"gateway_results": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"propertyNames": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"mixnode_results": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"propertyNames": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"monitor_run_id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"network_reliability": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"total_received": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"total_sent": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"NetworkRequesterDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"address",
|
|
"uses_exit_policy"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"type": "string",
|
|
"description": "address of the embedded network requester"
|
|
},
|
|
"uses_exit_policy": {
|
|
"type": "boolean",
|
|
"description": "flag indicating whether this network requester uses the exit policy rather than the deprecated allow list"
|
|
}
|
|
}
|
|
},
|
|
"NodeAnnotation": {
|
|
"type": "object",
|
|
"required": [
|
|
"last_24h_performance",
|
|
"detailed_performance"
|
|
],
|
|
"properties": {
|
|
"current_role": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/DisplayRole"
|
|
}
|
|
]
|
|
},
|
|
"detailed_performance": {
|
|
"$ref": "#/components/schemas/DetailedNodePerformance"
|
|
},
|
|
"last_24h_performance": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"NodeCostParams": {
|
|
"type": "object",
|
|
"description": "The cost parameters, or the cost function, defined for the particular mixnode that influences\nhow the rewards should be split between the node operator and its delegators.",
|
|
"required": [
|
|
"profit_margin_percent",
|
|
"interval_operating_cost"
|
|
],
|
|
"properties": {
|
|
"interval_operating_cost": {
|
|
"$ref": "#/components/schemas/CoinSchema",
|
|
"description": "Operating cost of the associated node per the entire interval."
|
|
},
|
|
"profit_margin_percent": {
|
|
"type": "string",
|
|
"description": "The profit margin of the associated node, i.e. the desired percent of the reward to be distributed to the operator."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"NodeDatePerformanceResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id",
|
|
"date"
|
|
],
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"performance": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"format": "double"
|
|
}
|
|
}
|
|
},
|
|
"NodeId": {
|
|
"type": "object",
|
|
"title": "NodeId",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"NodePerformance": {
|
|
"type": "object",
|
|
"required": [
|
|
"most_recent",
|
|
"last_hour",
|
|
"last_24h"
|
|
],
|
|
"properties": {
|
|
"last_24h": {
|
|
"type": "string"
|
|
},
|
|
"last_hour": {
|
|
"type": "string"
|
|
},
|
|
"most_recent": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"NodePerformanceResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id"
|
|
],
|
|
"properties": {
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"performance": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
],
|
|
"format": "double"
|
|
}
|
|
}
|
|
},
|
|
"NodeRefreshBody": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_identity",
|
|
"request_timestamp",
|
|
"signature"
|
|
],
|
|
"properties": {
|
|
"node_identity": {
|
|
"type": "string"
|
|
},
|
|
"request_timestamp": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"signature": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"NodeResult": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id",
|
|
"identity",
|
|
"reliability"
|
|
],
|
|
"properties": {
|
|
"identity": {
|
|
"type": "string"
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"reliability": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"NodeRewarding": {
|
|
"type": "object",
|
|
"required": [
|
|
"cost_params",
|
|
"operator",
|
|
"delegates",
|
|
"total_unit_reward",
|
|
"unit_delegation",
|
|
"last_rewarded_epoch",
|
|
"unique_delegations"
|
|
],
|
|
"properties": {
|
|
"cost_params": {
|
|
"$ref": "#/components/schemas/NodeCostParams",
|
|
"description": "Information provided by the operator that influence the cost function."
|
|
},
|
|
"delegates": {
|
|
"type": "string",
|
|
"description": "Total delegation and compounded reward earned by all node delegators."
|
|
},
|
|
"last_rewarded_epoch": {
|
|
"$ref": "#/components/schemas/u32",
|
|
"description": "Marks the epoch when this node was last rewarded so that we wouldn't accidentally attempt\nto reward it multiple times in the same epoch."
|
|
},
|
|
"operator": {
|
|
"type": "string",
|
|
"description": "Total pledge and compounded reward earned by the node operator."
|
|
},
|
|
"total_unit_reward": {
|
|
"type": "string",
|
|
"description": "Cumulative reward earned by the \"unit delegation\" since the block 0."
|
|
},
|
|
"unique_delegations": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"unit_delegation": {
|
|
"type": "string",
|
|
"description": "Value of the theoretical \"unit delegation\" that has delegated to this node at block 0."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"NodeRole": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"Mixnode"
|
|
],
|
|
"properties": {
|
|
"Mixnode": {
|
|
"type": "object",
|
|
"required": [
|
|
"layer"
|
|
],
|
|
"properties": {
|
|
"layer": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"EntryGateway"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"ExitGateway"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"Standby"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"Inactive"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"NodeRoleQueryParam": {
|
|
"type": "string",
|
|
"enum": [
|
|
"active-mixnode",
|
|
"entry-gateway",
|
|
"exit-gateway"
|
|
]
|
|
},
|
|
"NoiseDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"x25119_pubkey",
|
|
"mixnet_port",
|
|
"ip_addresses"
|
|
],
|
|
"properties": {
|
|
"ip_addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"mixnet_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"x25119_pubkey": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"NymContracts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"coconut_dkg_contract_address": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"ecash_contract_address": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"group_contract_address": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"mixnet_contract_address": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"multisig_contract_address": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"vesting_contract_address": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"NymNetworkDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"network_name",
|
|
"chain_details",
|
|
"endpoints",
|
|
"contracts"
|
|
],
|
|
"properties": {
|
|
"chain_details": {
|
|
"$ref": "#/components/schemas/ChainDetails"
|
|
},
|
|
"contracts": {
|
|
"$ref": "#/components/schemas/NymContracts"
|
|
},
|
|
"endpoints": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ValidatorDetails"
|
|
}
|
|
},
|
|
"explorer_api": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"network_name": {
|
|
"type": "string"
|
|
},
|
|
"nym_vpn_api_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"NymNode": {
|
|
"type": "object",
|
|
"description": "Information provided by the node operator during bonding that are used to allow other entities to use the services of this node.",
|
|
"required": [
|
|
"host",
|
|
"identity_key"
|
|
],
|
|
"properties": {
|
|
"custom_http_port": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"description": "Allow specifying custom port for accessing the http, and thus self-described, api\nof this node for the capabilities discovery.",
|
|
"minimum": 0
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"description": "Network address of this nym-node, for example 1.1.1.1 or foo.mixnode.com\nthat is used to discover other capabilities of this node."
|
|
},
|
|
"identity_key": {
|
|
"type": "string",
|
|
"description": "Base58-encoded ed25519 EdDSA public key."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"NymNodeBond": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id",
|
|
"owner",
|
|
"original_pledge",
|
|
"bonding_height",
|
|
"is_unbonding",
|
|
"node"
|
|
],
|
|
"properties": {
|
|
"bonding_height": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"description": "Block height at which this nym-node has been bonded.",
|
|
"minimum": 0
|
|
},
|
|
"is_unbonding": {
|
|
"type": "boolean",
|
|
"description": "Flag to indicate whether this node is in the process of unbonding,\nthat will conclude upon the epoch finishing."
|
|
},
|
|
"node": {
|
|
"$ref": "#/components/schemas/NymNode",
|
|
"description": "Information provided by the operator for the purposes of bonding."
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Unique id assigned to the bonded node.",
|
|
"minimum": 0
|
|
},
|
|
"original_pledge": {
|
|
"$ref": "#/components/schemas/CoinSchema",
|
|
"description": "Original amount pledged by the operator of this node."
|
|
},
|
|
"owner": {
|
|
"type": "string",
|
|
"description": "Address of the owner of this nym-node."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"NymNodeData": {
|
|
"type": "object",
|
|
"required": [
|
|
"host_information",
|
|
"build_information",
|
|
"mixnet_websockets"
|
|
],
|
|
"properties": {
|
|
"authenticator": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/AuthenticatorDetails"
|
|
}
|
|
]
|
|
},
|
|
"auxiliary_details": {
|
|
"$ref": "#/components/schemas/AuxiliaryDetails"
|
|
},
|
|
"build_information": {
|
|
"$ref": "#/components/schemas/BinaryBuildInformationOwned"
|
|
},
|
|
"declared_role": {
|
|
"$ref": "#/components/schemas/DeclaredRoles"
|
|
},
|
|
"host_information": {
|
|
"$ref": "#/components/schemas/HostInformation"
|
|
},
|
|
"ip_packet_router": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/IpPacketRouterDetails"
|
|
}
|
|
]
|
|
},
|
|
"last_polled": {
|
|
"$ref": "#/components/schemas/OffsetDateTimeJsonSchemaWrapper"
|
|
},
|
|
"mixnet_websockets": {
|
|
"$ref": "#/components/schemas/WebSockets"
|
|
},
|
|
"network_requester": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/NetworkRequesterDetails"
|
|
}
|
|
]
|
|
},
|
|
"wireguard": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/WireguardDetails"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"NymNodeDescription": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id",
|
|
"contract_node_type",
|
|
"description"
|
|
],
|
|
"properties": {
|
|
"contract_node_type": {
|
|
"$ref": "#/components/schemas/DescribedNodeType"
|
|
},
|
|
"description": {
|
|
"$ref": "#/components/schemas/NymNodeData"
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"NymNodeDetails": {
|
|
"type": "object",
|
|
"description": "Full details associated with given node.",
|
|
"required": [
|
|
"bond_information",
|
|
"rewarding_details",
|
|
"pending_changes"
|
|
],
|
|
"properties": {
|
|
"bond_information": {
|
|
"$ref": "#/components/schemas/NymNodeBond",
|
|
"description": "Basic bond information of this node, such as owner address, original pledge, etc."
|
|
},
|
|
"pending_changes": {
|
|
"$ref": "#/components/schemas/PendingNodeChanges",
|
|
"description": "Adjustments to the node that are scheduled to happen during future epoch/interval transitions."
|
|
},
|
|
"rewarding_details": {
|
|
"$ref": "#/components/schemas/NodeRewarding",
|
|
"description": "Details used for computation of rewarding related data."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"OffsetDateTimeJsonSchemaWrapper": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"OldHistoricalUptimeResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"date",
|
|
"uptime"
|
|
],
|
|
"properties": {
|
|
"date": {
|
|
"type": "string"
|
|
},
|
|
"uptime": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"OutdatedVersionWeights": {
|
|
"type": "object",
|
|
"description": "Defines weights for calculating numbers of versions behind the current release.",
|
|
"required": [
|
|
"major",
|
|
"minor",
|
|
"patch",
|
|
"prerelease"
|
|
],
|
|
"properties": {
|
|
"major": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"minor": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"patch": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"prerelease": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"PaginatedCachedNodesResponseSchema": {
|
|
"type": "object",
|
|
"title": "PaginatedCachedNodesResponse",
|
|
"required": [
|
|
"refreshed_at",
|
|
"nodes"
|
|
],
|
|
"properties": {
|
|
"nodes": {
|
|
"$ref": "#/components/schemas/SkimmedNode"
|
|
},
|
|
"refreshed_at": {
|
|
"$ref": "#/components/schemas/OffsetDateTimeJsonSchemaWrapper"
|
|
}
|
|
}
|
|
},
|
|
"PaginatedResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"pagination",
|
|
"data"
|
|
],
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PartialTestResult"
|
|
}
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
}
|
|
}
|
|
},
|
|
"PaginatedResponse_HistoricalPerformanceResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"pagination",
|
|
"data"
|
|
],
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"date",
|
|
"performance"
|
|
],
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"performance": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
}
|
|
}
|
|
},
|
|
"PaginatedResponse_HistoricalUptimeResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"pagination",
|
|
"data"
|
|
],
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"date",
|
|
"uptime"
|
|
],
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"uptime": {
|
|
"$ref": "#/components/schemas/u8"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
}
|
|
}
|
|
},
|
|
"PaginatedResponse_NoiseDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"pagination",
|
|
"data"
|
|
],
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"x25119_pubkey",
|
|
"mixnet_port",
|
|
"ip_addresses"
|
|
],
|
|
"properties": {
|
|
"ip_addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"mixnet_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"x25119_pubkey": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
}
|
|
}
|
|
},
|
|
"PaginatedResponse_NymNodeDescription": {
|
|
"type": "object",
|
|
"required": [
|
|
"pagination",
|
|
"data"
|
|
],
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id",
|
|
"contract_node_type",
|
|
"description"
|
|
],
|
|
"properties": {
|
|
"contract_node_type": {
|
|
"$ref": "#/components/schemas/DescribedNodeType"
|
|
},
|
|
"description": {
|
|
"$ref": "#/components/schemas/NymNodeData"
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
}
|
|
}
|
|
},
|
|
"PaginatedResponse_NymNodeDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"pagination",
|
|
"data"
|
|
],
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"description": "Full details associated with given node.",
|
|
"required": [
|
|
"bond_information",
|
|
"rewarding_details",
|
|
"pending_changes"
|
|
],
|
|
"properties": {
|
|
"bond_information": {
|
|
"$ref": "#/components/schemas/NymNodeBond",
|
|
"description": "Basic bond information of this node, such as owner address, original pledge, etc."
|
|
},
|
|
"pending_changes": {
|
|
"$ref": "#/components/schemas/PendingNodeChanges",
|
|
"description": "Adjustments to the node that are scheduled to happen during future epoch/interval transitions."
|
|
},
|
|
"rewarding_details": {
|
|
"$ref": "#/components/schemas/NodeRewarding",
|
|
"description": "Details used for computation of rewarding related data."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
}
|
|
}
|
|
},
|
|
"Pagination": {
|
|
"type": "object",
|
|
"required": [
|
|
"total",
|
|
"page",
|
|
"size"
|
|
],
|
|
"properties": {
|
|
"page": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"size": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"PaginationRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"page": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"per_page": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"PartialCoinIndicesSignatureResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"epoch_id",
|
|
"signatures"
|
|
],
|
|
"properties": {
|
|
"epoch_id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"signatures": {
|
|
"$ref": "#/components/schemas/AnnotatedCoinIndexSignature"
|
|
}
|
|
}
|
|
},
|
|
"PartialExpirationDateSignatureResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"epoch_id",
|
|
"expiration_date",
|
|
"signatures"
|
|
],
|
|
"properties": {
|
|
"epoch_id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"expiration_date": {
|
|
"type": "string",
|
|
"example": "1970-01-01"
|
|
},
|
|
"signatures": {
|
|
"$ref": "#/components/schemas/AnnotatedExpirationDateSignature"
|
|
}
|
|
}
|
|
},
|
|
"PartialTestResult": {
|
|
"type": "object",
|
|
"required": [
|
|
"monitor_run_id",
|
|
"timestamp",
|
|
"test_routes"
|
|
],
|
|
"properties": {
|
|
"monitor_run_id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"overall_reliability_for_all_routes_in_monitor_run": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"test_routes": {
|
|
"$ref": "#/components/schemas/TestRoute"
|
|
},
|
|
"timestamp": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"PayInfo": {
|
|
"type": "object",
|
|
"required": [
|
|
"pay_info_bytes"
|
|
],
|
|
"properties": {
|
|
"pay_info_bytes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"contentEncoding": "base16"
|
|
}
|
|
}
|
|
},
|
|
"Payment": {
|
|
"type": "object",
|
|
"required": [
|
|
"kappa",
|
|
"kappa_e",
|
|
"sig",
|
|
"sig_exp",
|
|
"kappa_k",
|
|
"omega",
|
|
"ss",
|
|
"tt",
|
|
"aa",
|
|
"spend_value",
|
|
"cc",
|
|
"t_type",
|
|
"zk_proof"
|
|
],
|
|
"properties": {
|
|
"aa": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"cc": {
|
|
"type": "string"
|
|
},
|
|
"kappa": {
|
|
"type": "string"
|
|
},
|
|
"kappa_e": {
|
|
"type": "string"
|
|
},
|
|
"kappa_k": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"omega": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Signature"
|
|
}
|
|
},
|
|
"sig": {
|
|
"$ref": "#/components/schemas/Signature"
|
|
},
|
|
"sig_exp": {
|
|
"$ref": "#/components/schemas/Signature"
|
|
},
|
|
"spend_value": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"minimum": 0
|
|
},
|
|
"ss": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"t_type": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"tt": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"zk_proof": {
|
|
"$ref": "#/components/schemas/SpendProof"
|
|
}
|
|
}
|
|
},
|
|
"PendingNodeChanges": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cost_params_change": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"pledge_change": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"PerformanceHistoryResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id",
|
|
"history"
|
|
],
|
|
"properties": {
|
|
"history": {
|
|
"$ref": "#/components/schemas/PaginatedResponse_HistoricalPerformanceResponse"
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"PublicKeyUser": {
|
|
"type": "object",
|
|
"required": [
|
|
"pk"
|
|
],
|
|
"properties": {
|
|
"pk": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"RequestError": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"RewardEstimate": {
|
|
"type": "object",
|
|
"required": [
|
|
"total_node_reward",
|
|
"operator",
|
|
"delegates",
|
|
"operating_cost"
|
|
],
|
|
"properties": {
|
|
"delegates": {
|
|
"type": "string",
|
|
"description": "The share of the reward that is going to get distributed among the node delegators."
|
|
},
|
|
"operating_cost": {
|
|
"type": "string",
|
|
"description": "The operating cost of this node. Note: it's already included in the operator reward."
|
|
},
|
|
"operator": {
|
|
"type": "string",
|
|
"description": "The share of the reward that is going to get distributed to the node operator."
|
|
},
|
|
"total_node_reward": {
|
|
"type": "string",
|
|
"description": "The amount of **decimal** coins that are going to get distributed to the node,\ni.e. the operator and all its delegators."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"RewardEstimationResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"estimation",
|
|
"reward_params",
|
|
"epoch",
|
|
"as_at"
|
|
],
|
|
"properties": {
|
|
"as_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"epoch": {
|
|
"$ref": "#/components/schemas/Interval"
|
|
},
|
|
"estimation": {
|
|
"$ref": "#/components/schemas/RewardEstimate"
|
|
},
|
|
"reward_params": {
|
|
"$ref": "#/components/schemas/RewardingParams"
|
|
}
|
|
}
|
|
},
|
|
"RewardedSetParams": {
|
|
"type": "object",
|
|
"required": [
|
|
"entry_gateways",
|
|
"exit_gateways",
|
|
"mixnodes",
|
|
"standby"
|
|
],
|
|
"properties": {
|
|
"entry_gateways": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "The expected number of nodes assigned entry gateway role (i.e. [`Role::EntryGateway`])",
|
|
"minimum": 0
|
|
},
|
|
"exit_gateways": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "The expected number of nodes assigned exit gateway role (i.e. [`Role::ExitGateway`])",
|
|
"minimum": 0
|
|
},
|
|
"mixnodes": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "The expected number of nodes assigned the 'mixnode' role, i.e. total of [`Role::Layer1`], [`Role::Layer2`] and [`Role::Layer3`].",
|
|
"minimum": 0
|
|
},
|
|
"standby": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"description": "Number of nodes in the 'standby' set. (i.e. [`Role::Standby`])",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"RewardedSetResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"entry_gateways",
|
|
"exit_gateways",
|
|
"layer1",
|
|
"layer2",
|
|
"layer3",
|
|
"standby"
|
|
],
|
|
"properties": {
|
|
"entry_gateways": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
},
|
|
"exit_gateways": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
},
|
|
"layer1": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
},
|
|
"layer2": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
},
|
|
"layer3": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
},
|
|
"standby": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/u32"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"RewardingParams": {
|
|
"type": "object",
|
|
"description": "Parameters used for reward calculation.",
|
|
"required": [
|
|
"interval",
|
|
"rewarded_set"
|
|
],
|
|
"properties": {
|
|
"interval": {
|
|
"$ref": "#/components/schemas/IntervalRewardParams",
|
|
"description": "Parameters that should remain unchanged throughout an interval."
|
|
},
|
|
"rewarded_set": {
|
|
"$ref": "#/components/schemas/RewardedSetParams"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"RoutingScore": {
|
|
"type": "object",
|
|
"required": [
|
|
"score"
|
|
],
|
|
"properties": {
|
|
"score": {
|
|
"type": "number",
|
|
"format": "double",
|
|
"description": "Total score after taking all the criteria into consideration"
|
|
}
|
|
}
|
|
},
|
|
"SelectionChance": {
|
|
"type": "string",
|
|
"enum": [
|
|
"High",
|
|
"Good",
|
|
"Low"
|
|
],
|
|
"deprecated": true
|
|
},
|
|
"SemiSkimmedNode": {
|
|
"type": "object",
|
|
"required": [
|
|
"basic",
|
|
"x25519_noise_pubkey"
|
|
],
|
|
"properties": {
|
|
"basic": {
|
|
"$ref": "#/components/schemas/SkimmedNode"
|
|
},
|
|
"x25519_noise_pubkey": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"SerialNumberWrapper": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"Signature": {
|
|
"type": "object",
|
|
"required": [
|
|
"h",
|
|
"s"
|
|
],
|
|
"properties": {
|
|
"h": {
|
|
"type": "string"
|
|
},
|
|
"s": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"SignerInformationResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"cosmos_address",
|
|
"identity",
|
|
"announce_address"
|
|
],
|
|
"properties": {
|
|
"announce_address": {
|
|
"type": "string"
|
|
},
|
|
"cosmos_address": {
|
|
"type": "string"
|
|
},
|
|
"identity": {
|
|
"type": "string"
|
|
},
|
|
"verification_key": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"SkimmedNode": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id",
|
|
"ed25519_identity_pubkey",
|
|
"ip_addresses",
|
|
"mix_port",
|
|
"x25519_sphinx_pubkey",
|
|
"role",
|
|
"performance"
|
|
],
|
|
"properties": {
|
|
"ed25519_identity_pubkey": {
|
|
"type": "string"
|
|
},
|
|
"entry": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/BasicEntryInformation"
|
|
}
|
|
]
|
|
},
|
|
"ip_addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"mix_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"performance": {
|
|
"type": "string",
|
|
"description": "Average node performance in last 24h period"
|
|
},
|
|
"role": {
|
|
"$ref": "#/components/schemas/NodeRole"
|
|
},
|
|
"supported_roles": {
|
|
"$ref": "#/components/schemas/DeclaredRoles"
|
|
},
|
|
"x25519_sphinx_pubkey": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"SpendProof": {
|
|
"type": "object",
|
|
"required": [
|
|
"challenge",
|
|
"response_r",
|
|
"response_r_e",
|
|
"responses_r_k",
|
|
"responses_l",
|
|
"responses_o_a",
|
|
"response_o_c",
|
|
"responses_mu",
|
|
"responses_o_mu",
|
|
"responses_attributes"
|
|
],
|
|
"properties": {
|
|
"challenge": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"response_o_c": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"response_r": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"response_r_e": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"responses_attributes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"responses_l": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"responses_mu": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"responses_o_a": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"responses_o_mu": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"responses_r_k": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"SpentCredentialsResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"bitmap"
|
|
],
|
|
"properties": {
|
|
"bitmap": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"StakeSaturationResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"saturation",
|
|
"uncapped_saturation",
|
|
"as_at"
|
|
],
|
|
"properties": {
|
|
"as_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"saturation": {
|
|
"type": "string"
|
|
},
|
|
"uncapped_saturation": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"String": {
|
|
"type": "string"
|
|
},
|
|
"TestNode": {
|
|
"type": "object",
|
|
"properties": {
|
|
"identity_key": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"node_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"TestRoute": {
|
|
"type": "object",
|
|
"required": [
|
|
"gateway",
|
|
"layer1",
|
|
"layer2",
|
|
"layer3"
|
|
],
|
|
"properties": {
|
|
"gateway": {
|
|
"$ref": "#/components/schemas/TestNode"
|
|
},
|
|
"layer1": {
|
|
"$ref": "#/components/schemas/TestNode"
|
|
},
|
|
"layer2": {
|
|
"$ref": "#/components/schemas/TestNode"
|
|
},
|
|
"layer3": {
|
|
"$ref": "#/components/schemas/TestNode"
|
|
}
|
|
}
|
|
},
|
|
"UptimeHistoryResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"node_id",
|
|
"history"
|
|
],
|
|
"properties": {
|
|
"history": {
|
|
"$ref": "#/components/schemas/PaginatedResponse_HistoricalUptimeResponse"
|
|
},
|
|
"node_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"UptimeResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"mix_id",
|
|
"avg_uptime",
|
|
"node_performance"
|
|
],
|
|
"properties": {
|
|
"avg_uptime": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"mix_id": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"node_performance": {
|
|
"$ref": "#/components/schemas/NodePerformance"
|
|
}
|
|
}
|
|
},
|
|
"ValidatorDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"nyxd_url"
|
|
],
|
|
"properties": {
|
|
"api_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"nyxd_url": {
|
|
"type": "string"
|
|
},
|
|
"websocket_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"VerificationKeyAuth": {
|
|
"type": "object",
|
|
"required": [
|
|
"alpha",
|
|
"beta_g1",
|
|
"beta_g2"
|
|
],
|
|
"properties": {
|
|
"alpha": {
|
|
"type": "string"
|
|
},
|
|
"beta_g1": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"beta_g2": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"VerificationKeyResponse": {
|
|
"type": "object",
|
|
"required": [
|
|
"key"
|
|
],
|
|
"properties": {
|
|
"key": {
|
|
"$ref": "#/components/schemas/VerificationKeyAuth"
|
|
}
|
|
}
|
|
},
|
|
"VerifyEcashCredentialBody": {
|
|
"type": "object",
|
|
"required": [
|
|
"credential",
|
|
"gateway_cosmos_addr",
|
|
"proposal_id"
|
|
],
|
|
"properties": {
|
|
"credential": {
|
|
"$ref": "#/components/schemas/CredentialSpendingData",
|
|
"description": "The cryptographic material required for spending the underlying credential."
|
|
},
|
|
"gateway_cosmos_addr": {
|
|
"type": "string",
|
|
"description": "Cosmos address of the sender of the credential"
|
|
},
|
|
"proposal_id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"description": "Multisig proposal for releasing funds for the provided bandwidth credential",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"VerifyEcashTicketBody": {
|
|
"type": "object",
|
|
"required": [
|
|
"credential",
|
|
"gateway_cosmos_addr"
|
|
],
|
|
"properties": {
|
|
"credential": {
|
|
"type": "string",
|
|
"description": "The cryptographic material required for spending the underlying credential."
|
|
},
|
|
"gateway_cosmos_addr": {
|
|
"type": "string",
|
|
"description": "Cosmos address of the sender of the credential"
|
|
}
|
|
}
|
|
},
|
|
"VersionScoreFormulaParams": {
|
|
"type": "object",
|
|
"description": "Given the formula of version_score = penalty ^ (versions_behind_factor ^ penalty_scaling)\ndefine the relevant parameters",
|
|
"required": [
|
|
"penalty",
|
|
"penalty_scaling"
|
|
],
|
|
"properties": {
|
|
"penalty": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"penalty_scaling": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
}
|
|
},
|
|
"WebSockets": {
|
|
"type": "object",
|
|
"required": [
|
|
"ws_port"
|
|
],
|
|
"properties": {
|
|
"ws_port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"wss_port": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"WireguardDetails": {
|
|
"type": "object",
|
|
"required": [
|
|
"port",
|
|
"public_key"
|
|
],
|
|
"properties": {
|
|
"port": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"public_key": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"WithdrawalReqProof": {
|
|
"type": "object",
|
|
"required": [
|
|
"challenge",
|
|
"response_opening",
|
|
"response_openings",
|
|
"response_attributes"
|
|
],
|
|
"properties": {
|
|
"challenge": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"response_attributes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"response_opening": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"response_openings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "binary",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"WithdrawalRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"joined_commitment_hash",
|
|
"joined_commitment",
|
|
"private_attributes_commitments",
|
|
"zk_proof"
|
|
],
|
|
"properties": {
|
|
"joined_commitment": {
|
|
"type": "string"
|
|
},
|
|
"joined_commitment_hash": {
|
|
"type": "string"
|
|
},
|
|
"private_attributes_commitments": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"zk_proof": {
|
|
"$ref": "#/components/schemas/WithdrawalReqProof"
|
|
}
|
|
}
|
|
},
|
|
"u32": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
},
|
|
"u8": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"responses": {
|
|
"AxumErrorResponse": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message",
|
|
"status"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"$ref": "#/components/schemas/RequestError"
|
|
},
|
|
"status": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"CirculatingSupplyResponse": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"total_supply",
|
|
"mixmining_reserve",
|
|
"vesting_tokens",
|
|
"circulating_supply"
|
|
],
|
|
"properties": {
|
|
"circulating_supply": {
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
},
|
|
"mixmining_reserve": {
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
},
|
|
"total_supply": {
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
},
|
|
"vesting_tokens": {
|
|
"$ref": "#/components/schemas/CoinSchema"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"RequestError": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": []
|
|
}
|