Changeset View
Changeset View
Standalone View
Standalone View
native/native_rust_library/src/lib.rs
Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | fn register_user( | ||||
username: String, | username: String, | ||||
password: String, | password: String, | ||||
key_payload: String, | key_payload: String, | ||||
key_payload_signature: String, | key_payload_signature: String, | ||||
content_prekey: String, | content_prekey: String, | ||||
content_prekey_signature: String, | content_prekey_signature: String, | ||||
notif_prekey: String, | notif_prekey: String, | ||||
notif_prekey_signature: String, | notif_prekey_signature: String, | ||||
content_onetime_keys: Vec<String>, | content_one_time_keys: Vec<String>, | ||||
notif_onetime_keys: Vec<String>, | notif_one_time_keys: Vec<String>, | ||||
promise_id: u32, | promise_id: u32, | ||||
); | ); | ||||
#[cxx_name = "identityLoginPasswordUser"] | #[cxx_name = "identityLoginPasswordUser"] | ||||
fn login_password_user( | fn login_password_user( | ||||
username: String, | username: String, | ||||
password: String, | password: String, | ||||
key_payload: String, | key_payload: String, | ||||
key_payload_signature: String, | key_payload_signature: String, | ||||
content_prekey: String, | content_prekey: String, | ||||
content_prekey_signature: String, | content_prekey_signature: String, | ||||
notif_prekey: String, | notif_prekey: String, | ||||
notif_prekey_signature: String, | notif_prekey_signature: String, | ||||
content_onetime_keys: Vec<String>, | content_one_time_keys: Vec<String>, | ||||
notif_onetime_keys: Vec<String>, | notif_one_time_keys: Vec<String>, | ||||
promise_id: u32, | promise_id: u32, | ||||
); | ); | ||||
#[cxx_name = "identityLoginWalletUser"] | #[cxx_name = "identityLoginWalletUser"] | ||||
fn login_wallet_user( | fn login_wallet_user( | ||||
siwe_message: String, | siwe_message: String, | ||||
siwe_signature: String, | siwe_signature: String, | ||||
key_payload: String, | key_payload: String, | ||||
key_payload_signature: String, | key_payload_signature: String, | ||||
content_prekey: String, | content_prekey: String, | ||||
content_prekey_signature: String, | content_prekey_signature: String, | ||||
notif_prekey: String, | notif_prekey: String, | ||||
notif_prekey_signature: String, | notif_prekey_signature: String, | ||||
content_onetime_keys: Vec<String>, | content_one_time_keys: Vec<String>, | ||||
notif_onetime_keys: Vec<String>, | notif_one_time_keys: Vec<String>, | ||||
social_proof: String, | social_proof: String, | ||||
promise_id: u32, | promise_id: u32, | ||||
); | ); | ||||
#[cxx_name = "identityGenerateNonce"] | #[cxx_name = "identityGenerateNonce"] | ||||
fn generate_nonce(promise_id: u32); | fn generate_nonce(promise_id: u32); | ||||
// Crypto Tools | // Crypto Tools | ||||
▲ Show 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | fn register_user( | ||||
username: String, | username: String, | ||||
password: String, | password: String, | ||||
key_payload: String, | key_payload: String, | ||||
key_payload_signature: String, | key_payload_signature: String, | ||||
content_prekey: String, | content_prekey: String, | ||||
content_prekey_signature: String, | content_prekey_signature: String, | ||||
notif_prekey: String, | notif_prekey: String, | ||||
notif_prekey_signature: String, | notif_prekey_signature: String, | ||||
content_onetime_keys: Vec<String>, | content_one_time_keys: Vec<String>, | ||||
notif_onetime_keys: Vec<String>, | notif_one_time_keys: Vec<String>, | ||||
promise_id: u32, | promise_id: u32, | ||||
) { | ) { | ||||
RUNTIME.spawn(async move { | RUNTIME.spawn(async move { | ||||
let password_user_info = PasswordUserInfo { | let password_user_info = PasswordUserInfo { | ||||
username, | username, | ||||
password, | password, | ||||
key_payload, | key_payload, | ||||
key_payload_signature, | key_payload_signature, | ||||
content_prekey, | content_prekey, | ||||
content_prekey_signature, | content_prekey_signature, | ||||
notif_prekey, | notif_prekey, | ||||
notif_prekey_signature, | notif_prekey_signature, | ||||
content_onetime_keys, | content_one_time_keys, | ||||
notif_onetime_keys, | notif_one_time_keys, | ||||
}; | }; | ||||
let result = register_user_helper(password_user_info).await; | let result = register_user_helper(password_user_info).await; | ||||
handle_string_result_as_callback(result, promise_id); | handle_string_result_as_callback(result, promise_id); | ||||
}); | }); | ||||
} | } | ||||
struct PasswordUserInfo { | struct PasswordUserInfo { | ||||
username: String, | username: String, | ||||
password: String, | password: String, | ||||
key_payload: String, | key_payload: String, | ||||
key_payload_signature: String, | key_payload_signature: String, | ||||
content_prekey: String, | content_prekey: String, | ||||
content_prekey_signature: String, | content_prekey_signature: String, | ||||
notif_prekey: String, | notif_prekey: String, | ||||
notif_prekey_signature: String, | notif_prekey_signature: String, | ||||
content_onetime_keys: Vec<String>, | content_one_time_keys: Vec<String>, | ||||
notif_onetime_keys: Vec<String>, | notif_one_time_keys: Vec<String>, | ||||
} | } | ||||
#[derive(Serialize)] | #[derive(Serialize)] | ||||
struct UserIDAndDeviceAccessToken { | struct UserIDAndDeviceAccessToken { | ||||
user_id: String, | user_id: String, | ||||
access_token: String, | access_token: String, | ||||
} | } | ||||
Show All 16 Lines | device_key_upload: Some(DeviceKeyUpload { | ||||
content_upload: Some(PreKey { | content_upload: Some(PreKey { | ||||
pre_key: password_user_info.content_prekey, | pre_key: password_user_info.content_prekey, | ||||
pre_key_signature: password_user_info.content_prekey_signature, | pre_key_signature: password_user_info.content_prekey_signature, | ||||
}), | }), | ||||
notif_upload: Some(PreKey { | notif_upload: Some(PreKey { | ||||
pre_key: password_user_info.notif_prekey, | pre_key: password_user_info.notif_prekey, | ||||
pre_key_signature: password_user_info.notif_prekey_signature, | pre_key_signature: password_user_info.notif_prekey_signature, | ||||
}), | }), | ||||
onetime_content_prekeys: password_user_info.content_onetime_keys, | one_time_content_prekeys: password_user_info.content_one_time_keys, | ||||
onetime_notif_prekeys: password_user_info.notif_onetime_keys, | one_time_notif_prekeys: password_user_info.notif_one_time_keys, | ||||
device_type: DEVICE_TYPE.into(), | device_type: DEVICE_TYPE.into(), | ||||
}), | }), | ||||
}; | }; | ||||
let mut identity_client = | let mut identity_client = | ||||
IdentityClientServiceClient::connect("http://127.0.0.1:50054").await?; | IdentityClientServiceClient::connect("http://127.0.0.1:50054").await?; | ||||
let registration_start_response = identity_client | let registration_start_response = identity_client | ||||
.register_password_user_start(registration_start_request) | .register_password_user_start(registration_start_request) | ||||
Show All 27 Lines | fn login_password_user( | ||||
username: String, | username: String, | ||||
password: String, | password: String, | ||||
key_payload: String, | key_payload: String, | ||||
key_payload_signature: String, | key_payload_signature: String, | ||||
content_prekey: String, | content_prekey: String, | ||||
content_prekey_signature: String, | content_prekey_signature: String, | ||||
notif_prekey: String, | notif_prekey: String, | ||||
notif_prekey_signature: String, | notif_prekey_signature: String, | ||||
content_onetime_keys: Vec<String>, | content_one_time_keys: Vec<String>, | ||||
notif_onetime_keys: Vec<String>, | notif_one_time_keys: Vec<String>, | ||||
promise_id: u32, | promise_id: u32, | ||||
) { | ) { | ||||
RUNTIME.spawn(async move { | RUNTIME.spawn(async move { | ||||
let password_user_info = PasswordUserInfo { | let password_user_info = PasswordUserInfo { | ||||
username, | username, | ||||
password, | password, | ||||
key_payload, | key_payload, | ||||
key_payload_signature, | key_payload_signature, | ||||
content_prekey, | content_prekey, | ||||
content_prekey_signature, | content_prekey_signature, | ||||
notif_prekey, | notif_prekey, | ||||
notif_prekey_signature, | notif_prekey_signature, | ||||
content_onetime_keys, | content_one_time_keys, | ||||
notif_onetime_keys, | notif_one_time_keys, | ||||
}; | }; | ||||
let result = login_password_user_helper(password_user_info).await; | let result = login_password_user_helper(password_user_info).await; | ||||
handle_string_result_as_callback(result, promise_id); | handle_string_result_as_callback(result, promise_id); | ||||
}); | }); | ||||
} | } | ||||
async fn login_password_user_helper( | async fn login_password_user_helper( | ||||
password_user_info: PasswordUserInfo, | password_user_info: PasswordUserInfo, | ||||
Show All 14 Lines | device_key_upload: Some(DeviceKeyUpload { | ||||
content_upload: Some(PreKey { | content_upload: Some(PreKey { | ||||
pre_key: password_user_info.content_prekey, | pre_key: password_user_info.content_prekey, | ||||
pre_key_signature: password_user_info.content_prekey_signature, | pre_key_signature: password_user_info.content_prekey_signature, | ||||
}), | }), | ||||
notif_upload: Some(PreKey { | notif_upload: Some(PreKey { | ||||
pre_key: password_user_info.notif_prekey, | pre_key: password_user_info.notif_prekey, | ||||
pre_key_signature: password_user_info.notif_prekey_signature, | pre_key_signature: password_user_info.notif_prekey_signature, | ||||
}), | }), | ||||
onetime_content_prekeys: password_user_info.content_onetime_keys, | one_time_content_prekeys: password_user_info.content_one_time_keys, | ||||
onetime_notif_prekeys: password_user_info.notif_onetime_keys, | one_time_notif_prekeys: password_user_info.notif_one_time_keys, | ||||
device_type: DEVICE_TYPE.into(), | device_type: DEVICE_TYPE.into(), | ||||
}), | }), | ||||
}; | }; | ||||
let mut identity_client = | let mut identity_client = | ||||
IdentityClientServiceClient::connect("http://127.0.0.1:50054").await?; | IdentityClientServiceClient::connect("http://127.0.0.1:50054").await?; | ||||
let login_start_response = identity_client | let login_start_response = identity_client | ||||
.login_password_user_start(login_start_request) | .login_password_user_start(login_start_request) | ||||
Show All 23 Lines | struct WalletUserInfo { | ||||
siwe_message: String, | siwe_message: String, | ||||
siwe_signature: String, | siwe_signature: String, | ||||
key_payload: String, | key_payload: String, | ||||
key_payload_signature: String, | key_payload_signature: String, | ||||
content_prekey: String, | content_prekey: String, | ||||
content_prekey_signature: String, | content_prekey_signature: String, | ||||
notif_prekey: String, | notif_prekey: String, | ||||
notif_prekey_signature: String, | notif_prekey_signature: String, | ||||
content_onetime_keys: Vec<String>, | content_one_time_keys: Vec<String>, | ||||
notif_onetime_keys: Vec<String>, | notif_one_time_keys: Vec<String>, | ||||
social_proof: String, | social_proof: String, | ||||
} | } | ||||
#[instrument] | #[instrument] | ||||
fn login_wallet_user( | fn login_wallet_user( | ||||
siwe_message: String, | siwe_message: String, | ||||
siwe_signature: String, | siwe_signature: String, | ||||
key_payload: String, | key_payload: String, | ||||
key_payload_signature: String, | key_payload_signature: String, | ||||
content_prekey: String, | content_prekey: String, | ||||
content_prekey_signature: String, | content_prekey_signature: String, | ||||
notif_prekey: String, | notif_prekey: String, | ||||
notif_prekey_signature: String, | notif_prekey_signature: String, | ||||
content_onetime_keys: Vec<String>, | content_one_time_keys: Vec<String>, | ||||
notif_onetime_keys: Vec<String>, | notif_one_time_keys: Vec<String>, | ||||
social_proof: String, | social_proof: String, | ||||
promise_id: u32, | promise_id: u32, | ||||
) { | ) { | ||||
RUNTIME.spawn(async move { | RUNTIME.spawn(async move { | ||||
let wallet_user_info = WalletUserInfo { | let wallet_user_info = WalletUserInfo { | ||||
siwe_message, | siwe_message, | ||||
siwe_signature, | siwe_signature, | ||||
key_payload, | key_payload, | ||||
key_payload_signature, | key_payload_signature, | ||||
content_prekey, | content_prekey, | ||||
content_prekey_signature, | content_prekey_signature, | ||||
notif_prekey, | notif_prekey, | ||||
notif_prekey_signature, | notif_prekey_signature, | ||||
content_onetime_keys, | content_one_time_keys, | ||||
notif_onetime_keys, | notif_one_time_keys, | ||||
social_proof, | social_proof, | ||||
}; | }; | ||||
let result = login_wallet_user_helper(wallet_user_info).await; | let result = login_wallet_user_helper(wallet_user_info).await; | ||||
handle_string_result_as_callback(result, promise_id); | handle_string_result_as_callback(result, promise_id); | ||||
}); | }); | ||||
} | } | ||||
async fn login_wallet_user_helper( | async fn login_wallet_user_helper( | ||||
Show All 11 Lines | device_key_upload: Some(DeviceKeyUpload { | ||||
content_upload: Some(PreKey { | content_upload: Some(PreKey { | ||||
pre_key: wallet_user_info.content_prekey, | pre_key: wallet_user_info.content_prekey, | ||||
pre_key_signature: wallet_user_info.content_prekey_signature, | pre_key_signature: wallet_user_info.content_prekey_signature, | ||||
}), | }), | ||||
notif_upload: Some(PreKey { | notif_upload: Some(PreKey { | ||||
pre_key: wallet_user_info.notif_prekey, | pre_key: wallet_user_info.notif_prekey, | ||||
pre_key_signature: wallet_user_info.notif_prekey_signature, | pre_key_signature: wallet_user_info.notif_prekey_signature, | ||||
}), | }), | ||||
onetime_content_prekeys: wallet_user_info.content_onetime_keys, | one_time_content_prekeys: wallet_user_info.content_one_time_keys, | ||||
onetime_notif_prekeys: wallet_user_info.notif_onetime_keys, | one_time_notif_prekeys: wallet_user_info.notif_one_time_keys, | ||||
device_type: DEVICE_TYPE.into(), | device_type: DEVICE_TYPE.into(), | ||||
}), | }), | ||||
}; | }; | ||||
let mut identity_client = | let mut identity_client = | ||||
IdentityClientServiceClient::connect("http://127.0.0.1:50054").await?; | IdentityClientServiceClient::connect("http://127.0.0.1:50054").await?; | ||||
let login_response = identity_client | let login_response = identity_client | ||||
.login_wallet_user(login_request) | .login_wallet_user(login_request) | ||||
Show All 21 Lines |