Added validateaddress endpoint

This commit is contained in:
kexkey
2021-11-15 16:49:13 -05:00
parent f62a7f4cf9
commit 4d4bee3fca
4 changed files with 62 additions and 0 deletions

View File

@@ -39,6 +39,7 @@ action_ln_getroute=watcher
action_ln_listpays=watcher
action_ln_paystatus=watcher
action_bitcoin_estimatesmartfee=watcher
action_validateaddress=watcher
# Spender can do what the watcher can do, plus:
action_get_txns_spending=spender

View File

@@ -752,6 +752,28 @@ Proxy response:
}
```
### Validate a Bitcoin address
Returns the detailed information about the given address.
```http
GET http://cyphernode:8888/validateaddress/address
GET http://cyphernode:8888/validateaddress/tb1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqp3mvzv
```
Proxy response:
```json
{
"isvalid": true,
"address": "tb1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqp3mvzv",
"scriptPubKey": "5120a60869f0dbcf1dc659c9cecbaf8050135ea9e8cdc487053f1dc6880949dc684c",
"iswitness": true,
"witness_version": 1,
"witness_program": "a60869f0dbcf1dc659c9cecbaf8050135ea9e8cdc487053f1dc6880949dc684c"
}
```
### Spend coins from spending wallet (called by your application)
Calls sendtoaddress RPC on the spending wallet with supplied info. Can supply an eventMessage to be published on successful spending. eventMessage should be base64 encoded to avoid dealing with escaping special characters.

View File

@@ -1184,6 +1184,38 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseTemporarilyUnavailable'
/validateaddress/{address}:
get:
parameters:
- in: "path"
name: "address"
description: "address string to validate"
required: true
schema:
type: "string"
tags:
- "bitcoin"
- "core features"
summary: "Get the detailed information about the given address"
description: "Returns the detailed information about the given address"
operationId: "validateAddress"
responses:
'200':
description: "successful operation"
content:
application/json:
schema:
# TODO: describe response
type: "object"
'403':
$ref: '#/components/schemas/ApiResponseNotAllowed'
'503':
description: "Resource temporarily unavailable"
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponseTemporarilyUnavailable'
/spend:
post:
tags:

View File

@@ -349,6 +349,13 @@ main() {
response_to_client "${response}" ${?}
break
;;
validateaddress)
# GET http://192.168.111.152:8080/validateaddress/tb1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqp3mvzv
response=$(validateaddress $(echo "${line}" | cut -d ' ' -f2 | cut -d '/' -f3))
response_to_client "${response}" ${?}
break
;;
spend)
# POST http://192.168.111.152:8080/spend
# BODY {"address":"2N8DcqzfkYi8CkYzvNNS5amoq3SbAcQNXKp","amount":0.00233,"eventMessage":"eyJ3aGF0ZXZlciI6MTIzfQo=","confTarget":6,"replaceable":true,"subtractfeefromamount":false}