mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-25 15:05:49 +00:00
refactored get_owned_ids function
This commit is contained in:
parent
4d9eaf7b03
commit
94d82a3e68
@ -63,7 +63,7 @@ def _group_transaction_by_ids(txids, connection):
|
|||||||
|
|
||||||
@register_query(LocalMongoDBConnection)
|
@register_query(LocalMongoDBConnection)
|
||||||
def store_transactions(signed_transactions: list,
|
def store_transactions(signed_transactions: list,
|
||||||
connection): # TODO fulfills object review if need to replace "" to None.
|
connection):
|
||||||
txspace = connection.space("transactions")
|
txspace = connection.space("transactions")
|
||||||
inxspace = connection.space("inputs")
|
inxspace = connection.space("inputs")
|
||||||
outxspace = connection.space("outputs")
|
outxspace = connection.space("outputs")
|
||||||
@ -265,60 +265,13 @@ def _remove_text_score(asset):
|
|||||||
|
|
||||||
|
|
||||||
@register_query(LocalMongoDBConnection)
|
@register_query(LocalMongoDBConnection)
|
||||||
def get_owned_ids(connection, owner): # TODO implement 'group_transactions_by_id'
|
def get_owned_ids(connection, owner): # TODO To make a test
|
||||||
space = connection.space("keys")
|
space = connection.space("keys")
|
||||||
_keys = space.select(owner, index="keys_search")
|
_keys = space.select(owner, index="keys_search", limit=1)
|
||||||
|
if len(_keys.data) == 0:
|
||||||
_outputid = _keys[0][1]
|
return []
|
||||||
_transactionid = _keys[0][0]
|
_transactionid = _keys[0][0]
|
||||||
|
_transactions = _group_transaction_by_ids(txids=[_transactionid], connection=connection)
|
||||||
_transaction_object = formats.transactions.copy()
|
|
||||||
_transaction_object["inputs"] = []
|
|
||||||
_transaction_object["outputs"] = []
|
|
||||||
|
|
||||||
_transactions = []
|
|
||||||
|
|
||||||
_all_keys = space.select(_outputid, index="id_search")
|
|
||||||
_all_keys = _all_keys.data
|
|
||||||
|
|
||||||
space = connection.space("transactions")
|
|
||||||
_all_transactions = space.select(_transactionid, index="id_search")
|
|
||||||
_all_transactions = _all_transactions.data
|
|
||||||
|
|
||||||
space = connection.space("inputs")
|
|
||||||
_all_inputs = space.select(_transactionid, index="id_search")
|
|
||||||
_all_inputs = _all_inputs.data
|
|
||||||
|
|
||||||
space = connection.space("outputs")
|
|
||||||
_all_outputs = space.select(_transactionid, index="id_search")
|
|
||||||
_all_outputs = _all_outputs.data
|
|
||||||
|
|
||||||
for tsobject in _all_transactions:
|
|
||||||
local_ts = _transaction_object.copy()
|
|
||||||
local_ts["id"] = tsobject[0]
|
|
||||||
local_ts["operation"] = tsobject[1]
|
|
||||||
local_ts["version"] = tsobject[2]
|
|
||||||
|
|
||||||
for _in in _all_inputs:
|
|
||||||
if _in[0] == tsobject[0]:
|
|
||||||
local_ts["inputs"].append(
|
|
||||||
{
|
|
||||||
"owners_before": _in[2],
|
|
||||||
"fulffils": {"transaction_id": _in[3], "output_index": _in[4]},
|
|
||||||
"fulffilment": _in[1]
|
|
||||||
}
|
|
||||||
)
|
|
||||||
for _out in _all_outputs:
|
|
||||||
if _out[0] == tsobject[0]:
|
|
||||||
local_ts["outputs"].append(
|
|
||||||
{
|
|
||||||
"public_keys": [_key[2] for _key in _all_keys if _out[5] == _key[1]],
|
|
||||||
"condition": {"details": {"type": _out[3], "public_key": _out[4]}, "uri": _out[2]},
|
|
||||||
"amount": _out[1]
|
|
||||||
}
|
|
||||||
)
|
|
||||||
_transactions.append(local_ts)
|
|
||||||
|
|
||||||
return _transactions
|
return _transactions
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user