From 874c42dacac25832be38718dea0ccd73cbb862c7 Mon Sep 17 00:00:00 2001 From: kexkey Date: Wed, 25 Mar 2020 16:15:10 -0400 Subject: [PATCH] Features replaceable and subtractfeefromamount on spend (#178) * Added replaceable param to spend * Added subtractfeefromamount param to the spend endpoint --- doc/API.v0.md | 7 ++++--- doc/openapi/v0/cyphernode-api.yaml | 4 ++++ proxy_docker/app/script/requesthandler.sh | 2 +- proxy_docker/app/script/walletoperations.sh | 9 +++++++-- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/doc/API.v0.md b/doc/API.v0.md index cbc2b42..a6d2cfd 100644 --- a/doc/API.v0.md +++ b/doc/API.v0.md @@ -648,7 +648,7 @@ POST http://cyphernode:8888/spend with body... {"address":"2N8DcqzfkYi8CkYzvNNS5amoq3SbAcQNXKp","amount":0.00233} or -{"address":"2N8DcqzfkYi8CkYzvNNS5amoq3SbAcQNXKp","amount":0.00233,"eventMessage":"eyJ3aGF0ZXZlciI6MTIzfQo=","confTarget":6} +{"address":"2N8DcqzfkYi8CkYzvNNS5amoq3SbAcQNXKp","amount":0.00233,"eventMessage":"eyJ3aGF0ZXZlciI6MTIzfQo=","confTarget":6,"replaceable":true,"subtractfeefromamount":false} ``` Proxy response: @@ -664,8 +664,9 @@ Proxy response: "firstseen": 1584568841, "size": 222, "vsize": 141, - "replaceable": 0, - "fee": 0.00000141 + "replaceable": true, + "fee": 0.00000141, + "subtractfeefromamount": false } } ``` diff --git a/doc/openapi/v0/cyphernode-api.yaml b/doc/openapi/v0/cyphernode-api.yaml index 6e6adc3..a8d0d39 100644 --- a/doc/openapi/v0/cyphernode-api.yaml +++ b/doc/openapi/v0/cyphernode-api.yaml @@ -1095,6 +1095,10 @@ paths: type: "string" confTarget: type: "number" + replaceable: + type: "boolean" + subtractfeefromamount: + type: "boolean" responses: '200': description: "operation successful" diff --git a/proxy_docker/app/script/requesthandler.sh b/proxy_docker/app/script/requesthandler.sh index e110993..2d89911 100644 --- a/proxy_docker/app/script/requesthandler.sh +++ b/proxy_docker/app/script/requesthandler.sh @@ -284,7 +284,7 @@ main() { ;; spend) # POST http://192.168.111.152:8080/spend - # BODY {"address":"2N8DcqzfkYi8CkYzvNNS5amoq3SbAcQNXKp","amount":0.00233,"eventMessage":"eyJ3aGF0ZXZlciI6MTIzfQo=","confTarget":6} + # BODY {"address":"2N8DcqzfkYi8CkYzvNNS5amoq3SbAcQNXKp","amount":0.00233,"eventMessage":"eyJ3aGF0ZXZlciI6MTIzfQo=","confTarget":6,"replaceable":true,"subtractfeefromamount":false} response=$(spend "${line}") response_to_client "${response}" ${?} diff --git a/proxy_docker/app/script/walletoperations.sh b/proxy_docker/app/script/walletoperations.sh index 219d8d7..ae84c9d 100644 --- a/proxy_docker/app/script/walletoperations.sh +++ b/proxy_docker/app/script/walletoperations.sh @@ -14,12 +14,17 @@ spend() { trace "[spend] amount=${amount}" local conf_target=$(echo "${request}" | jq ".confTarget") trace "[spend] confTarget=${conf_target}" + local replaceable=$(echo "${request}" | jq ".replaceable") + trace "[spend] replaceable=${replaceable}" + local subtractfeefromamount=$(echo "${request}" | jq ".subtractfeefromamount") + trace "[spend] subtractfeefromamount=${subtractfeefromamount}" + local response local id_inserted local tx_details local tx_raw_details - response=$(send_to_spender_node "{\"method\":\"sendtoaddress\",\"params\":[\"${address}\",${amount},\"\",\"\",null,null,${conf_target}]}") + response=$(send_to_spender_node "{\"method\":\"sendtoaddress\",\"params\":[\"${address}\",${amount},\"\",\"\",${subtractfeefromamount},${replaceable},${conf_target}]}") local returncode=$? trace_rc ${returncode} trace "[spend] response=${response}" @@ -72,7 +77,7 @@ spend() { trace_rc $? data="{\"status\":\"accepted\"" - data="${data},\"hash\":\"${txid}\",\"details\":{\"address\":\"${address}\",\"amount\":${amount},\"firstseen\":${tx_ts_firstseen},\"size\":${tx_size},\"vsize\":${tx_vsize},\"replaceable\":${tx_replaceable},\"fee\":${fees}}}" + data="${data},\"hash\":\"${txid}\",\"details\":{\"address\":\"${address}\",\"amount\":${amount},\"firstseen\":${tx_ts_firstseen},\"size\":${tx_size},\"vsize\":${tx_vsize},\"replaceable\":${replaceable},\"fee\":${fees},\"subtractfeefromamount\":${subtractfeefromamount}}}" # Delete the temp file containing the raw tx (see above) rm spend-rawtx-${txid}.blob