diff --git a/proxy_docker/app/script/requesthandler.sh b/proxy_docker/app/script/requesthandler.sh index c2ced2c..ec5808a 100644 --- a/proxy_docker/app/script/requesthandler.sh +++ b/proxy_docker/app/script/requesthandler.sh @@ -96,6 +96,20 @@ main() response_to_client "${response}" ${?} break ;; + unwatchxpubbyxpub) + # GET http://192.168.111.152:8080/unwatchxpubbyxpub/tpubD6NzVbkrYhZ4YR3QK2tyfMMvBghAvqtNaNK1LTyDWcRHLcMUm3ZN2cGm5BS3MhCRCeCkXQkTXXjiJgqxpqXK7PeUSp86DTTgkLpcjMtpKWk + + response=$(unwatchpub32request "${line}") + response_to_client "${response}" ${?} + break + ;; + unwatchxpubbylabel) + # GET http://192.168.111.152:8080/unwatchxpubbylabel/4421 + + response=$(unwatchpub32labelrequest "${line}") + response_to_client "${response}" ${?} + break + ;; getactivewatchesbyxpub) # GET http://192.168.111.152:8080/getactivewatchesbyxpub/tpubD6NzVbkrYhZ4YR3QK2tyfMMvBghAvqtNaNK1LTyDWcRHLcMUm3ZN2cGm5BS3MhCRCeCkXQkTXXjiJgqxpqXK7PeUSp86DTTgkLpcjMtpKWk diff --git a/proxy_docker/app/script/unwatchrequest.sh b/proxy_docker/app/script/unwatchrequest.sh index 0302259..121b64e 100644 --- a/proxy_docker/app/script/unwatchrequest.sh +++ b/proxy_docker/app/script/unwatchrequest.sh @@ -3,14 +3,13 @@ . ./trace.sh . ./sql.sh -unwatchrequest() -{ +unwatchrequest() { trace "Entering unwatchrequest()..." local request=${1} local address=$(echo "${request}" | cut -d ' ' -f2 | cut -d '/' -f3) local returncode - trace "[unwatchrequest] Unwatch request on address ${address})" + trace "[unwatchrequest] Unwatch request on address ${address}" sql "UPDATE watching SET watching=0 WHERE address=\"${address}\"" returncode=$? @@ -24,4 +23,60 @@ unwatchrequest() return ${returncode} } -case "${0}" in *unwatchrequest.sh) unwatchrequest $@;; esac +unwatchpub32request() { + trace "Entering unwatchpub32request()..." + + local request=${1} + local pub32=$(echo "${request}" | cut -d ' ' -f2 | cut -d '/' -f3) + local id + local returncode + trace "[unwatchpub32request] Unwatch pub32 ${pub32}" + + id=$(sql "SELECT id FROM watching WHERE pub32='${pub32}'") + trace "[unwatchpub32request] id: ${id}" + + sql "UPDATE watching_by_pub32 SET watching=0 WHERE id=${id}" + returncode=$? + trace_rc ${returncode} + + sql "UPDATE watching SET watching=0 WHERE watching_by_pub32_id=\"${id}\"" + returncode=$? + trace_rc ${returncode} + + data="{\"event\":\"unwatchxpubbyxpub\",\"pub32\":\"${pub32}\"}" + trace "[unwatchpub32request] responding=${data}" + + echo "${data}" + + return ${returncode} +} + +unwatchpub32labelrequest() { + trace "Entering unwatchpub32labelrequest()..." + + local request=${1} + local label=$(echo "${request}" | cut -d ' ' -f2 | cut -d '/' -f3) + local id + local returncode + trace "[unwatchpub32labelrequest] Unwatch xpub label ${label}" + + id=$(sql "SELECT id FROM watching WHERE label='${label}'") + returncode=$? + trace_rc ${returncode} + trace "[unwatchpub32labelrequest] id: ${id}" + + sql "UPDATE watching_by_pub32 SET watching=0 WHERE id=${id}" + returncode=$? + trace_rc ${returncode} + + sql "UPDATE watching SET watching=0 WHERE watching_by_pub32_id=\"${id}\"" + returncode=$? + trace_rc ${returncode} + + data="{\"event\":\"unwatchxpubbylabel\",\"pub32\":\"${pub32}\"}" + trace "[unwatchpub32labelrequest] responding=${data}" + + echo "${data}" + + return ${returncode} +} diff --git a/proxy_docker/app/script/watchrequest.sh b/proxy_docker/app/script/watchrequest.sh index a95b64d..0c37ceb 100644 --- a/proxy_docker/app/script/watchrequest.sh +++ b/proxy_docker/app/script/watchrequest.sh @@ -254,7 +254,7 @@ extend_watchers() { local last_imported_n local row - row=$(sql "SELECT pub32, label, derivation_path, callback0conf, callback1conf, last_imported_n FROM watching_by_pub32 WHERE id=${watching_by_pub32_id}") + row=$(sql "SELECT pub32, label, derivation_path, callback0conf, callback1conf, last_imported_n FROM watching_by_pub32 WHERE id=${watching_by_pub32_id} AND watching") returncode=$? trace_rc ${returncode}