summaryrefslogtreecommitdiff
path: root/src/ht.erl
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordberg.se>2014-09-19 14:33:25 +0200
committerLinus Nordberg <linus@nordberg.se>2014-09-19 14:54:31 +0200
commitc2d7fcc2e1274c148f0ac94436c138022390ffc4 (patch)
tree7feb5d0c280d931b8b19085995bf787e7de6eee8 /src/ht.erl
parente84b362eb7f5dbdea44c811534521f89707f66b4 (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.erl11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/ht.erl b/src/ht.erl
index b6570a0..ec8527f 100644
--- a/src/ht.erl
+++ b/src/ht.erl
@@ -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).