Skip to main content

dpp/identity/identity_public_key/methods/hash/
mod.rs

1mod v0;
2
3use crate::identity::IdentityPublicKey;
4use crate::ProtocolError;
5use dashcore::Network;
6pub use v0::*;
7
8impl IdentityPublicKeyHashMethodsV0 for IdentityPublicKey {
9    fn public_key_hash(&self) -> Result<[u8; 20], ProtocolError> {
10        match self {
11            IdentityPublicKey::V0(v0) => v0.public_key_hash(),
12            IdentityPublicKey::V1(v1) => v1.public_key_hash(),
13        }
14    }
15
16    fn validate_private_key_bytes(
17        &self,
18        private_key_bytes: &[u8; 32],
19        network: Network,
20    ) -> Result<bool, ProtocolError> {
21        match self {
22            IdentityPublicKey::V0(v0) => v0.validate_private_key_bytes(private_key_bytes, network),
23            IdentityPublicKey::V1(v1) => v1.validate_private_key_bytes(private_key_bytes, network),
24        }
25    }
26}