Christopher Franko
7ef71b261d
merge cleanup
2016-10-08 10:01:24 -04:00
Christopher Franko
87ec39aadb
Merge https://github.com/ethereum/go-ethereum into rebase-1.4.16
2016-10-08 09:23:35 -04:00
Felix Lange
18971d9cb4
[release/1.4.16] core/state: optimize GetState
...
There is no need to use the reflection-based decoder to decode []byte.
(cherry picked from commit 3c836dd71b )
2016-10-06 16:25:17 +02:00
Felix Lange
74d5251b70
[release/1.4.16] core/state: rename Delete/IsDeleted to Suicide/HasSuicided
...
The delete/remove naming has caused endless confusion in the past.
(cherry picked from commit 90fce8bfa6 )
2016-10-06 16:25:17 +02:00
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 1f1ea18b54 )
2016-10-06 16:25:17 +02:00
Péter Szilágyi
945bcb8293
[release/1.4.15] core/state: track dirty state entries for each object
...
(cherry picked from commit b7159818f9 )
2016-10-03 11:24:07 +03:00
Péter Szilágyi
f1949f4d99
[release/1.4.15] cmd, core, internal, light, tests: avoid hashing the code in the VM
...
(cherry picked from commit cb84e3f029 )
2016-10-03 11:24:04 +03:00
Péter Szilágyi
f50c2a5c70
[release/1.4.14] core, eth, trie: reuse trie journals in all our code
...
(cherry picked from commit 710435b51b )
2016-09-28 13:32:12 +03:00
Felix Lange
ddadf402fc
[release/1.4.14] core, trie: replace state caches with trie journal
...
(cherry picked from commit cd791bd855 )
2016-09-28 13:32:10 +03: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 a59a93f476 )
2016-09-26 10:31:18 +02:00
Gustav Simonsson
42e4e18667
[release 1.4.12] core: short-circuit balance change if zero value
...
(cherry picked from commit 25ed5fedda )
2016-09-26 08:49:59 +03:00
Nick Johnson
e44b2dc881
[release 1.4.12] core/state: Fix memory expansion bug by not copying clean objects
...
(cherry picked from commit 581b320b9d )
2016-09-19 04:23:36 +03:00
Péter Szilágyi
adb065a328
[release/1.4.9] Revert "test, cmd/evm, core, core/vm: illegal code hash implementation"
...
This reverts commit a9c94cbf48 .
2016-06-29 11:53:41 +03:00
Péter Szilágyi
3eef19598e
[release/1.4.9] Revert "core: update DAO soft-fork number, clean up the code"
...
This reverts commit aefffc9ed8 .
2016-06-29 11:53:06 +03:00
Péter Szilágyi
aefffc9ed8
[release/1.4.8] core: update DAO soft-fork number, clean up the code
...
(cherry picked from commit ba784bdf36 )
2016-06-24 13:18:31 +03:00
Jeffrey Wilcke
a9c94cbf48
[release/1.4.8] test, cmd/evm, core, core/vm: illegal code hash implementation
...
This implements a generic approach to enabling soft forks by allowing
anyone to put in hashes of contracts that should not be interacted from.
This will help "The DAO" in their endevour to stop any whithdrawals from
any DAO contract by convincing the mining community to accept their code
hash.
(cherry picked from commit 7a5b571c67 )
2016-06-24 13:18:25 +03:00
Christopher Franko
6a1f963ce2
Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.4.4
2016-06-16 20:02:11 -04:00
Christopher Franko
e959453cda
Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.4.4
2016-06-14 18:14:19 -04:00
Jeffrey Wilcke
f7fdfa4eac
[release/1.4.7] core/state, eth: Updated suicides objects when tracing transactions
...
Consensus rules dictate that objects can only be removed during the
finalisation of the transaction (i.e. after all calls have finished).
Thus calling a suicided contract twice from the same transaction:
A->B(S)->ret(A)->B(S) results in 2 suicides. Calling the suicided
object twice from two transactions: A->B(S), A->B, results in only one
suicide and a call to an empty object.
Our current debug tracing functionality replays all transaction that
were executed prior to the targetted transaction in order to provide
the user with an accurate trace.
As a side effect to calling StateDB.IntermediateRoot it also deletes any
suicides objects. Our tracing code never calls this function because it
isn't interested in the intermediate root. Becasue of this it caused a
bug in the tracing code where transactions that were send to priviously
deleted objects resulted in two suicides rather than one suicide and a
call to an empty object.
Fixes #2542
(cherry picked from commit bb3651abc8 )
2016-06-14 17:12:05 +03:00
Péter Szilágyi
af53767e16
[release/1.4.6] core, core/state, trie: enterprise hand-tuned multi-level caching
...
(cherry picked from commit 748d1c171d )
2016-06-06 16:21:39 +03:00
Péter Szilágyi
7632acf6b4
[release/1.4.6] core/state: return the starting nonce for non-existent accs (testnet)
...
(cherry picked from commit 8ee84584a4 )
2016-06-06 16:21:37 +03:00
Christopher Franko
87272925b9
Merge remote-tracking branch 'ethereum/master' into rebase-1.4.4
2016-05-17 17:41:14 -04:00
Felix Lange
6fdd0893c3
all: fix go vet warnings
2016-04-15 11:17:27 +02: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
Felix Lange
d04a2e7557
all: update license information
2016-04-15 09:48:05 +02:00
Jeffrey Wilcke
14013372ae
core: Added EVM configuration options
...
The EVM is now initialised with an additional configured object that
allows you to turn on debugging options.
2016-03-23 23:02:42 +01:00
Leif Jurvetson
b7bb2d8589
core: various typos
2016-03-15 11:08:18 -07:00
Christopher Franko
153dd19ec1
Merge https://github.com/ethereum/go-ethereum into rebase-1.3.4
2016-03-02 11:54:34 -05:00
Jeffrey Wilcke
587bafaa9f
[release/1.3.4] core, core/vm, crypto: fixes for homestead
...
* Removed some strange code that didn't apply state reverting properly
* Refactored code setting from vm & state transition to the executioner
* Updated tests
Conflicts:
common/registrar/ethreg/api.go
core/tx_pool.go
core/vm/jit_test.go
2016-02-24 13:46:30 +01:00
Gustav Simonsson
61404979ed
[release/1.3.4] parmas, crypto, core, core/vm: homestead consensus protocol changes
...
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
Conflicts:
core/vm/environment.go
crypto/crypto.go
crypto/secp256k1/secp256.go
eth/api.go
2016-02-24 13:46:11 +01:00
Jeffrey Wilcke
483feb0d3f
Merge pull request #2242 from jimenezrick/upstream-crypto
...
Closes #2241 : Use Keccak-256 from golang.org/x/crypto/sha3 and mention explicitly
2016-02-24 12:57:57 +01:00
Péter Szilágyi
3dca9cc550
Merge pull request #2095 from karalabe/trie-node-iterator
...
core/state, trie: add node iterator, test state/trie sync consistency
2016-02-23 10:26:25 +02:00
Ricardo Catalinas Jiménez
436fc8d76a
all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()
...
As we aren't really using the standarized SHA-3
2016-02-21 22:34:34 +00:00
Jeffrey Wilcke
b6d88a0e9f
core, core/vm, crypto: fixes for homestead
...
* Removed some strange code that didn't apply state reverting properly
* Refactored code setting from vm & state transition to the executioner
* Updated tests
2016-02-18 10:11:48 +01:00
Gustav Simonsson
371871d685
parmas, crypto, core, core/vm: homestead consensus protocol changes
...
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
2016-02-18 10:08:11 +01:00
Péter Szilágyi
b8d59d9c98
core/state, trie: switch iterator panics to error fields
2016-02-16 12:37:00 +02:00
Péter Szilágyi
151c7bef41
core/state, trie: node iterator reports parent hashes too
2016-02-16 12:21:08 +02:00
Péter Szilágyi
5a057a8ded
core/state, trie: surface iterator entry hashes
2016-02-16 12:21:08 +02:00
Péter Szilágyi
7e29b0b5b4
core/state, trie: add node iterator, test state/trie sync consistency
2016-02-16 12:21:08 +02:00
Péter Szilágyi
f3d4ce0d16
core/state, ethdb, trie: test intermediate secure key leak, fix memdb bug
2016-01-20 16:06:28 +02:00
Péter Szilágyi
886478b18b
core/state, trie: don't leak database writes before commit
2016-01-20 12:09:24 +02:00
Christopher Franko
f32e770d2c
Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.3.3
...
# Conflicts:
# cmd/gexp/main.go
2016-01-15 08:50:40 -05:00
Péter Szilágyi
2d5d6d9d0e
core/state: always commit in batches, just finish if not needed later
2016-01-13 12:04:03 +02:00
Péter Szilágyi
8938768f75
core, eth/downloader: ensure state presence in ancestor lookup
2016-01-05 12:31:45 +01:00
Péter Szilágyi
9e011ff1cd
core, eth/downloader: ensure state presence in ancestor lookup
2016-01-04 16:27:23 +02:00
Felix Lange
1b89bd5d26
core/state, core/types use package rlp for state, receipt serialisation
2015-12-18 12:09:10 +01:00
Christopher Franko
9cdd178759
Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.3.1
...
Conflicts:
Godeps/Godeps.json
Godeps/_workspace/src/github.com/expanse-project/ethash/ethash_test.go
Makefile
VERSION
cmd/gexp/blocktestcmd.go
cmd/gexp/js.go
cmd/gexp/js_test.go
cmd/gexp/main.go
cmd/utils/cmd.go
cmd/utils/flags.go
common/natspec/natspec.go
common/natspec/natspec_e2e_test.go
common/natspec/natspec_e2e_test.go.orig
common/path.go
common/registrar/registrar.go
core/block_processor.go
core/block_processor_test.go
core/chain_manager.go
core/chain_manager_test.go
core/chain_util_test.go
core/events.go
core/execution.go
core/filter.go
core/state/errors.go
core/state/statedb.go
core/state_transition.go
core/transaction_util.go
core/types/bloom9.go
core/types/common.go
core/types/derive_sha.go
core/types/receipt.go
core/vm/common.go
core/vm/environment.go
core/vm/instructions.go
core/vm/jit.go
core/vm/jit_test.go
core/vm/vm.go
docker/Dockerfile
docker/supervisord.conf
eth/downloader/modes.go
event/filter/eth_filter.go
exp/backend.go
exp/downloader/downloader.go
exp/downloader/downloader_test.go
exp/downloader/peer.go
exp/downloader/queue.go
exp/gasprice.go
exp/handler.go
exp/sync.go
miner/worker.go
rpc/api/admin.go
rpc/api/debug.go
rpc/api/eth.go
rpc/api/eth_args.go
rpc/api/miner.go
rpc/api/personal.go
rpc/comms/ipc.go
rpc/comms/ipc_unix.go
rpc/comms/ipc_windows.go
tests/block_test_util.go
tests/files/BlockchainTests/bcUncleTest.json
trie/cache.go
trie/fullnode.go
trie/hashnode.go
trie/secure_trie.go
trie/shortnode.go
trie/trie.go
trie/trie_test.go
trie/valuenode.go
xeth/xeth.go
2015-11-03 18:25:50 -05:00
Jeffrey Wilcke
0467a6ceec
Merge pull request #1889 from karalabe/fast-sync-rebase
...
eth/63 fast synchronization algorithm
2015-10-21 11:44:22 -07:00
Péter Szilágyi
5b0ee8ec30
core, eth, trie: fix data races and merge/review issues
2015-10-21 16:49:55 +03:00
Péter Szilágyi
b97e34a8e4
eth/downloader: concurrent receipt and state processing
2015-10-19 10:03:10 +03:00