diff --git a/src/TimeStampAuthority.sol b/src/TimeStampAuthority.sol new file mode 100644 index 0000000000000000000000000000000000000000..2282493d69c52e1bb7ed92a8548e32c2476b3d57 --- /dev/null +++ b/src/TimeStampAuthority.sol @@ -0,0 +1,26 @@ +// 20180718 Robert Martin-Legene <robert@nic.ar> +// Time stamp authority + +pragma solidity ^0.4.24; + +contract TimeStampAuthority { + // This mapping is almost an "associative array" + mapping (uint256 => uint) private hashstore; + + // Stores hashes (256 bit uint) of a document in the mapping + function put( uint256[] hasharray ) public { + uint256 i = hasharray.length; + while (i>0) { + i--; + uint256 h = hasharray[i]; + if (hashstore[h] == 0) { + hashstore[h] = block.number; + } + } + } + + // Returns the block number in which the hash was first seen + function get( uint256 hash ) public view returns (uint) { + return hashstore[hash]; + } +}