def test_parse_from_the_start(): logging.info('\n') blocks.initialise(db) for i in range(tx_index): blocks.parse_block(db, i) # Check balances of source_default. output_new['get_balances'] = util.get_balances(db, address=source_default)
def get(self): db_updated = yield tornado.gen.Task(is_db_updated) bitcoin_updated = yield tornado.gen.Task(is_bitcoin_updated) version_updated = yield tornado.gen.Task(is_version_updated) block_count_db, block_count_bitcoin = yield tornado.gen.Task(get_status) info = None error = None balances = util.get_balances(db, asset = 'CHA', order_by = 'amount', order_dir='desc') balances = balance_tuples(balances) self.render("balances.html", db_updated = db_updated, bitcoin_updated = bitcoin_updated, version_updated = version_updated, balances = balances, info = info, error = error, block_count_db = block_count_db, block_count_bitcoin = block_count_bitcoin)
def check_balance(): balances = util.get_balances(db) for balance in balances: amount = 0 debits = util.get_debits(db, address=balance['address'], asset=balance['asset']) for debit in debits: amount -= debit['amount'] credits = util.get_credits(db, address=balance['address'], asset=balance['asset']) for credit in credits: amount += credit['amount'] assert amount == balance['amount']
def get(self): db_updated = yield tornado.gen.Task(is_db_updated) bitcoin_updated = yield tornado.gen.Task(is_bitcoin_updated) version_updated = yield tornado.gen.Task(is_version_updated) block_count_db, block_count_bitcoin = yield tornado.gen.Task( get_status) info = None error = None balances = util.get_balances(db, asset='CHA', order_by='amount', order_dir='desc') balances = balance_tuples(balances) self.render("balances.html", db_updated=db_updated, bitcoin_updated=bitcoin_updated, version_updated=version_updated, balances=balances, info=info, error=error, block_count_db=block_count_db, block_count_bitcoin=block_count_bitcoin)
total_issued = util.devise(db, results['total_issued'], args.asset, dest='output') call_date = util.isodt(results['call_date']) if results['call_date'] else results['call_date'] call_price = str(results['call_price']) + ' XCP' if results['call_price'] else results['call_price'] print('Asset Name:', args.asset) print('Asset ID:', asset_id) print('Divisible:', divisible) print('Total Issued:', total_issued) print('Issuer:', results['issuer']) print('Callable:', results['callable']) print('Call Date:', call_date) print('Call Price:', call_price) print('Description:', '‘' + results['description'] + '’') print('Shareholders:') balances = util.get_balances(db, asset=args.asset) # + util.get_escrowed(db, asset=asset) print('\taddress, quantity, escrow') for holder in util.get_holders(db, args.asset): quantity = holder['address_quantity'] if not quantity: continue quantity = util.devise(db, quantity, args.asset, 'output') if holder['escrow']: escrow = holder['escrow'] else: escrow = 'None' print('\t' + str(holder['address']) + ',' + str(quantity) + ',' + escrow) elif args.action == 'wallet': total_table = PrettyTable(['Asset', 'Balance']) totals = {} print()
call_date = util.isodt(results['call_date']) if results['call_date'] else results['call_date'] call_price = str(results['call_price']) + ' XCP' if results['call_price'] else results['call_price'] print('Asset Name:', args.asset) print('Asset ID:', asset_id) print('Divisible:', divisible) print('Supply:', supply) print('Issuer:', results['issuer']) print('Callable:', results['callable']) print('Call Date:', call_date) print('Call Price:', call_price) print('Description:', '‘' + results['description'] + '’') if args.asset != 'BTC': print('Shareholders:') balances = util.get_balances(db, asset=args.asset) print('\taddress, quantity, escrow') for holder in util.holders(db, args.asset): quantity = holder['address_quantity'] if not quantity: continue quantity = util.devise(db, quantity, args.asset, 'output') if holder['escrow']: escrow = holder['escrow'] else: escrow = 'None' print('\t' + str(holder['address']) + ',' + str(quantity) + ',' + escrow) elif args.action == 'wallet': total_table = PrettyTable(['Asset', 'Balance']) totals = {} print()
def get_address (db, address, start_block=None, end_block=None): address_dict = {} address_dict['balances'] = util.get_balances(db, address=address) address_dict['debits'] = util.get_debits(db, address=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['credits'] = util.get_credits(db, address=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['burns'] = util.get_burns(db, source=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['sends'] = util.get_sends(db, source=address, destination=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block, filterop='or') #^ with filterop == 'or', we get all sends where this address was the source OR destination address_dict['orders'] = util.get_orders(db, source=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['order_matches'] = util.get_order_matches(db, address=address, order_by='tx0_block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['btcpays'] = util.get_btcpays(db, filters=[{'field': 'source', 'op': '==', 'value': address}, {'field': 'destination', 'op': '==', 'value': address}], filterop='or', order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['issuances'] = util.get_issuances(db, issuer=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['broadcasts'] = util.get_broadcasts(db, source=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['bets'] = util.get_bets(db, source=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['bet_matches'] = util.get_bet_matches(db, address=address, order_by='tx0_block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['dividends'] = util.get_dividends(db, source=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['cancels'] = util.get_cancels(db, source=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['callbacks'] = util.get_callbacks(db, source=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['bet_expirations'] = util.get_bet_expirations(db, source=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['order_expirations'] = util.get_order_expirations(db, source=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['bet_match_expirations'] = util.get_bet_match_expirations(db, address=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) address_dict['order_match_expirations'] = util.get_order_match_expirations(db, address=address, order_by='block_index', order_dir='asc', start_block=start_block, end_block=end_block) return address_dict