diff --git a/jmdaemon/jmdaemon/orderbookwatch.py b/jmdaemon/jmdaemon/orderbookwatch.py index 566ffb5..62edcb7 100644 --- a/jmdaemon/jmdaemon/orderbookwatch.py +++ b/jmdaemon/jmdaemon/orderbookwatch.py @@ -105,7 +105,7 @@ class OrderbookWatch(object): "from {}").format log.debug(fmt(minsize, maxsize, counterparty)) return - if ordertype in ['swabsoffer', 'absoffer']\ + if ordertype in ['sw0absoffer', 'swabsoffer', 'absoffer']\ and not isinstance(cjfee, Integral): try: cjfee = int(cjfee) diff --git a/scripts/obwatch/ob-watcher.py b/scripts/obwatch/ob-watcher.py index c24f0d3..408e47a 100755 --- a/scripts/obwatch/ob-watcher.py +++ b/scripts/obwatch/ob-watcher.py @@ -41,11 +41,11 @@ import jmbitcoin as btc from jmdaemon.protocol import * #Initial state: allow only SW offer types -swoffers = list(filter(lambda x: x[0:2] == 'sw', offername_list)) -pkoffers = list(filter(lambda x: x[0:2] != 'sw', offername_list)) -filtered_offername_list = swoffers +sw0offers = list(filter(lambda x: x[0:3] == 'sw0', offername_list)) +swoffers = list(filter(lambda x: x[0:3] == 'swa' or x[0:3] == 'swr', offername_list)) +filtered_offername_list = sw0offers -toggleSWform = '
' +rotateObform = '
' refresh_orderbook_form = '
' sorted_units = ('BTC', 'mBTC', 'μBTC', 'satoshi') unit_to_power = {'BTC': 8, 'mBTC': 5, 'μBTC': 2, 'satoshi': 0} @@ -71,13 +71,12 @@ def do_nothing(arg, order, btc_unit, rel_unit): def ordertype_display(ordertype, order, btc_unit, rel_unit): ordertypes = {'sw0absoffer': 'Native SW Absolute Fee', 'sw0reloffer': 'Native SW Relative Fee', - 'swabsoffer': 'SW Absolute Fee', 'swreloffer': 'SW Relative Fee', - 'absoffer': 'Absolute Fee', 'reloffer': 'Relative Fee'} + 'swabsoffer': 'SW Absolute Fee', 'swreloffer': 'SW Relative Fee'} return ordertypes[ordertype] def cjfee_display(cjfee, order, btc_unit, rel_unit): - if order['ordertype'] in ['absoffer', 'swabsoffer', 'sw0absoffer']: + if order['ordertype'] in ['swabsoffer', 'sw0absoffer']: return satoshi_to_unit(cjfee, order, btc_unit, rel_unit) elif order['ordertype'] in ['reloffer', 'swreloffer', 'sw0reloffer']: return str(Decimal(cjfee) * rel_unit_to_factor[rel_unit]) + rel_unit @@ -146,8 +145,11 @@ class OrderbookPageRequestHeader(http.server.SimpleHTTPRequestHandler): for row in rows: o = dict(row) if 'cjfee' in o: - o['cjfee'] = int(o['cjfee']) if o['ordertype']\ - == 'swabsoffer' else str(Decimal(o['cjfee'])) + if o['ordertype'] == 'swabsoffer'\ + or o['ordertype'] == 'sw0absoffer': + o['cjfee'] = int(o['cjfee']) + else: + o['cjfee'] = str(Decimal(o['cjfee'])) result.append(o) return result @@ -306,7 +308,7 @@ class OrderbookPageRequestHeader(http.server.SimpleHTTPRequestHandler): (str(ordercount) + ' orders found by ' + self.get_counterparty_count() + ' counterparties' + alert_msg), 'MAINBODY': ( - toggleSWform + refresh_orderbook_form + choose_units_form + + rotateObform + refresh_orderbook_form + choose_units_form + table_heading + ordertable + '\n') } elif self.path == '/ordersize': @@ -347,7 +349,7 @@ class OrderbookPageRequestHeader(http.server.SimpleHTTPRequestHandler): def do_POST(self): global filtered_offername_list - pages = ['/refreshorderbook', '/toggleSW'] + pages = ['/refreshorderbook', '/rotateOb'] if self.path not in pages: return if self.path == '/refreshorderbook': @@ -355,11 +357,13 @@ class OrderbookPageRequestHeader(http.server.SimpleHTTPRequestHandler): time.sleep(5) self.path = '/' self.do_GET() - elif self.path == '/toggleSW': - if filtered_offername_list == swoffers: - filtered_offername_list = pkoffers - else: + elif self.path == '/rotateOb': + if filtered_offername_list == sw0offers: + log.debug('Showing nested segwit orderbook') filtered_offername_list = swoffers + elif filtered_offername_list == swoffers: + log.debug('Showing native segwit orderbook') + filtered_offername_list = sw0offers self.path = '/' self.do_GET()