diff --git a/native/native_rust_library/src/farcaster.rs b/native/native_rust_library/src/farcaster.rs new file mode 100644 --- /dev/null +++ b/native/native_rust_library/src/farcaster.rs @@ -0,0 +1,7 @@ +pub fn farcaster_id_string_to_option(input: &str) -> Option { + if input.is_empty() { + None + } else { + Some(input.to_string()) + } +} diff --git a/native/native_rust_library/src/lib.rs b/native/native_rust_library/src/lib.rs --- a/native/native_rust_library/src/lib.rs +++ b/native/native_rust_library/src/lib.rs @@ -4,6 +4,7 @@ use exact_user_search::{ find_user_id_for_username, find_user_id_for_wallet_address, }; +use farcaster::farcaster_id_string_to_option; use ffi::{bool_callback, string_callback, void_callback}; use future_manager::ffi::*; use grpc_clients::identity::protos::auth::{ @@ -34,6 +35,7 @@ mod backup; mod constants; mod exact_user_search; +mod farcaster; mod future_manager; mod wallet_registration; @@ -75,6 +77,7 @@ notif_prekey_signature: String, content_one_time_keys: Vec, notif_one_time_keys: Vec, + farcaster_id: String, // TODO: move params to serde struct promise_id: u32, ); @@ -103,6 +106,7 @@ notif_prekey_signature: String, content_one_time_keys: Vec, notif_one_time_keys: Vec, + farcaster_id: String, // TODO: move params to serde struct promise_id: u32, ); @@ -544,6 +548,7 @@ notif_prekey_signature: String, content_one_time_keys: Vec, notif_one_time_keys: Vec, + farcaster_id: String, promise_id: u32, ) { RUNTIME.spawn(async move { @@ -558,6 +563,7 @@ notif_prekey_signature, content_one_time_keys, notif_one_time_keys, + farcaster_id: farcaster_id_string_to_option(&farcaster_id), }; let result = register_password_user_helper(password_user_info).await; handle_string_result_as_callback(result, promise_id); @@ -575,6 +581,7 @@ notif_prekey_signature: String, content_one_time_keys: Vec, notif_one_time_keys: Vec, + farcaster_id: Option, } #[derive(Serialize)] @@ -626,7 +633,7 @@ one_time_notif_prekeys: password_user_info.notif_one_time_keys, device_type: DEVICE_TYPE.into(), }), - farcaster_id: None, + farcaster_id: password_user_info.farcaster_id, }; let mut identity_client = get_unauthenticated_client( @@ -686,6 +693,7 @@ notif_prekey_signature, content_one_time_keys: Vec::new(), notif_one_time_keys: Vec::new(), + farcaster_id: None, }; let result = log_in_password_user_helper(password_user_info).await; handle_string_result_as_callback(result, promise_id); @@ -765,6 +773,7 @@ notif_prekey_signature: String, content_one_time_keys: Vec, notif_one_time_keys: Vec, + farcaster_id: Option, } #[instrument] @@ -791,6 +800,7 @@ notif_prekey_signature, content_one_time_keys: Vec::new(), notif_one_time_keys: Vec::new(), + farcaster_id: None, }; let result = log_in_wallet_user_helper(wallet_user_info).await; handle_string_result_as_callback(result, promise_id); diff --git a/native/native_rust_library/src/wallet_registration.rs b/native/native_rust_library/src/wallet_registration.rs --- a/native/native_rust_library/src/wallet_registration.rs +++ b/native/native_rust_library/src/wallet_registration.rs @@ -1,6 +1,7 @@ use crate::{ - handle_string_result_as_callback, Error, UserIDAndDeviceAccessToken, - WalletUserInfo, CODE_VERSION, DEVICE_TYPE, IDENTITY_SOCKET_ADDR, RUNTIME, + farcaster::farcaster_id_string_to_option, handle_string_result_as_callback, + Error, UserIDAndDeviceAccessToken, WalletUserInfo, CODE_VERSION, DEVICE_TYPE, + IDENTITY_SOCKET_ADDR, RUNTIME, }; use grpc_clients::identity::{ get_unauthenticated_client, @@ -22,6 +23,7 @@ notif_prekey_signature: String, content_one_time_keys: Vec, notif_one_time_keys: Vec, + farcaster_id: String, promise_id: u32, ) { RUNTIME.spawn(async move { @@ -36,6 +38,7 @@ notif_prekey_signature, content_one_time_keys, notif_one_time_keys, + farcaster_id: farcaster_id_string_to_option(&farcaster_id), }; let result = register_wallet_user_helper(wallet_user_info).await; handle_string_result_as_callback(result, promise_id); @@ -66,7 +69,7 @@ one_time_notif_prekeys: wallet_user_info.notif_one_time_keys, device_type: DEVICE_TYPE.into(), }), - farcaster_id: None, + farcaster_id: wallet_user_info.farcaster_id, }; let mut identity_client = get_unauthenticated_client(