Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat: generate credential ID on chain
  • Loading branch information
ntn-x2 committed Aug 1, 2022
commit 649e04a7181f74b892f8ede97129ae06cc606d5e
20 changes: 12 additions & 8 deletions pallets/public-credentials/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,13 @@

// If you feel like getting in touch with us, you can do so at [email protected]

use codec::Encode;
use sp_runtime::traits::Hash;

use ctype::CtypeHashOf;
use attestation::AttesterOf;

use crate::{Claim, Config, InputClaimsContentOf, InputCredentialOf, InputSubjectIdOf};
use crate::{Claim, Config, CredentialIdOf, InputClaimsContentOf, InputCredentialOf, InputSubjectIdOf};

// Generate a public credential using a many Default::default() as possible.
pub fn generate_base_public_credential_creation_op<T: Config>(
Expand All @@ -36,6 +40,13 @@ pub fn generate_base_public_credential_creation_op<T: Config>(
}
}

pub fn generate_credential_id<T: Config>(
input_credential: &InputCredentialOf<T>,
attester: &AttesterOf<T>
) -> CredentialIdOf<T> {
T::CredentialHash::hash(&[&input_credential.encode()[..], &attester.encode()[..]].concat()[..])
}

#[cfg(test)]
pub use crate::mock::runtime::*;

Expand Down Expand Up @@ -271,13 +282,6 @@ pub(crate) mod runtime {

pub(crate) const SUBJECT_ID_00: TestSubjectId = TestSubjectId([100u8; 32]);

pub(crate) const CLAIM_HASH_SEED_01: u64 = 1u64;
pub(crate) const CLAIM_HASH_SEED_02: u64 = 2u64;

pub(crate) fn claim_hash_from_seed(seed: u64) -> Hash {
Hash::from_low_u64_be(seed)
}

pub(crate) fn sr25519_did_from_seed(seed: &[u8; 32]) -> SubjectId {
MultiSigner::from(sr25519::Pair::from_seed(seed).public())
.into_account()
Expand Down
Loading