Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | core, core/vm, crypto: fixes for homestead | Jeffrey Wilcke | 2016-02-18 | 1 | -1/+22 |
| | | | | | | * Removed some strange code that didn't apply state reverting properly * Refactored code setting from vm & state transition to the executioner * Updated tests | ||||
* | parmas, crypto, core, core/vm: homestead consensus protocol changes | Gustav Simonsson | 2016-02-18 | 1 | -3/+18 |
| | | | | | | | | * change gas cost for contract creating txs * invalidate signature with s value greater than secp256k1 N / 2 * OOG contract creation if not enough gas to store code * new difficulty adjustment algorithm * new DELEGATECALL op code | ||||
* | core, core/types, miner: fix transaction nonce-price combo sort | Péter Szilágyi | 2016-01-22 | 2 | -16/+126 |
| | |||||
* | core/state, core/types use package rlp for state, receipt serialisation | Felix Lange | 2015-12-18 | 1 | -9/+6 |
| | |||||
* | rpc: new RPC implementation with pub/sub support | Bas van Kervel | 2015-12-14 | 2 | -0/+8 |
| | |||||
* | core, eth, rpc: split out block validator and state processor | Jeffrey Wilcke | 2015-11-18 | 1 | -25/+0 |
| | | | | | | | | | | | | This removes the burden on a single object to take care of all validation and state processing. Now instead the validation is done by the `core.BlockValidator` (`types.Validator`) that takes care of both header and uncle validation through the `ValidateBlock` method and state validation through the `ValidateState` method. The state processing is done by a new object `core.StateProcessor` (`types.Processor`) and accepts a new state as input and uses that to process the given block's transactions (and uncles for rewords) to calculate the state root for the next block (P_n + 1). | ||||
* | core, eth, trie: fix data races and merge/review issues | Péter Szilágyi | 2015-10-21 | 1 | -5/+5 |
| | |||||
* | eth/downloader: concurrent receipt and state processing | Péter Szilágyi | 2015-10-19 | 1 | -0/+2 |
| | |||||
* | core, eth: receipt chain reconstruction | Péter Szilágyi | 2015-10-19 | 2 | -7/+2 |
| | |||||
* | core: differentiate receipt concensus and storage decoding | Péter Szilágyi | 2015-10-19 | 2 | -49/+75 |
| | |||||
* | eth/downloader: add fast and light sync strategies | Péter Szilágyi | 2015-10-19 | 1 | -5/+5 |
| | |||||
* | core: support inserting pure header chains | Péter Szilágyi | 2015-10-19 | 1 | -7/+9 |
| | |||||
* | core, eth/filters, miner, xeth: Optimised log filtering | Jeffrey Wilcke | 2015-10-17 | 3 | -34/+76 |
| | | | | | | | Log filtering is now using a MIPmap like approach where addresses of logs are added to a mapped bloom bin. The current levels for the MIP are in ranges of 1.000.000, 500.000, 100.000, 50.000, 1.000. Logs are therefor filtered in batches of 1.000. | ||||
* | cmd/evm, core/vm, test: refactored VM and core | Jeffrey Wilcke | 2015-10-04 | 3 | -13/+13 |
| | | | | | | | | | | | | | | | | | * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * core/vm: byte code VM moved to jump table instead of switch * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * Byte code VM now shares the same code as the JITVM * Renamed Context to Contract * Changed initialiser of state transition & unexported methods * Removed the Execution object and refactor `Call`, `CallCode` & `Create` in to their own functions instead of being methods. * Removed the hard dep on the state for the VM. The VM now depends on a Database interface returned by the environment. In the process the core now depends less on the statedb by usage of the env * Moved `Log` from package `core/state` to package `core/vm`. | ||||
* | core, trie: new trie | Felix Lange | 2015-09-23 | 1 | -7/+8 |
| | |||||
* | core, core/types: readd transactions after chain re-org | Jeffrey Wilcke | 2015-09-22 | 1 | -1/+23 |
| | | | | | | | | | | | | | | Added a `Difference` method to `types.Transactions` which sets the receiver to the difference of a to b (NOTE: not a **and** b). Transaction pool subscribes to RemovedTransactionEvent adding back to those potential missing from the chain. When a chain re-org occurs remove any transactions that were removed from the canonical chain during the re-org as well as the receipts that were generated in the process. Closes #1746 | ||||
* | Merge pull request #1789 from Gustav-Simonsson/core_remove_unused_functions | Jeffrey Wilcke | 2015-09-12 | 1 | -4/+0 |
|\ | | | | | core, core/vm, core/state: remove unused functions | ||||
| * | core, core/vm, core/state: remove unused functions | Gustav Simonsson | 2015-09-11 | 1 | -4/+0 |
| | | |||||
* | | core: split out TD from database and all internals | Péter Szilágyi | 2015-09-11 | 1 | -16/+19 |
| | | |||||
* | | core, eth: split the db blocks into headers and bodies | Péter Szilágyi | 2015-09-11 | 1 | -0/+4 |
|/ | |||||
* | Merge pull request #1701 from karalabe/eth62-sync-rebase | Felix Lange | 2015-08-27 | 1 | -0/+14 |
|\ | | | | | eth: implement eth/62 synchronization logic | ||||
| * | eth: port the synchronisation algo to eth/62 | Péter Szilágyi | 2015-08-25 | 1 | -0/+14 |
| | | |||||
* | | Add tests for uncle timestamps and refactor timestamp type | Gustav Simonsson | 2015-08-25 | 2 | -4/+7 |
|/ | |||||
* | miner, core: sort txs by price, nonce | Jeffrey Wilcke | 2015-08-05 | 1 | -0/+19 |
| | |||||
* | improved error detection and handling for NewTransactionFromBytes | Bas van Kervel | 2015-07-29 | 1 | -9/+0 |
| | | | | integrated review comments | ||||
* | Merge pull request #1515 from fjl/license-fixes | Jeffrey Wilcke | 2015-07-28 | 9 | -9/+9 |
|\ | | | | | all: fix license headers one more time | ||||
| * | all: fix license headers one more time | Felix Lange | 2015-07-24 | 9 | -9/+9 |
| | | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a. | ||||
* | | Merge pull request #1510 from fjl/license-fixes | Jeffrey Wilcke | 2015-07-23 | 9 | -36/+36 |
|\| | | | | | all: license fixes | ||||
| * | all: update license headers to distiguish GPL/LGPL | Felix Lange | 2015-07-23 | 9 | -36/+36 |
| | | | | | | | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library". | ||||
* | | core: fix an RLP encoding data race due to deep struct copy | Péter Szilágyi | 2015-07-23 | 1 | -2/+2 |
|/ | |||||
* | all: add some godoc synopsis comments | Felix Lange | 2015-07-07 | 1 | -0/+1 |
| | |||||
* | all: update license information | Felix Lange | 2015-07-07 | 9 | -0/+144 |
| | |||||
* | core, eth, rpc: proper gas used. Closes #1417 | Jeffrey Wilcke | 2015-07-07 | 1 | -2/+4 |
| | | | | Added some additional backward compatibility code for old receipts | ||||
* | core, miner: removed vm errors from consensus err checking | Jeffrey Wilcke | 2015-07-06 | 1 | -1/+3 |
| | | | | | Removed VM errors from the consensus errors. They now used for output only. | ||||
* | core/types, xeth: separate tx hash and tx signature hash | Felix Lange | 2015-07-06 | 2 | -8/+16 |
| | |||||
* | core, eth, miner, xeth: receipt storage fix | Jeffrey Wilcke | 2015-07-04 | 1 | -2/+6 |
| | | | | | * Added GetReceiptsFromBlock, GetReceipt, PutReceipts * Added ContractAddress to receipt. See #1042 | ||||
* | core, miner: miner header validation, transaction & receipt writing | Jeffrey Wilcke | 2015-07-03 | 1 | -1/+1 |
| | | | | | | | | * Miners do now verify their own header, not their state. * Changed old putTx and putReceipts to be exported * Moved writing of transactions and receipts out of the block processer in to the chain manager. Closes #1386 * Miner post ChainHeadEvent & ChainEvent. Closes #1388 | ||||
* | Use uint64 for block header timestamp | Gustav Simonsson | 2015-06-30 | 2 | -2/+2 |
| | |||||
* | core/types: cache computed block values | Felix Lange | 2015-06-30 | 1 | -3/+22 |
| | |||||
* | core/types: cache computed transaction values | Felix Lange | 2015-06-30 | 1 | -5/+28 |
| | |||||
* | core/types: make blocks immutable | Felix Lange | 2015-06-30 | 1 | -237/+184 |
| | |||||
* | core/types: make transactions immutable | Felix Lange | 2015-06-30 | 3 | -154/+143 |
| | |||||
* | core/types: add Transaction.Size | Felix Lange | 2015-06-09 | 1 | -0/+7 |
| | |||||
* | crypto: return common.Address rather than raw bytes | obscuren | 2015-06-05 | 1 | -3/+3 |
| | |||||
* | types: block json unmarshal method added | obscuren | 2015-06-04 | 1 | -0/+24 |
| | |||||
* | Add EC signature validations before call to libsecp256k1 | Gustav Simonsson | 2015-06-02 | 1 | -16/+15 |
| | |||||
* | core: fixed an issue with storing receipts | obscuren | 2015-05-28 | 1 | -0/+29 |
| | |||||
* | core/types, eth: meassure and display propagation times | obscuren | 2015-04-30 | 1 | -0/+2 |
| | |||||
* | core/types: added fake parent hash / hash to String() output | obscuren | 2015-04-29 | 1 | -1/+11 |
| | |||||
* | Validate block header UncleHash against calculated hash | Gustav Simonsson | 2015-04-23 | 1 | -0/+4 |
| | |||||
* | core: moved TD calculation from proc to chain | obscuren | 2015-04-20 | 2 | -10/+8 |
| | |||||
* | core/types: add rlp tag "nil" for Transaction.Recipient | Felix Lange | 2015-04-17 | 1 | -1/+1 |
| | |||||
* | core/types: Changed bloom lookup to take anything bytes backed | obscuren | 2015-04-15 | 1 | -2/+6 |
| | |||||
* | future queued block support | zelig | 2015-04-09 | 1 | -0/+4 |
| | | | | | | | - 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) | ||||
* | Changed how logs are being recorded | obscuren | 2015-04-08 | 2 | -22/+5 |
| | | | | | | | 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. | ||||
* | Use logger.Error instead of 0 with glog | Gustav Simonsson | 2015-04-07 | 1 | -1/+2 |
| | |||||
* | Forward and log EC recover err and remove dup pubkey len check | Gustav Simonsson | 2015-04-07 | 1 | -1/+7 |
| | |||||
* | Block header changed & console miner control | obscuren | 2015-04-06 | 1 | -3/+3 |
| | | | | | | * miner control moved to `admin.miner` * miner option to set extra data * block extra now bytes | ||||
* | Changed R S to big int and fixed tests | obscuren | 2015-04-05 | 3 | -6/+22 |
| | |||||
* | Changed R & S to *big.Int | obscuren | 2015-04-05 | 1 | -6/+6 |
| | |||||
* | check TxMsg | zelig | 2015-04-01 | 1 | -3/+3 |
| | | | | | | - add validation on TxMsg checking for nil - add test for nil transaction - add test for zero value transaction (no extra validation needed) | ||||
* | test for invalid rlp encoding of block in BlocksMsg | zelig | 2015-04-01 | 1 | -15/+12 |
| | | | | | | | - 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 | ||||
* | eth: SEC-29 eth wire protocol decoding invalid message data crashes client | zelig | 2015-04-01 | 1 | -0/+20 |
| | | | | | | - add validate method to types.Block - validate after Decode -> error - add tests for NewBlockMsg | ||||
* | added tx tests and fixed block tests | obscuren | 2015-03-26 | 3 | -3/+58 |
| | |||||
* | Copy fix | obscuren | 2015-03-24 | 1 | -2/+9 |
| | |||||
* | Added copy function | obscuren | 2015-03-24 | 1 | -0/+17 |
| | |||||
* | removed legacy code | obscuren | 2015-03-24 | 1 | -2/+1 |
| | |||||
* | moved state and vm to core | obscuren | 2015-03-23 | 4 | -4/+4 |
| | |||||
* | Fixed incorrect recipient derived | obscuren | 2015-03-21 | 1 | -1/+1 |
| | |||||
* | copy over loop | obscuren | 2015-03-20 | 1 | -5/+2 |
| | |||||
* | merge | obscuren | 2015-03-19 | 1 | -2/+4 |
|\ | |||||
| * | fixed chain event. Closes #529 | obscuren | 2015-03-19 | 1 | -2/+6 |
| | | |||||
* | | Merge remote-tracking branch 'ethereum/conversion' into conversion | Felix Lange | 2015-03-18 | 1 | -0/+4 |
|\ \ | |||||
| * | | conversions | obscuren | 2015-03-18 | 1 | -0/+4 |
| | | | |||||
* | | | core/types: use package rlp instead of common.Decode | Felix Lange | 2015-03-18 | 4 | -60/+155 |
|/ / | |||||
* | | Fixed tests and bloom | obscuren | 2015-03-18 | 2 | -11/+17 |
| | | |||||
* | | bloom | obscuren | 2015-03-17 | 1 | -3/+4 |
| | | |||||
* | | Merge remote-tracking branch 'ethereum/conversion' into conversion | Felix Lange | 2015-03-17 | 2 | -4/+12 |
|\ \ | |||||
| * | | converted vm | obscuren | 2015-03-17 | 2 | -4/+12 |
| | | | |||||
* | | | core/types: don't use Address zero value for invalid addresses | Felix Lange | 2015-03-17 | 2 | -27/+37 |
| | | | |||||
* | | | core/types: fix Transaction.Hash and add support for encoding with package rlp | Felix Lange | 2015-03-17 | 2 | -6/+75 |
|/ / | |||||
* | | converted chain manager | obscuren | 2015-03-17 | 1 | -1/+1 |
| | | |||||
* | | updated blockpool | obscuren | 2015-03-17 | 3 | -24/+24 |
| | | |||||
* | | Merge branch 'conversion' of github.com-obscure:ethereum/go-ethereum into ↵ | obscuren | 2015-03-17 | 2 | -68/+26 |
|\ \ | | | | | | | | | | conversion | ||||
| * | | core/types: use common.{Hash,Address} in for transactions | Felix Lange | 2015-03-17 | 2 | -68/+26 |
| | | | |||||
* | | | converted vm | obscuren | 2015-03-17 | 1 | -3/+2 |
|/ / | |||||
* | | block conversion | obscuren | 2015-03-17 | 5 | -36/+75 |
| | | |||||
* | | new type + additional methods | obscuren | 2015-03-16 | 1 | -17/+17 |
|/ | |||||
* | Moved ethutil => common | obscuren | 2015-03-16 | 6 | -29/+29 |
| | |||||
* | merge | obscuren | 2015-03-15 | 1 | -2/+2 |
|\ | |||||
| * | core/types: make Block.{ParentHash,SeedHash,MixDigest} []byte | Felix Lange | 2015-03-14 | 1 | -3/+3 |
| | | | | | | | | There is no reason to keep them as ethutil.Bytes. | ||||
* | | POW fixes | obscuren | 2015-03-14 | 1 | -6/+1 |
|/ | |||||
* | Changed V to byte. Closes #456 | obscuren | 2015-03-12 | 1 | -4/+4 |
| | |||||
* | Integrate eth_accounts and eth_transact to use new account manager | Gustav Simonsson | 2015-03-06 | 1 | -0/+8 |
| | | | | | | | * 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 | ||||
* | Miner fixes and updates (including miner) | obscuren | 2015-03-05 | 1 | -6/+8 |
| | |||||
* | Fixed genesis | obscuren | 2015-03-04 | 1 | -12/+23 |
| | |||||
* | Changed nonce to a uint64 | obscuren | 2015-03-04 | 1 | -5/+5 |
| | |||||
* | fixed pow stuff | obscuren | 2015-03-04 | 1 | -1/+4 |
| | |||||
* | Merge branch 'publictests' of https://github.com/xcthulhu/go-ethereum into ↵ | obscuren | 2015-03-04 | 1 | -3/+21 |
|\ | | | | | | | xcthulhu-publictests | ||||
| * | Introducing ethash | Matthew Wampler-Doty | 2015-03-03 | 1 | -1/+14 |
| | | |||||
| * | Introducign MixDigest and SeedHash | Matthew Wampler-Doty | 2015-02-28 | 1 | -2/+7 |
| | | |||||
* | | Bloom expanded by 4 | obscuren | 2015-03-03 | 1 | -3/+4 |
|/ | |||||
* | Added GetBlock GetUncle with OOB guard | obscuren | 2015-02-18 | 1 | -0/+12 |
| | |||||
* | Fixed mining & limited hash power | obscuren | 2015-02-14 | 2 | -2/+3 |
| | |||||
* | Update balance label when mining | obscuren | 2015-02-14 | 1 | -0/+2 |
| | |||||
* | Filtering | obscuren | 2015-02-05 | 1 | -6/+2 |
| | |||||
* | WIP miner | obscuren | 2015-02-04 | 1 | -11/+15 |
| | |||||
* | Moved `obscuren` secp256k1-go | obscuren | 2015-01-22 | 1 | -1/+1 |
| | |||||
* | Moved ptrie => trie. Removed old trie | obscuren | 2015-01-08 | 1 | -2/+2 |
| | |||||
* | Refactored ethutil.Config.Db out | obscuren | 2015-01-07 | 2 | -12/+14 |
| | |||||
* | Merge | obscuren | 2015-01-06 | 1 | -42/+35 |
| | |||||
* | added nil check | obscuren | 2015-01-02 | 1 | -22/+0 |
| | |||||
* | Refactored tx pool and added extra fields to block | obscuren | 2015-01-02 | 2 | -2/+7 |
| | | | | | | * 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 | ||||
* | Fixed chain test & added new chain | obscuren | 2014-12-30 | 1 | -0/+1 |
| | |||||
* | Switched to new trie | obscuren | 2014-12-24 | 2 | -6/+6 |
| | |||||
* | Chain importer | obscuren | 2014-12-23 | 2 | -29/+35 |
| | |||||
* | Refactored block & Transaction | obscuren | 2014-12-23 | 3 | -385/+249 |
| | | | | * Includes new rlp decoder | ||||
* | Merge branch 'develop' into poc8 | obscuren | 2014-12-20 | 1 | -9/+10 |
|\ | | | | | | | | | Conflicts: cmd/ethereum/flags.go | ||||
| * | Transaction was generating incorrect hash because of var changes | obscuren | 2014-12-19 | 1 | -9/+10 |
| | | |||||
* | | Merge branch 'badsig' of https://github.com/ebuchman/go-ethereum into ↵ | obscuren | 2014-12-19 | 1 | -4/+4 |
| | | | | | | | | | | | | | | ebuchman-badsig Conflicts: core/transaction_pool.go | ||||
* | | merge | obscuren | 2014-12-19 | 1 | -48/+46 |
|\| | |||||
| * | Gas corrections and vm fixes | obscuren | 2014-12-19 | 1 | -9/+0 |
| | | |||||
| * | Moved methods to messages | obscuren | 2014-12-18 | 1 | -21/+2 |
| | | |||||
| * | Created generic message (easy for testing) | obscuren | 2014-12-18 | 1 | -31/+57 |
| | | |||||
* | | Merge fixes | obscuren | 2014-12-18 | 1 | -5/+0 |
|/ | |||||
* | Locks, refactor, tests | obscuren | 2014-12-18 | 2 | -1/+6 |
| | | | | | | * Added additional chain tests * Added proper mutex' on chain * Removed ethereum dependencies | ||||
* | Moved pow | obscuren | 2014-12-10 | 1 | -0/+3 |
| | |||||
* | Fixed issue in VM where LOG didn't pop anything of the stack | obscuren | 2014-12-05 | 2 | -7/+18 |
| | |||||
* | Log is now interface | obscuren | 2014-12-04 | 1 | -2/+2 |
| | |||||
* | Renamed State => StateDB | obscuren | 2014-12-04 | 2 | -3/+3 |
| | |||||
* | Renamed `chain` => `core` | obscuren | 2014-12-04 | 8 | -0/+825 |