aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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 stableFelix 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
| | | |
* | | | Merge pull request #14667 from fjl/swarm-fuse-cleanupPéter Szilágyi2017-06-213-206/+132
|\ \ \ \ | | | | | | | | | | swarm/fuse: simplify externalUnmount, use subtests
| * | | | swarm/fuse: use subtestsFelix Lange2017-06-211-171/+112
| | | | |
| * | | | swarm/fuse: simplify externalUnmountFelix Lange2017-06-212-35/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code looked for /usr/bin/diskutil on darwin, but it's actually located in /usr/sbin. Fix that by not specifying the absolute path. Also remove weird timeout construction and extra whitespace.
* | | | | les: code refactoring (#14416)Felföldi Zsolt2017-06-2115-441/+699
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit does various code refactorings: - generalizes and moves the request retrieval/timeout/resend logic out of LesOdr (will be used by a subsequent PR) - reworks the peer management logic so that all services can register with peerSet to get notified about added/dropped peers (also gets rid of the ugly getAllPeers callback in requestDistributor) - moves peerSet, LesOdr, requestDistributor and retrieveManager initialization out of ProtocolManager because I believe they do not really belong there and the whole init process was ugly and ad-hoc
* | | | | ethclient: fix TransactionByHash pending return value. (#14663)Jim McDonald2017-06-211-2/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | As per #14661 TransactionByHash always returns false for pending. This uses blockNumber rather than blockHash to ensure that it returns the correct value for pending and will not suffer side-effects if eth_getTransactionByHash is fixed in future.
* / / / trie: more node iterator improvements (#14615)Felix Lange2017-06-217-172/+288
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ethdb: remove Set Set deadlocks immediately and isn't part of the Database interface. * trie: add Err to Iterator This is useful for testing because the underlying NodeIterator doesn't need to be kept in a separate variable just to get the error. * trie: add LeafKey to iterator, panic when not at leaf LeafKey is useful for callers that can't interpret Path. * trie: retry failed seek/peek in iterator Next Instead of failing iteration irrecoverably, make it so Next retries the pending seek or peek every time. Smaller changes in this commit make this easier to test: * The iterator previously returned from Next on encountering a hash node. This caused it to visit the same path twice. * Path returned nibbles with terminator symbol for valueNode attached to fullNode, but removed it for valueNode attached to shortNode. Now the terminator is always present. This makes Path unique to each node and simplifies Leaf. * trie: add Path to MissingNodeError The light client trie iterator needs to know the path of the node that's missing so it can retrieve a proof for it. NodeIterator.Path is not sufficient because it is updated when the node is resolved and actually visited by the iterator. Also remove unused fields. They were added a long time ago before we knew which fields would be needed for the light client.
* | | Merge pull request #14635 from necaremus/patch-1Péter Szilágyi2017-06-161-1/+1
|\ \ \ | | | | | | | | cmd/geth: fixed a minor typo in the comments
| * | | cmd/geth: fixed a minor typo in the commentsnecaremus2017-06-161-1/+1
|/ / /
* | | eth: remove les server from protocol manager (#14625)Alan Chen2017-06-152-3/+0
| | |
* | | Merge pull request #14581 from holiman/byte_optPéter Szilágyi2017-06-134-8/+174
|\ \ \ | | | | | | | | core/vm: improve opByte
| * | | core/vm, common/math: Add doc about Byte, fix formatMartin Holst Swende2017-06-093-16/+20
| | | |
| * | | common/math, core/vm: Un-expose bigEndianByteAt, use correct terms for ↵Martin Holst Swende2017-06-073-18/+19
| | | | | | | | | | | | | | | | endianness
| * | | core/vm, common/math: Add fast getByte for bigints, improve opByteMartin Holst Swende2017-06-054-8/+169
| |/ /
* | | Merge pull request #14604 from bas-vk/mobile-getfromPéter Szilágyi2017-06-132-2/+34
|\ \ \ | | | | | | | | mobile: use EIP155 signer for determining sender
| * | | mobile: add a regression test for signer recoveryPéter Szilágyi2017-06-131-0/+29
| | | |
| * | | mobile: use EIP155 signer for determining senderBas van Kervel2017-06-131-2/+5
| | |/ | |/|
* | | rlp, trie, contracts, compression, consensus: improve comments (#14580)S. Matthew English2017-06-1223-179/+44
| | |
* | | Merge pull request #14598 from konradkonrad/fix_makedagPéter Szilágyi2017-06-121-2/+2
|\ \ \ | |/ / |/| | consensus/ethash, cmd/geth: Fix `makedag` epoch
| * | consensus: Fix `makedag` epochKonrad Feldmeier2017-06-121-2/+2
|/ / | | | | | | | | | | | | | | | | `geth makedag <blocknumber> <path>` was creating DAGs for `<blocknumber>/<epoch_length> + 1`, hence it was impossible to create an epoch 0 DAG. This fixes the calculations in `consensus/ethash/ethash.go` for `MakeDataset` and `MakeCache`, and applies `gofmt`.
* | cmd/evm: add --prestate, --sender, --json flags for fuzzing (#14476)Martin Holst Swende2017-06-078-35/+295
| |
* | core/types: use Header.Hash for block hashes (#14587)bailantaotao2017-06-071-1/+1
| | | | | | Fixes #14586
* | cmd/swarm: fix error handling in 'swarm up' (#14557)Lewis Marshall2017-06-061-13/+22
| | | | | | | | | | | | The error returned by client.Upload was previously being ignored due to becoming out of scope outside the if statement. This has been fixed by instead defining a function which returns the hash and error (rather than trying to set the hash in each branch of the if statement).
* | Merge pull request #14583 from ethersphere/core-log-fixesPéter Szilágyi2017-06-061-1/+1
|\ \ | | | | | | core: Fix VM error logging
| * | core: Fix VM error loggingLewis Marshall2017-06-061-1/+1
| |/ | | | | | | Signed-off-by: Lewis Marshall <lewis@lmars.net>
* / accounts: fix spelling error (#14567)FaceHo2017-06-061-1/+1
|/
* VERSION, params: begin Geth 1.6.6 release cyclePéter Szilágyi2017-06-022-5/+5
|
* params: mark Geth v1.6.5 stable (Hat Trick)Péter Szilágyi2017-06-021-4/+4
|
* Merge pull request #14570 from Arachnid/jumpdestanalysisPéter Szilágyi2017-06-021-14/+12
|\ | | | | core/vm: Use a bitmap instead of a map for jumpdest analysis
| * core/vm: Use a bitmap instead of a map for jumpdest analysisNick Johnson2017-06-021-14/+12
|/ | | | t push --force
* VERSION, params: begin geth 1.6.5 cyclePéter Szilágyi2017-06-012-5/+5
|
* params: Geth 1.6.4 stable (hotfix)Péter Szilágyi2017-06-011-4/+4
|
* internal/ethapi: initialize account mutex in lock properlyMartin Holst Swende2017-06-011-2/+3
|
* swarm/dev: add development environment (#14332)Lewis Marshall2017-06-0111-0/+726
| | | | | This PR adds a Swarm development environment which can be run in a Docker container and provides scripts for building binaries and running Swarm clusters.
* VERSION, params: begin Geth 1.6.4 release cyclePéter Szilágyi2017-06-012-5/+5
|
* params: release Geth 1.6.3 - CovfefePéter Szilágyi2017-06-011-4/+4
|
* Merge pull request #14565 from karalabe/relax-privkey-checksPéter Szilágyi2017-06-014-17/+25
|\ | | | | accounts/keystore, crypto: don't enforce key checks on existing keyfiles
| * accounts/keystore, crypto: don't enforce key checks on existing keyfilesPéter Szilágyi2017-06-014-17/+25
| |
* | Merge pull request #14561 from karalabe/txpool-perf-fixPéter Szilágyi2017-06-012-32/+35
|\ \ | | | | | | core: reduce transaction reorganization overhead
| * | core: only reorg changed account, not allPéter Szilágyi2017-06-012-21/+35
| | |
| * | core: don't uselessly recheck transactions on dumpPéter Szilágyi2017-06-011-19/+8
| |/
* | Merge pull request #14563 from karalabe/ethstats-reduce-traffic-2Péter Szilágyi2017-06-011-22/+51
|\ \ | | | | | | ethstats: reduce ethstats traffic by trottling reports
| * | ethstats: reduce ethstats traffic by trottling reportsPéter Szilágyi2017-06-011-22/+51
| |/
* | Merge pull request #14564 from karalabe/fix-1.6-dockerPéter Szilágyi2017-06-011-1/+1
|\ \ | |/ |/| cotnainers/docker: fix the legacy alpine image before dropping
| * cotnainers/docker: fix the legacy alpine image before droppingPéter Szilágyi2017-06-011-1/+1
|/
* params, VERSION: 1.6.3 unstableFelix Lange2017-05-312-5/+5
|
* params: 1.6.2 stableFelix Lange2017-05-311-4/+4
|
* Merge pull request #14516 from holiman/noncefixesPéter Szilágyi2017-05-304-37/+93
|\ | | | | internal/ethapi: add mutex around signing + nonce assignment
| * internal/ethapi: add mutex around signing + nonce assignmentMartin Holst Swende2017-05-304-37/+93
| | | | | | | | | | This prevents concurrent assignment of identical nonces when automatic assignment is used.
* | Merge pull request #14553 from karalabe/puppeth-key-checkPéter Szilágyi2017-05-302-3/+2
|\ \ | | | | | | cmd/puppeth: fix improper key validation for remotes
| * | cmd/puppeth: fix improper key validation for remotesPéter Szilágyi2017-05-302-3/+2
| | |
* | | Merge pull request #14547 from karalabe/txpool-gas-decreasePéter Szilágyi2017-05-303-31/+72
|\ \ \ | |/ / |/| | core: check for gas limit exceeding txs too on new block
| * | core: check for gas limit exceeding txs too on new blockPéter Szilágyi2017-05-303-31/+72
| | |
* | | Merge pull request #14545 from karalabe/clique-cache-signaturesPéter Szilágyi2017-05-302-23/+34
|\ \ \ | | | | | | | | consensus/clique: cache block signatures for fast checks
| * | | consensus/clique: cache block signatures for fast checksPéter Szilágyi2017-05-302-23/+34
| |/ /
* | | Merge pull request #14548 from karalabe/ethstats-no-txsPéter Szilágyi2017-05-301-12/+10
|\ \ \ | |/ / |/| | ethstats: don't report transaction content, only hash
| * | ethstats: don't report transaction content, only hashPéter Szilágyi2017-05-301-12/+10
|/ /
* | Merge pull request #14523 from karalabe/txpool-cli-flagsPéter Szilágyi2017-05-2910-105/+241
|\ \ | | | | | | cmd, core, eth: configurable txpool parameters
| * | cmd, core, eth: configurable txpool parametersPéter Szilágyi2017-05-2910-105/+241
| | |
* | | Merge pull request #14539 from karalabe/txpool-inspec-noncesPéter Szilágyi2017-05-291-8/+8
|\ \ \ | | | | | | | | internal/ethapi: fix tx nonces in pool inspect/content
| * | | internal/ethapi: fix tx nonces in pool inspect/contentPéter Szilágyi2017-05-291-8/+8
| | | |
* | | | Merge pull request #14537 from karalabe/setgasprice-durning-nominePéter Szilágyi2017-05-292-10/+24
|\ \ \ \ | | | | | | | | | | eth: update default gas price when not mining too
| * | | | eth: update default gas price when not mining tooPéter Szilágyi2017-05-292-10/+24
| |/ / /
* | | | Merge pull request #14524 from karalabe/noimport-during-fastsyncPéter Szilágyi2017-05-292-0/+6
|\ \ \ \ | |/ / / |/| | | eth: don't import propagated blocks during fastsync
| * | | eth: don't import propagated blocks during fastsyncPéter Szilágyi2017-05-262-0/+6
|/ / /
* | | Merge pull request #14517 from Ali92hm/masterNick Johnson2017-05-261-2/+3
|\ \ \ | |/ / |/| | Improved Dockerfile?
| * | dockerfile: expose 30303/udpAli92hm2017-05-261-0/+1
| | |
| * | dockerfile: cp geth to /usr/local/binAli92hm2017-05-261-2/+2
|/ /
* | Merge pull request #14514 from karalabe/go1.8.3Péter Szilágyi2017-05-252-14/+14
|\ \ | | | | | | travis, appveyor: bump to Go 1.8.3, Android NDK 14b
| * | travis, appveyor: bump to Go 1.8.3, Android NDK 14bPéter Szilágyi2017-05-252-14/+14
| |/
* | Merge pull request #14515 from karalabe/golint-tooooolongPéter Szilágyi2017-05-2512-325/+326
|\ \ | |/ |/| core: fix various golint warnings and errors
| * core: fix minor accidental typos and comment errorsPéter Szilágyi2017-05-253-8/+8
| |
| * core: typos and comments improvechanghong2017-05-2511-323/+324
|/ | | | | | | | 1. fix typos 2. methods recevier of struct should be same 3. comments improve (cherry picked from commit 1ba979539582a00b7fd1a7c8a37a6852e59eac0d)
* Merge pull request #14446 from bas-vk/cli-helpPéter Szilágyi2017-05-253-12/+70
|\ | | | | Rewrite templates for (sub)commands help section
| * cmd/geth: reorganise help section for new cli flag handlingBas van Kervel2017-05-253-12/+70
| |
* | Merge pull request #14513 from obscuren/allocate-stackPéter Szilágyi2017-05-251-1/+1
|\ \ | | | | | | core/vm: allocate stack to 1024
| * | core/vm: allocate stack to 1024Jeffrey Wilcke2017-05-251-1/+1
| |/ | | | | | | | | Pre allocate the stack to 1024 optimising stack pushing, reducing calls to runtime.makeslice and runtime.mallocgc
* / README: corrected attach example (#14512)Or Rikon2017-05-251-1/+1
|/
* Merge pull request #14502 from karalabe/mobile-import-ecdsaFelix Lange2017-05-2511-34/+49
|\ | | | | Enforce 256 bit keys on raw import, support raw mobile imports
| * mobile: support importing flat ecdsa keyst tooPéter Szilágyi2017-05-231-3/+17
| |
| * accounts/keystore, crypto: enforce 256 bit keys on importPéter Szilágyi2017-05-2310-31/+32
| |
* | Merge pull request #14336 from obscuren/metropolis-preparationFelix Lange2017-05-2535-236/+2983
|\ \ | | | | | | consensus, core/*, params: metropolis preparation refactor
| * | consensus/ethash: fix TestCalcDifficultyFelix Lange2017-05-241-1/+1
| | |
| * | crypto/bn256: fix go vet false positiveFelix Lange2017-05-245-22/+25
| | | | | | | | | | | | Also add the package to the license tool ignore list.
| * | common: fixed byte padding functionsJeffrey Wilcke2017-05-231-3/+3
| | | | | | | | | | | | | | | | | | | | | Byte padding function should return the given slice if the length is smaller or equal rather than *only* smaller than. This fix improves almost all EVM push operations.
| * | core/vm: expose intpool to stack dup methodJeffrey Wilcke2017-05-232-3/+3
| | | | | | | | | | | | | | | Improve the duplication method of the stack to reuse big ints by passing in an existing integer pool.
| * | core/vm: capped int poolJeffrey Wilcke2017-05-231-0/+6
| | |
| * | core/vm: improved push instructionsJeffrey Wilcke2017-05-232-35/+48
| | | | | | | | | | | | | | | Improved push instructions by removing unnecessary big int allocations and by making it int instead of big.Int
| * | cmd/evm: added mem/cpu profilingJeffrey Wilcke2017-05-232-0/+44
| | |
| * | core/vm: improve error message for invalid opcodesValentin Wüstholz2017-05-221-1/+1
| | |
| * | core/state: fixed (self)destructed objectsJeffrey Wilcke2017-05-182-2/+9
| | | | | | | | | | | | | | | | | | Add the object to the list of destructed objects during a selfdestruct / suicide operation and also remove it from the list once the journal reverts.
| * | consensus, core, core/vm, parems: review fixesJeffrey Wilcke2017-05-186-42/+34
| | |
| * | core/types: corrected abstract signing addressJeffrey Wilcke2017-05-182-2/+2
| | |
| * | consensus/ethash: set time to current instead of parent timeJeffrey Wilcke2017-05-181-1/+1
| | |
| * | consensus, core/*, params: metropolis preparation refactorJeffrey Wilcke2017-05-1828-183/+2865
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is a preparation for the upcoming metropolis hardfork. It prepares the state, core and vm packages such that integration with metropolis becomes less of a hassle. * Difficulty calculation requires header instead of individual parameters * statedb.StartRecord renamed to statedb.Prepare and added Finalise method required by metropolis, which removes unwanted accounts from the state (i.e. selfdestruct) * State keeps record of destructed objects (in addition to dirty objects) * core/vm pre-compiles may now return errors * core/vm pre-compiles gas check now take the full byte slice as argument instead of just the size * core/vm now keeps several hard-fork instruction tables instead of a single instruction table and removes the need for hard-fork checks in the instructions * core/vm contains a empty restruction function which is added in preparation of metropolis write-only mode operations * Adds the bn256 curve * Adds and sets the metropolis chain config block parameters (2^64-1)
* | | Merge pull request #14507 from karalabe/faucet-misspellPéter Szilágyi2017-05-241-1/+1
|\ \ \ | | | | | | | | cmd/faucet: fix a few typos
| * | | cmd/faucet: fix a few typosPéter Szilágyi2017-05-241-1/+1
|/ / /
* | | Merge pull request #14504 from bas-vk/wallet-importPéter Szilágyi2017-05-241-15/+30
|\ \ \ | |_|/ |/| | cmd/geth: reintroduce wallet import subcommand
| * | cmd/geth: reintroduce wallet import subcommandBas van Kervel2017-05-231-15/+30
|/ /
* | Merge pull request #14501 from sqli-nantes/masterPéter Szilágyi2017-05-232-0/+65
|\ \ | | | | | | mobile: manage FilterQuery enabling contract events subscription
| * | mobile: Add management methods to {Addresses,Topics,Hashes} structuresNicolas Guillaume2017-05-232-0/+60
| | |
| * | mobile: Allows mobile clients to create custom FilterQueriesNicolas Guillaume2017-05-221-0/+5
|/ /
* | swarm/api: Fix adding paths which exist as manifests (#14482)Lewis Marshall2017-05-222-2/+35
| | | | | | Signed-off-by: Lewis Marshall <lewis@lmars.net>
* | cmd/swarm: Add --httpaddr flag (#14475)Lewis Marshall2017-05-225-19/+30
| | | | | | | | | | Fixes #14474. Signed-off-by: Lewis Marshall <lewis@lmars.net>
* | README: fixing typo in documentation (#14493)Dave Conroy2017-05-221-1/+1
| |
* | discover: Changed Logging from Debug to Info (#14485)Ali Hajimirza2017-05-201-1/+1
| |
* | internal/ethapi: lock when auto-filling transaction nonce (#14483)Martin Holst Swende2017-05-191-0/+23
|/ | | | | | | More context in the bug This solves the problems of transactions being submitted simultaneously, and getting the same nonce, due to the gap (due to signing) between nonce-issuance and nonce-update. With this PR, a lock will need to be acquired whenever a nonce is used, and released when the transaction is submitted or errors out.
* cmd, core, eth, miner: remove txpool gas price limits (#14442)Péter Szilágyi2017-05-1711-178/+619
|
* les: fix goroutine leak in execQueue (#14480)Felix Lange2017-05-172-30/+118
| | | | | | | | | | | execQueue used an atomic counter to track whether the queue had been closed, but the checking the counter didn't happen because the queue was blocked on its channel. Fix it by using a condition variable instead of sync/atomic. I tried an implementation based on channels first, but it was hard to make it reliable. quit now waits for the queue loop to exit.
* cmd/puppeth: v4/v5 boot separation, signer gas configs (#14453)Péter Szilágyi2017-05-134-8/+73
|
* swarm/api: fix error reporting in api.Resolve (#14464)Lewis Marshall2017-05-133-21/+148
| | | | | | | Previously, resolve errors were being swallowed and the returned error was a generic "not a content hash" which isn't helpful. This updates the Resolve function to fail fast rather than only returning an error at the end, and also adds test coverage.
* mobile: accept nil for chainid as homestead signing (#14463)Péter Szilágyi2017-05-131-0/+6
|
* containers/vagrant: add support for CentOS (#14380)Koustubh Sinkar2017-05-135-19/+62
| | | | | | CentOS has been added as a multi-machine option to the Vagrant script. Ubuntu is still the default option. For starting the CentOS machine, use: vagrant up centos
* Merge pull request #14454 from karalabe/mobile-surface-txrlpPéter Szilágyi2017-05-111-3/+159
|\ | | | | mobile: add toString & rlp/json encoding for protocol types
| * mobile: add toString & rlp/json encoding for protocol typesPéter Szilágyi2017-05-111-3/+159
|/
* Merge pull request #14452 from karalabe/dual-bootnodesPéter Szilágyi2017-05-114-8/+32
|\ | | | | cmd, node: support different bootnodes, fix default light port
| * cmd, node: support different bootnodes, fix default light portPéter Szilágyi2017-05-104-8/+32
|/
* README: update attach instructions for testnet users (#14448)bas-vk2017-05-091-6/+8
|
* Merge pull request #14441 from karalabe/receipt-data-regressionPéter Szilágyi2017-05-082-8/+5
|\ | | | | core: fix processing regression during receipt import
| * core: fix processing regression during receipt importPéter Szilágyi2017-05-082-8/+5
| |
* | Merge pull request #14427 from zsfelfoldi/compressPéter Szilágyi2017-05-083-0/+407
|\ \ | |/ |/| common/bitutil: added data compression algorithm
| * common/compress: internalize encoders, add length wrappersPéter Szilágyi2017-05-083-70/+125
| |
| * common/bitutil: fix decompression corner cases; fuzz, test & benchPéter Szilágyi2017-05-073-43/+302
| |
| * common/bitutil: added data compression algorithmZsolt Felfoldi2017-05-061-0/+93
| |
* | Merge pull request #14440 from karalabe/cocoapods-confirm-fixPéter Szilágyi2017-05-081-1/+1
|\ \ | |/ |/| travis: adapt build script to new travis VM settings
| * travis: adapt build script to new travis VM settingsPéter Szilágyi2017-05-081-1/+1
|/
* Merge pull request #14423 from karalabe/bitutilPéter Szilágyi2017-05-054-86/+405
|\ | | | | common/bitutil, consensus/ethash: reusable bitutil package
| * common/bitutil, consensus/ethash: reusable bitutil packagePéter Szilágyi2017-05-054-86/+405
|/
* VERSION, params: begin 1.6.2 release cyclePéter Szilágyi2017-05-042-5/+5
|
* params: release Geth 1.6.1, Deripors of OhratuuPéter Szilágyi2017-05-041-4/+4
|
* Merge pull request #14418 from karalabe/rinkeby-flagPéter Szilágyi2017-05-047-16/+80
|\ | | | | cmd, core, params: add --rinkeby flag for fast connectivity
| * cmd, core, params: add --rinkeby flag for fast connectivityPéter Szilágyi2017-05-047-16/+80
| |
* | Hive-test fixes (#14419)Martin Holst Swende2017-05-042-0/+11
| | | | | | | | | | | | | | | | | | | | * core: Fix for consensus test gasLimit > 2^63-1 https://github.com/ethereum/tests/blob/develop/BlockchainTests/bcInvalidHeaderTest.json#L238 * core: fix testcase for uncle gasUsage > gasLimit : https://github.com/ethereum/tests/blob/develop/BlockchainTests/EIP150/bcUncleHeaderValiditiy.json#L986 * math/big: rename TTM63m1 -> MaxBig63, + go fmt * core: documentation
* | Merge pull request #14413 from bas-vk/cli-chain-mngtPéter Szilágyi2017-05-048-94/+129
|\ \ | | | | | | Migrate remaining flags/command to new style
| * | cmd/geth: migrate dumpconfig command/flagsBas van Kervel2017-05-031-1/+2
| | |
| * | cmd/geth: migrate bug command/flagsBas van Kervel2017-05-031-1/+2
| | |
| * | cmd/geth: migrate metric command/flagsBas van Kervel2017-05-031-1/+1
| | |
| * | cmd/geth: reorganise misc commands/flagsBas van Kervel2017-05-031-4/+4
| | |
| * | cmd/geth: reorganise console/attach commands/flagsBas van Kervel2017-05-033-67/+79
| | |
| * | cmd/geth: reorganise chain commands/flagsBas van Kervel2017-05-031-20/+41
| | |
* | | Merge pull request #14402 from karalabe/tiered-faucetPéter Szilágyi2017-05-045-30/+93
|\ \ \ | |_|/ |/| | cmd/faucet, cmd/puppeth: support multi-tiered faucet
| * | cmd/faucet: fix period to days conversionPéter Szilágyi2017-05-041-4/+5
| | |
| * | cmd/faucet, cmd/puppeth: support multi-tiered faucetPéter Szilágyi2017-05-045-30/+92
|/ /
* | Merge pull request #14414 from gluk256/77_releasePéter Szilágyi2017-05-031-0/+5
|\ \ | |/ |/| build: wnode added to the build configuration
| * build: wnode added to the build configurationVlad2017-05-031-0/+5
| |
* | Merge pull request #14412 from karalabe/init-both-chainsPéter Szilágyi2017-05-032-42/+45
|\ \ | | | | | | cmd/geth, cmd/utils: init/removedb on light/full dbs simultaneously
| * | cmd/geth, cmd/utils: init/removedb on light/full dbs simultaneouslyPéter Szilágyi2017-05-032-42/+45
|/ /
* | Merge pull request #14411 from karalabe/clique-double-signPéter Szilágyi2017-05-031-1/+1
|\ \ | | | | | | consensus/clique: fix overflow on recent signer check around genesis
| * | consensus/clique: fix overflow on recent signer check around genesisPéter Szilágyi2017-05-031-1/+1
| |/
* | Merge pull request #13885 from bas-vk/rpc_generic_pubsubPéter Szilágyi2017-05-036-55/+217
|\ \ | |/ |/| rpc: support subscriptions under custom namespaces
| * rpc: support subscriptions under custom namespacesBas van Kervel2017-04-256-55/+217
| |
* | README: add config to genesis.json (#14373)nicky g2017-05-031-0/+6
| | | | | | README: add config to genesis.json
* | cmd/puppeth, vendor: update ssh, manage server keys (#14398)Péter Szilágyi2017-05-0319-285/+701
| |
* | Merge pull request #14407 from karalabe/ethash-generation-racePéter Szilágyi2017-05-031-2/+4
|\ \ | | | | | | consensus/ethash: fix a timestamp update race
| * | consensus/ethash: fix a timestamp update racePéter Szilágyi2017-05-021-2/+4
| | |
* | | Merge pull request #14406 from karalabe/downloader-sensitive-codePéter Szilágyi2017-05-021-0/+4
|\ \ \ | |/ / |/| | eth/downloader: fix a potential issue against future refactors
| * | eth/downloader: fix a potential issue against future refactorsPéter Szilágyi2017-05-021-0/+4
| | |
* | | Merge pull request #14403 from fjl/console-numberPéter Szilágyi2017-05-021-3/+6
|\ \ \ | | | | | | | | console: avoid float64 when remarshaling parameters
| * | | console: avoid float64 when remarshaling parametersFelix Lange2017-05-021-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | With Go 1.7, encoding/json marshals float64 using scientific notation ("10e+6"), but Go's int and *big.Int decoders don't accept such numbers. This change disables use of float64 to avoid the problem.
* | | | Merge pull request #14399 from bas-vk/rpc-corsPéter Szilágyi2017-05-021-0/+5
|\ \ \ \ | |_|/ / |/| | | rpc: disable CORS if user has not specified a custom config
| * | | rpc: disable CORS if user has not specified custom configBas van Kervel2017-05-021-0/+5
|/ / /
* | | Merge pull request #14388 from bas-vk/cli-account-mngtPéter Szilágyi2017-05-023-70/+95
|\ \ \ | |/ / |/| | cmd/geth: reorganise account/wallet command/flags
| * | cmd/geth: reorganise account/wallet command/flagsBas van Kervel2017-04-283-70/+95
|/ /
* | whisper: switching to v5 + minor refactoring (#14387)gluk2562017-04-286-39/+139
| |
* | whisper: message format refactoring (#14335)gluk2562017-04-2714-232/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * whisper: salt removed from AES encryption * whisper: padding format updated * whisper: padding test added * whisper: padding refactored, tests fixed * whisper: padding test updated * whisper: wnode bugfix * whisper: send/receive protocol updated * whisper: minor update * whisper: bugfix in test * whisper: updated parameter names and comments * whisper: functions renamed * whisper: minor refactoring
* | Merge pull request #14379 from farazdagi/fix/deadlock-in-node-waitPéter Szilágyi2017-04-251-0/+1
|\ \ | | | | | | node: fixes deadlock on Wait()
| * | node: fixes deadlock on Wait()Victor Farazdagi2017-04-251-0/+1
| |/
* | Merge pull request #14377 from karalabe/unify-network-idsPéter Szilágyi2017-04-2517-38/+38
|\ \ | |/ |/| cmd, eth, les, mobile: make networkid uint64 everywhere
| * cmd, eth, les, mobile: make networkid uint64 everywherePéter Szilágyi2017-04-2517-38/+38
|/
* Merge pull request #14350 from fjl/trie-iterator-skip-2Péter Szilágyi2017-04-2520-303/+477
|\ | | | | eth: add debug_storageRangeAt
| * eth: add debug_storageRangeAtFelix Lange2017-04-255-39/+201
| |
| * trie: add start key to NodeIterator constructorsFelix Lange2017-04-259-73/+146
| | | | | | | | | | | | | | | | | | The 'step' method is split into two parts, 'peek' and 'push'. peek returns the next state but doesn't make it current. The end of iteration was previously tracked by setting 'trie' to nil. End of iteration is now tracked using the 'iteratorEnd' error, which is slightly cleaner and requires less code.
| * trie: clean up iterator constructorsFelix Lange2017-04-259-31/+21
| | | | | | | | | | | | | | Make it so each iterator has exactly one public constructor: - NodeIterators can be created through a method. - Iterators can be created through NewIterator on any NodeIterator.
| * trie: rework and document key encodingFelix Lange2017-04-257-159/+121
| | | | | | | | | | 'encode' and 'decode' are meaningless because the code deals with three encodings. Document the encodings and give a name to each one.