Files
cyphernode/proxy_docker/app/script/importaddress.sh

58 lines
2.0 KiB
Bash

#!/bin/sh
. ./trace.sh
. ./sendtobitcoinnode.sh
importaddress_rpc() {
trace "[Entering importaddress_rpc()]"
local address=${1}
local label=${2}
if [ -z "${label}" ]; then
label="null"
fi
local data='{"method":"importaddress","params":{"address":"'${address}'","label":'${label}',"rescan":false}}'
# local data="{\"method\":\"importaddress\",\"params\":[\"${address}\",\"\",false]}"
local result
result=$(send_to_watcher_node ${data})
local returncode=$?
echo "${result}"
return ${returncode}
}
importmulti_rpc() {
trace "[Entering importmulti_rpc()]"
local walletname=${1}
local label=${2}
local addresses=$(echo "${3}" | jq ".addresses" | tr -d '\n ')
# trace "[importmulti_rpc] addresses=${addresses}"
# Will look like:
# [{"address":"2N6Q9kBcLtNswgMSLSQ5oduhbctk7hxEJW8"},{"address":"2NFLhFghAPKEPuZCKoeXYYxuaBxhKXbmhBV"},{"address":"2N7gepbQtRM5Hm4PTjvGadj9wAwEwnAsKiP"}]
# We want:
# [{"scriptPubKey":{"address":"2N6Q9kBcLtNswgMSLSQ5oduhbctk7hxEJW8"},"timestamp":"now","watchonly":true,"label":"xpub"},{"scriptPubKey":{"address":"2NFLhFghAPKEPuZCKoeXYYxuaBxhKXbmhBV"},"timestamp":"now","watchonly":true,"label":"xpub"},{"scriptPubKey":{"address":"2N7gepbQtRM5Hm4PTjvGadj9wAwEwnAsKiP"},"timestamp":"now","watchonly":true,"label":"xpub"}]
# {"address":"2N6Q9kBcLtNswgMSLSQ5oduhbctk7hxEJW8"},
# {"scriptPubKey":{"address":"2N6Q9kBcLtNswgMSLSQ5oduhbctk7hxEJW8"},"timestamp":"now","watchonly":true,"label":"xpub"},
addresses=$(echo "${addresses}" | sed "s/\"address\"/\"scriptPubKey\":\{\"address\"/g" | sed "s/}/},\"timestamp\":\"now\",\"watchonly\":true,\"label\":${label}}/g")
# trace "[importmulti_rpc] addresses=${addresses}"
# Now we use that in the RPC string
local rpcstring="{\"method\":\"importmulti\",\"params\":[${addresses},{\"rescan\":false}]}"
# trace "[importmulti_rpc] rpcstring=${rpcstring}"
local result
result=$(send_to_watcher_node_wallet ${walletname} ${rpcstring})
local returncode=$?
echo "${result}"
return ${returncode}
}