diff options
author | Linus Nordberg <linus@nordberg.se> | 2014-09-19 14:33:25 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2014-09-19 14:54:31 +0200 |
commit | c2d7fcc2e1274c148f0ac94436c138022390ffc4 (patch) | |
tree | 7feb5d0c280d931b8b19085995bf787e7de6eee8 /src/ht.erl | |
parent | e84b362eb7f5dbdea44c811534521f89707f66b4 (diff) |
Hash over the MerkleTreeLeaf.
Hash over correct timestamp when adding submitted entries.
Hash over the full #mtl{} when adding entries from db.
Diffstat (limited to 'src/ht.erl')
-rw-r--r-- | src/ht.erl | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -261,15 +261,14 @@ new([-1]) -> new([]); %% Initialise tree from db. new([Version]) when is_integer(Version) -> - foldl(fun(#mtl{entry = E}, Tree) -> - D = (E#timestamped_entry.entry)#plop_entry.data, - add(Tree, D) % Return value -> Tree in next invocation. + foldl(fun(MTL, Tree) -> + %% Return value becomes Tree in next invocation. + add(Tree, plop:serialise(MTL)) end, new([]), db:get_by_index_sorted(0, Version)); %% Initialise tree from List. new([List]) when is_list(List) -> - foldl(fun(D, Tree) -> - add(Tree, D) % Return value -> Tree in next invocation. - end, new([]), List). + foldl(fun(SerialisedMTL, Tree) -> add(Tree, SerialisedMTL) end, + new([]), List). update(Tree) -> update(Tree, Tree#tree.version). |