Commit Graph

591 Commits

Author SHA1 Message Date
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
obscuren b25126a277 Minor fixed and additions for block proc
* Path check length
* Genesis include TD
* Output TD on last block
2015-01-08 16:37:06 +01:00
obscuren db4aaedcbd Moved ptrie => trie. Removed old trie 2015-01-08 11:47:04 +01:00
obscuren fed3e6a808 Refactored ethutil.Config.Db out 2015-01-07 13:17:48 +01:00
obscuren 60d9611c23 Fixed tests where txs weren't properly removed 2015-01-07 01:21:45 +01:00
obscuren 25e6c4eff8 Adjusted difficulty and skip get tx messages 2015-01-06 14:02:47 +01:00
obscuren 564f02aa2b Fixed tests 2015-01-06 13:18:09 +01:00
obscuren cc7f8f58e8 Limit block extra to 1024 2015-01-06 00:17:05 +01:00
obscuren b99b2c446c Precompiled contract & Depth change
* Added pre-compiled contract 0x04 (mem cpy)
* Changed depth error to return the gas instead of consuming
2015-01-05 17:39:42 +01:00
obscuren 6abf8ef78f Merge 2015-01-05 17:10:42 +01:00
obscuren b0854fbff5 BlockManager => BlockProcessor 2015-01-05 11:22:02 +01:00
obscuren c1dee15144 BlockManager => BlockProcessor 2015-01-05 00:18:44 +01:00
obscuren 09841b1c9b Cleaned up some of that util 2015-01-04 14:20:16 +01:00
obscuren ca1b2a1a91 Changed prev_hash to block_hash, state transition now uses vm env
* PREVHASH => BLOCKHASH( N )
* State transition object uses VMEnv as it's query interface
* Updated vm.Enviroment has GetHash( n ) for BLOCKHASH instruction
* Added GetHash to xeth, core, utils & test environments
2015-01-03 17:18:43 +01:00
obscuren 16f417f5af Fixed bug where logging could crash client during tx adding 2015-01-02 22:19:58 +01:00
obscuren 4dc7ee9087 Closure => Context 2015-01-02 16:14:12 +01:00
obscuren e2d1d832ef added nil check 2015-01-02 13:00:25 +01:00
obscuren d336e24dce Removed the need of having a backend for the tx pool 2015-01-02 12:26:55 +01:00
obscuren ae2c90cc28 Removed value check from tx validation 2015-01-02 12:24:36 +01:00
obscuren 6cf61039cf Added tests for valid transactions 2015-01-02 12:18:23 +01:00
obscuren 48d2a8b8ee Refactored tx pool and added extra fields to block
* chain manager sets td on block + td output w/ String
* added tx pool tests for removing/adding/validating
* tx pool now uses a set for txs instead of list.List
2015-01-02 12:09:38 +01:00
obscuren 477a6d426c Added a query interface for world state 2015-01-02 12:07:54 +01:00
obscuren 1cc86c07a0 Deleted 2015-01-02 11:16:52 +01:00
obscuren 1c7e8e9093 Set TD to block once processed 2015-01-02 11:16:42 +01:00
obscuren b619b244c7 Fixed tests 2015-01-02 11:16:30 +01:00
obscuren 8df689bd44 Chain tests 2014-12-30 15:42:26 +01:00
obscuren 2f8a45cd8b Fixed chain test & added new chain 2014-12-30 13:32:01 +01:00
obscuren fb1edd05f4 Removed the deferred reset 2014-12-24 11:20:43 +01:00
obscuren 780abaec98 Switched to new trie 2014-12-23 18:35:36 +01:00
obscuren 1382e8d84b Delete current chain for reset 2014-12-23 14:50:04 +01:00
obscuren 9e5257b83b Chain importer 2014-12-23 14:33:15 +01:00
obscuren 4cd79d8ddd Refactored block & Transaction
* Includes new rlp decoder
2014-12-23 13:48:44 +01:00
obscuren 125bdc3253 Merge branch 'develop' into poc8
Conflicts:
	cmd/ethereum/flags.go
2014-12-20 02:45:05 +01:00
obscuren 1508a23a6f Minor updates on gas and removed/refactored old code. 2014-12-20 02:21:13 +01:00
obscuren f5b8f3d41b Removed OOG check. Revert should always happen. 2014-12-19 13:59:49 +01:00
obscuren 0e93b98533 Transaction was generating incorrect hash because of var changes 2014-12-19 13:34:53 +01:00
obscuren 207b6c50fb Merge branch 'badsig' of https://github.com/ebuchman/go-ethereum into ebuchman-badsig
Conflicts:
	core/transaction_pool.go
2014-12-19 00:33:05 +01:00