grin/store
Ignotus Peverell 6ba22e71c8
Fix for buffer-pruned positions in MMR store
The MMR storage has a buffer for all changes so they can either
be discarded without side effects or committed to disk. Pruning
can also happen in the buffer if an input directly spends an
output in a block (not likely), or a fork has an input spending
a previous output within it.

When the buffer gets flushed to storage, the pruned element was
just skipped, causing an offset within the underlying storage and
a shorter file than expected. This fix writes zeroes instead, so
the size is consistent. Note that the zeroes will be removed with
all other pruned elements on next compaction.

Fixes #444
2017-12-09 18:53:24 +00:00
..
src Fix for buffer-pruned positions in MMR store 2017-12-09 18:53:24 +00:00
tests Fix #235 sumtree size double-counting rm log 2017-11-04 13:34:33 -04:00
Cargo.toml Sumtree mmap fix (#217) 2017-10-30 12:43:49 -04:00
rustfmt.toml Initial import. 2016-10-20 20:06:12 -04:00