| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
cmd/utils, node: switch over default peer count to 50
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* core: lookup txs by block number instead of block hash
Transaction hashes now store a reference to their corresponding
block number as opposed to their hash. In benchmarks this was
shown to reduce storage by over 12 GB.
The main limitation of this approach is that transactions on
non-canonical blocks could never be looked up, however that is
currently not supported.
The database version has been upgraded to version 5 and the
transaction lookup process is backwards-compatible with the
prior two transaction lookup formats prexisting in the
database instance. Tests have been added to ensure this.
* core/rawdb: tiny review nit fixes
|
|\ \
| |/
|/| |
accounts: switch Ledger derivation path to canonical one
|
| | |
|
| |
| |
| |
| | |
This reverts commit 5b30aa59d63fcb7ef8111ec89a6f06509b5ce687.
|
| |
| |
| |
| |
| |
| | |
* eth/downloader: enable unsync-protection for light client
* eth/downloader: fix tests
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* cmd, eth, miner: disable advance sealing if user require
* cmd, console, miner, les, eth: wrap the miner config
* eth: remove todo
* cmd, miner: revert noadvance flag
The reason for this is: if the transaction execution is even longer
than block time, then this kind of transactions is DoS attack.
|
| | |
|
|\ \
| | |
| | | |
trie: approximate the wasted cache metaspace closer
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
eth, les, light: enforce CHT checkpoints on fast-sync too
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
appveyor.yml: Upgraded to Go 1.12.4
|
|/ / / / |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
core, eth, les, light: avoid storing computable receipt metadata
|
| | | | |
|
| | | | |
|
| |/ / |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
fix bad hint lookup bug (#19353)
* swarm/storage/feed/lookup: Add context handling/forwarding
* swarm/storage/feed/lookup: Add test to catch bad hint
* swarm/storage/feed/lookup: Added context cancellation test
|
| |
| |
| | |
This makes geth fails instead of falling back to local keystore, if the command line flag `--signer` is used
|
| |
| |
| |
| |
| |
| | |
* cmd/clef, signer: make fourbytes its own package, break dep cycle
* signer/fourbyte: pull in a sanitized 4byte database
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* swarm/api: fix file descriptor leak in NewTestSwarmServer
Swarm storage (localstore) was not closed. That resulted a
"too many open files" error if `TestClientUploadDownloadRawEncrypted`
was run with `-count 1000`.
* cmd/swarm: speed up StartNewNodes() by parallelization
Reduce cluster startup time from 13s to 7s.
* swarm/api: disable flaky TestClientUploadDownloadRawEncrypted with -race
* swarm/storage: disable flaky TestLDBStoreCollectGarbage (-race)
With race detection turned on the disabled cases often fail with:
"ldbstore_test.go:535: expected surplus chunk 150 to be missing, but got no error"
* cmd/swarm: fix process leak in TestACT and TestSwarmUp
Each test run we start 3 nodes, but we did not terminate them. So
those 3 nodes continued eating up 1.2GB (3.4GB with -race) after test
completion.
6b6c4d1c2754f8dd70172ab58d7ee33cf9058c7d changed how we start clusters
to speed up tests. The changeset merged together test cases
and introduced a global cluster. But "forgot" about termination.
Let's get rid of "global cluster" so we have a clear owner of
termination (some time sacrifice), while leaving subtests to use the
same cluster.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* clef: bundle 4byte db into clef, fix #19048
* clef: add go-generate directive, remove internal abidb parser tool
* cmd/clef: extend go generate to format asset file
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* metrics/prometheus: added prometheus http server and metrics collector
* metrics/prometheus: minor cleanups
* metrics/prometheus: named keys instead name in tag
* metrics/prometheus: minor typo cleanups, sorted report
|
| |
| |
| |
| |
| |
| | |
* clef: update warning-text
* Update cmd/clef/main.go
|
| | |
|
|/ |
|
|
|
|
| |
Update the app download link to the latest version, as requested in #19418
|
| |
|
| |
|
|\
| |
| | |
vendor: fix some vendor config leftover
|
|/ |
|
|
|
|
|
|
| |
* vendor: remove leftover trace
* Upgrade go-libpcsclite to the latest version
|
|\
| |
| | |
appveyor.yml: Upgraded to Go 1.12.3
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* accounts, core, internal, node: Add support for smartcard wallets
* accounts, internal: Changes in response to review
* vendor: pull in missing go-echd library
* accounts/scwallet, console: user friendly card opening
* accounts/scwallet: ordered wallets, tighter events, derivation logs
* accounts, console: frendly card errors, support pin unblock
* accounts/scwallet: fix crypto API change
* accounts/scwallet: rebase and update
* Fix some linter issues
* Remove the direct dependency on libpcsclite
Instead, use a go library that communicates with pcscd over a socket.
Also update the changes introduced by @gravityblast since this PR's
inception
* Temporary fix to the ADBU status call
* fix wallet status update
This is a temporary fix, better checks need to
be performed once the whole process has been
validated.
* Fix key derivation
* Add some documentation
* Update a comment to reflect the workings of the updated system
* Vendor keycard-go/derivationpath
* Formatting fixes
* Add instructions on how to install the card
* Achieve full transaction signature+sending
* PK derivation has to be supported by the card
* Fix linter issues
* Upgrade to keycard app v2.1.1
* Set gballet as codeowner of the smartcard wallet dir
* fix unnecessary condition linter warning
* refuse to overwrite the master key of a previously initialized card
* refresh the account list when initializing the card
* Update the card preparation instructions based on review feedback
* 'sanitize' JSON input
Co-Authored-By: gballet <gballet@gmail.com>
* Apply suggestions from code review
Co-Authored-By: gballet <gballet@gmail.com>
* fix a serialization error
* more review feedback
* More review feedback
* Can now specify the number of empty accounts to derive
* Fix rebase error: include norm package
* Update bip-39 ref and remove ebfe/scard from vendor
* Add missing dependency
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| | |
Co-Authored-By: gballet <gballet@gmail.com>
|
| |
| |
| | |
Co-Authored-By: gballet <gballet@gmail.com>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This is a temporary fix, better checks need to
be performed once the whole process has been
validated.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Instead, use a go library that communicates with pcscd over a socket.
Also update the changes introduced by @gravityblast since this PR's
inception
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| | |
This PR fixes this, moving domain.ChainId from the map's initializer down to a separate if statement which checks the existance of ChainId's value, similar to the rest of the fields, before adding it. I've also included a new test to demonstrate the issue
|
| | |
|
|\ \
| | |
| | | |
les: remove support for LES/1
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* eth, les, geth: implement cli-configurable global gas cap for RPC calls
* graphql, ethapi: place gas cap in DoCall
* ethapi: reformat log message
|
|/
|
|
|
|
|
|
| |
This resolves a minor issue where neighbors responses containing less
than 16 nodes would bump the failure counter, removing the node. One
situation where this can happen is a private deployment where the total
number of extant nodes is less than 16.
Issue found by @jsying.
|
|\
| |
| | |
consensus,core: shortcut uncle validation
|
| | |
|
|\ \
| |/
|/| |
params: set Rinkeby Petersburg fork block (4th May, 2019)
|
|/ |
|
|\
| |
| | |
appveyor: Upgrade to go1.12.2
|
| | |
|
|/ |
|
|\
| |
| | |
cmd: nuke geth bug, nobody is using it anyway
|
| | |
|
|\ \
| |/
|/| |
trie: there's no point in retrieving the metaroot
|
|/ |
|
|\
| |
| | |
cmd/geth, internal, node, vendor: nuke geth monitor
|
|/ |
|
|
|
|
|
|
| |
* core/state: fix state iterator
* core: fix state iterator more elegant
|
|\
| |
| | |
core: re-emit new log event when logs rebirth
|
| | |
|
| | |
|
|/
|
|
|
|
| |
* node: switching prometheus flock location to tsdb
* rookie mistake
|
|
|
|
|
|
|
|
|
|
| |
* cmd, accounts, internal, node, rpc, signer: insecure unlock protect
* all: strict unlock API by rpc
* cmd/geth: check before printing warning log
* accounts, cmd/geth, internal: tiny polishes
|
| |
|
|
|
|
|
|
| |
This PR makes it easy to generate and execute testcases for VM arithmetic operations. By enabling and running the testcase TestWriteExpectedValues, a set of json files are created which contain input and output for each arith operation.
The test TestJsonTestcases executes all of those tests.
While meaningless as is, this PR makes it less risky to make changes (optimizations) to the vm operations, since there will be a larger body of testcases.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* all: simplify timestamps to uint64
* tests: update definitions
* clef, faucet, mobile: leftover uint64 fixups
* ethash: fix tests
* graphql: update schema for timestamp
* ethash: remove unused variable
|
|\
| |
| | |
core: prefetch next block state concurrently
|
| | |
|
| | |
|
|\ \
| | |
| | | |
console: handle eth.coinbase throws
|
|/ / |
|
| | |
|
|\ \
| | |
| | | |
light, params: update CHTs, integrate CHT for Goerli too
|
|/ / |
|
| |
| |
| | |
Corrected error for ExitWhenSyncedFlag, clarifying that the program exits after syncing completes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | | |
core/vm: Correct the Memory Gas Overflow condition
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
previous overflow condition is too big to use.
0x7FFFFFFFF squre operation is overflowed uint64.
0x7FFFFFFFF^2 = 0x3F FFFF FFF0 0000 0001
|
| |/
|/|
| |
| |
| | |
(#18440)
Add methods that allow for the unpacking of event logs into maps (allows for agnostic unpacking of logs)
|
|\ \
| |/
|/| |
core: cache tx signature before obtaining lock
|
|/ |
|
| |
|
|
|
|
|
|
| |
* contracts/ens: revert bmt to keccak256
* contracts/ens: fix keccak256 hash code comment
|
|
|
|
| |
Solves #15210 without changing consensus, in a backwards compatible way,
by adding tx inclusion information to the Receipt struct.
|
|\
| |
| | |
core: 3rd try on splitting the trie metrics correctly
|
| | |
|
|\ \
| | |
| | | |
eth: remove redundant chain config fields
|
|/ / |
|
|/
|
| |
Fixes #19337
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
core: make txpool handle reorg due to setHead
|
| | |
|
|\ \
| | |
| | | |
core: split trie op metrics from the correct chain metrics
|
|/ / |
|
|\ \
| | |
| | | |
metrics: fix expensive metrics flag processing
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| | |
* core: split out detailed trie access metrics from insertion time
* cmd, core, metrics: support expensive optional metrics
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
* trie/database: add very important period
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
* 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: 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.
|
| |
|
|
|
|
|
|
| |
* les: fixed peer id format
* les: fixed peer reply error handling
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|\
| |
| | |
les, light: verbose errors on state retrieval issues
|
|/ |
|
|
|
|
|
|
| |
* dashboard: fix github alerts
* dashboard: run go generate
|
| |
|
|
|
|
| |
Updates to match EIP1767
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
* cmd/utils: check for empty string when parsing enode
|
|
|
|
|
|
| |
* cmd, core, eth, trie: get rid of trie cache generations
* core, trie: get rid of remainder of cache gen boilerplate
|
|\
| |
| | |
bind: Static byte arrays should be right-padded
|
| | |
|
|/
|
|
|
| |
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"
|
| |
|
|
|
| |
graphql: fix typo in file name
|
| |
|
|
|
|
|
|
| |
* dashboard, p2p: visualize peers
* dashboard: change scale to green to red
|
|\
| |
| | |
core: use headers only where blocks are unnecessary
|
| | |
|
|\ \
| |/
|/| |
README: Mention go 1.10 as minumum - context #19246
|
| | |
|
|\ \
| | |
| | | |
ethdb: tiny API tidy-up from the database rework pr
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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()
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
* swarm/storage: wrap leveldb ErrNotFound
|
| |
| |
| |
| |
| |
| |
| |
| | |
* 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 for debug functionality;
* cmd/swarm/swarm-smoke: fixup
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
eth/downloader: fix nil droppeer in state sync
|
| | | |
|
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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: fixed timing issues
* swarm/network/stream: only count first iteration of subscriptions
* swarm/network/stream/: fix linter errors
|
|\ \
| | |
| | | |
all: clean up and properly abstract database accesses
|
| | | |
|
| | |
| | |
| | | |
p2p/protocols: Fix race condition in TestAccountingSimulation
|
|\ \ \
| |/ /
|/| | |
consensus/clique: fix test copy paste error, test what's documented
|
|/ / |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| | |
|
|\ \
| | |
| | | |
build: add clef to alltools and deb
|
| | | |
|
|/ / |
|
| |
| |
| | |
This reverts commit 460d206f309fc0884c666bd191a1b6a4b63462fc.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* swarm/shed, swarm/storage/localstore: add LastPullSubscriptionChunk
* swarm/shed: fix comments
* swarm/shed: fix TestIncByteSlice test
* swarm/storage/localstore: fix TestDB_LastPullSubscriptionChunk
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
build/deb: fix PPA env var setting
|
|/ / |
|
|\ \
| | |
| | | |
build/deb: use custom cache for PPA builder
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
crypto/bn256/cloudflare: pull in upstream fix for Go 1.12 R18
|
| | | |
|
|\ \ \
| |/ /
|/| | |
core/types: fix receipt legacy decoding
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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
* 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
|
|\ \ \
| | | |
| | | | |
Upgrade to Go 1.12
|
| | | | |
|
|/ / / |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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
|
|\ \ \
| | | |
| | | | |
containers/docker: nuke per the 1.8.0 deprecation note
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
build: bump PPA builders to Go 1.11
|
| | | | | |
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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
|
| | | | |
|
|/ / /
| | |
| | | |
Prevents reallocation, improves performance
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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/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
|
| | | |
|