From 48232220df5cbe5c41e83800c6d81488b9e9eced Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 26 Jun 2024 17:05:50 +0000 Subject: [PATCH] deploy: f03720a15e26720a9057005385cc5df0c34443aa --- page-data/sq/d/3070998925.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/page-data/sq/d/3070998925.json b/page-data/sq/d/3070998925.json index e7a94303d..f2c527fec 100644 --- a/page-data/sq/d/3070998925.json +++ b/page-data/sq/d/3070998925.json @@ -1 +1 @@ -{"data":{"openrpcDocument":{"id":"openrpcDocument","openrpcDocument":"{\n \"openrpc\": \"1.2.6\",\n \"info\": {\n \"title\": \"Fleek Lightning\",\n \"description\": \"Fleek Lightning RPC API\",\n \"contact\": {\n \"name\": \"\",\n \"url\": \"\",\n \"email\": \"\"\n },\n \"license\": {\n \"name\": \"\",\n \"url\": \"\"\n },\n \"version\": \"1.0.0\"\n },\n \"methods\": [\n {\n \"name\": \"flk_get_account_info\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"AccountInfo\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/AccountInfo\"\n }\n }\n },\n {\n \"name\": \"flk_get_bandwidth_balance\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"u128\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_committee_members\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n }\n },\n {\n \"name\": \"flk_get_epoch\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"u64\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_epoch_info\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"EpochInfo\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EpochInfo\"\n }\n }\n },\n {\n \"name\": \"flk_get_flk_balance\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_genesis_committee\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"Vec<(NodeIndex,NodeInfo)>\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n },\n {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n }\n },\n {\n \"name\": \"flk_get_last_epoch_hash\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"([u8;32],Epoch)\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"maxItems\": 32,\n \"minItems\": 32\n },\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n },\n {\n \"name\": \"flk_get_latencies\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec<((NodePublicKey,NodePublicKey),Duration)>\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"array\",\n \"items\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n },\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n },\n {\n \"$ref\": \"#/components/schemas/Duration\"\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n }\n },\n {\n \"name\": \"flk_get_locked\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_locked_time\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"u64\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_node_info\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"NodeInfo\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n }\n },\n {\n \"name\": \"flk_get_node_info_epoch\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n ],\n \"result\": {\n \"name\": \"(Option,Epoch)\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n },\n {\n \"name\": \"flk_get_node_registry\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"paging\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/PagingParams\"\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n }\n }\n },\n {\n \"name\": \"flk_get_node_registry_index\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"paging\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/PagingParams\"\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/NodeInfoWithIndex\"\n }\n }\n }\n },\n {\n \"name\": \"flk_get_node_served\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"NodeServed\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodeServed\"\n }\n }\n },\n {\n \"name\": \"flk_get_node_uptime\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n ],\n \"result\": {\n \"name\": \"u8\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_protocol_fund_address\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"EthAddress\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n }\n },\n {\n \"name\": \"flk_get_protocol_params\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"protocol_params\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/ProtocolParams\"\n }\n }\n ],\n \"result\": {\n \"name\": \"u128\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_public_keys\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"PublicKeys\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/PublicKeys\"\n }\n }\n },\n {\n \"name\": \"flk_get_reputation\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"u8\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_reputation_measurements\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ReportedReputationMeasurements\"\n }\n }\n }\n },\n {\n \"name\": \"flk_get_stables_balance\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<6>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_stake_locked_until\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"u64\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_staked\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_staking_amount\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"u128\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_sub_dag_index\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"(u64,Epoch)\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n },\n {\n \"name\": \"flk_get_total_served\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"TotalServed\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/TotalServed\"\n }\n }\n },\n {\n \"name\": \"flk_get_total_supply\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_year_start_supply\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_health\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n {\n \"name\": \"flk_is_valid_node\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n ],\n \"result\": {\n \"name\": \"bool\",\n \"required\": true,\n \"schema\": {\n \"type\": \"boolean\"\n }\n }\n },\n {\n \"name\": \"flk_is_valid_node_epoch\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n ],\n \"result\": {\n \"name\": \"(bool,Epoch)\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n },\n {\n \"name\": \"flk_metrics\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n {\n \"name\": \"flk_ping\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n {\n \"name\": \"flk_put\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"data\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n }\n }\n ],\n \"result\": {\n \"name\": \"Blake3Hash\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"maxItems\": 32,\n \"minItems\": 32\n }\n }\n },\n {\n \"name\": \"flk_send_txn\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"tx\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/TransactionRequest\"\n }\n }\n ],\n \"result\": {\n \"name\": \"()\",\n \"required\": true,\n \"schema\": {\n \"type\": \"null\"\n }\n }\n },\n {\n \"name\": \"flk_subscribe\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n },\n {\n \"name\": \"Websocket\"\n },\n {\n \"name\": \"PubSub\"\n }\n ],\n \"params\": [\n {\n \"name\": \"event_type\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/EventType\"\n }\n }\n ],\n \"result\": {\n \"name\": \"Event\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/Event\"\n }\n }\n },\n {\n \"name\": \"net_listening\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"bool\",\n \"required\": true,\n \"schema\": {\n \"type\": \"boolean\"\n }\n }\n },\n {\n \"name\": \"net_peerCount\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n {\n \"name\": \"net_version\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"schema\": {\n \"type\": \"string\"\n }\n }\n }\n ],\n \"components\": {\n \"schemas\": {\n \"AccountInfo\": {\n \"description\": \"The account info stored per account on the blockchain\",\n \"type\": \"object\",\n \"required\": [\n \"bandwidth_balance\",\n \"flk_balance\",\n \"nonce\",\n \"stables_balance\"\n ],\n \"properties\": {\n \"bandwidth_balance\": {\n \"description\": \"The accounts stables/bandwidth balance\",\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"flk_balance\": {\n \"description\": \"The accounts FLK balance\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"nonce\": {\n \"description\": \"The nonce of the account. Added to each transaction before signed to prevent replays and enforce ordering\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"stables_balance\": {\n \"description\": \"the accounts stable coin balance\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n }\n }\n },\n \"AccountOwnerSignature\": {\n \"title\": \"AccountOwnerSignature\",\n \"examples\": [\n \"11111111111111111111111111111111111111111111111111111111111111111\"\n ],\n \"type\": \"string\"\n },\n \"CommodityTypes\": {\n \"description\": \"This is commodities served by different services in Fleek Network. C-like enums used here to future proof for state, if we add more commodity types\",\n \"type\": \"string\",\n \"enum\": [\n \"Bandwidth\",\n \"Compute\",\n \"Gpu\"\n ]\n },\n \"ConsensusPublicKey\": {\n \"title\": \"ConsensusPublicKey\",\n \"examples\": [\n \"u76G7q22Qc5nRC5Fi6dzbNE7FQxqRKEtTS9qjDftWFwhBKmoozGLv8wFiFmGnYDFMEKyYxozWRdM3wgjs1Na3fvxDARxi9CSNJUZJfPXC2WUu3uLnUw96jPBRp7rtHEzS5H\"\n ],\n \"type\": \"string\"\n },\n \"ConsensusSignature\": {\n \"title\": \"ConsensusSignature\",\n \"examples\": [\n \"111111111111111111111111111111111111111111111111\"\n ],\n \"type\": \"string\"\n },\n \"ContentUpdate\": {\n \"type\": \"object\",\n \"required\": [\n \"cid\",\n \"remove\"\n ],\n \"properties\": {\n \"cid\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"maxItems\": 32,\n \"minItems\": 32\n },\n \"remove\": {\n \"type\": \"boolean\"\n }\n }\n },\n \"DeliveryAcknowledgmentProof\": {\n \"type\": \"null\"\n },\n \"Duration\": {\n \"type\": \"object\",\n \"required\": [\n \"nanos\",\n \"secs\"\n ],\n \"properties\": {\n \"nanos\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n },\n \"secs\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n \"EpochInfo\": {\n \"description\": \"Info on a Narwhal epoch\",\n \"type\": \"object\",\n \"required\": [\n \"committee\",\n \"epoch\",\n \"epoch_end\"\n ],\n \"properties\": {\n \"committee\": {\n \"description\": \"List of committee members\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n },\n \"epoch\": {\n \"description\": \"The current epoch number\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"epoch_end\": {\n \"description\": \"Timestamp when the epoch ends\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n \"EthAddress\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"maxItems\": 20,\n \"minItems\": 20\n },\n \"EthersTransaction\": {\n \"examples\": [\n {\n \"hash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n \"nonce\": \"0x0\",\n \"blockHash\": null,\n \"blockNumber\": null,\n \"transactionIndex\": null,\n \"from\": \"0x0000000000000000000000000000000000000000\",\n \"to\": null,\n \"value\": \"0x0\",\n \"gasPrice\": null,\n \"gas\": \"0x0\",\n \"input\": \"0x\",\n \"v\": \"0x0\",\n \"r\": \"0x0\",\n \"s\": \"0x0\"\n }\n ],\n \"type\": \"object\",\n \"properties\": {\n \"blockHash\": true,\n \"blockNumber\": true,\n \"from\": {\n \"type\": \"string\"\n },\n \"gas\": {\n \"type\": \"string\"\n },\n \"gasPrice\": true,\n \"hash\": {\n \"type\": \"string\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"nonce\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"s\": {\n \"type\": \"string\"\n },\n \"to\": true,\n \"transactionIndex\": true,\n \"v\": {\n \"type\": \"string\"\n },\n \"value\": {\n \"type\": \"string\"\n }\n }\n },\n \"Event\": {\n \"oneOf\": [\n {\n \"type\": \"object\",\n \"required\": [\n \"Transfer\"\n ],\n \"properties\": {\n \"Transfer\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"from\",\n \"to\",\n \"token\"\n ],\n \"properties\": {\n \"amount\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n },\n \"from\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n },\n \"to\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n },\n \"token\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"ServiceEvent\"\n ],\n \"properties\": {\n \"ServiceEvent\": {\n \"type\": \"object\",\n \"required\": [\n \"event\",\n \"service_id\"\n ],\n \"properties\": {\n \"event\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n },\n \"service_id\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"EventType\": {\n \"type\": \"string\",\n \"enum\": [\n \"Transfer\",\n \"ServiceEvent\"\n ]\n },\n \"HandshakePorts\": {\n \"description\": \"The ports a node has open for the handshake server\",\n \"type\": \"object\",\n \"required\": [\n \"http\",\n \"webrtc\",\n \"webtransport\"\n ],\n \"properties\": {\n \"http\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"webrtc\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"webtransport\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n }\n }\n },\n \"HpUfixed\": {\n \"examples\": [\n \"13\"\n ],\n \"type\": \"string\"\n },\n \"HpUfixed2\": {\n \"examples\": [\n \"4294967297\"\n ],\n \"type\": \"string\"\n },\n \"NodeInfo\": {\n \"type\": \"object\",\n \"required\": [\n \"consensus_key\",\n \"domain\",\n \"nonce\",\n \"owner\",\n \"participation\",\n \"ports\",\n \"public_key\",\n \"stake\",\n \"staked_since\",\n \"worker_domain\",\n \"worker_public_key\"\n ],\n \"properties\": {\n \"consensus_key\": {\n \"description\": \"The BLS public key of the node which is used for our BFT DAG consensus multi signatures.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/ConsensusPublicKey\"\n }\n ]\n },\n \"domain\": {\n \"description\": \"The nodes primary domain\",\n \"type\": \"string\",\n \"format\": \"ip\"\n },\n \"nonce\": {\n \"description\": \"The nonce of the node. Added to each transaction before signed to prevent replays and enforce ordering\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"owner\": {\n \"description\": \"The owner of this node\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n ]\n },\n \"participation\": {\n \"description\": \"The participation status of the node\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Participation\"\n }\n ]\n },\n \"ports\": {\n \"description\": \"Open ports for this node\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePorts\"\n }\n ]\n },\n \"public_key\": {\n \"description\": \"Public key that is used for fast communication signatures for this node.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ]\n },\n \"stake\": {\n \"description\": \"The amount of stake by the node.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Staking\"\n }\n ]\n },\n \"staked_since\": {\n \"description\": \"The epoch that this node has been staked since,\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"worker_domain\": {\n \"description\": \"The node workers domain\",\n \"type\": \"string\",\n \"format\": \"ip\"\n },\n \"worker_public_key\": {\n \"description\": \"The public key of the nodes narwhal worker\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ]\n }\n }\n },\n \"NodeInfoWithIndex\": {\n \"type\": \"object\",\n \"required\": [\n \"index\",\n \"info\"\n ],\n \"properties\": {\n \"index\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n },\n \"info\": {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n }\n },\n \"NodePorts\": {\n \"description\": \"The ports a node has open for its processes\",\n \"type\": \"object\",\n \"required\": [\n \"handshake\",\n \"mempool\",\n \"pinger\",\n \"pool\",\n \"primary\",\n \"rpc\",\n \"worker\"\n ],\n \"properties\": {\n \"handshake\": {\n \"$ref\": \"#/components/schemas/HandshakePorts\"\n },\n \"mempool\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"pinger\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"pool\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"primary\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"rpc\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"worker\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n }\n }\n },\n \"NodePublicKey\": {\n \"title\": \"NodePublicKey\",\n \"examples\": [\n \"F5tV4PLSzx1Lt4mYBe13aYQ8hsLMTCfjgY2pLr82AumH\"\n ],\n \"type\": \"string\"\n },\n \"NodeServed\": {\n \"type\": \"object\",\n \"required\": [\n \"served\",\n \"stables_revenue\"\n ],\n \"properties\": {\n \"served\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n },\n \"stables_revenue\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n \"NodeSignature\": {\n \"title\": \"NodeSignature\",\n \"examples\": [\n \"1111111111111111111111111111111111111111111111111111111111111111\"\n ],\n \"type\": \"string\"\n },\n \"PagingParams\": {\n \"type\": \"object\",\n \"required\": [\n \"ignore_stake\",\n \"limit\",\n \"start\"\n ],\n \"properties\": {\n \"ignore_stake\": {\n \"type\": \"boolean\"\n },\n \"limit\": {\n \"type\": \"integer\",\n \"format\": \"uint\",\n \"minimum\": 0\n },\n \"start\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n },\n \"Participation\": {\n \"description\": \"Indicates the participation status of a node.\",\n \"type\": \"string\",\n \"enum\": [\n \"True\",\n \"False\",\n \"OptedIn\",\n \"OptedOut\"\n ]\n },\n \"ProofOfConsensus\": {\n \"description\": \"Placeholder This is the proof used to operate our PoC bridges\",\n \"type\": \"object\"\n },\n \"ProofOfMisbehavior\": {\n \"description\": \"Placeholder This is the proof presented to the slashing function that proves a node misbehaved and should be slashed\",\n \"type\": \"string\",\n \"enum\": [\n \"Placeholder\"\n ]\n },\n \"ProtocolParams\": {\n \"description\": \"Adjustable parameters that are stored in the blockchain\",\n \"oneOf\": [\n {\n \"description\": \"The time in milliseconds that an epoch lasts for. Genesis 24 hours(86400)\",\n \"type\": \"string\",\n \"enum\": [\n \"EpochTime\"\n ]\n },\n {\n \"description\": \"The size of the committee\",\n \"type\": \"string\",\n \"enum\": [\n \"CommitteeSize\"\n ]\n },\n {\n \"description\": \"The amount of nodes allowed to participate in the network\",\n \"type\": \"string\",\n \"enum\": [\n \"NodeCount\"\n ]\n },\n {\n \"description\": \"The min FLK a node has to stake to participate in the network\",\n \"type\": \"string\",\n \"enum\": [\n \"MinimumNodeStake\"\n ]\n },\n {\n \"description\": \"The time in epochs a node has to be staked to participate in the network\",\n \"type\": \"string\",\n \"enum\": [\n \"EligibilityTime\"\n ]\n },\n {\n \"description\": \"The time in epochs a node has to wait to withdraw after unstaking\",\n \"type\": \"string\",\n \"enum\": [\n \"LockTime\"\n ]\n },\n {\n \"description\": \"The percentage of the reward pool the protocol gets\",\n \"type\": \"string\",\n \"enum\": [\n \"ProtocolShare\"\n ]\n },\n {\n \"description\": \"The percentage of the reward pool goes to edge nodes\",\n \"type\": \"string\",\n \"enum\": [\n \"NodeShare\"\n ]\n },\n {\n \"description\": \"The percentage of the reward pool goes to edge nodes\",\n \"type\": \"string\",\n \"enum\": [\n \"ServiceBuilderShare\"\n ]\n },\n {\n \"description\": \"The maximum target inflation rate in a year\",\n \"type\": \"string\",\n \"enum\": [\n \"MaxInflation\"\n ]\n },\n {\n \"description\": \"The max multiplier on rewards for locking\",\n \"type\": \"string\",\n \"enum\": [\n \"MaxBoost\"\n ]\n },\n {\n \"description\": \"The max amount of time tokens can be locked\",\n \"type\": \"string\",\n \"enum\": [\n \"MaxStakeLockTime\"\n ]\n },\n {\n \"description\": \"Minimum number of reported measurements that have to be available for a node. If less measurements have been reported, no reputation score will be computed in that epoch.\",\n \"type\": \"string\",\n \"enum\": [\n \"MinNumMeasurements\"\n ]\n }\n ]\n },\n \"PublicKeys\": {\n \"type\": \"object\",\n \"required\": [\n \"consensus_public_key\",\n \"node_public_key\"\n ],\n \"properties\": {\n \"consensus_public_key\": {\n \"$ref\": \"#/components/schemas/ConsensusPublicKey\"\n },\n \"node_public_key\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n },\n \"ReportedReputationMeasurements\": {\n \"type\": \"object\",\n \"required\": [\n \"measurements\",\n \"reporting_node\"\n ],\n \"properties\": {\n \"measurements\": {\n \"$ref\": \"#/components/schemas/ReputationMeasurements\"\n },\n \"reporting_node\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n },\n \"ReputationMeasurements\": {\n \"description\": \"Contains the peer measurements that node A has about node B, that will be taken into account when computing B's reputation score.\",\n \"type\": \"object\",\n \"properties\": {\n \"bytes_received\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"bytes_sent\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"hops\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"inbound_bandwidth\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"interactions\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"int64\"\n },\n \"latency\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/Duration\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"outbound_bandwidth\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"uptime\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed2\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n }\n },\n \"Service\": {\n \"description\": \"Placeholder Information about the services\",\n \"type\": \"object\",\n \"required\": [\n \"commodity_type\",\n \"owner\",\n \"slashing\"\n ],\n \"properties\": {\n \"commodity_type\": {\n \"description\": \"the commodity that service is going to serve\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/CommodityTypes\"\n }\n ]\n },\n \"owner\": {\n \"description\": \"the owner address that deploys the service and also recieves reward share\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n ]\n },\n \"slashing\": {\n \"description\": \"TODO: List of circuits to prove a node should be slashed\",\n \"type\": \"null\"\n }\n }\n },\n \"Staking\": {\n \"description\": \"Struct that stores the information about the stake of amount of a node.\",\n \"type\": \"object\",\n \"required\": [\n \"locked\",\n \"locked_until\",\n \"stake_locked_until\",\n \"staked\"\n ],\n \"properties\": {\n \"locked\": {\n \"description\": \"How much FLK is locked pending withdraw\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"locked_until\": {\n \"description\": \"The epoch the locked FLK is eligible to be withdrawn\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"stake_locked_until\": {\n \"description\": \"The epoch until all stakes are locked for boosting rewards\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"staked\": {\n \"description\": \"How much FLK that is currently staked\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n }\n }\n },\n \"Tokens\": {\n \"type\": \"string\",\n \"enum\": [\n \"USDC\",\n \"FLK\"\n ]\n },\n \"TotalServed\": {\n \"type\": \"object\",\n \"required\": [\n \"reward_pool\",\n \"served\"\n ],\n \"properties\": {\n \"reward_pool\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n },\n \"served\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n }\n },\n \"TransactionRequest\": {\n \"oneOf\": [\n {\n \"type\": \"object\",\n \"required\": [\n \"UpdateRequest\"\n ],\n \"properties\": {\n \"UpdateRequest\": {\n \"$ref\": \"#/components/schemas/UpdateRequest\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"EthereumRequest\"\n ],\n \"properties\": {\n \"EthereumRequest\": {\n \"$ref\": \"#/components/schemas/EthersTransaction\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"TransactionSender\": {\n \"oneOf\": [\n {\n \"type\": \"object\",\n \"required\": [\n \"NodeConsensus\"\n ],\n \"properties\": {\n \"NodeConsensus\": {\n \"$ref\": \"#/components/schemas/ConsensusPublicKey\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"NodeMain\"\n ],\n \"properties\": {\n \"NodeMain\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"AccountOwner\"\n ],\n \"properties\": {\n \"AccountOwner\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"TransactionSignature\": {\n \"oneOf\": [\n {\n \"type\": \"object\",\n \"required\": [\n \"NodeConsensus\"\n ],\n \"properties\": {\n \"NodeConsensus\": {\n \"$ref\": \"#/components/schemas/ConsensusSignature\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"NodeMain\"\n ],\n \"properties\": {\n \"NodeMain\": {\n \"$ref\": \"#/components/schemas/NodeSignature\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"AccountOwner\"\n ],\n \"properties\": {\n \"AccountOwner\": {\n \"$ref\": \"#/components/schemas/AccountOwnerSignature\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"UpdateMethod\": {\n \"description\": \"All of the update functions in our logic, along their parameters.\",\n \"oneOf\": [\n {\n \"description\": \"The main function of the application layer. After aggregating ProofOfAcknowledgements a node will submit this transaction to get paid. Revisit the naming of this transaction.\",\n \"type\": \"object\",\n \"required\": [\n \"SubmitDeliveryAcknowledgmentAggregation\"\n ],\n \"properties\": {\n \"SubmitDeliveryAcknowledgmentAggregation\": {\n \"type\": \"object\",\n \"required\": [\n \"commodity\",\n \"proofs\",\n \"service_id\"\n ],\n \"properties\": {\n \"commodity\": {\n \"description\": \"How much of the commodity was served\",\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"metadata\": {\n \"description\": \"Optional metadata to provide information additional information about this batch\",\n \"type\": [\n \"array\",\n \"null\"\n ],\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n },\n \"proofs\": {\n \"description\": \"The PoD of delivery in bytes\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DeliveryAcknowledgmentProof\"\n }\n },\n \"service_id\": {\n \"description\": \"The service id of the service this was provided through(CDN, compute, ect.)\",\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Withdraw tokens from the network back to the L2\",\n \"type\": \"object\",\n \"required\": [\n \"Withdraw\"\n ],\n \"properties\": {\n \"Withdraw\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"receiving_address\",\n \"token\"\n ],\n \"properties\": {\n \"amount\": {\n \"description\": \"The amount to withdraw.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"receiving_address\": {\n \"description\": \"The address to recieve these tokens on the L2\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n ]\n },\n \"token\": {\n \"description\": \"Which token to withdraw.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Tokens\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Submit of PoC from the bridge on the L2 to get the tokens in network\",\n \"type\": \"object\",\n \"required\": [\n \"Deposit\"\n ],\n \"properties\": {\n \"Deposit\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"proof\",\n \"token\"\n ],\n \"properties\": {\n \"amount\": {\n \"description\": \"Amount bridged\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"proof\": {\n \"description\": \"The proof of the bridge recieved from the L2,\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/ProofOfConsensus\"\n }\n ]\n },\n \"token\": {\n \"description\": \"Which token was bridged\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Tokens\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Transfer tokens to another address\",\n \"type\": \"object\",\n \"required\": [\n \"Transfer\"\n ],\n \"properties\": {\n \"Transfer\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"to\",\n \"token\"\n ],\n \"properties\": {\n \"amount\": {\n \"description\": \"The amount to transfer\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"to\": {\n \"description\": \"The address to transfer to\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n ]\n },\n \"token\": {\n \"description\": \"Which token to transfer\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Tokens\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Stake FLK in network\",\n \"type\": \"object\",\n \"required\": [\n \"Stake\"\n ],\n \"properties\": {\n \"Stake\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"node_public_key\"\n ],\n \"properties\": {\n \"amount\": {\n \"description\": \"Amount to stake\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"consensus_key\": {\n \"description\": \"Consensus Public Key\",\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/ConsensusPublicKey\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"node_domain\": {\n \"description\": \"Nodes primary internet address\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"format\": \"ip\"\n },\n \"node_public_key\": {\n \"description\": \"Node Public Key\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ]\n },\n \"ports\": {\n \"description\": \"internet address for workers mempool\",\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePorts\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"worker_domain\": {\n \"description\": \"internet address for the worker\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"format\": \"ip\"\n },\n \"worker_public_key\": {\n \"description\": \"Worker public Key\",\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Lock the current stakes to get boosted inflation rewards this is different than unstake and withdrawl lock\",\n \"type\": \"object\",\n \"required\": [\n \"StakeLock\"\n ],\n \"properties\": {\n \"StakeLock\": {\n \"type\": \"object\",\n \"required\": [\n \"locked_for\",\n \"node\"\n ],\n \"properties\": {\n \"locked_for\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"node\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Unstake FLK, the tokens will be locked for a set amount of time(ProtocolParameter::LockTime) before they can be withdrawn\",\n \"type\": \"object\",\n \"required\": [\n \"Unstake\"\n ],\n \"properties\": {\n \"Unstake\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"node\"\n ],\n \"properties\": {\n \"amount\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n },\n \"node\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Withdraw tokens from a node after lock period has passed must be submitted by node owner but optionally they can provide a different public key to receive the tokens\",\n \"type\": \"object\",\n \"required\": [\n \"WithdrawUnstaked\"\n ],\n \"properties\": {\n \"WithdrawUnstaked\": {\n \"type\": \"object\",\n \"required\": [\n \"node\"\n ],\n \"properties\": {\n \"node\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n },\n \"recipient\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Sent by committee member to signal he is ready to change epoch\",\n \"type\": \"object\",\n \"required\": [\n \"ChangeEpoch\"\n ],\n \"properties\": {\n \"ChangeEpoch\": {\n \"type\": \"object\",\n \"required\": [\n \"epoch\"\n ],\n \"properties\": {\n \"epoch\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Adding a new service to the protocol\",\n \"type\": \"object\",\n \"required\": [\n \"AddService\"\n ],\n \"properties\": {\n \"AddService\": {\n \"type\": \"object\",\n \"required\": [\n \"service\",\n \"service_id\"\n ],\n \"properties\": {\n \"service\": {\n \"$ref\": \"#/components/schemas/Service\"\n },\n \"service_id\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Removing a service from the protocol\",\n \"type\": \"object\",\n \"required\": [\n \"RemoveService\"\n ],\n \"properties\": {\n \"RemoveService\": {\n \"type\": \"object\",\n \"required\": [\n \"service_id\"\n ],\n \"properties\": {\n \"service_id\": {\n \"description\": \"Service Id of the service to be removed\",\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Provide proof of misbehavior to slash a node\",\n \"type\": \"object\",\n \"required\": [\n \"Slash\"\n ],\n \"properties\": {\n \"Slash\": {\n \"type\": \"object\",\n \"required\": [\n \"node\",\n \"proof_of_misbehavior\",\n \"service_id\"\n ],\n \"properties\": {\n \"node\": {\n \"description\": \"The public key of the node that misbehaved\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ]\n },\n \"proof_of_misbehavior\": {\n \"description\": \"Zk proof to be provided to the slash circuit\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/ProofOfMisbehavior\"\n }\n ]\n },\n \"service_id\": {\n \"description\": \"Service id of the service a node misbehaved in\",\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Report reputation measurements\",\n \"type\": \"object\",\n \"required\": [\n \"SubmitReputationMeasurements\"\n ],\n \"properties\": {\n \"SubmitReputationMeasurements\": {\n \"type\": \"object\",\n \"required\": [\n \"measurements\"\n ],\n \"properties\": {\n \"measurements\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/components/schemas/ReputationMeasurements\"\n }\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Change protocol parameters\",\n \"type\": \"object\",\n \"required\": [\n \"ChangeProtocolParam\"\n ],\n \"properties\": {\n \"ChangeProtocolParam\": {\n \"type\": \"object\",\n \"required\": [\n \"param\",\n \"value\"\n ],\n \"properties\": {\n \"param\": {\n \"$ref\": \"#/components/schemas/ProtocolParams\"\n },\n \"value\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Opt out of participating in the network.\",\n \"type\": \"object\",\n \"required\": [\n \"OptOut\"\n ],\n \"properties\": {\n \"OptOut\": {\n \"type\": \"object\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Opt into participating in the network.\",\n \"type\": \"object\",\n \"required\": [\n \"OptIn\"\n ],\n \"properties\": {\n \"OptIn\": {\n \"type\": \"object\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Update the content registry.\\n\\nThe content registry records the contents that are being provided by the network and the corresponding nodes that are providing that content.\",\n \"type\": \"object\",\n \"required\": [\n \"UpdateContentRegistry\"\n ],\n \"properties\": {\n \"UpdateContentRegistry\": {\n \"type\": \"object\",\n \"required\": [\n \"updates\"\n ],\n \"properties\": {\n \"updates\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ContentUpdate\"\n }\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Increment the node nonce.\",\n \"type\": \"object\",\n \"required\": [\n \"IncrementNonce\"\n ],\n \"properties\": {\n \"IncrementNonce\": {\n \"type\": \"object\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"UpdatePayload\": {\n \"description\": \"The payload data of FN transaction\",\n \"type\": \"object\",\n \"required\": [\n \"chain_id\",\n \"method\",\n \"nonce\",\n \"sender\"\n ],\n \"properties\": {\n \"chain_id\": {\n \"description\": \"The chain ID.\",\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n },\n \"method\": {\n \"description\": \"The transition function (and parameters) for this update request.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/UpdateMethod\"\n }\n ]\n },\n \"nonce\": {\n \"description\": \"The counter or nonce of this request.\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"sender\": {\n \"description\": \"The sender of the transaction.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/TransactionSender\"\n }\n ]\n }\n }\n },\n \"UpdateRequest\": {\n \"description\": \"An update transaction, sent from users to the consensus to migrate the application from one state to the next state.\",\n \"type\": \"object\",\n \"required\": [\n \"payload\",\n \"signature\"\n ],\n \"properties\": {\n \"payload\": {\n \"description\": \"The payload of an update request, which contains a counter (nonce), and the transition function itself.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/UpdatePayload\"\n }\n ]\n },\n \"signature\": {\n \"description\": \"The signature by the user signing this payload.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/TransactionSignature\"\n }\n ]\n }\n }\n }\n }\n }\n}"}}} \ No newline at end of file +{"data":{"openrpcDocument":{"id":"openrpcDocument","openrpcDocument":"{\n \"openrpc\": \"1.2.6\",\n \"info\": {\n \"title\": \"Fleek Lightning\",\n \"description\": \"Fleek Lightning RPC API\",\n \"contact\": {\n \"name\": \"\",\n \"url\": \"\",\n \"email\": \"\"\n },\n \"license\": {\n \"name\": \"\",\n \"url\": \"\"\n },\n \"version\": \"1.0.0\"\n },\n \"methods\": [\n {\n \"name\": \"flk_get_account_info\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"AccountInfo\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/AccountInfo\"\n }\n }\n },\n {\n \"name\": \"flk_get_bandwidth_balance\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"u128\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_committee_members\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n }\n },\n {\n \"name\": \"flk_get_epoch\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"u64\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_epoch_info\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"EpochInfo\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EpochInfo\"\n }\n }\n },\n {\n \"name\": \"flk_get_flk_balance\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_genesis_committee\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"Vec<(NodeIndex,NodeInfo)>\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n },\n {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n }\n },\n {\n \"name\": \"flk_get_last_epoch_hash\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"([u8;32],Epoch)\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"maxItems\": 32,\n \"minItems\": 32\n },\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n },\n {\n \"name\": \"flk_get_latencies\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec<((NodePublicKey,NodePublicKey),Duration)>\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"array\",\n \"items\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n },\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n },\n {\n \"$ref\": \"#/components/schemas/Duration\"\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n }\n },\n {\n \"name\": \"flk_get_locked\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_locked_time\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"u64\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_node_info\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"NodeInfo\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n }\n },\n {\n \"name\": \"flk_get_node_info_epoch\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n ],\n \"result\": {\n \"name\": \"(Option,Epoch)\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n },\n {\n \"name\": \"flk_get_node_registry\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"paging\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/PagingParams\"\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n }\n }\n },\n {\n \"name\": \"flk_get_node_registry_index\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"paging\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/PagingParams\"\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/NodeInfoWithIndex\"\n }\n }\n }\n },\n {\n \"name\": \"flk_get_node_served\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"NodeServed\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodeServed\"\n }\n }\n },\n {\n \"name\": \"flk_get_node_uptime\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n ],\n \"result\": {\n \"name\": \"u8\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_protocol_fund_address\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"EthAddress\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n }\n },\n {\n \"name\": \"flk_get_protocol_params\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"protocol_params\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/ProtocolParams\"\n }\n }\n ],\n \"result\": {\n \"name\": \"u128\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_public_keys\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"PublicKeys\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/PublicKeys\"\n }\n }\n },\n {\n \"name\": \"flk_get_reputation\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"u8\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_reputation_measurements\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"Vec\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ReportedReputationMeasurements\"\n }\n }\n }\n },\n {\n \"name\": \"flk_get_stables_balance\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<6>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_stake_locked_until\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"u64\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_staked\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_staking_amount\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"u128\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n },\n {\n \"name\": \"flk_get_sub_dag_index\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"(u64,Epoch)\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n },\n {\n \"name\": \"flk_get_total_served\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"required\": true,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"TotalServed\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/TotalServed\"\n }\n }\n },\n {\n \"name\": \"flk_get_total_supply\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_get_year_start_supply\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"epoch\",\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n ],\n \"result\": {\n \"name\": \"HpUfixed<18>\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n {\n \"name\": \"flk_health\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n {\n \"name\": \"flk_is_valid_node\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n ],\n \"result\": {\n \"name\": \"bool\",\n \"required\": true,\n \"schema\": {\n \"type\": \"boolean\"\n }\n }\n },\n {\n \"name\": \"flk_is_valid_node_epoch\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"public_key\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n ],\n \"result\": {\n \"name\": \"(bool,Epoch)\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n ],\n \"maxItems\": 2,\n \"minItems\": 2\n }\n }\n },\n {\n \"name\": \"flk_metrics\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n {\n \"name\": \"flk_ping\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n {\n \"name\": \"flk_put\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"data\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n }\n }\n ],\n \"result\": {\n \"name\": \"Blake3Hash\",\n \"required\": true,\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"maxItems\": 32,\n \"minItems\": 32\n }\n }\n },\n {\n \"name\": \"flk_send_txn\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [\n {\n \"name\": \"tx\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/TransactionRequest\"\n }\n }\n ],\n \"result\": {\n \"name\": \"()\",\n \"required\": true,\n \"schema\": {\n \"type\": \"null\"\n }\n }\n },\n {\n \"name\": \"flk_subscribe\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n },\n {\n \"name\": \"Websocket\"\n },\n {\n \"name\": \"PubSub\"\n }\n ],\n \"params\": [\n {\n \"name\": \"event_type\",\n \"schema\": {\n \"$ref\": \"#/components/schemas/EventType\"\n }\n }\n ],\n \"result\": {\n \"name\": \"Event\",\n \"required\": true,\n \"schema\": {\n \"$ref\": \"#/components/schemas/Event\"\n }\n }\n },\n {\n \"name\": \"net_listening\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"bool\",\n \"required\": true,\n \"schema\": {\n \"type\": \"boolean\"\n }\n }\n },\n {\n \"name\": \"net_peerCount\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n {\n \"name\": \"net_version\",\n \"tags\": [\n {\n \"name\": \"1.0.0\"\n }\n ],\n \"params\": [],\n \"result\": {\n \"name\": \"String\",\n \"schema\": {\n \"type\": \"string\"\n }\n }\n }\n ],\n \"components\": {\n \"schemas\": {\n \"AccountInfo\": {\n \"description\": \"The account info stored per account on the blockchain\",\n \"type\": \"object\",\n \"required\": [\n \"bandwidth_balance\",\n \"flk_balance\",\n \"nonce\",\n \"stables_balance\"\n ],\n \"properties\": {\n \"bandwidth_balance\": {\n \"description\": \"The accounts stables/bandwidth balance\",\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"flk_balance\": {\n \"description\": \"The accounts FLK balance\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"nonce\": {\n \"description\": \"The nonce of the account. Added to each transaction before signed to prevent replays and enforce ordering\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"stables_balance\": {\n \"description\": \"the accounts stable coin balance\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n }\n }\n },\n \"AccountOwnerSignature\": {\n \"title\": \"AccountOwnerSignature\",\n \"examples\": [\n \"11111111111111111111111111111111111111111111111111111111111111111\"\n ],\n \"type\": \"string\"\n },\n \"CommodityTypes\": {\n \"description\": \"This is commodities served by different services in Fleek Network. C-like enums used here to future proof for state, if we add more commodity types\",\n \"type\": \"string\",\n \"enum\": [\n \"Bandwidth\",\n \"Compute\",\n \"Gpu\"\n ]\n },\n \"ConsensusPublicKey\": {\n \"title\": \"ConsensusPublicKey\",\n \"examples\": [\n \"u76G7q22Qc5nRC5Fi6dzbNE7FQxqRKEtTS9qjDftWFwhBKmoozGLv8wFiFmGnYDFMEKyYxozWRdM3wgjs1Na3fvxDARxi9CSNJUZJfPXC2WUu3uLnUw96jPBRp7rtHEzS5H\"\n ],\n \"type\": \"string\"\n },\n \"ConsensusSignature\": {\n \"title\": \"ConsensusSignature\",\n \"examples\": [\n \"111111111111111111111111111111111111111111111111\"\n ],\n \"type\": \"string\"\n },\n \"ContentUpdate\": {\n \"type\": \"object\",\n \"required\": [\n \"remove\",\n \"uri\"\n ],\n \"properties\": {\n \"remove\": {\n \"type\": \"boolean\"\n },\n \"uri\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"maxItems\": 32,\n \"minItems\": 32\n }\n }\n },\n \"DeliveryAcknowledgmentProof\": {\n \"type\": \"null\"\n },\n \"Duration\": {\n \"type\": \"object\",\n \"required\": [\n \"nanos\",\n \"secs\"\n ],\n \"properties\": {\n \"nanos\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n },\n \"secs\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n \"EpochInfo\": {\n \"description\": \"Info on a Narwhal epoch\",\n \"type\": \"object\",\n \"required\": [\n \"committee\",\n \"epoch\",\n \"epoch_end\"\n ],\n \"properties\": {\n \"committee\": {\n \"description\": \"List of committee members\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n },\n \"epoch\": {\n \"description\": \"The current epoch number\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"epoch_end\": {\n \"description\": \"Timestamp when the epoch ends\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n },\n \"EthAddress\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"maxItems\": 20,\n \"minItems\": 20\n },\n \"EthersTransaction\": {\n \"examples\": [\n {\n \"hash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n \"nonce\": \"0x0\",\n \"blockHash\": null,\n \"blockNumber\": null,\n \"transactionIndex\": null,\n \"from\": \"0x0000000000000000000000000000000000000000\",\n \"to\": null,\n \"value\": \"0x0\",\n \"gasPrice\": null,\n \"gas\": \"0x0\",\n \"input\": \"0x\",\n \"v\": \"0x0\",\n \"r\": \"0x0\",\n \"s\": \"0x0\"\n }\n ],\n \"type\": \"object\",\n \"properties\": {\n \"blockHash\": true,\n \"blockNumber\": true,\n \"from\": {\n \"type\": \"string\"\n },\n \"gas\": {\n \"type\": \"string\"\n },\n \"gasPrice\": true,\n \"hash\": {\n \"type\": \"string\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"nonce\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"s\": {\n \"type\": \"string\"\n },\n \"to\": true,\n \"transactionIndex\": true,\n \"v\": {\n \"type\": \"string\"\n },\n \"value\": {\n \"type\": \"string\"\n }\n }\n },\n \"Event\": {\n \"oneOf\": [\n {\n \"type\": \"object\",\n \"required\": [\n \"Transfer\"\n ],\n \"properties\": {\n \"Transfer\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"from\",\n \"to\",\n \"token\"\n ],\n \"properties\": {\n \"amount\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n },\n \"from\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n },\n \"to\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n },\n \"token\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"ServiceEvent\"\n ],\n \"properties\": {\n \"ServiceEvent\": {\n \"type\": \"object\",\n \"required\": [\n \"event\",\n \"service_id\"\n ],\n \"properties\": {\n \"event\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n },\n \"service_id\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"EventType\": {\n \"type\": \"string\",\n \"enum\": [\n \"Transfer\",\n \"ServiceEvent\"\n ]\n },\n \"HandshakePorts\": {\n \"description\": \"The ports a node has open for the handshake server\",\n \"type\": \"object\",\n \"required\": [\n \"http\",\n \"webrtc\",\n \"webtransport\"\n ],\n \"properties\": {\n \"http\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"webrtc\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"webtransport\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n }\n }\n },\n \"HpUfixed\": {\n \"examples\": [\n \"13\"\n ],\n \"type\": \"string\"\n },\n \"HpUfixed2\": {\n \"examples\": [\n \"4294967297\"\n ],\n \"type\": \"string\"\n },\n \"NodeInfo\": {\n \"type\": \"object\",\n \"required\": [\n \"consensus_key\",\n \"domain\",\n \"nonce\",\n \"owner\",\n \"participation\",\n \"ports\",\n \"public_key\",\n \"stake\",\n \"staked_since\",\n \"worker_domain\",\n \"worker_public_key\"\n ],\n \"properties\": {\n \"consensus_key\": {\n \"description\": \"The BLS public key of the node which is used for our BFT DAG consensus multi signatures.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/ConsensusPublicKey\"\n }\n ]\n },\n \"domain\": {\n \"description\": \"The nodes primary domain\",\n \"type\": \"string\",\n \"format\": \"ip\"\n },\n \"nonce\": {\n \"description\": \"The nonce of the node. Added to each transaction before signed to prevent replays and enforce ordering\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"owner\": {\n \"description\": \"The owner of this node\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n ]\n },\n \"participation\": {\n \"description\": \"The participation status of the node\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Participation\"\n }\n ]\n },\n \"ports\": {\n \"description\": \"Open ports for this node\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePorts\"\n }\n ]\n },\n \"public_key\": {\n \"description\": \"Public key that is used for fast communication signatures for this node.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ]\n },\n \"stake\": {\n \"description\": \"The amount of stake by the node.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Staking\"\n }\n ]\n },\n \"staked_since\": {\n \"description\": \"The epoch that this node has been staked since,\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"worker_domain\": {\n \"description\": \"The node workers domain\",\n \"type\": \"string\",\n \"format\": \"ip\"\n },\n \"worker_public_key\": {\n \"description\": \"The public key of the nodes narwhal worker\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ]\n }\n }\n },\n \"NodeInfoWithIndex\": {\n \"type\": \"object\",\n \"required\": [\n \"index\",\n \"info\"\n ],\n \"properties\": {\n \"index\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n },\n \"info\": {\n \"$ref\": \"#/components/schemas/NodeInfo\"\n }\n }\n },\n \"NodePorts\": {\n \"description\": \"The ports a node has open for its processes\",\n \"type\": \"object\",\n \"required\": [\n \"handshake\",\n \"mempool\",\n \"pinger\",\n \"pool\",\n \"primary\",\n \"rpc\",\n \"worker\"\n ],\n \"properties\": {\n \"handshake\": {\n \"$ref\": \"#/components/schemas/HandshakePorts\"\n },\n \"mempool\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"pinger\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"pool\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"primary\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"rpc\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n },\n \"worker\": {\n \"type\": \"integer\",\n \"format\": \"uint16\",\n \"minimum\": 0\n }\n }\n },\n \"NodePublicKey\": {\n \"title\": \"NodePublicKey\",\n \"examples\": [\n \"F5tV4PLSzx1Lt4mYBe13aYQ8hsLMTCfjgY2pLr82AumH\"\n ],\n \"type\": \"string\"\n },\n \"NodeServed\": {\n \"type\": \"object\",\n \"required\": [\n \"served\",\n \"stables_revenue\"\n ],\n \"properties\": {\n \"served\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n },\n \"stables_revenue\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n }\n },\n \"NodeSignature\": {\n \"title\": \"NodeSignature\",\n \"examples\": [\n \"1111111111111111111111111111111111111111111111111111111111111111\"\n ],\n \"type\": \"string\"\n },\n \"PagingParams\": {\n \"type\": \"object\",\n \"required\": [\n \"ignore_stake\",\n \"limit\",\n \"start\"\n ],\n \"properties\": {\n \"ignore_stake\": {\n \"type\": \"boolean\"\n },\n \"limit\": {\n \"type\": \"integer\",\n \"format\": \"uint\",\n \"minimum\": 0\n },\n \"start\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n },\n \"Participation\": {\n \"description\": \"Indicates the participation status of a node.\",\n \"type\": \"string\",\n \"enum\": [\n \"True\",\n \"False\",\n \"OptedIn\",\n \"OptedOut\"\n ]\n },\n \"ProofOfConsensus\": {\n \"description\": \"Placeholder This is the proof used to operate our PoC bridges\",\n \"type\": \"object\"\n },\n \"ProofOfMisbehavior\": {\n \"description\": \"Placeholder This is the proof presented to the slashing function that proves a node misbehaved and should be slashed\",\n \"type\": \"string\",\n \"enum\": [\n \"Placeholder\"\n ]\n },\n \"ProtocolParams\": {\n \"description\": \"Adjustable parameters that are stored in the blockchain\",\n \"oneOf\": [\n {\n \"description\": \"The time in milliseconds that an epoch lasts for. Genesis 24 hours(86400)\",\n \"type\": \"string\",\n \"enum\": [\n \"EpochTime\"\n ]\n },\n {\n \"description\": \"The size of the committee\",\n \"type\": \"string\",\n \"enum\": [\n \"CommitteeSize\"\n ]\n },\n {\n \"description\": \"The amount of nodes allowed to participate in the network\",\n \"type\": \"string\",\n \"enum\": [\n \"NodeCount\"\n ]\n },\n {\n \"description\": \"The min FLK a node has to stake to participate in the network\",\n \"type\": \"string\",\n \"enum\": [\n \"MinimumNodeStake\"\n ]\n },\n {\n \"description\": \"The time in epochs a node has to be staked to participate in the network\",\n \"type\": \"string\",\n \"enum\": [\n \"EligibilityTime\"\n ]\n },\n {\n \"description\": \"The time in epochs a node has to wait to withdraw after unstaking\",\n \"type\": \"string\",\n \"enum\": [\n \"LockTime\"\n ]\n },\n {\n \"description\": \"The percentage of the reward pool the protocol gets\",\n \"type\": \"string\",\n \"enum\": [\n \"ProtocolShare\"\n ]\n },\n {\n \"description\": \"The percentage of the reward pool goes to edge nodes\",\n \"type\": \"string\",\n \"enum\": [\n \"NodeShare\"\n ]\n },\n {\n \"description\": \"The percentage of the reward pool goes to edge nodes\",\n \"type\": \"string\",\n \"enum\": [\n \"ServiceBuilderShare\"\n ]\n },\n {\n \"description\": \"The maximum target inflation rate in a year\",\n \"type\": \"string\",\n \"enum\": [\n \"MaxInflation\"\n ]\n },\n {\n \"description\": \"The max multiplier on rewards for locking\",\n \"type\": \"string\",\n \"enum\": [\n \"MaxBoost\"\n ]\n },\n {\n \"description\": \"The max amount of time tokens can be locked\",\n \"type\": \"string\",\n \"enum\": [\n \"MaxStakeLockTime\"\n ]\n },\n {\n \"description\": \"Minimum number of reported measurements that have to be available for a node. If less measurements have been reported, no reputation score will be computed in that epoch.\",\n \"type\": \"string\",\n \"enum\": [\n \"MinNumMeasurements\"\n ]\n }\n ]\n },\n \"PublicKeys\": {\n \"type\": \"object\",\n \"required\": [\n \"consensus_public_key\",\n \"node_public_key\"\n ],\n \"properties\": {\n \"consensus_public_key\": {\n \"$ref\": \"#/components/schemas/ConsensusPublicKey\"\n },\n \"node_public_key\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n },\n \"ReportedReputationMeasurements\": {\n \"type\": \"object\",\n \"required\": [\n \"measurements\",\n \"reporting_node\"\n ],\n \"properties\": {\n \"measurements\": {\n \"$ref\": \"#/components/schemas/ReputationMeasurements\"\n },\n \"reporting_node\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n },\n \"ReputationMeasurements\": {\n \"description\": \"Contains the peer measurements that node A has about node B, that will be taken into account when computing B's reputation score.\",\n \"type\": \"object\",\n \"properties\": {\n \"bytes_received\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"bytes_sent\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"hops\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint8\",\n \"minimum\": 0\n },\n \"inbound_bandwidth\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"interactions\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"int64\"\n },\n \"latency\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/Duration\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"outbound_bandwidth\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"uptime\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed2\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n }\n },\n \"Service\": {\n \"description\": \"Placeholder Information about the services\",\n \"type\": \"object\",\n \"required\": [\n \"commodity_type\",\n \"owner\",\n \"slashing\"\n ],\n \"properties\": {\n \"commodity_type\": {\n \"description\": \"the commodity that service is going to serve\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/CommodityTypes\"\n }\n ]\n },\n \"owner\": {\n \"description\": \"the owner address that deploys the service and also recieves reward share\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n ]\n },\n \"slashing\": {\n \"description\": \"TODO: List of circuits to prove a node should be slashed\",\n \"type\": \"null\"\n }\n }\n },\n \"Staking\": {\n \"description\": \"Struct that stores the information about the stake of amount of a node.\",\n \"type\": \"object\",\n \"required\": [\n \"locked\",\n \"locked_until\",\n \"stake_locked_until\",\n \"staked\"\n ],\n \"properties\": {\n \"locked\": {\n \"description\": \"How much FLK is locked pending withdraw\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"locked_until\": {\n \"description\": \"The epoch the locked FLK is eligible to be withdrawn\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"stake_locked_until\": {\n \"description\": \"The epoch until all stakes are locked for boosting rewards\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"staked\": {\n \"description\": \"How much FLK that is currently staked\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n }\n }\n },\n \"Tokens\": {\n \"type\": \"string\",\n \"enum\": [\n \"USDC\",\n \"FLK\"\n ]\n },\n \"TotalServed\": {\n \"type\": \"object\",\n \"required\": [\n \"reward_pool\",\n \"served\"\n ],\n \"properties\": {\n \"reward_pool\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n },\n \"served\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n }\n },\n \"TransactionRequest\": {\n \"oneOf\": [\n {\n \"type\": \"object\",\n \"required\": [\n \"UpdateRequest\"\n ],\n \"properties\": {\n \"UpdateRequest\": {\n \"$ref\": \"#/components/schemas/UpdateRequest\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"EthereumRequest\"\n ],\n \"properties\": {\n \"EthereumRequest\": {\n \"$ref\": \"#/components/schemas/EthersTransaction\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"TransactionSender\": {\n \"oneOf\": [\n {\n \"type\": \"object\",\n \"required\": [\n \"NodeConsensus\"\n ],\n \"properties\": {\n \"NodeConsensus\": {\n \"$ref\": \"#/components/schemas/ConsensusPublicKey\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"NodeMain\"\n ],\n \"properties\": {\n \"NodeMain\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"AccountOwner\"\n ],\n \"properties\": {\n \"AccountOwner\": {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"TransactionSignature\": {\n \"oneOf\": [\n {\n \"type\": \"object\",\n \"required\": [\n \"NodeConsensus\"\n ],\n \"properties\": {\n \"NodeConsensus\": {\n \"$ref\": \"#/components/schemas/ConsensusSignature\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"NodeMain\"\n ],\n \"properties\": {\n \"NodeMain\": {\n \"$ref\": \"#/components/schemas/NodeSignature\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"type\": \"object\",\n \"required\": [\n \"AccountOwner\"\n ],\n \"properties\": {\n \"AccountOwner\": {\n \"$ref\": \"#/components/schemas/AccountOwnerSignature\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"UpdateMethod\": {\n \"description\": \"All of the update functions in our logic, along their parameters.\",\n \"oneOf\": [\n {\n \"description\": \"The main function of the application layer. After aggregating ProofOfAcknowledgements a node will submit this transaction to get paid. Revisit the naming of this transaction.\",\n \"type\": \"object\",\n \"required\": [\n \"SubmitDeliveryAcknowledgmentAggregation\"\n ],\n \"properties\": {\n \"SubmitDeliveryAcknowledgmentAggregation\": {\n \"type\": \"object\",\n \"required\": [\n \"commodity\",\n \"proofs\",\n \"service_id\"\n ],\n \"properties\": {\n \"commodity\": {\n \"description\": \"How much of the commodity was served\",\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n },\n \"metadata\": {\n \"description\": \"Optional metadata to provide information additional information about this batch\",\n \"type\": [\n \"array\",\n \"null\"\n ],\n \"items\": {\n \"type\": \"integer\",\n \"format\": \"uint8\",\n \"minimum\": 0\n }\n },\n \"proofs\": {\n \"description\": \"The PoD of delivery in bytes\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DeliveryAcknowledgmentProof\"\n }\n },\n \"service_id\": {\n \"description\": \"The service id of the service this was provided through(CDN, compute, ect.)\",\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Withdraw tokens from the network back to the L2\",\n \"type\": \"object\",\n \"required\": [\n \"Withdraw\"\n ],\n \"properties\": {\n \"Withdraw\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"receiving_address\",\n \"token\"\n ],\n \"properties\": {\n \"amount\": {\n \"description\": \"The amount to withdraw.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"receiving_address\": {\n \"description\": \"The address to recieve these tokens on the L2\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n ]\n },\n \"token\": {\n \"description\": \"Which token to withdraw.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Tokens\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Submit of PoC from the bridge on the L2 to get the tokens in network\",\n \"type\": \"object\",\n \"required\": [\n \"Deposit\"\n ],\n \"properties\": {\n \"Deposit\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"proof\",\n \"token\"\n ],\n \"properties\": {\n \"amount\": {\n \"description\": \"Amount bridged\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"proof\": {\n \"description\": \"The proof of the bridge recieved from the L2,\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/ProofOfConsensus\"\n }\n ]\n },\n \"token\": {\n \"description\": \"Which token was bridged\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Tokens\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Transfer tokens to another address\",\n \"type\": \"object\",\n \"required\": [\n \"Transfer\"\n ],\n \"properties\": {\n \"Transfer\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"to\",\n \"token\"\n ],\n \"properties\": {\n \"amount\": {\n \"description\": \"The amount to transfer\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"to\": {\n \"description\": \"The address to transfer to\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n }\n ]\n },\n \"token\": {\n \"description\": \"Which token to transfer\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/Tokens\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Stake FLK in network\",\n \"type\": \"object\",\n \"required\": [\n \"Stake\"\n ],\n \"properties\": {\n \"Stake\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"node_public_key\"\n ],\n \"properties\": {\n \"amount\": {\n \"description\": \"Amount to stake\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n }\n ]\n },\n \"consensus_key\": {\n \"description\": \"Consensus Public Key\",\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/ConsensusPublicKey\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"node_domain\": {\n \"description\": \"Nodes primary internet address\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"format\": \"ip\"\n },\n \"node_public_key\": {\n \"description\": \"Node Public Key\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ]\n },\n \"ports\": {\n \"description\": \"internet address for workers mempool\",\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePorts\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"worker_domain\": {\n \"description\": \"internet address for the worker\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"format\": \"ip\"\n },\n \"worker_public_key\": {\n \"description\": \"Worker public Key\",\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Lock the current stakes to get boosted inflation rewards this is different than unstake and withdrawl lock\",\n \"type\": \"object\",\n \"required\": [\n \"StakeLock\"\n ],\n \"properties\": {\n \"StakeLock\": {\n \"type\": \"object\",\n \"required\": [\n \"locked_for\",\n \"node\"\n ],\n \"properties\": {\n \"locked_for\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"node\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Unstake FLK, the tokens will be locked for a set amount of time(ProtocolParameter::LockTime) before they can be withdrawn\",\n \"type\": \"object\",\n \"required\": [\n \"Unstake\"\n ],\n \"properties\": {\n \"Unstake\": {\n \"type\": \"object\",\n \"required\": [\n \"amount\",\n \"node\"\n ],\n \"properties\": {\n \"amount\": {\n \"$ref\": \"#/components/schemas/HpUfixed\"\n },\n \"node\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Withdraw tokens from a node after lock period has passed must be submitted by node owner but optionally they can provide a different public key to receive the tokens\",\n \"type\": \"object\",\n \"required\": [\n \"WithdrawUnstaked\"\n ],\n \"properties\": {\n \"WithdrawUnstaked\": {\n \"type\": \"object\",\n \"required\": [\n \"node\"\n ],\n \"properties\": {\n \"node\": {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n },\n \"recipient\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/EthAddress\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Sent by committee member to signal he is ready to change epoch\",\n \"type\": \"object\",\n \"required\": [\n \"ChangeEpoch\"\n ],\n \"properties\": {\n \"ChangeEpoch\": {\n \"type\": \"object\",\n \"required\": [\n \"epoch\"\n ],\n \"properties\": {\n \"epoch\": {\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Adding a new service to the protocol\",\n \"type\": \"object\",\n \"required\": [\n \"AddService\"\n ],\n \"properties\": {\n \"AddService\": {\n \"type\": \"object\",\n \"required\": [\n \"service\",\n \"service_id\"\n ],\n \"properties\": {\n \"service\": {\n \"$ref\": \"#/components/schemas/Service\"\n },\n \"service_id\": {\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Removing a service from the protocol\",\n \"type\": \"object\",\n \"required\": [\n \"RemoveService\"\n ],\n \"properties\": {\n \"RemoveService\": {\n \"type\": \"object\",\n \"required\": [\n \"service_id\"\n ],\n \"properties\": {\n \"service_id\": {\n \"description\": \"Service Id of the service to be removed\",\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Provide proof of misbehavior to slash a node\",\n \"type\": \"object\",\n \"required\": [\n \"Slash\"\n ],\n \"properties\": {\n \"Slash\": {\n \"type\": \"object\",\n \"required\": [\n \"node\",\n \"proof_of_misbehavior\",\n \"service_id\"\n ],\n \"properties\": {\n \"node\": {\n \"description\": \"The public key of the node that misbehaved\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/NodePublicKey\"\n }\n ]\n },\n \"proof_of_misbehavior\": {\n \"description\": \"Zk proof to be provided to the slash circuit\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/ProofOfMisbehavior\"\n }\n ]\n },\n \"service_id\": {\n \"description\": \"Service id of the service a node misbehaved in\",\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Report reputation measurements\",\n \"type\": \"object\",\n \"required\": [\n \"SubmitReputationMeasurements\"\n ],\n \"properties\": {\n \"SubmitReputationMeasurements\": {\n \"type\": \"object\",\n \"required\": [\n \"measurements\"\n ],\n \"properties\": {\n \"measurements\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/components/schemas/ReputationMeasurements\"\n }\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Change protocol parameters\",\n \"type\": \"object\",\n \"required\": [\n \"ChangeProtocolParam\"\n ],\n \"properties\": {\n \"ChangeProtocolParam\": {\n \"type\": \"object\",\n \"required\": [\n \"param\",\n \"value\"\n ],\n \"properties\": {\n \"param\": {\n \"$ref\": \"#/components/schemas/ProtocolParams\"\n },\n \"value\": {\n \"type\": \"integer\",\n \"format\": \"uint128\",\n \"minimum\": 0\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Opt out of participating in the network.\",\n \"type\": \"object\",\n \"required\": [\n \"OptOut\"\n ],\n \"properties\": {\n \"OptOut\": {\n \"type\": \"object\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Opt into participating in the network.\",\n \"type\": \"object\",\n \"required\": [\n \"OptIn\"\n ],\n \"properties\": {\n \"OptIn\": {\n \"type\": \"object\"\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Update the content registry.\\n\\nThe content registry records the contents that are being provided by the network and the corresponding nodes that are providing that content.\",\n \"type\": \"object\",\n \"required\": [\n \"UpdateContentRegistry\"\n ],\n \"properties\": {\n \"UpdateContentRegistry\": {\n \"type\": \"object\",\n \"required\": [\n \"updates\"\n ],\n \"properties\": {\n \"updates\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ContentUpdate\"\n }\n }\n }\n }\n },\n \"additionalProperties\": false\n },\n {\n \"description\": \"Increment the node nonce.\",\n \"type\": \"object\",\n \"required\": [\n \"IncrementNonce\"\n ],\n \"properties\": {\n \"IncrementNonce\": {\n \"type\": \"object\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"UpdatePayload\": {\n \"description\": \"The payload data of FN transaction\",\n \"type\": \"object\",\n \"required\": [\n \"chain_id\",\n \"method\",\n \"nonce\",\n \"sender\"\n ],\n \"properties\": {\n \"chain_id\": {\n \"description\": \"The chain ID.\",\n \"type\": \"integer\",\n \"format\": \"uint32\",\n \"minimum\": 0\n },\n \"method\": {\n \"description\": \"The transition function (and parameters) for this update request.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/UpdateMethod\"\n }\n ]\n },\n \"nonce\": {\n \"description\": \"The counter or nonce of this request.\",\n \"type\": \"integer\",\n \"format\": \"uint64\",\n \"minimum\": 0\n },\n \"sender\": {\n \"description\": \"The sender of the transaction.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/TransactionSender\"\n }\n ]\n }\n }\n },\n \"UpdateRequest\": {\n \"description\": \"An update transaction, sent from users to the consensus to migrate the application from one state to the next state.\",\n \"type\": \"object\",\n \"required\": [\n \"payload\",\n \"signature\"\n ],\n \"properties\": {\n \"payload\": {\n \"description\": \"The payload of an update request, which contains a counter (nonce), and the transition function itself.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/UpdatePayload\"\n }\n ]\n },\n \"signature\": {\n \"description\": \"The signature by the user signing this payload.\",\n \"allOf\": [\n {\n \"$ref\": \"#/components/schemas/TransactionSignature\"\n }\n ]\n }\n }\n }\n }\n }\n}"}}} \ No newline at end of file