Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Revert "test, cmd/evm, core, core/vm: illegal code hash implementation" | Péter Szilágyi | 2016-06-29 | 1 | -10/+0 |
| | | | | This reverts commit 7a5b571c671e70e0e4807cf971c15e2d1e09d33d. | ||||
* | Revert "core: update DAO soft-fork number, clean up the code" | Péter Szilágyi | 2016-06-29 | 1 | -0/+2 |
| | | | | This reverts commit ba784bdf36f2daf7827ec1ec864f3393ba8d86a0. | ||||
* | core: update DAO soft-fork number, clean up the code | Péter Szilágyi | 2016-06-23 | 1 | -2/+0 |
| | |||||
* | test, cmd/evm, core, core/vm: illegal code hash implementation | Jeffrey Wilcke | 2016-06-22 | 1 | -0/+10 |
| | | | | | | | | This implements a generic approach to enabling soft forks by allowing anyone to put in hashes of contracts that should not be interacted from. This will help "The DAO" in their endevour to stop any whithdrawals from any DAO contract by convincing the mining community to accept their code hash. | ||||
* | core/state, eth: Updated suicides objects when tracing transactions | Jeffrey Wilcke | 2016-06-13 | 1 | -0/+21 |
| | | | | | | | | | | | | | | | | | | | | | | Consensus rules dictate that objects can only be removed during the finalisation of the transaction (i.e. after all calls have finished). Thus calling a suicided contract twice from the same transaction: A->B(S)->ret(A)->B(S) results in 2 suicides. Calling the suicided object twice from two transactions: A->B(S), A->B, results in only one suicide and a call to an empty object. Our current debug tracing functionality replays all transaction that were executed prior to the targetted transaction in order to provide the user with an accurate trace. As a side effect to calling StateDB.IntermediateRoot it also deletes any suicides objects. Our tracing code never calls this function because it isn't interested in the intermediate root. Becasue of this it caused a bug in the tracing code where transactions that were send to priviously deleted objects resulted in two suicides rather than one suicide and a call to an empty object. Fixes #2542 | ||||
* | Merge pull request #2585 from karalabe/trie-dirty-tracking | Jeffrey Wilcke | 2016-05-31 | 1 | -0/+22 |
|\ | | | | | core, core/state, trie: enterprise hand-tuned multi-level caching | ||||
| * | core, core/state, trie: enterprise hand-tuned multi-level caching | Péter Szilágyi | 2016-05-26 | 1 | -0/+22 |
| | | |||||
* | | core/state: return the starting nonce for non-existent accs (testnet) | Péter Szilágyi | 2016-05-27 | 1 | -1/+1 |
|/ | |||||
* | all: fix go vet warnings | Felix Lange | 2016-04-15 | 1 | -5/+5 |
| | |||||
* | core/state: fix TestDump | Felix Lange | 2016-04-15 | 3 | -9/+27 |
| | | | | Lazy "I'll just put return here instead of fixing the test" found by go vet. | ||||
* | all: update license information | Felix Lange | 2016-04-15 | 2 | -2/+2 |
| | |||||
* | core: Added EVM configuration options | Jeffrey Wilcke | 2016-03-24 | 1 | -18/+15 |
| | | | | | The EVM is now initialised with an additional configured object that allows you to turn on debugging options. | ||||
* | core: various typos | Leif Jurvetson | 2016-03-16 | 2 | -2/+2 |
| | |||||
* | Merge pull request #2242 from jimenezrick/upstream-crypto | Jeffrey Wilcke | 2016-02-24 | 1 | -2/+2 |
|\ | | | | | Closes #2241: Use Keccak-256 from golang.org/x/crypto/sha3 and mention explicitly | ||||
| * | all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}() | Ricardo Catalinas Jiménez | 2016-02-22 | 1 | -2/+2 |
| | | | | | | | | As we aren't really using the standarized SHA-3 | ||||
* | | Merge pull request #2095 from karalabe/trie-node-iterator | Péter Szilágyi | 2016-02-23 | 3 | -3/+314 |
|\ \ | |/ |/| | core/state, trie: add node iterator, test state/trie sync consistency | ||||
| * | core/state, trie: switch iterator panics to error fields | Péter Szilágyi | 2016-02-16 | 2 | -26/+37 |
| | | |||||
| * | core/state, trie: node iterator reports parent hashes too | Péter Szilágyi | 2016-02-16 | 1 | -7/+13 |
| | | |||||
| * | core/state, trie: surface iterator entry hashes | Péter Szilágyi | 2016-02-16 | 3 | -7/+67 |
| | | |||||
| * | core/state, trie: add node iterator, test state/trie sync consistency | Péter Szilágyi | 2016-02-16 | 2 | -3/+237 |
| | | |||||
* | | core, core/vm, crypto: fixes for homestead | Jeffrey Wilcke | 2016-02-18 | 3 | -24/+3 |
| | | | | | | | | | | | | * 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 | 2 | -0/+29 |
|/ | | | | | | | | * 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/state, ethdb, trie: test intermediate secure key leak, fix memdb bug | Péter Szilágyi | 2016-01-20 | 1 | -0/+68 |
| | |||||
* | core/state, trie: don't leak database writes before commit | Péter Szilágyi | 2016-01-20 | 2 | -3/+59 |
| | |||||
* | core/state: always commit in batches, just finish if not needed later | Péter Szilágyi | 2016-01-13 | 1 | -1/+2 |
| | |||||
* | core, eth/downloader: ensure state presence in ancestor lookup | Péter Szilágyi | 2016-01-04 | 1 | -1/+0 |
| | |||||
* | core/state, core/types use package rlp for state, receipt serialisation | Felix Lange | 2015-12-18 | 4 | -62/+61 |
| | |||||
* | Merge pull request #1889 from karalabe/fast-sync-rebase | Jeffrey Wilcke | 2015-10-22 | 2 | -0/+308 |
|\ | | | | | eth/63 fast synchronization algorithm | ||||
| * | core, eth, trie: fix data races and merge/review issues | Péter Szilágyi | 2015-10-21 | 2 | -4/+3 |
| | | |||||
| * | eth/downloader: concurrent receipt and state processing | Péter Szilágyi | 2015-10-19 | 2 | -68/+41 |
| | | |||||
| * | core, eth, trie: direct state trie synchronization | Péter Szilágyi | 2015-10-19 | 2 | -0/+336 |
| | | |||||
* | | core, core/state: move gas tracking out of core/state | Felix Lange | 2015-10-17 | 3 | -80/+1 |
|/ | | | | | | | The amount of gas available for tx execution was tracked in the StateObject representing the coinbase account. This commit makes the gas counter a separate type in package core, which avoids unintended consequences of intertwining the counter with state logic. | ||||
* | core/state, core, miner: handle missing root error from state.New | Gustav Simonsson | 2015-10-16 | 3 | -9/+9 |
| | |||||
* | cmd, core, eth: added official testnet | Jeffrey Wilcke | 2015-10-09 | 1 | -0/+5 |
| | |||||
* | cmd/evm, core/vm, test: refactored VM and core | Jeffrey Wilcke | 2015-10-04 | 2 | -80/+27 |
| | | | | | | | | | | | | | | | | | * 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, core/state: batch-based state sync | Felix Lange | 2015-09-23 | 3 | -51/+46 |
| | |||||
* | core, trie: new trie | Felix Lange | 2015-09-23 | 2 | -14/+25 |
| | |||||
* | all: move common.Database to package ethdb | Felix Lange | 2015-09-15 | 2 | -5/+7 |
| | |||||
* | core, core/vm, core/state: remove unused functions | Gustav Simonsson | 2015-09-11 | 2 | -64/+0 |
| | |||||
* | core/state: test formatting adhering to Go convention | Gustav Simonsson | 2015-09-09 | 1 | -17/+17 |
| | |||||
* | core/state: deleted field in StateObject Copy() and unit test | Gustav Simonsson | 2015-09-08 | 2 | -0/+105 |
| | |||||
* | core, tests: Double SUICIDE fix | Jeffrey Wilcke | 2015-08-21 | 2 | -9/+12 |
| | |||||
* | core/state: Set log index. Closes #1226 | Jeffrey Wilcke | 2015-07-29 | 1 | -0/+5 |
| | |||||
* | 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. | ||||
* | 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". | ||||
* | 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, miner, tests: renamed state methods | Jeffrey Wilcke | 2015-07-04 | 2 | -3/+5 |
| | | | | | | | | | | | | * Update => SyncIntermediate * Added SyncObjects SyncIntermediate only updates whatever has changed, but, as a side effect, requires much more disk space. SyncObjects will only sync whatever is required for a block and will not save intermediate state to disk. As drawback this requires more time when more txs come in. | ||||
* | core, core/state: only write necessary state. Skip intermediate | Jeffrey Wilcke | 2015-07-04 | 2 | -10/+20 |
| | |||||
* | core, miner, xeth: renamed gas methods | obscuren | 2015-06-21 | 1 | -16/+3 |
| | | | | | | * BuyGas => SubGas * RefundGas => AddGas * SetGasPool => SetGasLimit | ||||
* | core/state: removed trie copy | obscuren | 2015-06-17 | 1 | -1/+1 |
| | |||||
* | core/state: removed state from state object | obscuren | 2015-06-17 | 3 | -31/+20 |
| | |||||
* | core/state: fixed state tests | obscuren | 2015-06-17 | 1 | -13/+10 |
| | |||||
* | core/state: remove the need for common.Value | obscuren | 2015-06-17 | 1 | -2/+4 |
| | |||||
* | core/state, core/vm: reworked storage get / set to use common.Hash | obscuren | 2015-06-17 | 2 | -32/+25 |
| | |||||
* | core/state, core/vm: cleanup refunds | obscuren | 2015-06-17 | 1 | -14/+8 |
| | |||||
* | core/vm, core/state: added storage to structured vm logging | obscuren | 2015-06-10 | 1 | -0/+16 |
| | |||||
* | core, xeth: moved nonce management burden from xeth to txpool | obscuren | 2015-06-10 | 1 | -1/+1 |
| | |||||
* | core: fixed an issue with storing receipts | obscuren | 2015-05-28 | 1 | -7/+14 |
| | |||||
* | solidity compiler and contract metadocs integration | zelig | 2015-05-07 | 1 | -0/+3 |
| | | | | | | | | | | | | | * 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 | ||||
* | core: removed nonce resetting from the block processor. | obscuren | 2015-04-21 | 1 | -0/+1 |
| | | | | All nonce error handling has been moved to the worker | ||||
* | state: fixed mutex lockes | obscuren | 2015-04-14 | 1 | -2/+14 |
| | |||||
* | state: fixed nonce issue in managed state | obscuren | 2015-04-14 | 1 | -2/+2 |
| | | | | Rlock => Lock when creating a new nonce | ||||
* | Moved handling of nonces to the managed state | obscuren | 2015-04-09 | 2 | -5/+8 |
| | |||||
* | Improved transaction pool | obscuren | 2015-04-09 | 1 | -8/+4 |
| | | | | | | | | | | 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 | ||||
* | Changed how logs are being recorded | obscuren | 2015-04-08 | 2 | -81/+49 |
| | | | | | | | 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. | ||||
* | Added additional methods to the managed state | obscuren | 2015-04-08 | 2 | -2/+44 |
| | | | | | * GetNonce Returns the canonical nonce * SetNonce Set the managed account's nonce | ||||
* | Moved logging to logger.Core | obscuren | 2015-04-04 | 2 | -5/+5 |
| | |||||
* | basic glog | obscuren | 2015-04-04 | 2 | -7/+16 |
| | |||||
* | glog wip | obscuren | 2015-04-03 | 1 | -1/+4 |
| | |||||
* | Removed old (unused) argument | obscuren | 2015-04-02 | 2 | -2/+2 |
| | |||||
* | fixed tests | obscuren | 2015-04-01 | 1 | -1/+1 |
| | |||||
* | Blocktest fixed, Execution fixed | obscuren | 2015-04-01 | 1 | -26/+42 |
| | | | | | | * Added new CreateAccount method which properly overwrites previous accounts (excluding balance) * Fixed block tests (100% success) | ||||
* | Secure trie shakey / key matching | obscuren | 2015-03-24 | 1 | -4/+4 |
| | |||||
* | moved state and vm to core | obscuren | 2015-03-23 | 9 | -0/+1159 |