diff --git a/golem/ethereum/transactionsystem.py b/golem/ethereum/transactionsystem.py index e7cfa12ce8..8038eed324 100644 --- a/golem/ethereum/transactionsystem.py +++ b/golem/ethereum/transactionsystem.py @@ -343,7 +343,7 @@ def add_payment_info( # pylint: disable=too-many-arguments task_id: str, subtask_id: str, value: int, - eth_address: str) -> int: + eth_address: str) -> model.TaskPayment: if not self._payment_processor: raise Exception('Start was not called') return self._payment_processor.add( diff --git a/golem/task/taskserver.py b/golem/task/taskserver.py index 7970297414..6cb0230efa 100644 --- a/golem/task/taskserver.py +++ b/golem/task/taskserver.py @@ -597,18 +597,20 @@ def accept_result(self, subtask_id, key_id, eth_address: str, value: int, task_id = self.task_manager.get_task_id(subtask_id) task = self.task_manager.tasks[task_id] - payment_processed_ts = self.client.transaction_system.add_payment_info( + task_payment = self.client.transaction_system.add_payment_info( node_id=task.header.task_owner.key, task_id=task.header.task_id, subtask_id=subtask_id, value=value, eth_address=eth_address, ) + payment_created_ts = int(task_payment.created_date.timestamp()) + if unlock_funds: self.client.funds_locker.remove_subtask(task_id) logger.debug('Result accepted for subtask: %s Created payment ts: %r', - subtask_id, payment_processed_ts) - return payment_processed_ts + subtask_id, payment_created_ts) + return payment_created_ts def income_listener(self, event='default', node_id=None, **kwargs): if event == 'confirmed': diff --git a/tests/golem/task/dummy/runner.py b/tests/golem/task/dummy/runner.py old mode 100644 new mode 100755 index 6c160a1aa8..0250f9407e --- a/tests/golem/task/dummy/runner.py +++ b/tests/golem/task/dummy/runner.py @@ -30,6 +30,7 @@ from golem.task import rpc as task_rpc from golem.model import db, DB_FIELDS, DB_MODELS from golem.network.transport.tcpnetwork import SocketAddress +from tests.factories import model as model_factory from tests.golem.task.dummy.task import DummyTask, DummyTaskParameters REQUESTING_NODE_KIND = "requestor" @@ -116,7 +117,7 @@ def _make_mock_ets(): ets.eth_base_for_batch_payment.return_value = 0.001 * denoms.ether ets.get_payment_address.return_value = '0x' + 40 * '6' ets.get_nodes_with_overdue_payments.return_value = [] - ets.add_payment_info.return_value = int(time.time()) + ets.add_payment_info.return_value = model_factory.TaskPayment() return ets