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
Jeffrey Wilcke
49ae538506
Merge pull request #1405 from fjl/lean-trie
...
core, trie: new trie
2015-10-01 04:34:38 -07:00
Felix Lange
a2d5a60418
core, core/state: batch-based state sync
2015-09-22 22:57:37 +02:00
Gustav Simonsson
5621308949
tests: add test for StateTests/stCallCodes.json
2015-09-21 11:34:02 +02:00
Gustav Simonsson
47ca6904b3
tests: use lastblockhash field to validate reorgs and block headers
2015-09-18 17:48:31 +02:00
Gustav Simonsson
075815e5ff
tests: update common test wrappers and test files
2015-09-18 13:08:36 +02:00
Felix Lange
8c4dab77ba
all: move common.Database to package ethdb
2015-09-14 23:36:30 +02:00
Péter Szilágyi
cdc2662c40
core: split out TD from database and all internals
2015-09-11 17:42:25 +03:00
Gustav Simonsson
fe8093b71f
Add TestBcForkUncleTests and update JSON files
2015-08-31 16:45:00 +02:00
Gustav Simonsson
7324176f70
Add tests for uncle timestamps and refactor timestamp type
2015-08-25 04:46:11 +02:00
Jeffrey Wilcke
36f7fe61c3
core, tests: Double SUICIDE fix
2015-08-20 18:22:50 +02:00
Jeffrey Wilcke
9cacec70f9
cmd/evm, core/vm, tests: changed DisableVm to EnableVm
2015-08-11 18:43:22 +02:00
Jeffrey Wilcke
2fcf7f1241
Merge pull request #1604 from obscuren/db-merge
...
core, eth, trie, xeth: merged state, chain, extra databases in one
2015-08-09 05:16:37 -07:00
Jeffrey Wilcke
a23478c0be
core, eth, trie, xeth: merged state, chain, extra databases in one
2015-08-07 22:29:02 +02:00
Jeffrey Wilcke
ac697326a6
core/vm: reduced big int allocations
...
Reduced big int allocation by making stack items modifiable. Instead of
adding items such as `common.Big0` to the stack, `new(big.Int)` is
added instead. One must expect that any item that is added to the stack
might change.
2015-08-07 12:52:23 +02:00
Jeffrey Wilcke
184e9ae9a8
core, tests: reduced state copy by N calls
...
Reduced the amount of state copied that are required by N calls by doing
a balance check prior to any state modifications.
2015-08-07 12:52:23 +02:00
Jeffrey Wilcke
846f34f78b
core/vm, tests: implemented semi-jit vm
...
* changed stack and removed stack ptr. Let go decide on slice reuse.
2015-08-07 12:52:17 +02:00
Jeffrey Wilcke
71d32f54f7
core, miner: added difficulty bomb
2015-08-05 13:09:09 +02:00
Jeffrey Wilcke
03c39d4fc0
tests: updated
2015-07-29 15:01:42 +02:00
Jeffrey Wilcke
1fad8798ec
Merge pull request #1515 from fjl/license-fixes
...
all: fix license headers one more time
2015-07-28 04:29:42 -07:00
Jeffrey Wilcke
9afda6ab8c
core: 5 ether block reward
2015-07-25 17:47:20 +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
593b1b65e7
tests: document RLP tests
2015-07-17 15:42:23 +02:00
Felix Lange
5da82077d1
cmd/ethtest, tests: add support for RLP JSON tests
2015-07-17 15:13:24 +02:00
Jeffrey Wilcke
a32c51effd
cmd, core, eth, common: genesis preparation
...
Implemented the --genesis flag thru which we can set a custom genesis
block, including the official Ethereum genesis block.
2015-07-10 17:37:41 +02:00
Gustav Simonsson
b08abe64e4
Unskip SimpleTx3, check err in pre/post state validations
2015-07-08 13:09:22 +02:00
Gustav Simonsson
0b53a5c673
Update Ethereum JSON test files and wrappers
2015-07-08 13:08:42 +02:00
Felix Lange
bdae4fd573
all: add some godoc synopsis comments
2015-07-07 14:12:45 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Jeffrey Wilcke
35cd355c14
cmd,eth,rpc,tests: default coinbase
2015-07-07 10:32:05 +02:00
Gustav Simonsson
b7e8d954ef
Add TestBcGasPricer, comments and unskip tests
2015-07-06 13:56:56 +02:00
Jeffrey Wilcke
aa4502060b
Merge pull request #1400 from obscuren/badblock-reporting
...
core, miner, tests: added test, implemented bad block reporting
2015-07-06 02:03:50 -07:00
Jeffrey Wilcke
bcc1660abc
core, miner, tests: added test, implemented bad block reporting
2015-07-05 15:14:31 +02:00
Gustav Simonsson
0f04af5916
Fix core error forwarding, unify OOG VM err
2015-07-04 09:27:42 +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
Gustav Simonsson
ff97059a99
Update Ethereum JSON tests, skip failing
2015-07-03 09:40:07 +02:00
Gustav Simonsson
4c490db6af
Use uint64 for block header timestamp
2015-06-30 10:52:11 +02:00
Felix Lange
1d42888d30
core/types: make blocks immutable
2015-06-29 18:51:47 +02:00
Felix Lange
654564e164
core/types: make transactions immutable
2015-06-29 18:51:47 +02:00
obscuren
398d08a8dd
tests: SetGasLimit
2015-06-21 17:09:19 +02:00
Taylor Gerring
0743243dce
Add --skip option to CLI
...
Disassociates hardcoded tests to skip when running via CLI. Tests still
skipped when running `go test`
2015-06-19 11:38:23 +02:00
Taylor Gerring
a9659e6dcf
recover test logic
2015-06-18 23:46:42 +02:00
Taylor Gerring
8d3faf69d0
Build error fixes
2015-06-18 22:38:17 +02:00
Taylor Gerring
baea8e87e5
Rebase cleanup
2015-06-18 22:27:44 +02:00
Taylor Gerring
01ec4dbb12
Add stdin option
2015-06-18 22:24:07 +02:00
Taylor Gerring
30444db020
Add lost rebase changes
2015-06-18 22:20:45 +02:00
Taylor Gerring
c941a39b75
Cleanup logging
2015-06-18 22:20:45 +02:00
Taylor Gerring
8507c867b9
Fix geth blocktest command
2015-06-18 22:20:45 +02:00
Taylor Gerring
6ff956394a
DRY file loading
2015-06-18 22:20:45 +02:00
Taylor Gerring
ac0637c413
More consistent test interfaces + test skipping
2015-06-18 22:20:44 +02:00
Taylor Gerring
b6d40a9312
Cleanup/reorg
2015-06-18 22:20:44 +02:00
Taylor Gerring
c5d6fcbaba
Return error up stack instead of passing testing var down
2015-06-18 22:20:44 +02:00
Taylor Gerring
24554629b1
DRY log check
2015-06-18 22:15:08 +02:00
Taylor Gerring
7c6ef0ddac
Separate and identify tests runners
2015-06-18 22:15:07 +02:00
Taylor Gerring
1b26d4f220
Flatten helper directory
2015-06-18 22:15:07 +02:00
Taylor Gerring
e82100367f
Fix paths
2015-06-18 22:13:42 +02:00
Taylor Gerring
a67a15528a
Split tests from helper code
2015-06-18 22:13:42 +02:00
Taylor Gerring
7b9fbb088a
Flatten vm directory
2015-06-18 22:13:41 +02:00
Jeffrey Wilcke
2cea410656
Merge pull request #1282 from obscuren/state-cleanup
...
core/state: cleanup & optimisations
2015-06-18 05:29:53 -07:00
obscuren
a977f3c0dc
xeth, tests: fixed api
2015-06-17 11:44:40 +02:00
obscuren
787a61bb27
core/state, core/vm: reworked storage get / set to use common.Hash
2015-06-17 11:24:40 +02:00
Gustav Simonsson
8f372c867d
Update Ethereum JSON test files
2015-06-16 12:09:25 +02:00
Jeffrey Wilcke
6609d45ef4
Merge pull request #1228 from obscuren/vm-optimisations
...
core/vm: optimisations
2015-06-11 03:32:39 -07:00
obscuren
38c61f6f25
core, core/vm: added structure logging
...
This also reduces the time required spend in the VM
2015-06-10 12:23:49 +02:00
obscuren
6a5c9aff3b
tests: check gas limit error
2015-06-09 22:49:33 +02:00
Gustav Simonsson
15166f880b
Skip BlockTests/bcValidBlockTests SimpleTx3
2015-06-09 15:53:31 +02:00
Gustav Simonsson
d8e55a5cc3
Skip VMTests RandomTests temporarily until they are fixed
2015-06-09 15:40:43 +02:00
Gustav Simonsson
e885a2912b
Update Ethereum JSON test files
2015-06-09 15:39:24 +02:00
obscuren
246db4250b
tests: use state logs instead own kept logs
2015-06-04 19:48:23 +02:00
Jeffrey Wilcke
122d2db095
Merge pull request #1150 from fjl/fix-jumpdest
...
core/vm: improve JUMPDEST analysis
2015-06-03 09:11:56 -07:00
Felix Lange
c9ed9d253a
tests/files: update tests to d309b4679a58d2
2015-06-03 16:25:06 +02:00
Gustav Simonsson
0fa9d2431f
Add new 0th gen uncle test
2015-06-02 14:47:23 +02:00
Gustav Simonsson
8a76b45253
Use older version of stSpecialTest until JUMPDEST fix is merged
2015-06-02 12:25:43 +02:00
Gustav Simonsson
8962af2e42
Update Ethereum JSON test files
2015-06-02 12:15:25 +02:00
Gustav Simonsson
5a692ba4f6
Update Ethereum JSON test files
2015-06-01 22:34:44 +02:00
Gustav Simonsson
b4818a003a
Update Ethereum JSON test files
2015-05-29 13:12:54 +02:00
obscuren
6c2f6f5b03
tests: removed missing block test
2015-05-26 13:48:10 +02:00
obscuren
03faccfb08
tests: updated
2015-05-26 13:48:10 +02:00
Gustav Simonsson
6ad817e17b
Add StateTests/RandomTests and VMTests/RandomTests
2015-05-21 23:04:46 +02:00
Gustav Simonsson
6a72cd45e2
Add wrapper for BlockTests/bcWalletTest.json
2015-05-18 16:28:54 +02:00
Gustav Simonsson
36419defd1
Update Ethereum JSON test files
2015-05-18 12:45:24 +02:00
obscuren
9617aa8e19
tests: added conditional skip on long running VM tests
...
Set the TEST_VM_COMPLEX env var to test complex vm tests which require a
lot of ram and quite some time.
2015-05-20 00:21:24 +02:00
obscuren
f5af1fdca8
core/vm: RETURN op code returns pointer to memory rather than copy
2015-05-20 00:21:23 +02:00
obscuren
648b352424
tests/vm: updated tests and skipped output for specific tests
...
Skipped tests due to large return value
2015-05-20 00:21:23 +02:00
Gustav Simonsson
619e8a4f03
Add StateTests/RandomTests but skip for now
2015-05-15 19:17:40 +02:00
Gustav Simonsson
32276e8b01
Update StateTests and nil create return on failed code deposit
2015-05-15 18:49:31 +02:00
Gustav Simonsson
830bdb1cfd
Update Ethereum JSON tests
2015-05-15 16:08:00 +02:00
Gustav Simonsson
dadf01de60
unskip StateTests/stTransactionTest and use test tx nonce
2015-05-15 16:05:11 +02:00
Gustav Simonsson
e389585f1f
Change default keystore dir
2015-05-12 18:33:04 +02:00
Gustav Simonsson
2c1b0ff17e
Update key store to new spec but keep address field for now
...
* Also fix address types post-rebase
2015-05-12 17:22:17 +02:00
Bas van Kervel
b79dd188d9
replaced several path.* with filepath.* which is platform independent
2015-05-12 14:24:11 +02:00
obscuren
7eed47fad5
miner, tests: fixed block test
2015-05-09 12:51:40 +02:00
Gustav Simonsson
79eb40fc9f
Add bcTotalDifficultyTest and unskip now working tx tests
2015-05-07 13:03:22 +02:00
Gustav Simonsson
2b716aec54
Update JSON test files
2015-05-07 12:44:29 +02:00
Gustav Simonsson
7bc1f487b8
Unskip now working tests, remove debug print
2015-05-06 23:25:44 +02:00
Gustav Simonsson
f4341c7b7f
Unskip working blocktests following ethash cache reusage
2015-05-05 08:34:29 +02:00
obscuren
735b029db9
core: return the index of the block that failed when inserting a chain
2015-04-29 14:00:24 +02:00
Gustav Simonsson
34c94d5fcd
Add loading of block test privkey if present
2015-04-27 20:30:26 +02:00
Gustav Simonsson
2a61611c4f
Update JSON tests
2015-04-27 19:09:20 +02:00