Patrick Mylund Nielsen
3d91976f08
Geth 1.7.2 rebase and addition of Istanbul BFT ( #207 )
2017-10-31 18:24:11 -04:00
Felix Lange
90fce8bfa6
core/state: rename Delete/IsDeleted to Suicide/HasSuicided
...
The delete/remove naming has caused endless confusion in the past.
2016-10-06 15:32:17 +02:00
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
Péter Szilágyi
b7159818f9
core/state: track dirty state entries for each object
2016-10-03 10:48:01 +03:00
Péter Szilágyi
cb84e3f029
cmd, core, internal, light, tests: avoid hashing the code in the VM
2016-10-01 16:01:58 +03:00
Felix Lange
a59a93f476
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.
2016-09-26 10:09:52 +02:00
Gustav Simonsson
b6b17e5648
core/state, light: remove unused StateObject.initCode
2016-09-19 02:16:58 -04:00
Nick Johnson
581b320b9d
core/state: Fix memory expansion bug by not copying clean objects
2016-09-19 08:57:08 +08:00
Felix Lange
68c755a238
core/state: fix TestDump
...
Lazy "I'll just put return here instead of fixing the test" found by go vet.
2016-04-15 11:16:56 +02:00
Leif Jurvetson
b7bb2d8589
core: various typos
2016-03-15 11:08:18 -07:00
Felix Lange
1b89bd5d26
core/state, core/types use package rlp for state, receipt serialisation
2015-12-18 12:09:10 +01:00
Felix Lange
de8d5aaa92
core, core/state: move gas tracking out of core/state
...
The amount of gas available for tx execution was tracked in the
StateObject representing the coinbase account. This commit makes the gas
counter a separate type in package core, which avoids unintended
consequences of intertwining the counter with state logic.
2015-10-17 10:24:34 +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
a2d5a60418
core, core/state: batch-based state sync
2015-09-22 22:57:37 +02:00
Gustav Simonsson
bf879ef230
core/state: test formatting adhering to Go convention
2015-09-09 00:26:18 +02:00
Gustav Simonsson
004ed786b4
core/state: deleted field in StateObject Copy() and unit test
2015-09-08 15:56:11 +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
Jeffrey Wilcke
ab16ce70fc
core, miner, tests: renamed state methods
...
* Update => SyncIntermediate
* Added SyncObjects
SyncIntermediate only updates whatever has changed, but, as a side
effect, requires much more disk space.
SyncObjects will only sync whatever is required for a block and will not
save intermediate state to disk. As drawback this requires more time
when more txs come in.
2015-07-04 02:51:36 +02:00
obscuren
aaddc99c35
core/state: fixed state tests
2015-06-17 12:53:22 +02:00
obscuren
b8124ec791
Removed old (unused) argument
2015-04-01 23:58:26 +02:00
obscuren
f468364e4d
fixed tests
2015-04-01 11:42:02 +02:00
obscuren
0330077d76
moved state and vm to core
2015-03-23 16:59:09 +01:00