Commit Graph

727 Commits

Author SHA1 Message Date
obscuren
c67424ecc8 core: parallelise nonce checking when processing blocks
ChainManager now uses a parallel approach to block processing where all
nonces are checked seperatly from the block processing process. This
speeds up the process by about 3 times on my i7
2015-05-18 13:59:22 +02:00
obscuren
67d44519ce core: bugfix test 2. set => hash map 2015-05-18 10:49:09 +02:00
obscuren
54f0f82dd1 ret 2015-05-18 10:14:48 +02:00
obscuren
e323f0e831 core: tmp diagnostic logs 2015-05-18 10:13:50 +02:00
obscuren
27782bbade core: global chain insert lock 2015-05-17 00:55:02 +02:00
obscuren
d98a6f85fc core: further improved uncle error messages 2015-05-16 13:02:30 +02:00
obscuren
7ea76fcf99 core, cmd/geth, cmd/mist: cleanup. bump version 0.9.21 2015-05-16 00:26:36 +02:00
obscuren
5cec1aad15 core, miner: fork resolving and restart miner after sync op
Fork resolving fixes #940
2015-05-15 20:26:15 +02:00
Gustav Simonsson
32276e8b01 Update StateTests and nil create return on failed code deposit 2015-05-15 18:49:31 +02:00
obscuren
cfb2b51b74 eth/downloader: fixed test 2015-05-15 12:47:32 +02:00
obscuren
f6669db001 core: fixed mining strategy 2015-05-15 12:24:29 +02:00
obscuren
b71091e337 eth, eth/downloader, miner: use download events to check miner start 2015-05-15 00:43:10 +02:00
obscuren
0f76a1c6df core: changed how head events are checked 2015-05-15 00:42:06 +02:00
obscuren
580bae0a86 core: improved uncle messages 2015-05-15 00:40:07 +02:00
obscuren
b19bf3ec78 core: changed log message for forks. closes #952 2015-05-14 17:16:46 +02:00
Vitalik Buterin
bc83761996 Fixed max uncle count error message 2015-05-13 20:29:57 -04:00
Bas van Kervel
95773b9673 removed redundant newlines in import block 2015-05-12 15:20:53 +02:00
Bas van Kervel
b79dd188d9 replaced several path.* with filepath.* which is platform independent 2015-05-12 14:24:11 +02:00
obscuren
3c6c891680 core: optimise pending transaction processing 2015-05-11 11:39:33 +02:00
obscuren
a2919b5e17 core, eth, miner: improved tx removal & fatal error on db sync err
* core: Added GasPriceChange event
* eth: When one of the DB flush methods error a fatal error log message
  is given. Hopefully this will prevent corrupted databases from
  occuring.
* miner: remove transactions with low gas price. Closes #906, #903
2015-05-11 11:39:33 +02:00
Jeffrey Wilcke
45c070fc8b Merge pull request #833 from ethersphere/frontier/solidity
solidity compiler and contract metadocs integration
2015-05-08 03:43:31 -07:00
obscuren
dcfecebe1f core: get transaction by hash from transaction pool 2015-05-07 18:22:57 +02:00
obscuren
7e160a677d xeth, core, event/filter, rpc: new block and transaction filters 2015-05-07 14:44:32 +02:00
zelig
009b221692 solidity compiler and contract metadocs integration
* common/compiler: solidity compiler + tests
* rpc: eth_compilers, eth_compileSolidity + tests
* fix natspec test using keystore API, notice exp dynamically changes addr, cleanup
* resolver implements registrars and needs to create reg contract (temp)
* xeth: solidity compiler. expose getter Solc() and paths setter SetSolc(solcPath)
* ethereumApi: implement compiler related RPC calls using XEth - json struct tests
* admin: make use of XEth.SetSolc to allow runtime setting of compiler paths
* cli: command line flags solc to set custom solc bin path
* js admin api with new features debug and contractInfo modules
* wiki is the doc https://github.com/ethereum/go-ethereum/wiki/Contracts-and-Transactions
2015-05-07 12:58:21 +02:00
Gustav Simonsson
2808409fbd Add genesis block total difficulty in tests 2015-05-06 23:22:49 +02:00
Jeffrey Wilcke
323216ed85 Merge pull request #861 from obscuren/transaction_pool_fixes
core: transaction pool fixes & resending transactions
2015-05-06 11:23:58 -07:00
obscuren
92f998c7ef core: use removeTx instead of delete 2015-05-06 18:30:55 +02:00
Gustav Simonsson
b1cc9cdc74 Integrate new ethash API and change geth makedag cmd 2015-05-05 08:24:15 +02:00
obscuren
37770ed0d3 core: added unix timestamp to debug output for block proc 2015-05-03 21:49:19 +02:00
obscuren
c5b8acbaf0 core: print ignored blocks 2015-05-03 14:09:50 +02:00
obscuren
c6ad3aec05 eth,core: changed NewTicker to Tick 2015-05-03 13:27:37 +02:00
obscuren
b298928c49 core: added 'ignored' status 2015-05-01 16:00:30 +02:00
obscuren
15873fafc0 core: added a wait group to chain manager for graceful shutdown 2015-04-30 17:50:47 +02:00
obscuren
e4dba36892 core: check for parent in calc TD. TD = (N != 0 == parent.TD) || (== D) 2015-04-30 14:55:21 +02:00
obscuren
28b39267d9 core, eth: verify td of received blocks 2015-04-30 13:50:59 +02:00
obscuren
88292f35db core: remove txs from queue in addition to removal of pending 2015-04-30 00:20:59 +02:00
obscuren
2590a7dabb core: added some additional chain tests for shortest chain 2015-04-30 00:14:41 +02:00
obscuren
9e63798d03 core/types, eth: meassure and display propagation times 2015-04-29 19:55:30 +02:00
obscuren
c930045834 core: fixed tetst to reflect (int, error) return by insertChain 2015-04-29 15:27:04 +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
obscuren
4e07967711 core: fixed chain reorg during splits
Chain reorgs weren't properly handled when a chain was further ahead.
Previously we'd end up with mixed chains in our canonical numbering
sequence. Added test for this type of forking.

