* support: BuildStorage methods to take self reference.
There is no reason to consume the GenesisConfig when using it to
initialize a new storage backend. Instead, build_storage and
assimilate_storage now operator on self references.
* Bump node runtime impl_version.
* Now construct_runtime must include treasury config so account is created at genesis.
* if it doesn't though it is ok, account will be created when the amount put is more than existential deposit.
* core/finality-grandpa: Pass Grandpa msg sender up to UntilImported
* core/finality-grandpa: Track senders to maybe later request blocks
* core/finality-grandpa: Make BlockStatus pub only within crate
* core/finality-grandpa: Abstract NetworkBridge with BlockSyncRequester
* core/finality-grandpa: Pass BlockSyncRequester to UntilImported
* core/finality-grandpa: Track block number of pending within UntilImported
* core/finality-grandpa: Request block sync on long wait
* core/finality-grandpa: Adjust unit tests to previous changes
* core/finality-grandpa: Fix line length
* core/finality-grandpa: Add comment explaining in & out vote combination
* core/finality-grandpa: Log after, not before, timeout expired
The UntilImported component should log whenever waiting for a specific
block to be imported surpassed a defined constant timeout. Without this
patch the code would log whenever the current time was below the
timeout.
* core/finality-grandpa: Collect senders as HashSet for deduplication
* Revert "core/finality-grandpa: Track senders to maybe later request blocks"
This reverts commit 61ac9dd715612d5fdbf7b8f00b84e450f282ade0.
* Revert "core/finality-grandpa: Pass Grandpa msg sender up to UntilImported"
This reverts commit afdc9646a6c314f99a9d19242f1878f85980e70d.
* core/network/sync: Ask for block from all peers if none provided
When requesting an explicit fork sync, try to sync from all known peers,
when no specific peers were provided.
* core/network/sync: Request specific fork sync from peers ahead or on par
When making an explicit fork sync request without specifying any peers,
make sure to only request it from the locally known peers that are
either ahead or on a par compared to the block number we are looking
for.
* grandpa: fix tests
* grandpa: fix warnings
* grandpa: add test for block sync request on until_imported
* grandpa: rename Environment field inner to client
* grandpa: fix minor nits
* grandpa: minor nits in until_imported
* grandpa: copy docs for set_sync_fork_request
* grandpa: remove stale TODO on UntilImported
* Add SECP256k1/ECDSA support for transaction signing.
* Refactoring and fixes
* Fix for contracts
* Avoid breaking runtime host function
* Build fixes, make subkey work more generaically.
* Fix tests
* Dedpulicate a bit of code, remove unneeded code, docs
* Bump runtime version
* Fix a test and clean up some code.
* Derivation can derive seed.
* Whitespace
* Bump runtime again.
* Update core/primitives/src/crypto.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update core/primitives/src/ecdsa.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Fix AppVerify
* Add RentPayment trait to runtime
* clarify check
* improve proof
* Clarify further
* Simplify RentPayment::on_unbalance calling and get rid of NonZeroRentHook
* Wasm-builder-runner unset `CARGO_TARGET_DIR` and release 1.0.4
`CARGO_TARGET_DIR` needs to be unset or otherwise cargo deadlocks,
because cargo always holds an exclusive lock on target dir.
* Commit missing version up
* Lock file
* use ThreadPool to spawn_worker()
* use ThreadPool to implement spawn_worker(fn)
* use ThreadPool to implement spawn_worker(f)
* update [dependencies] threadpool and num_cpus version
* rm 'extern crate num_cpus'
* cargo.lock update
* merge the newest cargo.lock
* Update Cargo.lock
* use Mutex to wrap OffchainWorkers.thread_pool
* format use crate
* use parking_lot::Mutex instead of std::sync::Mutex
* Split up sr_arithmetic.rs
* Add some basic fuzzing
* Add more tests
* Add printing to fuzzing
* Clean things up
* Remove arbitrary
* Remove comments
* More cleaning, fix small error that was causing a panic
* Add rational128
* Remove old random tests
* introduce panic
* fuzzing should panic properly
* Bit of cleanup
* Add a test uncovered via fuzzing that fails!
* Few small changes
* Move sr-arithmetic to its own crate
* Fix fuzzing
* Got rid of fuzzer Cargo.lock
* Added no_std
* re-export assert_eq_error_rate
* bump impl and spec version
* re add convert into
* Add an ignore to the test
* Enabled benchmarking
* Reindent
* Clean up biguint fuzzer
* Clean up biguint more
* shuffle sr-primitives/traits about
* Remove unused dependencies
* Apply clippy suggestions
* upgrade primitive-types versions
* Run tests against num-bigint
* Get rid of allocation in assert_biguints_eq
* Add an optimisation to multiply_by_rational
* rename parts_per_x -> per_things
* Change fuzzer cargo.toml
* Remove allocation from BigUint PartialEq impl
* Remove accidental indentation
* Renmove Lazy and Convert traits
* Copy assert_eq_error_rate macro back to sr-primitives
* Add documentation to fuzzers
* fix sr-primitives assert_eq_error_rate
* add cfg(test)
* Update core/sr-arithmetic/src/traits.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update core/sr-arithmetic/src/traits.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update core/sr-arithmetic/fuzzer/src/biguint.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Allow rounding up in rational128
* Make changes to biguint.rs
* Update core/sr-arithmetic/src/traits.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Final touches
* Convert to num_bigint::BigUint to compare
* remove unused mut
* more small changes
* shuffle sr-primitives trait imports
* more code review
* move assert_eq_error_rate to lib.rs
* Update core/sr-arithmetic/fuzzer/src/biguint.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Get rid of S
* Simplify rational128 honggfuzz link
* Insignificantly change rational128 fuzzing code
* Slightly tidy up some of the arithmetic logic
* Get rid of sr_arithmetic again(?) and fix sr-primitives/weights
* Apply updates to sr_arithmetic.rs to crate
* core/finality-grandpa: Improve code comments
* core/finality-grandpa: Rename VoteOrPrecommit to PrevoteOrPrecommit
According to the Grandpa paper [1]:
> A vote is a block hash, together with some metadata such as round
number and the type of vote, such as prevote or precommit, all signed
with a voter’s private key.
To reduce confusion this patch makes the code consistent with the
research paper.
[1] https://github.com/w3f/consensus/blob/master/pdf/grandpa.pdf
* core/finality-grandpa: Add comment for NetworkStream concept
* core/finality-grandpa: Improve round_communication doc comment
* core/finality-grandpa: Rename PrevoteOrPrecommit to Vote
* core/finality-grandpa: Represent NetworkStream state machine as enum
* core/finality-grandpa: Improve KeepTopics comment