Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
84 changes: 24 additions & 60 deletions parachain/primitives/src/identity.rs
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ pub enum Identity {
Discord(IdentityString),

#[codec(index = 2)]
Github(IdentityString),
Apple(IdentityString),

#[codec(index = 3)]
Substrate(Address32),
Expand Down Expand Up @@ -335,9 +335,6 @@ pub enum Identity {

#[codec(index = 10)]
Passkey(IdentityString),

#[codec(index = 11)]
Apple(IdentityString),
}

impl Identity {
Expand All @@ -346,12 +343,11 @@ impl Identity {
self,
Self::Twitter(..)
| Self::Discord(..)
| Self::Github(..)
| Self::Apple(..)
| Self::Email(..)
| Self::Google(..)
| Self::Pumpx(..)
| Self::Passkey(..)
| Self::Apple(..)
)
}

Expand Down Expand Up @@ -383,12 +379,11 @@ impl Identity {
Identity::Solana(_) => all_solana_web3networks(),
Identity::Twitter(_)
| Identity::Discord(_)
| Identity::Github(_)
| Identity::Apple(_)
| Identity::Email(_)
| Identity::Google(_)
| Identity::Pumpx(_)
| Identity::Passkey(_)
| Identity::Apple(_) => Vec::new(),
| Identity::Passkey(_) => Vec::new(),
}
}

Expand All @@ -403,12 +398,11 @@ impl Identity {
Identity::Solana(_) => !networks.is_empty() && networks.iter().all(|n| n.is_solana()),
Identity::Twitter(_)
| Identity::Discord(_)
| Identity::Github(_)
| Identity::Apple(_)
| Identity::Email(_)
| Identity::Google(_)
| Identity::Pumpx(_)
| Identity::Passkey(_)
| Identity::Apple(_) => networks.is_empty(),
| Identity::Passkey(_) => networks.is_empty(),
}
}