```
     /-o-o-o   A
o-C-+
     \-o-o-o-o B
```

Ends up with with C A1, A2, A3, B4
2015-04-29 12:51:05 +02:00
obscuren
af73d1d682 core/types: added fake parent hash / hash to String() output 2015-04-29 12:51:05 +02:00
obscuren
7ac24d551b core: seperated proccing mutex and getting mutex 2015-04-29 12:51:04 +02:00
obscuren
9f32117457 core: bump database version 2015-04-29 12:51:04 +02:00
obscuren
a4b79f1dac core: moved mutex locks in insert blocks to start of function
Insert blocks will no longer allow processing of multiple chains at the
same time. The block lock has been moved to start of the function.
2015-04-29 12:51:04 +02:00
obscuren
04a09b7e2d core: set min gas price at startup 2015-04-29 12:51:04 +02:00
obscuren
145e02fc54 core, miner: added value check on tx validation
* Changed CalcGasLimit to no longer need current block
* Added a gas * price + value on tx validation
* Transactions in the pool are now re-validated once every X
2015-04-26 11:19:40 +02:00
Jeffrey Wilcke
8d09f95bc7 Merge pull request #805 from obscuren/download_improvements
eth, eth/downloader: improve downloader and remove asynchronousness
2015-04-24 15:56:17 -07:00
obscuren
405720b218 xeth, core, cmd/utils: Transaction can not be over block gas limit
Transactions will be invalidated when the tx.gas_limit > block.gas_limit
2015-04-24 17:48:13 +02:00
obscuren
cd2782f59c core: fixed wildcard topic filters. Closes #725 2015-04-24 13:45:21 +02:00
Bas van Kervel
c273ed7d82 Moved leveldb update loop to eth/backend
change order of block insert and update LastBlock

bugfix, wrong hash stored in blockDb
2015-04-23 17:58:58 +02:00
obscuren
7f14fbd579 core: pending txs now re-validated once every second 2015-04-23 11:50:12 +02:00
obscuren
fba40e18d9 core: added accessor for queued transactions 2015-04-23 11:50:12 +02:00
obscuren
d3be1a2719 eth: moved mined, tx events to protocol-hnd and improved tx propagation
Transactions are now propagated to peers from which we have not yet
received the transaction. This will significantly reduce the chatter on
the network.

Moved new mined block handler to the protocol handler and moved
transaction handling to protocol handler.
2015-04-23 11:50:12 +02:00
obscuren
888ece0cb2 core: fixed test 2015-04-23 11:50:12 +02:00
obscuren
7edbb0110f core: set the state for the managed tx state
Set the state for the managed tx state instead of creating a new
managed state.
2015-04-23 11:50:12 +02:00
obscuren
1506e00a23 core: improved error message for invalid nonce txs 2015-04-23 11:50:11 +02:00
obscuren
7138404cb0 core: only post event once per tx & fixed test 2015-04-23 11:50:11 +02:00
obscuren
498b24270a core: implemented a queued approach processing transactions
Implemented a new transaction queue. Transactions with a holes in their
nonce sequence are also not propagated over the network.

N: 0,1,2,5,6,7 = propagate 0..2 -- 5..N is kept in the tx pool
2015-04-23 11:50:11 +02:00
Gustav Simonsson
4e0a2c8e8c Validate block header UncleHash against calculated hash 2015-04-22 23:16:19 +02:00
obscuren
ed0817c55d core/rpc: fix for null entries in log filters. Closes #725
You can now specify `null` as a way of saying "not interested in this
topic, match all". core.Filter assumes the zero'd address to be the
wildcard. JSON rpc assumes empty strings to be wildcards.
2015-04-21 12:00:57 +02:00
obscuren
093d6d5074 core: removed nonce resetting from the block processor.
All nonce error handling has been moved to the worker
2015-04-21 11:27:12 +02:00
obscuren
b8160cc6d4 core: shuffled some code 2015-04-20 20:37:40 +02:00
obscuren
f28b2bb6ed core: upgraded block chain version 2015-04-20 18:12:05 +02:00
obscuren
36ec42e50c Merge branch 'frontier/natspec' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/natspec 2015-04-20 18:08:14 +02:00
obscuren
72d065d491 core: force block process & fixed chain manager test 2015-04-20 16:02:50 +02:00
obscuren
97a9753f87 core: added chain reset mechanism on bad blocks 2015-04-20 12:58:17 +02:00
obscuren
45da3e17e2 core: added chain head reset to known block 2015-04-20 12:29:02 +02:00
obscuren
97b0c4b697 core: moved TD calculation from proc to chain 2015-04-20 12:01:20 +02:00
zsfelfoldi
d8fb834386 test account is no longer permanently in genesis block, only put there when testing 2015-04-19 20:57:49 +01:00
zsfelfoldi
dba2367157 NatSpec contracts are now not in the genesis block but added by the test 2015-04-19 20:57:49 +01:00
zsfelfoldi
b635cad9fe NatSpec passing end to end test 2015-04-19 20:57:49 +01:00
zsfelfoldi
94489b2269 s 2015-04-19 20:57:49 +01:00
zsfelfoldi
e2d333d209 NatSpec contracts in genesis block, end to end test (unfinished) 2015-04-19 20:57:49 +01:00
obscuren
8f3a7e41de Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum into fjl-rlp-size-validation
Conflicts:
	eth/protocol.go
