9 Commits

Author SHA1 Message Date
Felix Lange
46a527d014 [release/1.4.16] 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!

(cherry picked from commit 1f1ea18b5414bea22332bb4fce53cc95b5c6a07d)
2016-10-06 16:25:17 +02:00
Felix Lange
dc2b23c869 [release/1.4.13] core/state: track all accounts in canon state
This change introduces a global, per-state cache that keeps account data
in the canon state. Thanks to @karalabe for lots of fixes.

(cherry picked from commit a59a93f476434f2805c8fd3e10bf1b2f579b078f)
2016-09-26 10:31:18 +02:00
Gustav Simonsson
1b1f293082 core/state, core, miner: handle missing root error from state.New 2015-10-16 02:22:06 +02:00
Felix Lange
bfbcfbe4a9 all: fix license headers one more time
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa all: update license headers to distiguish GPL/LGPL
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange
ea54283b30 all: update license information 2015-07-07 14:12:44 +02:00
obscuren
204ac81188 Moved handling of nonces to the managed state 2015-04-08 23:30:07 +02:00
obscuren
31b086f511 Added additional methods to the managed state
* GetNonce Returns the canonical nonce
* SetNonce Set the managed account's nonce
2015-04-08 13:06:56 +02:00
obscuren
0330077d76 moved state and vm to core 2015-03-23 16:59:09 +01:00