def get_outputs_by_public_key(self, public_key): """Get outputs for a public key""" txs = list(query.get_owned_ids(self.connection, public_key)) return [TransactionLink(tx['id'], index) for tx in txs for index, output in enumerate(tx['outputs']) if condition_details_has_owner(output['condition']['details'], public_key)]
def test_get_owned_ids(signed_create_tx, user_pk): from bigchaindb.backend import connect, query conn = connect() # insert a transaction conn.db.transactions.insert_one(signed_create_tx.to_dict()) txns = list(query.get_owned_ids(conn, user_pk)) assert txns[0] == signed_create_tx.to_dict()
def test_get_owned_ids(signed_create_tx, user_pk): from bigchaindb.backend import connect, query conn = connect() # insert a transaction conn.db.transactions.insert_one(deepcopy(signed_create_tx.to_dict())) txns = list(query.get_owned_ids(conn, user_pk)) assert txns[0] == signed_create_tx.to_dict()
def get_outputs_by_public_key(self, public_key): """ Get outputs for a public key """ res = list(query.get_owned_ids(self.connection, public_key)) txs = [tx for _, tx in self.filter_valid_items(res)] return [ TransactionLink(tx['id'], index) for tx in txs for index, output in enumerate(tx['outputs']) if output_has_owner(output, public_key) ]
def test_get_owned_ids(signed_create_tx, user_pk): from bigchaindb.backend import connect, query from bigchaindb.models import Block conn = connect() # create and insert a block block = Block(transactions=[signed_create_tx]) conn.db.bigchain.insert_one(block.to_dict()) [(block_id, tx)] = list(query.get_owned_ids(conn, user_pk)) assert block_id == block.id assert tx == signed_create_tx.to_dict()