From 7b89cad7cde18fc42453d6c11f8c68aeb529a6b3 Mon Sep 17 00:00:00 2001 From: Robert Martin-Legene <robert@nic.ar> Date: Wed, 12 Sep 2018 15:38:32 -0300 Subject: [PATCH] Tratando de hacer el SC acceptar una lista. Falta actualizar el ABI en local_settings.py --- SmartContracts/ProofOfExistence.sol | 13 ++++++++++--- api/app/managers.py | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/SmartContracts/ProofOfExistence.sol b/SmartContracts/ProofOfExistence.sol index 7b22d85..f9b9069 100644 --- a/SmartContracts/ProofOfExistence.sol +++ b/SmartContracts/ProofOfExistence.sol @@ -8,9 +8,16 @@ contract ProofOfExistence { mapping (uint256 => Dato) private hashstore; - function stamp(uint256 ots, uint256 file_hash) public { - if ( hashstore[ots] == 0 ) - hashstore[ots] = Dato({blockNumber: block.number, hash: file_hash}); + function stamp(uint256[] incoming) public { + uint256 len = incoming.length; + uint256 i = 0; + while ( i+1 < len ) + { + uint256 ots = incoming[i++]; + uint256 file_hash = incoming[i++]; + if ( hashstore[ots] == 0 ) + hashstore[ots] = Dato({blockNumber: block.number, hash: file_hash}); + } } function verify(uint256 ots, uint256 file_hash) public view returns(bool){ diff --git a/api/app/managers.py b/api/app/managers.py index 95b78fd..a11b991 100644 --- a/api/app/managers.py +++ b/api/app/managers.py @@ -52,7 +52,7 @@ class TimestampManager(models.Manager): def stamp(ots_hash, file_hash): contract = TimestampManager.get_current_contract() - return contract.functions.stamp(ots_hash, file_hash).transact({'from': Web3.toChecksumAddress(ACCOUNT_ADDRESS)}) + return contract.functions.stamp([ots_hash, file_hash]).transact({'from': Web3.toChecksumAddress(ACCOUNT_ADDRESS)}) @staticmethod def verify(contract_version, ots_hash, file_hash): -- GitLab