diff --git a/pallets/identity-management-mock/src/lib.rs b/pallets/identity-management-mock/src/lib.rs index afc961373e..359dd37003 100644 --- a/pallets/identity-management-mock/src/lib.rs +++ b/pallets/identity-management-mock/src/lib.rs @@ -92,10 +92,10 @@ pub mod pallet { #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { // Events from this pallet - LinkIdentityRequested { + CreateIdentityRequested { shard: ShardIdentifier, }, - UnlinkIdentityRequested { + RemoveIdentityRequested { shard: ShardIdentifier, }, VerifyIdentityRequested { @@ -115,7 +115,7 @@ pub mod pallet { UserShieldingKeySet { account: AesOutput, }, - // link identity + // create identity ChallengeCodeGeneratedPlain { account: T::AccountId, identity: Identity, @@ -126,20 +126,20 @@ pub mod pallet { identity: AesOutput, code: AesOutput, }, - IdentityLinkedPlain { + IdentityCreatedPlain { account: T::AccountId, identity: Identity, }, - IdentityLinked { + IdentityCreated { account: AesOutput, identity: AesOutput, }, - // unlink identity - IdentityUnlinkedPlain { + // remove identity + IdentityRemovedPlain { account: T::AccountId, identity: Identity, }, - IdentityUnlinked { + IdentityRemoved { account: AesOutput, identity: AesOutput, }, @@ -283,9 +283,9 @@ pub mod pallet { Ok(()) } - /// Link an identity + /// Create an identity #[pallet::weight(195_000_000)] - pub fn link_identity( + pub fn create_identity( origin: OriginFor, shard: ShardIdentifier, encrypted_identity: Vec, @@ -293,7 +293,7 @@ pub mod pallet { ) -> DispatchResult { let who = ensure_signed(origin)?; ensure!(WhitelistedCallers::::contains_key(&who), Error::::CallerNotWhitelisted); - Self::deposit_event(Event::LinkIdentityRequested { shard }); + Self::deposit_event(Event::CreateIdentityRequested { shard }); let decrypted_identitty = Self::decrypt_with_tee_shielding_key(&encrypted_identity)?; let identity = Identity::decode(&mut decrypted_identitty.as_slice()) @@ -330,7 +330,7 @@ pub mod pallet { code: aes_encrypt_default(&key, code.as_ref()), }); - // emit the IdentityLinked event + // emit the IdentityCreated event let context = IdentityContext { metadata, linking_request_block: Some(>::block_number()), @@ -338,27 +338,27 @@ pub mod pallet { is_verified: false, }; IDGraphs::::insert(&who, &identity, context); - Self::deposit_event(Event::::IdentityLinkedPlain { + Self::deposit_event(Event::::IdentityCreatedPlain { account: who.clone(), identity: identity.clone(), }); - Self::deposit_event(Event::::IdentityLinked { + Self::deposit_event(Event::::IdentityCreated { account: aes_encrypt_default(&key, who.encode().as_slice()), identity: aes_encrypt_default(&key, identity.encode().as_slice()), }); Ok(()) } - /// Unlink an identity + /// Remove an identity #[pallet::weight(195_000_000)] - pub fn unlink_identity( + pub fn remove_identity( origin: OriginFor, shard: ShardIdentifier, encrypted_identity: Vec, ) -> DispatchResult { let who = ensure_signed(origin)?; ensure!(WhitelistedCallers::::contains_key(&who), Error::::CallerNotWhitelisted); - Self::deposit_event(Event::UnlinkIdentityRequested { shard }); + Self::deposit_event(Event::RemoveIdentityRequested { shard }); let decrypted_identitty = Self::decrypt_with_tee_shielding_key(&encrypted_identity)?; let identity = Identity::decode(&mut decrypted_identitty.as_slice()) @@ -367,13 +367,13 @@ pub mod pallet { ensure!(IDGraphs::::contains_key(&who, &identity), Error::::IdentityNotExist); let key = UserShieldingKeys::::get(&who).ok_or(Error::::ShieldingKeyNotExist)?; - // emit the IdentityUnlinked event + // emit the IdentityRemoved event IDGraphs::::remove(&who, &identity); - Self::deposit_event(Event::::IdentityUnlinkedPlain { + Self::deposit_event(Event::::IdentityRemovedPlain { account: who.clone(), identity: identity.clone(), }); - Self::deposit_event(Event::::IdentityUnlinked { + Self::deposit_event(Event::::IdentityRemoved { account: aes_encrypt_default(&key, who.encode().as_slice()), identity: aes_encrypt_default(&key, identity.encode().as_slice()), }); @@ -480,24 +480,24 @@ pub mod pallet { } #[pallet::weight(195_000_000)] - pub fn identity_linked( + pub fn identity_created( origin: OriginFor, account: AesOutput, identity: AesOutput, ) -> DispatchResultWithPostInfo { let _ = T::TEECallOrigin::ensure_origin(origin)?; - Self::deposit_event(Event::IdentityLinked { account, identity }); + Self::deposit_event(Event::IdentityCreated { account, identity }); Ok(Pays::No.into()) } #[pallet::weight(195_000_000)] - pub fn identity_unlinked( + pub fn identity_removed( origin: OriginFor, account: AesOutput, identity: AesOutput, ) -> DispatchResultWithPostInfo { let _ = T::TEECallOrigin::ensure_origin(origin)?; - Self::deposit_event(Event::IdentityUnlinked { account, identity }); + Self::deposit_event(Event::IdentityRemoved { account, identity }); Ok(Pays::No.into()) } diff --git a/pallets/identity-management-mock/src/mock.rs b/pallets/identity-management-mock/src/mock.rs index 5a1e59bc89..7436544999 100644 --- a/pallets/identity-management-mock/src/mock.rs +++ b/pallets/identity-management-mock/src/mock.rs @@ -232,20 +232,20 @@ pub fn setup_user_shieding_key( key } -pub fn setup_link_identity( +pub fn setup_create_identity( who: ::AccountId, identity: Identity, bn: ::BlockNumber, ) { let key = setup_user_shieding_key(who); let encrypted_identity = tee_encrypt(identity.encode().as_slice()); - assert_ok!(IdentityManagementMock::link_identity( + assert_ok!(IdentityManagementMock::create_identity( Origin::signed(who), H256::random(), encrypted_identity.to_vec(), None )); - System::assert_has_event(Event::IdentityManagementMock(crate::Event::IdentityLinkedPlain { + System::assert_has_event(Event::IdentityManagementMock(crate::Event::IdentityCreatedPlain { account: who, identity: identity.clone(), })); @@ -274,7 +274,7 @@ pub fn setup_verify_twitter_identity( identity: Identity, bn: ::BlockNumber, ) { - setup_link_identity(who, identity.clone(), bn); + setup_create_identity(who, identity.clone(), bn); let encrypted_identity = tee_encrypt(identity.encode().as_slice()); let validation_data = match &identity.web_type { IdentityWebType::Web2(Web2Network::Twitter) => create_mock_twitter_validation_data(), @@ -294,7 +294,7 @@ pub fn setup_verify_polkadot_identity( bn: ::BlockNumber, ) { let identity = create_mock_polkadot_identity(p.public().0); - setup_link_identity(who, identity.clone(), bn); + setup_create_identity(who, identity.clone(), bn); let encrypted_identity = tee_encrypt(identity.encode().as_slice()); let code = IdentityManagementMock::challenge_codes(&who, &identity).unwrap(); let validation_data = match &identity.web_type { @@ -321,7 +321,7 @@ pub fn setup_verify_eth_identity( bn: ::BlockNumber, ) { let identity = create_mock_eth_identity(p.address().0); - setup_link_identity(who, identity.clone(), bn); + setup_create_identity(who, identity.clone(), bn); let encrypted_identity = tee_encrypt(identity.encode().as_slice()); let code = IdentityManagementMock::challenge_codes(&who, &identity).unwrap(); let validation_data = match &identity.web_type { diff --git a/pallets/identity-management-mock/src/tests.rs b/pallets/identity-management-mock/src/tests.rs index 0f71ba40dd..c651367ec2 100644 --- a/pallets/identity-management-mock/src/tests.rs +++ b/pallets/identity-management-mock/src/tests.rs @@ -48,28 +48,28 @@ fn set_user_shielding_key_works() { // TODO: maybe add more types #[test] -fn link_twitter_identity_works() { +fn create_twitter_identity_works() { new_test_ext().execute_with(|| { System::set_block_number(5); - setup_link_identity(2, create_mock_twitter_identity(b"alice"), 5); + setup_create_identity(2, create_mock_twitter_identity(b"alice"), 5); }); } #[test] -fn link_polkadot_identity_works() { +fn create_polkadot_identity_works() { new_test_ext().execute_with(|| { System::set_block_number(3); let p = sp_core::sr25519::Pair::from_string("//Alice", None).unwrap(); - setup_link_identity(2, create_mock_polkadot_identity(p.public().0), 3); + setup_create_identity(2, create_mock_polkadot_identity(p.public().0), 3); }); } #[test] -fn link_eth_identity_works() { +fn create_eth_identity_works() { new_test_ext().execute_with(|| { System::set_block_number(3); let p = Random.generate(); - setup_link_identity(2, create_mock_eth_identity(p.address().0), 3); + setup_create_identity(2, create_mock_eth_identity(p.address().0), 3); }); } @@ -102,14 +102,14 @@ fn verify_eth_identity_works() { } #[test] -fn double_link_twitter_identity_works() { +fn double_create_twitter_identity_works() { new_test_ext().execute_with(|| { - // link and verify the first twitter handle + // create and verify the first twitter handle System::set_block_number(3); setup_verify_twitter_identity(2, create_mock_twitter_identity(b"alice"), 3); - // link second twitter handle works + // create second twitter handle works System::set_block_number(4); - setup_link_identity(2, create_mock_twitter_identity(b"bob"), 4); + setup_create_identity(2, create_mock_twitter_identity(b"bob"), 4); }); } @@ -120,7 +120,7 @@ fn wrong_polkadot_verification_message_fails() { let p = sp_core::sr25519::Pair::from_string("//Alice", None).unwrap(); let identity = create_mock_polkadot_identity(p.public().0); let who = 2; - setup_link_identity(who, identity.clone(), 3); + setup_create_identity(who, identity.clone(), 3); System::set_block_number(4); let encrypted_identity = tee_encrypt(identity.encode().as_slice()); diff --git a/pallets/identity-management/src/benchmarking.rs b/pallets/identity-management/src/benchmarking.rs index 1ba5543f1d..07778be5f8 100644 --- a/pallets/identity-management/src/benchmarking.rs +++ b/pallets/identity-management/src/benchmarking.rs @@ -33,27 +33,27 @@ fn assert_last_event(generic_event: ::Event) { benchmarks! { - // Benchmark `link_identity`. There are no worst conditions. The benchmark showed that + // Benchmark `create_identity`. There are no worst conditions. The benchmark showed that // execution time is constant irrespective of encrypted_data size. - link_identity { + create_identity { let caller = whitelisted_caller(); let shard = H256::from_slice(&TEST_MRENCLAVE); let encrypted_did = vec![1u8; 2048]; let encrypted_metadata = Some(vec![1u8; 2048]); }: _(RawOrigin::Signed(caller), shard, encrypted_did, encrypted_metadata) verify { - assert_last_event::(Event::LinkIdentityRequested{ shard }.into()); + assert_last_event::(Event::CreateIdentityRequested{ shard }.into()); } - // Benchmark `unlink_identity`. There are no worst conditions. The benchmark showed that + // Benchmark `remove_identity`. There are no worst conditions. The benchmark showed that // execution time is constant irrespective of encrypted_data size. - unlink_identity { + remove_identity { let caller = whitelisted_caller(); let shard = H256::from_slice(&TEST_MRENCLAVE); let encrypted_did = vec![1u8; 2048]; }: _(RawOrigin::Signed(caller), shard, encrypted_did ) verify { - assert_last_event::(Event::UnlinkIdentityRequested{ shard }.into()); + assert_last_event::(Event::RemoveIdentityRequested{ shard }.into()); } // Benchmark `verify_identity`. There are no worst conditions. The benchmark showed that diff --git a/pallets/identity-management/src/lib.rs b/pallets/identity-management/src/lib.rs index a8febb6a4f..32443d00cc 100644 --- a/pallets/identity-management/src/lib.rs +++ b/pallets/identity-management/src/lib.rs @@ -49,8 +49,8 @@ use sp_std::vec::Vec; // fn types for handling inside tee-worker pub type SetUserShieldingKeyFn = ([u8; 2], ShardIdentifier, Vec); -pub type LinkIdentityFn = ([u8; 2], ShardIdentifier, Vec, Option>); -pub type UnlinkIdentityFn = ([u8; 2], ShardIdentifier, Vec); +pub type CreateIdentityFn = ([u8; 2], ShardIdentifier, Vec, Option>); +pub type RemoveIdentityFn = ([u8; 2], ShardIdentifier, Vec); pub type VerifyIdentityFn = ([u8; 2], ShardIdentifier, Vec, Vec); #[frame_support::pallet] @@ -75,15 +75,15 @@ pub mod pallet { #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { // TODO: do we need account as event parameter? This needs to be decided by F/E - LinkIdentityRequested { shard: ShardIdentifier }, - UnlinkIdentityRequested { shard: ShardIdentifier }, + CreateIdentityRequested { shard: ShardIdentifier }, + RemoveIdentityRequested { shard: ShardIdentifier }, VerifyIdentityRequested { shard: ShardIdentifier }, SetUserShieldingKeyRequested { shard: ShardIdentifier }, // event that should be triggered by TEECallOrigin UserShieldingKeySet { account: AesOutput }, ChallengeCodeGenerated { account: AesOutput, identity: AesOutput, code: AesOutput }, - IdentityLinked { account: AesOutput, identity: AesOutput }, - IdentityUnlinked { account: AesOutput, identity: AesOutput }, + IdentityCreated { account: AesOutput, identity: AesOutput }, + IdentityRemoved { account: AesOutput, identity: AesOutput }, IdentityVerified { account: AesOutput, identity: AesOutput }, // some error happened during processing in TEE, we use string-like // parameters for more "generic" error event reporting @@ -109,32 +109,32 @@ pub mod pallet { Ok(().into()) } - /// Link an identity - #[pallet::weight(::WeightInfo::link_identity())] - pub fn link_identity( + /// Create an identity + #[pallet::weight(::WeightInfo::create_identity())] + pub fn create_identity( origin: OriginFor, shard: ShardIdentifier, encrypted_identity: Vec, encrypted_metadata: Option>, ) -> DispatchResultWithPostInfo { let _ = ensure_signed(origin)?; - Self::deposit_event(Event::LinkIdentityRequested { shard }); + Self::deposit_event(Event::CreateIdentityRequested { shard }); Ok(().into()) } - /// Unlink an identity - #[pallet::weight(::WeightInfo::unlink_identity())] - pub fn unlink_identity( + /// Remove an identity + #[pallet::weight(::WeightInfo::remove_identity())] + pub fn remove_identity( origin: OriginFor, shard: ShardIdentifier, encrypted_identity: Vec, ) -> DispatchResultWithPostInfo { let _ = ensure_signed(origin)?; - Self::deposit_event(Event::UnlinkIdentityRequested { shard }); + Self::deposit_event(Event::RemoveIdentityRequested { shard }); Ok(().into()) } - /// Verify a linked identity + /// Verify an identity #[pallet::weight(::WeightInfo::verify_identity())] pub fn verify_identity( origin: OriginFor, @@ -173,24 +173,24 @@ pub mod pallet { } #[pallet::weight(195_000_000)] - pub fn identity_linked( + pub fn identity_created( origin: OriginFor, account: AesOutput, identity: AesOutput, ) -> DispatchResultWithPostInfo { let _ = T::TEECallOrigin::ensure_origin(origin)?; - Self::deposit_event(Event::IdentityLinked { account, identity }); + Self::deposit_event(Event::IdentityCreated { account, identity }); Ok(Pays::No.into()) } #[pallet::weight(195_000_000)] - pub fn identity_unlinked( + pub fn identity_removed( origin: OriginFor, account: AesOutput, identity: AesOutput, ) -> DispatchResultWithPostInfo { let _ = T::TEECallOrigin::ensure_origin(origin)?; - Self::deposit_event(Event::IdentityUnlinked { account, identity }); + Self::deposit_event(Event::IdentityRemoved { account, identity }); Ok(Pays::No.into()) } diff --git a/pallets/identity-management/src/tests.rs b/pallets/identity-management/src/tests.rs index 93a7c3be62..151709b042 100644 --- a/pallets/identity-management/src/tests.rs +++ b/pallets/identity-management/src/tests.rs @@ -38,28 +38,28 @@ fn set_user_shielding_key_works() { } #[test] -fn link_identity_works() { +fn create_identity_works() { new_test_ext().execute_with(|| { let shard: ShardIdentifier = H256::from_slice(&TEST_MRENCLAVE); - assert_ok!(IdentityManagement::link_identity( + assert_ok!(IdentityManagement::create_identity( Origin::signed(1), shard, vec![1u8; 2048], Some(vec![1u8; 2048]) )); - System::assert_last_event(Event::IdentityManagement(crate::Event::LinkIdentityRequested { - shard, - })); + System::assert_last_event(Event::IdentityManagement( + crate::Event::CreateIdentityRequested { shard }, + )); }); } #[test] -fn unlink_identity_works() { +fn remove_identity_works() { new_test_ext().execute_with(|| { let shard: ShardIdentifier = H256::from_slice(&TEST_MRENCLAVE); - assert_ok!(IdentityManagement::unlink_identity(Origin::signed(1), shard, vec![1u8; 2048])); + assert_ok!(IdentityManagement::remove_identity(Origin::signed(1), shard, vec![1u8; 2048])); System::assert_last_event(Event::IdentityManagement( - crate::Event::UnlinkIdentityRequested { shard }, + crate::Event::RemoveIdentityRequested { shard }, )); }); } diff --git a/pallets/identity-management/src/weights.rs b/pallets/identity-management/src/weights.rs index 0f191b0af0..b7c8855935 100644 --- a/pallets/identity-management/src/weights.rs +++ b/pallets/identity-management/src/weights.rs @@ -47,8 +47,8 @@ use sp_std::marker::PhantomData; /// Weight functions needed for pallet_identity_management. pub trait WeightInfo { - fn link_identity() -> Weight; - fn unlink_identity() -> Weight; + fn create_identity() -> Weight; + fn remove_identity() -> Weight; fn verify_identity() -> Weight; fn set_user_shielding_key() -> Weight; } @@ -56,10 +56,10 @@ pub trait WeightInfo { /// Weights for pallet_identity_management using the Litentry node and recommended hardware. pub struct LitentryWeight(PhantomData); impl WeightInfo for LitentryWeight { - fn link_identity() -> Weight { + fn create_identity() -> Weight { Weight::from_ref_time(17_000_000 as u64) } - fn unlink_identity() -> Weight { + fn remove_identity() -> Weight { Weight::from_ref_time(17_000_000 as u64) } fn verify_identity() -> Weight { @@ -72,10 +72,10 @@ impl WeightInfo for LitentryWeight { // For backwards compatibility and tests impl WeightInfo for () { - fn link_identity() -> Weight { + fn create_identity() -> Weight { Weight::from_ref_time(17_000_000 as u64) } - fn unlink_identity() -> Weight { + fn remove_identity() -> Weight { Weight::from_ref_time(17_000_000 as u64) } fn verify_identity() -> Weight { diff --git a/runtime/litmus/src/weights/pallet_identity_management.rs b/runtime/litmus/src/weights/pallet_identity_management.rs index 2735927ce3..af6a983528 100644 --- a/runtime/litmus/src/weights/pallet_identity_management.rs +++ b/runtime/litmus/src/weights/pallet_identity_management.rs @@ -47,10 +47,10 @@ use sp_std::marker::PhantomData; /// Weight functions for `pallet_identity_management`. pub struct WeightInfo(PhantomData); impl pallet_identity_management::WeightInfo for WeightInfo { - fn link_identity() -> Weight { + fn create_identity() -> Weight { Weight::from_ref_time(15_164_000 as u64) } - fn unlink_identity() -> Weight { + fn remove_identity() -> Weight { Weight::from_ref_time(14_108_000 as u64) } fn verify_identity() -> Weight { diff --git a/runtime/rococo/src/weights/pallet_identity_management.rs b/runtime/rococo/src/weights/pallet_identity_management.rs index b67cc19f53..6c4f1c5494 100644 --- a/runtime/rococo/src/weights/pallet_identity_management.rs +++ b/runtime/rococo/src/weights/pallet_identity_management.rs @@ -47,10 +47,10 @@ use sp_std::marker::PhantomData; /// Weight functions for `pallet_identity_management`. pub struct WeightInfo(PhantomData); impl pallet_identity_management::WeightInfo for WeightInfo { - fn link_identity() -> Weight { + fn create_identity() -> Weight { Weight::from_ref_time(16_109_000 as u64) } - fn unlink_identity() -> Weight { + fn remove_identity() -> Weight { Weight::from_ref_time(14_568_000 as u64) } fn verify_identity() -> Weight { diff --git a/tee-worker/app-libs/stf/src/trusted_call.rs b/tee-worker/app-libs/stf/src/trusted_call.rs index 8c6b939a4e..c3ad7930d2 100644 --- a/tee-worker/app-libs/stf/src/trusted_call.rs +++ b/tee-worker/app-libs/stf/src/trusted_call.rs @@ -102,14 +102,14 @@ pub enum TrustedCall { // litentry set_user_shielding_key_preflight(AccountId, AccountId, UserShieldingKeyType), // (Root, AccountIncognito, Key) -- root as signer, only for testing set_user_shielding_key_runtime(AccountId, AccountId, UserShieldingKeyType), // (EnclaveSigner, AccountIncognito, Key) - link_identity_runtime( + create_identity_runtime( AccountId, AccountId, Identity, Option>, ParentchainBlockNumber, ), // (EnclaveSigner, Account, identity, metadata, blocknumber) - unlink_identity_runtime(AccountId, AccountId, Identity), // (EnclaveSigner, Account, identity) + remove_identity_runtime(AccountId, AccountId, Identity), // (EnclaveSigner, Account, identity) verify_identity_preflight( AccountId, AccountId, @@ -139,8 +139,8 @@ impl TrustedCall { // litentry TrustedCall::set_user_shielding_key_preflight(account, _, _) => account, TrustedCall::set_user_shielding_key_runtime(account, _, _) => account, - TrustedCall::link_identity_runtime(account, _, _, _, _) => account, - TrustedCall::unlink_identity_runtime(account, _, _) => account, + TrustedCall::create_identity_runtime(account, _, _, _, _) => account, + TrustedCall::remove_identity_runtime(account, _, _) => account, TrustedCall::verify_identity_preflight(account, _, _, _, _) => account, TrustedCall::verify_identity_runtime(account, _, _, _) => account, TrustedCall::set_challenge_code_runtime(account, _, _, _) => account, @@ -428,21 +428,21 @@ where } Ok(()) }, - TrustedCall::link_identity_runtime(enclave_account, who, identity, metadata, bn) => { + TrustedCall::create_identity_runtime(enclave_account, who, identity, metadata, bn) => { ensure_enclave_signer_account(&enclave_account)?; debug!( - "link_identity, who: {}, identity: {:?}, metadata: {:?}", + "create_identity, who: {}, identity: {:?}, metadata: {:?}", account_id_to_string(&who), identity, metadata ); - match Self::link_identity_runtime(who.clone(), identity.clone(), metadata, bn) { + match Self::create_identity_runtime(who.clone(), identity.clone(), metadata, bn) { Ok(code) => { - debug!("link_identity {} OK", account_id_to_string(&who)); + debug!("create_identity {} OK", account_id_to_string(&who)); if let Some(key) = IdentityManagement::user_shielding_keys(&who) { calls.push(OpaqueCall::from_tuple(&( node_metadata_repo - .get_from_metadata(|m| m.identity_linked_call_indexes())??, + .get_from_metadata(|m| m.identity_created_call_indexes())??, aes_encrypt_default(&key, &who.encode()), aes_encrypt_default(&key, &identity.encode()), ))); @@ -464,31 +464,31 @@ where } }, Err(err) => { - debug!("link_identity {} error: {}", account_id_to_string(&who), err); + debug!("create_identity {} error: {}", account_id_to_string(&who), err); calls.push(OpaqueCall::from_tuple(&( node_metadata_repo .get_from_metadata(|m| m.some_error_call_indexes())??, - "link_identity".as_bytes(), + "create_identity".as_bytes(), format!("{:?}", err).as_bytes(), ))); }, } Ok(()) }, - TrustedCall::unlink_identity_runtime(enclave_account, who, identity) => { + TrustedCall::remove_identity_runtime(enclave_account, who, identity) => { ensure_enclave_signer_account(&enclave_account)?; debug!( - "unlink_identity, who: {}, identity: {:?}", + "remove_identity, who: {}, identity: {:?}", account_id_to_string(&who), identity, ); - match Self::unlink_identity_runtime(who.clone(), identity.clone()) { + match Self::remove_identity_runtime(who.clone(), identity.clone()) { Ok(()) => { - debug!("unlink_identity {} OK", account_id_to_string(&who)); + debug!("remove_identity {} OK", account_id_to_string(&who)); if let Some(key) = IdentityManagement::user_shielding_keys(&who) { calls.push(OpaqueCall::from_tuple(&( node_metadata_repo - .get_from_metadata(|m| m.identity_unlinked_call_indexes())??, + .get_from_metadata(|m| m.identity_removed_call_indexes())??, aes_encrypt_default(&key, &who.encode()), aes_encrypt_default(&key, &identity.encode()), ))); @@ -502,11 +502,11 @@ where } }, Err(err) => { - debug!("unlink_identity {} error: {}", account_id_to_string(&who), err); + debug!("remove_identity {} error: {}", account_id_to_string(&who), err); calls.push(OpaqueCall::from_tuple(&( node_metadata_repo .get_from_metadata(|m| m.some_error_call_indexes())??, - "unlink_identity".as_bytes(), + "remove_identity".as_bytes(), format!("{:?}", err).as_bytes(), ))); }, @@ -551,7 +551,7 @@ where } }, Err(err) => { - debug!("link_identity {} error: {}", account_id_to_string(&who), err); + debug!("create_identity {} error: {}", account_id_to_string(&who), err); calls.push(OpaqueCall::from_tuple(&( node_metadata_repo .get_from_metadata(|m| m.some_error_call_indexes())??, @@ -583,8 +583,8 @@ where debug!("No storage updates needed..."), TrustedCall::set_user_shielding_key_runtime(..) => debug!("No storage updates needed..."), - TrustedCall::link_identity_runtime(..) => debug!("No storage updates needed..."), - TrustedCall::unlink_identity_runtime(..) => debug!("No storage updates needed..."), + TrustedCall::create_identity_runtime(..) => debug!("No storage updates needed..."), + TrustedCall::remove_identity_runtime(..) => debug!("No storage updates needed..."), TrustedCall::verify_identity_preflight(..) => debug!("No storage updates needed..."), TrustedCall::verify_identity_runtime(..) => debug!("No storage updates needed..."), TrustedCall::set_challenge_code_runtime(..) => debug!("No storage updates needed..."), diff --git a/tee-worker/app-libs/stf/src/trusted_call_litentry.rs b/tee-worker/app-libs/stf/src/trusted_call_litentry.rs index 038f11d9fe..80ee5084b0 100644 --- a/tee-worker/app-libs/stf/src/trusted_call_litentry.rs +++ b/tee-worker/app-libs/stf/src/trusted_call_litentry.rs @@ -63,7 +63,7 @@ impl TrustedCallSigned { Ok(()) } - pub fn link_identity_runtime( + pub fn create_identity_runtime( who: AccountId, identity: Identity, metadata: Option>, @@ -77,7 +77,7 @@ impl TrustedCallSigned { bn ); - ita_sgx_runtime::IdentityManagementCall::::link_identity { + ita_sgx_runtime::IdentityManagementCall::::create_identity { who: who.clone(), identity: identity.clone(), metadata, @@ -99,9 +99,9 @@ impl TrustedCallSigned { Ok(code) } - pub fn unlink_identity_runtime(who: AccountId, identity: Identity) -> StfResult<()> { + pub fn remove_identity_runtime(who: AccountId, identity: Identity) -> StfResult<()> { debug!("who.str = {:?}, identity = {:?}", account_id_to_string(&who), identity,); - ita_sgx_runtime::IdentityManagementCall::::unlink_identity { who, identity } + ita_sgx_runtime::IdentityManagementCall::::remove_identity { who, identity } .dispatch_bypass_filter(ita_sgx_runtime::Origin::root()) .map_err(|e| StfError::Dispatch(format!("{:?}", e.error)))?; Ok(()) diff --git a/tee-worker/cli/src/base_cli/commands/litentry/link_identity.rs b/tee-worker/cli/src/base_cli/commands/litentry/create_identity.rs similarity index 90% rename from tee-worker/cli/src/base_cli/commands/litentry/link_identity.rs rename to tee-worker/cli/src/base_cli/commands/litentry/create_identity.rs index 3fb33b8c28..ce4b457cac 100644 --- a/tee-worker/cli/src/base_cli/commands/litentry/link_identity.rs +++ b/tee-worker/cli/src/base_cli/commands/litentry/create_identity.rs @@ -30,16 +30,16 @@ use sp_core::sr25519 as sr25519_core; use substrate_api_client::{compose_extrinsic, UncheckedExtrinsicV4, XtStatus}; #[derive(Parser)] -pub struct LinkIdentityCommand { +pub struct CreateIdentityCommand { /// AccountId in ss58check format account: String, - /// Identity to link + /// Identity to be created identity: String, /// Shard identifier shard: String, } -impl LinkIdentityCommand { +impl CreateIdentityCommand { pub(crate) fn run(&self, cli: &Cli) { let chain_api = get_chain_api(cli); @@ -65,8 +65,13 @@ impl LinkIdentityCommand { let tee_shielding_key = get_shielding_key(cli).unwrap(); let encrypted_identity = tee_shielding_key.encrypt(&identity.unwrap().encode()).unwrap(); - let xt: UncheckedExtrinsicV4<_, _> = - compose_extrinsic!(chain_api, IMP, "link_identity", shard, encrypted_identity.to_vec()); + let xt: UncheckedExtrinsicV4<_, _> = compose_extrinsic!( + chain_api, + IMP, + "create_identity", + shard, + encrypted_identity.to_vec() + ); let tx_hash = chain_api.send_extrinsic(xt.hex_encode(), XtStatus::Finalized).unwrap(); println!("[+] TrustedOperation got finalized. Hash: {:?}\n", tx_hash); diff --git a/tee-worker/cli/src/base_cli/commands/litentry/mod.rs b/tee-worker/cli/src/base_cli/commands/litentry/mod.rs index 39f9659221..978b84da7c 100644 --- a/tee-worker/cli/src/base_cli/commands/litentry/mod.rs +++ b/tee-worker/cli/src/base_cli/commands/litentry/mod.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Litentry. If not, see . -pub mod link_identity; +pub mod create_identity; pub mod set_user_shielding_key; // TODO: maybe move it to use itp_node_api::api_client diff --git a/tee-worker/cli/src/base_cli/mod.rs b/tee-worker/cli/src/base_cli/mod.rs index e8028918ea..4e112bc2f2 100644 --- a/tee-worker/cli/src/base_cli/mod.rs +++ b/tee-worker/cli/src/base_cli/mod.rs @@ -21,7 +21,8 @@ use crate::{ faucet::FaucetCommand, listen::ListenCommand, litentry::{ - link_identity::LinkIdentityCommand, set_user_shielding_key::SetUserShieldingKeyCommand, + create_identity::CreateIdentityCommand, + set_user_shielding_key::SetUserShieldingKeyCommand, }, shield_funds::ShieldFundsCommand, transfer::TransferCommand, @@ -81,7 +82,8 @@ pub enum BaseCli { /// set the user's shielding key SetUserShieldingKey(SetUserShieldingKeyCommand), - LinkIdentity(LinkIdentityCommand), + /// create idenity graph + CreateIdentity(CreateIdentityCommand), } impl BaseCli { @@ -99,7 +101,7 @@ impl BaseCli { BaseCli::ShieldFunds(cmd) => cmd.run(cli), // Litentry's commands below BaseCli::SetUserShieldingKey(cmd) => cmd.run(cli), - BaseCli::LinkIdentity(cmd) => cmd.run(cli), + BaseCli::CreateIdentity(cmd) => cmd.run(cli), } } } diff --git a/tee-worker/core-primitives/node-api/metadata/src/metadata_mocks.rs b/tee-worker/core-primitives/node-api/metadata/src/metadata_mocks.rs index 98f2709180..9a4ae73b59 100644 --- a/tee-worker/core-primitives/node-api/metadata/src/metadata_mocks.rs +++ b/tee-worker/core-primitives/node-api/metadata/src/metadata_mocks.rs @@ -35,25 +35,25 @@ pub struct NodeMetadataMock { // IMP imp_module: u8, imp_set_user_shielding_key: u8, - imp_link_identity: u8, - imp_unlink_identity: u8, + imp_create_identity: u8, + imp_remove_identity: u8, imp_verify_identity: u8, imp_user_shielding_key_set: u8, imp_challenge_code_generated: u8, - imp_identity_linked: u8, - imp_identity_unlinked: u8, + imp_identity_created: u8, + imp_identity_removed: u8, imp_identity_verified: u8, imp_some_error: u8, // IMP mock imp_mock_module: u8, imp_mock_set_user_shielding_key: u8, - imp_mock_link_identity: u8, - imp_mock_unlink_identity: u8, + imp_mock_create_identity: u8, + imp_mock_remove_identity: u8, imp_mock_verify_identity: u8, imp_mock_user_shielding_key_set: u8, imp_mock_challenge_code_generated: u8, - imp_mock_identity_linked: u8, - imp_mock_identity_unlinked: u8, + imp_mock_identity_created: u8, + imp_mock_identity_removed: u8, imp_mock_identity_verified: u8, imp_mock_some_error: u8, @@ -76,25 +76,25 @@ impl NodeMetadataMock { // litentry imp_module: 64u8, imp_set_user_shielding_key: 0u8, - imp_link_identity: 1u8, - imp_unlink_identity: 2u8, + imp_create_identity: 1u8, + imp_remove_identity: 2u8, imp_verify_identity: 3u8, imp_user_shielding_key_set: 4u8, imp_challenge_code_generated: 5u8, - imp_identity_linked: 6u8, - imp_identity_unlinked: 7u8, + imp_identity_created: 6u8, + imp_identity_removed: 7u8, imp_identity_verified: 8u8, imp_some_error: 9u8, imp_mock_module: 100u8, imp_mock_set_user_shielding_key: 0u8, - imp_mock_link_identity: 1u8, - imp_mock_unlink_identity: 2u8, + imp_mock_create_identity: 1u8, + imp_mock_remove_identity: 2u8, imp_mock_verify_identity: 3u8, imp_mock_user_shielding_key_set: 4u8, imp_mock_challenge_code_generated: 5u8, - imp_mock_identity_linked: 6u8, - imp_mock_identity_unlinked: 7u8, + imp_mock_identity_created: 6u8, + imp_mock_identity_removed: 7u8, imp_mock_identity_verified: 8u8, imp_mock_some_error: 9u8, @@ -142,12 +142,12 @@ impl IMPCallIndexes for NodeMetadataMock { Ok([self.imp_module, self.imp_set_user_shielding_key]) } - fn link_identity_call_indexes(&self) -> Result<[u8; 2]> { - Ok([self.imp_module, self.imp_link_identity]) + fn create_identity_call_indexes(&self) -> Result<[u8; 2]> { + Ok([self.imp_module, self.imp_create_identity]) } - fn unlink_identity_call_indexes(&self) -> Result<[u8; 2]> { - Ok([self.imp_module, self.imp_unlink_identity]) + fn remove_identity_call_indexes(&self) -> Result<[u8; 2]> { + Ok([self.imp_module, self.imp_remove_identity]) } fn verify_identity_call_indexes(&self) -> Result<[u8; 2]> { @@ -162,12 +162,12 @@ impl IMPCallIndexes for NodeMetadataMock { Ok([self.imp_module, self.imp_challenge_code_generated]) } - fn identity_linked_call_indexes(&self) -> Result<[u8; 2]> { - Ok([self.imp_module, self.imp_identity_linked]) + fn identity_created_call_indexes(&self) -> Result<[u8; 2]> { + Ok([self.imp_module, self.imp_identity_created]) } - fn identity_unlinked_call_indexes(&self) -> Result<[u8; 2]> { - Ok([self.imp_module, self.imp_identity_unlinked]) + fn identity_removed_call_indexes(&self) -> Result<[u8; 2]> { + Ok([self.imp_module, self.imp_identity_removed]) } fn identity_verified_call_indexes(&self) -> Result<[u8; 2]> { @@ -184,12 +184,12 @@ impl IMPMockCallIndexes for NodeMetadataMock { Ok([self.imp_mock_module, self.imp_mock_set_user_shielding_key]) } - fn link_identity_call_indexes(&self) -> Result<[u8; 2]> { - Ok([self.imp_mock_module, self.imp_mock_link_identity]) + fn create_identity_call_indexes(&self) -> Result<[u8; 2]> { + Ok([self.imp_mock_module, self.imp_mock_create_identity]) } - fn unlink_identity_call_indexes(&self) -> Result<[u8; 2]> { - Ok([self.imp_mock_module, self.imp_mock_unlink_identity]) + fn remove_identity_call_indexes(&self) -> Result<[u8; 2]> { + Ok([self.imp_mock_module, self.imp_mock_remove_identity]) } fn verify_identity_call_indexes(&self) -> Result<[u8; 2]> { @@ -204,12 +204,12 @@ impl IMPMockCallIndexes for NodeMetadataMock { Ok([self.imp_mock_module, self.imp_mock_challenge_code_generated]) } - fn identity_linked_call_indexes(&self) -> Result<[u8; 2]> { - Ok([self.imp_mock_module, self.imp_mock_identity_linked]) + fn identity_created_call_indexes(&self) -> Result<[u8; 2]> { + Ok([self.imp_mock_module, self.imp_mock_identity_created]) } - fn identity_unlinked_call_indexes(&self) -> Result<[u8; 2]> { - Ok([self.imp_mock_module, self.imp_mock_identity_unlinked]) + fn identity_removed_call_indexes(&self) -> Result<[u8; 2]> { + Ok([self.imp_mock_module, self.imp_mock_identity_removed]) } fn identity_verified_call_indexes(&self) -> Result<[u8; 2]> { diff --git a/tee-worker/core-primitives/node-api/metadata/src/pallet_imp.rs b/tee-worker/core-primitives/node-api/metadata/src/pallet_imp.rs index 54dc894cbb..9e10f2d8f7 100644 --- a/tee-worker/core-primitives/node-api/metadata/src/pallet_imp.rs +++ b/tee-worker/core-primitives/node-api/metadata/src/pallet_imp.rs @@ -22,14 +22,14 @@ const IMP: &str = "IdentityManagement"; pub trait IMPCallIndexes { fn set_user_shielding_key_call_indexes(&self) -> Result<[u8; 2]>; - fn link_identity_call_indexes(&self) -> Result<[u8; 2]>; - fn unlink_identity_call_indexes(&self) -> Result<[u8; 2]>; + fn create_identity_call_indexes(&self) -> Result<[u8; 2]>; + fn remove_identity_call_indexes(&self) -> Result<[u8; 2]>; fn verify_identity_call_indexes(&self) -> Result<[u8; 2]>; fn user_shielding_key_set_call_indexes(&self) -> Result<[u8; 2]>; fn challenge_code_generated_call_indexes(&self) -> Result<[u8; 2]>; - fn identity_linked_call_indexes(&self) -> Result<[u8; 2]>; - fn identity_unlinked_call_indexes(&self) -> Result<[u8; 2]>; + fn identity_created_call_indexes(&self) -> Result<[u8; 2]>; + fn identity_removed_call_indexes(&self) -> Result<[u8; 2]>; fn identity_verified_call_indexes(&self) -> Result<[u8; 2]>; fn some_error_call_indexes(&self) -> Result<[u8; 2]>; } @@ -39,12 +39,12 @@ impl IMPCallIndexes for NodeMetadata { self.call_indexes(IMP, "set_user_shielding_key") } - fn link_identity_call_indexes(&self) -> Result<[u8; 2]> { - self.call_indexes(IMP, "link_identity") + fn create_identity_call_indexes(&self) -> Result<[u8; 2]> { + self.call_indexes(IMP, "create_identity") } - fn unlink_identity_call_indexes(&self) -> Result<[u8; 2]> { - self.call_indexes(IMP, "unlink_identity") + fn remove_identity_call_indexes(&self) -> Result<[u8; 2]> { + self.call_indexes(IMP, "remove_identity") } fn verify_identity_call_indexes(&self) -> Result<[u8; 2]> { @@ -59,12 +59,12 @@ impl IMPCallIndexes for NodeMetadata { self.call_indexes(IMP, "challenge_code_generated") } - fn identity_linked_call_indexes(&self) -> Result<[u8; 2]> { - self.call_indexes(IMP, "identity_linked") + fn identity_created_call_indexes(&self) -> Result<[u8; 2]> { + self.call_indexes(IMP, "identity_created") } - fn identity_unlinked_call_indexes(&self) -> Result<[u8; 2]> { - self.call_indexes(IMP, "identity_unlinked") + fn identity_removed_call_indexes(&self) -> Result<[u8; 2]> { + self.call_indexes(IMP, "identity_removed") } fn identity_verified_call_indexes(&self) -> Result<[u8; 2]> { diff --git a/tee-worker/core-primitives/node-api/metadata/src/pallet_imp_mock.rs b/tee-worker/core-primitives/node-api/metadata/src/pallet_imp_mock.rs index f39f546112..93570b42a2 100644 --- a/tee-worker/core-primitives/node-api/metadata/src/pallet_imp_mock.rs +++ b/tee-worker/core-primitives/node-api/metadata/src/pallet_imp_mock.rs @@ -22,14 +22,14 @@ const IMPMOCK: &str = "IdentityManagemenMock"; pub trait IMPMockCallIndexes { fn set_user_shielding_key_call_indexes(&self) -> Result<[u8; 2]>; - fn link_identity_call_indexes(&self) -> Result<[u8; 2]>; - fn unlink_identity_call_indexes(&self) -> Result<[u8; 2]>; + fn create_identity_call_indexes(&self) -> Result<[u8; 2]>; + fn remove_identity_call_indexes(&self) -> Result<[u8; 2]>; fn verify_identity_call_indexes(&self) -> Result<[u8; 2]>; fn user_shielding_key_set_call_indexes(&self) -> Result<[u8; 2]>; fn challenge_code_generated_call_indexes(&self) -> Result<[u8; 2]>; - fn identity_linked_call_indexes(&self) -> Result<[u8; 2]>; - fn identity_unlinked_call_indexes(&self) -> Result<[u8; 2]>; + fn identity_created_call_indexes(&self) -> Result<[u8; 2]>; + fn identity_removed_call_indexes(&self) -> Result<[u8; 2]>; fn identity_verified_call_indexes(&self) -> Result<[u8; 2]>; fn some_error_call_indexes(&self) -> Result<[u8; 2]>; } @@ -39,12 +39,12 @@ impl IMPMockCallIndexes for NodeMetadata { self.call_indexes(IMPMOCK, "set_user_shielding_key") } - fn link_identity_call_indexes(&self) -> Result<[u8; 2]> { - self.call_indexes(IMPMOCK, "link_identity") + fn create_identity_call_indexes(&self) -> Result<[u8; 2]> { + self.call_indexes(IMPMOCK, "create_identity") } - fn unlink_identity_call_indexes(&self) -> Result<[u8; 2]> { - self.call_indexes(IMPMOCK, "unlink_identity") + fn remove_identity_call_indexes(&self) -> Result<[u8; 2]> { + self.call_indexes(IMPMOCK, "remove_identity") } fn verify_identity_call_indexes(&self) -> Result<[u8; 2]> { @@ -59,12 +59,12 @@ impl IMPMockCallIndexes for NodeMetadata { self.call_indexes(IMPMOCK, "challenge_code_generated") } - fn identity_linked_call_indexes(&self) -> Result<[u8; 2]> { - self.call_indexes(IMPMOCK, "identity_linked") + fn identity_created_call_indexes(&self) -> Result<[u8; 2]> { + self.call_indexes(IMPMOCK, "identity_created") } - fn identity_unlinked_call_indexes(&self) -> Result<[u8; 2]> { - self.call_indexes(IMPMOCK, "identity_unlinked") + fn identity_removed_call_indexes(&self) -> Result<[u8; 2]> { + self.call_indexes(IMPMOCK, "identity_removed") } fn identity_verified_call_indexes(&self) -> Result<[u8; 2]> { diff --git a/tee-worker/core/parentchain/indirect-calls-executor/src/indirect_calls_executor.rs b/tee-worker/core/parentchain/indirect-calls-executor/src/indirect_calls_executor.rs index ca03f495e3..ec603fc22e 100644 --- a/tee-worker/core/parentchain/indirect-calls-executor/src/indirect_calls_executor.rs +++ b/tee-worker/core/parentchain/indirect-calls-executor/src/indirect_calls_executor.rs @@ -38,7 +38,7 @@ use itp_top_pool_author::traits::AuthorApi; use itp_types::{CallWorkerFn, OpaqueCall, ShardIdentifier, ShieldFundsFn, H256}; use litentry_primitives::{Identity, UserShieldingKeyType, ValidationData}; use log::*; -use pallet_imp::{LinkIdentityFn, SetUserShieldingKeyFn, UnlinkIdentityFn, VerifyIdentityFn}; +use pallet_imp::{CreateIdentityFn, RemoveIdentityFn, SetUserShieldingKeyFn, VerifyIdentityFn}; use sp_core::blake2_256; use sp_runtime::traits::{AccountIdLookup, Block as ParentchainBlockTrait, Header, StaticLookup}; use std::{sync::Arc, vec::Vec}; @@ -174,8 +174,8 @@ where is_set_user_shielding_key_function, set_user_shielding_key_call_indexes ); - is_parentchain_function!(is_link_identity_funciton, link_identity_call_indexes); - is_parentchain_function!(is_unlink_identity_funciton, unlink_identity_call_indexes); + is_parentchain_function!(is_create_identity_funciton, create_identity_call_indexes); + is_parentchain_function!(is_remove_identity_funciton, remove_identity_call_indexes); is_parentchain_function!(is_verify_identity_funciton, verify_identity_call_indexes); } @@ -274,11 +274,11 @@ impl::decode( + // Found CreateIdentityFn extrinsic + if let Ok(xt) = ParentchainUncheckedExtrinsic::::decode( &mut encoded_xt_opaque.as_slice(), ) { - if self.is_link_identity_funciton(&xt.function.0) { + if self.is_create_identity_funciton(&xt.function.0) { let (_, shard, encrypted_identity, encrypted_metadata) = xt.function; let shielding_key = self.shielding_key_repo.retrieve_key()?; @@ -296,7 +296,7 @@ impl::decode( + // Found RemoveIdentityFn extrinsic + if let Ok(xt) = ParentchainUncheckedExtrinsic::::decode( &mut encoded_xt_opaque.as_slice(), ) { - if self.is_unlink_identity_funciton(&xt.function.0) { + if self.is_remove_identity_funciton(&xt.function.0) { let (_, shard, encrypted_identity) = xt.function; let shielding_key = self.shielding_key_repo.retrieve_key()?; @@ -332,7 +332,7 @@ impl, who: T::AccountId, identity: Identity, @@ -199,12 +199,12 @@ pub mod pallet { ..Default::default() }; IDGraphs::::insert(&who, &identity, context); - Self::deposit_event(Event::IdentityLinked { who, identity }); + Self::deposit_event(Event::IdentityCreated { who, identity }); Ok(()) } #[pallet::weight(15_000_000)] - pub fn unlink_identity( + pub fn remove_identity( origin: OriginFor, who: T::AccountId, identity: Identity, @@ -212,7 +212,7 @@ pub mod pallet { T::ManageOrigin::ensure_origin(origin)?; ensure!(IDGraphs::::contains_key(&who, &identity), Error::::IdentityNotExist); IDGraphs::::remove(&who, &identity); - Self::deposit_event(Event::IdentityUnlinked { who, identity }); + Self::deposit_event(Event::IdentityRemoved { who, identity }); Ok(()) } @@ -241,7 +241,7 @@ pub mod pallet { *context = Some(c); Ok(()) } else { - Err(Error::::IdentityNotLinked.into()) + Err(Error::::IdentityNotCreated.into()) } }) } diff --git a/tee-worker/litentry/pallets/identity-management/src/tests.rs b/tee-worker/litentry/pallets/identity-management/src/tests.rs index 6a300c4c34..4afb1c80a4 100644 --- a/tee-worker/litentry/pallets/identity-management/src/tests.rs +++ b/tee-worker/litentry/pallets/identity-management/src/tests.rs @@ -37,10 +37,10 @@ fn set_user_shielding_key_works() { } #[test] -fn link_identity_works() { +fn create_identity_works() { new_test_ext().execute_with(|| { let metadata: MetadataOf = vec![0u8; 16].try_into().unwrap(); - assert_ok!(IMT::link_identity( + assert_ok!(IMT::create_identity( Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone(), @@ -60,14 +60,14 @@ fn link_identity_works() { } #[test] -fn unlink_identity_works() { +fn remove_identity_works() { new_test_ext().execute_with(|| { let metadata: MetadataOf = vec![0u8; 16].try_into().unwrap(); assert_noop!( - IMT::unlink_identity(Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone()), + IMT::remove_identity(Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone()), Error::::IdentityNotExist ); - assert_ok!(IMT::link_identity( + assert_ok!(IMT::create_identity( Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone(), @@ -83,7 +83,7 @@ fn unlink_identity_works() { is_verified: false, } ); - assert_ok!(IMT::unlink_identity(Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone())); + assert_ok!(IMT::remove_identity(Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone())); assert_eq!(IMT::id_graphs(2, ALICE_WEB3_IDENTITY), None); }); } @@ -92,7 +92,7 @@ fn unlink_identity_works() { fn verify_identity_works() { new_test_ext().execute_with(|| { let metadata: MetadataOf = vec![0u8; 16].try_into().unwrap(); - assert_ok!(IMT::link_identity( + assert_ok!(IMT::create_identity( Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone(), @@ -116,7 +116,7 @@ fn verify_identity_works() { fn get_identity_and_identity_context_works() { new_test_ext().execute_with(|| { let metadata3: MetadataOf = vec![0u8; 16].try_into().unwrap(); - assert_ok!(IMT::link_identity( + assert_ok!(IMT::create_identity( Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone(), @@ -132,7 +132,7 @@ fn get_identity_and_identity_context_works() { ), }; let metadata2: MetadataOf = vec![0u8; 16].try_into().unwrap(); - assert_ok!(IMT::link_identity( + assert_ok!(IMT::create_identity( Origin::signed(1), 2, alice_web2_identity.clone(), @@ -153,7 +153,7 @@ fn verify_identity_fails_when_too_early() { const VERIFICATION_REQUEST_BLOCK: ParentchainBlockNumber = 1; let metadata: MetadataOf = vec![0u8; 16].try_into().unwrap(); - assert_ok!(IMT::link_identity( + assert_ok!(IMT::create_identity( Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone(), @@ -188,7 +188,7 @@ fn verify_identity_fails_when_too_late() { const VERIFICATION_REQUEST_BLOCK: ParentchainBlockNumber = 5; let metadata: MetadataOf = vec![0u8; 16].try_into().unwrap(); - assert_ok!(IMT::link_identity( + assert_ok!(IMT::create_identity( Origin::signed(1), 2, ALICE_WEB3_IDENTITY.clone(), diff --git a/tee-worker/scripts/litentry/identity_test.sh b/tee-worker/scripts/litentry/identity_test.sh index 7287aff8cc..e6ed42141c 100755 --- a/tee-worker/scripts/litentry/identity_test.sh +++ b/tee-worker/scripts/litentry/identity_test.sh @@ -27,8 +27,8 @@ validation_data='{"Web2":{"Twitter":{"tweet_id":[49,53,55,49,56,50,57,56,54,51,5 # node-js: twitter_username: Buffer.from("litentry").toJSON().data.toString() identity='{"web_type":{"Web2":"Twitter"},"handle":{"String":[108,105,116,101,110,116,114,121]}}' -echo "link_identity" -RUST_LOG=warn ${CLIENT} trusted --mrenclave ${MRENCLAVE} link-identity "//Alice" "$identity" +echo "create_identity" +RUST_LOG=warn ${CLIENT} trusted --mrenclave ${MRENCLAVE} create-identity "//Alice" "$identity" echo "set-challenge-code" ${CLIENT} trusted --mrenclave ${MRENCLAVE} set-challenge-code "//Alice" "$identity" 1134 diff --git a/tee-worker/ts-tests/identity.test.ts b/tee-worker/ts-tests/identity.test.ts index 936525a68d..0c4fd5e5f4 100644 --- a/tee-worker/ts-tests/identity.test.ts +++ b/tee-worker/ts-tests/identity.test.ts @@ -1,9 +1,9 @@ import { describeLitentry, generateVerificationMessage, getMessage } from "./utils"; import { hexToU8a, u8aToHex } from "@polkadot/util"; import { - linkIdentity, + createIdentity, setUserShieldingKey, - unlinkIdentity, + removeIdentity, verifyIdentity, } from "./indirect_calls"; import { step } from "mocha-steps"; @@ -58,8 +58,8 @@ describeLitentry("Test Identity", (context) => { assert.equal(who, u8aToHex(context.defaultSigner.addressRaw), "check caller error"); }); - step("link twitter identity", async function () { - const r = await linkIdentity(context, context.defaultSigner, aesKey, true, twitterIdentity); + step("create twitter identity", async function () { + const r = await createIdentity(context, context.defaultSigner, aesKey, true, twitterIdentity); if (r) { const [_who, challengeCode] = r; console.log("challengeCode: ", challengeCode); @@ -86,8 +86,8 @@ describeLitentry("Test Identity", (context) => { assert.equal(who, u8aToHex(context.defaultSigner.addressRaw), "check caller error"); }); - step("unlink identity", async function () { - const who = await unlinkIdentity( + step("remove identity", async function () { + const who = await removeIdentity( context, context.defaultSigner, aesKey, diff --git a/tee-worker/ts-tests/indirect_calls.ts b/tee-worker/ts-tests/indirect_calls.ts index ca6e137b5b..8aabdb2667 100644 --- a/tee-worker/ts-tests/indirect_calls.ts +++ b/tee-worker/ts-tests/indirect_calls.ts @@ -29,7 +29,7 @@ export async function setUserShieldingKey( return undefined; } -export async function linkIdentity( +export async function createIdentity( context: IntegrationTestContext, signer: KeyringPair, aesKey: HexString, @@ -39,7 +39,7 @@ export async function linkIdentity( const encode = context.substrate.createType("LitentryIdentity", identity).toHex(); const ciphertext = encryptWithTeeShieldingKey(context.teeShieldingKey, encode).toString("hex"); await context.substrate.tx.identityManagement - .linkIdentity(context.shard, `0x${ciphertext}`, null) + .createIdentity(context.shard, `0x${ciphertext}`, null) .signAndSend(signer); if (listening) { const event = await listenEncryptedEvents(context, aesKey, { @@ -53,7 +53,7 @@ export async function linkIdentity( return undefined; } -export async function unlinkIdentity( +export async function removeIdentity( context: IntegrationTestContext, signer: KeyringPair, aesKey: HexString, @@ -63,13 +63,13 @@ export async function unlinkIdentity( const encode = context.substrate.createType("LitentryIdentity", identity).toHex(); const ciphertext = encryptWithTeeShieldingKey(context.teeShieldingKey, encode).toString("hex"); await context.substrate.tx.identityManagement - .unlinkIdentity(context.shard, `0x${ciphertext}`) + .removeIdentity(context.shard, `0x${ciphertext}`) .signAndSend(signer); if (listening) { const event = await listenEncryptedEvents(context, aesKey, { module: "identityManagement", - method: "identityUnlinked", - event: "IdentityUnlinked", + method: "identityRemoved", + event: "IdentityRemoved", }); const [who, _identity] = event.eventData; return who;