Felix Lange
d04a2e7557
all: update license information
2016-04-15 09:48:05 +02:00
Felix Lange
83877a0f9d
tests: remove eth, node, accounts dependencies
...
Unlocking the accounts in the test doesn't help with anything.
2016-04-12 15:34:39 +02:00
Jeffrey Wilcke
f0cbebb19f
core: added basic chain configuration
...
Added chain configuration options and write out during genesis database
insertion. If no "config" was found, nothing is written to the database.
Configurations are written on a per genesis base. This means
that any chain (which is identified by it's genesis hash) can have their
own chain settings.
2016-04-01 01:01:10 +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
Jeffrey Wilcke
342ae7ce7d
core, core/vm, tests: changed the initialisation behaviour of the EVM
...
The EVM was previously initialised and created for every CALL, CALLCODE,
DELEGATECALL and CREATE. This PR changes this behaviour so that the same
EVM can be used through the session and beyond as long as the
Environment sticks around.
2016-03-23 00:04:00 +01:00
Péter Szilágyi
a6903ad6a5
Merge pull request #2260 from karalabe/ethash-cache-fixes
...
Godeps, eth, tests: update ethash, used shared for testing
2016-02-24 17:58:12 +02:00
Péter Szilágyi
0a5ee08e2b
Godeps, eth, tests: update ethash, used shared for testing
2016-02-24 13:29:47 +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
5b283663b4
core: Added new TD strategy which mitigate the risk for selfish mining
...
Assuming the following scenario where a miner has 15% of all hashing
power and the ability to exert a moderate control over the network to
the point where if the attacker sees a message A, it can't stop A from
propagating, but what it **can** do is send a message B and ensure that
most nodes see B before A. The attacker can then selfish mine and
augment selfish mining strategy by giving his own blocks an advantage.
This change makes the time at which a block is received less relevant
and so the level of control an attacker has over the network no longer
makes a difference.
This change changes the current td algorithm `B_td > C_td` to the new
algorithm `B_td > C_td || B_td == C_td && rnd < 0.5`.
2016-02-18 10:12:13 +01: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
Jeffrey Wilcke
4f4d2b6474
tests: updated homestead tests
2016-02-18 10:08:18 +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
1e806c4c77
cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacks
2015-11-27 11:06:12 +02:00
Gustav Simonsson
220b0bf6e5
Update common test files
2015-11-20 12:53:36 +01:00
Péter Szilágyi
9dc5de51a2
tests: fix data race in bad-block-report disabling during tests
2015-11-05 13:29:50 +02:00
Drake Burroughs
05ea8926c3
cmd/utils, crypto: add --lightkdf flag for lighter KDF
2015-10-28 18:46:39 +01:00
Gustav Simonsson
145366c07e
tests: update JSON files, add new wrappers
2015-10-23 14:25:18 +02: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
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
Gustav Simonsson
e1616f77c7
core, core/vm, cmd/evm: remove redundant balance check
2015-10-06 12:42:34 +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
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
Gustav Simonsson
7a223721a5
Add block header validations for block tests
2015-04-23 05:32:56 +02:00
Gustav Simonsson
49da462e92
Include ZeroByteAtTheEnd and RandomByteAtTheEnd tests
2015-04-22 23:16:19 +02:00
Gustav Simonsson
ec6acacc53
Unskip BlockTests/bcInvalidHeaderTest.json wrongUncleHash
2015-04-22 23:16:19 +02:00
Gustav Simonsson
9834f855fa
Finally, glorious HEX
2015-04-22 23:16:19 +02:00
Gustav Simonsson
24de35ef09
Add StateTests/stMemoryStressTest.json but skip for now
2015-04-22 23:16:19 +02:00
Gustav Simonsson
5c70333a12
Exclude TransactionWithSvalue0 as it expects invalid s value to be valid
2015-04-22 23:16:18 +02:00
Gustav Simonsson
8ec8bff11c
Update github.com/ethereum/tests files
2015-04-22 23:16:18 +02:00
Gustav Simonsson
573bc3e05e
Explicitly skip TransactionTests/tt10mbDataField.json
2015-04-22 23:16:17 +02:00
Gustav Simonsson
7254278c09
Add test wrapper for VMTests/vmInputLimits1.json
2015-04-22 23:16:17 +02:00
Gustav Simonsson
b448390889
Further fixes to block test wrapper
...
* Move go test wrapper for block tests from cmd/geth to tests
* Fix logic for when tests are valid or not, by adding correct
validations for expected valid/invalid blocks
* Change block insertion helper to work on single blocks
* Add one test case for each file in BlockTests and comment out
the tests which are currently failing
* Add Skip call in all block tests in lieu of performance fixes
around ethash cache which are needed before it will be fast enough
to start / stop the node between each test
2015-04-21 05:23:10 +02:00
Gustav Simonsson
805345d135
Add block tests wrapper and fixes for tx tests
...
* Add fixes to parsing and converting of fields in tx tests
* Correct logic in tx tests; validation of fields and correct
logic for when RLP decoding works/fails and when this is
expected or not
* Rename files for consistency
* Add block tests wrapper to run block tests with go test
2015-04-20 17:46:35 +02:00
Felix Lange
c453f1f370
tests: hopefully improve test conversion helpers
...
(cherry picked from commit 035a30acbefb5eeadc1fc8dbd567775d5688f8a9)
2015-04-19 00:07:09 +02:00
Felix Lange
235ed7ecb9
cmd/geth, tests: enable running multiple tests from a single file
...
This commit also changes the block test loading so tests containing
invalid RLP blocks can be loaded and return an error only when they are
run.
(cherry picked from commit 898ba87984791249586b97c9ce340dd087b79d67)
2015-04-19 00:06:52 +02:00
Gustav Simonsson
c617a6ec79
Fixes for TransactionTests
...
* Include tests which now has consistent HEX encodings
* Comment out two failing tests: "
"TransactionWithHihghNonce" due to wrong nonce size
"TransactionWithSvalueHigh" due to wrong ECDSA s range
* Cleanup conversion functions and fix expected encodings for
tests validation fields
2015-04-15 22:37:16 +02:00
Gustav Simonsson
2d8a2d0c99
Update JSON tests
2015-04-15 22:36:33 +02:00
Gustav Simonsson
6d20d634ca
Enable more tx tests by expecting most common encoding of values
2015-04-10 12:34:55 +02:00
Gustav Simonsson
6dc2146ed7
Remove unneeded map assignments for working tx RLP tests
2015-04-10 12:03:46 +02:00
Gustav Simonsson
9ac5671c18
Add TransactionTests wrapped as Go tests
...
* Add initial go wrapping for TransactionTests with some tests
disabled in lieu of consistent HEX encodings and a few other
pending bugfixes
* TODO: Consider better way of perhaps modelling each test in
the JSON files as a single Go test, instead of one Go test per
JSON file
2015-04-10 11:55:31 +02:00
Gustav Simonsson
1e18f4544b
Update JSON test files
2015-04-10 11:52:31 +02:00
obscuren
a7750c929b
Fixed tests to reflect log changes
2015-04-08 20:45:39 +02:00
obscuren
9c55576c7b
Block header changed & console miner control
...
* miner control moved to `admin.miner`
* miner option to set extra data
* block extra now bytes
2015-04-05 18:59:18 +02:00
obscuren
a0e44e3281
basic glog
2015-04-04 12:40:11 +02:00
obscuren
4558e04c0d
Merge commit 'f6bd4b16e38f9cacd57b57befdeeaed789a473c4' into develop
2015-04-03 12:29:13 +02:00
obscuren
c59c826ab4
fixed stack level
2015-04-03 11:27:56 +02:00
obscuren
fd5c5b2969
Merge commit '812cbff1a28d89b44a0c8c5a210ac61c7e19da35' into develop
2015-04-03 10:50:18 +02:00
obscuren
b8124ec791
Removed old (unused) argument
2015-04-01 23:58:26 +02:00
obscuren
109b27b552
Merge commit '4e3ffbcf9bae7e44e45fd1b6e504b3645040d73c' into develop
2015-04-01 17:50:19 +02:00
obscuren
516423cdac
Merge commit 'f801183b8bea24ce9988fbd06c2f17fedfc3587f' into develop
2015-04-01 17:41:58 +02:00