Skip to content

Commit

Permalink
parse_invite binding
Browse files Browse the repository at this point in the history
  • Loading branch information
Evanfeenstra committed May 28, 2024
1 parent 105411f commit ece9db7
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 14 deletions.
2 changes: 1 addition & 1 deletion sphinx-ffi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ sphinx-signer = { path = "../signer", default-features = false, features = [
"no-native",
] }
sphinx-glyph = { path = "../glyph", default-features = false }
sphinx = { git = "https://github.com/stakwork/sphinx", rev = "41d77db5c28674508e6c37fb7de826a28ef70e4b", features = [
sphinx = { git = "https://github.com/stakwork/sphinx", rev = "184f43d71765eb806d94245f9d804d2a9ff91562", features = [
"msg",
"bindings",
] }
Expand Down
21 changes: 17 additions & 4 deletions sphinx-ffi/src/auto.rs
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,17 @@ pub fn get_tribe_management_topic(
)
}

pub fn initial_setup(seed: String, unique_time: String, full_state: Vec<u8>) -> Result<RunReturn> {
Ok(bindings::initial_setup(&seed, &unique_time, &full_state)
.map_err(|e| SphinxError::HandleFailed { r: e.to_string() })?
.into())
pub fn initial_setup(
seed: String,
unique_time: String,
full_state: Vec<u8>,
device: String,
) -> Result<RunReturn> {
Ok(
bindings::initial_setup(&seed, &unique_time, &full_state, &device)
.map_err(|e| SphinxError::HandleFailed { r: e.to_string() })?
.into(),
)
}

pub fn fetch_msgs(
Expand Down Expand Up @@ -473,6 +480,12 @@ pub fn process_invite(
)
}

pub fn parse_invite(invite_qr: String) -> Result<RunReturn> {
Ok(bindings::parse_invite(&invite_qr)
.map_err(|e| SphinxError::SendFailed { r: e.to_string() })?
.into())
}

pub fn code_from_invite(invite_qr: String) -> Result<String> {
Ok(bindings::code_from_invite(&invite_qr)
.map_err(|e| SphinxError::SendFailed { r: e.to_string() })?)
Expand Down
19 changes: 16 additions & 3 deletions sphinx-ffi/src/sphinxrs.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1856,13 +1856,14 @@ public func `getTribeManagementTopic`(`seed`: String, `uniqueTime`: String, `sta
)
}

public func `initialSetup`(`seed`: String, `uniqueTime`: String, `state`: Data) throws -> RunReturn {
public func `initialSetup`(`seed`: String, `uniqueTime`: String, `state`: Data, `device`: String) throws -> RunReturn {
return try FfiConverterTypeRunReturn.lift(
try rustCallWithError(FfiConverterTypeSphinxError.lift) {
uniffi_sphinxrs_fn_func_initial_setup(
FfiConverterString.lower(`seed`),
FfiConverterString.lower(`uniqueTime`),
FfiConverterData.lower(`state`),$0)
FfiConverterData.lower(`state`),
FfiConverterString.lower(`device`),$0)
}
)
}
Expand Down Expand Up @@ -2103,6 +2104,15 @@ public func `processInvite`(`seed`: String, `uniqueTime`: String, `state`: Data,
)
}

public func `parseInvite`(`inviteQr`: String) throws -> RunReturn {
return try FfiConverterTypeRunReturn.lift(
try rustCallWithError(FfiConverterTypeSphinxError.lift) {
uniffi_sphinxrs_fn_func_parse_invite(
FfiConverterString.lower(`inviteQr`),$0)
}
)
}

public func `codeFromInvite`(`inviteQr`: String) throws -> String {
return try FfiConverterString.lift(
try rustCallWithError(FfiConverterTypeSphinxError.lift) {
Expand Down Expand Up @@ -2374,7 +2384,7 @@ private var initializationResult: InitializationResult {
if (uniffi_sphinxrs_checksum_func_get_tribe_management_topic() != 29476) {
return InitializationResult.apiChecksumMismatch
}
if (uniffi_sphinxrs_checksum_func_initial_setup() != 63727) {
if (uniffi_sphinxrs_checksum_func_initial_setup() != 30402) {
return InitializationResult.apiChecksumMismatch
}
if (uniffi_sphinxrs_checksum_func_fetch_msgs() != 12460) {
Expand Down Expand Up @@ -2428,6 +2438,9 @@ private var initializationResult: InitializationResult {
if (uniffi_sphinxrs_checksum_func_process_invite() != 52237) {
return InitializationResult.apiChecksumMismatch
}
if (uniffi_sphinxrs_checksum_func_parse_invite() != 20297) {
return InitializationResult.apiChecksumMismatch
}
if (uniffi_sphinxrs_checksum_func_code_from_invite() != 40279) {
return InitializationResult.apiChecksumMismatch
}
Expand Down
4 changes: 3 additions & 1 deletion sphinx-ffi/src/sphinxrs.udl
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ namespace sphinxrs {
[Throws=SphinxError]
string get_tribe_management_topic(string seed, string unique_time, bytes state);
[Throws=SphinxError]
RunReturn initial_setup(string seed, string unique_time, bytes state);
RunReturn initial_setup(string seed, string unique_time, bytes state, string device);
[Throws=SphinxError]
RunReturn fetch_msgs(string seed, string unique_time, bytes state, u64 last_msg_idx, u32? limit);
[Throws=SphinxError]
Expand Down Expand Up @@ -196,6 +196,8 @@ namespace sphinxrs {
[Throws=SphinxError]
RunReturn process_invite(string seed, string unique_time, bytes state, string invite_qr);
[Throws=SphinxError]
RunReturn parse_invite(string invite_qr);
[Throws=SphinxError]
string code_from_invite(string invite_qr);
[Throws=SphinxError]
string get_default_tribe_server(bytes state);
Expand Down
7 changes: 6 additions & 1 deletion sphinx-ffi/src/sphinxrsFFI.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ RustBuffer uniffi_sphinxrs_fn_func_contact_pubkey_by_encrypted_child(RustBuffer
);
RustBuffer uniffi_sphinxrs_fn_func_get_tribe_management_topic(RustBuffer seed, RustBuffer unique_time, RustBuffer state, RustCallStatus *_Nonnull out_status
);
RustBuffer uniffi_sphinxrs_fn_func_initial_setup(RustBuffer seed, RustBuffer unique_time, RustBuffer state, RustCallStatus *_Nonnull out_status
RustBuffer uniffi_sphinxrs_fn_func_initial_setup(RustBuffer seed, RustBuffer unique_time, RustBuffer state, RustBuffer device, RustCallStatus *_Nonnull out_status
);
RustBuffer uniffi_sphinxrs_fn_func_fetch_msgs(RustBuffer seed, RustBuffer unique_time, RustBuffer state, uint64_t last_msg_idx, RustBuffer limit, RustCallStatus *_Nonnull out_status
);
Expand Down Expand Up @@ -171,6 +171,8 @@ RustBuffer uniffi_sphinxrs_fn_func_make_invite(RustBuffer seed, RustBuffer uniqu
);
RustBuffer uniffi_sphinxrs_fn_func_process_invite(RustBuffer seed, RustBuffer unique_time, RustBuffer state, RustBuffer invite_qr, RustCallStatus *_Nonnull out_status
);
RustBuffer uniffi_sphinxrs_fn_func_parse_invite(RustBuffer invite_qr, RustCallStatus *_Nonnull out_status
);
RustBuffer uniffi_sphinxrs_fn_func_code_from_invite(RustBuffer invite_qr, RustCallStatus *_Nonnull out_status
);
RustBuffer uniffi_sphinxrs_fn_func_get_default_tribe_server(RustBuffer state, RustCallStatus *_Nonnull out_status
Expand Down Expand Up @@ -364,6 +366,9 @@ uint16_t uniffi_sphinxrs_checksum_func_make_invite(void
);
uint16_t uniffi_sphinxrs_checksum_func_process_invite(void

);
uint16_t uniffi_sphinxrs_checksum_func_parse_invite(void

);
uint16_t uniffi_sphinxrs_checksum_func_code_from_invite(void

Expand Down
24 changes: 20 additions & 4 deletions sphinx-ffi/src/uniffi/sphinxrs/sphinxrs.kt
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,7 @@ internal interface _UniFFILib : Library {
): RustBuffer.ByValue
fun uniffi_sphinxrs_fn_func_get_tribe_management_topic(`seed`: RustBuffer.ByValue,`uniqueTime`: RustBuffer.ByValue,`state`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
): RustBuffer.ByValue
fun uniffi_sphinxrs_fn_func_initial_setup(`seed`: RustBuffer.ByValue,`uniqueTime`: RustBuffer.ByValue,`state`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
fun uniffi_sphinxrs_fn_func_initial_setup(`seed`: RustBuffer.ByValue,`uniqueTime`: RustBuffer.ByValue,`state`: RustBuffer.ByValue,`device`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
): RustBuffer.ByValue
fun uniffi_sphinxrs_fn_func_fetch_msgs(`seed`: RustBuffer.ByValue,`uniqueTime`: RustBuffer.ByValue,`state`: RustBuffer.ByValue,`lastMsgIdx`: Long,`limit`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
): RustBuffer.ByValue
Expand Down Expand Up @@ -472,6 +472,8 @@ internal interface _UniFFILib : Library {
): RustBuffer.ByValue
fun uniffi_sphinxrs_fn_func_process_invite(`seed`: RustBuffer.ByValue,`uniqueTime`: RustBuffer.ByValue,`state`: RustBuffer.ByValue,`inviteQr`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
): RustBuffer.ByValue
fun uniffi_sphinxrs_fn_func_parse_invite(`inviteQr`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
): RustBuffer.ByValue
fun uniffi_sphinxrs_fn_func_code_from_invite(`inviteQr`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
): RustBuffer.ByValue
fun uniffi_sphinxrs_fn_func_get_default_tribe_server(`state`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
Expand Down Expand Up @@ -612,6 +614,8 @@ internal interface _UniFFILib : Library {
): Short
fun uniffi_sphinxrs_checksum_func_process_invite(
): Short
fun uniffi_sphinxrs_checksum_func_parse_invite(
): Short
fun uniffi_sphinxrs_checksum_func_code_from_invite(
): Short
fun uniffi_sphinxrs_checksum_func_get_default_tribe_server(
Expand Down Expand Up @@ -761,7 +765,7 @@ private fun uniffiCheckApiChecksums(lib: _UniFFILib) {
if (lib.uniffi_sphinxrs_checksum_func_get_tribe_management_topic() != 29476.toShort()) {
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
}
if (lib.uniffi_sphinxrs_checksum_func_initial_setup() != 63727.toShort()) {
if (lib.uniffi_sphinxrs_checksum_func_initial_setup() != 30402.toShort()) {
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
}
if (lib.uniffi_sphinxrs_checksum_func_fetch_msgs() != 12460.toShort()) {
Expand Down Expand Up @@ -815,6 +819,9 @@ private fun uniffiCheckApiChecksums(lib: _UniFFILib) {
if (lib.uniffi_sphinxrs_checksum_func_process_invite() != 52237.toShort()) {
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
}
if (lib.uniffi_sphinxrs_checksum_func_parse_invite() != 20297.toShort()) {
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
}
if (lib.uniffi_sphinxrs_checksum_func_code_from_invite() != 40279.toShort()) {
throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
}
Expand Down Expand Up @@ -2480,10 +2487,10 @@ fun `getTribeManagementTopic`(`seed`: String, `uniqueTime`: String, `state`: Byt

@Throws(SphinxException::class)

fun `initialSetup`(`seed`: String, `uniqueTime`: String, `state`: ByteArray): RunReturn {
fun `initialSetup`(`seed`: String, `uniqueTime`: String, `state`: ByteArray, `device`: String): RunReturn {
return FfiConverterTypeRunReturn.lift(
rustCallWithError(SphinxException) { _status ->
_UniFFILib.INSTANCE.uniffi_sphinxrs_fn_func_initial_setup(FfiConverterString.lower(`seed`),FfiConverterString.lower(`uniqueTime`),FfiConverterByteArray.lower(`state`),_status)
_UniFFILib.INSTANCE.uniffi_sphinxrs_fn_func_initial_setup(FfiConverterString.lower(`seed`),FfiConverterString.lower(`uniqueTime`),FfiConverterByteArray.lower(`state`),FfiConverterString.lower(`device`),_status)
})
}

Expand Down Expand Up @@ -2642,6 +2649,15 @@ fun `processInvite`(`seed`: String, `uniqueTime`: String, `state`: ByteArray, `i

@Throws(SphinxException::class)

fun `parseInvite`(`inviteQr`: String): RunReturn {
return FfiConverterTypeRunReturn.lift(
rustCallWithError(SphinxException) { _status ->
_UniFFILib.INSTANCE.uniffi_sphinxrs_fn_func_parse_invite(FfiConverterString.lower(`inviteQr`),_status)
})
}

@Throws(SphinxException::class)

fun `codeFromInvite`(`inviteQr`: String): String {
return FfiConverterString.lift(
rustCallWithError(SphinxException) { _status ->
Expand Down

0 comments on commit ece9db7

Please sign in to comment.