aboutsummaryrefslogtreecommitdiffstats
path: root/core/types
Commit message (Collapse)AuthorAgeFilesLines
* core, core/vm, crypto: fixes for homesteadJeffrey Wilcke2016-02-181-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 changesGustav Simonsson2016-02-181-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 sortPéter Szilágyi2016-01-222-16/+126
|
* core/state, core/types use package rlp for state, receipt serialisationFelix Lange2015-12-181-9/+6
|
* rpc: new RPC implementation with pub/sub supportBas van Kervel2015-12-142-0/+8
|
* core, eth, rpc: split out block validator and state processorJeffrey Wilcke2015-11-181-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 issuesPéter Szilágyi2015-10-211-5/+5
|
* eth/downloader: concurrent receipt and state processingPéter Szilágyi2015-10-191-0/+2
|
* core, eth: receipt chain reconstructionPéter Szilágyi2015-10-192-7/+2
|
* core: differentiate receipt concensus and storage decodingPéter Szilágyi2015-10-192-49/+75
|
* eth/downloader: add fast and light sync strategiesPéter Szilágyi2015-10-191-5/+5
|
* core: support inserting pure header chainsPéter Szilágyi2015-10-191-7/+9
|
* core, eth/filters, miner, xeth: Optimised log filteringJeffrey Wilcke2015-10-173-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 coreJeffrey Wilcke2015-10-043-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 trieFelix Lange2015-09-231-7/+8
|
* core, core/types: readd transactions after chain re-orgJeffrey Wilcke2015-09-221-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_functionsJeffrey Wilcke2015-09-121-4/+0
|\ | | | | core, core/vm, core/state: remove unused functions
| * core, core/vm, core/state: remove unused functionsGustav Simonsson2015-09-111-4/+0
| |
* | core: split out TD from database and all internalsPéter Szilágyi2015-09-111-16/+19
| |
* | core, eth: split the db blocks into headers and bodiesPéter Szilágyi2015-09-111-0/+4
|/
* Merge pull request #1701 from karalabe/eth62-sync-rebaseFelix Lange2015-08-271-0/+14
|\ | | | | eth: implement eth/62 synchronization logic
| * eth: port the synchronisation algo to eth/62Péter Szilágyi2015-08-251-0/+14
| |
* | Add tests for uncle timestamps and refactor timestamp typeGustav Simonsson2015-08-252-4/+7
|/
* miner, core: sort txs by price, nonceJeffrey Wilcke2015-08-051-0/+19
|
* improved error detection and handling for NewTransactionFromBytesBas van Kervel2015-07-291-9/+0
| | | | integrated review comments
* Merge pull request #1515 from fjl/license-fixesJeffrey Wilcke2015-07-289-9/+9
|\ | | | | all: fix license headers one more time
| * all: fix license headers one more timeFelix Lange2015-07-249-9/+9
| | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* | Merge pull request #1510 from fjl/license-fixesJeffrey Wilcke2015-07-239-36/+36
|\| | | | | all: license fixes
| * all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-239-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 copyPéter Szilágyi2015-07-231-2/+2
|/
* all: add some godoc synopsis commentsFelix Lange2015-07-071-0/+1
|
* all: update license informationFelix Lange2015-07-079-0/+144
|
* core, eth, rpc: proper gas used. Closes #1417Jeffrey Wilcke2015-07-071-2/+4
| | | | Added some additional backward compatibility code for old receipts
* core, miner: removed vm errors from consensus err checkingJeffrey Wilcke2015-07-061-1/+3
| | | | | Removed VM errors from the consensus errors. They now used for output only.
* core/types, xeth: separate tx hash and tx signature hashFelix Lange2015-07-062-8/+16
|
* core, eth, miner, xeth: receipt storage fixJeffrey Wilcke2015-07-041-2/+6
| | | | | * Added GetReceiptsFromBlock, GetReceipt, PutReceipts * Added ContractAddress to receipt. See #1042
* core, miner: miner header validation, transaction & receipt writingJeffrey Wilcke2015-07-031-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 timestampGustav Simonsson2015-06-302-2/+2
|
* core/types: cache computed block valuesFelix Lange2015-06-301-3/+22
|
* core/types: cache computed transaction valuesFelix Lange2015-06-301-5/+28
|
* core/types: make blocks immutableFelix Lange2015-06-301-237/+184
|
* core/types: make transactions immutableFelix Lange2015-06-303-154/+143
|
* core/types: add Transaction.SizeFelix Lange2015-06-091-0/+7
|
* crypto: return common.Address rather than raw bytesobscuren2015-06-051-3/+3
|
* types: block json unmarshal method addedobscuren2015-06-041-0/+24
|
* Add EC signature validations before call to libsecp256k1Gustav Simonsson2015-06-021-16/+15
|
* core: fixed an issue with storing receiptsobscuren2015-05-281-0/+29
|
* core/types, eth: meassure and display propagation timesobscuren2015-04-301-0/+2
|
* core/types: added fake parent hash / hash to String() outputobscuren2015-04-291-1/+11
|
* Validate block header UncleHash against calculated hashGustav Simonsson2015-04-231-0/+4
|
* core: moved TD calculation from proc to chainobscuren2015-04-202-10/+8
|
* core/types: add rlp tag "nil" for Transaction.RecipientFelix Lange2015-04-171-1/+1
|
* core/types: Changed bloom lookup to take anything bytes backedobscuren2015-04-151-2/+6
|
* future queued block supportzelig2015-04-091-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 recordedobscuren2015-04-082-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 glogGustav Simonsson2015-04-071-1/+2
|
* Forward and log EC recover err and remove dup pubkey len checkGustav Simonsson2015-04-071-1/+7
|
* Block header changed & console miner controlobscuren2015-04-061-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 testsobscuren2015-04-053-6/+22
|
* Changed R & S to *big.Intobscuren2015-04-051-6/+6
|
* check TxMsgzelig2015-04-011-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 BlocksMsgzelig2015-04-011-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 clientzelig2015-04-011-0/+20
| | | | | | - add validate method to types.Block - validate after Decode -> error - add tests for NewBlockMsg
* added tx tests and fixed block testsobscuren2015-03-263-3/+58
|
* Copy fixobscuren2015-03-241-2/+9
|
* Added copy functionobscuren2015-03-241-0/+17
|
* removed legacy codeobscuren2015-03-241-2/+1
|
* moved state and vm to coreobscuren2015-03-234-4/+4
|
* Fixed incorrect recipient derivedobscuren2015-03-211-1/+1
|
* copy over loopobscuren2015-03-201-5/+2
|
* mergeobscuren2015-03-191-2/+4
|\
| * fixed chain event. Closes #529obscuren2015-03-191-2/+6
| |
* | Merge remote-tracking branch 'ethereum/conversion' into conversionFelix Lange2015-03-181-0/+4
|\ \
| * | conversionsobscuren2015-03-181-0/+4
| | |
* | | core/types: use package rlp instead of common.DecodeFelix Lange2015-03-184-60/+155
|/ /
* | Fixed tests and bloomobscuren2015-03-182-11/+17
| |
* | bloomobscuren2015-03-171-3/+4
| |
* | Merge remote-tracking branch 'ethereum/conversion' into conversionFelix Lange2015-03-172-4/+12
|\ \
| * | converted vmobscuren2015-03-172-4/+12
| | |
* | | core/types: don't use Address zero value for invalid addressesFelix Lange2015-03-172-27/+37
| | |
* | | core/types: fix Transaction.Hash and add support for encoding with package rlpFelix Lange2015-03-172-6/+75
|/ /
* | converted chain managerobscuren2015-03-171-1/+1
| |
* | updated blockpoolobscuren2015-03-173-24/+24
| |
* | Merge branch 'conversion' of github.com-obscure:ethereum/go-ethereum into ↵obscuren2015-03-172-68/+26
|\ \ | | | | | | | | | conversion
| * | core/types: use common.{Hash,Address} in for transactionsFelix Lange2015-03-172-68/+26
| | |
* | | converted vmobscuren2015-03-171-3/+2
|/ /
* | block conversionobscuren2015-03-175-36/+75
| |
* | new type + additional methodsobscuren2015-03-161-17/+17
|/
* Moved ethutil => commonobscuren2015-03-166-29/+29
|
* mergeobscuren2015-03-151-2/+2
|\
| * core/types: make Block.{ParentHash,SeedHash,MixDigest} []byteFelix Lange2015-03-141-3/+3
| | | | | | | | There is no reason to keep them as ethutil.Bytes.
* | POW fixesobscuren2015-03-141-6/+1
|/
* Changed V to byte. Closes #456obscuren2015-03-121-4/+4
|
* Integrate eth_accounts and eth_transact to use new account managerGustav Simonsson2015-03-061-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)obscuren2015-03-051-6/+8
|
* Fixed genesisobscuren2015-03-041-12/+23
|
* Changed nonce to a uint64obscuren2015-03-041-5/+5
|
* fixed pow stuffobscuren2015-03-041-1/+4
|
* Merge branch 'publictests' of https://github.com/xcthulhu/go-ethereum into ↵obscuren2015-03-041-3/+21
|\ | | | | | | xcthulhu-publictests
| * Introducing ethashMatthew Wampler-Doty2015-03-031-1/+14
| |
| * Introducign MixDigest and SeedHashMatthew Wampler-Doty2015-02-281-2/+7
| |
* | Bloom expanded by 4obscuren2015-03-031-3/+4
|/
* Added GetBlock GetUncle with OOB guardobscuren2015-02-181-0/+12
|
* Fixed mining & limited hash powerobscuren2015-02-142-2/+3
|
* Update balance label when miningobscuren2015-02-141-0/+2
|
* Filteringobscuren2015-02-051-6/+2
|
* WIP minerobscuren2015-02-041-11/+15
|
* Moved `obscuren` secp256k1-goobscuren2015-01-221-1/+1
|
* Moved ptrie => trie. Removed old trieobscuren2015-01-081-2/+2
|
* Refactored ethutil.Config.Db outobscuren2015-01-072-12/+14
|
* Mergeobscuren2015-01-061-42/+35
|
* added nil checkobscuren2015-01-021-22/+0
|
* Refactored tx pool and added extra fields to blockobscuren2015-01-022-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 chainobscuren2014-12-301-0/+1
|
* Switched to new trieobscuren2014-12-242-6/+6
|
* Chain importerobscuren2014-12-232-29/+35
|
* Refactored block & Transactionobscuren2014-12-233-385/+249
| | | | * Includes new rlp decoder
* Merge branch 'develop' into poc8obscuren2014-12-201-9/+10
|\ | | | | | | | | Conflicts: cmd/ethereum/flags.go
| * Transaction was generating incorrect hash because of var changesobscuren2014-12-191-9/+10
| |
* | Merge branch 'badsig' of https://github.com/ebuchman/go-ethereum into ↵obscuren2014-12-191-4/+4
| | | | | | | | | | | | | | ebuchman-badsig Conflicts: core/transaction_pool.go
* | mergeobscuren2014-12-191-48/+46
|\|
| * Gas corrections and vm fixesobscuren2014-12-191-9/+0
| |
| * Moved methods to messagesobscuren2014-12-181-21/+2
| |
| * Created generic message (easy for testing)obscuren2014-12-181-31/+57
| |
* | Merge fixesobscuren2014-12-181-5/+0
|/
* Locks, refactor, testsobscuren2014-12-182-1/+6
| | | | | | * Added additional chain tests * Added proper mutex' on chain * Removed ethereum dependencies
* Moved powobscuren2014-12-101-0/+3
|
* Fixed issue in VM where LOG didn't pop anything of the stackobscuren2014-12-052-7/+18
|
* Log is now interfaceobscuren2014-12-041-2/+2
|
* Renamed State => StateDBobscuren2014-12-042-3/+3
|
* Renamed `chain` => `core`obscuren2014-12-048-0/+825