Expand All @@ -428,10 +422,9 @@ impl Identity {
Identity::Bitcoin(_) | Identity::Solana(_) => Some(self.hash().to_fixed_bytes().into()),
Identity::Twitter(_)
| Identity::Discord(_)
| Identity::Github(_)
| Identity::Apple(_)
| Identity::Email(_)
| Identity::Google(_)
| Identity::Apple(_)
| Identity::Pumpx(_)
| Identity::Passkey(_) => None,
}
Expand Down Expand Up @@ -472,11 +465,9 @@ impl Identity {
String::from_utf8(handle.inner.to_vec()).unwrap_or_default().as_bytes(),
);
},
Identity::Github(handle) => {
hasher.update(b"github");
hasher.update(
String::from_utf8(handle.inner.to_vec()).unwrap_or_default().as_bytes(),
);
Identity::Apple(handle) => {
hasher.update(b"apple");
hasher.update(String::from_utf8(handle.inner.to_vec()).unwrap_or_default());
},
Identity::Email(handle) => {
hasher.update(b"email");
Expand All @@ -491,10 +482,6 @@ impl Identity {
hasher.update(b"google");
hasher.update(String::from_utf8(handle.inner.to_vec()).unwrap_or_default());
},
Identity::Apple(handle) => {
hasher.update(b"apple");
hasher.update(String::from_utf8(handle.inner.to_vec()).unwrap_or_default());
},
Identity::Pumpx(handle) => {
// TODO: this type will be removed.
hasher.update(b"pumpx");
Expand Down Expand Up @@ -545,8 +532,8 @@ impl Identity {
.try_into()
.map_err(|_| "Address32 conversion error")?;
return Ok(Identity::Solana(handle));
} else if v[0] == "github" {
return Ok(Identity::Github(IdentityString::new(v[1].as_bytes().to_vec())));
} else if v[0] == "apple" {
return Ok(Identity::Apple(IdentityString::new(v[1].as_bytes().to_vec())));
} else if v[0] == "discord" {
return Ok(Identity::Discord(IdentityString::new(v[1].as_bytes().to_vec())));
} else if v[0] == "twitter" {
Expand Down Expand Up @@ -587,10 +574,10 @@ impl Identity {
str::from_utf8(handle.inner_ref())
.map_err(|_| "discord handle conversion error")?
),
Identity::Github(handle) => format!(
"github:{}",
Identity::Apple(handle) => format!(
"apple:{}",
str::from_utf8(handle.inner_ref())
.map_err(|_| "github handle conversion error")?
.map_err(|_| "apple handle conversion error")?
),
Identity::Email(handle) => format!(
"email:{}",
Expand All @@ -603,11 +590,6 @@ impl Identity {
str::from_utf8(handle.inner_ref())
.map_err(|_| "google handle conversion error")?
),
Identity::Apple(handle) => format!(
"apple:{}",
str::from_utf8(handle.inner_ref())
.map_err(|_| "apple handle conversion error")?
),
Identity::Pumpx(handle) => format!(
"pumpx:{}",
str::from_utf8(handle.inner_ref())
Expand All @@ -634,18 +616,15 @@ impl Identity {
Web2IdentityType::Discord => {
Identity::Discord(IdentityString::new(handle.as_bytes().to_vec()))
},
Web2IdentityType::Github => {
Identity::Github(IdentityString::new(handle.as_bytes().to_vec()))
Web2IdentityType::Apple => {
Identity::Apple(IdentityString::new(handle.as_bytes().to_vec()))
},
Web2IdentityType::Email => {
Identity::Email(IdentityString::new(handle.as_bytes().to_vec()))
},
Web2IdentityType::Google => {
Identity::Google(IdentityString::new(handle.as_bytes().to_vec()))
},
Web2IdentityType::Apple => {
Identity::Apple(IdentityString::new(handle.as_bytes().to_vec()))
},
Web2IdentityType::Pumpx => {
Identity::Pumpx(IdentityString::new(handle.as_bytes().to_vec()))
},
Expand All @@ -657,10 +636,9 @@ impl Identity {
pub enum Web2IdentityType {
Twitter,
Discord,
Github,
Apple,
Email,
Google,
Apple,
Pumpx,
}

Expand Down Expand Up @@ -733,14 +711,13 @@ mod tests {
match identity {
Identity::Twitter(..) => true,
Identity::Discord(..) => true,
Identity::Github(..) => true,
Identity::Apple(..) => true,
Identity::Email(..) => true,
Identity::Substrate(..) => false,
Identity::Evm(..) => false,
Identity::Bitcoin(..) => false,
Identity::Solana(..) => false,
Identity::Google(..) => true,
Identity::Apple(..) => true,
Identity::Pumpx(..) => true,
Identity::Passkey(..) => true,
}
Expand All @@ -756,14 +733,13 @@ mod tests {
match identity {
Identity::Twitter(..) => false,
Identity::Discord(..) => false,
Identity::Github(..) => false,
Identity::Apple(..) => false,
Identity::Email(..) => false,
Identity::Substrate(..) => true,
Identity::Evm(..) => true,
Identity::Bitcoin(..) => true,
Identity::Solana(..) => true,
Identity::Google(..) => false,
Identity::Apple(..) => false,
Identity::Pumpx(..) => false,
Identity::Passkey(..) => false,
}
Expand All @@ -779,14 +755,13 @@ mod tests {
match identity {
Identity::Twitter(..) => false,
Identity::Discord(..) => false,
Identity::Github(..) => false,
Identity::Apple(..) => false,
Identity::Email(..) => false,
Identity::Substrate(..) => true,
Identity::Evm(..) => false,
Identity::Bitcoin(..) => false,
Identity::Solana(..) => false,
Identity::Google(..) => false,
Identity::Apple(..) => false,
Identity::Pumpx(..) => false,
Identity::Passkey(..) => false,
}
Expand All @@ -802,14 +777,13 @@ mod tests {
match identity {
Identity::Twitter(..) => false,
Identity::Discord(..) => false,
Identity::Github(..) => false,
Identity::Apple(..) => false,
Identity::Email(..) => false,
Identity::Substrate(..) => false,
Identity::Evm(..) => true,
Identity::Bitcoin(..) => false,
Identity::Solana(..) => false,
Identity::Google(..) => false,
Identity::Apple(..) => false,
Identity::Pumpx(..) => false,
Identity::Passkey(..) => false,
}
Expand All @@ -825,14 +799,13 @@ mod tests {
match identity {
Identity::Twitter(..) => false,
Identity::Discord(..) => false,
Identity::Github(..) => false,
Identity::Apple(..) => false,
Identity::Email(..) => false,
Identity::Substrate(..) => false,
Identity::Evm(..) => false,
Identity::Bitcoin(..) => true,
Identity::Solana(..) => false,
Identity::Google(..) => false,
Identity::Apple(..) => false,
Identity::Pumpx(..) => false,
Identity::Passkey(..) => false,
}
Expand All @@ -848,14 +821,13 @@ mod tests {
match identity {
Identity::Twitter(..) => false,
Identity::Discord(..) => false,
Identity::Github(..) => false,
Identity::Apple(..) => false,
Identity::Email(..) => false,
Identity::Substrate(..) => false,
Identity::Evm(..) => false,
Identity::Bitcoin(..) => false,
Identity::Solana(..) => true,
Identity::Google(..) => false,
Identity::Apple(..) => false,
Identity::Pumpx(..) => false,
Identity::Passkey(..) => false,
}
Expand Down Expand Up @@ -958,14 +930,6 @@ mod tests {
assert_eq!(Identity::from_did(did_str).unwrap(), identity);
}

#[test]
fn test_github_did() {
let identity = Identity::Github(IdentityString::new("github_handle".as_bytes().to_vec()));
let did_str = "did:litentry:github:github_handle";
assert_eq!(identity.to_did().unwrap(), did_str);
assert_eq!(Identity::from_did(did_str).unwrap(), identity);
}

#[test]
fn test_email_did() {
let identity1 = Identity::Email(IdentityString::new("[email protected]".as_bytes().to_vec()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ mod tests {
(Identity::Solana([0; 32].into()), vec![]),
(Identity::Discord(IdentityString::new("discord_handle".as_bytes().to_vec())), vec![]),
(Identity::Twitter(IdentityString::new("twitter_handle".as_bytes().to_vec())), vec![]),
(Identity::Github(IdentityString::new("github_handle".as_bytes().to_vec())), vec![]),
(Identity::Apple(IdentityString::new("apple_handle".as_bytes().to_vec())), vec![]),
];

let req = AssertionBuildRequest {
Expand Down Expand Up @@ -96,7 +96,7 @@ mod tests {
items: vec![Box::new(AssertionLogic::Item {
src: "$identities".into(),
op: Op::Equal,
dst: "[\"did:litentry:substrate:0x0000000000000000000000000000000000000000000000000000000000000000\",\"did:litentry:evm:0x0000000000000000000000000000000000000000\",\"did:litentry:bitcoin:0x000000000000000000000000000000000000000000000000000000000000000000\",\"did:litentry:solana:11111111111111111111111111111111\",\"did:litentry:discord:discord_handle\",\"did:litentry:twitter:twitter_handle\",\"did:litentry:github:github_handle\"]".into()
dst: "[\"did:litentry:substrate:0x0000000000000000000000000000000000000000000000000000000000000000\",\"did:litentry:evm:0x0000000000000000000000000000000000000000\",\"did:litentry:bitcoin:0x000000000000000000000000000000000000000000000000000000000000000000\",\"did:litentry:solana:11111111111111111111111111111111\",\"did:litentry:discord:discord_handle\",\"did:litentry:twitter:twitter_handle\",\"did:litentry:apple:apple_handle\"]".into()
})]
}
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ pub fn identity_with_networks_to_token(identity: &IdentityNetworkTuple) -> Token
let (type_index, value) = match &identity.0 {
Identity::Twitter(str) => (0, str.inner_ref().to_vec()),
Identity::Discord(str) => (1, str.inner_ref().to_vec()),
Identity::Github(str) => (2, str.inner_ref().to_vec()),
Identity::Apple(str) => (2, str.inner_ref().to_vec()),
Identity::Substrate(addr) => (3, addr.as_ref().to_vec()),
Identity::Evm(addr) => (4, addr.as_ref().to_vec()),
Identity::Bitcoin(addr) => (5, addr.as_ref().to_vec()),
Expand All @@ -207,7 +207,6 @@ pub fn identity_with_networks_to_token(identity: &IdentityNetworkTuple) -> Token
Identity::Google(str) => (8, str.inner_ref().to_vec()),
Identity::Pumpx(str) => (9, str.inner_ref().to_vec()),
Identity::Passkey(str) => (10, str.inner_ref().to_vec()),
Identity::Apple(str) => (11, str.inner_ref().to_vec()),
};
let networks: Vec<Token> = identity.1.iter().map(network_to_token).collect();
Token::Tuple(vec![Token::Uint(type_index.into()), Token::Bytes(value), Token::Array(networks)])
Expand Down
3 changes: 1 addition & 2 deletions tee-worker/identity/service/src/prometheus_metrics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -293,14 +293,13 @@ fn handle_stf_call_request(req: RequestType, time: f64) {
RequestType::IdentityVerification(request) => match request.identity {
Identity::Twitter(_) => "Twitter".into(),
Identity::Discord(_) => "Discord".into(),
Identity::Github(_) => "Github".into(),
Identity::Apple(_) => "Apple".into(),
Identity::Email(_) => "Email".into(),
Identity::Substrate(_) => "Substrate".into(),
Identity::Evm(_) => "Evm".into(),
Identity::Bitcoin(_) => "Bitcoin".into(),
Identity::Solana(_) => "Solana".into(),
Identity::Google(_) => "Google".into(),
Identity::Apple(_) => "Apple".into(),
Identity::Pumpx(_) => "Pumpx".into(),
Identity::Passkey(_) => "Passkey".into(),
},
Expand Down
2 changes: 1 addition & 1 deletion tee-worker/omni-executor/aa-contracts-client/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ sol! {
Email,
Twitter,
Discord,
Github,
Apple,
Substrate,
Evm,
Bitcoin,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ enum OwnerType {
Email, // 0x01
Twitter, // 0x02
Discord, // 0x03
Github, // 0x04
Apple, // 0x04
Substrate, // 0x05
Evm, // 0x06
Bitcoin, // 0x07
Expand Down
Loading
Loading