aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* core: make txpool operate on immutable statePéter Szilágyi2017-09-0510-307/+233
|
* core/vm: Make MaxCodesize non-retroactive (#15072)Martin Holst Swende2017-09-042-3/+1
| | | | | | * core/vm: Make max_codesize only applicable post Spurious Dragon/158/155/161/170 * tests: Remove expected failure
* core: Fix flaw where underpriced locals were removed (#15081)Martin Holst Swende2017-09-042-1/+62
| | | | | | * core: Fix flaw where underpriced locals were removed * core: minor code cleanups for tx pool tests
* core/vm: avoid state lookup during gas calc for call (#15061)Martin Holst Swende2017-09-041-1/+1
|
* p2p: change ping ticker to timer (#15071)Martin Holst Swende2017-09-041-1/+2
| | | | | | Using a Timer over Ticker seems to be a lot better, though I cannot fully account for why that it behaves so (since Ticker should be more bursty, but not necessarily more active over time, but that may depend on how long window it uses to decide on when to tick next)
* Merge pull request #15047 from holiman/ecmul_benchmarksPéter Szilágyi2017-08-281-0/+76
|\ | | | | core/vm: more benchmarks
| * core/vm: renamed struct member + go fmtMartin Holst Swende2017-08-281-71/+71
| |
| * core/vm: Fix testcase input for ecmulMartin Holst Swende2017-08-281-2/+2
| |
| * core/vm: more benchmarksMartin Holst Swende2017-08-271-0/+76
| |
* | Merge pull request #15054 from karalabe/go-1.9Péter Szilágyi2017-08-282-9/+21
|\ \ | |/ |/| travis, appveyor: bump Go to 1.9 stable
| * travis, appveyor: bump Go to 1.9 stablePéter Szilágyi2017-08-282-9/+21
| |
* | cmd/geth: fix --nousb typo (#15040)Oli Bye2017-08-251-1/+1
| |
* | Merge pull request #15039 from karalabe/metropolis-contract-clashPéter Szilágyi2017-08-255-11/+17
|\ \ | |/ |/| core, tests: implement Metropolis EIP 684
| * core, tests: implement Metropolis EIP 684Péter Szilágyi2017-08-255-11/+17
|/
* Merge pull request #15028 from karalabe/metropolis-iceagePéter Szilágyi2017-08-258-128/+49
|\ | | | | consensus, core, tests: implement Metropolis EIP 649
| * consensus, core, tests: implement Metropolis EIP 649Péter Szilágyi2017-08-248-128/+49
| |
* | Merge pull request #15033 from fjl/core-receipt-status-bytesPéter Szilágyi2017-08-252-83/+62
|\ \ | | | | | | core/types: encode receipt status in PostState field
| * | core/types: encode receipt status in PostState fieldFelix Lange2017-08-252-83/+62
|/ / | | | | | | | | | | | | This fixes a regression where the new Failed field in ReceiptForStorage rejected previously stored receipts. Fix it by removing the new field and store status in the PostState field. This also removes massive RLP hackery around the status field.
* | core/types: fix create indicator in Transaction.String (#15025)nkbai2017-08-241-1/+1
| |
* | core/state: revert metro suicide map addition (#15024)Péter Szilágyi2017-08-244-49/+28
| |
* | Merge pull request #15029 from karalabe/rlp-raw-decodePéter Szilágyi2017-08-242-11/+26
|\ \ | |/ |/| rlp: fix decoding long strings into RawValue types
| * rlp: fix decoding long strings into RawValue typesPéter Szilágyi2017-08-242-11/+26
|/
* Merge pull request #15014 from rjl493456442/metropolis-eip658Péter Szilágyi2017-08-2318-49/+86
|\ | | | | core: add status as a consensus field in receipt
| * core/types: reject Metro receipts with > 0x01 status bytesPéter Szilágyi2017-08-231-4/+11
| |
| * tests: pull in new test suite, enable most block testsPéter Szilágyi2017-08-222-3/+4
| |
| * core: implement Metropolis EIP 658, receipt status byterjl4934564422017-08-2216-46/+75
| |
* | cmd/evm, core/vm, internal/ethapi: Show error when exiting (#14985)Martin Holst Swende2017-08-234-9/+16
| | | | | | | | | | | | * cmd/evm, core/vm, internal/ethapi: Add 'err' to tracer interface CaptureEnd * cmd/evm: fix nullpointer when there is no error
* | Merge pull request #15000 from fjl/node-flockPéter Szilágyi2017-08-2310-24/+551
|\ \ | | | | | | node: fix instance dir locking and improve error message
| * | node: fix instance dir locking and improve error messageFelix Lange2017-08-1810-24/+551
| | | | | | | | | | | | | | | | | | The lock file was ineffective because opening leveldb storage in read-only mode doesn't really take the lock. Fix it by including a dedicated flock library (which is actually split out of goleveldb).
* | | Merge pull request #15018 from Bo-Ye/masterPéter Szilágyi2017-08-231-1/+1
|\ \ \ | | | | | | | | metrics: change MetricsEnabledFlag to be const
| * | | metrics: change MetricsEnabledFlag to be constBo Ye2017-08-221-1/+1
| | | |
* | | | Merge pull request #15022 from karalabe/enable-byzantium-state-testsPéter Szilágyi2017-08-221-2/+2
|\ \ \ \ | |_|_|/ |/| | | tests: enable Byzantium state tests for CI
| * | | tests: enable Byzantium state tests for CIPéter Szilágyi2017-08-221-2/+2
|/ / /
* / / core/vm: fix typo in method documentation (#15019)Ti Zhou2017-08-221-1/+1
|/ / | | | | Signed-off-by: Ti Zhou <tizhou1986@gmail.com>
* | Merge pull request #15017 from karalabe/usbhid-macos-thread-fixPéter Szilágyi2017-08-216-6/+25
|\ \ | | | | | | vendor: update USB HID lib (fix macOS crash)
| * | vendor: update USB HID lib (fix macOS crash)Péter Szilágyi2017-08-216-6/+25
| | |
* | | Dockerfile: use alpine:3.6, clean up apk incovation (#15006)George Angel2017-08-211-9/+7
|/ /
* | Merge pull request #14983 from karalabe/metropolis-revertPéter Szilágyi2017-08-218-42/+73
|\ \ | | | | | | core/vm: implement REVERT metropolis opcode
| * | tests: skip the bad tests from colliding account touchesPéter Szilágyi2017-08-171-0/+3
| | |
| * | core/vm: rework reversion to work on a higher levelPéter Szilágyi2017-08-176-45/+53
| | |
| * | core/vm: implement REVERT metropolis opcodeJeffrey Wilcke2017-08-164-1/+21
| | |
* | | whisper: Fix spelling and grammar in error (#15009)Noman2017-08-211-4/+4
| | | | | | | | | | | | | | | | | | * whisper: Fix spelling and grammar in error * whisper: Fix grammar in comments
* | | Merge pull request #15016 from gurrpi/patch-1Péter Szilágyi2017-08-211-1/+1
|\ \ \ | | | | | | | | README: add missing full stop
| * | | Adding period at end of sentencegurrpi2017-08-211-1/+1
|/ / / | | | | | | missing period at line 119
* | | core, light: send chain events using event.Feed (#14865)Miya Chen2017-08-1837-373/+787
| | |
* | | Merge pull request #14996 from markya0616/send_not_announcePéter Szilágyi2017-08-181-0/+1
|\ \ \ | | | | | | | | eth: send but not announce block to peers if propagate is true
| * | | eth: send but not announce block to peers if propagate is truemark.lin2017-08-181-0/+1
| | | |
* | | | Merge pull request #14999 from karalabe/puppeth-ethstats-blacklistPéter Szilágyi2017-08-183-7/+60
|\ \ \ \ | |_|_|/ |/| | | cmd/puppeth: support blacklisting malicious IPs on ethstats
| * | | cmd/puppeth: support blacklisting malicious IPs on ethstatsPéter Szilágyi2017-08-183-7/+60
|/ / /
* | | Merge pull request #14993 from karalabe/bn256-precompile-fixesPéter Szilágyi2017-08-174-16/+81
|\ \ \ | |_|/ |/| | core/vm, crypto/bn256: fix bn256 use and pairing corner case
| * | core/vm, crypto/bn256: fix bn256 use and pairing corner casePéter Szilágyi2017-08-174-16/+81
|/ /
* | Merge pull request #14981 from karalabe/metropolis-returndataPéter Szilágyi2017-08-169-194/+279
|\ \ | | | | | | core/vm: implement RETURNDATA metropolis opcodes
| * | tests: pull in latest tests from upstreamPéter Szilágyi2017-08-161-0/+0
| | |
| * | core/vm: polish RETURNDATA, add missing returns to CALL*Péter Szilágyi2017-08-167-72/+75
| | |
| * | core/vm: implement RETURNDATA metropolis opcodesJeffrey Wilcke2017-08-166-171/+253
|/ /
* | Merge pull request #14978 from karalabe/metropolis-staticcallPéter Szilágyi2017-08-167-22/+168
|\ \ | | | | | | core/vm: implement metropolis static call opcode
| * | core/vm: minor polishes, fix STATICCALL for precompilesPéter Szilágyi2017-08-152-37/+33
| | | | | | | | | | | | | | | | | | * Fix STATICCALL so it is able to call precompiles too * Fix write detection to use the correct value argument of CALL * Fix write protection to ignore the value in CALLCODE
| * | core/vm: implement metropolis static call opcodeJeffrey Wilcke2017-08-157-3/+153
| | |
* | | cmd/evm: add --receiver, support code from stdin (#14873)Martin Holst Swende2017-08-152-27/+39
|/ /
* | Merge pull request #14959 from karalabe/metropolis-precompilesPéter Szilágyi2017-08-157-147/+710
|\ \ | | | | | | core/vm: metropolis precompiles
| * | core/vm: optimize copy-less data retrievalsPéter Szilágyi2017-08-144-54/+75
| | |
| * | core/vm: benchmarking of metro precompilesMartin Holst Swende2017-08-142-206/+341
| | |
| * | core/vm: polish precompile contract code, add tests and benchesPéter Szilágyi2017-08-145-204/+371
| | | | | | | | | | | | | | | * Update modexp gas calculation to new version * Fix modexp modulo 0 special case to return zero
| * | core: add Metropolis pre-compiles (EIP 197, 198 and 213)Jeffrey Wilcke2017-08-113-2/+242
| | |
* | | Merge pull request #14951 from egonelbre/megacheck_swarmPéter Szilágyi2017-08-1518-108/+39
|\ \ \ | | | | | | | | swarm: fix megacheck warnings
| * | | swarm: fix megacheck warningsEgon Elbre2017-08-1418-108/+39
| |/ /
* | | Merge pull request #14885 from karalabe/trezor-boomPéter Szilágyi2017-08-1441-1018/+17523
|\ \ \ | |/ / |/| | accounts, console, internal: support trezor hardware wallet
| * | console: use keypad based pinpad (Trezor request)Péter Szilágyi2017-08-141-8/+3
| | |
| * | accounts: refactor API for generalized USB walletsPéter Szilágyi2017-08-0913-1965/+1450
| | |
| * | accounts, console, internal: support trezor hardware walletPéter Szilágyi2017-08-0938-38/+17063
| | |
* | | Merge pull request #14964 from fjl/tests-update-2Péter Szilágyi2017-08-116-84/+110
|\ \ \ | | | | | | | | tests: update tests, use blockchain test "network" field
| * | | tests: update tests, use blockchain test "network" fieldFelix Lange2017-08-116-84/+110
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Blockchain tests now include the "network" which determines the chain config to use. Remove config matching based on test name and share the name-to-config index with state tests. Byzantium/Constantinople tests are still skipped because most of them fail anyway.
* | | core/vm/runtime: remove unused state parameter to NewEnv (#14953)Joel Burget2017-08-112-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | * core: Remove unused `state` parameter to `NewEnv`. `cfg.State` is used instead. * core/vm/runtime: remove unused import
* | | cmd/geth, cmd/swarm: sort commands and flags by name (#3462)Maximilian Meister2017-08-1113-56/+197
| | |
* | | ethdb: return copied value from MemDatabase.Get (#14958)gary rong2017-08-112-1/+16
|/ /
* | eth/downloader: fix race in downloadTesterPeer (#14942)Ivan Daniluk2017-08-091-7/+25
| | | | | | | | | | | | | | | | * eth/downloader: fix race in downloadTesterPeer Signed-off-by: Ivan Daniluk <ivan.daniluk@gmail.com> * eth/downloader: minor datarace fix cleanup
* | contracts: fix megacheck errors (#14916)Egon Elbre2017-08-092-11/+7
| | | | | | | | | | | | * contracts: fix megacheck errors * contracts: drop useless sleep, lets see what breaks
* | les: fix megacheck warnings (#14941)Felföldi Zsolt2017-08-098-96/+6
| | | | | | | | | | | | * les: fix megacheck warnings * les: fixed testGetProofs
* | whisper: fix megacheck warnings (#14925)Egon Elbre2017-08-089-20/+18
| | | | | | | | | | | | * whisper: fix megacheck warnings * whisper/whisperv5: regenerate json codec to fix unused override type
* | Merge pull request #14522 from ethereum/go-ethereum/chainproc2Felix Lange2017-08-082-0/+630
|\ \
| * | core: polish chain indexer a bitPéter Szilágyi2017-08-072-302/+403
| | |
| * | core: implement ChainIndexerZsolt Felfoldi2017-08-072-0/+529
| | |
* | | crypto: fix megacheck warnings (#14917)Egon Elbre2017-08-086-870/+19
| | | | | | | | | | | | | | | | | | * crypto: fix megacheck warnings * crypto/ecies: remove ASN.1 support
* | | Merge pull request #14940 from karalabe/txpool-racesPéter Szilágyi2017-08-082-30/+43
|\ \ \ | | | | | | | | core: fix txpool journal and test races
| * | | core: fix txpool journal and test racesPéter Szilágyi2017-08-082-30/+43
| | | |
* | | | ethdb: add basic and parallel sanity tests (#14938)Egon Elbre2017-08-081-9/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ethdb: add basic sanity test * ethdb: test MemDatabase * ethdb: add parallel tests
* | | | rpc: fix megacheck warningsEgon Elbre2017-08-085-62/+24
| | | |
* | | | Merge pull request #14933 from egonelbre/megacheck_ethPéter Szilágyi2017-08-087-40/+17
|\ \ \ \ | |/ / / |/| | | eth: fix megacheck warnings
| * | | eth: fix megacheck warningsEgon Elbre2017-08-087-40/+17
|/ / /
* | | light: fix megacheck warnings (#14920)Egon Elbre2017-08-073-19/+1
| | |
* | | internal: fix megacheck warnings (#14919)Egon Elbre2017-08-072-34/+3
| | |
* | | Merge pull request #14928 from fjl/build-goroot-explainPéter Szilágyi2017-08-072-6/+15
|\ \ \ | |/ / |/| | internal/build: add GoTool and document why it uses GOROOT
| * | internal/build: add GoTool and document why it uses GOROOTFelix Lange2017-08-072-6/+15
| | |
* | | Merge pull request #14927 from karalabe/blockchain-test-cleanupsPéter Szilágyi2017-08-078-23/+79
|\ \ \ | |/ / |/| | core: fix blockchain goroutine leaks in tests
| * | core: fix blockchain goroutine leaks in testsPéter Szilágyi2017-08-078-23/+79
|/ /
* | Merge pull request #14914 from egonelbre/megacheck_consensusPéter Szilágyi2017-08-071-2/+2
|\ \ | | | | | | consensus: fix megacheck warnings
| * | consensus: revert time.Until changeEgon Elbre2017-08-071-1/+1
| | |
| * | consensus: fix megacheck warningsEgon Elbre2017-08-072-3/+3
| | |
* | | cmd: fix megacheck warnings (#14912)Egon Elbre2017-08-074-19/+16
| | | | | | | | | | | | | | | | | | * cmd: fix megacheck warnings * cmd: revert time.Until changes, keep readFloat
* | | Merge pull request #14922 from egonelbre/megacheck_minerPéter Szilágyi2017-08-072-13/+5
|\ \ \ | | | | | | | | miner: fix megacheck warnings
| * | | miner: fix megacheck warningsEgon Elbre2017-08-072-13/+5
| |/ /
* | | Merge pull request #14923 from egonelbre/megacheck_nodePéter Szilágyi2017-08-072-4/+2
|\ \ \ | | | | | | | | node: fix megacheck warnings
| * | | node: fix megacheck warningsEgon Elbre2017-08-072-4/+2
| |/ /
* | | Merge pull request #14918 from egonelbre/megacheck_ethstatsPéter Szilágyi2017-08-071-3/+0
|\ \ \ | | | | | | | | ethstats: fix megacheck warnings
| * | | ethstats: fix megacheck warningsEgon Elbre2017-08-071-3/+0
| |/ /
* | | Merge pull request #14921 from egonelbre/megacheck_logPéter Szilágyi2017-08-071-1/+1
|\ \ \ | | | | | | | | log: fix megacheck warnings
| * | | log: fix megacheck warningsEgon Elbre2017-08-071-1/+1
| |/ /
* | | Merge pull request #14915 from egonelbre/megacheck_consolePéter Szilágyi2017-08-071-2/+0
|\ \ \ | | | | | | | | console: fix megacheck warnings
| * | | console: fix megacheck warningsEgon Elbre2017-08-071-2/+0
| |/ /
* | | Merge pull request #14913 from egonelbre/megacheck_commonPéter Szilágyi2017-08-072-9/+8
|\ \ \ | | | | | | | | common: fix megacheck warnings
| * | | common: fix megacheck warningsEgon Elbre2017-08-072-9/+8
| |/ /
* | | accounts: fix megacheck warnings (#14903)Egon Elbre2017-08-073-15/+6
| | | | | | | | | | | | | | | | | | * accounts: fix megacheck warnings * accounts: don't modify abi in favor of full cleanup
* | | Merge pull request #14911 from karalabe/txpool-flaky-testPéter Szilágyi2017-08-071-2/+2
|\ \ \ | |/ / |/| | core: bump timeout test to avoid flakyness on overloaded ci
| * | core: bump timeout test to avoid flakyness on overloaded ciPéter Szilágyi2017-08-071-2/+2
| | |
* | | Merge pull request #14910 from karalabe/drop-yakkety-supportPéter Szilágyi2017-08-071-1/+2
|\ \ \ | |/ / |/| | build: drop yakkety builds (launchpad end of life)
| * | build: drop yakkety builds (launchpad end of life)Péter Szilágyi2017-08-071-1/+2
|/ /
* | Merge pull request #14905 from armellini13/patch-1Péter Szilágyi2017-08-071-1/+1
|\ \ | | | | | | node: fix doc typo
| * | node: fix doc typoAgustin Armellini Fischer2017-08-061-1/+1
|/ /
* | Merge pull request #14897 from karalabe/cardinal-sinPéter Szilágyi2017-08-051-18/+14
|\ \ | | | | | | cmd/puppeth: remove wrapping loop in single reads
| * | cmd/puppeth: remove wrapping loop in single readsPéter Szilágyi2017-08-041-18/+14
| | |
* | | Merge pull request #14898 from detailyang/patch-1Péter Szilágyi2017-08-051-1/+1
|\ \ \ | |/ / |/| | Makefile: call shell function to get pwd
| * | Makefile: call shell function to get pwddetailyang2017-08-041-1/+1
|/ /
* | core/vm: fix typo in comment (#14894)evgk2017-08-041-1/+1
| |
* | Merge pull request #14889 from karalabe/ethash-cache-on-importPéter Szilágyi2017-08-043-27/+42
|\ \ | | | | | | cmd: add makecache cmd, use caches during import cmd
| * | cmd: add makecache cmd, use caches during import cmdPéter Szilágyi2017-08-043-27/+42
| | |
* | | Makefile, README: remove evm target, add puppeth to table (#14886)akiva2017-08-032-5/+1
|/ /
* | ethclient: add NetworkID method (#14791)Jim McDonald2017-08-011-0/+13
| | | | | | | | There is currently no simple way to obtain the network ID from a Client. This adds a NetworkID method that wraps the net_version JSON-RPC call.
* | swarm/api: make api.NewManifest synchronous (#14880)Lewis Marshall2017-07-313-3/+2
| | | | | | | | | | Previously, NewManifest was asynchronous so subsequent code which tried to use the returned manifest could error as the manifest was not yet persisted.
* | cmd/swarm: support exporting, importing chunk db (#14868)Lewis Marshall2017-07-314-41/+254
| |
* | core/asm: fix hex number lexing (#14861)njupt-moon2017-07-312-6/+41
| |
* | common: EIP55-compliant Address.Hex() (#14815)Felix Lange2017-07-313-7/+60
|\ \ | | | | | | | | | | | | This patch updates the Address type in common/types.go so that the Hex function provides an EIP55-compliant output string. The implementation is pretty lightweight; on my laptop the benchmark gives 1100ns/op, with the majority of that value due to the Keccak hash.
| * | cmd/geth: update tests for EIP55-compliant Address.Hex()Jim McDonald2017-07-161-6/+6
| | |
| * | common: tests for EIP55-compliant Address.Hex()Jim McDonald2017-07-161-0/+31
| | |
| * | common: Address.Hex() outputs EIP55-compliant stringJim McDonald2017-07-161-1/+23
| |/
* | light: update txpool signer to EIP155 (#14720)bas-vk2017-07-311-1/+1
| |
* | Makefile: fixed GOBIN absolute path issue (#14854)Lee Hyeon2017-07-311-1/+1
| |
* | core: avoid write existing block again (#14849)Mark2017-07-311-0/+5
| |
* | Merge pull request #14882 from am2rican5/rinkeby-genesisPéter Szilágyi2017-07-311-0/+9
|\ \ | | | | | | mobile: add RinkebyGenesis method
| * | mobile: add RinkebyGenesis methodam2rican52017-07-311-0/+9
|/ /
* | cmd, core, eth: journal local transactions to disk (#14784)Péter Szilágyi2017-07-287-84/+416
| | | | | | | | | | | | | | | | | | | | * core: reduce txpool event loop goroutines and sync structs * cmd, core, eth: journal local transactions to disk * core: journal replacement pending transactions too * core: separate transaction journal from pool
* | Merge pull request #14858 from xmikus01/patch-1Péter Szilágyi2017-07-261-1/+1
|\ \ | | | | | | trie: typo in comment
| * | trie: typo in commentPetr Mikusek2017-07-261-1/+1
| | |
* | | Merge pull request #14859 from cdetrio/evm-flag-gaspricePéter Szilágyi2017-07-261-1/+1
|\ \ \ | |/ / |/| | core/vm/runtime: fix evm command to use --gasprice flag value
| * | core/vm/runtime: fix evm command to use --gasprice flag valuecdetrio2017-07-261-1/+1
|/ /
* | swarm/api/http: redirect root manifest requests to include trailing slash ↵Lewis Marshall2017-07-252-0/+68
| | | | | | | | (#14806)
* | cmd/abigen: update generated go file header text (#14845)Leo Shklovskii2017-07-241-2/+2
| | | | | | | | As per https://golang.org/s/generatedcode. This will allow other tools such as golint to properly ignore the files.
* | core/vm: remove logging and add section labels to struct logs (#14782)Felix Lange2017-07-193-23/+16
| |
* | node: Rename TrusterNodes (#14827)Chase Wright2017-07-182-3/+3
| | | | | | | | | | | | * node: Rename TrusterNodes * node: Rename TrusterNodes
* | Merge pull request #14824 from karalabe/faucet-ignore-whitespacePéter Szilágyi2017-07-181-2/+3
|\ \ | | | | | | cmd/faucet: ignore whitespace in gist content
| * | cmd/faucet: ignore whitespace in gist contentPéter Szilágyi2017-07-181-2/+3
| | |
* | | Merge pull request #14823 from karalabe/puppeth-limited-loggingPéter Szilágyi2017-07-185-0/+25
|\ \ \ | |/ / |/| | cmd/puppeth: limit cotnainers to 10MB logs
| * | cmd/puppeth: limit cotnainers to 10MB logsPéter Szilágyi2017-07-185-0/+25
|/ /
* | mobile: don't retain transient []byte in CallMsg.SetData (#14804)Elias Naur2017-07-177-17/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mobile: don't retain transient []byte in CallMsg.SetData Go mobile doesn't copy []byte parameters, for performance and to allow writes to the byte array be reflected in the native byte array. Unfortunately, that means []byte arguments are only valid during the call it is being passed into. CallMsg.SetData retains such a byte array. Copy it instead Fixes #14675 * mobile: copy all []byte arguments from gomobile To avoid subtle errors when accidentially retaining an otherwise transient byte slice coming from gomobile, copy all byte slices before use. * mobile: replace copySlice with common.CopyBytes
* | mobile: use EIP155 signer (#14817)ligi2017-07-171-5/+10
| | | | | | | | | | | | * mobile: Use EIP155Signer - closes #14762 * mobile: Correctly fall back on HomesteadSigner when no chainID is passed in
* | Merge pull request #14807 from Dexaran/masterPéter Szilágyi2017-07-171-1/+0
|\ \ | | | | | | README: get rid of the non-existent disasm command
| * | README: get rid of the on-existent disasm commandPéter Szilágyi2017-07-171-1/+0
| | |
| * | Update README.mdDexaran2017-07-141-1/+1
| | |
| * | Update README.mdDexaran2017-07-141-1/+1
| | |
| * | Update README.mdDexaran2017-07-141-1/+1
| | |
| * | Update README.mdDexaran2017-07-141-1/+1
| | |
| * | Update README.mdDexaran2017-07-141-1/+1
| | |
* | | Merge pull request #14733 from karalabe/metro-eip100Péter Szilágyi2017-07-172-12/+70
|\ \ \ | | | | | | | | consensus/ethash, core: implement Metropolis EIP 100
| * | | consensus, core: EIP 100 polishes, fix chain maker diffPéter Szilágyi2017-06-302-29/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR polishes the EIP 100 difficulty adjustment algorithm to match the same mechanisms as the Homestead was implemented to keep the code uniform. It also avoids a few memory allocs by reusing big1 and big2, pulling it out of the common package and into ethash. The commit also fixes chain maker to forward the uncle hash when creating a simulated chain (it wasn't needed until now so we just skipped a copy there).
| * | | consensus/ethash: implement Metropolis EIP 100Jeffrey Wilcke2017-06-301-0/+48
| | | |
* | | | core, ethclient: implement Metropolis EIP 98 (#14750)Péter Szilágyi2017-07-174-20/+76
| | | | | | | | | | | | Implements ethereum/EIPs#98
* | | | core: blocknumber in genesis as hex (#14812)Martin Holst Swende2017-07-172-6/+5
| |_|/ |/| |
* | | core: remove redundant storage of transactions and receipts (#14801)Péter Szilágyi2017-07-1512-628/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * core: remove redundant storage of transactions and receipts * core, eth, internal: new transaction schema usage polishes * eth: implement upgrade mechanism for db deduplication * core, eth: drop old sequential key db upgrader * eth: close last iterator on successful db upgrage * core: prefix the lookup entries to make their purpose clearer
* | | VERSION, params: begin 1.7.0 cycle (cannot downgrade)Péter Szilágyi2017-07-142-3/+3
| |/ |/|
* | params, VERSION: v1.6.8 unstableFelix Lange2017-07-112-5/+5
| |
* | params: v1.6.7 stablev1.6.7Felix Lange2017-07-111-4/+4
| |
* | Merge pull request #14792 from karalabe/slim-docker-imagePéter Szilágyi2017-07-111-1/+4
|\ \ | | | | | | dockerignore: ignore all git metadata and all tests
| * | dockerignore: ignore all git metadata and all testsPéter Szilágyi2017-07-111-1/+4
|/ /
* | tests: update tests and implement general state tests (#14734)Felix Lange2017-07-11903-2505430/+1596
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests are now included as a submodule. This should make updating easier and removes ~60MB of JSON data from the working copy. State tests are replaced by General State Tests, which run the same test with multiple fork configurations. With the new test runner, consensus tests are run as subtests by walking json files. Many hex issues have been fixed upstream since the last update and most custom parsing code is replaced by existing JSON hex types. Tests can now be marked as 'expected failures', ensuring that fixes for those tests will trigger an update to test configuration. The new test runner also supports parallel execution and the -short flag.
* | vendor: update go-stack to fix a sigpanic panic (#14790)Péter Szilágyi2017-07-113-42/+23
| |
* | internal/web3ext: fix debug.traceBlockFromFile wrapper (#14774)Daniel Sloof2017-07-101-2/+2
| | | | | | | | | | As stated in the documentation, this method should be called traceBlockFromFile and not traceBlockByFile. Previously this would result in a 'The method ... does not exist/is not available' error.
* | Merge pull request #14737 from holiman/txpool_localaccountsPéter Szilágyi2017-07-1013-285/+390
|\ \ | | | | | | Txpool localaccounts
| * | core: test locals support in txpool queue limits, fixPéter Szilágyi2017-07-063-83/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit reworks the transaction pool queue limitation tests to cater for testing local accounts, also testing the nolocal flag. In addition, it also fixes a panic if local transactions exceeded the global queue allowance (no accounts left to drop from) and also fixes queue eviction to operate on all accounts, not just the one being updated.
| * | core: handle nolocals during add, exepmt locals from expirationPéter Szilágyi2017-07-051-4/+9
| | |
| * | cmd, core: add --txpool.nolocals to disable local price exemptionsPéter Szilágyi2017-07-054-2/+13
| | |
| * | eth: drop leftover from previous nonce protection schemePéter Szilágyi2017-07-052-23/+0
| | |
| * | core, eth, les: polish txpool API around local/remote txsPéter Szilágyi2017-07-059-149/+153
| | |
| * | core: Prevent local tx:s from being discardedMartin Holst Swende2017-07-011-7/+12
| | |
| * | core: Change local-handling to use sender-account instead of tx hashesMartin Holst Swende2017-07-012-59/+48
| |/
* | README: add missing full stop (#14766)Emin Mahrt2017-07-071-1/+1
| |
* | Merge pull request #14723 from Arachnid/downloadrefactorNick Johnson2017-07-068-446/+458
|\ \ | | | | | | Refactor downloader to use interfaces instead of callbacks
| * | eth/downloader: Doc fixesNick Johnson2017-07-052-3/+7
| | |
| * | eth/downloader, les, light: Changes in response to reviewNick Johnson2017-07-035-51/+52
| | |
| * | eth, les: Refactor downloader peer to use structsNick Johnson2017-06-297-300/+319
| | |
| * | eth, les, light: Refactor downloader to use blockchain interfaceNick Johnson2017-06-286-146/+134
| | |
* | | core: fix typo in error message (#14763)ligi2017-07-061-1/+1
| | |
* | | Merge pull request #14749 from karalabe/disable-metro-allprotocolsPéter Szilágyi2017-07-0410-107/+57
|\ \ \ | |_|/ |/| | params: remove redundant consts, disable metro on AllProtocolChanges
| * | params: remove redundant consts, disable metro on AllProtocolChangesPéter Szilágyi2017-07-0410-107/+57
|/ /
* | Merge pull request #14732 from ethersphere/swarm-remove-ethapiPéter Szilágyi2017-06-303-16/+15
|\ \ | | | | | | cmd/swarm: Exit if --ethapi is set
| * | cmd/swarm: Exit if --ethapi is setLewis Marshall2017-06-303-16/+15
|/ / | | | | | | | | | | | | | | The previous attempt to use --ethapi as a fallback if --ens-api is not set does not work because --ens-api has a default value, and also setting --ens-api to "" is the suggested way to disable ENS lookups. Signed-off-by: Lewis Marshall <lewis@lmars.net>
* | Merge pull request #14646 from ethersphere/swarm-ens-apiPéter Szilágyi2017-06-304-18/+109
|\ \ | | | | | | cmd/swarm: Support using Mainnet for resolving ENS names
| * | cmd/swarm: Support using Mainnet for resolving ENS namesLewis Marshall2017-06-264-18/+109
| | | | | | | | | | | | Signed-off-by: Lewis Marshall <lewis@lmars.net>
* | | Merge pull request #14727 from holiman/count_txs_rightPéter Szilágyi2017-06-291-1/+1
|\ \ \ | |_|/ |/| | Fix error when reporting numer of txs in imported blocks
| * | core: fix an off-by-one when the block import counts blocksMartin Holst Swende2017-06-291-1/+1
|/ /
* | Merge pull request #14718 from holiman/gascalc_fixPéter Szilágyi2017-06-282-17/+17
|\ \ | | | | | | core/vm: fix overflow in gas calculation formula
| * | core/vm : fix testcase for gas calculationMartin Holst Swende2017-06-281-11/+7
| | |
| * | core/vm: fix overflow in gas calculation formulaMartin Holst Swende2017-06-281-6/+10
| | |
* | | core/vm: add benchmarks for some ops and precompiles (#14641)Martin Holst Swende2017-06-281-0/+242
|/ /
* | core/state: access trie through Database interface, track errors (#14589)Felix Lange2017-06-2749-1663/+809
| | | | | | | | | | | | | | | | | | With this commit, core/state's access to the underlying key/value database is mediated through an interface. Database errors are tracked in StateDB and returned by CommitTo or the new Error method. Motivation for this change: We can remove the light client's duplicated copy of core/state. The light client now supports node iteration, so tracing and storage enumeration can work with the light client (not implemented in this commit).
* | Merge pull request #14686 from fjl/hexutil-json-type-errorPéter Szilágyi2017-06-275-59/+102
|\ \ | | | | | | common/hexutil: wrap errors in json.UnmarshalTypeError
| * | common/hexutil: wrap errors in json.UnmarshalTypeErrorFelix Lange2017-06-275-59/+102
| | | | | | | | | | | | | | | | | | | | | This adds type and struct field context to error messages. Instead of "hex string of odd length" users will now see "json: cannot unmarshal hex string of odd length into Go struct field SendTxArgs.from of type common.Address".
* | | accounts/abi: reorganizing package with small fixes (#14610)RJ Catalano2017-06-2713-1085/+1487
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * accounts/abi: reorganizing package and some notes and a quick correction of name. Signed-off-by: RJ Catalano <rj@monax.io> get rid of some imports Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: move file names Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: fix boolean decode function Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: fix for the array set and for creating a bool Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: be very very very correct Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: fix up error message and variable names Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: take out unnecessary argument in pack method Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: add bool unpack test and add a panic to readBool function Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: fix panic message Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: change from panic to basic error Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: fix nil to false Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: fill out type regex tests and fill with the correct type for integers Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: move packNumbers into pack.go. Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: separation of the testing suite into appropriately named files. Signed-off-by: RJ Catalano <rj@monax.io> * account/abi: change to hex string tests. Signed-off-by: RJ Catalano <rj@monax.io> * account/abi: fix up rest of tests to hex Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: declare bool at the package level Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: use errors package in the error file. Signed-off-by: RJ Catalano <rj@monax.io> * accounts/abi: fix ugly hack and fix error type declaration. Signed-off-by: RJ Catalano <rj@monax.io>
* | | build: fix devel golang detection on debian/ubuntu (#14711)Addy Yeow2017-06-271-1/+1
| | |
* | | Merge pull request #14690 from karalabe/faucet-key-reusePéter Szilágyi2017-06-261-2/+1
|\ \ \ | |_|/ |/| | cmd/puppeth: fix key reuse during faucet deploys
| * | cmd/puppeth: fix key reuse during faucet deploysPéter Szilágyi2017-06-231-2/+1
| | |
* | | Merge pull request #14540 from bas-vk/whisper-apiPéter Szilágyi2017-06-2631-1217/+1664
|\ \ \ | | | | | | | | whisperv5: integrate whisper and implement API
| * | | cmd/geth: fix whisper flag group capitalizationPéter Szilágyi2017-06-261-1/+1
| | | |
| * | | whisper: renamed Info#Message to Info#MessagesBas van Kervel2017-06-231-2/+2
| | | |
| * | | whisper: use hexutil.UnmarshalFixedText for topic parsingBas van Kervel2017-06-213-34/+27
| | | |
| * | | whisper: use syncmap for dynamic configuration optionsBas van Kervel2017-06-215-43/+445
| | | |
| * | | whisper: move flags from whisper package to utilsBas van Kervel2017-06-215-37/+34
| | | |
| * | | whisper: renamed errorsBas van Kervel2017-06-213-25/+25
| | | |
| * | | whisper: fallback to default config if none is specifiedBas van Kervel2017-06-211-0/+4
| | | |
| * | | whisper: remove obsolete api testsBas van Kervel2017-06-211-672/+0
| | | |
| * | | whisper: remove gencodec override for configBas van Kervel2017-06-212-34/+0
| | | |
| * | | whisper: move ShhClient to its own packageBas van Kervel2017-06-211-9/+10
| | | |
| * | | whisperv5: integrate whisper and add whisper RPC simulatorBas van Kervel2017-06-1527-524/+1280
| | | |
* | | | Merge pull request #14687 from markya0616/unused_eventsPéter Szilágyi2017-06-261-16/+0
|\ \ \ \ | | | | | | | | | | core: remove unused events
| * | | | core: remove unused eventsmark.lin2017-06-231-16/+0
| | | | |
* | | | | rpc: fix closure problem in batch processing (#14688)bloonfield2017-06-261-2/+2
| | | | | | | | | | | | | | | Demo of the issue: https://play.golang.org/p/EeTLFfppqC
* | | | | Merge pull request #14697 from homotopycolimit/masterPéter Szilágyi2017-06-261-1/+1
|\ \ \ \ \ | | | | | | | | | | | | swarm/storage: remove panic on invalid chunk
| * | | | | swarm/storage: remove panic on invalid chunkaron2017-06-251-1/+1
| | |_|/ / | |/| | |
* | | | | Makefile: add make swarm command (#14698)Aron2017-06-261-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile: add make swarm command * Makefile: minor code formatting polishes
* | | | | Update README.md (#14701)G. Kay Lee2017-06-261-1/+1
|/ / / / | | | | | | | | README: change heading to "Go Ethereum"
* | | | params, VERSION: 1.6.7 unstableFelix Lange2017-06-232-5/+5
| | | |
* | | | params: 1.6.6 stablev1.6.6Felix Lange2017-06-231-4/+4
| | | |
* | | | Merge pull request #14596 from markya0616/valid_clique_votePéter Szilágyi2017-06-232-10/+23
|\ \ \ \ | | | | | | | | | | consensus/clique: choose valid votes
| * | | | consensus/clique: minor cleanupsPéter Szilágyi2017-06-231-6/+7
| | | | |
| * | | | consensus/clique: choose valid votesmark.lin2017-06-142-11/+23
| | | | |
* | | | | Merge pull request #14685 from karalabe/ethdb-metrics-fail-fixPéter Szilágyi2017-06-232-2/+9
|\ \ \ \ \ | | | | | | | | | | | | eth: gracefully error if database cannot be opened
| * | | | | node: don't return non-nil database on errorFelix Lange2017-06-231-1/+5
| | | | | |
| * | | | | eth: gracefully error if database cannot be openedPéter Szilágyi2017-06-231-1/+4
| | |_|_|/ | |/| | |
* | | | | Merge pull request #14681 from fjl/build-fixupPéter Szilágyi2017-06-232-0/+3
|\ \ \ \ \ | |/ / / / |/| | | | travis.yml, cmd/swarm: fix Travis CI build
| * | | | travis.yml: add fakeroot to launchpad builderFelix Lange2017-06-231-0/+1
| | | | |
| * | | | cmd/swarm: disable TestCLISwarmUp because it's flakyFelix Lange2017-06-231-0/+2
|/ / / /
* | | | Merge pull request #14673 from holiman/txfixPéter Szilágyi2017-06-233-42/+200
|\ \ \ \ | | | | | | | | | | core: add testcase for txpool
| * | | | core: ensure transactions correctly drop on pool limitingPéter Szilágyi2017-06-233-88/+167
| | | | |
| * | | | core: add testcase for txpoolMartin Holst Swende2017-06-232-0/+79
| | | | |
* | | | | Merge pull request #14677 from karalabe/miner-cli-gaspricePéter Szilágyi2017-06-221-0/+4
|\ \ \ \ \ | | | | | | | | | | | | cmd/geth: corrently init gas price for CLI CPU mining
| * | | | | cmd/geth: corrently init gas price for CLI CPU miningPéter Szilágyi2017-06-221-0/+4
| |/ / / /
* / / / / eth/downloader: separate state sync from queue (#14460)Felix Lange2017-06-229-479/+769
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * eth/downloader: separate state sync from queue Scheduling of state node downloads hogged the downloader queue lock when new requests were scheduled. This caused timeouts for other requests. With this change, state sync is fully independent of all other downloads and doesn't involve the queue at all. State sync is started and checked on in processContent. This is slightly awkward because processContent doesn't have a select loop. Instead, the queue is closed by an auxiliary goroutine when state sync fails. We tried several alternatives to this but settled on the current approach because it's the least amount of change overall. Handling of the pivot block has changed slightly: the queue previously prevented import of pivot block receipts before the state of the pivot block was available. In this commit, the receipt will be imported before the state. This causes an annoyance where the pivot block is committed as fast block head even when state downloads fail. Stay tuned for more updates in this area ;) * eth/downloader: remove cancelTimeout channel * eth/downloader: retry state requests on timeout * eth/downloader: improve comment * eth/downloader: mark peers idle when state sync is done * eth/downloader: move pivot block splitting to processContent This change also ensures that pivot block receipts aren't imported before the pivot block itself. * eth/downloader: limit state node retries * eth/downloader: improve state node error handling and retry check * eth/downloader: remove maxStateNodeRetries It fails the sync too much. * eth/downloader: remove last use of cancelCh in statesync.go Fixes TestDeliverHeadersHang*Fast and (hopefully) the weird cancellation behaviour at the end of fast sync. * eth/downloader: fix leak in runStateSync * eth/downloader: don't run processFullSyncContent in LightSync mode * eth/downloader: improve comments * eth/downloader: fix vet, megacheck * eth/downloader: remove unrequested tasks anyway * eth/downloader, trie: various polishes around duplicate items This commit explicitly tracks duplicate and unexpected state delieveries done against a trie Sync structure, also adding there to import info logs. The commit moves the db batch used to commit trie changes one level deeper so its flushed after every node insertion. This is needed to avoid a lot of duplicate retrievals caused by inconsistencies between Sync internals and database. A better approach is to track not-yet-written states in trie.Sync and flush on commit, but I'm focuing on correctness first now. The commit fixes a regression around pivot block fail count. The counter previously was reset to 1 if and only if a sync cycle progressed (inserted at least 1 entry to the database). The current code reset it already if a node was delivered, which is not stong enough, because unless it ends up written to disk, an attacker can just loop and attack ad infinitum. The commit also fixes a regression around state deliveries and timeouts. The old downloader tracked if a delivery is stale (none of the deliveries were requestedt), in which case it didn't mark the node idle and did not send further requests, since it signals a past timeout. The current code did mark it idle even on stale deliveries, which eventually caused two requests to be in flight at the same time, making the deliveries always stale and mass duplicating retrievals between multiple peers. * eth/downloader: fix state request leak This commit fixes the hang seen sometimes while doing the state sync. The cause of the hang was a rare combination of events: request state data from peer, peer drops and reconnects almost immediately. This caused a new download task to be assigned to the peer, overwriting the old one still waiting for a timeout, which in turned leaked the requests out, never to be retried. The fix is to ensure that a task assignment moves any pending one back into the retry queue. The commit also fixes a regression with peer dropping due to stalls. The current code considered a peer stalling if they timed out delivering 1 item. However, the downloader never requests only one, the minimum is 2 (attempt to fine tune estimated latency/bandwidth). The fix is simply to drop if a timeout is detected at 2 items. Apart from the above bugfixes, the commit contains some code polishes I made while debugging the hang. * core, eth, trie: support batched trie sync db writes * trie: rename SyncMemCache to syncMemBatch
* | | | Merge pull request #14657 from markya0616/refactor_cliquePéter Szilágyi2017-06-211-8/+7
|\ \ \ \ | | | | | | | | | | consensus/clique: fix typo and don't need to add snapshot into recents again
| * | | | consensus/clique: fix typo and don't add snapshot into recents againmark.lin2017-06-201-8/+7
| | |/ / | |/| |
* | | | swarm/test: add integration test for 'swarm up' (#14353)Lewis Marshall2017-06-2117-293/+1048
| | | |
* | | | README: document new config file option (#14348)Maximilian Meister2017-06-211-0/+16
| | | |
* | | | cmd/evm, core/vm: add --nomemory, --nostack to evm (#14617)Martin Holst Swende2017-06-215-47/+68
| | | |