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
336a4d7b8d
core: fix transaction reorg issues within the tx pool
2016-01-05 13:02:07 +01:00
Péter Szilágyi
8938768f75
core, eth/downloader: ensure state presence in ancestor lookup
2016-01-05 12:31:45 +01:00
Franko
f620d2c7ec
quick fix
2015-11-28 19:29:01 -05:00
Christopher Franko
0f519942a4
Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.3.2
2015-11-28 18:40:20 -05:00
Péter Szilágyi
e86e0ecdc8
core, eth, miner, xeth: clean up tx/receipt db accessors
2015-11-19 16:03:32 +02:00
Jeffrey Wilcke
ae37a8013d
Merge pull request #1917 from obscuren/validator-interface
...
core, eth, rpc: split out block validator and state processor
2015-11-19 10:57:00 +01:00
Jeffrey Wilcke
1372b991c3
core/vm/runtime: added simple execution runtime
...
The runtime environment can be used for simple basic execution of
contract code without the requirement of setting up a full stack and
operates fully in memory.
2015-11-18 16:50:20 +01:00
Jeffrey Wilcke
a1d9ef48c5
core, eth, rpc: split out block validator and state processor
...
This removes the burden on a single object to take care of all
validation and state processing. Now instead the validation is done by
the `core.BlockValidator` (`types.Validator`) that takes care of both
header and uncle validation through the `ValidateBlock` method and state
validation through the `ValidateState` method. The state processing is
done by a new object `core.StateProcessor` (`types.Processor`) and
accepts a new state as input and uses that to process the given block's
transactions (and uncles for rewords) to calculate the state root for
the next block (P_n + 1).
2015-11-18 14:24:42 +01:00
Christopher Franko
aa2920f879
remove files 2
2015-11-03 19:05:42 -05:00
Christopher Franko
625543fcd8
find replace 3
2015-11-03 18:52:31 -05: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
Péter Szilágyi
667987e7d0
core: only reset head header/fastblock if stale
2015-10-28 17:40:24 +02:00
Christopher Franko
00bf780118
Merge remote-tracking branch 'refs/remotes/ethereum/master'
...
Conflicts:
cmd/gexp/main.go
2015-10-25 19:30:12 -04:00
Péter Szilágyi
28c7b54d68
core: fix #1921 , decode all receipt field, not just consensus
2015-10-22 13:09:30 +03:00
Jeffrey Wilcke
58d0752fdd
Merge pull request #1883 from obscuren/jit-vm-optimisations
...
core/vm: JIT segmentation
2015-10-21 12:34:32 -07: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
Jeffrey Wilcke
619b37ca37
core, tests: get_hash fix
...
Make sure that we're fetching the hash from the current chain and not
the canonical chain.
Conflicts:
core/vm/environment.go
2015-10-21 15:52:48 +02:00
Péter Szilágyi
5b0ee8ec30
core, eth, trie: fix data races and merge/review issues
2015-10-21 16:49:55 +03:00
Jeffrey Wilcke
80f26086ee
core, tests: get_hash fix
...
Make sure that we're fetching the hash from the current chain and not
the canonical chain.
2015-10-21 02:31:46 +02:00
Péter Szilágyi
a9d8dfc8e7
core, eth: roll back uncertain headers in failed fast syncs
2015-10-19 10:03:10 +03:00
Péter Szilágyi
b97e34a8e4
eth/downloader: concurrent receipt and state processing
2015-10-19 10:03:10 +03:00
Péter Szilágyi
ab27bee25a
core, eth, trie: direct state trie synchronization
2015-10-19 10:03:09 +03:00
Péter Szilágyi
832b37c822
core, eth: receipt chain reconstruction
2015-10-19 10:03:09 +03:00
Péter Szilágyi
42c8afd440
core: differentiate receipt concensus and storage decoding
2015-10-19 10:03:09 +03:00
Péter Szilágyi
b99fe27f8b
core: fix block canonical mark / content write race
2015-10-19 10:03:09 +03:00
Péter Szilágyi
f186b39018
eth/downloader: add fast and light sync strategies
2015-10-19 10:03:09 +03:00
Péter Szilágyi
c33cc382b3
core: support inserting pure header chains
2015-10-19 10:03:09 +03: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
Jeffrey Wilcke
8c85532412
core/vm: added parsing utilities
2015-10-16 22:30:42 +02:00
Jeffrey Wilcke
b196278044
core/vm: added JIT segmenting / optimisations
...
* multi-push segments
* static jumps segments
2015-10-16 22:30:42 +02:00
Jeffrey Wilcke
9d61d78de6
core/vm: abstracted instruction execution away from JIT
...
Moved the execution of instructions to the instruction it self. This
will allow for specialised instructions (e.g. segments) to be execution
in the same manner as regular instructions.
2015-10-16 22:17:35 +02:00
Jeffrey Wilcke
10ed107ba2
Merge pull request #1899 from obscuren/mipmap-bloom
...
core, eth/filters, miner, xeth: Optimised log filtering
2015-10-16 12:35:24 -07:00
Jeffrey Wilcke
6dc14788a2
core, eth/filters, miner, xeth: Optimised log filtering
...
Log filtering is now using a MIPmap like approach where addresses of
logs are added to a mapped bloom bin. The current levels for the MIP are
in ranges of 1.000.000, 500.000, 100.000, 50.000, 1.000. Logs are
therefor filtered in batches of 1.000.
2015-10-16 21:28:59 +02:00
Jeffrey Wilcke
d5327ddc5f
Merge pull request #1869 from Gustav-Simonsson/gpu_miner
...
all: Add GPU mining, disabled by default
2015-10-16 06:25:33 -07:00
Gustav Simonsson
1b1f293082
core/state, core, miner: handle missing root error from state.New
2015-10-16 02:22:06 +02:00
Jeffrey Wilcke
30f057aaf9
eth/filters: added benchmark
2015-10-15 19:45:44 +02:00
Jeffrey Wilcke
cefe5c80b1
Merge pull request #1898 from karalabe/eventmux-post-race
...
core, eth, event, miner, xeth: fix event post / subscription race
2015-10-15 10:44:30 -07:00
Christopher Franko
6a6cd10299
rebase 1.2.2
2015-10-13 11:56:11 -04:00
Péter Szilágyi
402fd6e8c6
core, eth, event, miner, xeth: fix event post / subscription race
2015-10-12 16:22:03 +03:00
Péter Szilágyi
af9afb686b
core/vm: copy stack element to prevent overwrites
2015-10-12 00:14:35 +03:00
Jeffrey Wilcke
315a422ba7
Merge pull request #1888 from obscuren/testnet
...
cmd, core, eth: added official testnet
2015-10-09 01:31:37 -07:00
Jeffrey Wilcke
1de796f101
cmd, core, eth: added official testnet
2015-10-08 22:01:39 +02:00
Jeffrey Wilcke
bba4dcb72f
Merge pull request #1880 from Gustav-Simonsson/core_transfer
...
core, core/vm, cmd/evm: remove redundant balance check
2015-10-08 11:32:30 -07:00
Gustav Simonsson
ec6a548ee3
all: Add GPU mining, disabled by default
2015-10-07 13:19:30 +02:00
Jeffrey Wilcke
f8786defd0
Merge pull request #1850 from karalabe/genesis-block-receipts
...
core: fix #1848 , block receipts db entry for the genesis too
2015-10-07 01:50:37 -07:00
Gustav Simonsson
e1616f77c7
core, core/vm, cmd/evm: remove redundant balance check
2015-10-06 12:42:34 +02:00
Jeffrey Wilcke
20ab29f885
core: fixed head write on block insertion
...
Due to a rebase this probably got overlooked / ignored. This fixes the
issue of a block insertion never writing the last block.
2015-10-05 17:00:59 +02:00
Jeffrey Wilcke
7c7692933c
cmd/geth, cmd/utils, core, rpc: renamed to blockchain
...
* Renamed ChainManager to BlockChain
* Checkpointing is no longer required and never really properly worked
when the state was corrupted.
2015-10-04 01:13:56 +02:00
Jeffrey Wilcke
361082ec4b
cmd/evm, core/vm, test: refactored VM and core
...
* Moved `vm.Transfer` to `core` package and changed execution to call
`env.Transfer` instead of `core.Transfer` directly.
* core/vm: byte code VM moved to jump table instead of switch
* Moved `vm.Transfer` to `core` package and changed execution to call
`env.Transfer` instead of `core.Transfer` directly.
* Byte code VM now shares the same code as the JITVM
* Renamed Context to Contract
* Changed initialiser of state transition & unexported methods
* Removed the Execution object and refactor `Call`, `CallCode` &
`Create` in to their own functions instead of being methods.
* Removed the hard dep on the state for the VM. The VM now
depends on a Database interface returned by the environment. In the
process the core now depends less on the statedb by usage of the env
* Moved `Log` from package `core/state` to package `core/vm`.
2015-10-04 01:13:54 +02:00