mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-24 14:35:45 +00:00
Merge branch 'refactor-backend' of github.com:planetmint/planetmint into refactor-backend
This commit is contained in:
commit
10be96b4c7
@ -28,7 +28,7 @@ class DbTransaction:
|
||||
inputs=Input.from_list_dict(transaction["inputs"]),
|
||||
assets=Asset.from_list_dict(transaction["assets"]),
|
||||
metadata=MetaData.from_dict(transaction["metadata"]),
|
||||
script=Script.from_dict(transaction["script"]),
|
||||
script=Script.from_dict(transaction["script"]) if "script" in transaction else None,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
@ -53,7 +53,8 @@ class DbTransaction:
|
||||
@staticmethod
|
||||
def remove_generated_or_none_output_keys(output):
|
||||
output["condition"]["details"] = {k: v for k, v in output["condition"]["details"].items() if v is not None}
|
||||
output.pop("id")
|
||||
if "id" in output:
|
||||
output.pop("id")
|
||||
return output
|
||||
|
||||
|
||||
|
||||
@ -113,6 +113,17 @@ class Output:
|
||||
transaction_id=output[5],
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def from_dict(output_dict: dict, index: int, transaction_id: str) -> Output:
|
||||
return Output(
|
||||
id="placeholder",
|
||||
amount=int(output_dict["amount"]),
|
||||
public_keys=output_dict["public_keys"],
|
||||
condition=Condition.from_dict(output_dict["condition"]),
|
||||
index=index,
|
||||
transaction_id=transaction_id
|
||||
)
|
||||
|
||||
def to_dict(self) -> dict:
|
||||
return {
|
||||
"id": self.id,
|
||||
|
||||
@ -389,7 +389,9 @@ class Planetmint(object):
|
||||
if input_tx is None:
|
||||
for ctxn in current_transactions:
|
||||
if ctxn.id == input_txid:
|
||||
input_tx = ctxn
|
||||
ctxn_dict = ctxn.to_dict()
|
||||
input_tx = DbTransaction.from_dict(ctxn_dict)
|
||||
_output = [Output.from_dict(output, index, ctxn.id) for index, output in enumerate(ctxn_dict["outputs"])]
|
||||
|
||||
if input_tx is None:
|
||||
raise InputDoesNotExist("input `{}` doesn't exist".format(input_txid))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user