Commit Graph

370 Commits

Author SHA1 Message Date
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
obscuren
12671c82ea Moved VM to execution 2014-12-19 00:23:00 +01:00
obscuren
6e24b1587d Merge branch 'develop' into poc8 2014-12-19 00:19:02 +01:00
obscuren
59ef6e3693 Cleaned up objects 2014-12-19 00:18:52 +01:00
obscuren
22d29a6d52 merge 2014-12-19 00:02:55 +01:00
obscuren
3325683794 Fixed refund model 2014-12-18 22:38:51 +01:00
obscuren
198cc69357 Gas corrections and vm fixes 2014-12-18 21:58:26 +01:00
obscuren
5ad473d758 Moved methods to messages 2014-12-18 15:33:22 +01:00
obscuren
db494170dc Created generic message (easy for testing) 2014-12-18 15:18:13 +01:00
obscuren
0dc566124a Merge fixes 2014-12-18 13:22:59 +01:00
obscuren
721e8ae93f Merged develop 2014-12-18 13:19:41 +01:00
obscuren
2d09e67713 Updated to new methods 2014-12-18 13:17:24 +01:00
obscuren
49e0267fe7 Locks, refactor, tests
* Added additional chain tests
* Added proper mutex' on chain
* Removed ethereum dependencies
2014-12-18 13:12:54 +01:00
obscuren
590aace88d Removed ethereum as dependency 2014-12-18 12:18:19 +01:00
obscuren
e6fdf0c9f7 Merge branch 'develop' into poc8 2014-12-18 00:12:51 +01:00
obscuren
4dbdcaecb1 Moved pre-compiled, moved depth check
* Depth check has been moved to the execution
* Pre compiled execution has been moved to the VM
* PrecompiledAddress has been renamed to PrecompiledAccount
2014-12-17 23:58:52 +01:00
obscuren
b1c58b76a9 moved err check 2014-12-17 12:57:35 +01:00
zelig
72290f67fe resolve merge conflict hell 2014-12-14 20:57:29 +00:00
zelig
7b39cc83cc adapt chain_manager to eth protocol interface
- add Status() to return td, currentblock hash, genesis hash
- GetChainHashesFromHash -> GetBlockHashesFromHash
2014-12-14 20:45:12 +00:00
zelig
d84810d89d add Status to retrieve TD, currentBlock, genesis for easy interface with eth/protocol 2014-12-14 20:30:56 +00:00
zelig
39d86a28e7 adapt to new eth pkg and p2p 2014-12-14 20:30:56 +00:00
zelig
5022a31889 add NewMinedBlockEvent 2014-12-14 20:27:06 +00:00