def get_transactions(arg=None): """ /transactions/<hex> return transaction by hexhash """ try: tx_hash = arg.decode('hex') except TypeError: bottle.abort(500, 'No hex %s' % arg) try: # index tx, blk = chain_manager.index.get_transaction(tx_hash) except KeyError: # try miner txs = chain_manager.miner.get_transactions() found = [tx for tx in txs if tx.hex_hash() == arg] if not found: return bottle.abort(404, 'Unknown Transaction %s' % arg) tx, blk = found[0], chain_manager.miner.block # response tx = tx.to_dict() tx['block'] = blk.hex_hash() if not chain_manager.in_main_branch(blk): tx['confirmations'] = 0 else: tx['confirmations'] = chain_manager.head.number - blk.number return dict(transactions=[tx])
def get_transactions(arg=None): """ /transactions/<hex> return transaction by hexhash """ logger.debug('GET transactions/%s', arg) try: tx_hash = arg.decode('hex') except TypeError: bottle.abort(500, 'No hex %s' % arg) try: # index tx, blk = chain_manager.index.get_transaction(tx_hash) except KeyError: # try miner txs = chain_manager.miner.get_transactions() found = [tx for tx in txs if tx.hex_hash() == arg] if not found: return bottle.abort(404, 'Unknown Transaction %s' % arg) tx, blk = found[0], chain_manager.miner.block # response tx = tx.to_dict() tx['block'] = blk.hex_hash() if not chain_manager.in_main_branch(blk): tx['confirmations'] = 0 else: tx['confirmations'] = chain_manager.head.number - blk.number return dict(transactions=[tx])
def get_txdetails(arg=None): """ /transactions/<hex> return transaction by hexhash """ tx, blk = get_transaction_and_block(arg) tx = tx.to_dict() tx['block'] = blk.hex_hash() if not chain_manager.in_main_branch(blk): tx['confirmations'] = 0 else: tx['confirmations'] = chain_manager.head.number - blk.number return dict(transactions=[tx])