Babe VRF Signing in keystore (#6225)
* Introduce trait * Implement VRFSigner in keystore * Use vrf_sign from keystore * Convert output to VRFInOut * Simplify conversion * vrf_sign secondary slot using keystore * Fix RPC call to claim_slot * Use Public instead of Pair * Check primary threshold in signer * Fix interface to return error * Move vrf_sign to BareCryptoStore * Fix authorship_works test * Fix BABE logic leaks * Acquire a read lock once * Also fix RPC acquiring the read lock once * Implement a generic way to construct VRF Transcript * Use make_transcript_data to call sr25519_vrf_sign * Make sure VRFTranscriptData is serializable * Cleanup * Move VRF to it's own module * Implement & test VRF signing in testing module * Remove leftover * Fix feature requirements * Revert removing vec macro * Drop keystore pointer to prevent deadlock * Nitpicks * Add test to make sure make_transcript works * Fix mismatch in VRF transcript * Add a test to verify transcripts match in babe * Return VRFOutput and VRFProof from keystore
Showing
- substrate/Cargo.lock 4 additions, 0 deletionssubstrate/Cargo.lock
- substrate/client/consensus/babe/Cargo.toml 1 addition, 0 deletionssubstrate/client/consensus/babe/Cargo.toml
- substrate/client/consensus/babe/rpc/Cargo.toml 1 addition, 1 deletionsubstrate/client/consensus/babe/rpc/Cargo.toml
- substrate/client/consensus/babe/rpc/src/lib.rs 14 additions, 8 deletionssubstrate/client/consensus/babe/rpc/src/lib.rs
- substrate/client/consensus/babe/src/authorship.rs 78 additions, 55 deletionssubstrate/client/consensus/babe/src/authorship.rs
- substrate/client/consensus/babe/src/tests.rs 46 additions, 2 deletionssubstrate/client/consensus/babe/src/tests.rs
- substrate/client/keystore/Cargo.toml 2 additions, 1 deletionsubstrate/client/keystore/Cargo.toml
- substrate/client/keystore/src/lib.rs 20 additions, 1 deletionsubstrate/client/keystore/src/lib.rs
- substrate/primitives/consensus/babe/Cargo.toml 2 additions, 0 deletionssubstrate/primitives/consensus/babe/Cargo.toml
- substrate/primitives/consensus/babe/src/lib.rs 19 additions, 0 deletionssubstrate/primitives/consensus/babe/src/lib.rs
- substrate/primitives/core/Cargo.toml 1 addition, 0 deletionssubstrate/primitives/core/Cargo.toml
- substrate/primitives/core/src/lib.rs 2 additions, 0 deletionssubstrate/primitives/core/src/lib.rs
- substrate/primitives/core/src/testing.rs 72 additions, 14 deletionssubstrate/primitives/core/src/testing.rs
- substrate/primitives/core/src/traits.rs 33 additions, 12 deletionssubstrate/primitives/core/src/traits.rs
- substrate/primitives/core/src/vrf.rs 99 additions, 0 deletionssubstrate/primitives/core/src/vrf.rs
Please register or sign in to comment