* Add Broker pallet
* Flesh out CorePart
* Repotting and fleshing out
* more drafting
* process timeslice
* Test Fungibles completed
* Auctions
* Price morphing
* First tests
* Tidying up config/status
* Docs
* Timeslice todying
* More Timeslice tidying
* Tests]
* Repotting.
* Tests
* Tests
* System InstaPool cores and payout
* Better Relay Test framework
* Tests and instapool fixes
* Support NFT interface
* Proper renewals
* Better events, results
* Test transfer
* Renewal test
* Repot some impls and make dispatchables.
* Better weight
* Test migration
* Document events
* Introduce durations
* Core count
* Allow reassignment
* Better naming
* Error docs
* Docs
* Formatting
* Advance notice period is in RC blocks, not timeslices
* Docs
* Formatting
* Docs
* Missing file
* Added some events
* Events for all dispatchables
* Remove benchmark
* Fix
* Adds benchmark for configure and some basic setup
* Adds benchmark for reserve and unreserve
* Adds a couple of more benchmarks
* Docs
* Event
* Fix
* Adds benchmark for purchase
* Dedup
* Add some weight breakdowns
* Repotting
* Adds more benchmarks
* Renaming and one more event
* Sale event
* Better price API and docs
* Avoid possibility of clobbering renewal record
* Avoid possibility of clobbering renewal record
* Fixes a few benchmarks
* Another test
* More tests
* Drop history test
* Rename and CORE_MASK_BITS constant
* Update frame/broker/src/dispatchable_impls.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/broker/src/dispatchable_impls.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/broker/src/dispatchable_impls.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/broker/src/utility_impls.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/broker/src/dispatchable_impls.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/broker/src/mock.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Addresses few review comments
* Addresses few review comments
* Addresses few review comments
* Merge
* Merge
* ".git/.scripts/commands/fmt/fmt.sh"
* Integrates broker in kitchensink
* Minor update
* Fixes typo
* Moves balance back to u64
* Fixes kitchensink build
* Fixes worst case for assign
* Adds benchmark for process_core_count
* Adds a couple of more benchmarks
* Adds an assert for partition
* Uses max_timeslices as input in claim_revenue benchmark
* Adds benchmark for drop_renewal
* Adds benchmark for process_core_schedule
* Adds benchmark for process_pool
* Adds assertion for transfer
* Fixes benchmark for broker in kitchensink
* Adds todo for process_revenue benchmark
* Minor update
* Fix for pool revenue history
* remove TODOs
* Fix tests
* Document CoretimeInterface
* rename part to mask
* Fixes
* Grumble
* ".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime=dev --target_dir=substrate --pallet=pallet_broker
* Adds benchmark for drop_history and fixes worst case for claim_revenue
* Adds drop_history in WeightInfo
* ".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime=dev --target_dir=substrate --pallet=pallet_broker
* Minor fix for Quick Benchmark CI
* Fixes
* Docs
* Headers
* Expose a couple of APIs for benchmarking (#14688)
* Expose a couple of APIs for benchmarking
* Adds doc
* Minor fix in CoretimeInterface impl for kitchensik
* Minor
* Cap renewal price
* Adds a few tests
* Adds more tests
* Minor updates
* Adds a test for an edge case
* Fixes feature propagation
* Fixes feature propagation
* Adds doc fix
* Syntax nits
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Reuse Bit assign functions
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Bitwise tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* adapt_price: Edge case for sold == target
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Add sanity checking to ConfigRecord
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Add deny(missing_docs) where possible
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* partition: forbid pivot_offset == 0
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Sort features
zepter format features
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Import Zero from new location
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Clippy: remove redundant clone
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* try to fix build
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Fix CI
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Nikhil Gupta <17176722+gupnik@users.noreply.github.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>
* Expose environment types for offchain tooling
* Use EnvironmentType wrapper
* Add type impl to test config
---------
Co-authored-by: parity-processbot <>
* Make `storage_alias` more generic over the `prefix`
* Make `UnlockAndUnreserveAllFunds` indepenend from the pallet
* FMT
* Fix error reporting
* Rename prefix type
* Add test
* Apply suggestions from code review
Co-authored-by: Sam Johnson <sam@durosoft.com>
* ".git/.scripts/commands/fmt/fmt.sh"
---------
Co-authored-by: Sam Johnson <sam@durosoft.com>
Co-authored-by: command-bot <>
* feat: Add try_state for message_queue
* Update frame/message-queue/src/lib.rs
change if let to while let and modify bump_service_head function
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* feat: update try_state, add checks for storage
* fix: add try_state builder for remaining tests
* Update frame/message-queue/src/mock.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* chore: assert statement to ensure
* Fix tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Use ensure instead of assert
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Fix function signature and feature gate
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Cleanup code
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Juan <juangirini@gmail.com>
* Implements dynamic nominations per nominator
* Adds SnapshotBounds and ElectionSizeTracker
* Changes the ElectionDataProvider interface to receive ElectionBounds as input
* Implements get_npos_voters with ElectionBounds
* Implements get_npos_targets with ElectionBounds
* Adds comments
* tests
* Truncates nomninations that exceed nominations quota; Old tests passing
* Uses DataProviderBounds and ElectionBounds (to continue)
* Finishes conversions - tests passing
* Refactor staking in babe mocks
* Replaces MaxElectableTargets and MaxElectingVoters with ElectionBounds; Adds more tests
* Fixes nits; node compiling
* bechmarks
* removes nomination_quota extrinsic to request the nomination quota
* Lazy quota check, ie. at nominate time only
* remove non-working test (for now)
* tests lazy nominations quota when quota is lower than current number of nominated targets
* Adds runtime API and custom RPC call for clients to query the nominations quota for a given balance
* removes old rpc
* Cosmetic touches
* All mocks working
* Fixes benchmarking mocks
* nits
* more tests
* renames trait methods
* nit
* ".git/.scripts/commands/fmt/fmt.sh"
* Fix V2 PoV benchmarking (#13485)
* Bump default 'additional_trie_layers' to two
The default here only works for extremely small runtimes, which have
no more than 16 storage prefices. This is changed to a "sane" default
of 2, which is save for runtimes with up to 4096 storage prefices (eg StorageValue).
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update tests and test weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Fix PoV weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_balances
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_message_queue
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_glutton
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_glutton
* Fix sanity check
>0 would also do as a check, but let's try this.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>
* Move BEEFY code to consensus (#13484)
* Move beefy primitives to consensus dir
* Move beefy gadget to client consensus folder
* Rename beefy crates
* chore: move genesis block builder to chain-spec crate. (#13427)
* chore: move genesis block builder to block builder crate.
* add missing file
* chore: move genesis block builder to sc-chain-spec
* Update client/chain-spec/src/genesis.rs
Co-authored-by: Bastian Köcher <git@kchr.de>
* Update test-utils/runtime/src/genesismap.rs
Co-authored-by: Bastian Köcher <git@kchr.de>
* Update test-utils/runtime/client/src/lib.rs
* fix warnings
* fix warnings
---------
Co-authored-by: Bastian Köcher <git@kchr.de>
* Speed up storage iteration from within the runtime (#13479)
* Speed up storage iteration from within the runtime
* Move the cached iterator into an `Option`
* Use `RefCell` in no_std
* Simplify the code slightly
* Use `Option::replace`
* Update doc comment for `next_storage_key_slow`
* Make unbounded channels size warning exact (part 1) (#13490)
* Replace `futures-channel` with `async-channel` in `out_events`
* Apply suggestions from code review
Co-authored-by: Koute <koute@users.noreply.github.com>
* Also print the backtrace of `send()` call
* Switch from `backtrace` crate to `std::backtrace`
* Remove outdated `backtrace` dependency
* Remove `backtrace` from `Cargo.lock`
---------
Co-authored-by: Koute <koute@users.noreply.github.com>
* Removal of Prometheus alerting rules deployment in cloud-infra (#13499)
* sp-consensus: remove unused error variants (#13495)
* Expose `ChargedAmount` (#13488)
* Expose `ChargedAmount`
* Fix imports
* sc-consensus-beefy: fix metrics: use correct names (#13494)
Signed-off-by: acatangiu <adrian@parity.io>
* clippy fix
* removes NominationsQuotaExceeded event
* Update frame/staking/src/lib.rs
Co-authored-by: Ross Bulat <ross@parity.io>
* adds back the npos_max_iter
* remove duplicate imports added after merge
* fmt
* Adds comment in public struct; Refactors CountBound and SizeCount to struct
* addresses various pr comments
* PR comment reviews
* Fixes on-chain election bounds and related code
* EPM checks the size of the voter list returned by the data provider
* cosmetic changes
* updates e2e tests mock
* Adds more tests for size tracker and refactors code
* Adds back only_iterates_max_2_times_max_allowed_len test
* Refactor
* removes unecessary dependency
* empty commit -- restart all stuck CI jobs
* restarts ci jobs
* Renames ElectionBounds -> Bounds in benchmarking mocks et al
* updates mocks
* Update frame/election-provider-support/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update frame/staking/src/pallet/impls.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update frame/election-provider-support/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update frame/staking/src/tests.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* more checks in api_nominations_quota in tests
* Improves docs
* fixes e2e tests
* Uses size_hint rather than mem::size_of in size tracker; Refactor size tracker to own module
* nits from reviews
* Refactors bounds to own module; improves docs
* More tests and docs
* fixes docs
* Fixes benchmarks
* Fixes rust docs
* fixes bags-list remote-ext-tests
* Simplify bound checks in create_snapshot_external
* Adds target size check in get_npos_targets
* ".git/.scripts/commands/fmt/fmt.sh"
* restart ci
* rust doc fixes and cosmetic nits
* rollback upgrade on parity-scale-codec version (unecessary)
* reset cargo lock, no need to update it
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: acatangiu <adrian@parity.io>
Co-authored-by: command-bot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Davide Galassi <davxy@datawok.net>
Co-authored-by: yjh <yjh465402634@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Koute <koute@users.noreply.github.com>
Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Co-authored-by: Anthony Lazam <lazam@users.noreply.github.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Piotr Mikołajczyk <piomiko41@gmail.com>
Co-authored-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: Ross Bulat <ross@parity.io>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Provide basic breakpoints
* Rename to Observer
* Rename feature. Single trait. Borrow-checker
* : frame_system::Config
* Confused type name
* Minor bugs
* pub trait
* No unnecessary cloning
* Make node compile with all features
* Move everything debug-related to a single module
* Add docs and implementation for ()
* fmt
* Make it feature-gated or for tests
* Prepare testing kit
* Testcase
* Fmt
* Use feature in dev-deps
* ?
* feature propagation
* AAAA
* lol, that doesn't make much sense to me
* Turn on
* clippy
* Remove self dep
* fmt, feature-gating test
* Noop to trigger CI
* idk
* add feature to pipeline
* Corrupt test to see if it is actually being run
* Revert change
* Doc for conf type
* Review
* Imports
* ...
* Remove debug for kitchen-sink
* Move test
* Fix imports
* I must have already tried this one...
* Use relative docify paths
Bumping the docify version and using relative paths is needed for
the monorepo to find the test files in the new workspace.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* update docify to fix paths issue
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Sam Johnson <sam@durosoft.com>
* aura: add feature-flagged explicit slot duration type
* fmt
* add some comments
* have node-template use new explicit feature
* fix mock
* fmt
* use the experimental feature flag instead
* checkout master Cargo.lock
* Merged BEEFY primitives with generic signature and keyset commitment support from old pull to current code
* - Add bls-experimental feature to application-crypto and beefy primitives
- Fix remaining crypto -> ecdsa_crypto
- code build but not tests
* Make beefy primitive tests compile
* move bls related beefy primitives code and test behind bls-experimental flag
* Make BEEFY clients complies with BEEFY API depending on AuthorityId
* - Rename `BeefyAuthoritySet.root` → `BeefyAuthoritySet.keyset_commitment`.
- Remove apk proof keyset_commitment from `BeefyAuthoritySet`.
- Fix failing signed commitment and signature to witness test.
- Make client compatible with BeefyAPI generic on AuthorityId.
- `crypto` → `ecdsa_crypto` in BEEFY client and frame.
* Commit Cargo lock remove ark-serialize from BEEFY primitives
* Use Codec instead of Encode + Decode in primitives/consensus/beefy/src/lib.rs
Co-authored-by: Davide Galassi <davxy@datawok.net>
* - Make `BeefyApi` generic over Signature type.
- Make new `BeeyApi` functinos also generic over AuthorityId and Signature
* Unmake BeefyAPI generic over Signature. Recover Signature type from AuthId.
* - dont use hex or hex-literal use array-bytes instead in beefy primitives and bls crypto.
- CamelCase ECDSA and BLS everywhere.
* Move the definition of BEEFY key type from `primitives/beefy` to `crypto.rs` according to new convention.
* - Add bls377_generate_new to `sp-io` and `application_crypto::bls`.
- Add `bls-experimental` to `sp-io`
Does not compile because PassByCodec can not derive PassBy using customly implemented PassByIner.
* Implement PassBy for `bls::Public` manually
* fix Beefy `KEY_TYPE` in `frame/beefy` tests to come from `sp-core::key_types` enum
* specify both generic for `hex2array_unchecked` in `sp-core/bls.rs`
* Rename `crypto`→`ecdsa_crypto` in `primitives/consensus/beefy/src/test_utils.rs` docs
* remove commented-out code in `primitives/consensus/beefy/src/commitment.rs`
Co-authored-by: Davide Galassi <davxy@datawok.net>
* Fix inconsistency in panic message in `primitives/io/src/lib.rs`
Co-authored-by: Davide Galassi <davxy@datawok.net>
* Remove redundant feature activation in `primitives/io/Cargo.toml`
Co-authored-by: Davide Galassi <davxy@datawok.net>
* - make `w3f-bls` a dev-dependancy only for beefy primitives.
- clean up comments.
Co-authored-by: Davide Galassi <davxy@datawok.net>
* export BEEFY KEY_TYPE from primitives/consensus/beefy
make `frame/consensus/beefy` in dependent of sp_crypto_app
use consistent naming in the beefy primitive tests.
* - implement `BeefyAuthorityId` for `bls_crypto::AuthorityId`.
- implement `bls_verify_works` test for BEEFY `bls_crypto`.
* Remove BEEFY `ecdsa_n_bls_crypto` for now for later re-introduction
* Make commitment and witness BEEFY tests not use Keystore.
* put `bls_beefy_verify_works` test under `bls-experimental` flag.
* bump up Runtime `BeefyAPI` to version 3 due to introducing generic AuthorityId.
* reuse code and encapsulate w3f-bls backend in sp-core as most as possible
Co-authored-by: Davide Galassi <davxy@datawok.net>
* Make comments in primities BEEFY `commitment.rs` and `witness.rs``tests convention conforming
* Use master dep versions
* Trivial change. Mostly to trigger CI
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Fix Cargo.toml
* Trigger CI with cumulus companion
* Trigger CI after polkadot companion change
---------
Co-authored-by: Davide Galassi <davxy@datawok.net>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Fix std, runtime-benchmarks and try-runtime features
zepter lint propagate-feature --feature try-runtime --left-side-feature-missing=ignore --workspace --fix --feature-enables-dep="try-runtime:frame-try-runtime"
zepter lint propagate-feature --feature runtime-benchmarks --left-side-feature-missing=ignore --workspace --fix --feature-enables-dep="runtime-benchmarks:frame-benchmarking"
zepter lint propagate-feature --feature std --left-side-feature-missing=ignore --workspace --fix
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Add propagate feature CI check
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Test CI by adding an error
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Use --locked
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Add help msg
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Revert "Test CI by adding an error"
This reverts commit cf4ff6cc0632269b0a109e547686e5e3314b02de.
* Test CI by adding an error
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* No newline in help msg
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Revert "Test CI by adding an error"
This reverts commit 5daa06ada8e01f5bebafb9d1c76804dd79bc1006.
* Test CI by adding an error
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Revert "Test CI by adding an error"
This reverts commit ca15de5729507a564f140a10ec2e87b19516ec4c.
* Fix msg
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Revert back to master
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Re-do with Zepter v0.7.4
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update Zepter to 0.7.4
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Disable rococo try-runtime check
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <git@kchr.de>
* More review fixes
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
* add docs about call indices and hashers
* fix mention of call indices
* ".git/.scripts/commands/fmt/fmt.sh"
---------
Co-authored-by: command-bot <ci@gitlab.parity.io>