Merge branch 'validator_induction' into genesis
This commit is contained in:
commit
afc219c26b
@ -18,7 +18,3 @@ pub struct ValidatorRegistration {
|
||||
pub randao_commitment: Hash256,
|
||||
pub proof_of_possession: Signature,
|
||||
}
|
||||
|
||||
impl ValidatorRegistration {
|
||||
pub fn random()
|
||||
}
|
||||
|
@ -5,3 +5,4 @@ authors = ["Paul Hauner <paul@paulhauner.com>"]
|
||||
|
||||
[dependencies]
|
||||
bls-aggregates = { git = "https://github.com/sigp/signature-schemes" }
|
||||
hashing = { path = "../hashing" }
|
||||
|
@ -1,4 +1,5 @@
|
||||
extern crate bls_aggregates;
|
||||
extern crate hashing;
|
||||
|
||||
pub use self::bls_aggregates::AggregateSignature;
|
||||
pub use self::bls_aggregates::AggregatePublicKey;
|
||||
@ -8,3 +9,21 @@ pub use self::bls_aggregates::PublicKey;
|
||||
pub use self::bls_aggregates::SecretKey;
|
||||
|
||||
pub const BLS_AGG_SIG_BYTE_SIZE: usize = 97;
|
||||
|
||||
use hashing::proof_of_possession_hash;
|
||||
|
||||
/// For some signature and public key, ensure that the signature message was the public key and it
|
||||
/// was signed by the secret key that corresponds to that public key.
|
||||
pub fn verify_proof_of_possession(sig: &Signature, pubkey: &PublicKey)
|
||||
-> bool
|
||||
{
|
||||
let hash = proof_of_possession_hash(&pubkey.as_bytes());
|
||||
sig.verify_hashed(&hash, &pubkey)
|
||||
}
|
||||
|
||||
pub fn create_proof_of_possession(keypair: &Keypair)
|
||||
-> Signature
|
||||
{
|
||||
let hash = proof_of_possession_hash(&keypair.pk.as_bytes());
|
||||
Signature::new_hashed(&hash, &keypair.sk)
|
||||
}
|
||||
|
@ -1,11 +1,12 @@
|
||||
use bls::{
|
||||
verify_proof_of_possession,
|
||||
};
|
||||
use types::{
|
||||
ValidatorRecord,
|
||||
ValidatorStatus,
|
||||
ValidatorRegistration,
|
||||
};
|
||||
|
||||
use super::proof_of_possession::verify_proof_of_possession;
|
||||
|
||||
/// The size of a validators deposit in GWei.
|
||||
pub const DEPOSIT_GWEI: u64 = 32_000_000_000;
|
||||
|
||||
|
@ -3,13 +3,8 @@ extern crate hashing;
|
||||
extern crate types;
|
||||
|
||||
mod inductor;
|
||||
mod proof_of_possession;
|
||||
|
||||
pub use inductor::{
|
||||
ValidatorInductor,
|
||||
ValidatorInductionError,
|
||||
};
|
||||
|
||||
pub use proof_of_possession::{
|
||||
create_proof_of_possession,
|
||||
};
|
||||
|
@ -1,22 +0,0 @@
|
||||
use bls::{
|
||||
Keypair,
|
||||
PublicKey,
|
||||
Signature,
|
||||
};
|
||||
use hashing::proof_of_possession_hash;
|
||||
|
||||
/// For some signature and public key, ensure that the signature message was the public key and it
|
||||
/// was signed by the secret key that corresponds to that public key.
|
||||
pub fn verify_proof_of_possession(sig: &Signature, pubkey: &PublicKey)
|
||||
-> bool
|
||||
{
|
||||
let hash = proof_of_possession_hash(&pubkey.as_bytes());
|
||||
sig.verify_hashed(&hash, &pubkey)
|
||||
}
|
||||
|
||||
pub fn create_proof_of_possession(keypair: &Keypair)
|
||||
-> Signature
|
||||
{
|
||||
let hash = proof_of_possession_hash(&keypair.pk.as_bytes());
|
||||
Signature::new_hashed(&hash, &keypair.sk)
|
||||
}
|
Loading…
Reference in New Issue
Block a user