1
1
use std:: fmt:: Display ;
2
2
use xmtp_cryptography:: signature:: IdentifierValidationError ;
3
- use xmtp_id:: associations:: { ident, PublicIdentifier } ;
3
+ use xmtp_id:: associations:: { ident, Identifier } ;
4
4
5
5
use crate :: GenericError ;
6
6
7
7
#[ derive( uniffi:: Record , Hash , PartialEq , Eq , Clone ) ]
8
8
pub struct FfiIdentifier {
9
9
pub identifier : String ,
10
- pub identifier_kind : FfiPublicIdentifierKind ,
10
+ pub identifier_kind : FfiIdentifierKind ,
11
11
pub relying_partner : Option < String > ,
12
12
}
13
13
14
14
#[ derive( uniffi:: Enum , Hash , PartialEq , Eq , Clone ) ]
15
- pub enum FfiPublicIdentifierKind {
15
+ pub enum FfiIdentifierKind {
16
16
Ethereum ,
17
17
Passkey ,
18
18
}
19
19
20
20
impl FfiIdentifier {
21
21
pub fn inbox_id ( & self , nonce : u64 ) -> Result < String , GenericError > {
22
- let ident: PublicIdentifier = self . clone ( ) . try_into ( ) . map_err ( GenericError :: from_error) ?;
22
+ let ident: Identifier = self . clone ( ) . try_into ( ) . map_err ( GenericError :: from_error) ?;
23
23
Ok ( ident. inbox_id ( nonce) ?)
24
24
}
25
25
}
26
26
27
27
impl Display for FfiIdentifier {
28
28
fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
29
29
match self . identifier_kind {
30
- FfiPublicIdentifierKind :: Ethereum => write ! ( f, "{}" , self . identifier) ,
31
- FfiPublicIdentifierKind :: Passkey => write ! ( f, "{}" , hex:: encode( & self . identifier) ) ,
30
+ FfiIdentifierKind :: Ethereum => write ! ( f, "{}" , self . identifier) ,
31
+ FfiIdentifierKind :: Passkey => write ! ( f, "{}" , hex:: encode( & self . identifier) ) ,
32
32
}
33
33
}
34
34
}
@@ -42,32 +42,32 @@ pub fn generate_inbox_id(
42
42
account_identifier. inbox_id ( nonce)
43
43
}
44
44
45
- impl From < PublicIdentifier > for FfiIdentifier {
46
- fn from ( ident : PublicIdentifier ) -> Self {
45
+ impl From < Identifier > for FfiIdentifier {
46
+ fn from ( ident : Identifier ) -> Self {
47
47
match ident {
48
- PublicIdentifier :: Ethereum ( ident:: Ethereum ( addr) ) => Self {
48
+ Identifier :: Ethereum ( ident:: Ethereum ( addr) ) => Self {
49
49
identifier : addr,
50
- identifier_kind : FfiPublicIdentifierKind :: Ethereum ,
50
+ identifier_kind : FfiIdentifierKind :: Ethereum ,
51
51
relying_partner : None ,
52
52
} ,
53
- PublicIdentifier :: Passkey ( ident:: Passkey {
53
+ Identifier :: Passkey ( ident:: Passkey {
54
54
key,
55
55
relying_partner,
56
56
} ) => Self {
57
57
identifier : hex:: encode ( key) ,
58
- identifier_kind : FfiPublicIdentifierKind :: Passkey ,
58
+ identifier_kind : FfiIdentifierKind :: Passkey ,
59
59
relying_partner,
60
60
} ,
61
61
}
62
62
}
63
63
}
64
64
65
- impl TryFrom < FfiIdentifier > for PublicIdentifier {
65
+ impl TryFrom < FfiIdentifier > for Identifier {
66
66
type Error = IdentifierValidationError ;
67
67
fn try_from ( ident : FfiIdentifier ) -> Result < Self , Self :: Error > {
68
68
let ident = match ident. identifier_kind {
69
- FfiPublicIdentifierKind :: Ethereum => Self :: eth ( ident. identifier ) ?,
70
- FfiPublicIdentifierKind :: Passkey => {
69
+ FfiIdentifierKind :: Ethereum => Self :: eth ( ident. identifier ) ?,
70
+ FfiIdentifierKind :: Passkey => {
71
71
Self :: passkey_str ( & ident. identifier , ident. relying_partner ) ?
72
72
}
73
73
} ;
@@ -79,8 +79,8 @@ pub trait IdentityExt<T, U> {
79
79
fn to_internal ( self ) -> Result < Vec < U > , IdentifierValidationError > ;
80
80
}
81
81
82
- impl IdentityExt < FfiIdentifier , PublicIdentifier > for Vec < FfiIdentifier > {
83
- fn to_internal ( self ) -> Result < Vec < PublicIdentifier > , IdentifierValidationError > {
82
+ impl IdentityExt < FfiIdentifier , Identifier > for Vec < FfiIdentifier > {
83
+ fn to_internal ( self ) -> Result < Vec < Identifier > , IdentifierValidationError > {
84
84
let ident: Result < Vec < _ > , IdentifierValidationError > =
85
85
self . into_iter ( ) . map ( |ident| ident. try_into ( ) ) . collect ( ) ;
86
86
ident
@@ -90,16 +90,16 @@ impl IdentityExt<FfiIdentifier, PublicIdentifier> for Vec<FfiIdentifier> {
90
90
pub trait FfiCollectionExt < T > {
91
91
fn to_ffi ( self ) -> Vec < T > ;
92
92
}
93
- impl FfiCollectionExt < FfiIdentifier > for Vec < PublicIdentifier > {
93
+ impl FfiCollectionExt < FfiIdentifier > for Vec < Identifier > {
94
94
fn to_ffi ( self ) -> Vec < FfiIdentifier > {
95
95
self . into_iter ( ) . map ( Into :: into) . collect ( )
96
96
}
97
97
}
98
98
pub trait FfiCollectionTryExt < T > {
99
99
fn to_internal ( self ) -> Result < Vec < T > , IdentifierValidationError > ;
100
100
}
101
- impl FfiCollectionTryExt < PublicIdentifier > for Vec < FfiIdentifier > {
102
- fn to_internal ( self ) -> Result < Vec < PublicIdentifier > , IdentifierValidationError > {
101
+ impl FfiCollectionTryExt < Identifier > for Vec < FfiIdentifier > {
102
+ fn to_internal ( self ) -> Result < Vec < Identifier > , IdentifierValidationError > {
103
103
self . into_iter ( ) . map ( |ident| ident. try_into ( ) ) . collect ( )
104
104
}
105
105
}
0 commit comments