lnd.xprv/lnrpc/chainrpc/chainnotifier.swagger.json
2020-06-04 08:50:00 +02:00

362 lines
12 KiB
JSON

{
"swagger": "2.0",
"info": {
"title": "chainrpc/chainnotifier.proto",
"version": "version not set"
},
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/v2/chainnotifier/register/blocks": {
"post": {
"summary": "RegisterBlockEpochNtfn is a synchronous response-streaming RPC that\nregisters an intent for a client to be notified of blocks in the chain. The\nstream will return a hash and height tuple of a block for each new/stale\nblock in the chain. It is the client's responsibility to determine whether\nthe tuple returned is for a new or stale block in the chain.",
"description": "A client can also request a historical backlog of blocks from a particular\npoint. This allows clients to be idempotent by ensuring that they do not\nmissing processing a single block within the chain.",
"operationId": "RegisterBlockEpochNtfn",
"responses": {
"200": {
"description": "A successful response.(streaming responses)",
"schema": {
"type": "object",
"properties": {
"result": {
"$ref": "#/definitions/chainrpcBlockEpoch"
},
"error": {
"$ref": "#/definitions/runtimeStreamError"
}
},
"title": "Stream result of chainrpcBlockEpoch"
}
},
"default": {
"description": "An unexpected error response",
"schema": {
"$ref": "#/definitions/runtimeError"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/chainrpcBlockEpoch"
}
}
],
"tags": [
"ChainNotifier"
]
}
},
"/v2/chainnotifier/register/confirmations": {
"post": {
"summary": "RegisterConfirmationsNtfn is a synchronous response-streaming RPC that\nregisters an intent for a client to be notified once a confirmation request\nhas reached its required number of confirmations on-chain.",
"description": "A client can specify whether the confirmation request should be for a\nparticular transaction by its hash or for an output script by specifying a\nzero hash.",
"operationId": "RegisterConfirmationsNtfn",
"responses": {
"200": {
"description": "A successful response.(streaming responses)",
"schema": {
"type": "object",
"properties": {
"result": {
"$ref": "#/definitions/chainrpcConfEvent"
},
"error": {
"$ref": "#/definitions/runtimeStreamError"
}
},
"title": "Stream result of chainrpcConfEvent"
}
},
"default": {
"description": "An unexpected error response",
"schema": {
"$ref": "#/definitions/runtimeError"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/chainrpcConfRequest"
}
}
],
"tags": [
"ChainNotifier"
]
}
},
"/v2/chainnotifier/register/spends": {
"post": {
"summary": "RegisterSpendNtfn is a synchronous response-streaming RPC that registers an\nintent for a client to be notification once a spend request has been spent\nby a transaction that has confirmed on-chain.",
"description": "A client can specify whether the spend request should be for a particular\noutpoint or for an output script by specifying a zero outpoint.",
"operationId": "RegisterSpendNtfn",
"responses": {
"200": {
"description": "A successful response.(streaming responses)",
"schema": {
"type": "object",
"properties": {
"result": {
"$ref": "#/definitions/chainrpcSpendEvent"
},
"error": {
"$ref": "#/definitions/runtimeStreamError"
}
},
"title": "Stream result of chainrpcSpendEvent"
}
},
"default": {
"description": "An unexpected error response",
"schema": {
"$ref": "#/definitions/runtimeError"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/chainrpcSpendRequest"
}
}
],
"tags": [
"ChainNotifier"
]
}
}
},
"definitions": {
"chainrpcBlockEpoch": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"format": "byte",
"description": "The hash of the block."
},
"height": {
"type": "integer",
"format": "int64",
"description": "The height of the block."
}
}
},
"chainrpcConfDetails": {
"type": "object",
"properties": {
"raw_tx": {
"type": "string",
"format": "byte",
"description": "The raw bytes of the confirmed transaction."
},
"block_hash": {
"type": "string",
"format": "byte",
"description": "The hash of the block in which the confirmed transaction was included in."
},
"block_height": {
"type": "integer",
"format": "int64",
"description": "The height of the block in which the confirmed transaction was included\nin."
},
"tx_index": {
"type": "integer",
"format": "int64",
"description": "The index of the confirmed transaction within the transaction."
}
}
},
"chainrpcConfEvent": {
"type": "object",
"properties": {
"conf": {
"$ref": "#/definitions/chainrpcConfDetails",
"description": "An event that includes the confirmation details of the request\n(txid/ouput script)."
},
"reorg": {
"$ref": "#/definitions/chainrpcReorg",
"description": "An event send when the transaction of the request is reorged out of the\nchain."
}
}
},
"chainrpcConfRequest": {
"type": "object",
"properties": {
"txid": {
"type": "string",
"format": "byte",
"description": "The transaction hash for which we should request a confirmation notification\nfor. If set to a hash of all zeros, then the confirmation notification will\nbe requested for the script instead."
},
"script": {
"type": "string",
"format": "byte",
"description": "An output script within a transaction with the hash above which will be used\nby light clients to match block filters. If the transaction hash is set to a\nhash of all zeros, then a confirmation notification will be requested for\nthis script instead."
},
"num_confs": {
"type": "integer",
"format": "int64",
"description": "The number of desired confirmations the transaction/output script should\nreach before dispatching a confirmation notification."
},
"height_hint": {
"type": "integer",
"format": "int64",
"description": "The earliest height in the chain for which the transaction/output script\ncould have been included in a block. This should in most cases be set to the\nbroadcast height of the transaction/output script."
}
}
},
"chainrpcOutpoint": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"format": "byte",
"description": "The hash of the transaction."
},
"index": {
"type": "integer",
"format": "int64",
"description": "The index of the output within the transaction."
}
}
},
"chainrpcReorg": {
"type": "object"
},
"chainrpcSpendDetails": {
"type": "object",
"properties": {
"spending_outpoint": {
"$ref": "#/definitions/chainrpcOutpoint",
"description": "The outpoint was that spent."
},
"raw_spending_tx": {
"type": "string",
"format": "byte",
"description": "The raw bytes of the spending transaction."
},
"spending_tx_hash": {
"type": "string",
"format": "byte",
"description": "The hash of the spending transaction."
},
"spending_input_index": {
"type": "integer",
"format": "int64",
"description": "The input of the spending transaction that fulfilled the spend request."
},
"spending_height": {
"type": "integer",
"format": "int64",
"description": "The height at which the spending transaction was included in a block."
}
}
},
"chainrpcSpendEvent": {
"type": "object",
"properties": {
"spend": {
"$ref": "#/definitions/chainrpcSpendDetails",
"description": "An event that includes the details of the spending transaction of the\nrequest (outpoint/output script)."
},
"reorg": {
"$ref": "#/definitions/chainrpcReorg",
"description": "An event sent when the spending transaction of the request was\nreorged out of the chain."
}
}
},
"chainrpcSpendRequest": {
"type": "object",
"properties": {
"outpoint": {
"$ref": "#/definitions/chainrpcOutpoint",
"description": "The outpoint for which we should request a spend notification for. If set to\na zero outpoint, then the spend notification will be requested for the\nscript instead."
},
"script": {
"type": "string",
"format": "byte",
"description": "The output script for the outpoint above. This will be used by light clients\nto match block filters. If the outpoint is set to a zero outpoint, then a\nspend notification will be requested for this script instead."
},
"height_hint": {
"type": "integer",
"format": "int64",
"description": "The earliest height in the chain for which the outpoint/output script could\nhave been spent. This should in most cases be set to the broadcast height of\nthe outpoint/output script."
}
}
},
"protobufAny": {
"type": "object",
"properties": {
"type_url": {
"type": "string"
},
"value": {
"type": "string",
"format": "byte"
}
}
},
"runtimeError": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"$ref": "#/definitions/protobufAny"
}
}
}
},
"runtimeStreamError": {
"type": "object",
"properties": {
"grpc_code": {
"type": "integer",
"format": "int32"
},
"http_code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"http_status": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"$ref": "#/definitions/protobufAny"
}
}
}
}
}
}