go-ethereum/core/state
Felix Lange 1f1ea18b54 core/state: implement reverts by journaling all changes
This commit replaces the deep-copy based state revert mechanism with a
linear complexity journal. This commit also hides several internal
StateDB methods to limit the number of ways in which calling code can
use the journal incorrectly.

As usual consultation and bug fixes to the initial implementation were
provided by @karalabe, @obscuren and @Arachnid. Thank you!
2016-10-06 15:32:16 +02:00
..
dump.go core/state: implement reverts by journaling all changes 2016-10-06 15:32:16 +02:00
iterator.go core, trie: replace state caches with trie journal 2016-09-28 11:27:28 +03:00
iterator_test.go all: update license information 2016-04-15 09:48:05 +02:00
journal.go core/state: implement reverts by journaling all changes 2016-10-06 15:32:16 +02:00
main_test.go all: fix license headers one more time 2015-07-23 18:35:11 +02:00
managed_state.go core/state: track all accounts in canon state 2016-09-26 10:09:52 +02:00
managed_state_test.go core/state: implement reverts by journaling all changes 2016-10-06 15:32:16 +02:00
state_object.go core/state: implement reverts by journaling all changes 2016-10-06 15:32:16 +02:00
state_test.go core/state: implement reverts by journaling all changes 2016-10-06 15:32:16 +02:00
statedb.go core/state: implement reverts by journaling all changes 2016-10-06 15:32:16 +02:00
statedb_test.go core/state: implement reverts by journaling all changes 2016-10-06 15:32:16 +02:00
sync.go core, eth, trie: fix data races and merge/review issues 2015-10-21 16:49:55 +03:00
sync_test.go core/state: implement reverts by journaling all changes 2016-10-06 15:32:16 +02:00