Commit Graph

7661 Commits

Author SHA1 Message Date
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
ab7adb0027 Merge pull request #3073 from fjl/build-git17
internal/build: use less edgy command to get the branch name
2016-10-03 11:34:28 +03:00
Felix Lange
b4b5921dd0 internal/build: use less edgy command to get the branch name 2016-10-03 10:22:14 +02:00
Péter Szilágyi
c683e4aaa2 Merge pull request #3072 from karalabe/state-storage-dirty
core/state: track dirty state entries for each object
2016-10-03 11:15:48 +03: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
d4b55fc5b2 Merge pull request #3066 from fjl/build-env
build: improve debian packaging
2016-10-02 14:44:30 +03:00
Felix Lange
4f7627972e build: improve debian packaging
This commit tweaks the debian packaging tool:

* All build environment metadata can now be overriden on the command
  line. This allows testing the CI build behaviour locally.
* -unstable packages now actually contain the binaries (oops)
* packages use Go 1.7 to build
* archiving is skipped for PR builds
2016-10-02 13:08:56 +02:00
Felix Lange
920e1ccfe0 Merge pull request #3068 from fjl/update-sha3
crypto/sha3: update from golang.org/x/crypto/sha3 a 80b25ed4
2016-10-01 21:45:29 +02:00
Felix Lange
54ea317375 crypto/sha3: update from golang.org/x/crypto/sha3 a 80b25ed4
This pulls in the assembly implementation of keccakf1600 for amd64.
2016-10-01 21:26:43 +02:00
Péter Szilágyi
0731b44809 Merge pull request #3067 from karalabe/vm-avoid-hashing
cmd, core, internal, light, tests: avoid hashing the code in the VM
2016-10-01 16:58:49 +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
Péter Szilágyi
d8715fba1a Merge pull request #3062 from fjl/trie-delete-bug
trie: fix delete bug for values contained in fullNode
2016-09-30 16:44:00 +03:00
Felix Lange
b4cc8cbac4 Merge pull request #3032 from Gustav-Simonsson/keystore_padding
accounts: left pad keybytes-to-encrypt
2016-09-30 11:30:54 +02:00
Felix Lange
c3a77d6268 trie: fix delete bug for values contained in fullNode
Delete crashed if a fullNode contained a valueNode directly. This bug is
very unlikely to occur with SecureTrie, but can happen with regular
tries. This commit also introduces a randomised test which triggers all
trie operations, which should prevent such bugs in the future.

