Felix Lange
ceaf1c080b
core: add GenerateChain, GenesisBlockForTesting
2015-06-29 18:51:47 +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
Jeffrey Wilcke
b39042db56
core, miner: implemented canary
2015-06-29 13:31:49 +02:00
Jeffrey Wilcke
d1e93db3eb
core, miner: added write block method & changed mining propagation
2015-06-29 13:31:49 +02:00
Péter Szilágyi
792b0ddccd
core, eth, eth/fetcher, ethdb: polish metrics gathering a bit
2015-06-24 18:34:04 +03:00
Péter Szilágyi
43e4a6501b
core, ethdb: instrument the block and state db
...
Conflicts:
ethdb/database.go
2015-06-24 18:34:04 +03:00
Péter Szilágyi
7f92e708c5
cmd/geth, core: impl. percentile reporting, instrument insertions
2015-06-24 18:34:04 +03:00
Bas van Kervel
a4a4e9fcf8
removed old rpc structure and added new inproc api client
2015-06-22 09:17:09 +02:00
Jeffrey Wilcke
9cf7913c61
Merge pull request #1304 from obscuren/state-renames
...
core, miner, xeth: renamed gas methods
2015-06-21 16:49:47 -07:00
obscuren
07c3de3f75
core, miner, xeth: renamed gas methods
...
* BuyGas => SubGas
* RefundGas => AddGas
* SetGasPool => SetGasLimit
2015-06-21 17:09:19 +02:00
obscuren
c590b505ed
core, ethdb, trie: validate database errors
2015-06-21 16:59:15 +02:00
obscuren
430bcdb219
core/vm: clarified SSTORE
2015-06-18 12:25:02 +02:00
obscuren
15e169e5b6
core: ValidatedHeader (method => function)
...
Changed header validation method to function in preparation of
@karalabe's PR.
2015-06-18 11:47:50 +02:00
obscuren
f5abc9f188
core, core/vm: state improvements and tx pool speed up
...
Removed full tx validation during state transitions
2015-06-17 17:10:22 +02:00
obscuren
753d62a4dd
core: TMP testing code
2015-06-17 17:10:13 +02:00
obscuren
bdd63837ea
core/state: removed trie copy
2015-06-17 13:39:19 +02:00
obscuren
aa699a1283
core/state: removed state from state object
2015-06-17 13:27:51 +02:00
obscuren
aaddc99c35
core/state: fixed state tests
2015-06-17 12:53:22 +02:00
obscuren
30b27336ea
core/state: remove the need for common.Value
2015-06-17 11:30:42 +02:00
obscuren
787a61bb27
core/state, core/vm: reworked storage get / set to use common.Hash
2015-06-17 11:24:40 +02:00
obscuren
5721fcf668
core/state, core/vm: cleanup refunds
2015-06-17 10:20:33 +02:00
Jeffrey Wilcke
cc0b451119
Merge pull request #1260 from obscuren/tx-drop-low-tx
...
core: drop low gas tx
2015-06-15 09:09:44 -07:00
obscuren
e79cc42dfe
core: moved check for max queue to checkQueue
...
Moved the queue to check to the checkQueue method so no undeeded loops
need to be initiated or sorting needs to happen twice.
2015-06-15 16:46:45 +02:00
zsfelfoldi
3c7b64ce20
removed duplicate function after rebase
2015-06-15 15:55:39 +02:00
zsfelfoldi
3f94d09c1f
fixed saving receipts
2015-06-15 15:55:38 +02:00
obscuren
21fa29111b
core: reduce max allowed queued txs per address
...
Transactions in the queue are now capped to a maximum of 200
transactions. This number is completely arbitrary.
2015-06-15 12:16:29 +02:00
obscuren
6d817e16c1
core, miner: tx pool drops txs below ask price
2015-06-15 11:33:08 +02:00
Jeffrey Wilcke
6f5c6150b7
Merge pull request #1255 from obscuren/chain-proc-interupt
...
eth, core: interrupt the chain processing on stop
2015-06-12 08:04:02 -07:00
obscuren
645dfd9693
core: changed interrupt strategy
...
Removed chain manager's select/channel approach when checking for
interrupts. Now using an atomic int32 instead which checked for every
block processed.
2015-06-12 16:52:54 +02:00
obscuren
90c4493a10
eth, core: interupt the chain processing on stop
...
Added an additional channel which is used to interupt the chain manager
when it's processing blocks.
2015-06-12 13:41:34 +02:00
obscuren
287f990891
core/vm: Improved error reporting for trace logging
2015-06-12 13:35:14 +02:00
obscuren
02d629af8f
core/vm: fixed printable characters using unicode instead
2015-06-12 11:18:17 +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
37111aa4bd
core: retry block now also parellise nonce checks
2015-06-11 12:06:05 +02:00
obscuren
f599a1b5f1
core/vm: added a comment regarding the uint64 vs *big.Int
2015-06-11 11:59:30 +02:00
obscuren
e7627623b9
core/vm: reverse loop stack
2015-06-10 21:08:54 +02:00
obscuren
f94c5473ad
core/vm: fixed a bug where Data
ignored the stack ptr
2015-06-10 21:08:04 +02:00
obscuren
10af69b57c
core, core/vm: moved logger and added gas cost to struct logging
2015-06-10 19:56:40 +02:00
obscuren
fc2a061d51
core/vm: unexported stack again. No longer required
2015-06-10 17:47:36 +02:00
obscuren
065aff9ffa
core/vm: documentation and name changes
2015-06-10 17:47:36 +02:00
obscuren
4407524d13
core: fixed race condition for subscriptions
2015-06-10 17:13:32 +02:00
obscuren
29f7902fee
core: fixed test
2015-06-10 17:13:32 +02:00
obscuren
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
2015-06-10 17:13:32 +02:00
obscuren
1774c49456
core: log tx count for each set of blocks we're importing
2015-06-10 12:57:58 +02:00
obscuren
6fb6e6679e
core/vm, core/state: added storage to structured vm logging
2015-06-10 12:57:37 +02: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
ff5b3ef087
core/vm: added structured logging
2015-06-10 10:59:44 +02:00
obscuren
468501cb86
core/vm: changed program counter to uint64
2015-06-10 10:44:46 +02:00
obscuren
bc6031e7bb
core, xeth: moved nonce management burden from xeth to txpool
2015-06-09 21:01:02 +02:00
Péter Szilágyi
d652a58ada
core: fix a race condition accessing the gas limit
2015-06-09 21:13:21 +03:00
Péter Szilágyi
fecf214175
core: fix a lock annoyance and potential deadlock
2015-06-09 21:02:26 +03:00
Felix Lange
73c355591f
core, eth: document that result of GetTransactions is modifiable
2015-06-09 17:07:10 +02:00
Felix Lange
7aefe123e9
core/types: add Transaction.Size
2015-06-09 17:06:31 +02:00
Jeffrey Wilcke
c71ab2a6a3
Merge pull request #1219 from Gustav-Simonsson/precompiled_ec_recover_padding
...
Precompiled ec recover padding
2015-06-09 07:21:23 -07:00
Gustav Simonsson
6e3b58e491
Remove unneeded if check on EC recover padding
2015-06-09 16:03:05 +02:00
Jeffrey Wilcke
365576620a
Merge pull request #1216 from karalabe/fix-eth-dataraces
...
Fix various data races in eth and core
2015-06-09 06:53:49 -07:00
Gustav Simonsson
ad5b5a4895
Pad precompiled EC recover input and add validations
2015-06-09 15:41:15 +02:00
Péter Szilágyi
ebf2aabd25
core: fix up a deadlock caused by double locking
2015-06-09 16:26:44 +03:00
Péter Szilágyi
ca8cb65b73
core: fix data race accessing ChainManager.currentBlock
2015-06-09 15:30:46 +03:00
Péter Szilágyi
07baf66200
core: fix data race in accessing ChainManager.td
2015-06-09 15:23:20 +03:00
obscuren
190c1b688a
core: skip genesis block for reprocess. Closes #1202
2015-06-09 13:24:32 +02:00
obscuren
a5b977aa90
core: write accounts to statedb. Closes #1210
2015-06-09 11:37:01 +02:00
Jeffrey Wilcke
0f1cdfa53a
Merge pull request #1193 from tgerring/hotbackup
...
Improve export command
2015-06-08 16:32:38 -07:00
obscuren
5245bd7b20
core: added a test for missing nonces
...
This test showed the logic in the queue was slightly flawed sending out
transactions to its peer it couldn't even resolve itself.
2015-06-09 00:41:47 +02:00
obscuren
6244b10a8f
core: settable genesis nonce
...
You can set the nonce of the block with `--genesisnonce`. When the
genesis nonce changes and it doesn't match with the first block in your
database it will fail. A new `datadir` must be given if the nonce of the
genesis block changes.
2015-06-08 18:33:43 +02:00
Felix Lange
6c27e2aaf6
core: add bad block for the 'missing nonce check' fork
2015-06-08 02:54:10 +02:00
Felix Lange
0b493910d3
core: fix the nonce check one more time
...
The block nonce verification was effectively disabled by a typo.
This time, there is an actual test for it.
2015-06-08 02:19:39 +02:00
Taylor Gerring
4ab0cedf42
Export should start with block 0
2015-06-06 10:59:56 -04:00
Taylor Gerring
ed621aae33
Cleanup
2015-06-06 09:50:23 -04:00
Taylor Gerring
89c9320d80
Allow exporting subset of chain
2015-06-05 23:01:54 -04:00
obscuren
7ab87f9f6e
wip
2015-06-05 17:33:30 +02:00
obscuren
912cf7ba04
core: added fork test & double nonce test
2015-06-04 19:28:39 +02:00
obscuren
0f51ee6c88
crypto: return common.Address rather than raw bytes
2015-06-04 19:28:39 +02:00
obscuren
dcdb4554d7
core: documented changes in tx pool
2015-06-04 16:19:22 +02:00
obscuren
cf5ad266f6
core: only change the nonce if the account nonce is lower
2015-06-04 15:44:42 +02:00
obscuren
9dd12a64a7
core: renamed txs to pending
2015-06-04 13:16:31 +02:00
obscuren
140d883901
core: test updates
2015-06-03 22:53:33 +02:00
obscuren
d09a6e5421
core, eth, miner: moved nonce management to tx pool.
...
Removed the managed tx state from the chain manager to the transaction
pool where it's much easier to keep track of nonces (and manage them).
The transaction pool now also uses the queue and pending txs differently
where queued txs are now moved over to the pending queue (i.e. txs ready
for processing and propagation).
2015-06-03 22:43:23 +02:00
Felix Lange
ec7a2c3442
core: don't remove transactions after block processing
...
The transaction pool drops processed transactions on its own
during pool maintenance.
2015-06-03 22:43:23 +02:00
Felix Lange
5721c43585
core: update documentation comments for TxPool
2015-06-03 22:43:23 +02:00
Felix Lange
ca31d71107
core: remove unused code from TxPool
2015-06-03 22:43:23 +02:00
Felix Lange
08befff8f1
core: compute less transaction hashes in TxPool
2015-06-03 22:43:23 +02:00
obscuren
770a0e7839
wip
2015-06-03 22:39:17 +02:00
obscuren
b26f5e0bb7
types: block json unmarshal method added
2015-06-03 22:39:17 +02:00
obscuren
fa4aefee44
core/vm: cleanup and renames
2015-06-03 22:39:17 +02:00
Jeffrey Wilcke
8610314918
Merge pull request #1167 from Gustav-Simonsson/check_ec_recover_err
...
Add missing err checks on From()
2015-06-03 10:29:47 -07:00
Jeffrey Wilcke
71d9367edc
Merge pull request #1151 from fjl/parallel-nonce-2
...
core: re-add parallel nonce checks
2015-06-03 09:12:06 -07: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
Jeffrey Wilcke
02f785af70
Merge pull request #1166 from Gustav-Simonsson/add_ec_sig_validations
...
Add EC signature validations before call to libsecp256k1
2015-06-03 08:11:24 -07:00
Felix Lange
48fb0c3213
core/vm: check for 'no code' before doing any work
2015-06-03 16:25:06 +02:00
Felix Lange
ea2718c946
core/vm: improve JUMPDEST analysis
...
* JUMPDEST analysis is faster because less type conversions are performed.
* The map of JUMPDEST locations is now created lazily at the first JUMP.
* The result of the analysis is kept around for recursive invocations
through CALL/CALLCODE.
Fixes #1147
2015-06-03 16:25:05 +02:00
Gustav Simonsson
55bf5051ad
Unsupport bruncles
2015-06-01 22:43:05 +02:00
Gustav Simonsson
147a699c65
Add missing err checks on From() (skip RPC for now)
2015-06-01 22:12:03 +02:00
Gustav Simonsson
32e1b104f8
Add EC signature validations before call to libsecp256k1
2015-06-01 21:06:52 +02:00
Felix Lange
55b60e699b
core: insert less length zero chains
...
This reduces the amount of queueEvents that are sent internally.
2015-06-01 12:48:12 +02:00
Felix Lange
e7e2cbfc01
core: re-add parallel nonce checks
...
In this incancation, the processor waits until the nonce
has been verified before handling the block.
2015-06-01 12:47:13 +02:00
Felix Lange
a906a84950
Merge pull request #1155 from karalabe/fix-chainmanager-datarace
...
core: fix #1154 , sort out data race accessing the future blocks
2015-05-30 01:21:09 +02:00
Péter Szilágyi
b7fc85d68e
core: fix #1154 , sort out data race accessing the future blocks
2015-05-29 23:46:10 +03:00
obscuren
12b90600eb
core: moved guards
2015-05-28 18:18:23 +02:00