pub trait KeyOwnerProofSystem<Key> {
type Proof: Codec;
type IdentificationTuple: Codec;
// Required methods
fn prove(key: Key) -> Option<Self::Proof>;
fn check_proof(
key: Key,
proof: Self::Proof
) -> Option<Self::IdentificationTuple>;
}
Expand description
Something which can compute and check proofs of a historical key owner and return full identification data of that key owner.
Required Associated Types§
type Proof: Codec
type Proof: Codec
The proof of membership itself.
type IdentificationTuple: Codec
type IdentificationTuple: Codec
The full identification of a key owner and the stash account.
Required Methods§
fn prove(key: Key) -> Option<Self::Proof>
fn prove(key: Key) -> Option<Self::Proof>
Prove membership of a key owner in the current block-state.
This should typically only be called off-chain, since it may be computationally heavy.
Returns Some
iff the key owner referred to by the given key
is a
member of the current set.
fn check_proof(
key: Key,
proof: Self::Proof
) -> Option<Self::IdentificationTuple>
fn check_proof( key: Key, proof: Self::Proof ) -> Option<Self::IdentificationTuple>
Check a proof of membership on-chain. Return Some
iff the proof is
valid and recent enough to check.