aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* core/state: implement reverts by journaling all changesFelix Lange2016-10-0624-250/+667
| | | | | | | | | | This commit replaces the deep-copy based state revert mechanism with a linear complexity journal. This commit also hides several internal StateDB methods to limit the number of ways in which calling code can use the journal incorrectly. As usual consultation and bug fixes to the initial implementation were provided by @karalabe, @obscuren and @Arachnid. Thank you!
* Merge pull request #3073 from fjl/build-git17Péter Szilágyi2016-10-031-1/+3
|\ | | | | internal/build: use less edgy command to get the branch name
| * internal/build: use less edgy command to get the branch nameFelix Lange2016-10-031-1/+3
|/
* Merge pull request #3072 from karalabe/state-storage-dirtyPéter Szilágyi2016-10-032-18/+24
|\ | | | | core/state: track dirty state entries for each object
| * core/state: track dirty state entries for each objectPéter Szilágyi2016-10-032-18/+24
|/
* Merge pull request #3066 from fjl/build-envPéter Szilágyi2016-10-029-132/+250
|\ | | | | build: improve debian packaging
| * build: improve debian packagingFelix Lange2016-10-029-132/+250
| | | | | | | | | | | | | | | | | | | | This commit tweaks the debian packaging tool: * All build environment metadata can now be overriden on the command line. This allows testing the CI build behaviour locally. * -unstable packages now actually contain the binaries (oops) * packages use Go 1.7 to build * archiving is skipped for PR builds
* | Merge pull request #3068 from fjl/update-sha3Felix Lange2016-10-026-3/+410
|\ \ | | | | | | crypto/sha3: update from golang.org/x/crypto/sha3 a 80b25ed4
| * | crypto/sha3: update from golang.org/x/crypto/sha3 a 80b25ed4Felix Lange2016-10-026-3/+410
|/ / | | | | | | This pulls in the assembly implementation of keccakf1600 for amd64.
* | Merge pull request #3067 from karalabe/vm-avoid-hashingPéter Szilágyi2016-10-0117-37/+59
|\ \ | |/ |/| cmd, core, internal, light, tests: avoid hashing the code in the VM
| * cmd, core, internal, light, tests: avoid hashing the code in the VMPéter Szilágyi2016-10-0117-37/+59
|/
* Merge pull request #3062 from fjl/trie-delete-bugPéter Szilágyi2016-09-302-38/+133
|\ | | | | trie: fix delete bug for values contained in fullNode
| * trie: fix delete bug for values contained in fullNodeFelix Lange2016-09-302-35/+127
| | | | | | | | | | | | | | | | | | Delete crashed if a fullNode contained a valueNode directly. This bug is very unlikely to occur with SecureTrie, but can happen with regular tries. This commit also introduces a randomised test which triggers all trie operations, which should prevent such bugs in the future. Credit for finding this bug goes to Github user @rjl493456442.
| * trie: remove dependency on package cryptoFelix Lange2016-09-301-3/+6
| | | | | | | | | | Package crypto needs cgo, which is inconvenient for some build configurations.
* | Merge pull request #3032 from Gustav-Simonsson/keystore_paddingFelix Lange2016-09-303-1/+62
|\ \ | | | | | | accounts: left pad keybytes-to-encrypt
| * | accounts: left pad keybytes-to-encrypt, add 30/31 byte keys testsGustav Simonsson2016-09-283-1/+62
| | |
* | | Merge pull request #2914 from fjl/node-coinhabitFelix Lange2016-09-2919-239/+470
|\ \ \ | |_|/ |/| | cmd/utils, node: make datadir reusable for bzzd
| * | common, node: move datadir defaults into package nodeFelix Lange2016-09-167-49/+43
| | |
| * | node: ensure datadir can be co-inhabited by different instancesFelix Lange2016-09-1614-186/+422
| | | | | | | | | | | | | | | This change ensures that nodes started with different Name but same DataDir values don't use the same nodekey and IPC socket.
| * | ethdb: add accessor for database directoryFelix Lange2016-09-161-0/+5
| | |
| * | p2p/nat: delay auto discovery until first useFelix Lange2016-09-161-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Port mapper auto discovery used to run immediately after parsing the --nat flag, giving it a slight performance boost. But this is becoming inconvenient because we create node.Node for all geth operations including account management and bare chain interaction. Delay autodiscovery until the first use instead, which avoids any network interaction until the node is actually started.
* | | Merge pull request #3048 from sandakersmann/patch-2Péter Szilágyi2016-09-291-5/+5
|\ \ \ | | | | | | | | README: Changed http:// to https:// on some links
| * | | README: Changed http:// to https:// on some linkssandakersmann2016-09-271-5/+5
| | |/ | |/| | | | Changed http:// to https:// on some links in README.md
* | | p2p/nat: fix parameter order for AddMappingken101001472016-09-281-2/+2
| | |
* | | Merge pull request #3053 from karalabe/fjl-state-trie-journalPéter Szilágyi2016-09-2822-671/+562
|\ \ \ | |/ / |/| | core, trie: replace state caches with trie journal
| * | core, eth, trie: reuse trie journals in all our codePéter Szilágyi2016-09-289-25/+151
| | |
| * | core, trie: replace state caches with trie journalFelix Lange2016-09-2815-654/+419
|/ /
* | Merge pull request #3043 from fjl/windows-fix-fatalfFelix Lange2016-09-271-4/+11
|\ \ | | | | | | cmd/utils: don't check for stderr redirect on windows
| * | cmd/utils: don't check for stderr redirect on windowsFelix Lange2016-09-261-4/+11
|/ / | | | | | | | | | | | | | | The redirect check did not work on Go 1.6 and below because Stat returned an error for stdout and stderr. In Go 1.7 Stat works on stdout but doesn't return anything meaningful, causing cmd/geth test failures because the message is printed to stderr only. Fix it by printing to stdout only.
* | Merge pull request #3041 from fjl/build-less-parallelPéter Szilágyi2016-09-262-3/+3
|\ \ | | | | | | build: limit test concurrency
| * | travis.yml: remove go 1.4 builderFelix Lange2016-09-261-3/+0
| | |
| * | build: limit test concurrencyFelix Lange2016-09-261-0/+3
| | | | | | | | | | | | | | | | | | TravisCI and AppVeyor run the tests in very slow VMs. Some of our tests can't cope with that. Running less tests in parallel should make them somewhat less flakey.
* | | Merge pull request #3040 from karalabe/dummyPéter Szilágyi2016-09-261-1/+1
|\ \ \ | |/ / |/| | accounts/abi: fix typo in the comment (dummy commit)
| * | accounts/abi: fix typo in the comment (dummy commit)Péter Szilágyi2016-09-261-1/+1
|/ /
* | Merge pull request #3037 from karalabe/state-cachingPéter Szilágyi2016-09-2617-336/+414
|\ \ | | | | | | State caching
| * | core/state: track all accounts in canon stateFelix Lange2016-09-2617-336/+414
|/ / | | | | | | | | This change introduces a global, per-state cache that keeps account data in the canon state. Thanks to @karalabe for lots of fixes.
* | Merge pull request #3035 from Gustav-Simonsson/zero_value_transfer_noopPéter Szilágyi2016-09-261-0/+6
|\ \ | | | | | | core/state: short-circuit balance change if zero value
| * | core/state: short-circuit balance change if zero valueGustav Simonsson2016-09-261-0/+6
|/ /
* | Merge pull request #3009 from Gustav-Simonsson/fix_oom_in_lightFelix Lange2016-09-222-2/+4
|\ \ | | | | | | light: fix memory expansion bug (same as fix for core/state)
| * | light: fix memory expansion bug (same as fix for core/state)Gustav Simonsson2016-09-202-2/+4
| | |
* | | Merge pull request #3021 from bas-vk/ethclient-logsFelix Lange2016-09-211-2/+2
|\ \ \ | |/ / |/| | ethclient: bugfix retrieving logs
| * | ethclient: bugfix retrieving logsBas van Kervel2016-09-211-2/+2
|/ /
* | Merge pull request #3010 from Gustav-Simonsson/remove_unused_initcode_fieldFelix Lange2016-09-193-9/+0
|\ \ | | | | | | core/state, light: remove unused StateObject.initCode
| * | core/state, light: remove unused StateObject.initCodeGustav Simonsson2016-09-193-9/+0
|/ /
* | Merge pull request #3006 from Arachnid/patchPéter Szilágyi2016-09-193-5/+8
|\ \ | |/ |/| core/state: Fix memory expansion bug by not copying clean objects
| * core/state: Fix memory expansion bug by not copying clean objectsNick Johnson2016-09-193-5/+8
| |
* | Merge pull request #2999 from karalabe/bury-blockchain-versionPéter Szilágyi2016-09-154-12/+3
|\ \ | | | | | | cmd, eth: drop the blockchain version from cli/eth configs
| * | cmd, eth: drop the blockchain version from cli/eth configsPéter Szilágyi2016-09-154-12/+3
|/ /
* | Merge pull request #2983 from bas-vk/txindexFelix Lange2016-09-151-1/+2
|\ \ | | | | | | miner: set tx index logs
| * | miner: set tx index logsBas van Kervel2016-09-121-1/+2
| | |
* | | Merge pull request #2973 from bas-vk/filteridPéter Szilágyi2016-09-122-1/+53
|\ \ \ | | | | | | | | rpc: format filter ID according to spec for quantities
| * | | rpc: format filter ID according to spec for quantitiesBas van Kervel2016-09-012-1/+53
| | | |
* | | | Merge pull request #2984 from karalabe/fix-head-subbas-vk2016-09-095-1/+132
|\ \ \ \ | |_|/ / |/| | | core/types, ethclient: fix broken subscriptions
| * | | core/types: add core type marshal methods tooPéter Szilágyi2016-09-084-0/+131
| | | |
| * | | ethclient: fix new block->header subscription endpointPéter Szilágyi2016-09-081-1/+1
|/ / /
* | | Merge pull request #2979 from karalabe/ethclient-sync-apiPéter Szilágyi2016-09-067-55/+105
|\ \ \ | | | | | | | | ethereum, ethclient: add SyncProgress API endpoint
| * | | ethereum, ethclient: add SyncProgress API endpointPéter Szilágyi2016-09-067-55/+105
|/ / /
* | | Merge pull request #2976 from fjl/utils-versionFelix Lange2016-09-057-76/+124
|\ \ \ | | | | | | | | cmd/evm, cmd/geth, cmd/utils: move version handling to cmd/utils
| * | | cmd/geth: fix port clash in genesis testFelix Lange2016-09-051-1/+4
| | | |
| * | | cmd/evm, cmd/geth, cmd/utils: move version handling to cmd/utilsFelix Lange2016-09-056-75/+120
|/ / /
* | | Merge pull request #2949 from elliots/fix/#2948Péter Szilágyi2016-09-021-12/+4
|\ \ \ | | | | | | | | miner: Prevent attempts to close nil quit channel in agent (fixes #2948)
| * | | miner: Move CpuAgent channel creation from Start() to initialization (fixes ↵☃ Elliot Shepherd2016-08-251-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | #2948) Also remove the now un-needed mutex locking in Start() and Stop()
* | | | Merge pull request #2742 from karalabe/tx-spam-protectionJeffrey Wilcke2016-09-0215-553/+1146
|\ \ \ \ | | | | | | | | | | Transaction pool optimizations
| * | | | core: abstract out a sorted transaction hash mapPéter Szilágyi2016-09-024-222/+229
| | | | |
| * | | | core: add upper bound on the queued transctionsPéter Szilágyi2016-09-023-33/+203
| | | | |
| * | | | core/types, miner: switch over to the grouped tx setsPéter Szilágyi2016-09-023-119/+98
| | | | |
| * | | | core, eth, internal, miner: optimize txpool for quick opsPéter Szilágyi2016-09-0214-426/+788
| | | | |
| * | | | core, eth, miner: only retain 1 tx/nonce, remove bad onesPéter Szilágyi2016-09-026-207/+282
|/ / / /
* | | | Merge pull request #2972 from Arachnid/ensFelix Lange2016-09-012-5/+26
|\ \ \ \ | | | | | | | | | | contracts/ens: Replace setOwner with setSubnodeOwner per EIP137
| * | | | contracts/ens: Replace setOwner with setSubnodeOwner in accordance with EIP137Nick Johnson2016-09-012-5/+26
| | | | |
* | | | | Merge pull request #2965 from fjl/swarm-mergeFelix Lange2016-09-0151-13/+10805
|\ \ \ \ \ | |_|_|/ / |/| | | | swarm: plan bee for content storage and distribution on web3
| * | | | swarm: plan bee for content storage and distribution on web3ΞTHΞЯSPHΞЯΞ2016-08-3151-13/+10805
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change imports the Swarm protocol codebase. Compared to the 'swarm' branch, a few mostly cosmetic changes had to be made: * The various redundant log message prefixes are gone. * All files now have LGPLv3 license headers. * Minor code changes were needed to please go vet and make the tests pass on Windows. * Further changes were required to adapt to the go-ethereum develop branch and its new Go APIs. Some code has not (yet) been brought over: * swarm/cmd/bzzhash: will reappear as cmd/bzzhash later * swarm/cmd/bzzup.sh: will be reimplemented in cmd/bzzup * swarm/cmd/makegenesis: will reappear somehow * swarm/examples/album: will move to a separate repository * swarm/examples/filemanager: ditto * swarm/examples/files: will not be merged * swarm/test/*: will not be merged * swarm/services/swear: will reappear as contracts/swear when needed
* | | | Merge pull request #2918 from hypergig/patch-2Felix Lange2016-09-011-0/+12
|\ \ \ \ | |/ / / |/| | | Small docker run example for main README
| * | | README: docker run exampleJordan Cohen2016-08-191-0/+12
| | | |
* | | | Merge pull request #2962 from fjl/release-moveFelix Lange2016-08-318-24/+8
|\ \ \ \ | | | | | | | | | | contracts/release: move package release to contracts/
| * | | | contracts/release: move package release to contracts/Felix Lange2016-08-308-24/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change also deletes generator.go, moving the only interesting line in it into release.go. The binding has been regenerated with abigen from develop and solc v0.3.6.
* | | | | Merge pull request #2963 from fjl/ens-solc-0.3.6Felix Lange2016-08-313-12/+12
|\ \ \ \ \ | | | | | | | | | | | | contracts/ens: regenerate binding with solc v0.3.6
| * | | | | contracts/ens: regenerate binding with solc v0.3.6Felix Lange2016-08-303-12/+12
| |/ / / /
* | | | | Merge pull request #2964 from nagydani/developFelix Lange2016-08-315-39/+11
|\ \ \ \ \ | | | | | | | | | | | | contracts/chequebook: fix possible reentrancy bug in chequebook contract
| * | | | | contracts/chequebook/contract: fix possible reentrancy bug in chequebook.solDaniel A. Nagy2016-08-315-39/+11
|/ / / / /
* | | | | Merge pull request #2967 from fjl/godeps-updateFelix Lange2016-08-30118-52135/+18832
|\ \ \ \ \ | |/ / / / |/| | | | Godeps: update golang.org/x/...
| * | | | Godeps: update golang.org/x/...Felix Lange2016-08-30118-52135/+18832
|/ / / /
* | | | Merge pull request #2952 from Arachnid/ensFelix Lange2016-08-306-0/+1393
|\ \ \ \ | | | | | | | | | | contracts/ens: Add ENS contract binding
| * | | | contracts/ens: Add ENS contract bindingNick Johnson2016-08-306-0/+1393
| | | | |
* | | | | Merge pull request #2956 from fjl/chequebookFelix Lange2016-08-297-0/+1930
|\ \ \ \ \ | | | | | | | | | | | | contracts/chequebook: add chequebook contract wrapper
| * | | | | contracts/chequebook: add chequebook contract wrapperViktor Trón2016-08-297-0/+1930
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wrapper code is adapted from the swarm/services/chequebook package with the following mostly cosmetic changes: * The code now uses the new Go API interfaces to query balances. Some minor functional changes were required to make this work. * The package no longer depends on swarm/services/swap/swap. References to swap.Promise are replaced by interface{}, the base type of Promise. This is temporary. * The contract wrapper has been regenerated with latest abigen and solc v0.3.6. * There is a new generator that creates the 'deployed code' variable. * Documentation comments now follow the recommended godoc style. * [CHEQUEBOOK] log prefixes are gone. * LGPL license headers have been added to all files.
* / / / / common,internal: typo/misspelling fixes (#2953)gregg dourgarian2016-08-272-9/+9
|/ / / /
* | | | Merge pull request #2930 from fjl/ethclientPéter Szilágyi2016-08-2525-558/+1716
|\ \ \ \ | |_|/ / |/| | | Stable Go API, part 1
| * | | accounts/abi/bind: add utilities for waiting on transactionsFelix Lange2016-08-234-15/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The need for these functions comes up in code that actually deploys and uses contracts. As of this commit, they can be used with both SimulatedBackend and ethclient. SimulatedBackend gains some additional methods in the process and is now safe for concurrent use.
| * | | accounts/abi/bind: use ethereum interfacesFelix Lange2016-08-224-220/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this commit, contract bindings and their backend start using the Ethereum Go API interfaces offered by ethclient. This makes ethclient a suitable replacement for the old remote backend and gets us one step closer to the final stable Go API that is planned for go-ethereum 1.5. The changes in detail: * Pending state is optional for read only contract bindings. BoundContract attempts to discover the Pending* methods via an interface assertion. There are a couple of advantages to this: ContractCaller is just two methods and can be implemented on top of pretty much anything that provides Ethereum data. Since the backend interfaces are now disjoint, ContractBackend can simply be declared as a union of the reader and writer side. * Caching of HasCode is removed. The caching could go wrong in case of chain reorganisations and removing it simplifies the code a lot. We'll figure out a performant way of providing ErrNoCode before the 1.5 release. * BoundContract now ensures that the backend receives a non-nil context with every call.
| * | | accounts/abi/bind/backends: remove nil and remote backendsFelix Lange2016-08-214-203/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The remote backend is superseded by ethclient. The nil backend's stated purpose was to enable testing of accounts/abi/bind. None of its methods actually worked. A much simpler way to get a crashing backend is to simply pass nil as the backend. With a one-line change to the generator (removing two explicit interface assertions), passing nil actually works. Removing these backends means that less changes are required later.
| * | | ethclient: add initial implementation of the typed RPC clientFelix Lange2016-08-102-0/+399
| | | | | | | | | | | | | | | | | | | | | | | | ethclient implements the proposed Ethereum Go API. There are no tests at the moment, a suite that excercises all implementations of the API will be added later.
| * | | ethereum: add new Go API interfacesFelix Lange2016-08-051-0/+168
| | | |
| * | | internal/ethapi: add missing output fieldsFelix Lange2016-08-043-24/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - returned headers didn't include mixHash - returned transactions didn't include signature fields - empty transaction input was returned as "", but should be "0x" - returned receipts didn't include the bloom filter - "root" in receipts was missing 0x prefix
| * | | core/types, core/vm: improve docs, add JSON marshaling methodsFelix Lange2016-08-048-99/+589
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this commit, core/types's types learn how to encode and decode themselves as JSON. The encoding is very similar to what the RPC API uses. The RPC API is missing some output fields (e.g. transaction signature values) which will be added to the API in a later commit. Some fields that the API generates are ignored by the decoder methods here.
| * | | eth: don't call ValidateFieldsFelix Lange2016-08-041-3/+0
|/ / / | | | | | | | | | | | | | | | ValidateFields was introduced before the rlp decoder disallowed nil values. Decoding RLP will never return nil values, there is no need to check for them.
* | | Merge pull request #2943 from Arachnid/tracingFelix Lange2016-08-252-6/+23
|\ \ \ | | | | | | | | internal/ethapi: Fix bug in opCodeWrapper usage
| * | | internal/ethapi: Fix bug in opCodeWrapper usageNick Johnson2016-08-242-6/+23
|/ / /
* | | Merge pull request #2941 from Arachnid/tracingFelix Lange2016-08-242-11/+26
|\ \ \ | | | | | | | | internal/ethapi: Improve tracer error reporting and serialization
| * | | internal/ethapi: Improve tracer error reporting and serializationNick Johnson2016-08-242-11/+26
|/ / /
* | | eth/fetcher: small typo fix (#2932)Stein Dekker2016-08-231-1/+1
| | |
* | | Merge pull request #2929 from Arachnid/tracingPéter Szilágyi2016-08-236-18/+551
|\ \ \ | | | | | | | | core/vm, eth: Add support for javascript trace functions
| * | | core/vm, eth: Add support for javascript trace functionsNick Johnson2016-08-236-18/+551
| | | |
* | | | cmd/geth: set correct initial nonce on testnet for import/init subcommands ↵Hellsegga2016-08-232-0/+8
| | | | | | | | | | | | | | | | (#2924)
* | | | Merge pull request #2928 from obscuren/remove-dao-messageFelix Lange2016-08-221-17/+0
|\ \ \ \ | |/ / / |/| | | cmd/utils: removed DAO oppose / support message
| * | | cmd/utils: removed DAO oppose / support messageJeffrey Wilcke2016-08-221-17/+0
| |/ /
* | | Merge pull request #2927 from obscuren/licensePéter Szilágyi2016-08-222-0/+25
|\ \ \ | | | | | | | | cmd/geth: added copyright and license information
| * | | cmd/geth: added copyright and license informationJeffrey Wilcke2016-08-222-0/+25
| |/ / | | | | | | | | | | | | | | | As per GNU GPL requirement I've added the copyright and the license information as a subcommand as well as a copyright notice when displaying the help command.
* | | Merge pull request #2923 from Arachnid/tracingPéter Szilágyi2016-08-2216-282/+162
|\ \ \ | | | | | | | | core: Refactor tracing to make Tracer the main interface
| * | | core/vm: Refactor tracing to make Tracer the main interfaceNick Johnson2016-08-2216-282/+162
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL makes several refactors: - Define a Tracer interface, implementing the `CaptureState` method - Add the VM environment as the first argument of `Tracer.CaptureState` - Rename existing functionality `StructLogger` an make it an implementation of `Tracer` - Delete `StructLogCollector` and make `StructLogger` collect the logs directly - Change all callers to use the new `StructLogger` where necessary and extract logs from that. - Deletes the apparently obsolete and likely nonfunctional 'TraceCall' from the eth API. Callers that only wish accumulated logs can use the `StructLogger` implementation straightforwardly. Callers that wish to efficiently capture VM traces and operate on them without excessive copying can now implement the `Tracer` interface to receive VM state at each step and do with it as they wish. This CL also removes the accumulation of logs from the vm.Environment; this was necessary as part of the refactor, but also simplifies it by removing a responsibility that doesn't directly belong to the Environment.
* | | Merge pull request #2921 from karalabe/fix-fetcher-logPéter Szilágyi2016-08-191-1/+1
|\ \ \ | |/ / |/| | eth/fetcher: fix a log message formatting issue
| * | eth/fetcher: fix a log message formatting issuePéter Szilágyi2016-08-191-1/+1
|/ /
* | Merge pull request #2909 from fjl/account-manager-cleanupFelix Lange2016-08-1822-496/+462
|\ \ | | | | | | all: clean up tech debt left behind by the API split
| * | core, miner: move Backend to minerFelix Lange2016-08-173-22/+24
| | | | | | | | | | | | | | | This ensures that package core doesn't depend on package accounts and resolves an age-old TODO.
| * | common/compiler: simplify solc wrapperFelix Lange2016-08-178-254/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support for legacy version 0.9.x is gone. The compiler version is no longer cached. Compilation results (and the version) are read directly from stdout using the --combined-json flag. As a workaround for ethereum/solidity#651, source code is written to a temporary file before compilation. Integration of solc in package ethapi and cmd/abigen is now much simpler because the compiler wrapper is no longer passed around as a pointer. Fixes #2806, accidentally
| * | eth: remove dapp database remainsFelix Lange2016-08-173-25/+6
| | |
| * | cmd/utils, node: create account manager in package nodeFelix Lange2016-08-1711-195/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The account manager was previously created by packge cmd/utils as part of flag processing and then passed down into eth.Ethereum through its config struct. Since we are starting to create nodes which do not have eth.Ethereum as a registered service, the code was rearranged to register the account manager as its own service. Making it a service is ugly though and it doesn't really fix the root cause: creating nodes without eth.Ethereum requires duplicating lots of code. This commit splits utils.MakeSystemNode into three functions, making creation of other node/service configurations easier. It also moves the account manager into Node so it can be used by those configurations without requiring package eth.
* | | Merge pull request #2885 from bas-vk/subscriptionsFelix Lange2016-08-1715-1216/+1265
|\ \ \ | | | | | | | | rpc: refactor subscriptions and filters
| * | | rpc: refactor subscriptions and filtersBas van Kervel2016-08-1715-1216/+1265
|/ / /
* | | Merge pull request #2913 from karalabe/travis-go-1.7Nick Johnson2016-08-171-2/+5
|\ \ \ | | | | | | | | TravisCI: add Go 1.7 targets, bump PPA to 1.7 too
| * | | TravisCI: add Go 1.7 targets, bump PPA to 1.7 tooPéter Szilágyi2016-08-171-2/+5
|/ / /
* | | Merge pull request #2873 from bas-vk/canonicalblockFelix Lange2016-08-175-20/+69
|\ \ \ | | | | | | | | core: ensure the canonical block is written before the canonical hash is set
| * | | core: ensure the canonical block is written before the canonical hash is setBas van Kervel2016-08-165-20/+69
|/ / /
* | | Makefile: support building for the MIPS64 platforms (#2682)Péter Szilágyi2016-08-161-2/+12
| | |
* | | Merge pull request #2866 from karalabe/downloader-future-ancestorsPéter Szilágyi2016-08-161-9/+17
|\ \ \ | | | | | | | | eth/downloader: fewer headers and futures too in ancestor lookup
| * | | eth/downloader: fewer headers and futures too un ancestor lookupPéter Szilágyi2016-07-261-9/+17
| | | |
* | | | console: fix return via callbacks (#2910)cdetrio2016-08-161-2/+2
| |/ / |/| | | | | Fixes #2872
* | | Merge pull request #2891 from fjl/rpc-client-fixesPéter Szilágyi2016-08-094-62/+158
|\ \ \ | | | | | | | | rpc: client bug fixes
| * | | rpc: add context argument to EthSubscribeFelix Lange2016-08-063-33/+38
| | | | | | | | | | | | | | | | | | | | It's inconsistent not to pass it and most callers will work with contexts anyway.
| * | | rpc: ensure client doesn't block for slow subscribersFelix Lange2016-08-063-30/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I initially made the client block if the 100-element buffer was exceeded. It turns out that this is inconvenient for simple uses of the client which subscribe and perform calls on the same goroutine, e.g. client, _ := rpc.Dial(...) ch := make(chan int) // note: no buffer sub, _ := client.EthSubscribe(ch, "something") for event := range ch { client.Call(...) } This innocent looking code will lock up if the server suddenly decides to send 2000 notifications. In this case, the client's main loop won't accept the call because it is trying to deliver a notification to ch. The issue is kind of hard to explain in the docs and few people will actually read them. Buffering is the simple option and works with close to no overhead for subscribers that always listen.
| * | | rpc: don't exceed context deadline while waiting for send lockFelix Lange2016-08-051-0/+4
| | | |
* | | | Merge pull request #2868 from karalabe/downloader-abort-master-dropPéter Szilágyi2016-08-091-2/+15
|\ \ \ \ | | | | | | | | | | eth/downloader: abort sync if master drops (timeout prev)
| * | | | eth/downloader: abort sync if master drops (timeout prev)Péter Szilágyi2016-07-261-2/+15
| | |/ / | |/| |
* | | | Merge pull request #2867 from karalabe/dao-challenge-finishPéter Szilágyi2016-08-092-1/+2
|\ \ \ \ | | | | | | | | | | eth, eth/downloader: don't forward the DAO challenge header
| * | | | eth, eth/downloader: don't forward the DAO challenge headerPéter Szilágyi2016-07-262-1/+2
| |/ / /
* | | | Merge pull request #2861 from karalabe/track-peer-heads-properlyPéter Szilágyi2016-08-096-50/+59
|\ \ \ \ | | | | | | | | | | eth, eth/downloader: better remote head tracking
| * | | | eth, eth/downloader: better remote head trackingPéter Szilágyi2016-07-256-50/+59
| | | | |
* | | | | Merge pull request #2896 from karalabe/fix-xgo-crossbuildsFelix Lange2016-08-093-50/+57
|\ \ \ \ \ | | | | | | | | | | | | Makefile, build: move cross compilation into ci.go
| * | | | | Makefile, build: move cross compilation into ci.goPéter Szilágyi2016-08-083-50/+57
|/ / / / /
* | | | | Merge pull request #2892 from fjl/vm-hide-ecrecover-messageFelix Lange2016-08-061-2/+2
|\ \ \ \ \ | | | | | | | | | | | | core/vm: hide ecrecover error message
| * | | | | core/vm: hide ecrecover error messageFelix Lange2016-08-061-2/+2
| | |_|/ / | |/| | | | | | | | | | | | | Fixes #2825
* | | | | Merge pull request #2889 from fjl/godeps-update-notifyFelix Lange2016-08-064-5/+3
|\ \ \ \ \ | | | | | | | | | | | | Godeps: update github.com/rjeczalik/notify to f627deca7a51
| * | | | | Godeps: update github.com/rjeczalik/notify to f627deca7a51Felix Lange2016-08-054-5/+3
| |/ / / / | | | | | | | | | | | | | | | Fixes #2829
* | | | | Merge pull request #2740 from Firescar96/removepeerFelix Lange2016-07-295-0/+48
|\ \ \ \ \ | | | | | | | | | | | | node, p2p, internal: Add ability to remove peers via admin interface
| * | | | | node, p2p, internal: Add ability to remove peers via admin interfaceFirescar962016-07-155-0/+48
| | | | | |
* | | | | | Merge pull request #2870 from lukeyeager/patch-1Péter Szilágyi2016-07-271-1/+1
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | Fix README typo
| * | | | | README: Fix typoLuke Yeager2016-07-271-1/+1
|/ / / / / | | | | | | | | | | | | | | | "fine graned" -> "fine-grained"
* | | | | Merge pull request #2862 from yep/faster-git-clonePéter Szilágyi2016-07-262-11/+10
|\ \ \ \ \ | |_|/ / / |/| | | | containers/docker: use shallow clone of single branch
| * | | | containers/docker: whitespace changes only, make future diffs more readableyep2016-07-252-8/+8
| | | | |
| * | | | containers/docker: use shallow clone of single branchyep2016-07-252-3/+2
|/ / / /
* | | | Merge pull request #2855 from karalabe/downloader-fix-stall-dropFelix Lange2016-07-251-1/+8
|\ \ \ \ | |_|/ / |/| | | eth/downloader: fix the stall checks/drops during sync
| * | | eth/downloader: fix the stall checks/drops during syncPéter Szilágyi2016-07-221-1/+8
| | | |
* | | | Merge pull request #2808 from fjl/rpc-client-3bas-vk2016-07-2530-769/+2021
|\ \ \ \ | | | | | | | | | | rpc: add new client, use it everywhere
| * | | | rpc: add new client, use it everywhereFelix Lange2016-07-2330-751/+2002
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new client implementation supports concurrent requests, subscriptions and replaces the various ad hoc RPC clients throughout go-ethereum.
| * | | | rpc: fix bad method error for batch requestsFelix Lange2016-07-233-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a batch request contained an invalid method, the server would reply with a non-batch error response. Fix this by tracking an error for each batch element.
| * | | | rpc: remove grace period when shutting down the serverFelix Lange2016-07-231-10/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The server delayed closing of connections for 3s when stopping. This was supposed to allow for slow handlers, but it didn't really work. When geth quits, it will just exit immediately after quitting the server. Removing the timer makes testing easier because all connections will be closed after Stop returns.
* | | | Merge pull request #2842 from fjl/downloader-remove-eth61Felix Lange2016-07-2315-1524/+119
|\ \ \ \ | |/ / / |/| | | eth, eth/downloader, eth/fetcher: delete eth/61 sync code
| * | | eth, eth/downloader, eth/fetcher: delete eth/61 codeFelix Lange2016-07-2215-1524/+119
| | | | | | | | | | | | | | | | | | | | The eth/61 protocol was disabled in #2776, this commit removes its message handlers and hash-chain sync logic.
* | | | Merge pull request #2712 from bas-vk/sendtxPéter Szilágyi2016-07-222-4/+10
|\ \ \ \ | | | | | | | | | | eth/api: rename signAndSendTransaction to sendTransaction
| * | | | eth/api: rename signAndSendTransaction to sendTransactionBas van Kervel2016-07-222-4/+10
|/ / / /
* | | | Merge pull request #2851 from yep/alpine-3-4Péter Szilágyi2016-07-222-2/+2
|\ \ \ \ | | | | | | | | | | containers/docker: update to alpine 3.4
| * | | | containers/docker: update to alpine 3.4yep2016-07-222-2/+2
| | | | |
* | | | | Merge pull request #2833 from karalabe/fix-dao-challenge-annoyancePéter Szilágyi2016-07-221-0/+7
|\ \ \ \ \ | |/ / / / |/| | | | eth: cancel DAO challenge on peer drop (annoying log)
| * | | | eth: cancel DAO challenge on peer drop (annoying log)Péter Szilágyi2016-07-191-0/+7
| |/ / /
* | | | Merge pull request #2836 from fjl/godeps-update-leveldbPéter Szilágyi2016-07-205-28/+63
|\ \ \ \ | | | | | | | | | | Godeps: bump github.com/syndtr/goleveldb/... to ab8b5dcf104
| * | | | Godeps: bump github.com/syndtr/goleveldb/... to ab8b5dcf104Felix Lange2016-07-205-28/+63
| |/ / /
* | | | Merge pull request #2711 from hdiedrich/1.4.7-filter-races-cleanupFelix Lange2016-07-202-28/+54
|\ \ \ \ | | | | | | | | | | Fix #2710 Filter race: concurrent map read and map write
| * | | | eth: fix #2710 filter racesHenning Diedrich2016-07-042-28/+54
| | | | | | | | | | | | | | | | | | | | and locking bugs found in its wake.
* | | | | Merge pull request #2821 from Arachnid/discover-enodeFelix Lange2016-07-201-12/+16
|\ \ \ \ \ | | | | | | | | | | | | cmd/bootnode: Add support for outputting a node's ID on the command line
| * | | | | cmd/bootnode: Add support for outputting a node's ID on the command lineNick Johnson2016-07-151-12/+16
| | |_|_|/ | |/| | |
* | | | | Merge pull request #2834 from zsfelfoldi/chaindb-upgrade-fixPéter Szilágyi2016-07-191-0/+13
|\ \ \ \ \ | |_|_|/ / |/| | | | eth: fixed chaindb upgrade
| * | | | eth: fixed chaindb upgradezsfelfoldi2016-07-191-0/+13
|/ / / /
* | | | Merge pull request #2814 from karalabe/dao-hard-finalcomboJeffrey Wilcke2016-07-1635-124/+9888
|\ \ \ \ | | | | | | | | | | cmd, core, eth, miner, params, tests: finalize the DAO fork
| * | | | cmd/utils, eth: display the user's current fork, minor text tweakPéter Szilágyi2016-07-162-1/+20
| | | | |
| * | | | cmd, core, eth, miner, params, tests: finalize the DAO forkPéter Szilágyi2016-07-1512-414/+7519
| | | | |
| * | | | accounts, core, eth: pass chain config for chain maker to test DAOPéter Szilágyi2016-07-1516-132/+181
| | | | |
| * | | | core, params, tests: add DAO hard-fork balance movesPéter Szilágyi2016-07-1510-42/+2011
| | | | |
| * | | | core, eth: enforce network split post DAO hard-forkPéter Szilágyi2016-07-154-7/+141
| | | | |
| * | | | cmd, core, miner: add extradata validation to consensus rulesPéter Szilágyi2016-07-157-216/+275
| | | | |
| * | | | cmd/geth, miner, params: special extradata for DAO fork startPéter Szilágyi2016-07-153-6/+22
| | | | |
| * | | | core: gracefully handle missing homestead block configPéter Szilágyi2016-07-152-1/+106
| | | | |
| * | | | cmd, core, eth, params: implement flags to control dao fork blocksPéter Szilágyi2016-07-157-46/+354
|/ / / /
* | | | Merge pull request #2823 from karalabe/circleci-hivePéter Szilágyi2016-07-151-0/+32
|\ \ \ \ | | | | | | | | | | circleci: enable docker based hive testing
| * | | | circleci: enable docker based hive testingPéter Szilágyi2016-07-151-0/+32
| | | | |
* | | | | Merge pull request #2724 from pirapira/fix_reset_feesPéter Szilágyi2016-07-152-2/+2
|\ \ \ \ \ | |/ / / / |/| | | | vm: Replace some SstoreClearGas with SstoreResetGas
| * | | | vm: Replace some SstoreClearGas with SstoreResetGasYoichi Hirai2016-06-222-2/+2
| | |/ / | |/| |
* | | | Merge pull request #2819 from fjl/rpc-back-to-npipeFelix Lange2016-07-1528-2333/+1555
|\ \ \ \ | | | | | | | | | | Godeps, rpc: switch back to package npipe
| * | | | Godeps: update golang.org/x/net/...Felix Lange2016-07-159-486/+381
| | | | | | | | | | | | | | | | | | | | | | | | | This adds compatibility with Go 1.7, where context has moved into the standard library.
| * | | | Godeps, rpc: switch back to package npipeFelix Lange2016-07-1520-1847/+1174
|/ / / / | | | | | | | | | | | | | | | | The named pipe implementation from go-winio has some issues that need to be addressed before we can use it again.
* | / / appveyor.yml: don't install Go and MinGW, they're already there (#2813)Felix Lange2016-07-141-11/+13
| |/ / |/| |
* | | Merge pull request #2799 from zsfelfoldi/api-nonce-fix2Péter Szilágyi2016-07-127-8/+17
|\ \ \ | | | | | | | | core: added CheckNonce() to Message interface
| * | | core: added CheckNonce() to Message interfacezsfelfoldi2016-07-117-8/+17
| | | |
* | | | cmd/geth: print version on geth start (#2622)Matthew Di Ferrante2016-07-121-0/+2
| | | |
* | | | Merge pull request #2801 from karalabe/dao-hardfork-importdropPéter Szilágyi2016-07-121-1/+1
|\ \ \ \ | | | | | | | | | | eth/downloader: return invalid chain (peer drop) on import fails
| * | | | eth/downloader: return invalid chain (peer drop) on import failsPéter Szilágyi2016-07-121-1/+1
| |/ / /
* | | | Merge pull request #2793 from karalabe/blockchain-import-mine-dataracePéter Szilágyi2016-07-121-4/+3
|\ \ \ \ | | | | | | | | | | core: solve a remote-import/local-mine data race
| * | | | core: solve a remote-import/local-mine data racePéter Szilágyi2016-07-081-4/+3
| |/ / /
* | | | Merge pull request #2805 from karalabe/readme-running-gethPéter Szilágyi2016-07-121-0/+191
|\ \ \ \ | | | | | | | | | | README: expand with "Running Geth" section
| * | | | README: expand with "Running Geth" sectionPéter Szilágyi2016-07-121-0/+191
| |/ / /
* / / / ethdb, p2p/discover: replace "alloted" with "allotted" (#2785)villesundell2016-07-122-4/+4
|/ / /
* | | Merge pull request #2782 from karalabe/docker-alpine-master-nogmpFelix Lange2016-07-051-5/+5
|\ \ \ | | | | | | | | containers/docker/master-alpine: drop gmp dependency
| * | | containers/docker/master-alpine: drop gmp dependencyPéter Szilágyi2016-07-041-5/+5
|/ / /
* | | Merge pull request #2776 from karalabe/disable-eth61Péter Szilágyi2016-07-041-2/+2
|\ \ \ | | | | | | | | eth: disable eth/61 to prepare for more elaborate fork sync algos
| * | | eth: disable eth/61 to prepare for more elaborate fork sync algosPéter Szilágyi2016-07-041-2/+2
|/ / /
* | | Merge pull request #2763 from karalabe/fix-readme-typePéter Szilágyi2016-07-011-1/+1
|\ \ \ | | | | | | | | README: fix build->built typo
| * | | README: fix build->built typoTry Space2016-07-011-1/+1
|/ / / | | | | | | | | | (cherry picked from commit e271fd57132763f39c6993a35e6c063aac3af4f1)
* | | Merge pull request #2759 from karalabe/drop-redundant-full-servicePéter Szilágyi2016-07-0111-86/+86
|\ \ \ | | | | | | | | cmd, common, console, eth, release: drop redundant "full"s
| * | | cmd, common, console, eth, release: drop redundant "full"sPéter Szilágyi2016-06-3011-86/+86
|/ / /
* | | Merge pull request #2159 from zsfelfoldi/light-backendPéter Szilágyi2016-06-3022-1805/+2296
|\ \ \ | | | | | | | | eth: separate common and full node-specific API and backend service
| * | | eth: separate common and full node-specific API and backend servicezsfelfoldi2016-06-1622-1805/+2296
| | | |
* | | | Merge pull request #2750 from sybiload/developPéter Szilágyi2016-06-291-1/+1
|\ \ \ \ | | | | | | | | | | cmd/geth: fix the import error message
| * | | | cmd/geth: fix the import error messageYohann LEON2016-06-291-1/+1
| | |_|/ | |/| | | | | | | | | | cmd/geth: include the error message on import failure
* | | | Merge pull request #2752 from karalabe/revert-soft-forkPéter Szilágyi2016-06-2914-473/+9
|\ \ \ \ | |/ / / |/| | | Revert faulty DAO soft-fork
| * | | Revert "test, cmd/evm, core, core/vm: illegal code hash implementation"Péter Szilágyi2016-06-2911-95/+29
| | | | | | | | | | | | | | | | This reverts commit 7a5b571c671e70e0e4807cf971c15e2d1e09d33d.
| * | | Revert "core: add voting and result tracking for the dao soft-fork"Péter Szilágyi2016-06-295-436/+20
| | | | | | | | | | | | | | | | This reverts commit c4de28938ff8c688c4444c8b3e8e28a52cbc62ff.
| * | | Revert "core: update DAO soft-fork number, clean up the code"Péter Szilágyi2016-06-2910-49/+67
| | | | | | | | | | | | | | | | This reverts commit ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.
| * | | Revert "core: update the DAO soft fork proposal to the final block"Péter Szilágyi2016-06-291-1/+1
|/ / / | | | | | | | | | This reverts commit 1e3a7d4fab36df9382d023519ef10e3c34bafa3b.
* | | Merge pull request #2734 from karalabe/dao-final-blockPéter Szilágyi2016-06-241-1/+1
|\ \ \ | | | | | | | | core: update the DAO soft fork proposal to the final block
| * | | core: update the DAO soft fork proposal to the final blockPéter Szilágyi2016-06-241-1/+1
|/ / /
* | | Merge pull request #2725 from karalabe/obscuren-softfork-dao-2Péter Szilágyi2016-06-2414-9/+473
|\ \ \ | | | | | | | | DAO soft-fork
| * | | core: update DAO soft-fork number, clean up the codePéter Szilágyi2016-06-2310-67/+49
| | | |
| * | | core: add voting and result tracking for the dao soft-forkPéter Szilágyi2016-06-235-20/+436
| | | |
| * | | test, cmd/evm, core, core/vm: illegal code hash implementationJeffrey Wilcke2016-06-2211-29/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #2731 from justincc/remove-old-natspec-js-stubsPéter Szilágyi2016-06-241-15/+0
|\ \ \ \ | | | | | | | | | | web3ext: Remove old natspec Admin_JS stubs
| * | | | web3ext: Remove old natspec Admin_JS stubsJustin Clark-Casey2016-06-241-15/+0
|/ / / / | | | | | | | | | | | | This stops them from showing up on the javascript console.
* | | | Merge pull request #2726 from fjl/appveyorPéter Szilágyi2016-06-2319-114/+938
|\ \ \ \ | |/ / / |/| | | build: add ci.go, use it everywhere
| * | | build: add ci.go, use it everywhereFelix Lange2016-06-2219-114/+938
| |/ / | | | | | | | | | | | | | | | The new build script, ci.go, replaces some of the older shell scripts. ci.go can compile go-ethereum, run the tests, create release archives and debian source packages.
* | | Merge pull request #2722 from fabioberger/fixTyposPéter Szilágyi2016-06-224-8/+8
|\ \ \ | |_|/ |/| | README, core, rpc: Fix typos
| * | README, core, rpc: fix various typosFabio Berger2016-06-224-8/+8
|/ /
* | Merge pull request #2685 from karalabe/ethash-bitengdian-fixPéter Szilágyi2016-06-154-18/+17
|\ \ | | | | | | Godeps: pull in ethash with the big endian build fix
| * | Godeps: pull in ethash with the big endian build fixPéter Szilágyi2016-06-134-18/+17
| | |
* | | Merge pull request #2693 from obscuren/evm-bin-createPéter Szilágyi2016-06-151-11/+34
|\ \ \ | | | | | | | | cmd/evm: added --create flag indicating the exec code is to be created
| * | | cmd/evm: added --create flag indicating the exec code is to be createdJeffrey Wilcke2016-06-141-11/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue if you wanted to test out code deployment rather than running a piece of code with an argument. This solves it by adding a --create flag that indicates the Create function should be used rather than the Call function. This also adds a statedb.commit call so that the proper state can be dumped when requested using the --dump flag.
* | | | Merge pull request #2697 from karalabe/CamTosh-patch-1-3Péter Szilágyi2016-06-151-5/+5
|\ \ \ \ | |/ / / |/| | | cmd/utils: add space between "to" and filename
| * | | cmd/utils: add space between "to" and filenameTosh Camille2016-06-151-5/+5
|/ / /
* | | Merge pull request #2680 from karalabe/abi-fix-uintsPéter Szilágyi2016-06-142-21/+33
|\ \ \ | | | | | | | | accounts/abi: fix uint64 upper range encoding.
| * | | accounts/abi: fix uint64 upper range encoding.Péter Szilágyi2016-06-102-21/+33
| | | |
* | | | Merge pull request #2686 from obscuren/issue-2542Péter Szilágyi2016-06-142-0/+22
|\ \ \ \ | |_|_|/ |/| | | core/state, eth: Updated suicides objects when tracing transactions
| * | | core/state, eth: Updated suicides objects when tracing transactionsJeffrey Wilcke2016-06-132-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 #2455 from zsfelfoldi/chaindbJeffrey Wilcke2016-06-1324-360/+840
|\ \ \ \ | | | | | | | | | | core: improved chain db performance by using sequential keys
| * | | | core: improved chainDb using sequential keyszsfelfoldi2016-06-0724-365/+726
| | | | |
| * | | | core: chain read/write speed benchmarkszsfelfoldi2016-06-061-0/+119
| |/ / /
* | | | Merge pull request #2687 from karalabe/downloader-fasttest-fixFelix Lange2016-06-131-1/+3
|\ \ \ \ | |_|_|/ |/| | | eth/downloader: fix occasional fast sync critical section test fails
| * | | eth/downloader: fix occasional fast sync critical section test failsPéter Szilágyi2016-06-131-1/+3
|/ / /
* | | Merge pull request #2681 from karalabe/fix-cli-deprecationPéter Szilágyi2016-06-108-27/+55
|\ \ \ | |_|/ |/| | cmd: fix CLI package deprecation warnings
| * | cmd: fix CLI package deprecation warningsPéter Szilágyi2016-06-108-27/+55
|/ /
* | Merge pull request #2677 from bas-vk/cliPéter Szilágyi2016-06-1035-626/+1309
|\ \ | | | | | | cmd/geth: codegansta/cli package renamed to urfave/cli
| * | cmd/geth: codegansta/cli package renamed to urfave/cliBas van Kervel2016-06-0935-626/+1309
| | |
* | | Merge pull request #2653 from tbocek/developPéter Szilágyi2016-06-104-64/+10
|\ \ \ | | | | | | | | Negative numbers not properly converted in ABI encoding
| * | | accounts/abi: Negative numbers not properly converted in ABI encodingThomas Bocek2016-06-064-64/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When converting a negative number e.g., -2, the resulting ABI encoding should look as follows: fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe. However, since the check of the type is for an uint instead of an int, it results in the following ABI encoding: 0101010101010101010101010101010101010101010101010101010101010102. The Ethereum ABI (https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI) says, that signed integers are stored in two's complement which should be of the form ffffff.... and not 01010101..... for e.g. -1. Thus, I removed the type check in numbers.go as well as the function S256 as I don't think they are correct. Or maybe I'm missing something?