diff --git a/openapi.json b/openapi.json index ea45fe8..0e523e7 100644 --- a/openapi.json +++ b/openapi.json @@ -1,7 +1,7 @@ { "openapi": "3.0.3", "info": { - "version": "0.4.1", + "version": "4.8.0", "title": "Flux", "contact": { "email": "tadeas@runonflux.io", @@ -856,6 +856,88 @@ } } }, + "/flux/entermaster": { + "get": { + "tags": [ + "Flux" + ], + "summary": "Switch to master branch of FluxOS", + "description": "Tries to switch to master branch of FluxOS. **Admin**", + "operationId": "FluxEnterMaster", + "security": [ + { + "ZelID": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/statusmessage" + } + } + }, + "example": { + "status": "success", + "data": { + "message": "Master branch successfully entered" + } + } + } + } + } + } + } + }, + "/flux/enterdevelopment": { + "get": { + "tags": [ + "Flux" + ], + "summary": "Switch to development branch of FluxOS", + "description": "Tries to switch to development branch of FluxOS. **Admin**", + "operationId": "FluxEnterDevelopment", + "security": [ + { + "ZelID": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/statusmessage" + } + } + }, + "example": { + "status": "success", + "data": { + "message": "Development branch successfully entered" + } + } + } + } + } + } + } + }, "/flux/reindexdaemon": { "get": { "tags": [ @@ -1312,6 +1394,41 @@ } } }, + "/flux/nodetier": { + "get": { + "tags": [ + "Flux" + ], + "summary": "Node Tier", + "description": "This call will display the tier of the node. **Public**", + "operationId": "getNodeTier", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "Node Tier" + } + } + }, + "example": { + "status": "success", + "data": "cumulus" + } + } + } + } + } + } + }, "/flux/info": { "get": { "tags": [ @@ -1670,14 +1787,94 @@ } } }, - "/flux/zelid": { + "/flux/staticip": { + "get": { + "tags": [ + "Flux" + ], + "summary": "Flux static IP status", + "description": "This will return `true` if FluxNode is running under a known static ip ISP/Org. **Public**", + "operationId": "getFluxStaticIP", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "boolean", + "description": "static ip ISP/Org or not" + } + } + }, + "example": { + "status": "success", + "data": true + } + } + } + } + } + } + }, + "/flux/geolocation": { + "get": { + "tags": [ + "Flux" + ], + "summary": "Geolocation info", + "description": "This will return geolocation info. **Public**", + "operationId": "getFluxGeolocation", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object" + } + } + }, + "example": { + "status": "success", + "data": { + "ip": "148.113.135.234", + "continent": "North America", + "continentCode": "NA", + "country": "Canada", + "countryCode": "CA", + "region": "QC", + "regionName": "Quebec", + "lat": 45.3151, + "lon": -73.8779, + "org": "OVH Hosting, Inc" + } + } + } + } + } + } + } + }, + "/flux/id": { "get": { "tags": [ "Flux" ], "summary": "Admin's ZelID", "description": "This will return with the admin's ZelID. **Public**", - "operationId": "getFluxZelID", + "operationId": "getFluxID", "responses": { "200": { "description": "OK", @@ -1705,6 +1902,76 @@ } } }, + "/flux/pgp": { + "get": { + "tags": [ + "Flux" + ], + "summary": "PGP identity", + "description": "This will return node pgp public key. **Public**", + "operationId": "getPgp", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "Pgp public key" + } + } + }, + "example": { + "status": "success", + "data": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nxjMEZOMsEBYJKwYBBAHaRw8BAQdAqjIh7dGGpEwo2bHAJKPnZJLclDSKPysv\ngmK3Va+8fcPNdDFlN2U1ODU0YjdlMjk4OWU5NTNlMTA1MGY0MGFmY2YzYWUz\nZDQ3ZThlNWI1NDgyZWYyZWViNWZkNTY2ZmNmMmE6MCA8MUhXalE5UzNNeXpW\nNkVidERNRWtwSG0zMXBhcnlhNDEyTkBydW5vbmZsdXguaW8+wowEEBYKAD4F\ngmTjLBAECwkHCAmQSQ3C8FnVJhkDFQgKBBYAAgECGQECmwMCHgEWIQQAyk4E\nGn08EnjEMCtJDcLwWdUmGQAAC2QBANAEdUdQEUTLQNYnGRzrCvqzBqdPGbJT\n/zW0nyF8ZLJgAP9pS8OLA3eoYzkhoJKuOn4qcUr48PcBcGzEIpgZFKPPBM44\nBGTjLBASCisGAQQBl1UBBQEBB0AoXsfprvNft3PNBsCPz9VMl8e342PDq91X\nVJeSeBnCSAMBCAfCeAQYFggAKgWCZOMsEAmQSQ3C8FnVJhkCmwwWIQQAyk4E\nGn08EnjEMCtJDcLwWdUmGQAATboA/3hxWLcTxPRQokx+BlcIXHuRu3fK9cnj\nUW6j9M99t6hTAQDDdiNNDAEIOnWXBr1NZiD3iqhPv5zOkLDRtpyw+7NGCw==\n=crwl\n-----END PGP PUBLIC KEY BLOCK-----\n" + } + } + } + } + } + } + }, + "/flux/kadena": { + "get": { + "tags": [ + "Flux" + ], + "summary": "Kadena Info", + "description": "This call will display the user's Kadena address and chain ID. **Public**", + "operationId": "getFluxKadena", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "Kadena address and chain ID" + } + } + }, + "example": { + "status": "success", + "data": "kadena:k:7a1529b3a07fate32d75684ab20bdde61545d60f1c6bcbf2489fef857a316652?chainid=0" + } + } + } + } + } + } + }, "/flux/cruxid": { "get": { "tags": [ @@ -1761,16 +2028,14 @@ }, "data": { "type": "object", - "items": { - "properties": { - "dosState": { - "type": "integer", - "description": "Status number" - }, - "dosMessage": { - "type": "string", - "description": "Explanation of status" - } + "properties": { + "dosState": { + "type": "integer", + "description": "Status number" + }, + "dosMessage": { + "type": "string", + "description": "Explanation of status" } } } @@ -2097,20 +2362,54 @@ } } }, - "/flux/broadcastmessage": { - "post": { + "/flux/uptime": { + "get": { "tags": [ "Flux" ], - "summary": "Broadcast message to peers", - "description": "Broadcast data message to peers that are connected. **AdminAndFluxTeam**", - "operationId": "broadcastMessageFromUserPost", - "security": [ - { - "ZelID": [] - } - ], - "requestBody": { + "summary": "FluxOS uptime", + "description": "Return FluxOS uptime in seconds. **Public**", + "operationId": "FluxUptime", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "integer" + } + } + }, + "example": { + "status": "success", + "data": 467 + } + } + } + } + } + } + }, + "/flux/broadcastmessage": { + "post": { + "tags": [ + "Flux" + ], + "summary": "Broadcast message to peers", + "description": "Broadcast data message to peers that are connected. **AdminAndFluxTeam**", + "operationId": "broadcastMessageFromUserPost", + "security": [ + { + "ZelID": [] + } + ], + "requestBody": { "required": true, "content": { "text/plain": { @@ -2711,111 +3010,6 @@ } } }, - "/flux/nodetier": { - "get": { - "tags": [ - "Flux" - ], - "summary": "Node Tier", - "description": "This call will display the tier of the node. **Public**", - "operationId": "getNodeTier", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "status": { - "$ref": "#/components/schemas/status" - }, - "data": { - "type": "string", - "description": "Node Tier" - } - } - }, - "example": { - "status": "success", - "data": "cumulus" - } - } - } - } - } - } - }, - "/flux/id": { - "get": { - "tags": [ - "Flux" - ], - "summary": "Admin's ZelID", - "description": "This will return with the admin's ZelID. **Public**", - "operationId": "getFluxID", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "status": { - "$ref": "#/components/schemas/status" - }, - "data": { - "type": "string", - "description": "ZelID" - } - } - }, - "example": { - "status": "success", - "data": "1CcoEkKQZcwUXPSps4bZJDjUM3mqe9bNXf" - } - } - } - } - } - } - }, - "/flux/kadena": { - "get": { - "tags": [ - "Flux" - ], - "summary": "Kadena Info", - "description": "This call will display the user's Kadena address and chain ID. **Public**", - "operationId": "getFluxKadena", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "status": { - "$ref": "#/components/schemas/status" - }, - "data": { - "type": "string", - "description": "Kadena address and chain ID" - } - } - }, - "example": { - "status": "success", - "data": "kadena:k:7a1529b3a07fate32d75684ab20bdde61545d60f1c6bcbf2489fef857a316652?chainid=0" - } - } - } - } - } - } - }, "/flux/adjustkadena": { "get": { "tags": [ @@ -4737,24 +4931,24 @@ } } }, - "/daemon/getblockhash": { + "/daemon/getblockdeltas": { "get": { "tags": [ "Daemon" ], - "summary": "Get block's hash", - "description": "Returns hash of block in best-block-chain at index provided. **Public**", - "operationId": "getBlockHash", + "summary": "Get block deltas data", + "description": "Returns data of block deltas. **Public**", + "operationId": "getblockdeltas", "parameters": [ { "in": "query", - "name": "index", + "name": "hash", "required": true, "schema": { - "type": "number" + "type": "string" }, - "description": "Block number to get hash of", - "example": 590823 + "description": "Block hash", + "example": "000000234b617194f3faff69ee62f0dde0115f2007c3b42e38eaba80c786a5e5" } ], "responses": { @@ -4769,161 +4963,5392 @@ "$ref": "#/components/schemas/status" }, "data": { - "type": "string", - "description": "Block hash" + "type": "object", + "description": "Block deltas information" } } }, "example": { "status": "success", - "data": "000000234b617194f3faff69ee62f0dde0115f2007c3b42e38eaba80c786a5e5" - } - } - } - } - } - } - }, - "/daemon/getblockheader": { - "get": { - "tags": [ - "Daemon" - ], - "summary": "Block header info", - "description": "Returns an Object with information about blockheader. **Public**", - "operationId": "getBlockHeader", - "parameters": [ - { - "in": "query", - "name": "hash", - "required": true, - "schema": { - "type": "string" - }, - "description": "Block hash to get header info from", - "example": "000000234b617194f3faff69ee62f0dde0115f2007c3b42e38eaba80c786a5e5" - }, - { - "in": "query", - "name": "verbose", - "schema": { - "default": true, - "type": "boolean", - "enum": [ - true, - false - ] - }, - "description": "If verbose is false, returns a string that is serialized,\nhex-encoded data for blockheader 'hash'. If verbose is true, returns\nan Object with information about blockheader hash.\n\n\nExample:\n\n- `hash`=``&`verbose`=`true`\n" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "status": { - "$ref": "#/components/schemas/status" - }, - "data": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "description": "Block hash" - }, - "confirmations": { - "type": "integer", - "description": "Number of confirmations" - }, - "height": { - "type": "integer", - "description": "Block height" - }, - "version": { - "type": "integer", - "description": "Block version" - }, - "merkleroot": { - "type": "string", - "description": "The merkle root" - }, - "finalsaplingroot": { - "type": "string", - "description": "The root of the Sapling commitment tree after applying this block" - }, - "time": { - "type": "integer", - "description": "The block time in seconds since epoch (Jan 1 1970 GMT)" - }, - "nonce": { - "type": "string", - "description": "The nonce" - }, - "solution": { - "type": "string", - "description": "The solution" - }, - "bits": { - "type": "string", - "description": "The bits" - }, - "difficulty": { - "type": "number", - "description": "The difficulty" - }, + "data": { + "hash": "000000234b617194f3faff69ee62f0dde0115f2007c3b42e38eaba80c786a5e5", + "confirmations": 861038, + "size": 23461, + "height": 590823, + "version": 4, + "merkleroot": "61d6664cb4e3575d4362f922316712fe647555c313ab6c4625bb368a93b40cf6", + "deltas": [ + { + "txid": "b8b7693c667f9bbfbd813894750ac9253d8adf55337dacea90d3a4c4082e0651", + "index": 0, + "inputs": [], + "outputs": [ + { + "address": "t1fMvBXaLzC9i6YKYnD3VCUZN2oifSsCZkx", + "satoshis": 11100011000, + "index": 0 + }, + { + "address": "t1PCxVydF7W4qqsJtNZmY4mGjifTDZLS5Pn", + "satoshis": 562500000, + "index": 1 + }, + { + "address": "t1frSzhh5TiWpfdZHcmr1ZVe2Eq29CWjbjN", + "satoshis": 937500000, + "index": 2 + }, + { + "address": "t1LaCpfmHx15cdpnhMh3tFHrey9eJyzfy9J", + "satoshis": 2250000000, + "index": 3 + }, + { + "address": "t1bdh6sfstXmVhZJrvtD2eSw4GBLKNw1qj8", + "satoshis": 150000000, + "index": 4 + } + ] + }, + { + "txid": "b82351bf0f579a3300878f6b11ba5a81b228c3605d66e7a0c57ccba4a1d4f117", + "index": 1, + "inputs": [ + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 0, + "prevtxid": "68329b05ef6a0ecac53f8dc172eea3c90be95654b344f04285b54a48b34f5900", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 1, + "prevtxid": "74b3e32fa7fd17ab6f37385293d78e031763106653036524993136069bb43905", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 2, + "prevtxid": "6190156195143119297cc2117d93cee1bcb40c66885db98151aa9159bec32307", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 3, + "prevtxid": "264f0b84b3f368c8199587c9017dfe4a4912a4a96f687e9e35a19fb6023c2a07", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 4, + "prevtxid": "04bf8b553c4897b48785ad76ceef8c6f6b1f5eaff6a50211df04fa5637266507", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 5, + "prevtxid": "dc23490d91a6d21819e4c4aa3eb4787bd506cbd1eb3fdce9f49cc2b1e25f1d09", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 6, + "prevtxid": "32349482da76f33a07dcf77f05214eda28864b0bb7fc3243ae66b08c95278d0a", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 7, + "prevtxid": "9811de062b884d2902dd9c3cfb1c2ccc3ae46131f23cd52fb2ffaf321c9ea30a", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 8, + "prevtxid": "917632c0a7c4f9b7131401cb6c1882063365f467ea972225e0090795d90c370e", + "prevout": 1 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 9, + "prevtxid": "c53705604881fe73da298c405ce41f74de31f17f4e98b78af8cc0f7ca69b4c10", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 10, + "prevtxid": "203a0ce6c83503b9c359aeccdbc48e109b25f03dcd6983acaefaafb422341712", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 11, + "prevtxid": "c3e4c3bb33f1c697a864af7f8ecb74d1a316bee0ccc39c8cf46c9ae561ad7c13", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 12, + "prevtxid": "b75b442636e5c5ee71edb7fd060b81d444d188e51fc04641a2e439c21784df14", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 13, + "prevtxid": "cea8e7955a4772f07a8c56e5cb6dd39547dbbf7a9fbcbaab5e6a6ada4ec08f16", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 14, + "prevtxid": "00551ad93ffe901250457e0a63729c1167771b23c6ab978b97fa0e27674c3a19", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 15, + "prevtxid": "ffe23d6383224f48dd5aa8c984e71abf8c70034c667255beb45eab5d2ea00823", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 16, + "prevtxid": "dd48d754664a5bece0d1b95df84ba5fe1f0057339b21a1d85f9f4d439715c524", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 17, + "prevtxid": "1609739b6231751f71225434026926b267b794100eb4da8c8bb0988398006d26", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 18, + "prevtxid": "bc8be8a4d023fe4751ab9db92f29cc6551fb72730ca703f028a2b5f1e38d0b29", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 19, + "prevtxid": "dfed73ecad925061d775f3ad4cefb5b1cc709d263efc4f519363b2055d3a462a", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 20, + "prevtxid": "dbc34e6af3cf12743bb74b1f4e0a2f11b9f84b844a80b0867aa293f3c6de762a", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 21, + "prevtxid": "fcf21266ddc20cf693fe88154eedaf52c3b8a96560f6d43dae8d0a39f2fd632d", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 22, + "prevtxid": "731320bac92bd36679a217b45afe7677eb546ca79c4b91d8fdc0149e1690542f", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 23, + "prevtxid": "7acfd073c3cefddb2221aa6870af0a0628d097a05bdcc10fecb03ec992ee6930", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 24, + "prevtxid": "b97bb189a8caf5646df5f96ab97cb69af759ff2a4b36fd4406d67e895aa88831", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 25, + "prevtxid": "463e2d4103784a7a97f58e6f758e588abeeb01a96bba0a4cbde0cc64f02d2332", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 26, + "prevtxid": "a635c16672fd90080ade2c8c6c94f4aa83933bb94ce7c915883957064f5db132", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 27, + "prevtxid": "909f0686d3f8c0efc9660bc829618aa46a47c1829a2d9787e8b9cb1ed0324633", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 28, + "prevtxid": "f29019e76826227983374183ec8d8f2361c420fef5e753cb4314e2c16a5ab734", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 29, + "prevtxid": "5c019c098309a323822dbcf79804d3c4ab27761b1b73af0092f69c81e86ec234", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 30, + "prevtxid": "fe5992dc1d6c3d4181faa16efc3004a3d81a9d9817da83b0288429607111a73b", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 31, + "prevtxid": "1ad63237e5b707260830372b68f4cdfba9b3377a85cabbef33e92907e2d7cf3e", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 32, + "prevtxid": "308ce26fed61cbc0e90c5f8967b897dee21fddfc5f13ba62d69833ee9e0d1a40", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 33, + "prevtxid": "f1458b6d5595e8bdadd66e9c90c1dc0c14e97b2f5fd1bcf4f5b91370d0e6e442", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 34, + "prevtxid": "a6673a84de23dcf6fa49afa989cadedac86db887479d6e9ca1ff0ef8f4c5e243", + "prevout": 1 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 35, + "prevtxid": "f3c505a7ca00bf36bdd146877a08a1b2362203029eefab351f789d71c1fb5947", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 36, + "prevtxid": "2a7405dc72421211dc343edb8b32bbff3f81ec558ea9165d40c2ef43a47c7b4c", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 37, + "prevtxid": "15f1b54b25a8dc541622f66ac523dfe5b57803899ab9b57be86dcb7906e2c14d", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 38, + "prevtxid": "6b2af13923f8d4a43563ec87f5f3064dec56b31c4f59832c29ecc9351f1a574e", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 39, + "prevtxid": "94736fcc556cfd74a7b1d239740d170c07a42eee5de4425e61de341fca62ee4e", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 40, + "prevtxid": "ef41b9360978da2d72e692bb593564f8fb428639a9c77a95736294ea220a374f", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 41, + "prevtxid": "973e8b215140ce4d1c89e69fcc8a303698654641db3f7b9e92ced4d9c66ee054", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 42, + "prevtxid": "010a2ddaa60607cd82f2e92e7471c18cb1c8ee2bf2ce520ca0c6204ca7ae7c59", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 43, + "prevtxid": "c7d670324f9f2fa7bfc49cb3f24f785dd73940a2545aa90b0b9a98bb78a33e5c", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 44, + "prevtxid": "4cbf610288e3c7b773e7ee5852337ec1bea0b66d21447303f575bfd11bfc765c", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 45, + "prevtxid": "205ae014f1becd352e82ad05ca014aa0de2252635aa0338e52c0cf9176e13160", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 46, + "prevtxid": "519cccafd7105e90b6b3f1cbb8d7a01c321203914b6afae4484f3fd7ddc53b60", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 47, + "prevtxid": "5c5a4bbfced49a6a6946203497db3cecce025743b8f6a4252436787b3242f965", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 48, + "prevtxid": "8ceba4d4aace6ad6ec0d69c72a117314df3d22b41c69c0c4de2680e916bd3866", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 49, + "prevtxid": "5229c9f33de85ec37ab7fc0605f2db7afaa173036948e12b9e023c20aae6256f", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 50, + "prevtxid": "f3a973eb99c26de436a81d2ff4714b6614067b1290d97675b38edca47b91e571", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 51, + "prevtxid": "3fef77a58335857350ac5aa9ac12f77e11300d3ef1b281bd36f0d90f67ba5b72", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 52, + "prevtxid": "8cf05e22b8432f96d170c575d2d0d4d980678085e2cf6b6019856e00baadf572", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 53, + "prevtxid": "0c7cd11d614d05f5eff48d9fcc24726a8be833fa8a7b9c53012628c15188d473", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 54, + "prevtxid": "5f7eba6b3de93273c29e224d07abd324f2db37b33b046225fd39b6748b019674", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 55, + "prevtxid": "eb316ed163c9a36b87223ffe2cf3ce817573b1fcaf99468428c8bd43c01cb779", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 56, + "prevtxid": "c1df516de5ea35d75e53d597d142d56c7c0e0fbde2ad6bbf5f58402642d4477a", + "prevout": 1 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 57, + "prevtxid": "8cf5018925f2d37e537dae83849b78198085117545b7d626de7354f71e1ec17a", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 58, + "prevtxid": "381e53986aff4aba609f3dcfa0b32a9fdbac4f8b635afb4fa5d22968ce3ac97d", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 59, + "prevtxid": "dcce0155aa0ae56a98bbc090c9f94e978eaff0bfcb5955d8a221e160c96dfb7e", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 60, + "prevtxid": "69e2beda071dc3d035e29a8c64dc30c8d0d6f1d57b0794714481ce73914c5d80", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 61, + "prevtxid": "bfcd1c75f2c606d8e4174055228ff35a7d245bf1c3a99ccf1977f6ecaa231782", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 62, + "prevtxid": "d381d1f0caf6e7773b85604628d5774d1221e876565506b7742a0f1a6c88c582", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 63, + "prevtxid": "a5a86f133ac49336227bdf7d29d4da4f91f2c504a05d2b1020988cbc81d55886", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 64, + "prevtxid": "25807684599c04ffa13aa59df1e00a31961be66e76cceee39e3d568b53401c88", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 65, + "prevtxid": "9d17a29800556375e8db0c11c090ced3153a4e53ab8101f8db0f0c0287f4e088", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 66, + "prevtxid": "be37bf9a9ac4569aa83e722d9d29e4b13b86c9b8e1c184b33a5482a932bbc78b", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 67, + "prevtxid": "c1ac1125ac90a221f988e93c880fc1c1a4ef271adbd5e914d356577a72591d8c", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 68, + "prevtxid": "a3851e2819566da37e3ffd4e6adc47634985660394ac6bc7e13c0edb8e56388c", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 69, + "prevtxid": "8ac14569bb75c4008bf3478a7a0ec1b387b578eca52ab70e4a5b5039a0d0348e", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 70, + "prevtxid": "165201561d1d52d12d785d3a09333ae7ea859baff55185d15f8ade8e0955728f", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 71, + "prevtxid": "e665bd27510d9240f674ad7d6a6e9422e5534d3ad4079623ae938da523a98a8f", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 72, + "prevtxid": "9663f7871d2ba5c50862a505b87dc66583880737975700e72d33a4a9711ffb8f", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 73, + "prevtxid": "0ea3d0d861d52555caa20d87472b6da32827ad8f40474277127f21a49aaf9490", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 74, + "prevtxid": "3f710f0a6f3b8fa6707a458accc7526ed1fc03762acebd7965d9290b4d143291", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 75, + "prevtxid": "4271c24a96962ecfe71ae5163be82e33ef57fe6bab113a2fafe2e2a7015b4c92", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 76, + "prevtxid": "de5d4a8a947787f47cf27a26797573dc899cdc7634e8f102616b452beca8e892", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 77, + "prevtxid": "611dd75d1f2a81569f21028283ff1b3dd865376cafff30ccde56375f2264b793", + "prevout": 1 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 78, + "prevtxid": "1b36777dffd7e1afefa0a03b4879cfabc8e3f3cab7c27f8ed87af816d7e92194", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 79, + "prevtxid": "851b66d51e32d29aa44f4df4ac7ba8b241e8889bed28ba68e1637ebc2585c194", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 80, + "prevtxid": "7b660c6b87247052652abb5b2b7810c4119a9b559824cec3d405a2fbba2fe99c", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 81, + "prevtxid": "e06d870352e059b478f374b794d1a8f5930c4d589a4983d2efc5e78ac7fcff9c", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 82, + "prevtxid": "3a182659a8efb0e86dd9e60e4fa3395fa337248c7ee4301553784595d1b3999d", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 83, + "prevtxid": "3960ab90c369d6fb45d90f2763235b0f0cfc953ce2ecd77c888f4ef05c5daf9d", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 84, + "prevtxid": "e85184cdc43723094c1b23ad3c595a161bd8cab981762786462e664ea3679da8", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 85, + "prevtxid": "e3aca715d67454c8410c5659fb1966a8f14530a37f406331168d7f581194caad", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 86, + "prevtxid": "08733cb51854888e901b13bb0941ebc56a2ee7c1ed259e45c8e54c203f99e8af", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 87, + "prevtxid": "b95a719fdf71d1d1f47c823d9a669344f6a7c117032e60350519279cf457fdaf", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 88, + "prevtxid": "52db6f174b5a424acd042c7efdcaee1d5608119855d69b567c0772d67bc029b0", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 89, + "prevtxid": "00bc38bcfb09fb26c632a2e3105845d8a2053bf22120c4e517f08d3d5b4c85b5", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 90, + "prevtxid": "589307060fd9bae994b110b20c6b5f5bb11ad52bb09f0e149482ec907a31d8b5", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 91, + "prevtxid": "2571bd66474a396f66549fcee9cd9a578bc3217632e13bd76336d43a9fa826b7", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 92, + "prevtxid": "ba1985dce84aa7c605a2c6459ce9286744c789606ef1cb8c41e4c475dc5b99b8", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 93, + "prevtxid": "6cac2506d5133ed78d668310ed725ba02187e8f55d864308794ff42e934df3ba", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 94, + "prevtxid": "cc9b71b5455d9d0bfbfc4d1209f8f9346d93847fed46da6ac458c086e01478c1", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 95, + "prevtxid": "f9795fbcd30a9cc6a40a007af64b03177d3a492ef7639182eaa3ad3871807ac1", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 96, + "prevtxid": "2228cef5eba9c574792de18a52b1bd6de6b7d34bf67a414b8153578e43f528c3", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 97, + "prevtxid": "1ba3d7308440d5af1c3ab6f70a2eaf3745cbf48275856537d49a78c5e32023c4", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 98, + "prevtxid": "8b5f789e8c2eb9cb3320f7550011552bee865b6a64bd374b55b2774ef5e765c4", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 99, + "prevtxid": "a1cff603c80695f27370062ab55be5f2b7579faa44f38504531a3eb37b9e15c5", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 100, + "prevtxid": "a11db96ce2c072b5f8c7711a075cb485a2dbdfa98f0a3db1e96b90e6d5538ec6", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 101, + "prevtxid": "d031ab964b86f78a2a022a0299bc4dd90a49cdbf3d7b2cb4c0dd56f55b465cc7", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 102, + "prevtxid": "94cde88ab4946cacc4afcd36629c42fc486fdb5730aa67b26cfff2014de4fdc7", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 103, + "prevtxid": "e12f88a5cca277d986d8315e4fb2e5b2b0eaf54beb317660c3a667cad992cac9", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 104, + "prevtxid": "7759fba3edfa77d799cf6731820d76cb5a73724f778fa4910d77649a52fb69ca", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 105, + "prevtxid": "0402647402f39d89d90c00b3202afe5cbcb69acebb4a677a193336ebc48dd6cf", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 106, + "prevtxid": "0ec2e08d1e7b043361180382caa6e820740cd50d89f415f0ef9bf6d18b357cd0", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 107, + "prevtxid": "9d781390ccdc9c6b1031cb000f220ecb0f0e571ea357062ae1ac99c3049a7ed0", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 108, + "prevtxid": "c2f16ae9bda641aac36ff103015dd115be30c7b20020dcf286f3758a16f1aed0", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 109, + "prevtxid": "3c6642139a2fb7f563c90ce978424322701a19ea152b9fdca80ba3556752e0d0", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 110, + "prevtxid": "aa17f9e86859078c54049109626a1fb595e032006fac0d45f8f721980004f7d4", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 111, + "prevtxid": "df7a375f69dbd416e83c96b8ed392fb941cdbc5f6948350fd85d56a4899b48d9", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 112, + "prevtxid": "997b5044382ebfd34e6984308da297880e7a1611c48591d0c116f9dcb6c9f6dc", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 113, + "prevtxid": "b83de450f63f4f9a21ee38c8553fb599ca177c1c414ce654460f19ba44ce1ade", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 114, + "prevtxid": "65a45dee417addd493e66a055267d6026aaa53798525afd0c06f7b59044c5fdf", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 115, + "prevtxid": "e76c6885d9d3e2adf5c9630c4ec6a358204da2edb3c1b3c289bd5d3a459612e0", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 116, + "prevtxid": "2fdcb71679b9ac4b7961b24c2ee1c5ac853319481fe6e7d126f10f3d75c61ce0", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 117, + "prevtxid": "72505e5c7b467c064520df692d76dbafffa20a865549d10db758d38d61d590e0", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 118, + "prevtxid": "ee669de4d85e550e345324174b2721770b7e482cb30de0149dad6c1b2acf7ee1", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 119, + "prevtxid": "d62ee3ec7041c36ddf315e5db15ad8f062780f1ec5f0327cc982c713febb0be2", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 120, + "prevtxid": "ef799b7dddd324b927e09c0842927694299dda438342c2effd3834c0b3b4f3e2", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 121, + "prevtxid": "b55749d5afc1c13cd8638ec50a1dc88ce6f5e58b77cbfbf3645e165d06a5ffe4", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 122, + "prevtxid": "cff19794e000ed502fd2e7bbfe9f6fc985612f49baf6728d2ff9e793eb2087e5", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 123, + "prevtxid": "32344a74f124f15dfd2004d79366a2afe3846616af4c2e1f358ba8dc005c8be7", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 124, + "prevtxid": "0a321fedb3a0d4ae26e2481bf50fe5091ab727a4095d834ccda5e9b6149f9be7", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 125, + "prevtxid": "f5aeb28b5ae6fb1a6190ed4d936594dce6fa3182d777aec2607da4ead53bb0e7", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 126, + "prevtxid": "25d02aecd4ed9d10af14ae2c536f18e493c53d293cee3b38e2d217298d6084eb", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 127, + "prevtxid": "7a96b4bdad80cefbfb7ef23036c92aa5d233379678ca27a4e347718c931e02ec", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 128, + "prevtxid": "ed7e97e1d29f224442a296f51a5081bef017a08736c172e9d611bf50cdf721ee", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 129, + "prevtxid": "7c60317c79beeef35f504ccf76b9fc6927aec3212f954008beb04e69e5dfcbf2", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 130, + "prevtxid": "d32d63cd19ea296d6a1a00537a23dd478d907b8d03a6282d8bd180f6bd86dff4", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 131, + "prevtxid": "6b9b9a3ac6c923690c31a2bc4b67ec2f87a7b78e8278fc38d64e09b00c353ff7", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 132, + "prevtxid": "d7e025178a5b347dd763682251cd7a5b05ecdf8f151239fb7e952e47a44adcf7", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 133, + "prevtxid": "5382b29982274c449490bce310b4e116f8d9860a944127527d47a6c45d683af8", + "prevout": 1 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 134, + "prevtxid": "51148c9dbb87107a94caadd3456e77e3361cf6aa609e3cc8b5636804d442c6f8", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 135, + "prevtxid": "e94654e1054029bc53c9b02d61d9cc0a79ef8c113e7c38f317cd29b308863ef9", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 136, + "prevtxid": "ac1adb65f3a9c468a21ed89e549108022e08104be1cd01e6d0b4fd986b5198fb", + "prevout": 2 + }, + { + "address": "t1Pebir9xZYvNAvvkxXtN1sCBTBQndC4W2X", + "satoshis": -937500000, + "index": 137, + "prevtxid": "134691b265aebb495325338dd3ff4f82543907fe779cbb327ec3d08228289efc", + "prevout": 2 + }, + { + "address": "t1MUY12dtkH2gq7ed35QTtFJdNa7Jo6NjU8", + "satoshis": -937500000, + "index": 138, + "prevtxid": "dead2bbe148516b73fe780c35a762496d7ed321bafbe989fed35813b2b91affc", + "prevout": 2 + } + ], + "outputs": [] + }, + { + "txid": "f62116d4ea25d0785ffcdd84fb0a207955455a4c5a875b2e0601c1021dc17fcc", + "index": 2, + "inputs": [], + "outputs": [ + { + "address": "t1KMNXV72S1HNfUHCUXVTQG5FmHtqtfcZV7", + "satoshis": 11099028048, + "index": 0 + } + ] + } + ], + "time": 1588559331, + "mediantime": 1588558714, + "nonce": "0000015f00000000000000000f00000000000000000000000000000091060078", + "bits": "1e00bb4f", + "difficulty": 2799.054701674626, + "chainwork": "000000000000000000000000000000000000000000000000000029acbb5b0dc9", + "previousblockhash": "00000099767337bdf22bdbb7354509a9ed760298facbdcd40339b96590f85e26", + "nextblockhash": "0000009370f976e1d8be1634d291832039803836e951804e965af9066e18bde7" + } + } + } + } + } + } + } + }, + "/daemon/getblockhash": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Get block's hash", + "description": "Returns hash of block in best-block-chain at index provided. **Public**", + "operationId": "getBlockHash", + "parameters": [ + { + "in": "query", + "name": "index", + "required": true, + "schema": { + "type": "number" + }, + "description": "Block number to get hash of", + "example": 590823 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "Block hash" + } + } + }, + "example": { + "status": "success", + "data": "000000234b617194f3faff69ee62f0dde0115f2007c3b42e38eaba80c786a5e5" + } + } + } + } + } + } + }, + "/daemon/getblockheader": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Block header info", + "description": "Returns an Object with information about blockheader. **Public**", + "operationId": "getBlockHeader", + "parameters": [ + { + "in": "query", + "name": "hash", + "required": true, + "schema": { + "type": "string" + }, + "description": "Block hash to get header info from", + "example": "000000234b617194f3faff69ee62f0dde0115f2007c3b42e38eaba80c786a5e5" + }, + { + "in": "query", + "name": "verbose", + "schema": { + "default": true, + "type": "boolean", + "enum": [ + true, + false + ] + }, + "description": "If verbose is false, returns a string that is serialized,\nhex-encoded data for blockheader 'hash'. If verbose is true, returns\nan Object with information about blockheader hash.\n\n\nExample:\n\n- `hash`=``&`verbose`=`true`\n" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "description": "Block hash" + }, + "confirmations": { + "type": "integer", + "description": "Number of confirmations" + }, + "height": { + "type": "integer", + "description": "Block height" + }, + "version": { + "type": "integer", + "description": "Block version" + }, + "merkleroot": { + "type": "string", + "description": "The merkle root" + }, + "finalsaplingroot": { + "type": "string", + "description": "The root of the Sapling commitment tree after applying this block" + }, + "time": { + "type": "integer", + "description": "The block time in seconds since epoch (Jan 1 1970 GMT)" + }, + "nonce": { + "type": "string", + "description": "The nonce" + }, + "solution": { + "type": "string", + "description": "The solution" + }, + "bits": { + "type": "string", + "description": "The bits" + }, + "difficulty": { + "type": "number", + "description": "The difficulty" + }, "chainwork": { "type": "string", - "description": "Chainwork hash" + "description": "Chainwork hash" + }, + "previousblockhash": { + "type": "string", + "description": "Hash of previous block" + }, + "nextblockhash": { + "type": "string", + "description": "Hash of next block" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "hash": "000000234b617194f3faff69ee62f0dde0115f2007c3b42e38eaba80c786a5e5", + "confirmations": 9, + "height": 590823, + "version": 4, + "merkleroot": "61d6664cb4e3575d4362f922316712fe647555c313ab6c4625bb368a93b40cf6", + "finalsaplingroot": "6cb83efd5da7b16b4ef0adf1ae285f96f9d95cd1becfc81421f77b12c56902d5", + "time": 1588559331, + "nonce": "0000015f00000000000000000f00000000000000000000000000000091060078", + "solution": "0633eb663b294a0dfc52d5b0d395e1f227397a8bdcdf9f8e1d5a0b3031f95d9a85c2854e6abdba5f9f972456b73a2ab62ee01d02", + "bits": "1e00bb4f", + "difficulty": 2799.054701674626, + "chainwork": "000000000000000000000000000000000000000000000000000029acbb5b0dc9", + "previousblockhash": "00000099767337bdf22bdbb7354509a9ed760298facbdcd40339b96590f85e26", + "nextblockhash": "0000009370f976e1d8be1634d291832039803836e951804e965af9066e18bde7" + } + } + } + } + } + } + } + }, + "/daemon/getchaintips": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "List of known chain tips", + "description": "Return information about all known tips in the block tree, including the main chain as well as orphaned branches. **Public**", + "operationId": "getChainTips", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "height": { + "type": "integer", + "description": "Height of chain tip" + }, + "hash": { + "type": "string", + "description": "Block hash of the tip" + }, + "branchlen": { + "type": "integer", + "description": "Length of branch connecting the tip to the main chain (0 if main chain)" + }, + "status": { + "type": "string", + "description": "Status of the chain" + } + } + } + } + } + }, + "example": { + "status": "success", + "data": [ + { + "height": 591079, + "hash": "0000006d4467655a996e7c6a4023fc6f99010a5474cf87eb08995cb66ca65312", + "branchlen": 0, + "status": "active" + }, + { + "height": 591062, + "hash": "000000aa6b44b3403e5623810c8193d87155444174841f7fc4b40256929eff1e", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 590420, + "hash": "0000002ee3a1bd1b4dcfbc6c025d133f325c6c8015cad3b9996df3c319162422", + "branchlen": 1, + "status": "headers-only" + }, + { + "height": 590237, + "hash": "00000053167551792a9e556813a021665c95dc8e41d0e2ee35287cc0df1e9a39", + "branchlen": 1, + "status": "valid-headers" + }, + { + "height": 573023, + "hash": "000000015b536301ce9335210590f0ceadc6ae081f2b228639c194cd4b88271d", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 567360, + "hash": "0000006656a0d8209a5c515f7f8967bb143d951cf8f3fed7c03d3cb0244e47ae", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 566803, + "hash": "0000001efb8e3485a385c12d1820645053082bf429413601deeb551d30be2786", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 559010, + "hash": "0000022ce968281284e2a503ce201ad55a8523d1f61f6309d84c917814ce382d", + "branchlen": 19, + "status": "headers-only" + }, + { + "height": 449023, + "hash": "0000005df6591ba59a041a88dfecd7dae6c00d95e210867d8de5d24538f73981", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 448329, + "hash": "00000042c175d0a58246f367012c429a3e7edc906a9fe75875ed239ef563a38c", + "branchlen": 2, + "status": "valid-fork" + }, + { + "height": 313888, + "hash": "00000016c58660e65feac88fbc40dd6ca3f34213de7648df716255fac99d3bff", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 309050, + "hash": "00000080b9a14c60174620f645f649e1b8bbfb40c2bdbedbf84f3dda7964f334", + "branchlen": 3, + "status": "valid-fork" + }, + { + "height": 287750, + "hash": "0000001e50fb6dd3b42f15c18f9b46958eb7a6649e2396c19157cb02cb11098d", + "branchlen": 3, + "status": "valid-fork" + }, + { + "height": 284893, + "hash": "0000006557265e2d68a78e5caf427fee238c6e137f4c9124254209a07cbb30b8", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 277682, + "hash": "000000278ca4049a8136aa4fa1e7a6b9c00b3e68505019d2976d7c66167c5142", + "branchlen": 34, + "status": "valid-fork" + }, + { + "height": 260586, + "hash": "00000006bec95249932f478f4db27bed24cf5d9b76c041914408af1392f29be1", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 260179, + "hash": "00000032788a700fbeef2e6383b424eceafc24a70346efbc2f62ee95cbcc9bfa", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 257167, + "hash": "000000276fa3e3557e6a0df594c3ea47477dab4626e0aed8c2964c428a1f7c3d", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 257125, + "hash": "0000004401ccecffe93f175b7c50f29611874e987d3206f005d55569fd3230ca", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 257081, + "hash": "0000001adc8175b757096f65628f77c9247f82defdb98813ab248e65a1cebc6e", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 254707, + "hash": "0000003cb3b61f89afa0864c1312ac75a97c3650c2026cda83e08a06c425d0de", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 253887, + "hash": "0000003a011c3fbb70f4216a14686012d89a2751cbd0c74053f81da91a9293a8", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 250987, + "hash": "00000007ecfee7a6d3bf783e86c56a251c4bd4cdc0258398b692a8f3fd9dbeed", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 250820, + "hash": "0000003262698472ae5b39955633527e8c8656e126ff90f94f2cb922cde8a9a0", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 250102, + "hash": "00000049f03f3402f094eee4c117072915f92fb352e87e0c59309096ebb877aa", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 249084, + "hash": "00000018432f23446500e0dcf39a02b59b3e8583f30c7329653d166c1deb3e85", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 248591, + "hash": "0000003d2b53e4899649ec2b259d9b6718cbe0e7d73cd0907b48d8f0b7341c11", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 248394, + "hash": "0000004445e61be219a7030c06db6c31eda0fa720b95740c1d85456b4dbff45e", + "branchlen": 1, + "status": "valid-fork" + }, + { + "height": 247501, + "hash": "000000640166be87a0d70d474389c934972ef0eca75977dae80e27a179fe16fc", + "branchlen": 1, + "status": "valid-fork" + } + ] + } + } + } + } + } + } + }, + "/daemon/getdifficulty": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Proof of work difficulty", + "description": "Returns the proof-of-work difficulty as a multiple of the minimum difficulty. **Public**", + "operationId": "getDifficulty", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "number", + "description": "Proof of work difficulty as a multiple" + } + } + }, + "example": { + "status": "success", + "data": 2572.645186022886 + } + } + } + } + } + } + }, + "/daemon/getmempoolinfo": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Memory pool info", + "description": "Returns details on the active state of the TX memory pool. **Public**", + "operationId": "getMempoolInfo", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "description": "Current tx count" + }, + "bytes": { + "type": "integer", + "description": "Sum of all tx sizes" + }, + "usage": { + "type": "integer", + "description": "Total memory usage for the mempool" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "size": 0, + "bytes": 0, + "usage": 0 + } + } + } + } + } + } + } + }, + "/daemon/getrawmempool": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Transaction ids in memory pool", + "description": "Returns all transaction ids in memory pool as a json array of string. **Public**", + "operationId": "getRawMemPool", + "parameters": [ + { + "in": "query", + "name": "verbose", + "schema": { + "default": false, + "type": "boolean", + "enum": [ + true, + false + ] + }, + "description": "True for a json object, false for array of transaction ids.\n" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "txid": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "description": "Transaction size in bytes" + }, + "fee": { + "type": "integer", + "description": "Transaction fee in FLUX" + }, + "time": { + "type": "integer", + "description": "Local time transaction entered pool in seconds since 1 Jan 1970 GMT" + }, + "height": { + "type": "integer", + "description": "Block height when transaction entered pool" + }, + "startingpriority": { + "type": "integer", + "description": "Priority when transaction entered pool" + }, + "currentpriority": { + "type": "integer", + "description": "Transaction priority now" + }, + "depends": { + "type": "array", + "items": { + "type": "string", + "description": "Unconfirmed transactions used as inputs for this transaction" + } + } + } + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "2c2a34b81eeba402270465d3dcc44d41ef31e4bf6cae5cc8e2aeea64d7fce829": { + "size": 4284, + "fee": 0.0001, + "time": 1588593142, + "height": 591102, + "startingpriority": 10000000000000000, + "currentpriority": 10000000000000000, + "depends": [] + }, + "5fbb025ff8a6f632b02545e353e15992e389ccd12dab2771f2d96c53c3e2382a": { + "size": 895, + "fee": 0.0001, + "time": 1588593155, + "height": 591102, + "startingpriority": 10000000000000000, + "currentpriority": 10000000000000000, + "depends": [] + }, + "afc2f6ff2b9a546a3e0c5ba951338043f9866f23ad53622c5cc3b97ae0c89281": { + "size": 198, + "fee": 0.0001, + "time": 1588592875, + "height": 591101, + "startingpriority": 0, + "currentpriority": 0, + "depends": [] + }, + "0e99affa132cfea43ad7f31923a00a4cab1ace5e7343b0e40dad346d94138fb8": { + "size": 198, + "fee": 0.0001, + "time": 1588593142, + "height": 591101, + "startingpriority": 0, + "currentpriority": 0, + "depends": [] + }, + "f2d51d5c678ea6a27670e3552b66adda606a43b57222ab6363ea0d2001c292c9": { + "size": 1189, + "fee": 0.0001, + "time": 1588593018, + "height": 591102, + "startingpriority": 10000000000000000, + "currentpriority": 10000000000000000, + "depends": [] + }, + "5af1b85af6e0e58e1ac00c5a93c51e0a6da927cdf8f9f981159acdf55fb382d2": { + "size": 2611, + "fee": 0.0001, + "time": 1588592924, + "height": 591102, + "startingpriority": 10000000000000000, + "currentpriority": 10000000000000000, + "depends": [] + } + } + } + } + } + } + } + } + }, + "/daemon/gettxout": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Transaction IDs in memory pool", + "description": "Returns all transaction ids in memory pool as a json array of string. **Public**", + "operationId": "getTxOut", + "parameters": [ + { + "in": "query", + "name": "txid", + "required": true, + "schema": { + "type": "string" + }, + "description": "The transaction id", + "example": "9e3cdde1b7c92728a1200a988bb046028fe93b9f1e15cc370974f7201d3d3a94" + }, + { + "in": "query", + "name": "n", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Vout value", + "example": 1 + }, + { + "in": "query", + "name": "includemempool", + "schema": { + "default": false, + "type": "boolean", + "enum": [ + true, + false + ] + }, + "description": "Whether to include the mempool.\n\nExample:\n- `txid`=``&`n`=``&`includemempool`=`true`\n" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "bestblock": { + "type": "string", + "description": "Block hash" + }, + "confirmations": { + "type": "integer", + "description": "The number of confirmations" + }, + "value": { + "type": "number", + "description": "The transaction value in FLUX" + }, + "scriptPubKey": { + "type": "object", + "properties": { + "asm": { + "type": "string", + "description": "Script public key" + }, + "hex": { + "type": "string", + "description": "Hex" + }, + "reqSigs": { + "type": "number", + "description": "Number of required signatures" + }, + "type": { + "type": "string", + "description": "The type, eg pubkeyhash" + }, + "addresses": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "version": { + "type": "integer", + "description": "The version number" + }, + "coinbase": { + "type": "boolean", + "description": "Coinbase or not" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "bestblock": "0000001dca878efaa3ae059492bd108cd2e53708325f609f21ffb948f8769115", + "confirmations": 9, + "value": 9.375, + "scriptPubkey": { + "asm": "OP_DUP OP_HASH160 961f695fbc075b7f99f0b45323206930340efc98 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914961f695fbc075b7f99f0b45323206930340efc9888ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "t1XZNzdMMDZ4QPRD2a6hHWQ4Mog3HF9mCMp" + ] + }, + "version": 4, + "coinbase": true + } + } + } + } + } + } + } + }, + "/daemon/gettxoutproof": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Hex-encoded proof of transaction", + "description": "Returns a hex-encoded proof that \"txid\" was included in a block. **Public**", + "operationId": "getTxOutProof", + "parameters": [ + { + "in": "query", + "name": "txids", + "required": true, + "schema": { + "type": "string" + }, + "description": "The transaction id or comma separated list of txids", + "example": "9e3cdde1b7c92728a1200a988bb046028fe93b9f1e15cc370974f7201d3d3a94" + }, + { + "in": "query", + "name": "blockhash", + "schema": { + "type": "string" + }, + "description": "If specified, looks for txid in the block with this hash", + "example": "000000142fc5a382f6db5895faa7e9519721be67560cfd0c2171634d541bc38e" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "A string that is a serialized, hex-encoded data for the proof" + } + } + }, + "example": { + "status": "success", + "data": "04000000e6f6eb7762f7970a06ad119590ba1882a30e290e3f6837cc64960f1b70000000fde035a9548fe35311b0212323eeeb9844c9ab093b24982d397fd94ab68f68725f44c0da150b3d68af0671dc272b007c4354a03d63298b00ad7700d4b818f70a4d0ab05eaca2001e0001b8750000000000000000000000000000000000000000000000003eae1205340a77b45fde07253220864115fe31c3a77f1e84b358edafad9929200de7c90f8d38878f423f9dc35266b6fd8280e56d3615b988540100000001fde035a9548fe35311b0212323eeeb9844c9ab093b24982d397fd94ab68f68720101" + } + } + } + } + } + } + }, + "/daemon/gettxoutsetinfo": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Unspent transaction output set info", + "description": "Returns statistics about the unspent transaction output set. **Public**", + "operationId": "getTxOutSetInfo", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "height": { + "type": "integer", + "description": "Current block" + }, + "bestblock": { + "type": "string", + "description": "Best block hash hex" + }, + "transactions": { + "type": "integer", + "description": "The number of transactions" + }, + "txouts": { + "type": "integer", + "description": "The number of output transactions" + }, + "bytes_serialized": { + "type": "integer", + "description": "The serialized size" + }, + "hash_serialized": { + "type": "string", + "description": "The serialized hash" + }, + "total_amount": { + "type": "number", + "description": "The total amount" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "height": 591140, + "bestblock": "0000005b43e6418210b25804493880c9834c2ae969bceb53f579282e6e077427", + "transactions": 320076, + "txouts": 2626978, + "bytes_serialized": 80210836, + "hash_serialized": "151a45f9f10274ebc622877355f6c64a5ae6a8561c186d2028cb32127d3bf093", + "total_amount": 99020653.199865 + } + } + } + } + } + } + } + }, + "/daemon/verifytxoutproof": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Verifies a proof", + "description": "Verifies that a proof points to a transaction in a block, returning the transaction it commits to and throwing an RPC error if the block is not in our best chain. **Public**", + "operationId": "verifyTxOutProof", + "parameters": [ + { + "in": "query", + "name": "proof", + "required": true, + "schema": { + "type": "string" + }, + "description": "The hex-encoded proof generated by gettxoutproof", + "example": "04000000e6f6eb7762f7970a06ad119590ba1882a30e290e3f6837cc64960f1b70000000fde035a9548fe35311b0212323eeeb9844c9ab093b24982d397fd94ab68f68725f44c0da150b3d68af0671dc272b007c4354a03d63298b00ad7700d4b818f70a4d0ab05eaca2001e0001b8750000000000000000000000000000000000000000000000003eae1205340a77b45fde07253220864115fe31c3a77f1e84b358edafad9929200de7c90f8d38878f423f9dc35266b6fd8280e56d3615b988540100000001fde035a9548fe35311b0212323eeeb9844c9ab093b24982d397fd94ab68f68720101" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "array", + "items": { + "type": "string", + "description": "Txid" + } + } + } + }, + "example": { + "status": "success", + "data": [ + "72688fb64ad97f392d98243b09abc94498ebee232321b01153e38f54a935e0fd" + ] + } + } + } + } + } + } + }, + "/daemon/getspentinfo": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Return spent info", + "description": "Return spent info. Transaction ID and index required as parameters. **Public**", + "operationId": "Getspentinfo", + "parameters": [ + { + "in": "query", + "name": "txid", + "required": true, + "schema": { + "type": "string" + }, + "description": "The transaction id", + "example": "9e3cdde1b7c92728a1200a988bb046028fe93b9f1e15cc370974f7201d3d3a94" + }, + { + "in": "query", + "name": "index", + "required": true, + "schema": { + "type": "integer" + }, + "description": "index", + "example": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object" + } + } + }, + "example": { + "status": "success", + "data": { + "txid": "83d91028a75ddc6ee79153f0c4babe4f13d5fbf2f6160ff861683d7098f1790e", + "index": 1, + "height": 590926 + } + } + } + } + } + } + } + }, + "/daemon/getblocksubsidy": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Block reward", + "description": "Returns block subsidy reward, taking into account the mining slow start of block at index provided. **Public**", + "operationId": "getBlockSubsidy", + "parameters": [ + { + "in": "query", + "name": "height", + "schema": { + "type": "string" + }, + "description": "The block height. If not provided, defaults to the current height of the chain.", + "example": 575000 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "miner": { + "type": "integer", + "description": "The mining reward amount in FLUX" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "miner": 150 + } + } + } + } + } + } + } + }, + "/daemon/getblocktemplate": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Data to construct a block", + "description": "It returns data needed to construct a block to work on. **Public**", + "operationId": "getBlockTemplate", + "parameters": [ + { + "in": "query", + "name": "jsonrequestobject", + "description": "If the request parameters include a 'mode' key, that is used\nto explicitly select between the default template request or a\nproposal. This must be set to \"template\" or omitted.\n\nFor the capabilities array of strings the following are the client side supported features.\n- `longpoll`\n- `coinbasetxn`\n- `coinbasevalue`\n- `proposal`\n- `serverlist`\n- `workid`\n", + "schema": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "If the request parameters include a 'mode' key, that is used to explicitly select between the default template request or a proposal. This must be set to \"template\" or omitted." + }, + "capabilities": { + "type": "array", + "items": { + "type": "string", + "description": "Client side supported feature.\n\n- longpoll\n- coinbasetxn\n- coinbasevalue\n- proposal\n- serverlist\n- workid\n" + } + } + } + }, + "example": { + "mode": "template", + "capabilities": [ + "proposal" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "capabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "type": "integer", + "description": "Version number" + }, + "previousblockhash": { + "type": "string", + "description": "Block hash of current highest block" + }, + "finalsaplingroothash": { + "type": "string", + "description": "Hash of the final sapling root" + }, + "transactions": { + "type": "array", + "items": { + "properties": { + "data": { + "type": "string", + "description": "Transaction data encoded in hexadecimal" + }, + "hash": { + "type": "string", + "description": "Hash/id encoded in little-endian hexadecimal" + }, + "depends": { + "type": "array", + "items": { + "type": "integer", + "description": "Transactions before this one (by 1-based index in transaction list) that must be present in the final block if this one is" + } + }, + "fee": { + "type": "integer", + "description": "Difference in value between transaction inputs and outputs(in Satoshis); for coinbase transactions, this is a negative number of the collected block fees (ie, not including the block subsidy); if key is not present, fee is unknown and client must not assume there isn't one" + }, + "sigops": { + "type": "integer", + "description": "Total number of SigOps, as counted for purposes of the block limits; if key is not present, sigop count is unknown and clients must not assume there aren't any" + }, + "required": { + "type": "boolean", + "description": "If provided and true, this transaction must be in the final block" + } + } + } + }, + "coinbasetxn": { + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "Transaction data encoded in hexadecimal" + }, + "hash": { + "type": "string", + "description": "Hash/id encoded in little-endian hexadecimal" + }, + "depends": { + "type": "array", + "items": { + "type": "integer", + "description": "Transactions before this one (by 1-based index in transaction list) that must be present in the final block if this one is" + } + }, + "fee": { + "type": "integer", + "description": "Difference in value between transaction inputs and outputs(in Satoshis); for coinbase transactions, this is a negative number of the collected block fees (ie, not including the block subsidy); if key is not present, fee is unknown and client must not assume there isn't one" + }, + "sigops": { + "type": "integer", + "description": "Total number of SigOps, as counted for purposes of the block limits; if key is not present, sigop count is unknown and clients must not assume there aren't any" + }, + "required": { + "type": "boolean", + "description": "If provided and true, this transaction must be in the final block" + } + } + }, + "longpollid": { + "type": "string", + "description": "Long polling id" + }, + "target": { + "type": "string", + "description": "The hash target" + }, + "mintime": { + "type": "integer", + "description": "The minimum timestamp appropriate for the next block time in seconds since epoch (Jan 1 1970 GMT)" + }, + "mutable": { + "type": "array", + "items": { + "type": "string", + "description": "A way the block template may be changed, e.g. time, transactions, prevblock" + } + }, + "noncerange": { + "type": "string", + "description": "A range of valid nonces" + }, + "sigoplimit": { + "type": "integer", + "description": "Limit of sigops in the blocks" + }, + "sizelimit": { + "type": "integer", + "description": "Limit of block size" + }, + "curtime": { + "type": "integer", + "description": "Current timestamp in seconds since epoch (Jan 1 1970 GMT)" + }, + "bits": { + "type": "string", + "description": "Compressed target of next block" + }, + "height": { + "type": "integer", + "description": "The height of the next block" + }, + "basic_fluxnode_address": { + "type": "string", + "description": "FLUX address" + }, + "basic_fluxnode_payout": { + "type": "integer", + "description": "Amount" + }, + "super_fluxnode_address": { + "type": "string", + "description": "FLUX address" + }, + "super_fluxnode_payout": { + "type": "integer", + "description": "Amount" + }, + "bamf_fluxnode_address": { + "type": "string", + "description": "FLUX address" + }, + "bamf_fluxnode_payout": { + "type": "integer", + "description": "Amount" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "capabilities": [ + "proposal" + ], + "version": 4, + "previousblockhash": "000000658616bec155572e8f1f8373d32267238f1afaf3b93fdbf71706436417", + "finalsaplingroothash": "5cd6119b539920ae7b373b85cdcc2299b4701a046e51240dc9258ca0d0a5c918", + "transactions": [ + { + "data": "050000000470561a8cf2d80e49eaed6d74782cc0c8a012a1d39a493d021a4ac50efe530a0400000000b068b05e010b68b05e010d39312e3233382e3130352e3330411b79e3112833b65ded5c5bf093a10086297eed5ec132c6627acecccd3368406fa83d9d5b6266639986e5a8670e4b0ae48ee1c4be9e607eaee4d2e8a8ca6815b578411b6f7121b06ae754770f9f9da616ed86ec71215e21ba7f483ebe1be8e49118e2722c8c45c89d751bf9c9c88f35c001a85bd17425b85167e960ca53ddce9cadafa4", + "hash": "1a4682d42a7c05054ab20f16c07a69cf93c53d790707988a961fc0aa2396d703", + "depends": [], + "fee": 0, + "sigops": 0 + }, + { + "data": "0400008085202f89000170a8464f010000001976a91490ae1d0392cc0d77d8dc7ac22f2161a7fc011f7088ac00000000ee05090058ac464f0100000002c9a84df2ebfaceb5b781b29f5cccd926881f7fdc22a3569eb4e3f52ecb6a91b57e26214c732ebd7ff20e3a3da7a6c71f0a0fea30e7bf7400ea6273f49394e152dbf79084a25447231a1547f55fecacc09adf1e5efed5bb39bfd330f7d43b37397b4dd57a38810248488fbff354be64ca982ffc4aa5a20b0f2be9421b17be6687aa447958c4706f7a38d1b7f4c4a26cfb671f9b755cb70d1a925ebed84051abeb1e421234acbeb78591f11296859d41dcb824e929d15c4062a027f32f396cff3f91d98fc92b776b9640437e6e1ae74fe62ff27fef677a3b8c35a9b398b00eb6fb0f16fe6108c4ced2c8a76f0c760eb3275e9b66fd87605a181ae982688b5d93115315e79e59189ab7abd5f21525f7f89b879fe6d97dcd88937d26970c6b8513ecd6e736148ae3e03fc61f5f651923d5994fac65cf8efe9b44548ebe1431027ed875e4495ddbc2bf8421b5d387fa679692f2e1b4cca70ae06693d7bbf67448ac0fe02f160c52952c5493bc23f56cbac4a5279e72d9d39fea76ea702e1f02476f059ff80f11c1b39f805ddab1705e6e3933b12d85df7d609a785bbc74fc0b8db6447e26214c732ebd7ff20e3a3da7a6c71f0a0fea30e7bf7400ea6273f49394e1528a9a70138419184d99a375e03a2b35d675d571edbbada814c909c2477c808e62d7fb06cfab8d3819e4ffe8270208e13c308796c24c01495b6c3984fb9c65e25a855b41b1c31fb7a5290c8d0532be8e1348f02065c8155f187990fed839812b485fa843776329b833087aeab4c15707ceaa7d1bc798b01fe3560bc6cd1fce303e9469525ce9b058940801c5a710b8f3c4ac6249aa3be797a625efc5ff3c7ac40704f02eadf30e883104f5f4a1e287ecfda2806311fce153dab5122dcf63bc8c075a3a1e7684cabad686bbda1e156f062da0f787ad8a85588688159f0f8c0b7453a005cfe181e8aaf3e28776d1f7f7d5ab0b4e3e2f365f41ef89301c7c6278fc1b929120a3a20ee54fad064ff52b9a152badee46b0ad61370667bd0bb2b3dab34178d6232c12dfcf5f1a3413f0ea74474678b05fe20f3fa9d0bc57fda979dd5e0101dc6ccdc8380ce5db926cd06e2d7a7ccb972923aaec2f54573033c5548d9cc1db9b80d58723b2737685608b08fbc064c78143dc385036a505d2cef5933a45cb45886308fd5b762ee49d448264ef4f7908d79a6528443f0c290aecdcc4da843b6d7f5be18b395fba03d778545df324f06796afc84666ea838c320912aebf9905a13189cfd77002cd8f81d3b0c5fc37078e4e3916e0ed142dd35d0c30fd98bf0cbb9bc359c05c9b940d0724fff4d0a14d86c6d8fa7b76b580d5ead667e252512ab28740d817967aa73e425551d7d68b318d515b86f89c5e471036b8f020ad04de9730af2f07e9b2cf98c1261cfe895a92558971000b3b110055aca51d3cc63dd347b39ca73d415135e608684a685235a10834ac2354ebcf068f56ea6874d8373850e9cd01f25b92735a21a3333dcf89c838a00a1ee2e6023ab3adddce55ecdd69ce7c0ad4deb46be2ac90d35103f1cbf29bb926948728de0a9ccaee62b1657798b178ef4e3c3783f65fc22d464b7572167430c4aeda88a65741c2ed4346e278c092958e2ef4a95a36fb38559962a064b51b8d2a5118f86b2c0af87b9e30bdb59e818a9a4e10c6f5e90610f3ca5d49ab802b73236f8c4c4940b3eb324f891e29dcb52b7774301131ba9cd19c7b3e608688da6828512beeb765022efb33a18d1c06fa72be61d069031e8c9bae91adbfefce323aac658b0a5572d703d938c7ad47ddca2d4139dbd36ab562f6393aff333e556a275d763504360850b7729257f34f3f5a7ec0d2d00a9f923db937a1ea186f1a2aeab93a6f26a642d00aa89ac335a3a67404954f0b967bab5b7168db3b052e29ca37de47fe441ce528ba7d866db6d74a129897d117c5f425098b0c6dd5d6fc95fa70b0de00d6cd0a2e509625cfff8fe8e02f422fbb085536611a203b08415bfc3da6b4cfeea96eddbb1e9ff89d399f5a1172e19a1b67c30c22e3b9d636675ff05b40168b9e6adad1024af37bbc4545689fbe19ecf0c42c33d9c833bb84fdc191399327819e4086c14c99fcbf7d1d4bcf9a17049d50a584c5eaee2ac055a9d907e6c6dcfb71a99714b165a17d244e05fafe75c641941d566200566209bb8dd2ca677997c88253748ba43f8274ed79ba4bc8fd55bd218fff66a8d41e7e1380ee331bbfe8d0f4af30a6078436008a5d9ff677e0e33c3506f406ca4324d2b2dfd1222695dcbd551429833a56952786369c9ff6337f4f98cb74129ab521923d7fa02a19141deef9537a21f2c7d1aa97e6c77e57806eb85780efa659ba2b61c34e041eabf3f4aaece1cd9d652b91b2f4d84217c6ca323591b5de95e145dde6d2d3d07257b426806b009559b900604b3983b5d15cf6fce2372675fb4da3e47fd1578642462afc24d0e7e3bcc810ffb80c20aaa5ade917d988e033e70702016a33628b3ed0d52ad89f09", + "hash": "16c3b8b299ebe6185fc6a15f73741430a54fe628c33b4b25e84471b0d1dece61", + "depends": [], + "fee": 1000, + "sigops": 1 + } + ], + "coinbasetxn": { + "data": "0400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff0503da050900ffffffff0468648d9e020000001976a914e210e47fc7fa4138c1dfd09358428e5421160c3b88aca0118721000000001976a9145bd98eb8a35c8c00cff5f0050ecd6e0ea4de66fd88ac601de137000000001976a9144dfad8f2081b808a2a9f9f16729e0a1fd5c6494b88ac80461c86000000001976a9144e5973f34e5cc452156126b541ca0c9bcaae91e488ac00000000000000000000000000000000000000", + "hash": "2aafbaa9024d62bb355951c877ca566b3883b182994297d7c581c365e5852702", + "depends": [], + "fee": 1000, + "sigops": 4, + "required": true + }, + "longpollid": "000000658616bec155572e8f1f8373d32267238f1afaf3b93fdbf7170643641717961", + "target": "000000c43b000000000000000000000000000000000000000000000000000000", + "mintime": 1588618940, + "mutable": [ + "time", + "transactions", + "prevblock" + ], + "noncerange": "00000000ffffffff", + "sigoplimit": 20000, + "sizelimit": 2000000, + "curtime": 1588619452, + "bits": "1e00c43b", + "height": 591322, + "miner_reward": 11250001000, + "basic_fluxnode_address": "t1SFG7xCkwWRP4tXhZrJmq7sWDFBniaNA16", + "basic_fluxnode_payout": 562500000, + "super_fluxnode_address": "t1QyvYHuxfw6MQB1nsSvDdBPcsXqWsYKYDr", + "super_fluxnode_payout": 937500000, + "bamf_fluxnode_address": "t1R1ssbaVXMZqbG8iwaD57xCS2w92pJefkw", + "bamf_fluxnode_payout": 2250000000 + } + } + } + } + } + } + } + }, + "/daemon/getlocalsolps": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Average solutions per second", + "description": "Returns the average local solutions per second since this node was started. **Public**", + "operationId": "getLocalSolPs", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "integer", + "description": "Average sols per second" + } + } + }, + "example": { + "status": "success", + "data": 0 + } + } + } + } + } + } + }, + "/daemon/getmininginfo": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Mining related info", + "description": "Returns a json object containing mining-related information. **Public**", + "operationId": "getMiningInfo", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "blocks": { + "type": "integer", + "description": "The current block" + }, + "currentblocksize": { + "type": "integer", + "description": "The last block size" + }, + "currentblocktx": { + "type": "integer", + "description": "The last block transaction" + }, + "difficulty": { + "type": "number", + "description": "The current difficulty" + }, + "errors": { + "type": "string", + "description": "Current errors" + }, + "genproclimit": { + "type": "integer", + "description": "The processor limit for generation. -1 if no generation. (see getgenerate or setgenerate calls)" + }, + "localsolps": { + "type": "integer", + "description": "The average local solution rate in Sol/s since this node was started" + }, + "networksolps": { + "type": "integer", + "description": "The estimated network solution rate in Sol/s" + }, + "networkhashps": { + "type": "integer", + "description": "The estimated network hash rate in Hash/s" + }, + "pooledtx": { + "type": "integer", + "description": "The size of the mem pool" + }, + "testnet": { + "type": "boolean", + "description": "If using testnet or not" + }, + "chain": { + "type": "string", + "description": "Current network name as defined in BIP70 (main, test, regtest)" + }, + "generate": { + "type": "boolean", + "description": "If the generation is on or off (see getgenerate or setgenerate calls" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "blocks": 591371, + "currentblocksize": 1000, + "currentblocktx": 0, + "difficulty": 3214.481774201274, + "errors": "", + "genproclimit": -1, + "localsolps": 0, + "networksolps": 188688, + "networkhashps": 188688, + "pooledtx": 78, + "testnet": false, + "chain": "main", + "generate": false + } + } + } + } + } + } + } + }, + "/daemon/getnetworkhashps": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Estimated network solutions", + "description": "Returns the estimated network solutions per second based on the last n blocks. **Public**", + "operationId": "getNetworkHashPs", + "parameters": [ + { + "in": "query", + "name": "blocks", + "schema": { + "default": 120, + "type": "integer" + }, + "description": "The number of blocks, or -1 for blocks over difficulty averaging window.", + "example": 200 + }, + { + "in": "query", + "name": "height", + "schema": { + "default": 1, + "type": "integer" + }, + "description": "To estimate at the time of the given height.", + "example": 575000 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "integer", + "description": "Estimated network solutions per second" + } + } + }, + "example": { + "status": "success", + "data": 189503 + } + } + } + } + } + } + }, + "/daemon/getnetworksolps": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Estimated network solutions", + "description": "Returns the estimated network solutions per second based on the last n blocks. **Public**", + "operationId": "getNetworkSolPs", + "parameters": [ + { + "in": "query", + "name": "blocks", + "schema": { + "default": 120, + "type": "integer" + }, + "description": "The number of blocks, or -1 for blocks over difficulty averaging window.", + "example": 200 + }, + { + "in": "query", + "name": "height", + "schema": { + "default": 1, + "type": "integer" + }, + "description": "To estimate at the time of the given height.", + "example": 575000 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "integer", + "description": "Estimated network solutions per second" + } + } + }, + "example": { + "status": "success", + "data": 189503 + } + } + } + } + } + } + }, + "/daemon/getconnectioncount": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Connection count", + "description": "The peer connection count. **Public**", + "operationId": "getConnectionCount", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "integer", + "description": "Connection count" + } + } + }, + "example": { + "status": "success", + "data": 22 + } + } + } + } + } + } + }, + "/daemon/getdeprecationinfo": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Deprecation info", + "description": "Returns an object containing current version and deprecation block height. Applicable only on mainnet. **Public**", + "operationId": "getDeprecationInfo", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "version": { + "type": "integer", + "description": "The server version" + }, + "subversion": { + "type": "string", + "description": "The server subversion string" + }, + "deprecationheight": { + "type": "integer", + "description": "The block height at which this version will deprecate and shut down" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "version": 4000150, + "subversion": "/MagicBean:4.0.1/", + "deprecationheight": 951040 + } + } + } + } + } + } + } + }, + "/daemon/getnettotals": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Network traffic info", + "description": "Returns information about network traffic, including bytes in, bytes out, and current time. **Public**", + "operationId": "getNetTotals", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "totalbytesrecv": { + "type": "integer", + "description": "Total bytes received" + }, + "totalbytessent": { + "type": "integer", + "description": "Total bytes sent" + }, + "timemillis": { + "type": "integer", + "description": "Total cpu time" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "totalbytesrecv": 27003767, + "totalbytessent": 115073751, + "timemillis": 1588626897371 + } + } + } + } + } + } + } + }, + "/daemon/getnetworkinfo": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Info regarding P2P network", + "description": "Returns an object containing various state info regarding P2P networking. **Public**", + "operationId": "getNetworkInfo", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "version": { + "type": "integer", + "description": "The server version" + }, + "subversion": { + "type": "string", + "description": "The server subversion string" + }, + "protocolversion": { + "type": "integer", + "description": "The protocol version" + }, + "localservices": { + "type": "string", + "description": "The services we offer to the network" + }, + "timeoffset": { + "type": "integer", + "description": "The time offset" + }, + "connections": { + "type": "integer", + "description": "Number of connections" + }, + "networks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Network (ipv4, ipv6 or onion)" + }, + "limited": { + "type": "boolean", + "description": "Is the network limited using -onlynet?" + }, + "reachable": { + "type": "boolean", + "description": "Is the network reachable?" + }, + "proxy": { + "type": "string", + "description": "The proxy that is used for this network, or empty if none" + }, + "proxy_randomize_credentials": { + "type": "boolean", + "description": "Does proxy randomize credentials?" + } + } + } + }, + "relayfee": { + "type": "number", + "description": "Minimum relay fee for non-free transactions in FLUX/kB" + }, + "localaddresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Network addess" + }, + "port": { + "type": "integer", + "description": "Network port" + }, + "score": { + "type": "integer", + "description": "Relative score" + } + } + } + }, + "warnings": { + "type": "string", + "description": "Any network warnings (such as alert messages)" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "version": 4000150, + "subversion": "/MagicBean:4.0.1/", + "protocolversion": 170016, + "localservices": 5, + "timeoffset": 0, + "connections": 28, + "networks": [ + { + "name": "ipv4", + "limited": false, + "reachable": true, + "proxy": "", + "proxy_randomize_credentials": false + }, + { + "name": "ipv6", + "limited": false, + "reachable": true, + "proxy": "", + "proxy_randomize_credentials": false + }, + { + "name": "onion", + "limited": true, + "reachable": false, + "proxy": "", + "proxy_randomize_credentials": false + } + ], + "relayfee": 0.000001, + "localaddresses": [ + { + "address": "96.30.196.88", + "port": 16125, + "score": 1433 + } + ], + "warnings": "" + } + } + } + } + } + } + } + }, + "/daemon/getpeerinfo": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Peer info", + "description": "Returns data about each connected network node as a json array of objects. **Public**", + "operationId": "getPeerInfo", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Peer index" + }, + "addr": { + "type": "string", + "description": "Ip address and port of the peer" + }, + "addrlocal": { + "type": "string", + "description": "Local address" + }, + "services": { + "type": "string", + "description": "The services offered" + }, + "lastsend": { + "type": "integer", + "description": "The time in seconds since epoch (Jan 1 1970 GMT) of the last send" + }, + "lastrecv": { + "type": "integer", + "description": "The time in seconds since epoch (Jan 1 1970 GMT) of the last receive" + }, + "bytessent": { + "type": "integer", + "description": "Total bytes sent" + }, + "bytesrecv": { + "type": "integer", + "description": "Total bytes recieved" + }, + "conntime": { + "type": "integer", + "description": "The connection time in seconds since epoch (Jan 1 1970 GMT)" + }, + "timeoffset": { + "type": "integer", + "description": "The time offset in seconds" + }, + "pingtime": { + "type": "number", + "description": "Png time" + }, + "version": { + "type": "integer", + "description": "The peer version" + }, + "subver": { + "type": "string", + "description": "The string version" + }, + "inbound": { + "type": "boolean", + "description": "Inbound (true) or Outbound (false)" + }, + "startingheight": { + "type": "integer", + "description": "The starting height (block) of the peer" + }, + "banscore": { + "type": "integer", + "description": "The ban score" + }, + "synced_headers": { + "type": "integer", + "description": "The last header we have in common with this peer" + }, + "synced_blocks": { + "type": "integer", + "description": "The last block we have in common with this peer" + }, + "inflight": { + "type": "array", + "items": { + "type": "integer", + "description": "The heights of blocks we're currently asking from this peer" + } + }, + "whitelisted": { + "type": "boolean", + "description": "Is peer whitelisted?" + } + } + } + } + } + }, + "example": { + "status": "success", + "data": [ + { + "id": 741, + "addr": "159.65.254.184:16125", + "addrlocal": "96.30.196.88:46270", + "services": 5, + "lastsend": 1588677108, + "lastrecv": 1588677108, + "bytessent": 1955685, + "bytesrecv": 2801490, + "conntime": 1588497832, + "timeoffset": 0, + "pingtime": 0.019793, + "version": 170016, + "subver": "/MagicBean:4.0.1(bitcore)/", + "inbound": false, + "startingheight": 590308, + "banscore": 90, + "synced_headers": 591801, + "synced_blocks": 591801, + "inflight": [], + "whitelisted": false + }, + { + "id": 847, + "addr": "116.203.52.168:16125", + "addrlocal": "96.30.196.88:58594", + "services": 5, + "lastsend": 1588677081, + "lastrecv": 1588677081, + "bytessent": 1281133, + "bytesrecv": 2176814, + "conntime": 1588519342, + "timeoffset": 0, + "pingtime": 0.107897, + "version": 170016, + "subver": "/MagicBean:4.0.1(bitcore)/", + "inbound": false, + "startingheight": 590491, + "banscore": 90, + "synced_headers": 591801, + "synced_blocks": 591801, + "inflight": [], + "whitelisted": false + } + ] + } + } + } + } + } + } + }, + "/daemon/listbanned": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Ban list", + "description": "List all banned IPs/Subnets. **Public**", + "operationId": "listBanned", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ip/subnet" + }, + "banned_until": { + "type": "integer", + "description": "The time in seconds since epoch (Jan 1 1970 GMT)" + } + } + } + } + } + }, + "example": { + "status": "success", + "data": [ + { + "address": "5.189.130.70/255.255.255.255", + "banned_until": 1588737697 + }, + { + "address": "46.4.142.199/255.255.255.255", + "banned_until": 1588474952 + }, + { + "address": "62.171.153.25/255.255.255.255", + "banned_until": 1588737698 + }, + { + "address": "62.171.166.168/255.255.255.255", + "banned_until": 1588745015 + } + ] + } + } + } + } + } + } + }, + "/daemon/createrawtransaction": { + "post": { + "tags": [ + "Daemon" + ], + "summary": "Create hex-encoded raw transaction", + "description": "Create a transaction spending the given inputs and sending to the given addresses. Returns hex-encoded raw transaction. Note that the transaction's inputs are not signed, and it is not stored in the wallet or transmitted to the network. **Public**", + "operationId": "createRawTransactionPost", + "requestBody": { + "required": true, + "content": { + "text/plain": { + "schema": { + "type": "object", + "properties": { + "transactions": { + "type": "array", + "items": { + "type": "object", + "description": "Objects pertaining to the transaction", + "properties": { + "txid": { + "type": "string", + "description": "The transaction id" + }, + "vout": { + "type": "integer", + "description": "The output index" + }, + "sequence": { + "type": "integer", + "description": "Sequence number (optional)" + } + } + } + }, + "addresses": { + "type": "object", + "description": "Object with addresses as keys and amounts as values" + }, + "locktime": { + "type": "integer", + "default": 0, + "description": "Raw locktime. Non-0 value also locktime-activates inputs. (optional)" + }, + "expiryheight": { + "type": "string", + "default": "Nextblockheight+20", + "description": "Expiry height of transaction (optional)" + } + } + }, + "example": { + "transactions": [ + { + "txid": "224225b04fd54e8653e7cd4440dd4596aab6eff8be8686bacfad9213172da4369f", + "vout": 0 + } + ], + "addresses": { + "t1JKRwXGfKTGfPV1z48rvoLyabk31z3xwHa": 112.5 + }, + "locktime": 10, + "expiryheight": 595000 + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "Hex string of the transaction" + } + } + }, + "example": { + "status": "success", + "data": "0400008085202f89019f36a42d171392adcfba8686bef8efb6aa9645dd4044cde753864ed54fb025420000000000feffffff0180608d9e020000001976a91404e2699cec5f44280540fb752c7660aa3ba857cc88ac01000000fb0809000000000000000000000000" + } + } + } + } + } + }, + "get": { + "tags": [ + "Daemon" + ], + "summary": "Create hex-encoded raw transaction", + "description": "Create a transaction spending the given inputs and sending to the given addresses. Returns hex-encoded raw transaction. Note that the transaction's inputs are not signed, and it is not stored in the wallet or transmitted to the network. **Public**", + "operationId": "createRawTransaction", + "parameters": [ + { + "in": "query", + "name": "transactions", + "description": "Array of objects key/value pairs:\n- `txid`: `` (required)\n- `vout`: `` (required)\n- `sequence`: `` (optional)\n\nUrl encoded example:\n- `transactions`=`%5B%7B%22txid%22%3A%224225b04fd54e8653e7cd4440dd4596aab6eff8be8686bacfad9213172da4369f%22%2C%22vout%22%3A0%7D%5D`\n", + "required": true, + "schema": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "txid": { + "type": "string", + "description": "Txid to use to get the raw data" + }, + "vout": { + "type": "integer", + "description": "The output number" + }, + "sequence": { + "type": "integer", + "description": "The sequence number (optional)" + } + } + } + }, + { + "type": "string", + "description": "Url encoded json" + } + ] + }, + "example": "[{\"txid\":\"4225b04fd54e8653e7cd4440dd4596aab6eff8be8686bacfad9213172da4369f\",\"vout\":0}]" + }, + { + "in": "query", + "name": "addresses", + "required": true, + "description": "Json object or url encoded json. The key is the Flux address, the value is the FLUX amount..\n\nUrl encoded example:\n- `addresses=%7B%22t1JKRwXGfKTGfPV1z48rvoLyabk31z3xwHa%22%3A112.50000000%7D`\n", + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + { + "type": "string", + "description": "Url encoded json" + } + ] + }, + "example": "{\"t1JKRwXGfKTGfPV1z48rvoLyabk31z3xwHa\":112.50000000}" + }, + { + "in": "query", + "name": "locktime", + "schema": { + "default": 0, + "type": "number" + }, + "description": "Raw locktime. Non-0 value also locktime-activates inputs.", + "example": 10 + }, + { + "in": "query", + "name": "expiryheight", + "schema": { + "default": "nextblockheight+20", + "type": "string" + }, + "description": "Expiry height of transaction (if Overwinter is active).", + "example": 595000 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "Hex string of the transaction" + } + } + }, + "example": { + "status": "success", + "data": "0400008085202f89019f36a42d171392adcfba8686bef8efb6aa9645dd4044cde753864ed54fb025420000000000feffffff0180608d9e020000001976a91404e2699cec5f44280540fb752c7660aa3ba857cc88ac01000000fb0809000000000000000000000000" + } + } + } + } + } + } + }, + "/daemon/decoderawtransaction": { + "post": { + "tags": [ + "Daemon" + ], + "summary": "Decoded info of the hex-encoded transaction", + "description": "Return a JSON object representing the serialized, hex-encoded transaction. **Public**", + "operationId": "decodeRawTransactionPost", + "requestBody": { + "required": true, + "content": { + "text/plain": { + "schema": { + "type": "object", + "properties": { + "hexstring": { + "type": "string", + "description": "Hex-encoded transaction" + } + } + }, + "example": { + "hexstring": "0400008085202f89019f36a42d171392adcfba8686bef8efb6aa9645dd4044cde753864ed54fb025420000000000feffffff0180608d9e020000001976a91404e2699cec5f44280540fb752c7660aa3ba857cc88ac01000000fb0809000000000000000000000000" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/decoderawtransaction" + } + } + }, + "example": { + "status": "success", + "data": { + "txid": "03c228785451de39ce396c85168c979a439dcb2037f92d0a57de81e6b1c9f3a4", + "version": 4, + "overwintered": true, + "versiongroupid": "892f2085", + "locktime": 1, + "expiryheight": 592123, + "vin": [ + { + "txid": "4225b04fd54e8653e7cd4440dd4596aab6eff8be8686bacfad9213172da4369f", + "vout": 0, + "scriptSig": { + "asm": "", + "hex": "" + }, + "sequence": 4294967295 + } + ], + "vout": [ + { + "value": 112.5001, + "valueZat": 11250010000, + "valueSat": 11250010000, + "n": 0, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 04e2699cec5f44280540fb752c7660aa3ba857cc OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a91404e2699cec5f44280540fb752c7660aa3ba857cc88ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "t1JKRwXGfKTGfPV1z48rvoLyabk31z3xwHa" + ] + } + } + ], + "vJoinSplit": [], + "valueBalance": 0, + "valueBalanceZat": 0, + "vShieldedSpend": [], + "vShieldedOutput": [] + } + } + } + } + } + } + }, + "get": { + "tags": [ + "Daemon" + ], + "summary": "Decoded info of the hex-encoded transaction", + "description": "Return a JSON object representing the serialized, hex-encoded transaction. **Public**", + "operationId": "decodeRawTransaction", + "parameters": [ + { + "in": "query", + "name": "hexstring", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hex-encoded transaction", + "example": "0400008085202f89019f36a42d171392adcfba8686bef8efb6aa9645dd4044cde753864ed54fb025420000000000feffffff0180608d9e020000001976a91404e2699cec5f44280540fb752c7660aa3ba857cc88ac01000000fb0809000000000000000000000000" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/decoderawtransaction" + } + } + }, + "example": { + "status": "success", + "data": { + "txid": "03c228785451de39ce396c85168c979a439dcb2037f92d0a57de81e6b1c9f3a4", + "version": 4, + "overwintered": true, + "versiongroupid": "892f2085", + "locktime": 1, + "expiryheight": 592123, + "vin": [ + { + "txid": "4225b04fd54e8653e7cd4440dd4596aab6eff8be8686bacfad9213172da4369f", + "vout": 0, + "scriptSig": { + "asm": "", + "hex": "" + }, + "sequence": 4294967295 + } + ], + "vout": [ + { + "value": 112.5001, + "valueZat": 11250010000, + "valueSat": 11250010000, + "n": 0, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 04e2699cec5f44280540fb752c7660aa3ba857cc OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a91404e2699cec5f44280540fb752c7660aa3ba857cc88ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "t1JKRwXGfKTGfPV1z48rvoLyabk31z3xwHa" + ] + } + } + ], + "vJoinSplit": [], + "valueBalance": 0, + "valueBalanceZat": 0, + "vShieldedSpend": [], + "vShieldedOutput": [] + } + } + } + } + } + } + } + }, + "/daemon/decodescript": { + "post": { + "tags": [ + "Daemon" + ], + "summary": "Decode hex script", + "description": "Decode a hex-encoded script. **Public**", + "operationId": "decodeScriptPost", + "requestBody": { + "required": true, + "content": { + "text/plain": { + "schema": { + "type": "object", + "properties": { + "hex": { + "type": "string", + "description": "Hex-encoded transaction" + } + } + }, + "example": { + "hex": "76a91404e2699cec5f44280540fb752c7660aa3ba857cc88ac" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/decodescript" + } + } + }, + "example": { + "status": "success", + "data": { + "asm": "OP_DUP OP_HASH160 04e2699cec5f44280540fb752c7660aa3ba857cc OP_EQUALVERIFY OP_CHECKSIG", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "t1JKRwXGfKTGfPV1z48rvoLyabk31z3xwHa" + ], + "p2sh": "t3U9WHvndqz58mHBX168iveW5E4xMdeBkWw" + } + } + } + } + } + } + }, + "get": { + "tags": [ + "Daemon" + ], + "summary": "Decode hex script", + "description": "Decode a hex-encoded script. **Public**", + "operationId": "decodeScript", + "parameters": [ + { + "in": "query", + "name": "hex", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hex-encoded transaction", + "example": "76a91404e2699cec5f44280540fb752c7660aa3ba857cc88ac" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/decodescript" + } + } + }, + "example": { + "status": "success", + "data": { + "asm": "OP_DUP OP_HASH160 04e2699cec5f44280540fb752c7660aa3ba857cc OP_EQUALVERIFY OP_CHECKSIG", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "t1JKRwXGfKTGfPV1z48rvoLyabk31z3xwHa" + ], + "p2sh": "t3U9WHvndqz58mHBX168iveW5E4xMdeBkWw" + } + } + } + } + } + } + } + }, + "/daemon/getrawtransaction": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Get raw transaction data", + "description": "Gets raw transaction data from the txid, if verbose=0 then only hex data of transaction is shown, if verbose=1 then it will return with object of info of txid. **Public**", + "operationId": "getRawTransaction", + "parameters": [ + { + "in": "query", + "name": "txid", + "required": true, + "schema": { + "type": "string" + }, + "description": "Txid to get raw tx data from", + "example": "1ed830027683e98c5670981ee983860485fce5132f30d9b6e8e248789c52c55d" + }, + { + "in": "query", + "name": "verbose", + "schema": { + "default": 0, + "type": "number" + }, + "description": "If verbose is not set or at 0 only hex-encoded data for the txid will return but if set at 1 it will return an object with info of the txid.", + "example": 1 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "hex": { + "type": "string", + "description": "The serialized, hex-encoded data for 'txid'" + }, + "txid": { + "type": "string", + "description": "The transaction id (same as provided)" + }, + "version": { + "type": "number", + "description": "The version" + }, + "overwintered": { + "type": "boolean", + "description": "The Overwintered flag" + }, + "versiongroupid": { + "type": "string", + "description": "The version group id" + }, + "locktime": { + "type": "number", + "description": "The lock time" + }, + "expiryheight": { + "type": "number", + "description": "Last valid block height for mining transaction" + }, + "vin": { + "type": "array", + "items": { + "type": "object", + "properties": { + "coinbase": { + "type": "string", + "description": "Coinbase hash" + }, + "sequence": { + "type": "number", + "description": "The script sequence number" + } + } + } + }, + "vout": { + "$ref": "#/components/schemas/vout" + }, + "vJoinSplit": { + "$ref": "#/components/schemas/joinsplit" + }, + "valueBalance": { + "type": "number", + "description": "The balance value of FLUX" + }, + "valueBalanceZat": { + "type": "integer", + "description": "The balance value of FLUX" + }, + "vShieldedSpend": { + "$ref": "#/components/schemas/shieldedspend" + }, + "vShieldedOutput": { + "$ref": "#/components/schemas/shieldedoutput" + }, + "bindingSig": { + "type": "string", + "description": "Binding signature" + }, + "blockhash": { + "type": "string", + "description": "The block hash" + }, + "height": { + "type": "integer", + "description": "Block height" + }, + "confirmations": { + "type": "integer", + "description": "The confirmations" + }, + "time": { + "type": "integer", + "description": "The transaction time in seconds since epoch (Jan 1 1970 GMT)" + }, + "blocktime": { + "type": "integer", + "description": "The block time in seconds since epoch (Jan 1 1970 GMT)" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "hex": "0400008085202f89010000000000000000000000000000000000000000000000000000000000000000ffffffff2003f2fa0800324d696e6572732068747470733a2f2f326d696e6572732e636f6dffffffff0490878d9e020000001976a91404e2699cec5f44280540fb752c7660aa3ba857cc88aca0118721000000001976a914a6886f088ddd5aa3d6027b6d826f912a7ba1c6b788ac601de137000000001976a9145227c99503eae5f10a7373a2b0f385c5cc01459a88ac80461c86000000001976a914c0cf057a7735c07aafb9b3d1ff158a775dffa82e88ac00000000000000000000000000000000000000", + "txid": "1ed830027683e98c5670981ee983860485fce5132f30d9b6e8e248789c52c55d", + "version": 4, + "overwintered": true, + "versiongroupid": "892f2085", + "locktime": 0, + "expiryheight": 0, + "vin": [ + { + "coinbase": "03f2fa0800324d696e6572732068747470733a2f2f326d696e6572732e636f6d", + "sequence": 4294967295 + } + ], + "vout": [ + { + "value": 112.5001, + "valueZat": 11250010000, + "valueSat": 11250010000, + "n": 0, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 04e2699cec5f44280540fb752c7660aa3ba857cc OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a91404e2699cec5f44280540fb752c7660aa3ba857cc88ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "t1JKRwXGfKTGfPV1z48rvoLyabk31z3xwHa" + ] + } + }, + { + "value": 5.625, + "valueZat": 562500000, + "valueSat": 562500000, + "n": 1, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 a6886f088ddd5aa3d6027b6d826f912a7ba1c6b7 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914a6886f088ddd5aa3d6027b6d826f912a7ba1c6b788ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "t1Z49cm5Wi5RaojyLopqCpjJpK18RXM1asy" + ] + } + }, + { + "value": 9.375, + "valueZat": 937500000, + "valueSat": 937500000, + "n": 2, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 5227c99503eae5f10a7373a2b0f385c5cc01459a OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914c0cf057a7735c07aafb9b3d1ff158a775dffa82e88ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "t1RN15YYt5vZqUoU3PGNCtnY1eDKRUs3pkE" + ] + } + }, + { + "value": 22.5, + "valueZat": 2250000000, + "valueSat": 2250000000, + "n": 3, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 c0cf057a7735c07aafb9b3d1ff158a775dffa82e OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914c0cf057a7735c07aafb9b3d1ff158a775dffa82e88ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "t1bT5kGPGLzkwkGxVtC96Toxv3AEm86AbAF" + ] + } + } + ], + "vJoinSplit": [], + "valueBalance": 0, + "valueBalanceZat": 0, + "vShieldedSpend": [], + "vShieldedOutput": [], + "blockhash": "0000008ac60c223e8f7d7ea458264ec308135bde7515ee1440a824ea76610b2d", + "height": 588530, + "confirmations": 403, + "time": 1588282383, + "blocktime": 1588282383 + } + } + } + } + } + } + } + }, + "/daemon/fundrawtransaction": { + "post": { + "tags": [ + "Daemon" + ], + "summary": "Add inputs to a transaction", + "description": "Add inputs to a transaction until it has enough in value to meet its out value. This will not modify existing inputs, and will add one change output to the outputs. Note that inputs which were signed may need to be resigned after completion since in/outputs have been added. The inputs added will not be signed, use signrawtransaction for that. **Public**", + "operationId": "fundRawTransactionPost", + "requestBody": { + "required": true, + "content": { + "text/plain": { + "schema": { + "type": "object", + "properties": { + "hex": { + "type": "string", + "description": "Hex-encoded transaction" + } + } + }, + "example": { + "hexstring": "0400008085202f8901ab719872dfea1b4f594049722a92efafa4695322d2c08654aafe98c6546066360000000000ffffffff0140420f00000000001976a9142e5db3157a9783c6208019323f2c3a02610826a988ac00000000a60a09000000000000000000000000" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/fundrawtransaction" + } + } + }, + "example": { + "status": "success", + "data": { + "hex": "0400008085202f8901ab719872dfea1b4f594049722a92efafa4695322d2c08654aafe98c6546066360000000000ffffffff0240420f00000000001976a9142e5db3157a9783c6208019323f2c3a02610826a988accb9de605000000001976a91496b7e557775f02097632e7f4a4e6157a77ec6a8088ac00000000a60a09000000000000000000000000", + "changepos": 1, + "fee": 0.00000245 + } + } + } + } + } + } + }, + "get": { + "tags": [ + "Daemon" + ], + "summary": "Add inputs to a transaction", + "description": "Add inputs to a transaction until it has enough in value to meet its out value. This will not modify existing inputs, and will add one change output to the outputs. Note that inputs which were signed may need to be resigned after completion since in/outputs have been added. The inputs added will not be signed, use signrawtransaction for that. **Public**", + "operationId": "fundRawTransaction", + "parameters": [ + { + "in": "query", + "name": "hexstring", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hex string of raw transaction", + "example": "0400008085202f8901ab719872dfea1b4f594049722a92efafa4695322d2c08654aafe98c6546066360000000000ffffffff0140420f00000000001976a9142e5db3157a9783c6208019323f2c3a02610826a988ac00000000a60a09000000000000000000000000" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/fundrawtransaction" + } + } + }, + "example": { + "status": "success", + "data": { + "hex": "0400008085202f8901ab719872dfea1b4f594049722a92efafa4695322d2c08654aafe98c6546066360000000000ffffffff0240420f00000000001976a9142e5db3157a9783c6208019323f2c3a02610826a988accb9de605000000001976a91496b7e557775f02097632e7f4a4e6157a77ec6a8088ac00000000a60a09000000000000000000000000", + "changepos": 1, + "fee": 0.00000245 + } + } + } + } + } + } + } + }, + "/daemon/sendrawtransaction": { + "post": { + "tags": [ + "Daemon" + ], + "summary": "Send raw transaction", + "description": "Submits raw transaction (serialized, hex-encoded) to local node and network. Also see createrawtransaction and signrawtransaction calls. **Public**", + "operationId": "sendRawTransactionPost", + "requestBody": { + "required": true, + "content": { + "text/plain": { + "schema": { + "type": "object", + "properties": { + "hexstring": { + "type": "string", + "description": "Hex-encoded transaction" + }, + "allowhighfees": { + "type": "boolean", + "default": false, + "description": "Allow high fees (optional)" + } + } + }, + "example": { + "hexstring": "0400008085202f8901ab719872dfea1b4f594049722a92efafa4695322d2c08654aafe98c654606636000000006b483045022100e5f02014419280a5c1ed1f94513e8e2bee83f6341863b304fe093dea897f4aa20220022a6e6004dbf1305197f4053bd9dd59e21abd23a31d0188d079eb72cab84e990121036b6a136ce869a0b400548a9126f06d96181ee974ff1c7f5a5e54e39b7f66be05ffffffff0140420f00000000001976a9142e5db3157a9783c6208019323f2c3a02610826a988ac00000000a60a09000000000000000000000000", + "allowhighfees": true + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "The transaction hash in hex" + } + } + }, + "example": { + "status": "success", + "data": "381bfe56a049208ff90356153f024395b7a74b5ec470d639dd7e6ffa4487b2fe" + } + } + } + } + } + }, + "get": { + "tags": [ + "Daemon" + ], + "summary": "Send raw transaction", + "description": "Submits raw transaction (serialized, hex-encoded) to local node and network. Also see createrawtransaction and signrawtransaction calls. **Public**", + "operationId": "sendRawTransaction", + "parameters": [ + { + "in": "query", + "name": "hexstring", + "required": true, + "schema": { + "type": "string" + }, + "description": "The hex string of the raw transaction", + "example": "0400008085202f8901ab719872dfea1b4f594049722a92efafa4695322d2c08654aafe98c654606636000000006b483045022100e5f02014419280a5c1ed1f94513e8e2bee83f6341863b304fe093dea897f4aa20220022a6e6004dbf1305197f4053bd9dd59e21abd23a31d0188d079eb72cab84e990121036b6a136ce869a0b400548a9126f06d96181ee974ff1c7f5a5e54e39b7f66be05ffffffff0140420f00000000001976a9142e5db3157a9783c6208019323f2c3a02610826a988ac00000000a60a09000000000000000000000000" + }, + { + "in": "query", + "name": "allowhighfees", + "schema": { + "default": false, + "type": "boolean", + "enum": [ + true, + false + ] + }, + "description": "Allow high fees.\n- `hexstring`=``&`allowhighfees`=`true`\n" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "The transaction hash in hex" + } + } + }, + "example": { + "status": "success", + "data": "381bfe56a049208ff90356153f024395b7a74b5ec470d639dd7e6ffa4487b2fe" + } + } + } + } + } + } + }, + "/daemon/createmultisig": { + "post": { + "tags": [ + "Daemon" + ], + "summary": "Create multi-sig address", + "description": "Creates a multi-signature address with n signature of n keys required. **Public**", + "operationId": "createMultiSigPost", + "requestBody": { + "required": true, + "content": { + "text/plain": { + "schema": { + "type": "object", + "properties": { + "n": { + "type": "integer", + "description": "The number of required signatures out of the n keys or addresses. Followed by Flux addresses in array of strings." + }, + "keys": { + "type": "array", + "description": "Array of keys which are Flux addresses or hex-encoded public keys", + "items": { + "type": "string", + "description": "Flux address or hex-encoded public key" + } + } + } + }, + "example": { + "n": 2, + "keys": [ + "t1XcXfRFSnSeYmf2mbsMHzHbV8Qo5Zhk817", + "t1RAxsCaeeqB2XbZqvYU87uTMo9K2RtcA9z" + ] + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/createmultisig" + } + } + }, + "example": { + "status": "success", + "data": { + "address": "t3Sia7BaQ6cYYxj31PJWfxhwZwZozNzk9N7", + "redeemScript": "52210353b1620689dc80w0d9b634616ec8566f80e22fec5edd1c8edf64a8a07babc41f2103450768e972919f7c82ca85d904daf1d3d5beabd25230aca4f363aecfa912457895cd" + } + } + } + } + } + } + }, + "get": { + "tags": [ + "Daemon" + ], + "summary": "Create multi-sig address", + "description": "Creates a multi-signature address with n signature of n keys required. **Public**", + "operationId": "createMultiSig", + "parameters": [ + { + "in": "query", + "name": "n", + "required": true, + "schema": { + "type": "integer" + }, + "description": "The number of required signatures out of the n keys or addresses. Followed by Flux addresses in array of strings.", + "example": 2 + }, + { + "in": "query", + "name": "keys", + "required": true, + "description": "A json array of keys which are Flux addresses or hex-encoded public keys.\n\nExample:\n- `[\"t1XcXfRFSnSeYmf2mbsMHzHbV8Qo5Zhk817\",\"t1RAxsCaeeqB2XbZqvYU87uTMo9K2RtcA9z\"]`\n", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/createmultisig" + } + } + }, + "example": { + "status": "success", + "data": { + "address": "t3Sia7BaQ6cYYxj31PJWfxhwZwZozNzk9N7", + "redeemScript": "52210353b1620689dc80w0d9b634616ec8566f80e22fec5edd1c8edf64a8a07babc41f2103450768e972919f7c82ca85d904daf1d3d5beabd25230aca4f363aecfa912457895cd" + } + } + } + } + } + } + } + }, + "/daemon/estimatefee": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Estimate fee nblocks", + "description": "Estimates the approximate fee per kilobyte needed for a transaction to begin confirmation within nblocks blocks. **Public**", + "operationId": "estimateFee", + "parameters": [ + { + "in": "query", + "name": "nblocks", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Number of nblocks", + "example": 5 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "integer", + "description": "Estimated fee-per-kilobyte -1.0 is returned if not enough transactions and blocks have been observed to make an estimate." + } + } + }, + "example": { + "status": "success", + "data": -1 + } + } + } + } + } + } + }, + "/daemon/estimatepriority": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Estimate priority nblocks", + "description": "Estimates the approximate priority a zero-fee transaction needs to begin confirmation within nblocks blocks. **Public**", + "operationId": "estimatePriority", + "parameters": [ + { + "in": "query", + "name": "nblocks", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Number of nblocks", + "example": 5 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "integer", + "description": "Estimated fee-per-kilobyte -1.0 is returned if not enough transactions and blocks have been observed to make an estimate." + } + } + }, + "example": { + "status": "success", + "data": 0 + } + } + } + } + } + } + }, + "/daemon/validateaddress": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Info of the Flux address", + "description": "Return information about the given Flux address. **Public**", + "operationId": "validateAddress", + "parameters": [ + { + "in": "query", + "name": "fluxaddress", + "required": true, + "schema": { + "type": "string" + }, + "description": "Flux address to validate", + "example": "t1N6mLX2A64QsyuLbYkfPZSrkLF86hxuuFe" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "isvalid": { + "type": "boolean", + "description": "If the address is valid or not. If not, this is the only property returned." + }, + "address": { + "type": "string", + "description": "The Flux address validated" + }, + "scriptPubKey": { + "type": "string", + "description": "The hex encoded scriptPubKey generated by the address" + }, + "ismine": { + "type": "boolean", + "description": "If the address is yours or not" + }, + "iswatchonly": { + "type": "boolean", + "description": "If address is watch only" + }, + "isscript": { + "type": "boolean", + "description": "If the key is a script" + }, + "pubkey": { + "type": "string", + "description": "The hex value of the raw public key" + }, + "iscompressed": { + "type": "boolean", + "description": "If the address is compressed" + }, + "account": { + "type": "string", + "description": "DEPRECATED. The account associated with the address, \"\" is the default account" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "isvalid": true, + "address": "t1N6mLX2A64QsyuLbYkfPZSrkLF86hxuuFe", + "scriptPubKey": "76a9142e5db3157a9783c6208019323f2c3a02610826a988ac", + "ismine": true, + "iswatchonly": false, + "isscript": false, + "pubkey": "036b6a136ce869a0b400548a9126f06d96181ee974ff1c7f5a5e54e39b7f66be05", + "iscompressed": true, + "account": "" + } + } + } + } + } + } + } + }, + "/daemon/verifymessage": { + "post": { + "tags": [ + "Daemon" + ], + "summary": "Verify a message", + "description": "Verify a signed message. **Public**", + "operationId": "verifyMessagePost", + "requestBody": { + "required": true, + "content": { + "text/plain": { + "schema": { + "type": "object", + "properties": { + "fluxaddress": { + "type": "string", + "description": "The Flux address to use for the signature" + }, + "signature": { + "type": "string", + "description": "The signature provided by the signer in base 64 encoding" + }, + "message": { + "type": "string", + "description": "The message that was signed" + } + } + }, + "example": { + "fluxadress": "t1N6mLX2A64QsyuLbYkfPZSrkLF86hxuuFe", + "signature": "H5j8AoJ+8VaEEJGgw846hSPQoq42X9yiLwn/Nab1pASBFcw8rj5k8J9xpKr1VzepMEOF2ProYxVsQ9i7xalH4Sk=", + "message": "helloworld" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "boolean", + "description": "If the signature is verified or not." + } + } + }, + "example": { + "status": "success", + "data": true + } + } + } + } + } + }, + "get": { + "tags": [ + "Daemon" + ], + "summary": "Verify a message", + "description": "Verify a signed message. **Public**", + "operationId": "verifyMessage", + "parameters": [ + { + "in": "query", + "name": "fluxaddress", + "required": true, + "schema": { + "type": "string" + }, + "description": "The Flux address to use for the signature", + "example": "t1N6mLX2A64QsyuLbYkfPZSrkLF86hxuuFe" + }, + { + "in": "query", + "name": "signature", + "required": true, + "schema": { + "type": "string" + }, + "description": "The signature provided by the signer in base 64 encoding", + "example": "H5j8AoJ+8VaEEJGgw846hSPQoq42X9yiLwn/Nab1pASBFcw8rj5k8J9xpKr1VzepMEOF2ProYxVsQ9i7xalH4Sk=" + }, + { + "in": "query", + "name": "message", + "required": true, + "schema": { + "type": "string" + }, + "description": "The message that was signed", + "example": "helloworld" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "boolean", + "description": "If the signature is verified or not." + } + } + }, + "example": { + "status": "success", + "data": true + } + } + } + } + } + } + }, + "/daemon/gettransaction": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Information about in-wallet transaction", + "description": "Get detailed information about in-wallet transaction. **Public**", + "operationId": "getTransaction", + "parameters": [ + { + "in": "query", + "name": "txid", + "required": true, + "schema": { + "type": "string" + }, + "description": "The transaction id", + "example": "36666054c698feaa5486c0d2225369a4afef922a724940594f1beadf729871ab" + }, + { + "in": "query", + "name": "includewatchonly", + "schema": { + "type": "boolean", + "default": false, + "enum": [ + true, + false + ] + }, + "description": "Whether to include watchonly addresses in balance calculation and\ndetails.\n\nExample:\n- `txid`=``&`includewatchonly`=`true`\n" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "The transaction amount in FLUX" + }, + "confirmations": { + "type": "number", + "description": "The number of confirmations" + }, + "blockhash": { + "type": "string", + "description": "The block hash" }, - "previousblockhash": { + "blockindex": { + "type": "number", + "description": "The block index" + }, + "blocktime": { + "type": "number", + "description": "The time in seconds since epoch (1 Jan 1970 GMT)" + }, + "expiryheight": { + "type": "number", + "description": "Last valid block height for mining transaction" + }, + "txid": { + "type": "number", + "description": "The transaction id" + }, + "walletconflicts": { + "$ref": "#/components/schemas/walletconflicts" + }, + "time": { + "type": "number", + "description": "The transaction time in seconds since epoch (1 Jan 1970 GMT)" + }, + "timereceived": { + "type": "number", + "description": "The time received in seconds since epoch (1 Jan 1970 GMT)" + }, + "vJoinSplit": { + "$ref": "#/components/schemas/joinsplit" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "account": { + "type": "string", + "description": "DEPRECATED. The account name involved in the transaction, can be \"\" for the default account" + }, + "address": { + "type": "string", + "description": "The Flux address involved in the transaction" + }, + "category": { + "type": "string", + "description": "The category, either send or receive" + }, + "amount": { + "type": "number", + "description": "The amount in FLUX" + }, + "vout": { + "type": "integer", + "description": "The vout value" + }, + "size": { + "type": "integer", + "description": "Size in bytes" + } + } + } + }, + "hex": { "type": "string", - "description": "Hash of previous block" + "description": "Raw data for transaction" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "amount": 1, + "confirmations": 703, + "blockhash": "0000007e647cbb9c30bafcae9b37349a64c93f33f0b76ffdcea99f48002e24ec", + "blockindex": 1, + "blocktime": 1588765867, + "expiryheight": 593098, + "txid": "36666054c698feaa5486c0d2225369a4afef922a724940594f1beadf729871ab", + "walletconflicts": [], + "time": 1588764826, + "timereceived": 1588764826, + "vJoinSplit": [], + "details": [ + { + "account": "", + "address": "t1N6mLX2A64QsyuLbYkfPZSrkLF86hxuuFe", + "category": "receive", + "amount": 1, + "vout": 0, + "size": 244 + } + ], + "hex": "0400008085202f8901fb81c640b6231d12a538a2cf59637d268ced324b300aaf99f0b00814f585e216000000006a4730440220353c7289e7d67585411016dd0472fb752c22160d9962f0551e58bb183a984bc8022005109fef7d31921a44b2fdf841b15869810497ff3e53df936d66a0650581f02b01210330bf3e5792efc2f011d9cb322f984617bb4a63d8ca751771febe5fc585ac9fcdffffffff0200e1f505000000001976a9142e5db3157a9783c6208019323f2c3a02610826a988ac399e42c7070000001976a914548c1a1bc9e10e79a5b6d27a44393240f41c175188ac00000000ca0c09000000000000000000000000" + } + } + } + } + } + } + } + }, + "/daemon/zvalidateaddress": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Information about given z address", + "description": "Return information about the given z address. **Public**", + "operationId": "zValidateAddress", + "parameters": [ + { + "in": "query", + "name": "zaddr", + "required": true, + "schema": { + "type": "string" + }, + "description": "The z address to validate", + "example": "za102nkanf5xu6asasvydwp3zlcuure23jqxxz0zqh9catfvc9cu0dfcvl35tz3qkf2q2cxc47g4mk" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "object", + "properties": { + "isvalid": { + "type": "boolean", + "description": "If the address is valid or not. If not, this is the only property returned." }, - "nextblockhash": { + "address": { "type": "string", - "description": "Hash of next block" + "description": "The z address validated" + }, + "type": { + "type": "string", + "description": "Sprout or Sapling" + }, + "diversifier": { + "type": "string", + "description": "The hex value of the diversifier, d" + }, + "diversifiedtransmissionkey": { + "type": "string", + "description": "The hex value of pk_d" + }, + "ismine": { + "type": "boolean", + "description": "If the address is yours or not" + } + } + } + } + }, + "example": { + "status": "success", + "data": { + "isvalid": true, + "address": "za102nkanf5xu6asasvydwp3zlcuure23jqxxz0zqh9catfvc9cu0dfcvl35tz3qkf2q2cxc47g4mk", + "type": "sapling", + "diversifier": "7aa76ecd343735d8760c23", + "diversifiedtransmissionkey": "6cb0022a5910c5a2f1339cdae3b8609656c7e502f1843140469507e7f88b185c", + "ismine": true + } + } + } + } + } + } + } + }, + "/daemon/getbenchmarks": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Benchmark results", + "description": "Return most recent benchmark results. **Public**", + "operationId": "getBenchmarks", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/getbenchmarks" + } + } + }, + "example": { + "status": "success", + "data": { + "ipaddress": "49.12.8.215", + "status": "CUMULUS", + "time": 1588852143, + "cores": 2, + "ram": 3.799999952316284, + "ssd": 0, + "hdd": 51.23081207275391, + "dd_write": 706.22802734375, + "eps": 163.5512084960938 + } + } + } + } + } + } + } + }, + "/daemon/getbenchstatus": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Bench status", + "description": "This will return the status of the node, what fluxbenchd determined the tier the server could pass for, and if Flux backend is connected. If any one of these return a negative result the FluxNode will fail to confirm. **Public**", + "operationId": "getBenchStatus", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/benchstatus" + } + } + }, + "example": { + "status": "success", + "data": { + "status": "online", + "benchmarking": "CUMULUS", + "flux": "connected" + } + } + } + } + } + } + } + }, + "/daemon/prioritisetransaction": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Priortise a transaction", + "description": "Accepts the transaction into mined blocks at a higher (or lower) priority. **User**", + "operationId": "prioritiseTransaction", + "security": [ + { + "ZelID": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "txid", + "required": true, + "schema": { + "type": "string" + }, + "description": "The transaction id", + "example": "22ab3d049154c7d4b0f04b381770c655564facdc896a4f7e97aa5662f57a58c6" + }, + { + "in": "query", + "name": "prioritydelta", + "required": true, + "schema": { + "type": "integer" + }, + "description": "The priority to add or subtract. The transaction selection algorithm considers the tx as it would have a higher priority. (priority of a transaction is calculated: coinage * value_in_satoshis / txsize)", + "example": 0 + }, + { + "in": "query", + "name": "feedelta", + "required": true, + "schema": { + "type": "integer" + }, + "description": "The fee value (in satoshis) to add (or subtract, if negative). The fee is not actually paid, only the algorithm for selecting transactions into a block considers the transaction as it would have paid a higher (or lower) fee.", + "example": 10000 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "boolean", + "description": "Returns true" + } + } + }, + "example": { + "status": "success", + "data": true + } + } + } + } + } + } + }, + "/daemon/reindex": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Reindex Flux daemon", + "description": "Tries to reindex Flux daemon running on the FluxNode the call is run against. Flux daemon is firstly stopped and then started with reindex flag. **Admin**", + "operationId": "reindexFlux", + "security": [ + { + "ZelID": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/statusmessage" + } + } + }, + "example": { + "status": "success", + "data": { + "message": "Flux successfully reindexing" + } + } + } + } + } + } + } + }, + "/daemon/stop": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Stop Flux daemon", + "description": "This will stop the Flux daemon from running. **Admin**", + "operationId": "stop", + "security": [ + { + "ZelID": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "Explanation of status" + } + } + }, + "example": { + "status": "success", + "data": "Stop Flux server" + } + } + } + } + } + } + }, + "/daemon/createfluxnodekey": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Create fluxnode private key", + "description": "Create a new fluxnode private key. **Admin**", + "operationId": "createFluxNodeKey", + "security": [ + { + "ZelID": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "string", + "description": "Fluxnode private key" + } + } + }, + "example": { + "status": "success", + "data": "5JwVKe7UH986ncSL2jG9KdUY2AuZUTDAkTsp4TZoGWdD5cLLiFR" + } + } + } + } + } + } + }, + "/daemon/listfluxnodeconf": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "The fluxnode conf file", + "description": "View fluxnode conf file in JSON format, this will return empty for most unless running a hot wallet. **Admin**", + "operationId": "listFluxNodeConf", + "security": [ + { + "ZelID": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "alias": { + "type": "string", + "description": "Alias name" + }, + "status": { + "type": "string", + "description": "Status of fluxnode" + }, + "collateral": { + "type": "string", + "description": "Collateral txid and output index" + }, + "txhash": { + "type": "string", + "description": "Transaction id" + }, + "outputIndex": { + "type": "integer", + "description": "Output index" + }, + "privateKey": { + "type": "string", + "description": "Fluxnode private key" + }, + "address": { + "type": "string", + "description": "Ip address of fluxnode server and port" + }, + "ip": { + "type": "string", + "description": "Ip address of fluxnode server" + }, + "network": { + "type": "string", + "description": "Network type (IPv4, IPv6, onion)" + }, + "added_height": { + "type": "integer", + "description": "Block height fluxnode was added to list" + }, + "confirmed_height": { + "type": "integer", + "description": "Block height fluxnode was confirmed by the network" + }, + "last_confirmed_height": { + "type": "integer", + "description": "Latest block height network confirmed the fluxnode" + }, + "last_paid_height": { + "type": "integer", + "description": "Block the fluxnode was last paid" + }, + "tier": { + "type": "string", + "description": "Tier of fluxnode" + }, + "payment_address": { + "type": "string", + "description": "Address where rewards are paid" + }, + "activesince": { + "type": "integer", + "description": "Last paid time in epoch" + }, + "lastpaid": { + "type": "integer", + "description": "Last paid time in epoch" + } + } + } + } + } + }, + "example": { + "status": "success", + "data": [ + { + "alias": "zn1", + "status": "OFFLINE", + "collateral": "COutPoint(2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c, 0)", + "txhash": "2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c", + "outputIndex": 0, + "privateKey": "93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg", + "address": "127.0.0.2:16125", + "ip": "UNKNOWN", + "network": "UNKNOWN", + "added_height": 0, + "confirmed_height": 0, + "last_confirmed_height": 0, + "last_paid_height": 0, + "tier": "UNKNOWN", + "payment_address": "UNKNOWN", + "activesince": 0, + "lastpaid": 0 + } + ] + } + } + } + } + } + } + }, + "/daemon/getfluxnodeoutputs": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Fluxnode transaction outputs", + "description": "Print all fluxnode transaction outputs. **Admin**", + "operationId": "getFluxNodeOutputs", + "security": [ + { + "ZelID": [] + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "txhash": { + "type": "string", + "description": "Output transaction hash" + }, + "outputidx": { + "type": "number", + "description": "Output index number" + } } } } } }, + "example": { + "status": "success", + "data": [ + { + "txhash": "cee4c36d22609004d286bd83bebf1f28feb33dd6e4889c6c400766253942c1af", + "outputidx": 0 + } + ] + } + } + } + } + } + } + }, + "/daemon/startfluxnode": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Start FluxNode commmand", + "description": "Attempts to start one or more FluxNode. This call will only work if running a hot FluxNode which is highly not recommended. It is a control wallet function so basically your wallet containing the collateral funds. **Admin**", + "operationId": "startFluxNode", + "security": [ + { + "ZelID": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "set", + "required": true, + "schema": { + "type": "string" + }, + "description": "Specify which set of FluxNode(s) to start.", + "example": "alias" + }, + { + "in": "query", + "name": "lockwallet", + "required": true, + "schema": { + "type": "boolean", + "enum": [ + true, + false + ] + }, + "description": "Lock wallet after completion.\n\nExample:\n- `set`=``&`lockwallet`=`false`\n" + }, + { + "in": "query", + "name": "alias", + "required": true, + "schema": { + "type": "string" + }, + "description": "FluxNode alias. Required if using 'alias' as the set.", + "example": "Super1" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/startfluxnode" + } + } + }, "example": { "status": "success", "data": { - "hash": "000000234b617194f3faff69ee62f0dde0115f2007c3b42e38eaba80c786a5e5", - "confirmations": 9, - "height": 590823, - "version": 4, - "merkleroot": "61d6664cb4e3575d4362f922316712fe647555c313ab6c4625bb368a93b40cf6", - "finalsaplingroot": "6cb83efd5da7b16b4ef0adf1ae285f96f9d95cd1becfc81421f77b12c56902d5", - "time": 1588559331, - "nonce": "0000015f00000000000000000f00000000000000000000000000000091060078", - "solution": "0633eb663b294a0dfc52d5b0d395e1f227397a8bdcdf9f8e1d5a0b3031f95d9a85c2854e6abdba5f9f972456b73a2ab62ee01d02", - "bits": "1e00bb4f", - "difficulty": 2799.054701674626, - "chainwork": "000000000000000000000000000000000000000000000000000029acbb5b0dc9", - "previousblockhash": "00000099767337bdf22bdbb7354509a9ed760298facbdcd40339b96590f85e26", - "nextblockhash": "0000009370f976e1d8be1634d291832039803836e951804e965af9066e18bde7" + "overall": "Successfully started 0 fluxnodes, failed to start 1, total", + "detail": [ + { + "result": "failed", + "error": "could not find alias in config. Verify with list-conf." + } + ] } } } } } - } - } - }, - "/daemon/getchaintips": { - "get": { - "tags": [ - "Daemon" + } + } + }, + "/daemon/startdeterministicfluxnode": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Start fluxnode command", + "description": "Attempts to start one fluxnode. Same as the `/daemon/startfluxnode` call this call will only work if running a hot FluxNode which is highly not recommended. It is a control wallet function so basically your wallet containing the collateral funds. **Admin**", + "operationId": "startDeterministicFluxNode", + "security": [ + { + "ZelID": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "alias", + "required": true, + "schema": { + "type": "string" + }, + "description": "Node name or alias.", + "example": "Basic1" + }, + { + "in": "query", + "name": "lockwallet", + "required": true, + "schema": { + "type": "boolean", + "enum": [ + true, + false + ] + }, + "description": "Lock wallet after completion.\n\nExample:\n- `alias`=``&`command`=`add`\n" + } + ], "responses": { "200": { "description": "OK", @@ -5166,14 +10503,13 @@ "$ref": "#/components/schemas/status" }, "data": { - "type": "number", - "description": "Proof of work difficulty as a multiple" + "$ref": "#/components/schemas/nullmessage" } } }, "example": { "status": "success", - "data": 2572.645186022886 + "data": null } } } @@ -5181,14 +10517,19 @@ } } }, - "/daemon/getmempoolinfo": { + "/daemon/clearbanned": { "get": { "tags": [ "Daemon" ], - "summary": "Memory pool info", - "description": "Returns details on the active state of the TX memory pool. **Public**", - "operationId": "getMempoolInfo", + "summary": "Clear banned IP's", + "description": "Clear all banned IP's. **Admin**", + "operationId": "clearBanned", + "security": [ + { + "ZelID": [] + } + ], "responses": { "200": { "description": "OK", @@ -5201,31 +10542,64 @@ "$ref": "#/components/schemas/status" }, "data": { - "type": "object", - "properties": { - "size": { - "type": "integer", - "description": "Current tx count" - }, - "bytes": { - "type": "integer", - "description": "Sum of all tx sizes" - }, - "usage": { - "type": "integer", - "description": "Total memory usage for the mempool" - } - } + "$ref": "#/components/schemas/nullmessage" } } }, "example": { "status": "success", - "data": { - "size": 0, - "bytes": 0, - "usage": 0 + "data": null + } + } + } + } + } + } + }, + "/daemon/disconnectnode": { + "get": { + "tags": [ + "Daemon" + ], + "summary": "Disconnect a node", + "description": "Immediately disconnects from the specified node. **Admin**", + "operationId": "disconnectNode", + "security": [ + { + "ZelID": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "node", + "required": true, + "schema": { + "type": "string" + }, + "description": "The node's ip:port", + "example": "188.239.61.210:16125" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/nullmessage" + } } + }, + "example": { + "status": "success", + "data": null } } } @@ -5233,27 +10607,41 @@ } } }, - "/daemon/getrawmempool": { + "/daemon/getaddednodeinfo": { "get": { "tags": [ "Daemon" ], - "summary": "Transaction ids in memory pool", - "description": "Returns all transaction ids in memory pool as a json array of string. **Public**", - "operationId": "getRawMemPool", + "summary": "Info of added node/nodes", + "description": "Returns information about the given added node, or all added nodes(note that onetry addnodes are not listed here). If dns is false, only a list of added nodes will be provided, otherwise connected information will also be available. **Admin**", + "operationId": "getAddedNodeInfo", + "security": [ + { + "ZelID": [] + } + ], "parameters": [ { "in": "query", - "name": "verbose", + "name": "dns", + "required": true, "schema": { - "default": false, "type": "boolean", "enum": [ true, false ] }, - "description": "True for a json object, false for array of transaction ids.\n" + "description": "If false, only a list of added nodes will be provided, otherwise connected information will also be available." + }, + { + "in": "query", + "name": "node", + "schema": { + "type": "string" + }, + "description": "The node ip:port", + "example": "188.239.61.210:16125" } ], "responses": { @@ -5268,40 +10656,31 @@ "$ref": "#/components/schemas/status" }, "data": { - "type": "object", - "properties": { - "txid": { - "type": "object", - "properties": { - "size": { - "type": "integer", - "description": "Transaction size in bytes" - }, - "fee": { - "type": "integer", - "description": "Transaction fee in FLUX" - }, - "time": { - "type": "integer", - "description": "Local time transaction entered pool in seconds since 1 Jan 1970 GMT" - }, - "height": { - "type": "integer", - "description": "Block height when transaction entered pool" - }, - "startingpriority": { - "type": "integer", - "description": "Priority when transaction entered pool" - }, - "currentpriority": { - "type": "integer", - "description": "Transaction priority now" - }, - "depends": { - "type": "array", - "items": { - "type": "string", - "description": "Unconfirmed transactions used as inputs for this transaction" + "type": "array", + "items": { + "type": "object", + "properties": { + "addednode": { + "type": "string", + "description": "The node ip address" + }, + "connected": { + "type": "boolean", + "description": "If connected" + }, + "addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The Flux server host and port" + }, + "connected": { + "type": "string", + "description": "Connection, inbound or outbound" + } } } } @@ -5312,62 +10691,38 @@ }, "example": { "status": "success", - "data": { - "2c2a34b81eeba402270465d3dcc44d41ef31e4bf6cae5cc8e2aeea64d7fce829": { - "size": 4284, - "fee": 0.0001, - "time": 1588593142, - "height": 591102, - "startingpriority": 10000000000000000, - "currentpriority": 10000000000000000, - "depends": [] - }, - "5fbb025ff8a6f632b02545e353e15992e389ccd12dab2771f2d96c53c3e2382a": { - "size": 895, - "fee": 0.0001, - "time": 1588593155, - "height": 591102, - "startingpriority": 10000000000000000, - "currentpriority": 10000000000000000, - "depends": [] - }, - "afc2f6ff2b9a546a3e0c5ba951338043f9866f23ad53622c5cc3b97ae0c89281": { - "size": 198, - "fee": 0.0001, - "time": 1588592875, - "height": 591101, - "startingpriority": 0, - "currentpriority": 0, - "depends": [] - }, - "0e99affa132cfea43ad7f31923a00a4cab1ace5e7343b0e40dad346d94138fb8": { - "size": 198, - "fee": 0.0001, - "time": 1588593142, - "height": 591101, - "startingpriority": 0, - "currentpriority": 0, - "depends": [] + "data": [ + { + "addednode": "explorer.runonflux.io", + "connected": true, + "addresses": [ + { + "address": "159.65.254.184:16125", + "connected": "outbound" + } + ] }, - "f2d51d5c678ea6a27670e3552b66adda606a43b57222ab6363ea0d2001c292c9": { - "size": 1189, - "fee": 0.0001, - "time": 1588593018, - "height": 591102, - "startingpriority": 10000000000000000, - "currentpriority": 10000000000000000, - "depends": [] + { + "addednode": "explorer2.runonflux.io", + "connected": true, + "addresses": [ + { + "address": "80.211.207.17:16125", + "connected": "outbound" + } + ] }, - "5af1b85af6e0e58e1ac00c5a93c51e0a6da927cdf8f9f981159acdf55fb382d2": { - "size": 2611, - "fee": 0.0001, - "time": 1588592924, - "height": 591102, - "startingpriority": 10000000000000000, - "currentpriority": 10000000000000000, - "depends": [] + { + "addednode": "explorer.flux.zelcore.io", + "connected": true, + "addresses": [ + { + "address": "206.189.0.55:16125", + "connected": "outbound" + } + ] } - } + ] } } } @@ -5375,47 +10730,64 @@ } } }, - "/daemon/gettxout": { + "/daemon/setban": { "get": { "tags": [ "Daemon" ], - "summary": "Transaction IDs in memory pool", - "description": "Returns all transaction ids in memory pool as a json array of string. **Public**", - "operationId": "getTxOut", + "summary": "Add or remove a IP from banned list", + "description": "Attempts add or remove a IP/Subnet from the banned list. **Admin**", + "operationId": "setBan", + "security": [ + { + "ZelID": [] + } + ], "parameters": [ { "in": "query", - "name": "txid", + "name": "ip", "required": true, "schema": { "type": "string" }, - "description": "The transaction id", - "example": "9e3cdde1b7c92728a1200a988bb046028fe93b9f1e15cc370974f7201d3d3a94" + "description": "The IP/Subnet (see getpeerinfo for nodes ip) with a optional netmask (default is /32 = single ip)", + "example": "188.239.61.210" }, { "in": "query", - "name": "n", + "name": "command", "required": true, "schema": { - "type": "integer" + "type": "string", + "enum": [ + "add", + "remove" + ] }, - "description": "Vout value", - "example": 1 + "description": "Use 'add' to add a IP/Subnet to the list, 'remove' to remove a IP/Subnet from the list" }, { "in": "query", - "name": "includemempool", + "name": "bantime", + "schema": { + "type": "integer", + "default": 86400 + }, + "description": "Time in seconds how long (or until when if absolute is set) the ip is banned (0 or empty means using the default time of 24h which can also be overwritten by the -bantime startup argument)", + "example": 3500 + }, + { + "in": "query", + "name": "absolute", "schema": { - "default": false, "type": "boolean", "enum": [ - true, - false + false, + true ] }, - "description": "Whether to include the mempool.\n\nExample:\n- `txid`=``&`n`=``&`includemempool`=`true`\n" + "description": "If set, the bantime must be a absolute timestamp in seconds since\nepoch (Jan 1 1970 GMT)\n\nExample:\n- `ip`=``&`command`=``&`bantime`=`1590368400`&`absolute`=`true`\n" } ], "responses": { @@ -5430,111 +10802,223 @@ "$ref": "#/components/schemas/status" }, "data": { + "$ref": "#/components/schemas/nullmessage" + } + } + }, + "example": { + "status": "success", + "data": null + } + } + } + } + } + } + }, + "/daemon/signrawtransaction": { + "post": { + "tags": [ + "Daemon" + ], + "summary": "Sign raw transaction", + "description": "Sign inputs for raw transaction (serialized, hex-encoded). The second optional argument (may be null) is an array of previous transaction outputs that this transaction depends on but may not yet be in the block chain. The third optional argument (may be null) is an array of base58-encoded private keys that, if given, will be the only keys used to sign the transaction. **Admin**", + "operationId": "signRawTransactionPost", + "security": [ + { + "ZelID": [] + } + ], + "requestBody": { + "required": true, + "content": { + "text/plain": { + "schema": { + "type": "object", + "properties": { + "hexstring": { + "type": "string", + "description": "Hex string of raw transaction" + }, + "prevtxs": { + "description": "An json array of previous dependent transaction outputs (json array of json objects, or null if none provided). (optional)", + "type": "array", + "items": { "type": "object", "properties": { - "bestblock": { + "txid": { "type": "string", - "description": "Block hash" + "description": "The transaction id" }, - "confirmations": { + "vout": { "type": "integer", - "description": "The number of confirmations" - }, - "value": { - "type": "number", - "description": "The transaction value in FLUX" + "description": "Output index" }, "scriptPubKey": { - "type": "object", - "properties": { - "asm": { - "type": "string", - "description": "Script public key" - }, - "hex": { - "type": "string", - "description": "Hex" - }, - "reqSigs": { - "type": "number", - "description": "Number of required signatures" - }, - "type": { - "type": "string", - "description": "The type, eg pubkeyhash" - }, - "addresses": { - "type": "array", - "items": { - "type": "string" - } - } - } + "type": "string", + "description": "Script key" }, - "version": { - "type": "integer", - "description": "The version number" + "redeemScript": { + "type": "string", + "description": "Redeem script" }, - "coinbase": { - "type": "boolean", - "description": "Coinbase or not" + "amount": { + "type": "number", + "description": "The amount spent" } } } + }, + "privatekeys": { + "description": "A json array of base58-encoded private keys for signing (optional)", + "type": "array", + "items": { + "type": "string", + "description": "Private key in base58-encoding" + } + }, + "sighashtype": { + "type": "string", + "default": "ALL", + "enum": [ + "ALL", + "NONE", + "SINGLE", + "ALL|ANYONECANPAY", + "NONE|ANYONECANPAY", + "SINGLE|ANYONECANPAY" + ], + "description": "The signature hash type. Must be one of the available values listed. (optional)" + }, + "branchid": { + "type": "string", + "description": "The hex representation of the consensus branch id to sign with. This can be used to force signing with consensus rules that are ahead of the node's current height. (optional)" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/status" + }, + "data": { + "$ref": "#/components/schemas/signrawtransaction" + } } }, "example": { "status": "success", "data": { - "bestblock": "0000001dca878efaa3ae059492bd108cd2e53708325f609f21ffb948f8769115", - "confirmations": 9, - "value": 9.375, - "scriptPubkey": { - "asm": "OP_DUP OP_HASH160 961f695fbc075b7f99f0b45323206930340efc98 OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a914961f695fbc075b7f99f0b45323206930340efc9888ac", - "reqSigs": 1, - "type": "pubkeyhash", - "addresses": [ - "t1XZNzdMMDZ4QPRD2a6hHWQ4Mog3HF9mCMp" - ] - }, - "version": 4, - "coinbase": true + "hex": "0400008085202f8901ab719872dfea1b4f594049722a92efafa4695322d2c08654aafe98c654606636000000006b483045022100e5f02014419280a5c1ed1f94513e8e2bee83f6341863b304fe093dea897f4aa20220022a6e6004dbf1305197f4053bd9dd59e21abd23a31d0188d079eb72cab84e990121036b6a136ce869a0b400548a9126f06d96181ee974ff1c7f5a5e54e39b7f66be05ffffffff0140420f00000000001976a9142e5db3157a9783c6208019323f2c3a02610826a988ac00000000a60a09000000000000000000000000", + "complete": true } } } } } } - } - }, - "/daemon/gettxoutproof": { + }, "get": { "tags": [ "Daemon" ], - "summary": "Hex-encoded proof of transaction", - "description": "Returns a hex-encoded proof that \"txid\" was included in a block. **Public**", - "operationId": "getTxOutProof", + "summary": "Sign raw transaction", + "description": "Sign inputs for raw transaction (serialized, hex-encoded). The second optional argument (may be null) is an array of previous transaction outputs that this transaction depends on but may not yet be in the block chain. The third optional argument (may be null) is an array of base58-encoded private keys that, if given, will be the only keys used to sign the transaction. **Admin**", + "operationId": "signRawTransaction", + "security": [ + { + "ZelID": [] + } + ], "parameters": [ { "in": "query", - "name": "txids", + "name": "hexstring", "required": true, "schema": { "type": "string" }, - "description": "The transaction id or comma separated list of txids", - "example": "9e3cdde1b7c92728a1200a988bb046028fe93b9f1e15cc370974f7201d3d3a94" + "description": "Hex string of raw transaction", + "example": "0400008085202f8901ab719872dfea1b4f594049722a92efafa4695322d2c08654aafe98c6546066360000000000ffffffff0140420f00000000001976a9142e5db3157a9783c6208019323f2c3a02610826a988ac00000000a60a09000000000000000000000000" }, { "in": "query", - "name": "blockhash", + "name": "prevtxs", + "description": "An json array of previous dependent transaction outputs (json array of json objects, or null if none provided).\n\nList of objects key/value pairs in order:\n- `txid`:``\n- `vout`:``\n- `scriptPubKey`:`