Skip to content

Commit 0f71094

Browse files
Fix data model
1 parent 9e6664f commit 0f71094

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

virtuals_acp/client.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ def handle_new_task(self, data) -> None:
328328
payable_details=memo.get("payableDetails"),
329329
txn_hash=memo.get("txHash"),
330330
signed_txn_hash=memo.get("signedTxHash"),
331-
state=ACPMemoState(memo.get("state")),
331+
state=ACPMemoState(memo.get("state")) if memo.get("state") else None,
332332
)
333333
for memo in data["memos"]
334334
]
@@ -359,6 +359,7 @@ def handle_new_task(self, data) -> None:
359359
context=context,
360360
contract_address=data.get("contractAddress"),
361361
net_payable_amount=data.get("netPayableAmount"),
362+
deliverable=data.get("deliverable"),
362363
)
363364
if self.on_new_task:
364365
self.on_new_task(job, memo_to_sign)
@@ -383,7 +384,7 @@ def handle_evaluate(self, data) -> None:
383384
payable_details=memo.get("payableDetails"),
384385
txn_hash=memo.get("txHash"),
385386
signed_txn_hash=memo.get("signedTxHash"),
386-
state=ACPMemoState(memo.get("state")),
387+
state=ACPMemoState(memo.get("state")) if memo.get("state") else None,
387388
)
388389
for memo in data["memos"]
389390
]
@@ -408,6 +409,7 @@ def handle_evaluate(self, data) -> None:
408409
context=context,
409410
contract_address=data.get("contractAddress"),
410411
net_payable_amount=data.get("netPayableAmount"),
412+
deliverable=data.get("deliverable"),
411413
)
412414
self.on_evaluate(job)
413415

@@ -770,7 +772,7 @@ def _hydrate_jobs(
770772
payable_details=memo.get("payableDetails"),
771773
txn_hash=memo.get("txHash"),
772774
signed_txn_hash=memo.get("signedTxHash"),
773-
state=ACPMemoState(memo.get("state")),
775+
state=ACPMemoState(memo.get("state")) if memo.get("state") else None,
774776
)
775777
for memo in job.get("memos", [])
776778
]
@@ -796,6 +798,7 @@ def _hydrate_jobs(
796798
context=context,
797799
contract_address=job.get("contractAddress"),
798800
net_payable_amount=job.get("netPayableAmount"),
801+
deliverable=job.get("deliverable"),
799802
)
800803
)
801804

@@ -856,7 +859,7 @@ def get_job_by_onchain_id(self, onchain_job_id: int) -> "ACPJob":
856859
payable_details=memo.get("payableDetails"),
857860
txn_hash=memo.get("txHash"),
858861
signed_txn_hash=memo.get("signedTxHash"),
859-
state=ACPMemoState(memo.get("state")),
862+
state=ACPMemoState(memo.get("state")) if memo.get("state") else None,
860863
)
861864
)
862865

@@ -881,6 +884,7 @@ def get_job_by_onchain_id(self, onchain_job_id: int) -> "ACPJob":
881884
context=context,
882885
contract_address=job.get("contractAddress"),
883886
net_payable_amount=job.get("netPayableAmount"),
887+
deliverable=data.get("deliverable"),
884888
)
885889
except Exception as e:
886890
raise ACPApiError(f"Failed to get job by onchain ID: {e}")
@@ -915,7 +919,7 @@ def get_memo_by_id(self, onchain_job_id: int, memo_id: int) -> "ACPMemo":
915919
payable_details=memo.get("payableDetails"),
916920
txn_hash=memo.get("txHash"),
917921
signed_txn_hash=memo.get("signedTxHash"),
918-
state=ACPMemoState(memo.get("state")),
922+
state=ACPMemoState(memo.get("state")) if memo.get("state") else None,
919923
)
920924

921925
except Exception as e:

virtuals_acp/job.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class ACPJob(BaseModel):
5050
context: Dict[str, Any] | None
5151
contract_address: Optional[str] = None
5252
net_payable_amount: Optional[float] = None
53+
deliverable: Optional[DeliverablePayload] = None # TODO: turn this into private attr
5354

5455
model_config = ConfigDict(arbitrary_types_allowed=True)
5556

@@ -58,7 +59,6 @@ class ACPJob(BaseModel):
5859
_requirement: Optional[Union[str, Dict[str, Any]]] = PrivateAttr(default=None)
5960
_price_type: PriceType = PrivateAttr(default=PriceType.FIXED)
6061
_price_value: float = PrivateAttr(default=0.0)
61-
_deliverable: Optional[DeliverablePayload] = PrivateAttr(default=None)
6262

6363
def model_post_init(self, __context: Any) -> None:
6464
if self.acp_client:
@@ -744,7 +744,7 @@ def _deliver_cross_chain_payable(self, client_address: str, amount: FareAmountBa
744744
self.acp_contract_client.handle_operation([create_memo_op])
745745

746746
def get_deliverable(self) -> Optional[DeliverablePayload]:
747-
deliverable = self._deliverable
747+
deliverable = self.deliverable
748748
if not deliverable:
749749
return None
750750

0 commit comments

Comments
 (0)