Skip to main content

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

1use crate::identity::identity_public_key::methods::hash::IdentityPublicKeyHashMethodsV0;
2use crate::identity::identity_public_key::v0::methods::{
3    public_key_hash_for_key_data, validate_private_key_bytes_for_key_data,
4};
5use crate::identity::identity_public_key::v1::IdentityPublicKeyV1;
6use crate::ProtocolError;
7use dashcore::Network;
8
9impl IdentityPublicKeyHashMethodsV0 for IdentityPublicKeyV1 {
10    /// Get the original public key hash
11    fn public_key_hash(&self) -> Result<[u8; 20], ProtocolError> {
12        public_key_hash_for_key_data(self.key_type, &self.data)
13    }
14
15    fn validate_private_key_bytes(
16        &self,
17        private_key_bytes: &[u8; 32],
18        network: Network,
19    ) -> Result<bool, ProtocolError> {
20        validate_private_key_bytes_for_key_data(
21            self.key_type,
22            &self.data,
23            private_key_bytes,
24            network,
25        )
26    }
27}