aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2170 from karalabe/fix-miner-registrationPéter Szilágyi2016-02-031-1/+4
|\ | | | | miner: register newly created remote agent in the API
| * miner: register newly created remote agent in the APIPéter Szilágyi2016-02-031-1/+4
|/
* Merge pull request #2098 from karalabe/rpc-txpool-queue-inspectionJeffrey Wilcke2016-02-023-1/+113
|\ | | | | core, eth, rpc/api: rpc method to inspect the txpool queue
| * core, eth, rpc/api: rpc method to inspect the txpool queuePéter Szilágyi2016-02-013-1/+113
|/
* Merge pull request #2146 from fjl/discover-win32-large-packetsJeffrey Wilcke2016-02-014-7/+124
|\ | | | | p2p/discover: fix Windows-specific issue for larger-than-buffer packets
| * p2p/discover: fix Windows-specific issue for larger-than-buffer packetsFelix Lange2016-01-234-7/+124
| | | | | | | | | | | | | | | | | | | | On Windows, UDPConn.ReadFrom returns an error for packets larger than the receive buffer. The error is not marked temporary, causing our loop to exit when the first oversized packet arrived. The fix is to treat this particular error as temporary. Fixes: #1579, #2087 Updates: #2082
* | Merge pull request #2165 from karalabe/gmp-dep-master-alpinePéter Szilágyi2016-01-311-5/+5
|\ \ | | | | | | containers/docker/master-alpine: add the legacy gmp lib back for now
| * | containers/docker/master-alpine: add the legacy gmp lib back for nowPéter Szilágyi2016-01-311-5/+5
|/ /
* | Merge pull request #2164 from karalabe/add-alpine-imagesPéter Szilágyi2016-01-314-0/+29
|\ \ | | | | | | containers: regroup and add Alpine images (31 MB)
| * | containers: regroup and add Alpine images (31 MB)Péter Szilágyi2016-01-314-0/+29
|/ /
* | Merge pull request #2151 from fjl/debug-apiJeffrey Wilcke2016-01-2812-116/+517
|\ \ | | | | | | internal/debug: APIs for profiling and tracing
| * | internal/debug: APIs for profiling and tracingFelix Lange2016-01-2810-107/+502
| | | | | | | | | | | | | | | | | | The debug package provides an RPC wrapper for glog settings and the debugging facilities of the Go runtime. They can be triggered through both command line flags and the IPC listener.
| * | logger/glog: clean up flag gettersFelix Lange2016-01-271-8/+10
| | |
| * | logger/glog: fix TraceLocation.Set("")Felix Lange2016-01-271-0/+4
| | |
| * | rpc: fix success response encoding for null return valueFelix Lange2016-01-271-1/+1
| | | | | | | | | | | | | | | The "result" field of JSON-RPC 2.0 responses was omitted if the result was nil, causing exceptions in web3.js.
* | | Merge pull request #2143 from karalabe/fix-transaction-sort-2Jeffrey Wilcke2016-01-284-22/+131
|\ \ \ | |/ / |/| | core, core/types, miner: fix transaction nonce-price combo sort
| * | core, core/types, miner: fix transaction nonce-price combo sortPéter Szilágyi2016-01-224-22/+131
| |/
* | Merge pull request #2140 from obscuren/rpc2-consoleJeffrey Wilcke2016-01-26132-14318/+4709
|\ \ | | | | | | Rpc2 console
| * | rpc: migrated the RPC insterface to a new reflection based RPC layerBas van Kervel2016-01-26132-14318/+4709
|/ /
* | Merge pull request #2136 from fjl/glog-prefixFelix Lange2016-01-267-92/+112
|\ \ | | | | | | logger/glog: improve vmodule
| * | node, rpc/api: add debug_vmodule, move admin_verbosity to debug_verbosityFelix Lange2016-01-215-41/+18
| | |
| * | logger/glog: add SetVmoduleFelix Lange2016-01-211-0/+5
| | |
| * | logger/glog: add directory context to output and vmodule matchingFelix Lange2016-01-212-51/+89
| | | | | | | | | | | | | | | | | | | | | This change allows setting the verbosity for directory prefixes using the syntax: --vmodule=eth/=6
* | | Merge pull request #2145 from caktux/developFelix Lange2016-01-233-21/+34
|\ \ \ | |_|/ |/| | separate and optimize Dockerfile for master and develop
| * | separate and optimize Dockerfile for master and developcaktux2016-01-223-21/+34
|/ /
* | Merge pull request #2115 from karalabe/vm-debug-storageJeffrey Wilcke2016-01-214-14/+20
|\ \ | | | | | | core/vm: resolve circular dependency to debug vm storage
| * | core/vm: resolve circular dependency to debug vm storagePéter Szilágyi2016-01-124-14/+20
| | |
* | | Merge pull request #2132 from bas-vk/console-sleepJeffrey Wilcke2016-01-212-0/+84
|\ \ \ | | | | | | | | console: add admin.sleep and admin.sleepBlocks
| * | | console: add admin.sleep and admin.sleepBlocksBas van Kervel2016-01-192-0/+84
| | | |
* | | | Merge pull request #2130 from bas-vk/nodeinfo-formatFelix Lange2016-01-191-6/+6
|\ \ \ \ | |/ / / |/| | | Nodeinfo format Genesis and Header
| * | | eth: changed NodeInfo Genesis and Head typesBas van Kervel2016-01-181-6/+6
|/ / /
* | | Merge pull request #2119 from karalabe/statedb-batch-commitJeffrey Wilcke2016-01-141-1/+2
|\ \ \ | |/ / |/| | core/state: always commit in batches, just finish if not needed later
| * | core/state: always commit in batches, just finish if not needed laterPéter Szilágyi2016-01-131-1/+2
|/ /
* | Merge pull request #2114 from karalabe/chain-maker-state-remakeFelix Lange2016-01-111-12/+7
|\ \ | |/ |/| core: fix invalid state reuse in chain maker based tests
| * core: fix invalid state reuse in chain maker based testsPéter Szilágyi2016-01-111-12/+7
|/
* Merge pull request #2110 from LefterisJP/determining_home_for_ubuntu_coreFelix Lange2016-01-081-5/+6
|\ | | | | common: Fix HomeDir detection
| * common: Fix HomeDir detectionLefteris Karapetsas2016-01-081-5/+6
|/ | | | | | | | | | | | | | | | | | | I am working on porting geth to [Ubuntu Core](https://developer.ubuntu.com/en/snappy/https://developer.ubuntu.com/en/snappy/). I am testing geth on a Raspberry PI and for Ubuntu Core the $HOME directory is unique for each application. See [here](https://developer.ubuntu.com/en/snappy/guides/filesystem-layout) for more information of their filesystem layout. For some reason in Go `usr.HomeDir` returns a different value than `$HOME` in Ubuntu Core. Adding this at the end of `HomeDir()` ```go fmt.Printf("at HomeDir, user.HomeDir = %s and $HOME is %s\n", usr.HomeDir, os.Getenv("HOME")) ``` gives the following output ``` at HomeDir, user.HomeDir = /home/ubuntu and $HOME is /home/ubuntu/apps/geth.sideload/IJcODREBYbHO ``` With this commit, I propose giving precedence to the `$HOME` environment variable as is also suggested by the [homedir](https://github.com/mitchellh/go-homedir/blob/master/homedir.go) project.
* Merge pull request #2097 from karalabe/block-state-checksJeffrey Wilcke2016-01-056-61/+85
|\ | | | | core, eth/downloader: ensure state presence in ancestor lookup
| * core, eth/downloader: ensure state presence in ancestor lookupPéter Szilágyi2016-01-046-61/+85
| |
* | Merge pull request #2101 from karalabe/delete-outoffund-transactionsJeffrey Wilcke2016-01-052-44/+344
|\ \ | |/ |/| core: transaction invalidation and reorganization fixes
| * core: fix transaction reorg issues within the tx poolPéter Szilágyi2016-01-052-44/+344
|/
* Merge pull request #2099 from karalabe/fix-throttling-testFelix Lange2015-12-301-3/+1
|\ | | | | eth/downloader: throttling tests are time-sensitive, don't run parallel
| * eth/downloader: throttling tests are time-sensitive, don't run parallelPéter Szilágyi2015-12-301-3/+1
|/
* Merge pull request #2064 from fjl/remove-common-rlpJeffrey Wilcke2015-12-1917-1235/+96
|\ | | | | common: remove old RLP implementation, Value and ExtPackage
| * common: remove old RLP implementation, Value and ExtPackageFelix Lange2015-12-1810-1162/+19
| | | | | | | | | | In order to make this happen, kill all remaining trivial uses of common/{rlp,value}.go. The non-trivial ones have been updated earlier.
| * core/state, core/types use package rlp for state, receipt serialisationFelix Lange2015-12-185-71/+67
| |
| * eth/downloader: fix negative balance issue in testsFelix Lange2015-12-182-2/+10
| | | | | | | | | | | | | | | | | | | | The test chain generated by makeChainFork included invalid uncle headers, crashing the generator during the state commit. The headers were invalid because they used the iteration counter as the block number, even though makeChainFork uses a block with number > 0 as the parent. Fix this by introducing BlockGen.Number, which allows accessing the actual number of the block being generated.
* | Merge pull request #2084 from bas-vk/rpcnilptrJeffrey Wilcke2015-12-191-5/+6
|\ \ | | | | | | console crash on nil ptr
| * | console: bugfix that causes the console to crash when connection to an ↵Bas van Kervel2015-12-181-5/+6
|/ / | | | | | | endpoint without the personal api enabled
* | Merge pull request #2019 from zsfelfoldi/light-stateJeffrey Wilcke2015-12-1810-15/+1091
|\ \ | |/ |/| Light state
| * light: implemented odr-capable trie and state structureszsfelfoldi2015-12-1710-15/+1091
| |
* | Merge pull request #1925 from fjl/p2p-dial-resolveJeffrey Wilcke2015-12-1810-208/+444
|\ \ | | | | | | p2p: resolve incomplete dial targets
| * | p2p/discover: attempt to deflake TestUDP_responseTimeoutsFelix Lange2015-12-181-1/+2
| | | | | | | | | | | | | | | The test expected the timeout to fire after a matcher for the response was added, but the timeout is random and fired sooner sometimes.
| * | p2p: resolve incomplete dial targetsFelix Lange2015-12-182-63/+175
| | | | | | | | | | | | | | | | | | This change makes it possible to add peers without providing their IP address. The endpoint of the target node is resolved using the discovery protocol.
| * | p2p, p2p/discover: track bootstrap state in p2p/discoverFelix Lange2015-12-186-91/+110
| | | | | | | | | | | | | | | | | | This change simplifies the dial scheduling logic because it no longer needs to track whether the discovery table has been bootstrapped.
| * | p2p/discover: support incomplete node URLs, add ResolveFelix Lange2015-12-187-54/+158
|/ /
* | Merge pull request #1997 from zsfelfoldi/gasprice2Jeffrey Wilcke2015-12-174-5/+76
|\ \ | | | | | | core: tx pool skip price validation for "owned" transactions
| * | core: tx pool skip price validation for "owned" transactionszsfelfoldi2015-12-164-5/+76
| | |
* | | Merge pull request #2077 from karalabe/fix-header-query-duplicationJeffrey Wilcke2015-12-172-1/+23
|\ \ \ | |_|/ |/| | eth: fix #2076, where end of hash query was interpreted number query
| * | eth: fix #2076, where end of hash query was interpreted number queryPéter Szilágyi2015-12-162-1/+23
| |/
* | Merge pull request #2061 from zsfelfoldi/rpc-contextFelix Lange2015-12-168-18/+1122
|\ \ | |/ |/| rpc: optionally passing context argument to rpc v2 api methods
| * rpc/v2: optionally passing context argument to rpc v2 api methodszsfelfoldi2015-12-168-18/+1122
| |
* | Merge pull request #2072 from karalabe/admin-debug-apisFelix Lange2015-12-157-26/+494
|\ \ | | | | | | core, eth, node, rpc: port the admin and debug API
| * | core, eth, node, rpc: port the admin and debug APIPéter Szilágyi2015-12-157-26/+494
| |/
* | Merge pull request #2070 from karalabe/android-archivesFelix Lange2015-12-152-25/+76
|\ \ | |/ |/| Makefile, cmd/geth: support building Android archives
| * Makefile, cmd/geth: support building Android archivesPéter Szilágyi2015-12-142-25/+76
| |
* | Merge pull request #2035 from bas-vk/rcp-v2-rebaseFelix Lange2015-12-1538-14/+4651
|\ \ | | | | | | rpc: new RPC implementation with pub/sub support
| * | rpc: new RPC implementation with pub/sub supportBas van Kervel2015-12-1438-14/+4651
| | |
* | | Merge pull request #2056 from fjl/fix-account-formatJeffrey Wilcke2015-12-101-8/+8
|\ \ \ | |_|/ |/| | crypto: "Crypto" -> "crypto" in web3 key format
| * | crypto: "Crypto" -> "crypto" in web3 key formatFelix Lange2015-12-081-8/+8
| | |
* | | Merge pull request #2058 from karalabe/geth-frameworkFelix Lange2015-12-104-27/+91
|\ \ \ | | | | | | | | Makefile, cmd/geth: assemble ios xcode frameworks
| * | | Makefile, cmd/geth: assemble ios xcode frameworksPéter Szilágyi2015-12-094-27/+91
| | | |
* | | | Merge pull request #2003 from obscuren/abi-callingFelix Lange2015-12-086-88/+243
|\ \ \ \ | | | | | | | | | | accounts/abi: added output parsing & added call mechanism
| * | | | accounts/abi: added output parsing & added call mechanismJeffrey Wilcke2015-11-256-88/+243
| | | | | | | | | | | | | | | | | | | | Added calling mechanism and return value parsing
* | | | | Merge pull request #2051 from karalabe/store-transaction-fastsyncFelix Lange2015-12-081-0/+12
|\ \ \ \ \ | |_|/ / / |/| | | | core: write individual transactions and receipts too on fast sync
| * | | | core: write individual transactions and receipts too on fast syncPéter Szilágyi2015-12-041-0/+12
| | | | |
* | | | | Merge pull request #2034 from karalabe/always-allow-dyndialsJeffrey Wilcke2015-12-071-1/+1
|\ \ \ \ \ | | | | | | | | | | | | p2p: always allow dynamic dials if network not disabled
| * | | | | p2p: always allow dynamic dials if network not disabledPéter Szilágyi2015-12-031-1/+1
| | | | | |
* | | | | | Merge pull request #2037 from fjl/no-libgmpPéter Szilágyi2015-12-045-52/+15
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | crypto/secp256k1: remove dependency on libgmp
| * | | | | crypto/secp256k1: remove dependency on libgmpFelix Lange2015-12-045-52/+15
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | Turns out we actually don't need it, USE_NUM_NONE works because we also set USE_FIELD_INV_BUILTIN.
* | | | | Merge pull request #2024 from obscuren/exp-logsJeffrey Wilcke2015-12-044-4/+68
|\ \ \ \ \ | |/ / / / |/| | | | core: added a new RemovedLogEvent
| * | | | core: added a new RemovedLogEventJeffrey Wilcke2015-12-014-4/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a chain reorganisation occurs we collect the logs that were deleted during the chain reorganisation. The removed logs are posted to the event mux indicating that those were deleted during the reorg.
* | | | | Merge pull request #2036 from karalabe/ios-arm64-crossFelix Lange2015-12-041-3/+13
|\ \ \ \ \ | |_|/ / / |/| | | | Makefile: support 64bit ARM iOS cross builds
| * | | | Makefile: support 64bit ARM iOS cross buildsPéter Szilágyi2015-12-041-3/+13
|/ / / /
* | | | Merge pull request #2032 from karalabe/linux-arm64-crossJeffrey Wilcke2015-12-031-2/+8
|\ \ \ \ | | | | | | | | | | Makefile: enable 64-bit ARM builds on Linux
| * | | | Makefile: enable 64-bit ARM builds on LinuxPéter Szilágyi2015-12-021-2/+8
|/ / / /
* | | | Merge pull request #1862 from Gustav-Simonsson/libsecp256k1_ecdhJeffrey Wilcke2015-12-0216-185/+334
|\ \ \ \ | |_|_|/ |/| | | crypto, crypto/secp256k1: use libsecp256k1 for scalar multiplication
| * | | crypto, crypto/ecies, crypto/secp256k1: libsecp256k1 scalar multGustav Simonsson2015-11-3016-171/+321
| | | | | | | | | | | | | | | | thanks to Felix Lange (fjl) for help with design & impl
| * | | core/secp256k1: update libsecp256k1 Go wrapper and testsGustav Simonsson2015-11-302-18/+17
| | | |
* | | | Merge pull request #2025 from karalabe/windows-account-unlock-testfixFelix Lange2015-12-011-1/+1
|\ \ \ \ | | | | | | | | | | accounts: increase re-lock timeout to account for slow CI servers
| * | | | accounts: increase re-lock timeout to account for slow CI serversPéter Szilágyi2015-12-011-1/+1
| | | | |
* | | | | Merge pull request #2022 from karalabe/multiversion-arm-buildsPéter Szilágyi2015-12-011-33/+28
|\ \ \ \ \ | | | | | | | | | | | | Makefile: build ARM v5/v6/v7, drop high API mobile clients
| * | | | | Makefile: build ARM v5/v6/v7, drop high API mobile clientsPéter Szilágyi2015-12-011-33/+28
| |/ / / /
* | | | | Merge pull request #2005 from zsfelfoldi/light-trieJeffrey Wilcke2015-12-017-68/+343
|\ \ \ \ \ | | | | | | | | | | | | Trie error handling
| * | | | | trie: added error handlingzsfelfoldi2015-12-017-68/+343
| | |/ / / | |/| | | | | | | | | | | | | Created alternate versions of Trie and SecureTrie functions that can return a MissingNodeError (used by ODR services)
* | | | | Merge pull request #2021 from fjl/fix-etherbase-no-accountsJeffrey Wilcke2015-12-012-21/+18
|\ \ \ \ \ | |_|/ / / |/| | | | cmd/utils: restore starting geth without any accounts and etherbase
| * | | | cmd/utils: restore starting geth without any accounts and etherbaseFelix Lange2015-12-012-21/+18
| | | | | | | | | | | | | | | | | | | | Also remove some duplication around address/index parsing.
* | | | | Merge pull request #2020 from bas-vk/issue2016Jeffrey Wilcke2015-12-011-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | eth package creates new event mux
| * | | | eth: use global event mux insteadBas van Kervel2015-12-011-1/+1
|/ / / /
* | | | Merge pull request #2015 from bas-vk/console-instance-nameJeffrey Wilcke2015-11-301-1/+1
|\ \ \ \ | |/ / / |/| | | console: fix instance name printed incorrect on start
| * | | console: fix instance name printed incorrect on startBas van Kervel2015-11-301-1/+1
|/ / /
* | | Merge pull request #2014 from karalabe/enable-ios-buildsFelix Lange2015-11-301-1/+1
|\ \ \ | | | | | | | | Makefile: enable iOS experimental builds (fix prev omission)
| * | | Makefile: enable iOS experimental builds (fix prev omission)Péter Szilágyi2015-11-291-1/+1
|/ / /
* | | Merge pull request #2011 from karalabe/fix-hex-addressJeffrey Wilcke2015-11-281-2/+2
|\ \ \ | |/ / |/| | common: fix #2008, wrong hex prefix check
| * | common: fix #2008, wrong hex prefix checkPéter Szilágyi2015-11-281-2/+2
|/ /
* | Merge pull request #1970 from karalabe/customizable-protocol-stacksJeffrey Wilcke2015-11-2739-1023/+2494
|\ \ | | | | | | Customizable protocol stacks
| * | cmd, eth, node, rpc, xeth: use single-instance servicesPéter Szilágyi2015-11-2717-294/+329
| | |
| * | cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacksPéter Szilágyi2015-11-2730-939/+1041
| | |
| * | cmd: drop blocktest command, create gethrpctest programPéter Szilágyi2015-11-273-168/+182
| | |
| * | node: customizable protocol and service stacksPéter Szilágyi2015-11-2713-13/+1333
| | |
* | | Merge pull request #2002 from karalabe/ios-cross-buildsJeffrey Wilcke2015-11-278-25/+63
|\ \ \ | | | | | | | | Makefile: add support for iOS cross compilation
| * | | Makefile: support library build modesPéter Szilágyi2015-11-253-12/+15
| | | |
| * | | Makefile: add support for iOS cross compilationPéter Szilágyi2015-11-248-16/+51
| | |/ | |/|
* | | Merge pull request #1999 from karalabe/javascript-timer-argcheckJeffrey Wilcke2015-11-271-5/+15
|\ \ \ | | | | | | | | jrse: fix #1082, fail if setTimeout/setInterval lack callback
| * | | jrse: fix #1082, fail if setTimeout/setInterval lack callbackPéter Szilágyi2015-11-231-5/+15
| | | |
* | | | Merge pull request #2001 from obscuren/fixesJeffrey Wilcke2015-11-273-947/+6229
|\ \ \ \ | |_|_|/ |/| | | cmd, crypto: updated web3
| * | | cmd, crypto: fixed nil public keys and updated web3Jeffrey Wilcke2015-11-263-947/+6229
| | | |
* | | | Merge pull request #1996 from obscuren/whisper-spam-fixJeffrey Wilcke2015-11-253-2/+19
|\ \ \ \ | |_|_|/ |/| | | whisper: fixed broadcast race
| * | | whisper: fixed broadcast raceJeffrey Wilcke2015-11-253-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whisper's expire and broadcast loops happen in two separate go routines. Whenever an envelope is being expired it's removed from the set of envelopes and it looses all information about the envelope, including the "known hash". After the envelope has been removed it can be re-accepted by a broadcasting peer putting back the envelope in the set of envelopes. Since the envelope broadcast loop is separate of the expire loop expired messages may be broadcast to other peer, resulting in messages **never** being dropped. This PR includes an expire check before adding new messages to the set of envelopes.
* | | | Merge pull request #1988 from bas-vk/issue1971Jeffrey Wilcke2015-11-241-0/+11
|\ \ \ \ | |_|_|/ |/| | | miner: bugfix where blockhash in receipts and logs is left empty
| * | | miner: bugfix were blockhash in receipts and logs is left emptyBas van Kervel2015-11-191-0/+11
| |/ /
* | | Merge pull request #1991 from Gustav-Simonsson/common_testsGustav-Simonsson2015-11-233-39/+865
|\ \ \ | |_|/ |/| | Update common test files
| * | Update common test filesGustav Simonsson2015-11-203-39/+865
| | |
* | | Merge pull request #1666 from obscuren/create-transactionJeffrey Wilcke2015-11-213-7/+115
|\ \ \ | | | | | | | | rpc/api, xeth: added signTransaction method
| * | | rpc/api, xeth: added signTransaction methodJeffrey Wilcke2015-11-183-7/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SignTransaction creates a transaction but does submit it to the network. SignTransaction returns a structure which includes the transaction object details as well as the RLP encoded transaction that could possibly be submitted by the SendRawTransaction method.
* | | | Merge pull request #1995 from karalabe/parametrize-crosscompile-goJeffrey Wilcke2015-11-211-9/+58
|\ \ \ \ | |_|/ / |/| | | Makefile: individual platforms, configurable Go runtime
| * | | Makefile: individual platforms, configurable Go runtimePéter Szilágyi2015-11-201-9/+58
|/ / /
* | | Merge pull request #1953 from karalabe/switch-to-fast-peersJeffrey Wilcke2015-11-203-246/+258
|\ \ \ | |_|/ |/| | eth/downloader: fetch data proportionally to peer capacity
| * | eth/downloader: fetch data proportionally to peer capacityPéter Szilágyi2015-11-193-246/+258
|/ /
* | Merge pull request #1993 from obscuren/remove-legaleseJeffrey Wilcke2015-11-193-77/+0
|\ \ | | | | | | cmd/geth, cmd/utils: removed legalese
| * | cmd/geth, cmd/utils: removed legaleseJeffrey Wilcke2015-11-193-77/+0
| | | | | | | | | | | | Removed the legalese confirmation dialog. This closes #1992
* | | Merge pull request #1923 from karalabe/cleanup-receipt-data-accessJeffrey Wilcke2015-11-1911-235/+359
|\ \ \ | | | | | | | | core, eth, miner, xeth: clean up tx/receipt db accessors
| * | | core, eth, miner, xeth: clean up tx/receipt db accessorsPéter Szilágyi2015-11-1911-235/+359
| |/ /
* | | Merge pull request #1980 from fjl/downloader-deliver-hangJeffrey Wilcke2015-11-194-311/+336
|\ \ \ | |/ / |/| | eth/downloader: don't hang for spurious deliveries
| * | eth/downloader: run tests in parallelFelix Lange2015-11-191-0/+29
| | |
| * | eth/downloader: also drain stateCh, receiptCh in eth/61 modeFelix Lange2015-11-191-71/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | State and receipt deliveries from a previous eth/62+ sync can hang if the downloader has moved on to syncing with eth/61. Fix this by also draining the eth/63 channels while waiting for eth/61 data. A nicer solution would be to take care of the channels in a central place, but that would involve a major rewrite.
| * | eth: remove workaround for asynchronous processing in the downloaderFelix Lange2015-11-191-4/+0
| | |
| * | eth/downloader: don't hang for spurious deliveriesFelix Lange2015-11-193-236/+230
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unexpected deliveries could block indefinitely if they arrived at the right time. The fix is to ensure that the cancellation channel is always closed when the sync ends, unblocking any deliveries. Also remove the atomic check for whether a sync is currently running because it doesn't help and can be misleading. Cancelling always seems to break the tests though. The downloader spawned d.process whenever new data arrived, making it somewhat hard to track when block processing was actually done. Fix this by running d.process in a dedicated goroutine that is tied to the lifecycle of the sync. d.process gets notified of new work by the queue instead of being invoked all the time. This removes a ton of weird workaround code, including a hairy use of atomic CAS.
* | Merge pull request #1917 from obscuren/validator-interfaceJeffrey Wilcke2015-11-1919-642/+701
|\ \ | | | | | | core, eth, rpc: split out block validator and state processor
| * | core, eth, rpc: split out block validator and state processorJeffrey Wilcke2015-11-1819-642/+701
| |/ | | | | | | | | | | | | | | | | | | | | | | 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).
* | Merge pull request #1964 from obscuren/evm-runtimeJeffrey Wilcke2015-11-195-0/+399
|\ \ | | | | | | core/vm/runtime: added simple execution runtime
| * | core/vm/runtime: added simple execution runtimeJeffrey Wilcke2015-11-185-0/+399
| |/ | | | | | | | | | | The runtime environment can be used for simple basic execution of contract code without the requirement of setting up a full stack and operates fully in memory.
* | Merge pull request #1990 from karalabe/fix-whisper-autocompleteFelix Lange2015-11-181-1/+1
|\ \ | | | | | | rpc/api: fix #1986, newIdentity autocomplete
| * | rpc/api: fix #1986, newIdentity autocompletePéter Szilágyi2015-11-181-1/+1
|/ /
* | Merge pull request #1984 from fjl/secp256k1-recover-id-verifyJeffrey Wilcke2015-11-183-81/+89
|\ \ | |/ |/| crypto/secp256k1: verify recovery ID before calling libsecp256k1
| * crypto/secp256k1: drop pkgsrc paths from CFLAGSFelix Lange2015-11-171-2/+2
| | | | | | | | | | | | They cause compiler warnings for people who don't have these directories. People with pkgsrc can add the directory through CGO_CFLAGS instead.
| * crypto/secp256k1: raise internal errors as recoverable Go panicFelix Lange2015-11-172-0/+39
| |
| * crypto/secp256k1: verify recovery ID before calling libsecp256k1Felix Lange2015-11-172-79/+48
|/ | | | | | | | The C library treats the recovery ID as trusted input and crashes the process for invalid values, so it needs to be verified before calling into C. This will inhibit the crash in #1983. Also remove VerifySignature because we don't use it.
* Merge pull request #1976 from karalabe/enable-light-kdfJeffrey Wilcke2015-11-113-2/+4
|\ | | | | cmd/geth, cmd/utils: surface the light KDF flag to the CLI
| * cmd/geth, cmd/utils: surface the light KDF flag to the CLIPéter Szilágyi2015-11-103-2/+4
|/
* Merge pull request #1974 from karalabe/fix-rpc-regressionJeffrey Wilcke2015-11-062-7/+4
|\ | | | | rpc/api: fix #1972 api regression (nil eth panic) in attach
| * rpc/api: fix #1972 api regression (nil eth panic) in attachPéter Szilágyi2015-11-062-7/+4
|/
* Merge pull request #1967 from karalabe/fix-filter-test-dataraceJeffrey Wilcke2015-11-061-12/+17
|\ | | | | event/filter: fix data race in the test
| * event/filter: fix data race in the testPéter Szilágyi2015-11-051-12/+17
| |
* | Merge pull request #1963 from karalabe/fix-database-regressionJeffrey Wilcke2015-11-061-18/+3
|\ \ | | | | | | eth: fix error casting regression during database open
| * | eth: fix error casting regression during database openPéter Szilágyi2015-11-051-18/+3
| | |
* | | Merge pull request #1966 from karalabe/fix-recover-noparam-panicFelix Lange2015-11-051-2/+2
|\ \ \ | | | | | | | | cmd/geth: fix recover command crash if no param is supplied
| * | | cmd/geth: fix recover command crash if no param is suppliedPéter Szilágyi2015-11-051-2/+2
| | |/ | |/|
* | | Merge pull request #1969 from karalabe/fix-whisper-tests-dataraceFelix Lange2015-11-051-2/+11
|\ \ \ | | | | | | | | whisper: fix datarace in expiration test
| * | | whisper: fix datarace in expiration testPéter Szilágyi2015-11-051-2/+11
| |/ /
* | | Merge pull request #1965 from karalabe/fix-natto-testFelix Lange2015-11-051-1/+1
|\ \ \ | | | | | | | | jsre: fix #1876, sleep too short on a slow test server
| * | | jsre: fix #1876, sleep too short on a slow test serverPéter Szilágyi2015-11-051-1/+1
| |/ /
* | | Merge pull request #1968 from karalabe/fix-json-tests-dataraceFelix Lange2015-11-051-2/+5
|\ \ \ | |/ / |/| | tests: fix data race in bad-block-report disabling during tests
| * | tests: fix data race in bad-block-report disabling during testsPéter Szilágyi2015-11-051-2/+5
|/ /
* | Merge pull request #1960 from karalabe/fix-peer-ignore-listJeffrey Wilcke2015-11-042-11/+46
|\ \ | |/ |/| eth/downloader: fix dysfunctional ignore list hidden by generic set
| * eth/downloader: fix dysfunctional ignore list hidden by generic setPéter Szilágyi2015-11-042-11/+46
| |
* | Merge pull request #1934 from karalabe/polish-protocol-infosJeffrey Wilcke2015-11-0411-85/+208
|\ \ | |/ |/| eth, p2p, rpc/api: polish protocol info gathering
| * eth, p2p, rpc/api: polish protocol info gatheringPéter Szilágyi2015-10-2811-85/+208
| |
* | Merge pull request #1943 from obscuren/abi-fixesJeffrey Wilcke2015-11-033-21/+80
|\ \ | | | | | | accounts/abi: ABI fixes & added types
| * | accounts/abi: ABI fixes & added typesJeffrey Wilcke2015-10-303-21/+80
| | | | | | | | | | | | | | | | | | | | | Changed field `input` to new `inputs`. Addad Hash and Address as input types. Added bytes[N] and N validation
* | | Merge pull request #1948 from bas-vk/rpcfixJeffrey Wilcke2015-11-032-7/+12
|\ \ \ | | | | | | | | Infinite loop in filters
| * | | rpc: return an unsupported error when "pending" was used to create a filterBas van Kervel2015-10-302-7/+12
| | | |
* | | | VERSION, cmd/geth: bumped version 1.4.0Jeffrey Wilcke2015-11-032-3/+3
| | | |
* | | | Merge pull request #1958 from fjl/secp256k1-pkgsrcFelix Lange2015-11-031-2/+2
|\ \ \ \ | | | | | | | | | | crypto/secp256k1: add C compiler flags for pkgsrc
| * | | | crypto/secp256k1: add C compiler flags for pkgsrcFelix Lange2015-11-031-2/+2
|/ / / / | | | | | | | | | | | | | | | | pkgsrc is a cross-platform package manager that also supports OS X.
* | | | Merge pull request #1954 from obscuren/regression-minerJeffrey Wilcke2015-11-011-5/+12
|\ \ \ \ | | | | | | | | | | miner: synchronise start / stop
| * | | | miner: synchronise start / stopJeffrey Wilcke2015-10-311-5/+12
|/ / / / | | | | | | | | | | | | | | | | | | | | This PR fixes an issue where the remote worker was stopped twice and not properly handled. This adds a synchronised running check to the start and stop methods preventing closing of a channel more than once.
* | | | Merge pull request #1952 from obscuren/testnet-peersJeffrey Wilcke2015-10-301-1/+2
|\ \ \ \ | | | | | | | | | | eth: added new testnet peers
| * | | | eth: added new testnet peersJeffrey Wilcke2015-10-301-1/+2
| |/ / /
* | | | Merge pull request #1949 from karalabe/update-command-usageJeffrey Wilcke2015-10-3020-1830/+585
|\ \ \ \ | | | | | | | | | | cmd/geth, cmd/utils, eth: group CLI flags by purpose
| * | | | cmd/geth, cmd/utils, eth: group CLI flags by purposePéter Szilágyi2015-10-3020-1830/+585
| | | | |
* | | | | Merge pull request #1951 from fjl/godeps-upgrade-goupnpJeffrey Wilcke2015-10-3016-2235/+10225
|\ \ \ \ \ | | | | | | | | | | | | Godeps: upgrade github.com/huin/goupnp
| * | | | | p2p/nat: add docs for discoverFelix Lange2015-10-301-0/+3
| | | | | |
| * | | | | Godeps: upgrade github.com/huin/goupnp to 90f71cb5Felix Lange2015-10-3016-2235/+10222
|/ / / / /
* | | | | Merge pull request #1946 from fjl/xeth-oomJeffrey Wilcke2015-10-309-157/+127
|\ \ \ \ \ | |/ / / / |/| | | | Fix for xeth OOM issue
| * | | | cmd/utils, rpc/comms: stop XEth when IPC connection endsFelix Lange2015-10-309-157/+127
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a bunch of changes required to make this work: - in miner: allow unregistering agents, fix RemoteAgent.Stop - in eth/filters: make FilterSystem.Stop not crash - in rpc/comms: move listen loop to platform-independent code Fixes #1930. I ran the shell loop there for a few minutes and didn't see any changes in the memory profile.
* | | | Merge pull request #1945 from bas-vk/rpcparsingJeffrey Wilcke2015-10-292-7/+18
|\ \ \ \ | | | | | | | | | | Argument parsing can lead to panic in rpc channel
| * | | | rpc: fixed params parsing problem which could lead to a panicBas van Kervel2015-10-292-7/+18
| |/ / / | | | | | | | | | | | | | | | | check argument type before parsing params recover from panic in ipc channel
* | | | Merge pull request #1939 from karalabe/fix-blocked-sync-goroutinesJeffrey Wilcke2015-10-293-15/+27
|\ \ \ \ | |/ / / |/| | | eth: don't block sync goroutines that short circuit
| * | | core: only reset head header/fastblock if stalePéter Szilágyi2015-10-281-11/+18
| | | |
| * | | eth: don't block sync goroutines that short circuitPéter Szilágyi2015-10-282-4/+9
| |/ /
* | | Merge pull request #1940 from wildfjre/lightkdfflagFelix Lange2015-10-297-22/+41
|\ \ \ | |/ / |/| | cmd/utils, crypto: add --lightkdf flag for lighter KDF
| * | cmd/utils, crypto: add --lightkdf flag for lighter KDFDrake Burroughs2015-10-297-22/+41
|/ /
* | Merge pull request #1937 from karalabe/make-ldflagsJeffrey Wilcke2015-10-281-10/+6
|\ \ | |/ |/| makefile: fix evm ld flags, pass them to xgo too
| * makefile: dump mist leftover, add phony targetsPéter Szilágyi2015-10-281-6/+1
| |
| * makefile: fix evm ld flags, pass them to xgo tooPéter Szilágyi2015-10-281-5/+6
|/
* Merge pull request #1919 from ethersphere/getnatspecJeffrey Wilcke2015-10-2814-120/+120
|\ | | | | rpc api: eth_getNatSpec
| * rpc api: eth_getNatSpeczelig2015-10-2714-120/+120
| | | | | | | | | | | | | | | | * xeth, rpc: implement eth_getNatSpec for tx confirmations * rename silly docserver -> httpclient * eth/backend: httpclient now accessible via eth.Ethereum init-d via config.DocRoot * cmd: introduce separate CLI flag for DocRoot (defaults to homedir) * common/path: delete unused assetpath func, separate HomeDir func
* | Merge pull request #1932 from fjl/gpo-defootgunizeJeffrey Wilcke2015-10-282-73/+75
|\ \ | | | | | | eth, xeth: fix GasPriceOracle goroutine leak
| * | eth, xeth: fix GasPriceOracle goroutine leakFelix Lange2015-10-282-73/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XEth.gpo was being initialized as needed. WithState copies the XEth struct including the gpo field. If gpo was nil at the time of the copy and Call or Transact were invoked on it, an additional GPO listenLoop would be spawned. Move the lazy initialization to GasPriceOracle instead so the same GPO instance is shared among all created XEths. Fixes #1317 Might help with #1930
* | | update Dockerfile, remove supervisord and unattended-upgradescaktux2015-10-272-35/+2
| |/ |/|
* | bump VERSION to 1.3.0caktux2015-10-261-1/+1
| |
* | Merge pull request #1928 from Gustav-Simonsson/common_testsJeffrey Wilcke2015-10-2526-4809/+21810
|\ \ | | | | | | tests: update JSON files, add new wrappers
| * | tests: update JSON files, add new wrappersGustav Simonsson2015-10-2326-4809/+21810
| |/
* | Merge pull request #1924 from fjl/eth-status-timeoutJeffrey Wilcke2015-10-241-9/+27
|\ \ | | | | | | eth: time out status message exchange after 5s
| * | eth: time out status message exchange after 5sFelix Lange2015-10-231-9/+27
| |/
* | Merge pull request #1929 from ethersphere/developJeffrey Wilcke2015-10-241-1/+1
|\ \ | |/ |/| fix console history, lines with leadning whitespace NOT included
| * fix console history, lines with leadning whitespace NOT includedzelig2015-10-241-1/+1
|/
* Merge pull request #1922 from karalabe/fix-receipt-storage-regressionJeffrey Wilcke2015-10-231-3/+2
|\ | | | | core: fix #1921, decode all receipt field, not just consensus
| * core: fix #1921, decode all receipt field, not just consensusPéter Szilágyi2015-10-221-3/+2
| |
* | Merge pull request #1840 from ethersphere/consoleJeffrey Wilcke2015-10-2318-151/+347
|\ \ | |/ |/| console, cli, api fixes
| * console:zelig2015-10-2218-151/+347
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lines with leading space are ommitted from history * exit processed even with whitespace around * all whitespace lines (not only empty ones) are ignored add 7 missing commands to admin api autocomplete registrar: methods now return proper error if reg addresses are not set. fixes #1457 rpc/console: fix personal.newAccount() regression. Now all comms accept interactive password registrar: add registrar tests for errors crypto: catch AES decryption error on presale wallet import + fix error msg format. fixes #1580 CLI: improve error message when starting a second instance of geth. fixes #1564 cli/accounts: unlock multiple accounts. fixes #1785 * make unlocking multiple accounts work with inline <() fd * passwdfile now correctly read only once * improve logs * fix CLI help text for unlocking fix regression with docRoot / admin API * docRoot/jspath passed to rpc/api ParseApis, which passes onto adminApi * docRoot field for JS console in order to pass when RPC is (re)started * improve flag desc for jspath common/docserver: catch http errors from response fix rpc/api tests common/natspec: fix end to end test (skipped because takes 8s) registrar: fix major regression: * deploy registrars on frontier * register HashsReg and UrlHint in GlobalRegistrar. * set all 3 contract addresses in code * zero out addresses first in tests
* Merge pull request #1883 from obscuren/jit-vm-optimisationsJeffrey Wilcke2015-10-2211-83/+472
|\ | | | | core/vm: JIT segmentation
| * core/vm: added parsing utilitiesJeffrey Wilcke2015-10-174-3/+180
| |
| * core/vm: added JIT segmenting / optimisationsJeffrey Wilcke2015-10-179-5/+205
| | | | | | | | | | * multi-push segments * static jumps segments
| * core/vm: abstracted instruction execution away from JITJeffrey Wilcke2015-10-172-76/+88
| | | | | | | | | | | | Moved the execution of instructions to the instruction it self. This will allow for specialised instructions (e.g. segments) to be execution in the same manner as regular instructions.
* | Merge pull request #1889 from karalabe/fast-sync-rebaseJeffrey Wilcke2015-10-2253-1777/+5022
|\ \ | | | | | | eth/63 fast synchronization algorithm
| * | core, eth, trie: fix data races and merge/review issuesPéter Szilágyi2015-10-2127-465/+765
| | |
| * | eth: clean out light node notions from ethPéter Szilágyi2015-10-199-106/+39
| | |
| * | core, eth: roll back uncertain headers in failed fast syncsPéter Szilágyi2015-10-196-15/+180
| | |
| * | eth/downloader: concurrent receipt and state processingPéter Szilágyi2015-10-1915-259/+516
| | |
| * | core, eth, trie: direct state trie synchronizationPéter Szilágyi2015-10-1913-463/+1626
| | |
| * | core, eth: receipt chain reconstructionPéter Szilágyi2015-10-1922-230/+613
| | |
| * | core: differentiate receipt concensus and storage decodingPéter Szilágyi2015-10-199-77/+110
| | |
| * | core: fix block canonical mark / content write racePéter Szilágyi2015-10-191-20/+11
| | |
| * | eth/downloader: add fast and light sync strategiesPéter Szilágyi2015-10-1911-809/+1437
| | |
| * | core: support inserting pure header chainsPéter Szilágyi2015-10-199-346/+651
| | |
| * | cmd, eth: support switching client modes of operationPéter Szilágyi2015-10-198-35/+122
| |/
* | Merge pull request #1918 from obscuren/get-hash-fixJeffrey Wilcke2015-10-213-10/+10
|\ \ | | | | | | core, tests: get_hash fix
| * | core, tests: get_hash fixJeffrey Wilcke2015-10-213-10/+10
|/ / | | | | | | | | Make sure that we're fetching the hash from the current chain and not the canonical chain.
* | Merge pull request #1758 from fjl/coinbaseJeffrey Wilcke2015-10-2010-142/+92
|\ \ | |/ |/| core, core/state: move gas tracking out of core/state
| * core, core/state: move gas tracking out of core/stateFelix Lange2015-10-1710-142/+92
|/ | | | | | | 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.
* Merge pull request #1899 from obscuren/mipmap-bloomJeffrey Wilcke2015-10-1714-123/+729
|\ | | | | core, eth/filters, miner, xeth: Optimised log filtering
| * core, eth/filters, miner, xeth: Optimised log filteringJeffrey Wilcke2015-10-1714-134/+647
| | | | | | | | | | | | | | 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.
| * eth/filters: added benchmarkJeffrey Wilcke2015-10-163-7/+100
| |
* | Merge pull request #1907 from Gustav-Simonsson/ethash_godepJeffrey Wilcke2015-10-164-2/+53
|\ \ | | | | | | godeps: update ethash following GPU miner merge
| * | godeps: update ethash following GPU miner mergeGustav Simonsson2015-10-164-2/+53
|/ /
* | Merge pull request #1869 from Gustav-Simonsson/gpu_minerJeffrey Wilcke2015-10-1642-42/+6764
|\ \ | | | | | | all: Add GPU mining, disabled by default
| * | all: Add GPU mining, disabled by defaultGustav Simonsson2015-10-0742-42/+6764
| | |
* | | Merge pull request #1881 from Gustav-Simonsson/state_new_errorJeffrey Wilcke2015-10-1623-95/+182
|\ \ \ | | | | | | | | core/state, core, miner: handle missing root error from state.New
| * | | core/state, core, miner: handle missing root error from state.NewGustav Simonsson2015-10-1623-95/+182
|/ / /
* | | Merge pull request #1853 from Gustav-Simonsson/libsecp256k1_updateJeffrey Wilcke2015-10-1689-3022/+6536
|\ \ \ | |_|/ |/| | Update libsecp256k1, Go wrapper and tests
| * | core/secp256k1: update libsecp256k1 Go wrapper and testsGustav Simonsson2015-10-093-249/+256
| | |
| * | Update libsecp256k1Gustav Simonsson2015-09-2886-2773/+6280
| | |
* | | Merge pull request #1898 from karalabe/eventmux-post-raceJeffrey Wilcke2015-10-1611-94/+123
|\ \ \ | | | | | | | | core, eth, event, miner, xeth: fix event post / subscription race
| * | | core, eth, event, miner, xeth: fix event post / subscription racePéter Szilágyi2015-10-1211-94/+123
| | | |
* | | | Merge pull request #1887 from Gustav-Simonsson/icapJeffrey Wilcke2015-10-165-0/+314
|\ \ \ \ | | | | | | | | | | common, crypto: add ICAP functions
| * | | | common, crypto: add ICAP functionsGustav Simonsson2015-10-135-0/+314
| | | | |
* | | | | Merge pull request #1896 from karalabe/fix-vm-stack-logsJeffrey Wilcke2015-10-121-3/+4
|\ \ \ \ \ | |_|/ / / |/| | | | core/vm: copy stack element to prevent overwrites
| * | | | core/vm: copy stack element to prevent overwritesPéter Szilágyi2015-10-121-3/+4
|/ / / /