2015-04-19 17:07:40 +02:00
obscuren
164b878854 cleanup 2015-04-19 00:08:57 +02:00
obscuren
d34e4dc5ac Merge branch 'develop' into downloader-proto 2015-04-18 21:26:43 +02:00
obscuren
84f1af6413 core: merge using equal block numbers rather than the current block 2015-04-18 21:23:42 +02:00
obscuren
1bc2d83b6f core: improved uncle validation error message 2015-04-18 14:24:44 +02:00
Felix Lange
574d5d6ae6 core/types: add rlp tag "nil" for Transaction.Recipient 2015-04-17 14:45:10 +02:00
obscuren
dff39553d4 core: changed split detection to also account for number less than 2015-04-16 00:11:40 +02:00
obscuren
5d2138a2b2 core: fixed issue for logs filter. Closes #629
Log filter `Address` field was cast to a Hash which causes it to always
fail.
2015-04-15 11:59:41 +02:00
obscuren
ccb4722a59 core/types: Changed bloom lookup to take anything bytes backed 2015-04-15 11:58:45 +02:00
obscuren
8310bcda61 state: fixed mutex lockes 2015-04-14 12:47:54 +02:00
obscuren
333d4e0f27 core: during split properly insert parent blocks
During a split parent and grand parent were included in the database but
not in the canonical chain (numbered chain). Added a `merge` function
which finds the common ancestor of the chains and reinserts the missing
blocks.
2015-04-14 00:20:29 +02:00
obscuren
d423305f07 state: fixed nonce issue in managed state
Rlock => Lock when creating a new nonce
2015-04-13 22:57:03 +02:00
Jeffrey Wilcke
1fa844aaf5 Merge pull request #702 from ethersphere/frontier/blockpool
blockpool stability fixes:
2015-04-13 17:35:25 +02:00
Jeffrey Wilcke
5f9346bc7a Merge pull request #700 from bas-vk/issue_650
Added blockchain DB versioning support, closes #650
2015-04-13 17:34:34 +02:00
zelig
3d57e377a4 blockpool stability fixes:
- follow up locks and fix them
- chainManager: call SetQueued for parentErr future blocks, uncomment TD checks, unskip test
- make ErrIncorrectTD non-fatal to be forgiving to genuine mistaken nodes (temp) but demote them to guard against stuck best peers.
- add purging to bounded nodeCache (config nodeCacheSize)
- use nodeCache when creating blockpool entries and let non-best peers add blocks (performance boost)
- minor error in addError
- reduce idleBestPeerTimeout to 1 minute
- correct status counts and unskip status passing status test
- glogified logging
2015-04-13 13:13:55 +01:00
Bas van Kervel
49a513bdeb Added blockchain DB versioning support, closes #650 2015-04-13 10:13:52 +02:00
obscuren
3aa5437a10 Set input to nil for create 2015-04-10 19:59:01 +02:00
obscuren
46898f1e55 Merge branch 'frontier/blockpool' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/blockpool 2015-04-09 16:54:32 +02:00
obscuren
0636e17dbe Added default registrar 2015-04-09 16:37:04 +02:00
zelig
262714fc6c future queued block support
- queued       bool // flag for blockpool to skip TD check
- set to true when future block queued
- in checkTD: skip check if queued
- TODO: add test (insertchain sets future block)
2015-04-09 13:58:35 +01:00
obscuren
204ac81188 Moved handling of nonces to the managed state 2015-04-08 23:30:07 +02:00
obscuren
6e2f78ebdd Default log to stderr 2015-04-08 22:18:16 +02:00
obscuren
6184781b49 Improved transaction pool
The transaction pool will now some easily be able to pre determine the
validity of a transaction by checking the following:

