* ethcore/res: activate atlantis classic hf on block 8772000 (#10766)
* fix docker tags for publishing (#10741)
* merge-backports
* Update version
* remove clique engine from backports
* Reset blockchain properly (#10669)
* delete BlockDetails from COL_EXTRA
* better proofs
* added tests
* PR suggestions
* adds rpc error message for --no-ancient-blocks (#10608)
* adds error message for --no-ancient-blocks, closes#10261
* Apply suggestions from code review
Co-Authored-By: seunlanlege <seunlanlege@gmail.com>
* Treat empty account the same as non-exist accounts in EIP-1052 (#10775)
* fix: aura don't add `SystemTime::now()` (#10720)
This commit does the following:
- Prevent overflow in `verify_timestamp()` by not adding `now` to found faulty timestamp
- Use explicit `CheckedSystemTime::checked_add` to prevent potential consensus issues because SystemTime is platform
depedent
- remove `#[cfg(not(time_checked_add))]` conditional compilation
* DevP2p: Get node IP address and udp port from Socket, if not included in PING packet (#10705)
* get node IP address and udp port from Socket, if not included in PING packet
* prevent bootnodes from being added to host nodes
* code corrections
* code corrections
* code corrections
* code corrections
* docs
* code corrections
* code corrections
* Apply suggestions from code review
Co-Authored-By: David <dvdplm@gmail.com>
* Revert "fix: aura don't add `SystemTime::now()` (#10720)"
This reverts commit f104784849ec58c768b022e690db0eaba1607253.
* Add a way to signal shutdown to snapshotting threads (#10744)
* Add a way to signal shutdown to snapshotting threads
* Pass Progress to fat_rlps() so we can abort from there too.
* Checking for abort in a single spot
* Remove nightly-only weak/strong counts
* fix warning
* Fix tests
* Add dummy impl to abort snapshots
* Add another dummy impl for TestSnapshotService
* Remove debugging code
* Return error instead of the odd Ok(())
Switch to AtomicU64
* revert .as_bytes() change
* fix build
* fix build maybe
* version: bump stable to 2.4.7
* [CI] allow cargo audit to fail (#10676)
* [CI] allow cargo audit to fail
* [.gitlab-ci.yml] add a comment about cargo audit
* [Cargo.lock] cargo update -p protobuf
* new image (#10673)
* Update publishing (#10644)
* docker images are now built on k8s: test run
* copy check_sync.sh in build-linux job
* copy scripts/docker/hub/* in build-linux job
* removed cache var
* cleanup, no more nightly dockers
* cleanup in dockerfile
* some new tags
* removed sccsche debug log, cleanup
* no_gits, new artifacts dir, changed scripts. Test run.
* define version once
* one source for TRACK
* stop kovan onchain updates
* moved changes for two images to a new branch
* rename Dockerfile
* no need in libudev-dev
* enable lto for release builds (#10717)
* Use RUSTFLAGS to set the optimization level (#10719)
* Use RUSTFLAGS to set the optimization level
Cargo has a [quirk]() in how configuration settings are propagated when `cargo test` runs: local code respect the settings in `[profile.test]` but all dependencies use the `[profile.dev]` settings. Here we force `opt-level=3` for all dependencies.
* Remove unused profile settings
* Maybe like this?
* Turn off incremental compilation
* Remove colors; try again with overflow-checks on
* Use quiet CI machine
* Turn overflow checking back on
* Be explicit about what options we use
* Remove "quiet machine" override
* ethcore: enable ECIP-1054 for classic (#10731)
* config: enable atlantis on ethereum classic
* config: enable atlantis on morden classic
* config: enable atlantis on morden classic
* config: enable atlantis on kotti classic
* ethcore: move kotti fork block to 0xAEF49
* ethcore: move morden fork block to 0x4829BA
* ethcore: move classic fork block to 0x81B320
* remove trailing comma
* remove trailing comma
* fix chainspec
* ethcore: move classic fork block to 0x7fffffffffffffff
* version: bump stable to 2.4.6
* fix(whisper expiry): current time + work + ttl (#10587)
* update bootnodes (#10595)
* config: update goerli bootnodes
* config: update kotti bootnodes
* Constantinople HF on POA Core (#10606)
* Constantinople HF on POA Core
Plan Constantinople/St.Petersfork HF on POA Core network at block 8582254.
Original PR in POA repository: https://github.com/poanetwork/poa-chain-spec/pull/110
* Remove extra empty line
* evm: add some mulmod benches (#10600)
* evm: add blockhash_mulmod bench
* evm: use num-bigint for mod ops
* Update kovan.json to switch validator set to POA Consensus Contracts (#10628)
* Fix publish docs (#10635)
* Fix publish docs
* this never should be forced, either way compiling previous versions will produce outdated docs
* fix array, var was moved to the group project global variables list
* version: bump beta
* fix Sha3/keccak256 hash calculation for binaries (#10509)
https://github.com/paritytech/parity-ethereum/issues/10495
* verbose flag for cpp tests (#10524)
* Initial support sccache for windows build (#10520)
* Initial support sccache for win build
* show sccache stats
* cache paths for shared runners
* sccache status is in the script.
* removed windows test for now
* ethcore: remove eth social and easthub chain configs (#10531)
* Fix max_gas (#10537)
Fix max_gas
* build android with cache, win fixes (#10546)
* build android with cache!
* windows fixes
* windows fixes 2
* windows fixes 3
* windows fixes 4
* windows should have sccache variables in env variables
* Update light client harcoded headers (#10547)
* kovan #10643457
* ropsten #5296129
* foundation #7460865
* classic #7747585
* indentation
* morden #3973121
* version: bump beta
* Сaching through docker volume (#10477)
* _old codebase_ before docker update
* before docker update, testing runnr
* docker update, testing the caching
* distributed job cargo homes
* distributed job cargo homes 2
* distributed job cargo homes 3
* dockerfile with gitlab checkout, audit uses template
* dockerfile gets repo in volume
* change builds_dir
* trying docker cache for repo
* repo cached automatically
* after script is not concatenated
* check sccache non-cacheable reasons nature
* watch cache
* log sccache
* log sccache 2
* debug log sccache
* fix debug log sccache
* fix debug log sccache 2
* debug log cache 3
* debug log cache 3
* trace log all sccache
* test wo cargo cache
* test w removed cargo cache
* report non-cacheable reasons, cargo cache is back and empty
* report non-cacheable reasons, cargo cache is back and empty 2
* report non-cacheable reasons, cargo cache is back and empty 3
* wrap into after_script
* restore CI tags
`qa` -> `linux-docker`
* return to main runners, this will fail until config on runners And Dockerfile won't be updated
* typo fix CI lint
* return to docker tag
* fix win&mac build (#10486)
add CARGO_HOME: "${CI_PROJECT_DIR}/.cargo"
* fix(extract `timestamp_checked_add` as lib) (#10383)
* fix(extract `timestamp_checked_add` as lib)
* fix(whisper types): remove unused `EmptyTopics`
* fix(time-lib): feature-flag to use time-lib or std
This commit adds conditional compilation checks that falls back to `our time-lib` when
`time_checked_add` is not available in the standard library
Note, `time_checked_add` covers both `checked_add` and `checked_sub`
* fix(grumble): use cfg_attr to define rustc feature
* version: bump beta
* Implement parity_versionInfo & parity_setChain on LC; fix parity_setChain (#10312)
* Light client: implement parity_versionInfo RPC
* Light client: implement set_exit_handler & parity_setChain RPC
* parity_setChain RPC: return an error if failed (instead of `true`)
* Implement eth_subscribe('syncing') RPC for full node & light node
* Fix indentation
* Revert commit: Implement eth_subscribe('syncing')
* Revert change to Cr callback function
* CI publish to aws (#10446)
* move publish aws from gitlab.yml to gitlab scripts
* gitlab.yml cleaning
move publish AWS to gitlab scripts
remove dependencies from android build
* CI aws git checkout (#10451)
* Updating the CI system with the publication of releases and binary files on github
Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
* move publish aws from gitlab.yml to gitlab scripts
Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
* gitlab.yml cleaning
move publish AWS to gitlab scripts
remove dependencies from android build
Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
* Revert "Updating the CI system with the publication of releases and binary files on github"
This reverts commit da87e06f2e4751dbca08a898b52926aef5ad0aba.
* remove no-git for aws
* microfix
* no need in no_git then
* Revert "CI aws git checkout (#10451)" (#10456)
* Revert "CI aws git checkout (#10451)"
This reverts commit 3e1d73126c.
* Update .gitlab-ci.yml
revert aws script with small fixes
* Delete publish-aws.sh
* Tests parallelized (#10452)
* tests splitted, phase 1
* typo
* fix wrong launch commands
* typos
* rearrangements
* use `nproc` function for threads
* use nproc for threads
* let theads be auto, build-andriod no more in regular run
* split val chain and cargo check
* renamed some files
* wrong phase
* check rust files before test jobs
* lint error
* rust files modivied var
* test except changes
* add rust_changes except
* lint error
* fixes
* .gitlab-ci.yml can't be excluded
* pipeline shouldn't start
* pipeline must go
* pipeline must go 2
* pipeline must go 3
* pipeline must go 4
* pipeline must go 5
* pipeline must go 6
* pipeline must go 7
* pipeline must not go 1
* pipeline must go 8
* avoid skippng tests yet, reintroducing them after the caching
* test theory
* parallelized cargo check with combusting helicopters
* less uploads
* alias for cargo checks
* nice template
* Ensure static validator set changes are recognized (#10467)
* revert some changes, could be buggy (#10399)
* 10000 > 5000 (#10422)
addresses #10418
* fix panic when logging directory does not exist, closes#10420 (#10424)
* fix underflow in pip, closes#10419 (#10423)
* ci: clean up gitlab-ci.yml leftovers from previous merge (#10429)
* Update hardcoded headers for Foundation, Ropsten, Kovan and Classic (#10417)
* update foundation to #7262209
* update kovan to #10434561
* update ropsten to #5027841
* update classic to #7555073
* Update Ropsten headers to #5101569
* ethash: initial implementation of progpow
* progpow: use wrapping arithmetic
* progpow: cleanup comments
* progpow: fix keccak_f800
* progpow: reorder definitions
* progpow: general fixing
* progpow: add basic tests from geth
* progpow: generate c_dag and add test
* progpow: fix progpow_init and progpow_loop
* progpow: fix and add new test
* progpow: tabify
* progpow: add shared testvectors from geth and aleth
* progpow: add benchmarks
* progpow: don't read bytes from dag
* ethash: use criterion for progpow benchmarks
* progpow: dont borrow hash on fnv1a_hash
* progpow: don't borrow operand on progpow merge
* progpow: hardcode dag lookup function
we only support light verification anyway
* progpow: read double words directly from the dag
* progpow: inline some small functions
* progpow: remove some bounds checking from the main loop
* progpow: remove unreachable match cases
* progpow: remove bounds check in keccak_f800_round
* progpow: fix ptr::swap
* progpow: force loop unroll in keccak_f800_round
* progpow: remove unnecessary branching in progpow_loop
* progpow: force loop unroll in fill_mix
* progpow: silence unused warning
* progpow: dont run last keccak_f800_round out of the loop
rustc generates the same assembly, it unrolls the loop
* progpow: fix output of keccak_f800_short
* ethcore: support progpow in ethash engine
* ethash: fix typo
* ethcore, ethash: fix tests
* json: fix ethash spec tests
* ethash: update quick_get_difficulty for progpow
* ethash: drop light cache on progpow transition block
* ethash: fix quick_get_difficulty tests
* progpow: update to spec v0.9.0
* progpow: update to spec v0.9.1
* progpow: update to spec v0.9.2
* ethash: rename progpow benchmarks
* fix Cargo.lock bad merge
* ethash: only export modules for benchmarks
* ethash: progpow: remove unsafe unchecked indexing
* ethash: create enum for pow algorithm
* ethash: box the progpow cdag
* ethash: skip slow progpow test vectors on ci
* ethash: don't skip progpow test vectors
they don't take too long when running in release mode which is the case
for CI.
* ethash: progpow: update copyright date
Co-Authored-By: andresilva <andre.beat@gmail.com>
* ethcore: remove verification of ci-skip-tests on non-test builds
Define a new `enum` where devp2p subprotocol packet ids (currently eth and par) are defined. Additionally provide functionality to query id value and protocol of a given id object.
* Don't add discovery initiators to the node table
* Use enums for tracking state of the nodes in discovery
* Dont try to ping ourselves
* Fix minor nits
* Update timeouts when observing an outdated node
* Extracted update_bucket_record from update_node
* Fixed typo
* Fix two final nits from @todr
* Add function to update minimum gas price
* Update TestMinerService to handle min_gas_price changes
* Place minimum gas price test behind feature flag
* Update check for fixed gas pricer to be more explicit
* Use errors::unsupported instead of errors::request_rejected
* Add test that fails to set minimum gas price
* Fix test that should fail when setting new gas price
* Put dev dependencies behind feature flag
* Fix deadlock in set_minimal_gas_price()
* Update RPC tests with mocked error response
* Remove unnecessary cfg flag
* Remove duplicate crate imports
* fix(remove needless unsafe blocks)
* style(nits)
* fix(parity-clib): eliminate repetitive event loops
* revert(java bindings): safe rust -> unsafe rust
These functions can still end up with `UB` thus should be unsafe
* fix(grumbles): make Callback trait `pub (crate)`
* fix(light-rpc): Make `light_sync` generic
The motivation behind this change is to easily mock `light-sync` to make it possible to enable `rpc-integration` tests
for the light-client.
Currently the `rpc's` requires the concrete type `sync::LightSync` which makes it very hard to do so
* fix(bad merge)
* Make the specification of the protocol to which a packet_id belongs to
explicit when calling "SyncRequester::send_packet".
* Remove "SyncIO::send" and leave only "SyncIO::send_protocol"
* Adapt tests to new code.
* Strengthen tests to check if packet_id and protocol match when sending
a devp2p packet.
* CI optimizations
* fix stripping
* new dockerfile
* no need n submodule upd
* review
* moved dockerfile
* it becomes large
* onchain update depends on s3
* fix dependency
* fix cache status
* fix cache status
* new cache status
* Increase the number of block bodies requested during Sync.
* Increase the number of block bodies requested during Sync.
* Check if our peer is an older parity client with the bug
of not handling large requests properly
* Add a ClientVersion struct and a ClientCapabilites trait
* Make ClientVersion its own module
* Refactor and extend use of ClientVersion
* Replace strings with ClientVersion in PeerInfo
* Group further functionality in ClientCapabilities
* Move parity client version data from tuple to its own struct.
* Implement accessor methods for ParityClientData and remove them
from ClientVersion.
* Minor fixes
* Make functions specific to parity return types specific to parity.
* Test for shorter ID strings
* Fix formatting and remove unneeded dependencies.
* Roll back Cargo.lock
* Commit last Cargo.lock
* Convert from string to ClientVersion
* * When checking if peer accepts service transactions just check
if it's parity, remove version check.
* Remove dependency on semver in ethcore-sync
* Remove unnecessary String instantiation
* Rename peer_info to peer_version
* Update RPC test helpers
* Simplify From<String>
* Parse static version string only once
* Update RPC tests to new ClientVersion struct
* Document public members
* More robust parsing of ID string
* Minor changes.
* Update version in which large block bodies requests appear.
* Update ethcore/sync/src/block_sync.rs
Co-Authored-By: elferdo <elferdo@gmail.com>
* Update util/network/src/client_version.rs
Co-Authored-By: elferdo <elferdo@gmail.com>
* Update util/network/src/client_version.rs
Co-Authored-By: elferdo <elferdo@gmail.com>
* Update tests.
* Minor fixes.
* Extract accounts from ethcore.
* Fix ethcore.
* Get rid of AccountProvider in test_helpers
* Fix rest of the code.
* Re-use EngineSigner, fix tests.
* Simplify EngineSigner to always have an Address.
* Fix RPC tests.
* Add deprecation notice to RPCs.
* Feature to disable accounts.
* extract accounts in RPC
* Run with accounts in tests.
* Fix RPC compilation and tests.
* Fix compilation of the binary.
* Fix compilation of the binary.
* Fix compilation with accounts enabled.
* Fix tests.
* Update submodule.
* Remove android.
* Use derive for Default
* Don't build secretstore by default.
* Add link to issue.
* Refresh Cargo.lock.
* Fix miner tests.
* Update rpc/Cargo.toml
Co-Authored-By: tomusdrw <tomusdrw@users.noreply.github.com>
* Fix private tests.