examine open orders
This commit is contained in:
@@ -11,17 +11,29 @@ from dexorder.blockstate.fork import current_fork
|
||||
from dexorder.contract.dexorder import VaultContract
|
||||
from dexorder.order.orderstate import Order
|
||||
from dexorder.tokens import adjust_decimals
|
||||
from dexorder.util import json
|
||||
from dexorder.vault_blockdata import vault_balances, pretty_balances
|
||||
from dexorder.bin.executable import execute
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
async def dump_orders(orders, args):
|
||||
if args.json:
|
||||
print(json.dumps([order.status.dump() for order in orders]))
|
||||
else:
|
||||
first = True
|
||||
for order in orders:
|
||||
if first:
|
||||
first = False
|
||||
else:
|
||||
print()
|
||||
print(await order.pprint())
|
||||
|
||||
def command_vault_argparse(subparsers):
|
||||
parser = subparsers.add_parser('vault', help='show the vault\'s balances and orders')
|
||||
parser.add_argument('address', help='address of the vault')
|
||||
parser.add_argument('--all', help='show all orders including closed ones', action='store_true')
|
||||
# parser.add_argument('--json', help='output in JSON format', action='store_true')
|
||||
parser.add_argument('--json', help='output in JSON format', action='store_true')
|
||||
|
||||
async def command_vault(args):
|
||||
balances = vault_balances.get(args.address, {})
|
||||
@@ -30,6 +42,7 @@ async def command_vault(args):
|
||||
print(pretty_balances({k: (await adjust_decimals(k, v)) for k, v in balances.items()}))
|
||||
print(f'Orders:')
|
||||
i = 0
|
||||
orders = []
|
||||
while True:
|
||||
key = OrderKey(args.address, i)
|
||||
try:
|
||||
@@ -37,16 +50,19 @@ async def command_vault(args):
|
||||
except KeyError:
|
||||
break
|
||||
if args.all or order.is_open:
|
||||
print(await order.pprint())
|
||||
orders.append(order)
|
||||
i += 1
|
||||
await dump_orders(orders, args)
|
||||
|
||||
|
||||
def command_open_argparse(subparsers):
|
||||
parser = subparsers.add_parser('open', help='show all open orders')
|
||||
parser.add_argument('--json', help='output in JSON format', action='store_true')
|
||||
|
||||
|
||||
async def command_open(args):
|
||||
await dump_orders([Order.of(key) for key in Order.open_orders], args)
|
||||
|
||||
# for key in Order.open_orders:
|
||||
# order = Order.of(key)
|
||||
# if args.json:
|
||||
# print(json.dumps(order.status.dump()))
|
||||
# else:
|
||||
# print()
|
||||
# print(order)
|
||||
|
||||
async def main(args: list):
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
Reference in New Issue
Block a user