* Account existst
* gas limit higher than the instrinsic gas
* enough funds to pay upfront costs
* nonce check
2015-04-08 20:47:32 +02:00
obscuren
f08e9cbe42 ignore invalid txs right after being added if they prove incorrect 2015-04-08 18:08:21 +02:00
obscuren
1c872ddf4b Changed how logs are being recorded
Logs are now recorded per transactions instead of tossing them out after
each transaction. This should also fix an issue with
`eth_getFilterLogs` (#629) Also now implemented are the `transactionHash,
blockHash, transactionIndex, logIndex` on logs. Closes #654.
2015-04-08 17:15:45 +02:00
obscuren
a953f3ec97 Sync managed accounts to the network 2015-04-08 13:07:21 +02:00
obscuren
31b086f511 Added additional methods to the managed state
* GetNonce Returns the canonical nonce
* SetNonce Set the managed account's nonce
2015-04-08 13:06:56 +02:00
obscuren
09147a50ed Improved tx pool to ignore invalid transactions
Transaction pool will attempt to ignore invalid transactions it had
previously encountered.
2015-04-08 00:31:23 +02:00
Jeffrey Wilcke
758205b187 Merge pull request #648 from Gustav-Simonsson/forward_ecrecover_err_and_remove_dup_checks
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 20:48:56 +02:00
obscuren
688d118c7e Updated logging 2015-04-07 14:57:04 +02:00
obscuren
43454053b0 Fixed tests 2015-04-07 13:10:12 +02:00
Gustav Simonsson
2591883a18 Use logger.Error instead of 0 with glog 2015-04-07 12:48:19 +02:00
Gustav Simonsson
3f306f63d4 Forward and log EC recover err and remove dup pubkey len check 2015-04-07 12:48:19 +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
736aefe9b5 time lapse 2015-04-05 17:59:38 +02:00
obscuren
053d5552ab Updated logging 2015-04-04 23:04:19 +02:00
obscuren
eb1c26746d Changed R S to big int and fixed tests 2015-04-04 21:41:24 +02:00
obscuren
eb8f0b85f7 Changed R & S to *big.Int 2015-04-04 21:32:24 +02:00
obscuren
c39484bc4b Added thread safe each 2015-04-04 20:34:10 +02:00
obscuren
eff6a43419 Removed debugging 2015-04-04 18:29:11 +02:00
obscuren
7a18a39351 prevent deadlock 2015-04-04 18:23:51 +02:00
obscuren
e1ed8c33bd Improved chain manager, improved block processor, fixed tests
* ChainManager allows cached future blocks for later processing
* BlockProcessor allows a 4 second window on future blocks
* Fixed tests
2015-04-04 16:35:23 +02:00
obscuren
29f120206e Added block cache delete method 2015-04-04 16:33:12 +02:00
obscuren
c985ce4d78 Changed log to new logging 2015-04-04 13:41:58 +02:00
obscuren
1889727144 Moved logging to logger.Core 2015-04-04 13:24:01 +02:00
obscuren
218bfeb60e check for nil block (tmp).
@zelig this needs to be addressed in the block pool.
2015-04-04 12:40:48 +02:00
obscuren
a0e44e3281 basic glog 2015-04-04 12:40:11 +02:00
obscuren
ec8a6e0a2b Merge branch 'develop' into glog 2015-04-03 17:19:22 +02:00
obscuren
f9d94c7462 do not include BlockEqualTS as valid uncles 2015-04-03 17:19:09 +02:00
obscuren
36452afd4e glog wip 2015-04-03 17:09:11 +02:00
obscuren
f49e398ebe bool => int 2015-04-03 12:28:55 +02:00
obscuren
c59c826ab4 fixed stack level 2015-04-03 11:27:56 +02:00
obscuren
b8124ec791 Removed old (unused) argument 2015-04-01 23:58:26 +02:00
Jeffrey Wilcke
219d94c1dd Merge pull request #623 from Gustav-Simonsson/read_protocol_values_from_common_params
Read most protocol params from common/params.json
2015-04-01 23:37:17 +02:00
Gustav Simonsson
c26c8d3a44 Read most protocol params from common/params.json
* Add params package with exported variables generated from
  github.com/ethereum/common/blob/master/params.json
* Use params package variables in applicable places
* Add check for minimum gas limit in validation of block's gas limit
* Remove common/params.json from go-ethereum to avoid
  outdated version of it
2015-04-02 06:22:32 +02:00
obscuren
344b3556eb Fixed uncle rewards in miner
The uncle rewards were changed in the block processor. This change will
reflect those changes in the miner as well.
2015-04-01 21:18:41 +02:00
obscuren
516ec28544 sha3 stack check 2015-04-01 17:51:22 +02:00
obscuren
96cf776f81 Check stack for BALANCE. Closes #622 2015-04-01 17:45:38 +02:00
zelig
6ffea34d8b check TxMsg
- add validation on TxMsg checking for nil
- add test for nil transaction
- add test for zero value transaction (no extra validation needed)
2015-04-01 12:32:42 +01:00
zelig
82da6bf4d2 test for invalid rlp encoding of block in BlocksMsg
- rename Validate -> ValidateFields not to confure consensus block validation
- add nil transaction and nil uncle header validation
- remove bigint field checks: rlp already decodes *big.Int to big.NewInt(0)
- add test for nil header, nil transaction
2015-04-01 12:32:42 +01:00
zelig
e1be34bce1 eth: SEC-29 eth wire protocol decoding invalid message data crashes client
- add validate method to types.Block
- validate after Decode -> error
- add tests for NewBlockMsg
2015-04-01 12:32:42 +01:00
obscuren
6afc5e762a Merge branch 'hexify' of https://github.com/tgerring/go-ethereum into tgerring-hexify 2015-04-01 12:49:10 +02:00
Taylor Gerring
86ba7432a9 txMeta storage as struct 2015-04-01 12:14:35 +02:00
obscuren
f468364e4d fixed tests 2015-04-01 11:42:02 +02:00
obscuren
0a554a1f27 Blocktest fixed, Execution fixed
* Added new CreateAccount method which properly overwrites previous
  accounts (excluding balance)
* Fixed block tests (100% success)
2015-04-01 10:53:32 +02:00
Taylor Gerring
40ea466200 Store and retrieve tx context metadata #608
Improving this in the future will allow for cleaning up a bit of legacy
code.
2015-03-31 22:40:12 +02:00
obscuren
3453f8c5d2 Added Code field 2015-03-31 15:30:55 +02:00
Gustav Simonsson
9feed3f61e Correct gas limit validation according to new algorithm
* Use absolute value of (block's gas limit) - (parent's gas limit)
  in comparison with diff limit.
* Ensure the diff is strictly smaller than the allowed size.
2015-03-30 16:07:24 +02:00
obscuren
61c5edcb57 Cleanup. 2015-03-29 15:02:49 +02:00
obscuren
af153e7884 Merge branch 'fix_ecrecover' of https://github.com/ebuchman/go-ethereum into ebuchman-fix_ecrecover 2015-03-29 13:34:41 +02:00
Jeffrey Wilcke
b9ca5eef58 Merge pull request #579 from tgerring/rpcargs
RPC Args
2015-03-28 20:42:45 +01:00
obscuren
368ebe63a9 Cleanup VM.
* CALLDATA use getData
* removed old context get range value
* removed casting big => int for some cases
* pc now big int #457
2015-03-28 20:30:38 +01:00
obscuren
3b7e4173ce Cleanup VM 2015-03-28 20:03:25 +01:00
obscuren
3ea8c7301e PUSH gas fix 2015-03-27 16:53:05 +01:00
Taylor Gerring
43d521e90e Decouple core from rpc 2015-03-27 16:36:01 +01:00
obscuren
df648cbc60 Removed comments 2015-03-27 16:11:19 +01:00
obscuren
8a22cd5e6c Removed defer/panic. #503 2015-03-27 16:09:57 +01:00
obscuren
00f8319faf Explicitly check memory's data store. #515 2015-03-27 14:22:38 +01:00
obscuren
c32bca45ad Stack limit 2015-03-26 17:45:09 +01:00
obscuren
eb433731aa Fixed filter and refactored code 2015-03-26 12:06:14 +01:00
obscuren
505f1fbcbb added tx tests and fixed block tests 2015-03-25 17:05:29 +01:00
obscuren
9de1ad6546 fixed tests 2015-03-24 15:27:05 +01:00
obscuren
ff9d66e096 Cleaned up changes 2015-03-24 15:23:16 +01:00
obscuren
23bccbbc58 Modified according to poc 9 changes
* Refund of value
2015-03-24 15:15:17 +01:00
obscuren
bbe795455a Secure trie shakey / key matching 2015-03-24 15:14:03 +01:00
obscuren
0ec171ccdf Copy fix 2015-03-24 13:38:16 +01:00
obscuren
576df064e5 Updated for PV59
* Value XFER are refunded back to the sender if the execution fails
2015-03-24 11:49:30 +01:00
obscuren
d8e21b39b3 Added copy function 2015-03-24 10:33:00 +01:00
obscuren
0ee0094cc0 better block propagation 2015-03-23 22:59:19 +01:00
obscuren
7b8a47f484 removed legacy code 2015-03-23 22:05:12 +01:00
obscuren
bfb9ed881d Gas validation and clean up of legacy code 2015-03-23 21:48:45 +01:00
obscuren
ebf4408d73 Decrement depth 2015-03-23 21:48:31 +01:00
obscuren
c8e9ca0483 fixed bad uncles 2015-03-23 18:27:05 +01:00
obscuren
0330077d76 moved state and vm to core 2015-03-23 16:59:09 +01:00
obscuren
d7eaa97a29 moved to error 2015-03-23 16:55:40 +01:00
obscuren
211cb03f83 Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop 2015-03-23 16:47:05 +01:00
Gustav Simonsson
becc503230 Correct difficulty calculation to use new difficulty minimum 2015-03-23 16:32:20 +01:00
obscuren
dc3a9379f5 logging for possible uncles 2015-03-23 16:14:33 +01:00
obscuren
524f8199bf added some nil checks for cache (testing specific) 2015-03-23 12:22:58 +01:00
obscuren
0be6d34048 finally merged *the missing* 2015-03-23 12:12:49 +01:00
obscuren
c28116cb3b Fixed incorrect recipient derived 2015-03-21 14:46:50 +01:00
obscuren
a59bb053f4 merge 2015-03-20 16:02:01 +01:00
obscuren
deee9cb170 Added caching for block chain. Currently set to 10k 2015-03-20 15:54:42 +01:00
Taylor Gerring
28e1971272 Merge branch 'rpcxeth' into rpcfrontier
Conflicts:
	rpc/api.go
2015-03-20 15:25:43 +01:00
obscuren
55fdf3e462 Listen to tx pre event and trigger 'pending' 2015-03-20 12:07:06 +01:00
Taylor Gerring
6c04c19eb4 Reorg filter logic to XEth 2015-03-19 22:58:07 -04:00
obscuren
62236dd95e copy over loop 2015-03-19 23:20:41 +01:00
obscuren
29eb220910 :-) 2015-03-19 17:18:55 +01:00
obscuren
b5a71d955c merge 2015-03-19 16:59:13 +01:00
obscuren
e540a75030 re-enabled json logging 2015-03-19 16:30:01 +01:00
obscuren
14a2f42f37 fixed chain event. Closes #529 2015-03-19 16:19:54 +01:00
obscuren
4d0ae8b0cb Merge branch 'conversion' of github.com-obscure:ethereum/go-ethereum into conversion 2015-03-18 14:16:07 +01:00
obscuren
48dd601de0 prep template for fixed size hashes 2015-03-18 14:15:58 +01:00
Felix Lange
d15f90645d Merge remote-tracking branch 'ethereum/conversion' into conversion 2015-03-18 13:39:01 +01:00
Felix Lange
a59dd393e7 core: fix tests 2015-03-18 13:38:47 +01:00
Felix Lange
b5b83db450 core: use package rlp to encode blocks
This also changes the chain export format so there is no
enclosing list around the blocks, which enables streaming export.
2015-03-18 13:36:48 +01:00
Felix Lange
c298148a7f core/types: use package rlp instead of common.Decode 2015-03-18 13:24:34 +01:00
obscuren
0a1eeca41e conversions. -compilable- 2015-03-18 13:00:01 +01:00
obscuren
942980609f conversions 2015-03-18 11:44:25 +01:00
obscuren
86661de077 Fixed tests and bloom 2015-03-17 18:00:03 +01:00
obscuren
c21293cd91 bloom 2015-03-17 16:05:17 +01:00
obscuren
0fa7859b94 Fixed VM & Tests w/ conversion 2015-03-17 13:24:25 +01:00
Felix Lange
17c5ba2b6b core: actually convert transaction pool 2015-03-17 12:16:21 +01:00
Felix Lange
ee7202fa00 Merge remote-tracking branch 'ethereum/conversion' into conversion 2015-03-17 12:01:40 +01:00
Felix Lange
27f7aa0163 core: adapt Message for new Transaction.From signature 2015-03-17 12:00:29 +01:00
Felix Lange
b95387a0dc core: convert transaction pool to common.{Address,Hash} 2015-03-17 11:59:26 +01:00
Felix Lange
e91ab84dbe core/types: don't use Address zero value for invalid addresses 2015-03-17 11:58:31 +01:00
obscuren
515d9432fc converted vm 2015-03-17 11:19:23 +01:00
Felix Lange
d5de6489d7 core/types: fix Transaction.Hash and add support for encoding with package rlp 2015-03-17 01:34:18 +01:00
obscuren
8ce6a36478 converted chain manager 2015-03-16 23:48:18 +01:00
obscuren
94505146a2 updated vm env 2015-03-16 23:17:28 +01:00
obscuren
843db4978e updated blockpool 2015-03-16 23:10:26 +01:00
obscuren
6aa390abfb Merge branch 'conversion' of github.com-obscure:ethereum/go-ethereum into conversion 2015-03-16 18:43:09 +01:00
obscuren
91b0b14845 converted vm 2015-03-16 18:42:18 +01:00
Felix Lange
16df850af2 core/types: use common.{Hash,Address} in for transactions 2015-03-16 17:43:42 +01:00
obscuren
bfcd2cf132 block conversion 2015-03-16 17:27:23 +01:00
obscuren
f486c0ae56 new type + additional methods 2015-03-16 11:59:52 +01:00
obscuren
b523441361 Moved ethutil => common 2015-03-16 11:27:38 +01:00
obscuren
d9966d6158 merge 2015-03-14 23:37:21 +01:00
obscuren
387f6bba3e POW fixes 2015-03-14 16:37:57 +01:00
obscuren
44636e5b82 typo 2015-03-14 13:21:20 +01:00
obscuren
532a74f50e Improved errors. Closes #475 2015-03-14 12:43:10 +01:00
Felix Lange
9326541820 core/types: make Block.{ParentHash,SeedHash,MixDigest} []byte
There is no reason to keep them as ethutil.Bytes.
2015-03-13 18:41:09 +01:00
obscuren
b927c29469 GetBlockByNumber now properly looks for a number in the database 2015-03-13 18:29:42 +01:00
obscuren
03403399fc Return proper error 2015-03-13 17:47:11 +01:00
obscuren
f1fcda4f2f Implemented managed state
* Reimplemented nonce management for known accounts.
2015-03-13 16:29:04 +01:00
obscuren
cda88ce31a Implemented a manage state for keeping track of nonces 2015-03-13 14:37:54 +01:00
obscuren
e69d5b32e8 Increased genesis gas & gas floor limit to 3141592 2015-03-13 13:52:23 +01:00
obscuren
f76cc6699e Changed context and ADDMOD, MULMOD
* Cleaned up VM execution. VM run now takes a context
* ADDMOD/MULMOD - removed incorrect cast
2015-03-13 13:44:15 +01:00
obscuren
80592f244d more obvious failure for ethtest 2015-03-12 23:26:58 +01:00
obscuren
310ca62285 Removed some of that gas pre pay magic 2015-03-12 22:29:10 +01:00
obscuren
ef6706696c Add additional extra database for non-protocol related data
* Add transaction to extra database after a successful block process
2015-03-12 14:50:35 +01:00
obscuren
9fb52c517b Changed V to byte. Closes #456 2015-03-12 00:18:03 +01:00
Taylor Gerring
5a9f712144 Comment out broken test (return type does not exist) 2015-03-11 14:43:39 -05:00
obscuren
c01d4c2f4c Lowered default gas price and increased default gas limit 2015-03-11 17:36:35 +01:00
obscuren
477815c044 Improved error reporting and removed commented code 2015-03-11 16:33:39 +01:00
obscuren
7e0ccc9de5 Merge branch 'develop' into rpcfrontier
Conflicts:
	rpc/api.go
	rpc/args.go
2015-03-11 01:08:42 +01:00
obscuren
ce595b9266 fallback 2015-03-10 20:28:20 +01:00
Felix Lange
269cfbb8ac Merge branch origin/develop into accounts-integration
Conflicts:
	cmd/blocktest/main.go
	cmd/mist/debugger.go
	cmd/utils/cmd.go
2015-03-10 17:14:31 +01:00
obscuren
b87442a9f7 Fixed error message. Closes #448 2015-03-10 11:29:22 +01:00
Felix Lange
80985f97da cmd/evm, core, ethdb, state, tests/helper: remove ReadConfig calls 2015-03-10 02:39:53 +01:00
Felix Lange
9bf513e993 Merge ethereum/poc-9 into accounts-integration
Conflicts:
	cmd/utils/cmd.go
	cmd/utils/flags.go
	core/manager.go
	eth/backend.go
	rpc/http/server.go
	xeth/xeth.go
2015-03-09 23:25:46 +01:00
Felix Lange
2ee88a220a core: remove Hash method from Message interface
This will simplify the next commmit. Hash was only used for logging.
2015-03-09 23:08:41 +01:00
obscuren
07955b3041 merge 2015-03-08 01:09:34 +01:00
Felix Lange
d66f93cecd accounts, core, eth, xeth: use account manager for everything
The account manager is now responsible for picking the
default account and the coinbase.
2015-03-07 12:38:33 +01:00
obscuren
22b493a6ff Fixed tests 2015-03-06 20:10:59 +01:00
obscuren
cd856cb213 Separated block db from state db. Partial fix for #416 2015-03-06 18:26:16 +01:00
obscuren
8d9be18b29 Queued approach to delivering chain events 2015-03-06 15:50:44 +01:00
Gustav Simonsson
bc45e5c6de Integrate eth_accounts and eth_transact to use new account manager
* Add from to eth_transact / xeth.Transact and add static pass in lieu
  of integrating with native Mist window for user passphrase entry
* Make eth_accounts return AccountManager.Accounts()
* Add a Generate Key menu item in Mist
2015-03-06 13:10:42 +00:00
obscuren
23ad2f02c0 debug comments & pow handling 2015-03-06 10:22:40 +01:00
Taylor Gerring
94e543bc39 Merge pull request #431 from tgerring/jsonlogs
Structured logging updates
2015-03-05 14:32:41 -06:00
obscuren
88ff13c241 Spec changes.
* All errors during state transition result in an invalid tx
2015-03-05 19:51:25 +01:00
Taylor Gerring
fbb307cca0 Added eth.chain.new_head 2015-03-05 10:58:13 -06:00
Jeffrey Wilcke
3b30765378 Merge pull request #426 from Gustav-Simonsson/add_blockchain_tests
Add initial implementation of block tests
2015-03-05 17:43:56 +01:00
obscuren
c47866d251 Miner fixes and updates (including miner) 2015-03-05 09:14:58 +01:00
Gustav Simonsson
871dfd399b Add initial implementation of block tests
* Add blocktest cmd and support for block tests files in
  tests/BlockTests , the launched node does not connect to
  network, resets state with a genesis block from the test file
  and starts the RPC API
2015-03-04 20:27:09 +01:00
obscuren
84a4f761f3 uncle validation 2015-03-04 10:49:56 +01:00
obscuren
d4d505c868 Fixed genesis 2015-03-03 21:48:05 +01:00
obscuren
08fd0715f9 updated genesis 2015-03-03 21:09:29 +01:00
obscuren
26de12d9bf Changed nonce to a uint64 2015-03-03 21:04:31 +01:00
obscuren
f0b2ea64fc Merge branch 'jsonlogs' of https://github.com/ethersphere/go-ethereum into ethersphere-jsonlogs
Conflicts:
	eth/block_pool.go
	eth/block_pool_test.go
	eth/protocol_test.go
	miner/worker.go
2015-03-03 20:30:05 +01:00
obscuren
40ff3cac39 merge 2015-03-03 17:56:36 +01:00
obscuren
53b5a45856 Merge branch 'xcthulhu-publictests' into poc-9 2015-03-03 17:55:29 +01:00
obscuren
313fe3861b fixed pow stuff 2015-03-03 17:55:23 +01:00
obscuren
22b132e28f Merge branch 'publictests' of https://github.com/xcthulhu/go-ethereum into xcthulhu-publictests 2015-03-03 17:20:34 +01:00
obscuren
b0aaa77f02 changed message 2015-03-03 17:20:10 +01:00
obscuren
ee0a1bec6c GasLimit check updated 2015-03-03 17:05:51 +01:00
obscuren
c74c07eed1 Fixed error for invalid transaction 2015-03-03 16:20:38 +01:00
obscuren
fa831206c6 Updated gast costs 2015-03-03 13:29:52 +01:00
obscuren
34ee5ab9a8 Bloom expanded by 4 2015-03-03 11:56:12 +01:00
zelig
6c2856df23 add eth.chain.new_head log to core/chain_manager 2015-03-03 15:44:41 +07:00
Matthew Wampler-Doty
de9f79133f Introducing ethash 2015-03-02 22:29:34 -05:00
Matthew Wampler-Doty
080823bdee Only one uncle 2015-03-02 18:56:11 -05:00
obscuren
b383ff0b96 New gas prices model 2015-03-02 16:32:02 +01:00
obscuren
6e50a1e9f5 Filter accepts multiple topics per entry. Fixes #403 2015-03-01 19:08:26 +01:00
obscuren
73c52d1677 Merge branch 'ethersphere-blockpool2' into poc-9 2015-02-28 20:52:57 +01:00
obscuren
ae45a39dc1 Secure trie 2015-02-28 20:52:29 +01:00
obscuren
6ea7aae29c Removed some methods from the JS REPL 2015-02-28 19:15:57 +01:00
Matthew Wampler-Doty
ba1f4bbe91 Exposing stuff for ethash 2015-02-27 20:56:24 -05:00
Matthew Wampler-Doty
3820a65299 Merge branch 'publictests' of github.com:ebuchman/go-ethereum into ethash_pow 2015-02-27 16:13:31 -05:00
Ethan Buchman
0efd6a881a public functions for making chains on the fly 2015-02-27 16:05:03 -05:00
Matthew Wampler-Doty
8653db6df0 Introducign MixDigest and SeedHash 2015-02-27 15:59:33 -05:00
Ethan Buchman
5a827417d9 Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop 2015-02-26 17:54:57 -05:00
obscuren
3ab05ddd25 Bump 2015-02-26 20:26:37 +01:00
obscuren
e235b57234 Fixed consensus issue for refunding
* Refund should _always_ go to the origin
2015-02-26 20:08:35 +01:00
obscuren
37e6870f64 wip 2015-02-26 18:39:05 +01:00
Gustav Simonsson
260ab73969 Validate block header gas limit
* Add block header gas limit validation in ValidateBlock function,
  see eq 39 and 45 in yellow paper. Before it was calculated _for_
  the block instead of validated.
* Use the block header gas limit when setting the gas pool instead
  of calculating the value for the block.
2015-02-25 20:00:32 +01:00
obscuren
747647e02a Merge branch 'master' into develop 2015-02-23 19:25:50 +01:00
obscuren
0b57bad2de removed log 2015-02-23 19:25:41 +01:00
obscuren
b2a225a52e Properly uninstall filters. Mining issue fixed #closes #365
* Added an additional tx state which is used to get the current nonce
* Refresh transient state each time a new canonical block is found
* Properly uninstall filters. Fixes a possible crash in RPC
2015-02-23 15:43:41 +01:00
obscuren
483d96a89d Added eth_logs & fixed issue with manual log filtering
* Implemented `eth_logs`
* Fixed issue with `filter.Find()` where logs were appended to an
  incorrect, non-returned slice resulting in no logs found
2015-02-22 13:12:01 +01:00
obscuren
cc43ab9a81 Minor updates for release 2015-02-20 18:05:46 +01:00
obscuren
66d5559866 Fixed chain event issue 2015-02-20 16:59:08 +01:00
obscuren
75625801f5 fixed merge 2015-02-20 15:18:07 +01:00
obscuren
ea9a549bbd Removed exported fields from state object and added proper set/getters 2015-02-20 14:19:34 +01:00
obscuren
d8ac267f41 dirty tracking for state objects fixed 2015-02-20 14:01:30 +01:00
obscuren
fa4cbad315 Optimisations and fixed a couple of DDOS issues in the miner 2015-02-19 22:33:22 +01:00
obscuren
ee9df32dba Added errors 2015-02-18 16:08:51 +01:00
obscuren
655e942597 Added GetBlock GetUncle with OOB guard 2015-02-18 13:14:21 +01:00
Ethan Buchman
9446489cf3 core: chain manager forking tests 2015-02-17 22:02:15 -05:00
Ethan Buchman
2ba65f4fba Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop 2015-02-17 19:25:18 -05:00
obscuren
7fc9b5b3f9 Changed to ChainEvent and fixed a nil pointer in transact 2015-02-17 22:20:47 +01:00
obscuren
567428fb34 Filter and mutex locks added 2015-02-17 16:12:55 +01:00
obscuren
8135752a32 "centralised" mining to backend. Closes #323 2015-02-17 12:24:58 +01:00
obscuren
d2a4bc4d73 Removed reference to lastBlockNumber & LastBlockNumber 2015-02-16 12:03:27 +01:00
obscuren
2c3a014f03 Resolved some bugs in the miner
* TODO nonce error sometimes persists
* Fixed mining on wrong blocks
* Fixed state error & receipt fail
2015-02-15 16:16:27 +01:00
obscuren
b143dad596 Reference pointer to block instead of pointer to function 2015-02-15 02:09:57 +01:00
obscuren
32c7ebc51d Fixed mining & limited hash power 2015-02-14 16:52:14 +01:00
obscuren
ce239333d5 Update balance label when mining 2015-02-13 18:15:23 +01:00
obscuren
8305d409d2 Merge branch 'develop' into miner 2015-02-13 17:00:15 +01:00
obscuren
bde3ff16ad merge 2015-02-13 16:02:37 +01:00
obscuren
76fa75b394 wip 2015-02-13 15:35:54 +01:00
obscuren
b64ad7a2a6 Merge branch 'develop' into miner 2015-02-11 23:46:54 +01:00
obscuren
3f6baa45a7 Documented methods & removed old manifest 2015-02-11 23:46:45 +01:00
obscuren
da2fae0e43 Basic structure miner 2015-02-10 13:04:38 +01:00
obscuren
58ba290a9f moved manager 2015-02-09 00:08:28 +01:00
obscuren
b22f0f2ef5 merged 2015-02-09 00:06:24 +01:00
obscuren
c8147fb7b9 Compare regardless of length 2015-02-07 17:04:04 +01:00
Felix Lange
56f777b2fc cmd/ethereum, cmd/mist, core, eth, javascript, xeth: fixes for new p2p API 2015-02-06 00:03:59 +01:00
obscuren
f8c1eb157d Undone fix. Will re-enable once chain resets 2015-02-05 14:42:12 -08:00
Jeffrey Wilcke
47129428fe Merge pull request #290 from Gustav-Simonsson/correct_block_parent_timestamp_check
Correct block parent timestamp check and typos
2015-02-05 12:23:56 -08:00
obscuren
c64852dbcc pending / chain event 2015-02-05 11:55:03 -08:00
obscuren
ac69538707 Merge branch 'develop' into miner 2015-02-05 10:58:43 -08:00
obscuren
1d519854e2 Propagate known transactions to new peers on connect 2015-02-04 17:28:54 -08:00
obscuren
65158d39b0 Filtering 2015-02-04 15:05:47 -08:00
obscuren
b1870631a4 WIP miner 2015-02-04 05:53:22 -08:00
Gustav Simonsson
697c2b5dc1 Correct block parent timestamp check and typos 2015-02-03 23:09:39 +01:00
obscuren
30fa30bd4a Docs & old code removed 2015-02-02 20:02:00 -08:00
obscuren
8ccde784f9 Added (disabled) Jit validation 2015-02-01 15:30:29 +01:00
obscuren
9016ce8dd8 Merge branch 'bounty' into develop 2015-01-31 17:23:50 +01:00
obscuren
cb382fa76b Validate transactions sender before adding to pool. Closes #272 2015-01-31 17:22:17 +01:00
obscuren
6488a392a3 Reimplemented message filters for rpc calls 2015-01-29 16:52:00 +01:00
obscuren
32fbc0d334 Merge branch 'develop' into qt5.4 2015-01-28 21:36:53 +01:00
obscuren
3440a8a0bf changed lost key 2015-01-28 21:12:26 +01:00
obscuren
45e15f62f5 merge jsonrpc 2015-01-28 18:22:53 +01:00
obscuren
7f638f0b2d moving to a better xeth 2015-01-28 18:14:28 +01:00
obscuren
f3e78c8f3c reworking messages => log 2015-01-28 10:23:18 +01:00
Ethan Buchman
2da367a2be fix unchecked slice index on tx.From() 2015-01-26 10:57:23 -08:00
obscuren
0d96528d2f Skip for travis 2015-01-24 18:46:35 +01:00
obscuren
2ba54a69be skipping for travis 2015-01-24 18:40:03 +01:00
obscuren
67f9783e6a Moved obscuren secp256k1-go 2015-01-22 00:35:00 +01:00
obscuren
0045ce4cde Future blocks not allowed 2015-01-22 00:24:30 +01:00
obscuren
9845029a75 StdVm by default 2015-01-20 15:49:12 +01:00
obscuren
b03614527b VmDebug => StdVm 2015-01-19 11:20:55 +01:00
obscuren
7394ee7c72 Fixed difficulty
Difficulty was broken when refactored.
2015-01-18 15:45:54 +01:00
obscuren
bb55307a9d Updated tests 2015-01-13 20:31:31 +01:00
obscuren
82beaabf6a Fixed consensus issue 2015-01-13 14:57:51 +01:00
obscuren
75cd9cd2de updated tests 2015-01-12 14:40:40 +01:00
obscuren
35fe4313d5 pre-pow 2015-01-12 10:19:27 +01:00
obscuren
491c23a728 Moved the TD method from block processor. 2015-01-09 22:42:36 +01:00
obscuren
351516c57c Cast to string for hashable type 2015-01-09 22:23:33 +01:00
obscuren
905b8cc82f mem fixes for vm. Changed uncle inclusion tests 2015-01-09 17:38:35 +01:00
zelig
b3161f5803 Merge remote-tracking branch 'upstream/develop' into develop 2015-01-09 06:21:47 +00:00
zelig
3bdf28c1fe GetBlockHashesFromHash(hash, max) gives back max hashes starting from PARENT of hash 2015-01-09 05:03:26 +00:00
obscuren
5f958a582d fixed other tests to use hashes as well 2015-01-08 16:48:39 +01:00
obscuren
e27237a03a Changed to use hash for comparison
DeepReflect would fail on TD since TD isn't included in the original
block and thus the test would fail.
2015-01-08 16:45:51 +01:00