aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #19328 from karalabe/preloadPéter Szilágyi2019-04-0211-87/+224
|\ | | | | core: prefetch next block state concurrently
| * cmd, core, eth: support disabling the concurrent state prefetcherPéter Szilágyi2019-04-016-21/+40
| |
| * core: prefetch next block state concurrentlyPéter Szilágyi2019-04-016-75/+193
| |
* | Merge pull request #19374 from karalabe/console-fix-coinbase-printoutPéter Szilágyi2019-04-022-10/+18
|\ \ | | | | | | console: handle eth.coinbase throws
| * | console: handle eth.coinbase throwsPéter Szilágyi2019-04-022-10/+18
|/ /
* | core: fix typo in insertChain method doc (#19371)Runchao Han2019-04-021-1/+1
| |
* | Merge pull request #19369 from karalabe/les-update-chtsPéter Szilágyi2019-04-022-16/+18
|\ \ | | | | | | light, params: update CHTs, integrate CHT for Goerli too
| * | light, params: update CHTs, integrate CHT for Goerli tooPéter Szilágyi2019-04-022-16/+18
|/ /
* | cmd/flags: fix typo in --exitwhensynced flag (#19364)William Setzer2019-04-021-1/+1
| | | | | | Corrected error for ExitWhenSyncedFlag, clarifying that the program exits after syncing completes.
* | swarm/network: hive bug: needed shallow peers are not sent to nodes beyond ↵Viktor Trón2019-04-025-64/+314
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | connection's proximity order (#19326) * swarm/network: fix hive bug not sending shallow peers - hive bug: needed shallow peers were not sent to nodes beyond connection's proximity order - add extensive protocol exchange tests for initial subPeersMsg-peersMsg exchange - modify bzzProtocolTester to allow pregenerated overlay addresses * swarm/network: attempt to fix hive persistance test * swarm/network: fix TestHiveStatePersistance (#1320) * swarm/network: remove trace lines from the hive persistance test * address PR review comments * swarm/network: address PR comments on TestInitialPeersMsg * eliminate *testing.T argument from bzz/hive protocoltesters * add sorting (only runs in test code) on peersMsg payload * add random (0 to MaxPeersPerPO) peers for each po * add extra peers closer to pivot than control
* | Merge pull request #19348 from LiangMa/overflowPRPéter Szilágyi2019-04-012-22/+21
|\ \ | | | | | | core/vm: Correct the Memory Gas Overflow condition
| * | core/vm: polish gas PR, fix tests, make table drivenPéter Szilágyi2019-04-012-21/+20
| | |
| * | core/vm: Correct the Memory Gas Overflow conditionLiang Ma2019-03-291-3/+3
| | | | | | | | | | | | | | | | | | | | | previous overflow condition is too big to use. 0x7FFFFFFFF squre operation is overflowed uint64. 0x7FFFFFFFF^2 = 0x3F FFFF FFF0 0000 0001
* | | accounts/abi: generic unpacking of event logs into map[string]interface{} ↵Ian Norden2019-04-017-10/+596
| |/ |/| | | | | | | (#18440) Add methods that allow for the unpacking of event logs into maps (allows for agnostic unpacking of logs)
* | Merge pull request #19351 from karalabe/txpool-precache-signaturesPéter Szilágyi2019-03-291-0/+7
|\ \ | |/ |/| core: cache tx signature before obtaining lock
| * core: cache tx signature before obtaining lock贺鹏飞2019-03-291-0/+7
|/
* accounts/abi: Add the original name as json-structtag for tuples.Mats Julian Olsen2019-03-282-1/+8
|
* contracts/ens: revert bmt to keccak256 (#19323)Elad2019-03-272-6/+6
| | | | | | * contracts/ens: revert bmt to keccak256 * contracts/ens: fix keccak256 hash code comment
* core/types: add block location fields to receipt (#17662)Brent2019-03-278-2/+59
| | | | Solves #15210 without changing consensus, in a backwards compatible way, by adding tx inclusion information to the Receipt struct.
* Merge pull request #19343 from karalabe/trie-metrics-splitPéter Szilágyi2019-03-271-18/+25
|\ | | | | core: 3rd try on splitting the trie metrics correctly
| * core: 3rd try on splitting the trie metrics correctlyPéter Szilágyi2019-03-271-18/+25
| |
* | Merge pull request #19344 from karalabe/eth-remove-redundant-chainconfigPéter Szilágyi2019-03-274-25/+21
|\ \ | | | | | | eth: remove redundant chain config fields
| * | eth: remove redundant chain config fieldsPéter Szilágyi2019-03-274-25/+21
|/ /
* / eth: fix EIP158 account cleanup on chain tracing (#19341)Jonas2019-03-271-1/+1
|/ | | Fixes #19337
* core, ethdb, trie: mode dirty data to clean cache on flush (#19307)Martin Holst Swende2019-03-2612-67/+156
| | | | | This PR is a more advanced form of the dirty-to-clean cacher (#18995), where we reuse previous database write batches as datasets to uncache, saving a dirty-trie-iteration and a dirty-trie-rlp-reencoding per block.
* whisper/whisperv6: fix PoW calculations to match the spec (#19330)Guillaume Ballet2019-03-262-12/+39
| | | | | | | | | | | | This PR fixes two issues in the PoW calculation of a Whisper envelope, compared to the spec (see PoW Requirements): - The pow is supposed to take the leading number of zeroes (i.e. most significant zeroes) and what it did was to take the number of trailing zeroes (i.e. least significant zeroes). It has been fixed to match what the spec and Parity does. - The spec expects to use the size of the RLP encoded envelope, and it took something else, as described in #18070.
* Merge pull request #19308 from holiman/fix_reset_txpoolPéter Szilágyi2019-03-261-1/+16
|\ | | | | core: make txpool handle reorg due to setHead
| * core: make txpool handle reorg due to setHeadMartin Holst Swende2019-03-211-1/+16
| |
* | Merge pull request #19331 from karalabe/fix-trie-metricsPéter Szilágyi2019-03-251-6/+3
|\ \ | | | | | | core: split trie op metrics from the correct chain metrics
| * | core: split trie op metrics from the correct chain metricsPéter Szilágyi2019-03-251-6/+3
|/ /
* | Merge pull request #19327 from karalabe/fix-expensive-metricsPéter Szilágyi2019-03-251-1/+1
|\ \ | | | | | | metrics: fix expensive metrics flag processing
| * | metrics: fix expensive metrics flag processingPéter Szilágyi2019-03-251-1/+1
|/ /
* | appveyor: bump Windows Go builders to 1.12.1 (#19294)Samuel Marks2019-03-252-4/+4
| |
* | core: split out detailed trie access metrics from insertion time (#19316)Péter Szilágyi2019-03-257-38/+132
| | | | | | | | | | | | * core: split out detailed trie access metrics from insertion time * cmd, core, metrics: support expensive optional metrics
* | les: fix block announcements (#19322)Felföldi Zsolt2019-03-251-2/+1
| |
* | swarm/network: Use different privatekey for bzz overlay in sim (#19313)lash2019-03-236-39/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cmd/swarm, p2p, swarm: Enable ENR in binary/execadapter * cmd/p2p/swarm: Remove comments + config.Enode nomarshal * p2p/simulations: Remove superfluous error check * p2p/simulation: Move init enode comment * swarm, p2p/simulations, cmd/swarm: Use nodekey in binary record sign * swarm/network, swarm/pss: Dervice bzzkey * swarm/pss: Remove unused function * swarm/network: Store swarm private key in simulation bucket * swarm/pss: Shorten TextProxNetwork shortrunning test timeout * swarm/pss: Increase prox test timeout * swarm/pss: Increase timeout slightly on shortrunning proxtest * swarm/network: Simplify bucket instantiation in servicectx func * p2p/simulations: Tcpport -> udpport * swarm/network, swarm/pss: Simplify + correct lock in servicefunc sim * swarm/network: Cleanup after rebase on extract swarm enode new * p2p/simulations, swarm/network: Make exec disc test pass * swarm/network: Prune ye olde comment * swarm/pss: Correct revised bzzkey method call * swarm/network: Clarify comment about privatekey generation data * swarm/pss: Fix syntax errors after rebase * swarm/network: Rename misleadingly named method (amend commit to trigger ci - attempt 5)
* | trie: disable fnv64a hashing of hashes for bigcache (#19314)Martin Holst Swende2019-03-221-0/+15
| | | | | | | | | | | | * trie: disable fnv64a hashing of hashes for bigcache * trie/database: add very important period
* | p2p/simulations: wait until all connections are recreated when uploading ↵gluk2562019-03-228-79/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | snapshot (#19312) * swarm/network/simulation: test cases refactored * swarm/pss: minor refactoring * swarm/simulation: UploadSnapshot updated * swarm/network: style fix * swarm/pss: bugfix
* | cmd/swarm, p2p, swarm: Enable ENR in binary/execadapter (#19309)lash2019-03-2212-55/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cmd/swarm, p2p, swarm: Enable ENR in binary/execadapter * cmd/p2p/swarm: Remove comments + config.Enode nomarshal * p2p/simulations: Remove superfluous error check * p2p/simulation: Move init enode comment * swarm/api: Check error in config test * swarm, p2p/simulations, cmd/swarm: Use nodekey in binary record sign * cmd/swarm: Make nodekey available for swarm api config
* | travis: extend race detection for swarm p2p packages (#19287)Ferenc Szabo2019-03-211-1/+1
|/ | | | | | | | | | | | | * travis: remove verbose from Swarm race tests By removing -v our output will be cleaner, but the Travis job still won't be terminated - due to 'no output for 10 minutes' - as keepalive .sh produces a log line every 5 minutes. * travis: extend Swarm race detection to p2p subpackages As p2p/protocols, p2p/simulations and p2p/testing packages mostly belong to the Swarm team.
* swarm/network: measure time of messages in priority queue (#19250)Anton Evangelatov2019-03-2116-60/+87
|
* les: fix peer id and reply error handling (#19289)Felföldi Zsolt2019-03-202-4/+11
| | | | | | * les: fixed peer id format * les: fixed peer reply error handling
* contracts, swarm: implement EIP-1577 (#19285)Elad2019-03-2017-434/+3336
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * contracts/ens: update public resolver solidity code * contracts/ens: update public resolver, update go bindings * update build * fix ens.sol * contracts/ens: change contract interface * contracts/ens: implement public resolver changes * contracts/ens: added ENSRegistry contract * contracts/ens: reinstate old contract code * contracts/ens: update README.md * contracts/ens: added test coverage for fallback contract * contracts/ens: added support for fallback contract * contracts/ens: removed unused contract code * contracts/ens: add todo and decode multicodec stub * add encode * vendor: add ipfs cid libraries * contracts/ens: cid sanity tests * contracts/ens: more cid sanity checks * contracts/ens: wip integration * wip * Revert "vendor: add ipfs cid libraries" This reverts commit 29d9b6b294ded903a1065d96c8149119713cfd12. * contracts/ens: removed multiformats dependencies * contracts/ens: added decode tests * contracts/ens: added eip spec test, minor changes to exiting tests * contracts/ens: moved cid decoding to own file * contracts/ens: added unit test to encode hash to content hash * contracts/ens: removed unused code * contracts/ens: fix ens tests to use cid decode and encode * contracts/ens: adjust swarm multicodecs after pr merge * contracts/ens: fix linter error * constracts/ens: address PR comments * cmd, contracts: make peoples lives easier * contracts/ens: fix linter error * contracts/ens: address PR comments
* Modified Abigen to Support Vyper (#19120)Kushagra Sharma2019-03-188-56/+317
|
* Merge pull request #19288 from karalabe/les-verbose-errorsPéter Szilágyi2019-03-182-72/+114
|\ | | | | les, light: verbose errors on state retrieval issues
| * les, light: verbose errors on state retrieval issuesPéter Szilágyi2019-03-182-72/+114
|/
* dashboard: fix deprecated or problematic dependencies (#19271)Kurkó Mihály2019-03-183-12196/+10264
| | | | | | * dashboard: fix github alerts * dashboard: run go generate
* vendor: udpate leveldb upstream (#19284)gary rong2019-03-186-55/+362
|
* graphql: Updates to graphql support to match EIP1767 (#19238)Nick Johnson2019-03-182-141/+285
| | | | Updates to match EIP1767
* swarm/pss: negihbourhood addressing simulation tests (#19278)gluk2562019-03-164-8/+738
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/pss: fixed bug in pss.process, test added * swarm/pss: test case updated * swarm/pss: WaitTillSnapshotRecreated() func added * swarm/pss: snapshot test updated * swarm/pss: WaitTillSnapshotLoaded() fixed * swarm/pss: gofmt applied * swarm/pss: refactoring, file renamed * swarm/pss: input data fixed * swarm/pss: race condition fixed * swarm/pss: test timeout increased * swarm/pss: eliminated the global variables * swarm/pss: tests added * swarm/pss: comments added * swarm/pss: comment fixed * swarm/pss: refactored according to review * swarm/pss: style fix * swarm/pss: increased timeout
* cmd/swarm/swarm-smoke: do not fail if a node does not respond to rpc (#19280)Anton Evangelatov2019-03-161-4/+12
|
* swarm/shed: add vector uint64 field (#19279)Janoš Guljaš2019-03-152-0/+458
|
* swarm, p2p: Prerequities for ENR replacing handshake (#19275)lash2019-03-1514-125/+370
| | | | | | | | | | | | | | | | | | * swarm/api, swarm/network, p2p/simulations: Prerequisites for handshake remove * swarm, p2p: Add full sim node configs for protocoltester * swarm/network: Make stream package pass tests * swarm/network: Extract peer and addr types out of protocol file * p2p, swarm: Make p2p/protocols tests pass + rename types.go * swarm/network: Deactivate ExecAdapter test until binary ENR prep * swarm/api: Remove comments * swarm/network: Uncomment bootnode record load
* cmd/swarm: dont connect to bootnodes in tests (#19270)Elad2019-03-152-5/+22
| | | | | | * cmd/swarm: dont connect to bootnodes in tests * cmd/utils: check for empty string when parsing enode
* cmd, core, eth, trie: get rid of trie cache generations (#19262)Péter Szilágyi2019-03-1421-332/+100
| | | | | | * cmd, core, eth, trie: get rid of trie cache generations * core, trie: get rid of remainder of cache gen boilerplate
* Merge pull request #19269 from holiman/alt_18957Péter Szilágyi2019-03-143-5/+147
|\ | | | | bind: Static byte arrays should be right-padded
| * accounts/abi/bind: simulated test case for fixed bytes logsPéter Szilágyi2019-03-142-5/+40
| |
| * bind: Static byte arrays should be right-paddedJeremy McNevin2019-03-142-2/+109
|/ | | | | Per https://solidity.readthedocs.io/en/v0.5.3/abi-spec.html: "bytes<M>: enc(X) is the sequence of bytes in X padded with trailing zero-bytes to a length of 32 bytes"
* eth/downloader: fix ancestor searching for light syncing (#19136)gary rong2019-03-141-17/+19
|
* changed file name grahpql.go to graphql.go (#19267)Shunsuke Watanabe2019-03-141-0/+0
| | | graphql: fix typo in file name
* asm: remove unused parameter for function Lex (#18058)Corey Lin2019-03-143-3/+3
|
* dashboard, p2p, vendor: visualize peers (#19247)Kurkó Mihály2019-03-1366-42208/+48090
| | | | | | * dashboard, p2p: visualize peers * dashboard: change scale to green to red
* Merge pull request #19261 from karalabe/less-blocksPéter Szilágyi2019-03-135-11/+11
|\ | | | | core: use headers only where blocks are unnecessary
| * core: use headers only where blocks are unnecessaryPéter Szilágyi2019-03-135-11/+11
| |
* | Merge pull request #19259 from ligi/address_19246Péter Szilágyi2019-03-131-1/+1
|\ \ | |/ |/| README: Mention go 1.10 as minumum - context #19246
| * README: Mention go 1.10 as minumum - context #19246ligi2019-03-121-1/+1
| |
* | Merge pull request #19252 from karalabe/badgerdbPéter Szilágyi2019-03-124-81/+81
|\ \ | | | | | | ethdb: tiny API tidy-up from the database rework pr
| * | ethdb, trie: tiny API tidy-up from the database rework prPéter Szilágyi2019-03-124-81/+81
|/ /
* | core/vm: 64 bit memory and gas calculations (#19210)Martin Holst Swende2019-03-1213-744/+914
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * core/vm: remove function call for stack validation from evm runloop * core/vm: separate gas calc into static + dynamic * core/vm: optimize push1 * core/vm: reuse pooled bigints for ADDRESS, ORIGIN and CALLER * core/vm: use generic error message for jump/jumpi, to avoid string interpolation * testdata: fix tests for new error message * core/vm: use 64-bit memory calculations * core/vm: fix error in memory calculation * core/vm: address review concerns * core/vm: avoid unnecessary use of big.Int:BitLen()
* | state: fix emptyStatet to emptyRoot (#19254)Sheldon2019-03-121-3/+3
| |
* | graphql: make gballet codeowner for review notifications (#19251)Guillaume Ballet2019-03-121-0/+1
| |
* | swarm: tracing improvements (#19249)Anton Evangelatov2019-03-115-23/+30
| |
* | swarm/storage/localstore: global batch write lock (#19245)Janoš Guljaš2019-03-097-418/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/storage/localstore: most basic database * swarm/storage/localstore: fix typos and comments * swarm/shed: add uint64 field Dec and DecInBatch methods * swarm/storage/localstore: decrement size counter on ModeRemoval update * swarm/storage/localstore: unexport modeAccess and modeRemoval * swarm/storage/localstore: add WithRetrievalCompositeIndex * swarm/storage/localstore: add TestModeSyncing * swarm/storage/localstore: fix test name * swarm/storage/localstore: add TestModeUpload * swarm/storage/localstore: add TestModeRequest * swarm/storage/localstore: add TestModeSynced * swarm/storage/localstore: add TestModeAccess * swarm/storage/localstore: add TestModeRemoval * swarm/storage/localstore: add mock store option for chunk data * swarm/storage/localstore: add TestDB_pullIndex * swarm/storage/localstore: add TestDB_gcIndex * swarm/storage/localstore: change how batches are written * swarm/storage/localstore: add updateOnAccess function * swarm/storage/localhost: add DB.gcSize * swarm/storage/localstore: update comments * swarm/storage/localstore: add BenchmarkNew * swarm/storage/localstore: add retrieval tests benchmarks * swarm/storage/localstore: accessors redesign * swarm/storage/localstore: add semaphore for updateGC goroutine * swarm/storage/localstore: implement basic garbage collection * swarm/storage/localstore: optimize collectGarbage * swarm/storage/localstore: add more garbage collection tests cases * swarm/shed, swarm/storage/localstore: rename IndexItem to Item * swarm/shed: add Index.CountFrom * swarm/storage/localstore: persist gcSize * swarm/storage/localstore: remove composite retrieval index * swarm/shed: IterateWithPrefix and IterateWithPrefixFrom Index functions * swarm/storage/localstore: writeGCSize function with leveldb batch * swarm/storage/localstore: unexport modeSetRemove * swarm/storage/localstore: update writeGCSizeWorker comment * swarm/storage/localstore: add triggerGarbageCollection function * swarm/storage/localstore: call writeGCSize on DB Close * swarm/storage/localstore: additional comment in writeGCSizeWorker * swarm/storage/localstore: add MetricsPrefix option * swarm/storage/localstore: fix a typo * swamr/shed: only one Index Iterate function * swarm/storage/localstore: use shed Iterate function * swarm/shed: pass a new byte slice copy to index decode functions * swarm/storage/localstore: implement feed subscriptions * swarm/storage/localstore: add more subscriptions tests * swarm/storage/localsore: add parallel upload test * swarm/storage/localstore: use storage.MaxPO in subscription tests * swarm/storage/localstore: subscription of addresses instead chunks * swarm/storage/localstore: lock item address in collectGarbage iterator * swarm/storage/localstore: fix TestSubscribePull to include MaxPO * swarm/storage/localstore: improve subscriptions * swarm/storage/localstore: add TestDB_SubscribePull_sinceAndUntil test * swarm/storage/localstore: adjust pull sync tests * swarm/storage/localstore: remove writeGCSizeDelay and use literal * swarm/storage/localstore: adjust subscriptions tests delays and comments * swarm/storage/localstore: add godoc package overview * swarm/storage/localstore: fix a typo * swarm/storage/localstore: update package overview * swarm/storage/localstore: remove repeated index change * swarm/storage/localstore: rename ChunkInfo to ChunkDescriptor * swarm/storage/localstore: add comment in collectGarbageWorker * swarm/storage/localstore: replace atomics with mutexes for gcSize and tests * swarm/storage/localstore: protect addrs map in pull subs tests * swarm/storage/localstore: protect slices in push subs test * swarm/storage/localstore: protect chunks in TestModePutUpload_parallel * swarm/storage/localstore: fix a race in TestDB_updateGCSem defers * swarm/storage/localstore: remove parallel flag from tests * swarm/storage/localstore: fix a race in testDB_collectGarbageWorker * swarm/storage/localstore: remove unused code * swarm/storage/localstore: add more context to pull sub log messages * swarm/storage/localstore: BenchmarkPutUpload and global lock option * swarm/storage/localstore: pre-generate chunks in BenchmarkPutUpload * swarm/storage/localstore: correct useGlobalLock in collectGarbage * swarm/storage/localstore: fix typos and update comments * swarm/storage/localstore: update writeGCSize comment * swarm/storage/localstore: global batch write lock * swarm/storage/localstore: remove global lock option * swarm/storage/localstore: simplify DB.Close
* | p2p/protocols: fix data race in TestProtocolHook (#19242)Ferenc Szabo2019-03-093-15/+37
| | | | | | | | | | | | | | | | | | | | dummyHook's fields were concurrently written by nodes and read by the test. The simplest solution is to protect all fields with a mutex. Enable: TestMultiplePeersDropSelf, TestMultiplePeersDropOther as they seemingly accidentally stayed disabled during a refactor/rewrite since 1836366ac19e30f157570e61342fae53bc6c8a57. resolves ethersphere/go-ethereum#1286
* | swarm/storage: add comparison towards leveldb.ErrNotFound (#19243)Anton Evangelatov2019-03-092-2/+7
| | | | | | | | | | | | * swarm/storage: add comparison towards leveldb.ErrNotFound * swarm/storage: wrap leveldb ErrNotFound
* | swarm: fix relationship between spans in open tracing (#19236)Anton Evangelatov2019-03-083-1/+15
| | | | | | | | | | | | | | | | * swarm/network: propagate span with ctx * swarm/network: try to stop stream.send.request spans on time * swarm/storage: add chunk ref as a log to netstore.fetcher span
* | cmd/swarm/swarm-smoke: better logs when debug mode triggers (#19237)Anton Evangelatov2019-03-081-4/+24
| | | | | | | | | | | | * cmd/swarm/swarm-smoke: better logs for debug functionality; * cmd/swarm/swarm-smoke: fixup
* | swarm/storage/localstore: fix synchronization in TestDB_gcSize (#19235)Janoš Guljaš2019-03-082-7/+12
| |
* | cmd/swarm: do not ignore cache size=0 (#19231)Elad2019-03-071-2/+2
| |
* | clef: fix erroneous api version (#19234)Martin Holst Swende2019-03-071-1/+1
| |
* | Merge pull request #19232 from karalabe/dl-fix-local-drop-syncPéter Szilágyi2019-03-071-1/+7
|\ \ | | | | | | eth/downloader: fix nil droppeer in state sync
| * | eth/downloader: fix nil droppeer in state syncPéter Szilágyi2019-03-071-1/+7
| | |
* | | usbwallet: check error returned by driver close (#18057)Corey Lin2019-03-071-3/+1
| | | | | | | | | | | | Although current two implementations(ledgerDriver, trezorDriver) of interface driver.Close do not actually return any error. Instead, they only return nil. But since the declaration of Close function returns error, it is better to check the returned error in case in future some new implementation of Close function returns error and we may forget to modify the function which invokes Close function at that time.
* | | signer: change the stdio jsonrpc to use legacy namespace conventions (#19047)Martin Holst Swende2019-03-0713-466/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR will will break existing UIs, since it changes all calls like ApproveSignTransaction to be on the form ui_approveSignTransaction. This is to make it possible for the UI to reuse the json-rpc library from go-ethereum, which uses this convention. Also, this PR removes some unused structs, after import/export were removed from the external api (so no longer needs internal methods for approval) One more breaking change is introduced, removing passwords from the ApproveSignTxResponse and the likes. This makes the manual interface more like the rulebased interface, and integrates nicely with the credential storage. Thus, the way it worked before, it would be tempting for the UI to implement 'remember password' functionality. The way it is now, it will be easy instead to tell clef to store passwords and use them. If a pw is not found in the credential store, the user is prompted to provide the password.
* | | swarm: localstore hasser (#19230)Janoš Guljaš2019-03-075-1/+152
| | |
* | | swarm/network: remove *WithServer tests from stream package (#19223)Ferenc Szabo2019-03-071-342/+0
| | | | | | | | | | | | | | | | | | | | | These tests never run as the build tag excluded them from the CI execution. As a results the (dead) code got out of sync with other parts of Swarm and now they would not even compile. => Removed. resolves ethersphere/go-ethereum#1238
* | | swarm/network/stream: Fix flaky tests in GetSubscriptionsRPC test (#19227)holisticode2019-03-071-12/+19
|/ / | | | | | | | | | | | | | | * swarm/network/stream: fixed timing issues * swarm/network/stream: only count first iteration of subscriptions * swarm/network/stream/: fix linter errors
* | Merge pull request #19021 from karalabe/database-cleanupPéter Szilágyi2019-03-0794-1394/+1586
|\ \ | | | | | | all: clean up and properly abstract database accesses
| * | all: clean up and proerly abstract database accessPéter Szilágyi2019-03-0694-1394/+1586
| | |
* | | p2p/protocols: fix race condition in TestAccountingSimulation (#19228)holisticode2019-03-071-2/+5
| | | | | | | | | p2p/protocols: Fix race condition in TestAccountingSimulation
* | | Merge pull request #19222 from karalabe/clique-fix-testPéter Szilágyi2019-03-061-2/+2
|\ \ \ | |/ / |/| | consensus/clique: fix test copy paste error, test what's documented
| * | consensus/clique: fix test copy paste error, test what's documentedPéter Szilágyi2019-03-061-2/+2
|/ /
* | accounts: prefer nil slices over zero-length slices (#19079)Matthew Halpern2019-03-062-4/+8
| |
* | cmd/swarm/swarm-smoke: sliding window test should not time out (#19152)Elad2019-03-062-30/+45
| |
* | Enable longrunning tests to run (#19208)holisticode2019-03-057-23/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * p2p/simulations: increased snapshot load timeout for debugging * swarm/network/stream: less nodes for snapshot longrunning tests * swarm/network: fixed longrunning tests * swarm/network/stream: store kademlia in bucket * swarm/network/stream: disabled healthy check in delivery tests * swarm/network/stream: longer SyncUpdateDelay for longrunning tests * swarm/network/stream: more debug output * swarm/network/stream: reduced longrunning snapshot tests to 64 nodes * swarm/network/stream: don't WaitTillHealthy in SyncerSimulation * swarm/network/stream: cleanup for PR
* | swarm/storage/localstore: fix testDB_collectGarbageWorker data race (#19206)Janoš Guljaš2019-03-051-5/+7
| |
* | Merge pull request #19205 from holiman/alltools_clefPéter Szilágyi2019-03-041-0/+5
|\ \ | | | | | | build: add clef to alltools and deb
| * | build: add clef to alltools and debMartin Holst Swende2019-03-041-0/+5
| | |
* | | vendor: update leveldb (#19201)gary rong2019-03-042-3/+9
|/ /
* | Revert "swarm/network: Use actual remote peer ip in underlay (#19137)" (#19193)Anton Evangelatov2019-03-022-46/+1
| | | | | | This reverts commit 460d206f309fc0884c666bd191a1b6a4b63462fc.
* | swarm/shed, swarm/storage/localstore: add LastPullSubscriptionChunk (#19190)Janoš Guljaš2019-03-025-15/+328
| | | | | | | | | | | | | | | | | | | | * swarm/shed, swarm/storage/localstore: add LastPullSubscriptionChunk * swarm/shed: fix comments * swarm/shed: fix TestIncByteSlice test * swarm/storage/localstore: fix TestDB_LastPullSubscriptionChunk
* | whisper: Remove v5 (#18432)Guillaume Ballet2019-03-0118-5592/+0
| |
* | swarm: enable p2p/discovery and disable dynamic dialling (#19189)Anton Evangelatov2019-03-013-3/+37
| |
* | build: enable Ubuntu Disco Dingo PPA buildsPéter Szilágyi2019-03-011-1/+1
| |
* | Merge pull request #19187 from karalabe/fix-ppa-go1.11-cache-2Péter Szilágyi2019-03-012-2/+2
|\ \ | | | | | | build/deb: fix PPA env var setting
| * | build/deb: fix PPA env var settingPéter Szilágyi2019-03-012-2/+2
|/ /
* | Merge pull request #19184 from karalabe/fix-ppa-go1.11-cachePéter Szilágyi2019-03-012-0/+6
|\ \ | | | | | | build/deb: use custom cache for PPA builder
| * | build/deb: use custom cache for PPA builderPéter Szilágyi2019-02-282-0/+6
| | |
* | | swarm: new snapshot files (#19185)holisticode2019-03-0117-46/+15
|/ /
* | Merge pull request #19183 from karalabe/bn256-arm64-go1.12-fixPéter Szilágyi2019-02-281-16/+16
|\ \ | | | | | | crypto/bn256/cloudflare: pull in upstream fix for Go 1.12 R18
| * | crypto/bn256/cloudflare: pull in upstream fix for Go 1.12 R18Péter Szilágyi2019-02-281-16/+16
| | |
* | | Merge pull request #19182 from karalabe/fix-legacy-receipt-decodingPéter Szilágyi2019-02-282-4/+12
|\ \ \ | |/ / |/| | core/types: fix receipt legacy decoding
| * | core/types: fix receipt legacy decodingPéter Szilágyi2019-02-282-4/+12
|/ /
* | p2p/enode: use localItemKey for local sequence number (#19131)Péter Szilágyi2019-02-284-13/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | * p2p/discover: remove unused function * p2p/enode: use localItemKey for local sequence number I added localItemKey for this purpose in #18963, but then forgot to actually use it. This changes the database layout yet again and requires bumping the version number.
| * | p2p/enode: use localItemKey for local sequence numberFelix Lange2019-02-192-4/+4
| | | | | | | | | | | | | | | | | | I added localItemKey for this purpose in #18963, but then forgot to actually use it. This changes the database layout yet again and requires bumping the version number.
| * | p2p/discover: remove unused functionFelix Lange2019-02-192-9/+2
| | |
* | | node: require LocalAppData variable (#19132)Felix Lange2019-02-281-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | * node: require LocalAppData variable This avoids path inconsistencies on Windows XP. Hat tip to @MicahZoltu for catching this so quickly. * node: fix typo
* | | swarm/network: WIP consider all nodes for healthy iteration (#19155)lash2019-02-285-29/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/network: WIP consider all nodes for healthy iteration * swarm/network/simulation: extend TestWaitTillHealthy to really check kads are healthy * cmd/swarm/swarm-snapshot: fixed bugs in snapshot creation binary * swarm/network/simulation: addressed PR comments * swarm/network/simulation: defer sim.Clsoe() * swarm/network/simulation: fixed wrong sim.Close() * swarm/network/simulation: addressed PR comments * cmd/swarm/swarm-snapshot: reducing default to 8 nodes, more to 4 * cmd/swarm/swarm-snapshot: extended timeout to 3 mins, or 256 nodes snapshot times out * swarm/network/simulation: More PR comments
* | | Merge pull request #19166 from SamuelMarks/go-1.12Péter Szilágyi2019-02-2711-20/+103
|\ \ \ | | | | | | | | Upgrade to Go 1.12
| * | | common/fdlimit: fix macos file descriptors for Go 1.12Péter Szilágyi2019-02-273-1/+73
| | | |
| * | | travis, appveyor, Dockerfile: upgrade to Go 1.12Samuel Marks2019-02-278-19/+30
|/ / /
* | | vendor: update leveldb upstream which include a compaction fix (#19163)gary rong2019-02-278-17/+84
| | |
* | | swarm/chunk: move chunk related declarations to chunk package (#19170)Janoš Guljaš2019-02-2628-285/+324
| | |
* | | travis, build: switch to NDK 19b, fix gomobile builds (#19171)Péter Szilágyi2019-02-262-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | * travis, build: switch to NDK 19b, fix gomobile builds * travis, build: move NDK into its final bundle location * travis: disable Android build on PRs once again
* | | Merge pull request #19164 from karalabe/nuke-old-containersPéter Szilágyi2019-02-264-62/+0
|\ \ \ | | | | | | | | containers/docker: nuke per the 1.8.0 deprecation note
| * | | containers/docker: nuke per the 1.8.0 deprecation notePéter Szilágyi2019-02-254-62/+0
| | | |
* | | | les, les/flowcontrol: improved request serving and flow control (#18230)Felföldi Zsolt2019-02-2639-984/+3690
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change - implements concurrent LES request serving even for a single peer. - replaces the request cost estimation method with a cost table based on benchmarks which gives much more consistent results. Until now the allowed number of light peers was just a guess which probably contributed a lot to the fluctuating quality of available service. Everything related to request cost is implemented in a single object, the 'cost tracker'. It uses a fixed cost table with a global 'correction factor'. Benchmark code is included and can be run at any time to adapt costs to low-level implementation changes. - reimplements flowcontrol.ClientManager in a cleaner and more efficient way, with added capabilities: There is now control over bandwidth, which allows using the flow control parameters for client prioritization. Target utilization over 100 percent is now supported to model concurrent request processing. Total serving bandwidth is reduced during block processing to prevent database contention. - implements an RPC API for the LES servers allowing server operators to assign priority bandwidth to certain clients and change prioritized status even while the client is connected. The new API is meant for cases where server operators charge for LES using an off-protocol mechanism. - adds a unit test for the new client manager. - adds an end-to-end test using the network simulator that tests bandwidth control functions through the new API.
* | | | graphql: fix typos in comments (#19041)Roc Yu2019-02-261-2/+2
| | | |
* | | | Merge pull request #19169 from karalabe/ppa-bumpPéter Szilágyi2019-02-265-7/+7
|\ \ \ \ | | | | | | | | | | build: bump PPA builders to Go 1.11
| * | | | build: bump PPA builders to Go 1.11Péter Szilágyi2019-02-265-7/+7
| | | | |
* | | | | swarm/storage/localstore: fix tests for windows os (#19161)Janoš Guljaš2019-02-261-0/+21
|/ / / /
* | | | swarm/pss: fix data race on HandshakeController.symKeyIndex (#19162)Janoš Guljaš2019-02-264-48/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/pss: fix data race on HandshakeController.symKeyIndex The HandshakeController.symKeyIndex map was accessed concurrently. Since insufficient test coverage the race is not detected every time. However, running TestClientHandshake a 100 times seems to be enough to reproduce the race. Note: I've chosen HandshakeController.lock to protect HandshakeController.symKeyIndex as that was already protected in a few functions by that lock. Additionally: - removed unused testStore - enabled tests in handshake_test.go as they pass - removed code duplication by adding getSymKey() * swarm/pss: fix a data race on HandshakeController.keyC * swarm/pss: fix data races with on Pss.symKeyPool
* | | | les: remove redundant type specifiers (#19091)Matthew Halpern2019-02-252-15/+10
| | | |
* | | | rlp: added pooling of streams using sync (#19044)Marius van der Wijden2019-02-251-4/+17
|/ / / | | | | | | Prevents reallocation, improves performance
* | | swarm/network/simulation: do not copy node mutex in UploadSnapshot (#19160)Janoš Guljaš2019-02-251-4/+4
| | |
* | | swarm/*: remove redundant type specifiers (#19089)Matthew Halpern2019-02-254-4/+4
| | |
* | | swarm/pss: remove unused function (#19100)Matthew Halpern2019-02-241-16/+0
| | |
* | | cmd,swarm: enforce camel case variable names (#19060)Matthew Halpern2019-02-2412-101/+101
| | |
* | | swarm: mock store listings (#19157)Janoš Guljaš2019-02-2317-141/+2209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/storage/mock: implement listings methods for mem and rpc stores * swarm/storage/mock/rpc: add comments and newTestStore helper function * swarm/storage/mock/mem: add missing comments * swarm/storage/mock: add comments to new types and constants * swarm/storage/mock/db: implement listings for mock/db global store * swarm/storage/mock/test: add comments for MockStoreListings * swarm/storage/mock/explorer: initial implementation * cmd/swarm/global-store: add chunk explorer * cmd/swarm/global-store: add chunk explorer tests * swarm/storage/mock/explorer: add tests * swarm/storage/mock/explorer: add swagger api definition * swarm/storage/mock/explorer: not-zero test values for invalid addr and key * swarm/storage/mock/explorer: test wildcard cors origin * swarm/storage/mock/db: renames based on Fabio's suggestions * swarm/storage/mock/explorer: add more comments to testHandler function * cmd/swarm/global-store: terminate subprocess with Kill in tests
* | | swarm: Fix localstore test deadlock with race detector (#19153)Janoš Guljaš2019-02-236-66/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/storage/localstore: close localstore in two tests * swarm/storage/localstore: fix a possible deadlock in tests * swarm/storage/localstore: re-enable pull subs tests for travis race * swarm/storage/localstore: stop sending to errChan on context done in tests * swarm/storage/localstore: better want check in readPullSubscriptionBin * swarm/storage/localstore: protect chunk put with addr lock in tests * swamr/storage/localstore: wait for gc and writeGCSize workers on Close * swarm/storage/localstore: more correct testDB_collectGarbageWorker * swarm/storage/localstore: set DB Close timeout to 5s
* | | travis.yml: add race detector job for Swarm (#19148)Ferenc Szabo2019-02-222-6/+61
| | |
* | | .travis.yml: make build independent of repo name (#17607)Nguyen Kien Trung2019-02-221-1/+1
| | |
* | | swarm/shed: fix a deadlock in meter function (#19149)Janoš Guljaš2019-02-221-26/+6
| | |
* | | swarm/network/master: protect SetNextBatch iterator after close (#19147)Janoš Guljaš2019-02-222-0/+15
| | |
* | | swarm/version: bump to v0.3.12 unstablePéter Szilágyi2019-02-211-1/+1
| | |
* | | core: remove unnecessary fields in logs, receipts and tx lookups (#17106)gary rong2019-02-2113-61/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * core: remove unnecessary fields in log * core: bump blockchain database version * core, les: remove unnecessary fields in txlookup * eth: print db version explicitly * core/rawdb: drop txlookup entry struct wrapper
* | | core: more tests for sidechain import, fixes #19105 (#19113)Martin Holst Swende2019-02-212-20/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * blockchain: more tests for sidechain import, fixes #19105 * core/blockchain: rework import of pruned canon blocks and canon-prepended sidechains * core/blockchain: minor clarity change * core/blockchain: remove unused method
* | | common/fdlimit: Fix compilation error in freebsd, Raise() returns uint64 ↵Enrique Fynn2019-02-211-1/+1
| | | | | | | | | | | | | | | (#19141) cast limit.Cur (int64) to uint64, fix test and compilation error
* | | swarm/storage: fix loop bound for database cleanup (#19085)Matthew Halpern2019-02-211-2/+2
| | | | | | | | | | | | | | | | | | The current loop continuation condition is always true as a uint8 is always being checked whether it is less than 255 (its maximum value). Since the loop starts with the value 1, the loop termination can be guarranteed to exit once the value overflows to 0.
* | | cmd/swarm/global-store: use kill instead interrupt in tests (#19142)Janoš Guljaš2019-02-211-2/+2
| | |
* | | Ci race detector handle failing tests (#19143)Ferenc Szabo2019-02-2113-132/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/storage: increase mget timeout in common_test.go TestDbStoreCorrect_1k sometimes timed out with -race on Travis. --- FAIL: TestDbStoreCorrect_1k (24.63s) common_test.go:194: testStore failed: timed out after 10s * swarm: remove unused vars from TestSnapshotSyncWithServer nodeCount and chunkCount is returned from setupSim and those values we use. * swarm: move race/norace helpers from stream to testutil As we will need to use the flag in other packages, too. * swarm: refactor TestSwarmNetwork case Extract long running test cases for better visibility. * swarm/network: skip TestSyncingViaGlobalSync with -race As panics on Travis. panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7e351b] * swarm: run TestSwarmNetwork with fewer nodes with -race As otherwise we always get test failure with `network_test.go:374: context deadline exceeded` even with raised `Timeout`. * swarm/network: run TestDeliveryFromNodes with fewer nodes with -race Test on Travis times out with 8 or more nodes if -race flag is present. * swarm/network: smaller node count for discovery tests with -race TestDiscoveryPersistenceSimulationSimAdapters failed on Travis with `-race` flag present. The failure was due to extensive memory usage, coming from the CGO runtime. Using a smaller node count resolves the issue. === RUN TestDiscoveryPersistenceSimulationSimAdapter ==7227==ERROR: ThreadSanitizer failed to allocate 0x80000 (524288) bytes of clock allocator (error code: 12) FATAL: ThreadSanitizer CHECK failed: ./gotsan.cc:6976 "((0 && "unable to mmap")) != (0)" (0x0, 0x0) FAIL github.com/ethereum/go-ethereum/swarm/network/simulations/discovery 804.826s * swarm/network: run TestFileRetrieval with fewer nodes with -race Otherwise we get a failure due to extensive memory usage, as the CGO runtime cannot allocate more bytes. === RUN TestFileRetrieval ==7366==ERROR: ThreadSanitizer failed to allocate 0x80000 (524288) bytes of clock allocator (error code: 12) FATAL: ThreadSanitizer CHECK failed: ./gotsan.cc:6976 "((0 && "unable to mmap")) != (0)" (0x0, 0x0) FAIL github.com/ethereum/go-ethereum/swarm/network/stream 155.165s * swarm/network: run TestRetrieval with fewer nodes with -race Otherwise we get a failure due to extensive memory usage, as the CGO runtime cannot allocate more bytes ("ThreadSanitizer failed to allocate"). * swarm/network: skip flaky TestGetSubscriptionsRPC on Travis w/ -race Test fails a lot with something like: streamer_test.go:1332: Real subscriptions and expected amount don't match; real: 0, expected: 20 * swarm/storage: skip TestDB_SubscribePull* tests on Travis w/ -race Travis just hangs... ok github.com/ethereum/go-ethereum/swarm/storage/feed/lookup 1.307s keepalive keepalive keepalive or panics after a while. Without these tests the race detector job is now stable. Let's invetigate these tests in a separate issue: https://github.com/ethersphere/go-ethereum/issues/1245
* | | swarm/network: Keep span across roundtrip (#19140)lash2019-02-207-45/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/newtork: WIP Span request span until delivery and put * swarm/storage: Introduce new trace across single fetcher lifespan * swarm/network: Put span ids for sendpriority in context value * swarm: Add global span store in tracing * swarm/tracing: Add context key constants * swarm/tracing: Add comments * swarm/storage: Remove redundant fix for filestore * swarm/tracing: Elaborate constants comments * swarm/network, swarm/storage, swarm:tracing: Minor cleanup
* | | swarm/network: Use actual remote peer ip in underlay (#19137)lash2019-02-202-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/network: Logline to see handshake addr * swarm/network: Replace remote ip in handshake uaddr * swarm/network: Add test for enode uaddr rewrite method * swarm/network: Remove redundance pointer return from sanitize * swarm/network: Obeying the linting machine * swarm/network: Add panic comment (travis trigger take 1)
* | | swarm/network/stream: fix a goroutine leak in Registry (#19139)Janoš Guljaš2019-02-202-9/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/network/stream: fix a goroutine leak in Registry * swarm/network, swamr/network/stream: Kademlia close addr count and depth change chans * swarm/network/stream: rename close channel to quit * swarm/network/stream: fix sync between NewRegistry goroutine and Close method
* | | accounts/abi: mutex lock in TransactionByHash and code cleanup (#19133)Dan Kinsley2019-02-203-4/+36
| | |
* | | p2p/simulations: enforce camel case variable names (#19053)Matthew Halpern2019-02-201-2/+2
| | |
* | | core/vm: remove unused constants (#19095)Péter Szilágyi2019-02-201-4/+0
|\ \ \
| * | | core/vm: remove unused constantsMatthew Halpern2019-02-181-4/+0
| | | |
* | | | eth: extract check for tracing transaction in block file (#19107)Matthew Halpern2019-02-201-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | Simplifies the transaction presense check to use a function to determine if the transaction is present in the block provided to trace, which originally had a redundant parenthesis and used a `exist` flag to dictate control flow.
* | | | trie: prefer nil slices over zero-length slices (#19084)Matthew Halpern2019-02-194-5/+5
| | | |
* | | | p2p/discover: make maximum packet size a constant (#19061)Matthew Halpern2019-02-191-7/+9
| | | |
* | | | core: remove redundant parentheses (#19106)Matthew Halpern2019-02-192-2/+2
| | | |
* | | | crypto: fix build when CGO_ENABLED=0 (#19121)Jeremy Schlatter2019-02-192-2/+2
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Package crypto works with or without cgo, which is great. However, to make it work without cgo required setting the build tag `nocgo`. It's common to disable cgo by instead just setting the environment variable `CGO_ENABLED=0`. Setting this environment variable does _not_ implicitly set the build tag `nocgo`. So projects that try to build the crypto package with `CGO_ENABLED=0` will fail. I have done this myself several times. Until today, I had just assumed that this meant that this package requires cgo. But a small build tag change will make this case work. Instead of using `nocgo` and `!nocgo`, we can use `!cgo` and `cgo`, respectively. The `cgo` build tag is automatically set if cgo is enabled, and unset if it is disabled.
* | | eth, node: use APPDATA env to support cygwin/msys correctly (#17786)HackyMiner2019-02-193-7/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | This changes default location of the data directory to use the LOCALAPPDATA environment variable, resolving issues with remote home directories an improving compatibility with Cygwin. Fixes #2239 Fixes #2237 Fixes #16437
* | | rpc: fixup change to not verify websocket origin (#19128)Felix Lange2019-02-191-1/+1
| | | | | | | | | | | | This corrects the previous change which broke the build and was pushed by accident.
* | | rpc: skip websocket origin check if there is no origin headerFelix Lange2019-02-191-0/+7
| | |
* | | signer/core: handle JSON unmarshal error (#19123)Hsien-Tang Kao2019-02-191-3/+9
| | |
* | | accounts/abi: fix error message format (#19122)Hsien-Tang Kao2019-02-191-1/+1
| | |
* | | accounts: fix typos from the `SignData` merge (#19119)Guillaume Ballet2019-02-192-3/+3
| | |
* | | swarm: Reinstate Pss Protocol add call through swarm service (#19117)lash2019-02-181-51/+56
| | | | | | | | | | | | | | | | | | * swarm: Reinstate Pss Protocol add call through swarm service * swarm: Even less self
* | | eth: remove redundant parentheses (#19108)Matthew Halpern2019-02-181-1/+1
|/ /
* | crypto/ecies: remove unused function (#19096)Matthew Halpern2019-02-181-13/+0
| |
* | metrics: remove redundant type specifiers (#19090)Matthew Halpern2019-02-182-2/+2
| |
* | node: prefer nil slices over zero-length slices (#19083)Matthew Halpern2019-02-182-2/+2
| |
* | core: remove unused function (#19097)Matthew Halpern2019-02-181-17/+0
| |
* | core/vm: update annotation (#19050)needkane2019-02-181-9/+6
| |
* | signer/core: remove unused function (#19099)Matthew Halpern2019-02-181-1/+0
| |
* | cmd/swarm/swarm-smoke: Trigger chunk debug on timeout (#19101)holisticode2019-02-182-10/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cmd/swarm/swarm-smoke: first version trigger has-chunks on timeout * cmd/swarm/swarm-smoke: finalize trigger to chunk debug * cmd/swarm/swarm-smoke: fixed httpEndpoint for trigger * cmd/swarm/swarm-smoke: port * cmd/swarm/swarm-smoke: ws not rpc * cmd/swarm/swarm-smoke: added debug output * cmd/swarm/swarm-smoke: addressed PR comments * cmd/swarm/swarm-smoke: renamed track-timeout and track-chunks
* | Merge pull request #19114 from holiman/update_bigcachePéter Szilágyi2019-02-185-33/+73
|\ \ | | | | | | vendor: update bigcache
| * | vendor: update bigcacheMartin Holst Swende2019-02-185-33/+73
| | |
* | | build: explicitly force .xz compression (old debuild picks gzip) (#19118)Péter Szilágyi2019-02-181-1/+1
| | |
* | | travis.yml: add launchpad SSH public key (#19115)Péter Szilágyi2019-02-181-0/+1
|/ /
* | p2p, swarm: fix node up races by granular locking (#18976)Ferenc Szabo2019-02-1812-123/+323
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/network: DRY out repeated giga comment I not necessarily agree with the way we wait for event propagation. But I truly disagree with having duplicated giga comments. * p2p/simulations: encapsulate Node.Up field so we avoid data races The Node.Up field was accessed concurrently without "proper" locking. There was a lock on Network and that was used sometimes to access the field. Other times the locking was missed and we had a data race. For example: https://github.com/ethereum/go-ethereum/pull/18464 The case above was solved, but there were still intermittent/hard to reproduce races. So let's solve the issue permanently. resolves: ethersphere/go-ethereum#1146 * p2p/simulations: fix unmarshal of simulations.Node Making Node.Up field private in 13292ee897e345045fbfab3bda23a77589a271c1 broke TestHTTPNetwork and TestHTTPSnapshot. Because the default UnmarshalJSON does not handle unexported fields. Important: The fix is partial and not proper to my taste. But I cut scope as I think the fix may require a change to the current serialization format. New ticket: https://github.com/ethersphere/go-ethereum/issues/1177 * p2p/simulations: Add a sanity test case for Node.Config UnmarshalJSON * p2p/simulations: revert back to defer Unlock() pattern for Network It's a good patten to call `defer Unlock()` right after `Lock()` so (new) error cases won't miss to unlock. Let's get back to that pattern. The patten was abandoned in 85a79b3ad3c5863f8612d25c246bcfad339f36b7, while fixing a data race. That data race does not exist anymore, since the Node.Up field got hidden behind its own lock. * p2p/simulations: consistent naming for test providers Node.UnmarshalJSON * p2p/simulations: remove JSON annotation from private fields of Node As unexported fields are not serialized. * p2p/simulations: fix deadlock in Network.GetRandomDownNode() Problem: GetRandomDownNode() locks -> getDownNodeIDs() -> GetNodes() tries to lock -> deadlock On Network type, unexported functions must assume that `net.lock` is already acquired and should not call exported functions which might try to lock again. * p2p/simulations: ensure method conformity for Network Connect* methods were moved to p2p/simulations.Network from swarm/network/simulation. However these new methods did not follow the pattern of Network methods, i.e., all exported method locks the whole Network either for read or write. * p2p/simulations: fix deadlock during network shutdown `TestDiscoveryPersistenceSimulationSimAdapter` often got into deadlock. The execution was stuck on two locks, i.e, `Kademlia.lock` and `p2p/simulations.Network.lock`. Usually the test got stuck once in each 20 executions with high confidence. `Kademlia` was stuck in `Kademlia.EachAddr()` and `Network` in `Network.Stop()`. Solution: in `Network.Stop()` `net.lock` must be released before calling `node.Stop()` as stopping a node (somehow - I did not find the exact code path) causes `Network.InitConn()` to be called from `Kademlia.SuggestPeer()` and that blocks on `net.lock`. Related ticket: https://github.com/ethersphere/go-ethereum/issues/1223 * swarm/state: simplify if statement in DBStore.Put() * p2p/simulations: remove faulty godoc from private function The comment started with the wrong method name. The method is simple and self explanatory. Also, it's private. => Let's just remove the comment.
* | swarm/pss: refactoring (#19110)gluk2562019-02-173-256/+293
| | | | | | | | | | | | | | | | * swarm/pss: split pss and keystore * swarm/pss: moved whisper to keystore * swarm/pss: goimports fixed
* | trie: fix error in node decoding (#19111)Martin Holst Swende2019-02-162-0/+16
| |
* | swarm/storage: fix influxdb gc metrics report (#19102)Elad2019-02-151-5/+3
| |
* | Merge pull request #19087 from karalabe/ios-fix-take-2Péter Szilágyi2019-02-153-7/+18
|\ \ | | | | | | vendor: pull in upstream syscall fixes for non-linux/arm64
| * | vendor: pull in upstream syscall fixes for non-linux/arm64Péter Szilágyi2019-02-153-7/+18
| | |
* | | cmd: prefer nil slices over zero-length slices (#19077)Matthew Halpern2019-02-158-12/+12
| | |
* | | console: prefer nil slices over zero-length slices (#19076)Matthew Halpern2019-02-151-1/+1
|/ /
* | core: enforce camel case variable names (#19058)Matthew Halpern2019-02-151-6/+6
| |
* | swarm/network: Saturation check for healthy networks (#19071)holisticode2019-02-154-29/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/network: new saturation for implementation * swarm/network: re-added saturation func in Kademlia as it is used elsewhere * swarm/network: saturation with higher MinBinSize * swarm/network: PeersPerBin with depth check * swarm/network: edited tests to pass new saturated check * swarm/network: minor fix saturated check * swarm/network/simulations/discovery: fixed renamed RPC call * swarm/network: renamed to isSaturated and returns bool * swarm/network: early depth check
* | Merge pull request #19072 from karalabe/update-syscallsPéter Szilágyi2019-02-15249-14114/+83253
|\ \ | | | | | | vendor: update syscalls dependency
| * | vendor: update syscalls dependencyPéter Szilágyi2019-02-15249-14114/+83253
|/ /
* | common/fdlimit: fix windows build (#19068)Felix Lange2019-02-141-4/+6
| |
* | light: enforce camel case variable names (#19054)Matthew Halpern2019-02-142-2/+2
| |
* | build: avoid dput and upload with sftp directly (#19067)Felix Lange2019-02-143-27/+53
| |
* | eth/tracers: enforce camel case variable names (#19057)Matthew Halpern2019-02-141-2/+2
| |
* | console, internal: enforce camel case variable names (#19059)Matthew Halpern2019-02-143-32/+32
| |
* | swarm/storage/netstore: add fetcher cancellation on shutdown (#19049)Elad2019-02-143-120/+144
| | | | | | | | swarm/network/stream: remove netstore internal wg swarm/network/stream: run individual tests with t.Run
* | clef: documentation generator + docs (#19020)Martin Holst Swende2019-02-1411-33/+398
| | | | | | | | | | | | | | | | * clef: implement documentation generation + remove unused struct * clef: formatting + spelling * clef: updates to doc
* | swarm: fix network/stream data races (#19051)Janoš Guljaš2019-02-1314-197/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * swarm/network/stream: newStreamerTester cleanup only if err is nil * swarm/network/stream: raise newStreamerTester waitForPeers timeout * swarm/network/stream: fix data races in GetPeerSubscriptions * swarm/storage: prevent data race on LDBStore.batchesC https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-461775049 * swarm/network/stream: fix TestGetSubscriptionsRPC data race https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-461768477 * swarm/network/stream: correctly use Simulation.Run callback https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-461783804 * swarm/network: protect addrCountC in Kademlia.AddrCountC function https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-462273444 * p2p/simulations: fix a deadlock calling getRandomNode with lock https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-462317407 * swarm/network/stream: terminate disconnect goruotines in tests * swarm/network/stream: reduce memory consumption when testing data races * swarm/network/stream: add watchDisconnections helper function * swarm/network/stream: add concurrent counter for tests * swarm/network/stream: rename race/norace test files and use const * swarm/network/stream: remove watchSim and its panic * swarm/network/stream: pass context in watchDisconnections * swarm/network/stream: add concurrent safe bool for watchDisconnections * swarm/storage: fix LDBStore.batchesC data race by not closing it
* | swarm: fix uptime gauge update goroutine leak by introducing cleanup ↵Elad2019-02-131-21/+32
| | | | | | | | functions (#19040)
* | accounts/abi/bind/backends: add TransactionByHash to SimulatedBackend (#19026)Dan Kinsley2019-02-132-0/+85
| |
* | swarm/storage: fix HashExplore concurrency bug ethersphere#1211 (#19028)holisticode2019-02-131-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | * swarm/storage: fix HashExplore concurrency bug ethersphere#1211 * swarm/storage: lock as value not pointer * swarm/storage: wait for to complete * swarm/storage: fix linter problems * swarm/storage: append to nil slice
* | swarm/pss: mutex lifecycle fixed (#19045)gluk2562019-02-131-4/+7
| |
* | rpc: make stdio usable over custom channels (#19046)Martin Holst Swende2019-02-131-4/+16
| |
* | clef: bidirectional communication with UI (#19018)Martin Holst Swende2019-02-1312-183/+339
| | | | | | | | | | | | | | | | | | | | * clef: initial implementation of bidirectional RPC communication for the UI * signer: fix tests to pass + formatting * clef: fix unused import + formatting * signer: gosimple nitpicks
* | clef: external signing fixes + signing data (#19003)Martin Holst Swende2019-02-1210-73/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * signer/clef: make use of json-rpc notification * signer: tidy up output of OnApprovedTx * accounts/external, signer: implement remote signing of text, make accounts_sign take hexdata * clef: added basic testscript * signer, external, api: add clique signing test to debug rpc, fix clique signing in clef * signer: fix clique interoperability between geth and clef * clef: rename networkid switch to chainid * clef: enable chainid flag * clef, signer: minor changes from review * clef: more tests for signer
* | .travis.yml: fix upload destination (#19043)Felix Lange2019-02-122-2/+2
| |
* | common/fdlimit: cap on MacOS file limits, fixes #18994 (#19035)Martin Holst Swende2019-02-125-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common/fdlimit: cap on MacOS file limits, fixes #18994 * common/fdlimit: fix Maximum-check to respect OPEN_MAX * common/fdlimit: return error if OPEN_MAX is exceeded in Raise() * common/fdlimit: goimports * common/fdlimit: check value after setting fdlimit * common/fdlimit: make comment a bit more descriptive * cmd/utils: make fdlimit happy path a bit cleaner
* | build: use SFTP for launchpad uploads (#19037)Felix Lange2019-02-124-21/+60
| | | | | | | | | | | | | | | | * build: use sftp for launchpad uploads * .travis.yml: configure sftp export * build: update CI docs
* | swarm/docker: add global-store and split docker images (#19038)Rafael Matias2019-02-121-6/+15
| |
* | swarm: CI race detector test adjustments (#19017)Ferenc Szabo2019-02-096-84/+60
| |
* | swarm/pss: transition to whisper v6 (#19023)gluk2562019-02-096-8/+8
| |
* | swarm/network, swarm/storage: Preserve opentracing contexts (#19022)lash2019-02-0810-107/+122
| |
* | Merge pull request #18988 from holiman/repro18977Péter Szilágyi2019-02-083-12/+73
|\ \ | | | | | | core: repro #18977
| * | core: fix pruner panic when importing low-diff-large-sidechainPéter Szilágyi2019-02-083-86/+44
| | |
| * | core: repro #18977Martin Holst Swende2019-02-082-1/+104
|/ /
* | swarm/storage/localstore: new localstore package (#19015)Janoš Guljaš2019-02-0817-0/+4244
| |
* | swarm: Debug API and HasChunks() API endpoint (#18980)holisticode2019-02-0712-37/+145
| |
* | cmd/swarm/global-store: global store cmd (#19014)Janoš Guljaš2019-02-078-3/+476
| |
* | Merge pull request #19012 from holiman/default155Péter Szilágyi2019-02-071-15/+3
|\ \ | | | | | | ethapi: default to use eip-155 protected transactions
| * | ethapi: default to use eip-155 protected transactionsMartin Holst Swende2019-02-071-15/+3
| | |
* | | Merge pull request #18991 from karalabe/archive-write-cachePéter Szilágyi2019-02-077-17/+24
|\ \ \ | | | | | | | | cmd/utils, eth: relinquish GC cache to read cache in archive mode
| * | | cmd/utils, eth: relinquish GC cache to read cache in archive modePéter Szilágyi2019-02-077-17/+24
| | | |
* | | | cmd/swarm/swarm-smoke: refactor generateEndpoints (#19006)Anton Evangelatov2019-02-076-191/+214
| | | |
* | | | cmd/swarm: hashes command (#19008)holisticode2019-02-074-14/+71
|/ / /
* | | Merge pull request #16619 from kielbarry/contractsgolintPéter Szilágyi2019-02-076-237/+223
|\ \ \ | | | | | | | | contracts/*: golint updates for this or self warning
| * | | contracts/chequebook: polishes and naked return removalsPéter Szilágyi2019-02-071-110/+111
| | | |
| * | | contracts/*: golint updates for this or self warningKiel barry2019-02-076-209/+194
|/ / /
* | | light: make chain receiver names consistent (#18997)Matthew Halpern2019-02-071-143/+143
| | |
* | | light: make transaction pool receiver names consistent (#19000)Matthew Halpern2019-02-071-39/+39
| | |
* | | mobile: add ability to create transactions for deploying contracts (#16104)Derek Gottfrid2019-02-071-1/+11
| | |
* | | cmd, node, p2p/simulations: fix node account manager leak (#19004)Janoš Guljaš2019-02-0716-13/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * node: close AccountsManager in new Close method * p2p/simulations, p2p/simulations/adapters: handle node close on shutdown * node: move node ephemeralKeystore cleanup to stop method * node: call Stop in Node.Close method * cmd/geth: close node.Node created with makeFullNode in cli commands * node: close Node instances in tests * cmd/geth, node: minor code style fixes * cmd, console, miner, mobile: proper node Close() termination
* | | core/state: more memory efficient preimage allocation (#16663)atsushi-ishibashi2019-02-072-1/+10
|/ /
* | Merge pull request #19005 from karalabe/puppeth-fix-petersburgPéter Szilágyi2019-02-061-3/+7
|\ \ | | | | | | cmd/puppeth: handle pre-set Petersburg number, save changed fork rules
| * | cmd/puppeth: handle pre-set Petersburg number, save changed fork rulesPéter Szilágyi2019-02-061-3/+7
| | |
* | | swarm/storage: Get all chunk references for a given file (#19002)holisticode2019-02-062-0/+76
|/ /
* | docs: add audit reports (#18996)Martin Holst Swende2019-02-062-0/+0
| | | | | | | | | | | | * docs: add audit reports * docs: better filenames
* | signer, clef: implement EIP191/712 (#17789)Paul Berg2019-02-0619-169/+1969
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Named functions and defined a basic EIP191 content type list * Written basic content type functions * Added ecRecover method in the clef api * Updated the extapi changelog and addded indications in the README * Changed the version of the external API * Added tests for 0x45 * Implementing UnmarshalJSON() for TypedData * Working on TypedData * Solved the auditlog issue * Changed method to signTypedData * Changed mimes and implemented the 'encodeType' function for EIP-712 * Polished docstrings, ran goimports and swapped fmt.Errorf with errors.New where possible * Drafted recursive encodeData * Ran goimports and gofmt * Drafted first version of EIP-712, including tests * Temporarily switched to using common.Address in tests * Drafted text/validator and and rewritten []byte as hexutil.Bytes * Solved stringified address encoding issue * Changed the property type required by signData from bytes to interface{} * Fixed bugs in 'data/typed' signs * Brought legal warning back after temporarily disabling it for development * Added example RPC calls for account_signData and account_signTypedData * Named functions and defined a basic EIP191 content type list * Written basic content type functions * Added ecRecover method in the clef api * Updated the extapi changelog and addded indications in the README * Added tests for 0x45 * Implementing UnmarshalJSON() for TypedData * Working on TypedData * Solved the auditlog issue * Changed method to signTypedData * Changed mimes and implemented the 'encodeType' function for EIP-712 * Polished docstrings, ran goimports and swapped fmt.Errorf with errors.New where possible * Drafted recursive encodeData * Ran goimports and gofmt * Drafted first version of EIP-712, including tests * Temporarily switched to using common.Address in tests * Drafted text/validator and and rewritten []byte as hexutil.Bytes * Solved stringified address encoding issue * Changed the property type required by signData from bytes to interface{} * Fixed bugs in 'data/typed' signs * Brought legal warning back after temporarily disabling it for development * Added example RPC calls for account_signData and account_signTypedData * Polished and fixed PR * Polished and fixed PR * Solved malformed data panics and also wrote tests * Solved malformed data panics and also wrote tests * Added alphabetical sorting to type dependencies * Added alphabetical sorting to type dependencies * Added pretty print to data/typed UI * Added pretty print to data/typed UI * signer: more tests for typed data * signer: more tests for typed data * Fixed TestMalformedData4 errors and renamed IsValid to Validate * Fixed TestMalformedData4 errors and renamed IsValid to Validate * Fixed more new failing tests and deanonymised some functions * Fixed more new failing tests and deanonymised some functions * Added types to EIP712 output in cliui * Added types to EIP712 output in cliui * Fixed regexp issues * Fixed regexp issues * Added pseudo-failing test * Added pseudo-failing test * Fixed false positive test * Fixed false positive test * Added PrettyPrint method * Added PrettyPrint method * signer: refactor formatting and UI * signer: make ui use new message format for signing * Fixed breaking changes * Fixed rules_test failing test * Added extra regexp for reference types * signer: more hard types * Fixed failing test, formatted files * signer: use golang/x keccak * Fixed goimports error * clef, signer: address some review concerns * Implemented latest recommendations * Fixed comments and uintint256 issue * accounts, signer: fix mimetypes, add interface to sign data with passphrase * signer, accounts: remove duplicated code, pass hash preimages to signing * signer: prevent panic in type assertions, make cliui print rawdata as quotable-safe * signer: linter fixes, remove deprecated crypto dependency * accounts: fix goimport
* | swarm/pss: Remove pss service leak in test (#18992)lash2019-02-052-0/+11
| |
* | swarm/storage: fix test timeout with -race by increasing mget timeoutFerenc Szabo2019-02-052-5/+3
| |
* | vendor: update github.com/peterh/liner (#18990)Felix Lange2019-02-0510-40/+101
| | | | | | Fixes #16286
* | accounts, eth, clique, signer: support for external signer API (#18079)Martin Holst Swende2019-02-0517-115/+458
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * accounts, eth, clique: implement external backend + move sighash calc to backend * signer: implement account_Version on external API * accounts/external: enable ipc, add copyright * accounts, internal, signer: formatting * node: go fmt * flags: disallow --dev in combo with --externalsigner * accounts: remove clique-specific signing method, replace with more generic * accounts, consensus: formatting + fix error in tests * signer/core: remove (test-) import cycle * clique: remove unused import * accounts: remove CliqueHash and avoid dependency on package crypto * consensus/clique: unduplicate header encoding
* | README: fix some grammar mistakes (#18981)Rajdeep Singh2019-02-041-14/+14
| |
* | core/vm: unshadow err to make it visible in tracers(#18504)Martin Holst Swende2019-02-041-3/+4
| |
* | Merge pull request #18121 from karalabe/goerliPéter Szilágyi2019-02-047-3/+77
|\ \ | | | | | | cmd, core, params: add support for Goerli
| * | cmd, core, params: add support for GoerliPéter Szilágyi2019-02-047-3/+77
| | |
* | | rpc: implement full bi-directional communication (#18471)Felix Lange2019-02-0436-2107/+2149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New APIs added: client.RegisterName(namespace, service) // makes service available to server client.Notify(ctx, method, args...) // sends a notification ClientFromContext(ctx) // to get a client in handler method This is essentially a rewrite of the server-side code. JSON-RPC processing code is now the same on both server and client side. Many minor issues were fixed in the process and there is a new test suite for JSON-RPC spec compliance (and non-compliance in some cases). List of behavior changes: - Method handlers are now called with a per-request context instead of a per-connection context. The context is canceled right after the method returns. - Subscription error channels are always closed when the connection ends. There is no need to also wait on the Notifier's Closed channel to detect whether the subscription has ended. - Client now omits "params" instead of sending "params": null when there are no arguments to a call. The previous behavior was not compliant with the spec. The server still accepts "params": null. - Floating point numbers are allowed as "id". The spec doesn't allow them, but we handle request "id" as json.RawMessage and guarantee that the same number will be sent back. - Logging is improved significantly. There is now a message at DEBUG level for each RPC call served.