diff --git a/virtuals_acp/client.py b/virtuals_acp/client.py index 6dfa6dc..b3a9c31 100644 --- a/virtuals_acp/client.py +++ b/virtuals_acp/client.py @@ -310,20 +310,31 @@ def respond_to_job_memo( ) -> str: try: - tx_hash = self.contract_manager.sign_memo(self.agent_address, memo_id, accept, reason or "") - time.sleep(10) - print(f"Responding to job {job_id} with memo {memo_id} and accept {accept} and reason {reason}") - self.contract_manager.create_memo( - self.agent_address, - job_id, - f"{reason if reason else f'Job {job_id} accepted.'}", - MemoType.MESSAGE, - is_secured=False, - next_phase=ACPJobPhase.TRANSACTION - ) + if accept: + self.contract_manager.sign_memo(self.agent_address, memo_id, accept, reason or "") + time.sleep(10) + + transaction_result = self.contract_manager.create_memo( + self.agent_address, + job_id, + f"{reason if reason else f'Job {job_id} accepted.'}", + MemoType.MESSAGE, + is_secured=False, + next_phase=ACPJobPhase.TRANSACTION + ) + else: + transaction_result = self.contract_manager.create_memo( + self.agent_address, + job_id, + f"{reason if reason else f'Job {job_id} rejected.'}", + MemoType.MESSAGE, + is_secured=False, + next_phase=ACPJobPhase.REJECTED + ) + print(f"Responded to job {job_id} with memo {memo_id} and accept {accept} and reason {reason}") - return tx_hash + return transaction_result except Exception as e: print(f"Error in respond_to_job_memo: {e}") raise