aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* accounts/abi: added output parsing & added call mechanismJeffrey Wilcke2015-11-256-88/+243
| | | | Added calling mechanism and return value parsing
* 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
|/ / / /
* | | | Merge pull request #1888 from obscuren/testnetJeffrey Wilcke2015-10-095-1/+62
|\ \ \ \ | | | | | | | | | | cmd, core, eth: added official testnet
| * | | | cmd, core, eth: added official testnetJeffrey Wilcke2015-10-095-1/+62
| |/ / /
* | | | Merge pull request #1885 from karalabe/olympic-fixJeffrey Wilcke2015-10-093-17/+17
|\ \ \ \ | | | | | | | | | | cmd: properly initialize Olympic for all subcommands
| * | | | cmd: properly initialize Olympic for all subcommandsPéter Szilágyi2015-10-073-17/+17
| | | | |
* | | | | Merge pull request #1880 from Gustav-Simonsson/core_transferJeffrey Wilcke2015-10-096-19/+10
|\ \ \ \ \ | | | | | | | | | | | | core, core/vm, cmd/evm: remove redundant balance check
| * | | | | core, core/vm, cmd/evm: remove redundant balance checkGustav Simonsson2015-10-066-19/+10
| | |/ / / | |/| | |
* | | | | Merge pull request #1833 from Gustav-Simonsson/crypto_testsJeffrey Wilcke2015-10-092-27/+169
|\ \ \ \ \ | |_|/ / / |/| | | | crypto: correct sig validation, add missing unit tests of exported functions
| * | | | crypto: correct sig validation, add more unit testsGustav Simonsson2015-09-222-27/+169
| | | | |
* | | | | Merge pull request #1851 from bas-vk/historyfileJeffrey Wilcke2015-10-072-11/+7
|\ \ \ \ \ | | | | | | | | | | | | console/history respect datadir
| * | | | | console/history respect datadirBas van Kervel2015-09-252-11/+7
| | | | | |
* | | | | | Merge pull request #1850 from karalabe/genesis-block-receiptsJeffrey Wilcke2015-10-071-0/+3
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | core: fix #1848, block receipts db entry for the genesis too
| * | | | | core: fix #1848, block receipts db entry for the genesis tooPéter Szilágyi2015-09-251-0/+3
| |/ / / /
* | | | | Merge pull request #1879 from obscuren/versioningJeffrey Wilcke2015-10-061-2/+2
|\ \ \ \ \ | | | | | | | | | | | | cmd/geth: dev version number
| * | | | | cmd/geth: dev version numberJeffrey Wilcke2015-10-061-2/+2
| | | | | |
* | | | | | Merge pull request #1877 from obscuren/head-writeJeffrey Wilcke2015-10-062-0/+16
|\ \ \ \ \ \ | |/ / / / / |/| | | | | core: fixed head write on block insertion
| * | | | | core: fixed head write on block insertionJeffrey Wilcke2015-10-052-0/+16
|/ / / / / | | | | | | | | | | | | | | | | | | | | Due to a rebase this probably got overlooked / ignored. This fixes the issue of a block insertion never writing the last block.
* | | | | Merge pull request #1756 from obscuren/core-refactorJeffrey Wilcke2015-10-0562-1501/+1354
|\ \ \ \ \ | |_|_|_|/ |/| | | | core, core/vm: refactor
| * | | | cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-0435-302/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
| * | | | cmd/evm, core/vm, test: refactored VM and coreJeffrey Wilcke2015-10-0439-1062/+946
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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, event/filter, xeth: refactored filter systemJeffrey Wilcke2015-10-034-158/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moved the filtering system from `event` to `eth/filters` package and removed the `core.Filter` object. The `filters.Filter` object now requires a `common.Database` rather than a `eth.Backend` and invokes the `core.GetBlockByX` directly rather than thru a "manager".
* | | | | Merge pull request #1866 from karalabe/honor-eth-capabilitiesJeffrey Wilcke2015-10-023-8/+53
|\ \ \ \ \ | |/ / / / |/| | | | eth/downloader: match capabilities when querying idle peers
| * | | | eth/downloader: match capabilities when querying idle peersPéter Szilágyi2015-10-023-8/+53
| | | | |
* | | | | Merge pull request #1865 from obscuren/deadlock-chainmanager-fixJeffrey Wilcke2015-10-021-1/+3
|\ \ \ \ \ | |/ / / / |/| | | | core: deadlock in chainmanager after posting RemovedTransactionEvent
| * | | | core: deadlock in chainmanager after posting RemovedTransactionEventJeffrey Wilcke2015-10-021-1/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR solves an issue with the chain manager posting a `RemovedTransactionEvent`, the tx pool will try to acquire the chainmanager lock which has previously been locked prior to posting `RemovedTransactionEvent`. This results in a deadlock in the core.
* | | | Merge pull request #1405 from fjl/lean-trieJeffrey Wilcke2015-10-0130-1059/+1515
|\ \ \ \ | | | | | | | | | | core, trie: new trie
| * | | | trie: add merkle proof functionsFelix Lange2015-09-232-0/+261
| | | | |
| * | | | core, core/state: batch-based state syncFelix Lange2015-09-2310-90/+90
| | | | |
| * | | | core, trie: new trieFelix Lange2015-09-2320-953/+1110
| | | | |
| * | | | trie: improve benchmarksFelix Lange2015-09-231-34/+72
| | | | |
* | | | | Merge pull request #1856 from karalabe/andorid-path-fixJeffrey Wilcke2015-10-013-21/+41
|\ \ \ \ \ | | | | | | | | | | | | common: fix #1818, secondary datadir paths to fall back to
| * | | | | common: fix #1818, secondary datadir paths to fall back toPéter Szilágyi2015-10-013-21/+41
| | | | | |
* | | | | | Merge pull request #1859 from fjl/fix-discover-refresh-raceJeffrey Wilcke2015-09-306-183/+199
|\ \ \ \ \ \ | | | | | | | | | | | | | | p2p/discover: fix race involving the seed node iterator
| * | | | | | p2p/discover: ignore packet version numbersFelix Lange2015-09-302-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The strict matching can get in the way of protocol upgrades.
| * | | | | | p2p/discover: remove unused lastLookup fieldFelix Lange2015-09-301-6/+1
| | | | | | |
| * | | | | | p2p/discover: fix race involving the seed node iteratorFelix Lange2015-09-305-172/+198
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nodeDB.querySeeds was not safe for concurrent use but could be called concurrenty on multiple goroutines in the following case: - the table was empty - a timed refresh started - a lookup was started and initiated refresh These conditions are unlikely to coincide during normal use, but are much more likely to occur all at once when the user's machine just woke from sleep. The root cause of the issue is that querySeeds reused the same leveldb iterator until it was exhausted. This commit moves the refresh scheduling logic into its own goroutine (so only one refresh is ever active) and changes querySeeds to not use a persistent iterator. The seed node selection is now more random and ignores nodes that have not been contacted in the last 5 days.
* | | | | | Merge pull request #1852 from obscuren/filter-nil-fixJeffrey Wilcke2015-09-301-12/+34
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | xeth: fixed nil pointer of filter retrieval
| * | | | | xeth: fixed nil pointer of filter retrievalJeffrey Wilcke2015-09-251-12/+34
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fix addresses an issue with filters that were (possibly) not yet added to the filter queues but were expected. I've added additional nil checks making sure it doesn't crash and swapped the installation of the filter around so it's installed before use. Closes #1665
* | | | | Merge pull request #1854 from karalabe/badhasherror-formatting-loopJeffrey Wilcke2015-09-291-1/+1
|\ \ \ \ \ | |_|/ / / |/| | | | core: fix a formatting loop in BadHashError
| * | | | core: fix a formatting loop in BadHashErrorPéter Szilágyi2015-09-291-1/+1
|/ / / /
* | | | Merge pull request #1843 from karalabe/cleanup-downloader-channelJeffrey Wilcke2015-09-251-20/+36
|\ \ \ \ | |_|/ / |/| | | eth/downloader: always send termination wakes, clean leftover
| * | | eth/downloader: always send termination wakes, clean leftoverPéter Szilágyi2015-09-231-20/+36
| | | |
* | | | Merge pull request #1803 from Gustav-Simonsson/badhashesJeffrey Wilcke2015-09-243-2/+66
|\ \ \ \ | | | | | | | | | | core: Add BadHashErr and test for BadHashes handling
| * | | | core: Add BadHashErr and test for BadHashes handlingGustav Simonsson2015-09-233-2/+66
|/ / / /
* | | | Merge pull request #1844 from obscuren/version-fileJeffrey Wilcke2015-09-231-0/+1
|\ \ \ \ | | | | | | | | | | VERSION: added version
| * | | | VERSION: added versionJeffrey Wilcke2015-09-231-0/+1
| | |/ / | |/| |
* | | | Merge pull request #1842 from fjl/rpc-fix-unknown-blockFelix Lange2015-09-233-31/+24
|\ \ \ \ | |_|/ / |/| | | rpc/api: don't crash for unknown blocks
| * | | rpc/api: don't crash for unknown blocksFelix Lange2015-09-231-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most eth RPC calls that work with blocks crashed when the block was not found because they called Hash on a nil block. This is a regression introduced in cdc2662c409 (#1779). While here, remove the insane conversions in get*CountBy*. There is no need to construct a complete BlockRes and converting int->int64->*big.Int->[]byte->hexnum->string to format the length of a slice as hex.
| * | | cmd/geth, core: make "geth blocktest" work againFelix Lange2015-09-232-6/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The test genesis block was not written properly, block insertion failed immediately. While here, fix the panic when shutting down "geth blocktest" with Ctrl+C. The signal handler is now installed automatically, causing ethereum.Stop to crash because everything is already stopped.
* | | Merge pull request #1827 from Gustav-Simonsson/common_testsJeffrey Wilcke2015-09-233-1/+6807
|\ \ \ | |/ / |/| | tests: add test for StateTests/stCallCodes.json
| * | tests: add test for StateTests/stCallCodes.jsonGustav Simonsson2015-09-213-1/+6807
| |/
* | Merge pull request #1835 from karalabe/make-crossJeffrey Wilcke2015-09-221-0/+27
|\ \ | | | | | | makefile: built in cross compilation targets
| * | makefile: built in cross compilation targetsPéter Szilágyi2015-09-221-0/+27
| | |
* | | Merge pull request #1669 from obscuren/tx-pool-auto-resendJeffrey Wilcke2015-09-2213-57/+231
|\ \ \ | |/ / |/| | core, xeth: chain reorg move missing transactions to transaction pool
| * | core, core/types: readd transactions after chain re-orgJeffrey Wilcke2015-09-2213-57/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a `Difference` method to `types.Transactions` which sets the receiver to the difference of a to b (NOTE: not a **and** b). Transaction pool subscribes to RemovedTransactionEvent adding back to those potential missing from the chain. When a chain re-org occurs remove any transactions that were removed from the canonical chain during the re-org as well as the receipts that were generated in the process. Closes #1746
* | | cmd/geth: changed version number to 1.2.0Jeffrey Wilcke2015-09-211-2/+2
|/ / | | | | Changed the version number of geth to 1.2.0 so that dev builds are now properly build (instead of master). Note to self; increase version number to 1.2.1 for our next actual release.
* | Merge pull request #1822 from karalabe/contain-powJeffrey Wilcke2015-09-214-62/+327
|\ \ | |/ |/| core: separate and contain POW verifier, extensive tests
| * core: separate and contain POW verifier, extensive testsPéter Szilágyi2015-09-214-62/+327
|/
* Merge pull request #1814 from Gustav-Simonsson/common_testsJeffrey Wilcke2015-09-198-439/+13127
|\ | | | | tests: update common test wrappers and test files
| * tests: use lastblockhash field to validate reorgs and block headersGustav Simonsson2015-09-182-48/+58
| |
| * tests: update common test wrappers and test filesGustav Simonsson2015-09-187-424/+13102
| |
* | Merge pull request #1817 from obscuren/nonce-fixJeffrey Wilcke2015-09-192-2/+21
|\ \ | |/ |/| core: transaction nonce recovery
| * core: transaction nonce recovery fixJeffrey Wilcke2015-09-182-2/+21
| | | | | | | | | | | | | | | | When the transaction state recovery kicked in it assigned the last (incorrect) nonce to the pending state which caused transactions with the same nonce to occur. Added test for nonce recovery
* | Merge pull request #1815 from karalabe/chain-maker-timerFelix Lange2015-09-181-0/+11
|\ \ | | | | | | core: allow modifying test-chain block times
| * | core: allow modifying test-chain block timesPéter Szilágyi2015-09-171-0/+11
| | |
* | | Merge pull request #1793 from jeffallen/typoFelix Lange2015-09-181-18/+19
|\ \ \ | | | | | | | | common: Update README.md for the current package name
| * | | common: Update README.md for the current package nameJeff R. Allen2015-09-111-18/+19
| | | |
* | | | Merge pull request #1813 from kobigurk/developFelix Lange2015-09-181-1/+3
|\ \ \ \ | | | | | | | | | | cmd/geth: extradata is correcly initialized with console
| * | | | cmd/geth: extradata is correcly initialized with consoleKobi Gurkan2015-09-171-1/+3
| | |_|/ | |/| |
* | | | Merge pull request #1811 from bas-vk/timer-clearintervalFelix Lange2015-09-181-1/+3
|\ \ \ \ | |_|_|/ |/| | | timer bugfix when clearInterval was called from within the callback
| * | | jsre: timer bugfix when clearInterval was called from within the callbackBas van Kervel2015-09-161-1/+3
| | | |
* | | | Merge pull request #1810 from karalabe/pure-header-verifications-2Jeffrey Wilcke2015-09-174-28/+26
|\ \ \ \ | |_|/ / |/| | | core, eth, miner: use pure header validation
| * | | core, eth, miner: use pure header validationPéter Szilágyi2015-09-164-28/+26
| |/ /
* | | Merge pull request #1801 from fjl/ethdbJeffrey Wilcke2015-09-1626-125/+142
|\ \ \ | | | | | | | | all: move common.Database to ethdb and add NewBatch
| * | | ethdb: remove FlushFelix Lange2015-09-154-51/+10
| | | |
| * | | ethdb: copy stored memdb valuesFelix Lange2015-09-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Storing a value in LevelDB copies the bytes, modifying the value afterwards does not affect the content of the database. This commit ensures that MemDatabase satisfies the same property.
| * | | ethdb: add NewBatchFelix Lange2015-09-153-0/+49
| | | |
| * | | all: move common.Database to package ethdbFelix Lange2015-09-1524-75/+85
| | | |
* | | | Merge pull request #1784 from karalabe/standard-sync-statsJeffrey Wilcke2015-09-168-251/+1174
|\ \ \ \ | |_|/ / |/| | | eth, rpc: standardize the chain sync progress counters
| * | | jsre, rpc/api: pull in new web3 and use hex numbersPéter Szilágyi2015-09-153-187/+612
| | | |
| * | | eth/downloader: header-chain order and ancestry checkPéter Szilágyi2015-09-153-7/+77
| | | |
| * | | eth, rpc: standardize the chain sync progress countersPéter Szilágyi2015-09-157-68/+496
| | | |
* | | | Merge pull request #1744 from kobigurk/developJeffrey Wilcke2015-09-161-1/+15
|\ \ \ \ | | | | | | | | | | adds extradata flag
| * | | | cmd/geth: adds extradata flagKobi Gurkan2015-09-161-1/+15
|/ / / /
* | | | Merge pull request #1806 from ethersphere/solc2Jeffrey Wilcke2015-09-152-14/+14
|\ \ \ \ | |/ / / |/| | | new solc api - late fixes
| * | | new solc api:zelig2015-09-152-14/+14
|/ / / | | | | | | | | | | | | | | | * use legacy version matcher * optimise just a boolean flag * skipf for messages in tests
* | | Merge pull request #1786 from ethersphere/solcFelix Lange2015-09-152-23/+49
|\ \ \ | | | | | | | | common/compiler: new solc API
| * | | Solidity Compiler - solc new APIzelig2015-09-122-23/+49
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | * adapt to new compiler versioning * use compiler version as language version * implement new solc API for versions >= 0.1.[2-9][0-9]* fixes #1770 * add optimize=1 to options * backward compatibility (for now) for <= 0.1.1, and old versions (0.[2-9][0-9]*.[0-9]+) * introduce compilerOptions to ContractInfo * clean up flair, include full version string to version line and ContractInfo
* | | Merge pull request #1797 from karalabe/ensure-ipcpath-existsFelix Lange2015-09-141-1/+6
|\ \ \ | | | | | | | | rpc/comms: fix #1795, ensure IPC path exists before binding
| * | | rpc/comms: fix #1795, ensure IPC path exists before bindingPéter Szilágyi2015-09-111-1/+6
| | | |
* | | | Merge pull request #1792 from jeffallen/uuidFelix Lange2015-09-1421-16/+237
|\ \ \ \ | |_|/ / |/| | | Change go-uuid to use the current supported repository.
| * | | Change go-uuid to use the current supported repository.Jeff R. Allen2015-09-1221-16/+237
| | |/ | |/|
* | | Merge pull request #1789 from Gustav-Simonsson/core_remove_unused_functionsJeffrey Wilcke2015-09-126-281/+0
|\ \ \ | | | | | | | | core, core/vm, core/state: remove unused functions
| * | | core, core/vm, core/state: remove unused functionsGustav Simonsson2015-09-116-281/+0
| |/ /
* | | Merge pull request #1796 from karalabe/ethash-android-supportJeffrey Wilcke2015-09-126-3/+4
|\ \ \ | | | | | | | | godeps: pull in ethash android fix
| * | | godeps: pull in ethash android fixPéter Szilágyi2015-09-116-3/+4
| | |/ | |/|
* | | Merge pull request #1779 from karalabe/split-block-storage-3000Jeffrey Wilcke2015-09-1118-381/+881
|\ \ \ | |/ / |/| | core: split the db blocks into components, move TD out top level
| * | core: split out TD from database and all internalsPéter Szilágyi2015-09-1119-294/+590
| | |
| * | core, eth: split the db blocks into headers and bodiesPéter Szilágyi2015-09-119-226/+430
|/ /
* | Merge pull request #1773 from obscuren/dev-modeFelix Lange2015-09-113-7/+42
|\ \ | | | | | | cmd/geth, cmd/utils, eth: added dev mode flag
| * | cmd/geth, cmd/utils, eth: added dev mode flagJeffrey Wilcke2015-09-093-7/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dev mode enabled some debugging flags such as: * VM debugging mode * Simpler proof of work * Whisper enabled by default * Datadir to a tmp datadir * Maxpeers set to 0 * Gas price of 0 * Random listen port
* | | Merge pull request #1778 from fjl/rlp-trie-changesJeffrey Wilcke2015-09-116-11/+413
|\ \ \ | |_|/ |/| | rlp: precursor changes for trie, p2p
| * | rlp: move ListSize to raw.goFelix Lange2015-09-112-6/+6
| | |
| * | rlp: add RawValueFelix Lange2015-09-115-1/+39
| | |
| * | rlp: add Split functionsFelix Lange2015-09-113-1/+337
| | | | | | | | | | | | | | | These functions allow destructuring of raw rlp-encoded bytes without the overhead of reflection or copying.
| * | rlp: fix encReader returning nil buffers to the poolFelix Lange2015-09-112-4/+32
| |/ | | | | | | | | | | The bug can cause crashes if Read is called after EOF has been returned. No code performs such calls right now, but hitting the bug gets more likely as rlp.EncodeToReader gets used in more places.
* | Merge pull request #1781 from Gustav-Simonsson/state_object_copyFelix Lange2015-09-102-0/+105
|\ \ | | | | | | core/state: deleted field in StateObject Copy() and unit test
| * | core/state: test formatting adhering to Go conventionGustav Simonsson2015-09-091-17/+17
| | |
| * | core/state: deleted field in StateObject Copy() and unit testGustav Simonsson2015-09-082-0/+105
| | |
* | | Merge pull request #1780 from bas-vk/miner-crashJeffrey Wilcke2015-09-091-1/+9
|\ \ \ | |/ / |/| | agent/miner Prevent the CpuAgent to be started multiple times
| * | put unlock after lockBas van Kervel2015-09-081-5/+3
| | |
| * | agent/miner Prevent the CpuAgent to be started multiple timesBas van Kervel2015-09-081-2/+12
| |/
* | Merge pull request #1777 from hectorchu/developPéter Szilágyi2015-09-081-2/+2
|\ \ | | | | | | rpc/comms: fix bug attaching the console over http
| * | rpc/comms: fix bug attaching the console over httpHector Chu2015-09-071-2/+2
| |/
* | Merge pull request #1774 from bas-vk/console-crashPéter Szilágyi2015-09-081-1/+1
|\ \ | |/ |/| cmd/geth Autocompletion bugfix which let the console crash
| * cmd/geth Autocompletion bugfix which let the console crashBas van Kervel2015-09-061-1/+1
|/
* Merge pull request #1752 from karalabe/fix-eth61-testFelix Lange2015-09-031-1/+3
|\ | | | | eth/downloader: fix race causing occasional test failure
| * eth/downloader: fix race causing occasional test failurePéter Szilágyi2015-09-011-1/+3
| |
* | Merge pull request #1764 from kobigurk/honor_ipc_datadirPéter Szilágyi2015-09-031-1/+1
|\ \ | | | | | | honors datadir when attaching