Commit Graph

11 Commits

Author SHA1 Message Date
Robert Habermeier
11b65ce53d Remove (almost all) panickers from trie module (#1776)
* memorydb ub patch and other cleanup

* fix denote invocations

* move trie traits into trie module

* replace "denote" with shim

* triedb returns results and no longer panics

* fix warnings

* get ethcore compiling

* warn on trie errors in ethcore

* remove unsafety from node decoder

* restore broken denote behavior for this branch

* fix overlayrecent fallout

* fix triedb tests

* remove unwrap in state

* alter Trie::get to return Result<Option<_>>

* fix refcell error in require

* fix test warnings

* fix json tests

* whitespace

[ci:skip]

* Avoid unneeded match/indentation

* whitespace

* prettify map_or_else

* remove test warning
2016-08-03 18:35:48 +02:00
Robert Habermeier
517c705ab5 In-memory trie operations (#1408)
* small cleanups in trie

* Memory trie skeleton

* decode nodes from RLP

* memorytrie -> memorytriedb

* implement Trie for MemoryTrie

* partially implement insert

* implement trie insertion

* don't load whole trie into memory, lookup across memory and db

* re-implement insertion and lazily load necessary nodes from DB

* node removal w/o fixing

* reduce churn in node storage

* finish remove implementation

* committing the in-memory trie

* reload root node after commit

* generate elastic arrays when converting nodes to rlp

* port triedbmut tests over to memorytriedb, fix a few bugs.

* hash count and dirty flag

* initial attempt for node inspection

* back to skeleton

* inspection framework

* implement insertion

* no panic paths in insert

* implement deletion without fixing

* node fixing

* commit nodes to db

* tracing targets and bugfix

* get tests to pass with a lot of tracing

* set playpen iterations to 10

* remove some tracing statements

* make TrieMut::root take &mut self

* replace triedbmut with memorytriedb

* treat empty insert value as removal

* add test for null insert

* fix some style concerns

* trie: use nodehandle for root_node, minor cleanup
2016-07-14 18:06:46 +02:00
Tomasz Drwięga
bb2a631885 Fixing compilation&clippy warnings (#1531)
* Fixing compilation&clippy warnings

* Adding spaces
2016-07-04 13:53:55 +02:00
debris
36626f96a8 separated TrieMut from Trie, added Generic Trie type to TrieFactory 2016-06-27 11:19:27 +02:00
debris
1b4f67151f fatdb and fatdb iterator module 2016-06-27 09:16:34 +02:00
Robert Habermeier
13968aaa38 Refactor triedb constructors to error on invalid state root (#1230)
* add TrieError, refactor Trie DB creation

* remove Result type alias due to glob import conflicts

* fix fallout in state.rs

* add debug, display impl for TrieError

* fix fallout in account.rs

* ethcore::Error::TrieError variant

* fix remaining fallout in ethcore crate

* added From<TrieError> impl for Error, removed map_err calls

* fix test breakages

* fix doc tests

* update docs

[ci skip]
2016-06-07 11:44:09 -07:00
Tomasz Drwięga
256557d3cc Removing warnings 2016-05-23 11:46:01 +02:00
Tomasz Drwięga
85da55a537 Fixing warnings 2016-04-06 10:55:40 +02:00
debris
c90d64662a added license in every *.rs file 2016-02-05 13:40:41 +01:00
Gav Wood
387e3ec3fd Ensure Spec::ensure_db_good() places DB entries for code & storage. 2016-01-26 15:00:22 +01:00
Gav Wood
6ea8eaa3b5 Move ethcore files back into root. 2016-01-17 13:11:25 +01:00