mirror of
https://github.com/aljazceru/cyphernode.git
synced 2026-01-31 10:14:35 +01:00
Merge pull request #233 from SatoshiPortal/features/validateaddress
Added validateaddress endpoint
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -752,6 +752,36 @@ 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 for a valid address:
|
||||
|
||||
```json
|
||||
{
|
||||
"isvalid": true,
|
||||
"address": "tb1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqp3mvzv",
|
||||
"scriptPubKey": "5120a60869f0dbcf1dc659c9cecbaf8050135ea9e8cdc487053f1dc6880949dc684c",
|
||||
"iswitness": true,
|
||||
"witness_version": 1,
|
||||
"witness_program": "a60869f0dbcf1dc659c9cecbaf8050135ea9e8cdc487053f1dc6880949dc684c"
|
||||
}
|
||||
```
|
||||
|
||||
Proxy response for an invalid address:
|
||||
|
||||
```json
|
||||
{
|
||||
"isvalid": false
|
||||
}
|
||||
```
|
||||
|
||||
### 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.
|
||||
|
||||
@@ -1184,6 +1184,54 @@ 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: "operation successful"
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: "object"
|
||||
required:
|
||||
- "isvalid"
|
||||
properties:
|
||||
isvalid:
|
||||
type: "boolean"
|
||||
address:
|
||||
$ref: '#/components/schemas/TypeAddressString'
|
||||
scriptPubKey:
|
||||
type: "string"
|
||||
isscript:
|
||||
type: "boolean"
|
||||
iswitness:
|
||||
type: "boolean"
|
||||
witness_version:
|
||||
type: "number"
|
||||
witness_program:
|
||||
type: "string"
|
||||
'403':
|
||||
$ref: '#/components/schemas/ApiResponseNotAllowed'
|
||||
'503':
|
||||
description: "Resource temporarily unavailable"
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponseTemporarilyUnavailable'
|
||||
|
||||
/spend:
|
||||
post:
|
||||
tags:
|
||||
@@ -3052,9 +3100,9 @@ components:
|
||||
type: "string"
|
||||
pattern: "^[a-fA-F0-9]+$"
|
||||
TypeAddressString:
|
||||
description: "base58 check encoded address"
|
||||
description: "base58 or base32 check encoded address"
|
||||
type: "string"
|
||||
pattern: "^[a-km-zA-HJ-NP-Z1-9]{26,35}$"
|
||||
pattern: "^(bc1|tb1|bcrt1)[ac-hj-np-z02-9]{9,71}|[123mn][a-km-zA-HJ-NP-Z1-9]{26,33}$"
|
||||
TypeXpubString:
|
||||
description: "base58 check encoded xpub"
|
||||
type: "string"
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user