From a702778d1f7843e00bafb7221ee8d4324c6458ba Mon Sep 17 00:00:00 2001 From: Lev Gorodetskiy Date: Sat, 10 Jul 2021 14:25:33 +0300 Subject: [PATCH] Request OperationData initiator fields (#84) --- src/dipdup/datasources/tzkt/datasource.py | 3 +++ src/dipdup/models.py | 2 ++ tests/test_dipdup/test_models.py | 1 + 3 files changed, 6 insertions(+) diff --git a/src/dipdup/datasources/tzkt/datasource.py b/src/dipdup/datasources/tzkt/datasource.py index f24e5b9aa..5eafed5b1 100644 --- a/src/dipdup/datasources/tzkt/datasource.py +++ b/src/dipdup/datasources/tzkt/datasource.py @@ -36,6 +36,7 @@ "sender", "nonce", "target", + "initiator", "amount", "storage", "status", @@ -655,12 +656,14 @@ def convert_operation(cls, operation_json: Dict[str, Any]) -> OperationData: counter=operation_json['counter'], sender_address=operation_json['sender']['address'] if operation_json.get('sender') else None, target_address=operation_json['target']['address'] if operation_json.get('target') else None, + initiator_address=operation_json['initiator']['address'] if operation_json.get('initiator') else None, amount=operation_json.get('amount') or operation_json.get('contractBalance'), status=operation_json['status'], has_internals=operation_json.get('hasInternals'), sender_alias=operation_json['sender'].get('alias'), nonce=operation_json.get('nonce'), target_alias=operation_json['target'].get('alias') if operation_json.get('target') else None, + initiator_alias=operation_json['initiator'].get('alias') if operation_json.get('initiator') else None, entrypoint=operation_json['parameter']['entrypoint'] if operation_json.get('parameter') else None, parameter_json=operation_json['parameter']['value'] if operation_json.get('parameter') else None, originated_contract_address=operation_json['originatedContract']['address'] diff --git a/src/dipdup/models.py b/src/dipdup/models.py index 5ea902e31..d79ec0c90 100644 --- a/src/dipdup/models.py +++ b/src/dipdup/models.py @@ -60,6 +60,7 @@ class OperationData: counter: int sender_address: str target_address: Optional[str] + initiator_address: Optional[str] amount: Optional[int] status: str has_internals: Optional[bool] @@ -68,6 +69,7 @@ class OperationData: sender_alias: Optional[str] = None nonce: Optional[int] = None target_alias: Optional[str] = None + initiator_alias: Optional[str] = None entrypoint: Optional[str] = None parameter_json: Optional[Any] = None originated_contract_address: Optional[str] = None diff --git a/tests/test_dipdup/test_models.py b/tests/test_dipdup/test_models.py index 419be26e0..b9c945ffa 100644 --- a/tests/test_dipdup/test_models.py +++ b/tests/test_dipdup/test_models.py @@ -81,6 +81,7 @@ def test_merged_storage(self): counter=0, sender_address='', target_address='', + initiator_address='', amount=0, status='', has_internals=False,