From 58d3e596c74ddfe37cadd9d7837b2caab29d6860 Mon Sep 17 00:00:00 2001 From: chris-belcher Date: Wed, 4 Aug 2021 23:54:48 +0100 Subject: [PATCH 1/2] Fix Export Orders page on ob-watcher --- scripts/obwatch/ob-watcher.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/scripts/obwatch/ob-watcher.py b/scripts/obwatch/ob-watcher.py index 91406d2..9863594 100755 --- a/scripts/obwatch/ob-watcher.py +++ b/scripts/obwatch/ob-watcher.py @@ -210,11 +210,28 @@ class OrderbookPageRequestHeader(http.server.SimpleHTTPRequestHandler): if not rows or not fbonds: return [] + fidelitybonds = [] if jm_single().bc_interface != None: (fidelity_bond_data, fidelity_bond_values, bond_outpoint_conf_times) =\ get_fidelity_bond_data(self.taker) - fidelity_bond_values_dict = dict([(bond_data["counterparty"], bond_value) + fidelity_bond_values_dict = dict([(bond_data.maker_nick, bond_value) for (bond_data, _), bond_value in zip(fidelity_bond_data, fidelity_bond_values)]) + for ((parsed_bond, bond_utxo_data), fidelity_bond_value, bond_outpoint_conf_time)\ + in zip(fidelity_bond_data, fidelity_bond_values, bond_outpoint_conf_times): + fb = { + "counterparty": parsed_bond.maker_nick, + "utxo": {"txid": bintohex(parsed_bond.utxo[0]), + "vout": parsed_bond.utxo[1]}, + "bond_value": fidelity_bond_value, + "locktime": parsed_bond.locktime, + "amount": bond_utxo_data["value"], + "address": bond_utxo_data["address"], + "utxo_confirmations": bond_utxo_data["confirms"], + "utxo_confirmation_timestamp": bond_outpoint_conf_time, + "utxo_pub": bintohex(parsed_bond.utxo_pub), + "cert_expiry": parsed_bond.cert_expiry + } + fidelitybonds.append(fb) else: fidelity_bond_values_dict = {} @@ -230,15 +247,6 @@ class OrderbookPageRequestHeader(http.server.SimpleHTTPRequestHandler): o["fidelity_bond_value"] = fidelity_bond_values_dict.get(o["counterparty"], 0) offers.append(o) - BIN_KEYS = ["txid", "utxopubkey"] - fidelitybonds = [] - for fbond in fbonds: - o = dict(fbond) - for k in BIN_KEYS: - o[k] = bintohex(o[k]) - o["fidelity_bond_value"] = fidelity_bond_values_dict.get(o["counterparty"], 0) - fidelitybonds.append(o) - return {"offers": offers, "fidelitybonds": fidelitybonds} def create_depth_chart(self, cj_amount, args=None): From ce08a0cd85f9bd27f9d8f13418af808c992d4ccf Mon Sep 17 00:00:00 2001 From: chris-belcher Date: Wed, 4 Aug 2021 23:56:02 +0100 Subject: [PATCH 2/2] Fix year 2038 problem in ob-watcher /fidelitybonds --- scripts/obwatch/ob-watcher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/obwatch/ob-watcher.py b/scripts/obwatch/ob-watcher.py index 9863594..3079e94 100755 --- a/scripts/obwatch/ob-watcher.py +++ b/scripts/obwatch/ob-watcher.py @@ -366,7 +366,7 @@ class OrderbookPageRequestHeader(http.server.SimpleHTTPRequestHandler): + elem(bond_data.maker_nick) + elem(bintohex(bond_data.utxo[0]) + ":" + str(bond_data.utxo[1])) + elem(bond_value_str) - + elem(datetime.utcfromtimestamp(bond_data.locktime).strftime("%Y-%m-%d")) + + elem((datetime.utcfromtimestamp(0) + timedelta(seconds=bond_data.locktime)).strftime("%Y-%m-%d")) + elem(utxo_value_str) + elem(conf_time_str) + elem(str(bond_data.cert_expiry*RETARGET_INTERVAL))