-
Notifications
You must be signed in to change notification settings - Fork 680
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sassafras primitives #1249
Sassafras primitives #1249
Conversation
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.
Based on your previous explanations about the flow, this looks good to me!
|
||
/// Configuration data that can be modified on epoch change. | ||
#[derive( | ||
Copy, Clone, PartialEq, Eq, Encode, Decode, RuntimeDebug, MaxEncodedLen, TypeInfo, Default, |
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.
Creating this struct with Default
will initialize everything to zero, including the attempts_number
. Shouldn't that be at least 1
by default?
* master: (25 commits) fix typos (#1339) Use bandersnatch-vrfs with locked dependencies ref (#1342) Bump bs58 from 0.4.0 to 0.5.0 (#1293) Contracts: `seal0::balance` should return the free balance (#1254) Logs: add extra debug log for negative rep changes (#1205) Added short-benchmarks for cumulus (#1183) [xcm-emulator] Improve hygiene and clean up (#1301) Bump the known_good_semver group with 1 update (#1347) Renames API (#1186) Rename `polkadot-parachain` to `polkadot-parachain-primitives` (#1334) Add README to project root (#1253) Add environmental variable to track decoded instructions (#1320) Fix polkadot-node-core-pvf-prepare-worker build with jemalloc (#1315) Sassafras primitives (#1249) Restructure `dispatch` macro related exports (#1162) backing: move the min votes threshold to the runtime (#1200) Bump zstd from 0.11.2+zstd.1.5.2 to 0.12.4 (#1326) Remove `substrate_test_utils::test` (#1321) remove disable-runtime-api (#1328) [ci] add more jobs for pipeline cancel, cleanup (#1314) ...
* Introduce Sassafras primitives * Keystore workaround * Fix doc * Use in keystore * Improve bandersnatch vrf docs * Apply review suggestions * Update README * Docs improvement * Docs fix
* Introduce Sassafras primitives * Keystore workaround * Fix doc * Use in keystore * Improve bandersnatch vrf docs * Apply review suggestions * Update README * Docs improvement * Docs fix
This PR introduces a new crate with the primitives required by #41.
Quoting the crate README:
Nevertheless, the strategy here is to incrementally drain the main Sassafras PR by upstreaming smaller components in order to make the overall protocol inclusion and analysis more manageable.
The structures and functions were found to satisfy the requirements of the protocol.
A more in depth analysis of the structures obviously requires to dig into the client and frame pallets in the main PR.
This crate requires to enable bandersnatch-experimental feature in some of its dependencies.
This feature ends up being transitively enabled in:
sp-consensus-sassafras → sp-application-crypto → sp-io → sp-keystore
Follows that Bandersnatch API ends up being exposed by the
Keystore
trait and thus we require to expose these functions implementations in the client keystore (sc-keystore
) as well.The (temporary)
workaround is to includesolution is to conditionally compilesc-keystore
as an optional dependency insp-consensus-sassafras
and enable it withbandersnatch-experimental
feature on std buildssc-keystore
experimental code using the result ofgenerate_feature_enabled_macro
(see 3a1eeda)Step towards: #41
Extracted from: paritytech/substrate#11879
Superseeds: paritytech/substrate#14768