mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-15 12:41:07 +00:00
Refinements to VRF types (#14036)
* Allow extra signing data * Fix tests after renaming * Rename VrfSecret/VrfVerifier to VrfSecret/VrfPublic * Further encrapsulation of 'transcript' type to the sr25519 implementation * Keystore sr25519 pre-output * Leave additional custom input field hidden in the associated VrfInput type * Fix test * More ergonomic output_bytes * Trigger pipeline * Define a separated type for vrf signature data * Fix docs * Fix doc * Remove annotation * Directly use dleq_proove and dleq_verify in sr25519 * Trigger CI * Remove cruft before merge
This commit is contained in:
@@ -27,7 +27,7 @@ use frame_support::{
|
||||
use pallet_session::historical as pallet_session_historical;
|
||||
use sp_consensus_babe::{AuthorityId, AuthorityPair, Randomness, Slot, VrfSignature};
|
||||
use sp_core::{
|
||||
crypto::{KeyTypeId, Pair, VrfSigner},
|
||||
crypto::{KeyTypeId, Pair, VrfSecret},
|
||||
H256, U256,
|
||||
};
|
||||
use sp_io;
|
||||
@@ -314,17 +314,16 @@ pub fn make_secondary_vrf_pre_digest(
|
||||
Digest { logs: vec![log] }
|
||||
}
|
||||
|
||||
pub fn make_vrf_output(
|
||||
pub fn make_vrf_signature_and_randomness(
|
||||
slot: Slot,
|
||||
pair: &sp_consensus_babe::AuthorityPair,
|
||||
) -> (VrfSignature, Randomness) {
|
||||
let transcript = sp_consensus_babe::make_transcript(&Babe::randomness(), slot, 0);
|
||||
let transcript = sp_consensus_babe::make_vrf_transcript(&Babe::randomness(), slot, 0);
|
||||
|
||||
let signature = pair.as_ref().vrf_sign(&transcript);
|
||||
let randomness =
|
||||
pair.as_ref().make_bytes(sp_consensus_babe::RANDOMNESS_VRF_CONTEXT, &transcript);
|
||||
|
||||
let randomness = pair
|
||||
.as_ref()
|
||||
.make_bytes::<Randomness>(sp_consensus_babe::RANDOMNESS_VRF_CONTEXT, &transcript);
|
||||
let signature = pair.as_ref().vrf_sign(&transcript.into());
|
||||
|
||||
(signature, randomness)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user