Credit for finding this bug goes to Github user @rjl493456442.
2016-09-29 22:53:59 +02:00
Felix Lange
ba8c4c6b1a trie: remove dependency on package crypto
Package crypto needs cgo, which is inconvenient for some build
configurations.
2016-09-29 22:23:24 +02:00
Felix Lange
44bc2e80dd Merge pull request #2914 from fjl/node-coinhabit
cmd/utils, node: make datadir reusable for bzzd
2016-09-29 14:24:37 +02:00
Péter Szilágyi
4e8cec05ab Merge pull request #3048 from sandakersmann/patch-2
README: Changed http:// to https:// on some links
2016-09-29 10:29:53 +03:00
ken10100147
afecb93e2e p2p/nat: fix parameter order for AddMapping 2016-09-28 12:11:58 +02:00
Péter Szilágyi
437c3863f1 Merge pull request #3053 from karalabe/fjl-state-trie-journal
core, trie: replace state caches with trie journal
2016-09-28 12:53:54 +03:00
Péter Szilágyi
710435b51b core, eth, trie: reuse trie journals in all our code 2016-09-28 11:27:31 +03:00
Felix Lange
cd791bd855 core, trie: replace state caches with trie journal 2016-09-28 11:27:28 +03:00
Gustav Simonsson
7cc6b801e0 accounts: left pad keybytes-to-encrypt, add 30/31 byte keys tests 2016-09-27 13:07:33 -04:00
sandakersmann
5a3844981b README: Changed http:// to https:// on some links
Changed http:// to https:// on some links in README.md
2016-09-27 08:48:55 +02:00
Felix Lange
863d166c7b Merge pull request #3043 from fjl/windows-fix-fatalf
cmd/utils: don't check for stderr redirect on windows
2016-09-26 18:29:56 +02:00
Felix Lange
b04219fdbb cmd/utils: don't check for stderr redirect on windows
The redirect check did not work on Go 1.6 and below because Stat
returned an error for stdout and stderr. In Go 1.7 Stat works on stdout
but doesn't return anything meaningful, causing cmd/geth test failures
because the message is printed to stderr only. Fix it by printing to
stdout only.
2016-09-26 17:35:19 +02:00
Péter Szilágyi
61734cc7ae Merge pull request #3041 from fjl/build-less-parallel
build: limit test concurrency
2016-09-26 16:31:10 +03:00
Felix Lange
0951524ca2 travis.yml: remove go 1.4 builder 2016-09-26 13:48:15 +02:00
Felix Lange
b0a6b979a3 build: limit test concurrency
TravisCI and AppVeyor run the tests in very slow VMs.
Some of our tests can't cope with that. Running less tests
in parallel should make them somewhat less flakey.
2016-09-26 13:41:18 +02:00
Péter Szilágyi
7f2b077da4 Merge pull request #3040 from karalabe/dummy
accounts/abi: fix typo in the comment (dummy commit)
2016-09-26 13:42:15 +03:00
Péter Szilágyi
06ac31cf1a accounts/abi: fix typo in the comment (dummy commit) 2016-09-26 13:40:28 +03:00
Péter Szilágyi
2e14aff80f Merge pull request #3037 from karalabe/state-caching
State caching
2016-09-26 11:20:47 +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
Péter Szilágyi
e859f36967 Merge pull request #3035 from Gustav-Simonsson/zero_value_transfer_noop
core/state: short-circuit balance change if zero value
2016-09-26 08:47:20 +03:00
Gustav Simonsson
25ed5fedda core/state: short-circuit balance change if zero value 2016-09-26 01:26:54 -04:00
Felix Lange
3778f1bf77 Merge pull request #3009 from Gustav-Simonsson/fix_oom_in_light
light: fix memory expansion bug (same as fix for core/state)
2016-09-22 13:11:59 +02:00
Felix Lange
f85f46461f Merge pull request #3021 from bas-vk/ethclient-logs
ethclient: bugfix retrieving logs
2016-09-21 15:08:14 +02:00
Bas van Kervel
5bb517355e ethclient: bugfix retrieving logs 2016-09-21 14:10:11 +02:00
Gustav Simonsson
22eea17b06 light: fix memory expansion bug (same as fix for core/state) 2016-09-19 15:26:55 -04:00
Felix Lange
c8d6efd602 Merge pull request #3010 from Gustav-Simonsson/remove_unused_initcode_field
core/state, light: remove unused StateObject.initCode
2016-09-19 09:58:14 +02:00
Gustav Simonsson
b6b17e5648 core/state, light: remove unused StateObject.initCode 2016-09-19 02:16:58 -04:00
Péter Szilágyi
88b012ad3b Merge pull request #3006 from Arachnid/patch
core/state: Fix memory expansion bug by not copying clean objects
2016-09-19 04:20:14 +03: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
b42a5b118f common, node: move datadir defaults into package node 2016-09-16 15:24:31 +02:00
Felix Lange
eeb322ae64 node: ensure datadir can be co-inhabited by different instances
This change ensures that nodes started with different Name but same
DataDir values don't use the same nodekey and IPC socket.
2016-09-16 15:24:31 +02:00
Felix Lange
52ede09b17 ethdb: add accessor for database directory 2016-09-16 15:24:31 +02:00
Felix Lange
f5c432bcab p2p/nat: delay auto discovery until first use
Port mapper auto discovery used to run immediately after parsing the
--nat flag, giving it a slight performance boost. But this is becoming
inconvenient because we create node.Node for all geth operations
including account management and bare chain interaction. Delay
autodiscovery until the first use instead, which avoids any network
interaction until the node is actually started.
2016-09-16 11:06:52 +02:00
Péter Szilágyi
7c12e8ea44 Merge pull request #2999 from karalabe/bury-blockchain-version
cmd, eth: drop the blockchain version from cli/eth configs
2016-09-15 14:41:10 +03:00
Péter Szilágyi
30860491ba cmd, eth: drop the blockchain version from cli/eth configs 2016-09-15 14:09:47 +03:00
Felix Lange
0f6f83a709 Merge pull request #2983 from bas-vk/txindex
miner: set tx index logs
2016-09-14 21:05:17 +02:00