-
Notifications
You must be signed in to change notification settings - Fork 2.6k
chore: move genesis block builder to chain-spec crate. #13427
chore: move genesis block builder to chain-spec crate. #13427
Conversation
For what else are you using it? |
I need to build genesis block for checking genesis hash in local(not in cmd). It will be helpful if chain spec have genesis hash directly. But it seems not easy, so we should just build genesis block. |
client/block-builder/src/lib.rs
Outdated
state.finish().to_le_bytes().to_vec() | ||
}, | ||
}; | ||
let runtime_version = RuntimeVersionOf::runtime_version(executor, &mut ext, &runtime_code) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you considered using ReadRuntimeVersion trait + a manual decode instead? I think that could probably work? And it wouldn't require all of the fiddling with WrappedRuntimeCode
and RuntimeCode
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just realized that I wanted to have it put into some different crate. I think sc-chain-spec
is better suited for this. Block builder is not really related to what you are doing here.
Hi @bkchr I found some inconsistecy about state version here:
|
It is done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ty!
Ty for fixing this! This was an oversight! |
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Bastian Köcher <git@kchr.de>
Fine, Could you edit the PR title for this fix. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
@yjhmelody could you please fix the warnings? |
@yjhmelody still the same warning as before. |
Now it's ready @bkchr |
TY @yjhmelody |
* 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>
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
) * 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>
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
- Use of `#[pallet::generate_store(pub(super) trait Store)]` will be removed soon, paritytech/substrate#13535 - Update return values and arguments, b/c syncing protocol was extracted from sc-network. See paritytech/substrate#12828 - Update call to construct_genesis_block(), see paritytech/substrate#13427 - Use of deprecated associated function `frame_support::dispatch::Weight::from_ref_time`: Will be removed soon; use `from_parts` instead.
) * 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>
* 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>
The genesis block builder is very useful. It should not be defined in
sc-service
.The logic is better in sc-block-builder. And it's useful to reduce deps when import genesis block builder logic.