diff --git a/sphinx-ffi/Cargo.toml b/sphinx-ffi/Cargo.toml index 3f35035..ac1eb45 100644 --- a/sphinx-ffi/Cargo.toml +++ b/sphinx-ffi/Cargo.toml @@ -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 = "07b708050eaa4e77d1d62028cadb8b5809b30b36", features = [ +sphinx = { git = "https://github.com/stakwork/sphinx", rev = "2de79ab96a4d0af2b5492ba5168444c217ff4d63", features = [ "msg", "bindings", "macaroon", diff --git a/sphinx-ffi/src/auto.rs b/sphinx-ffi/src/auto.rs index 13970ae..b748a14 100644 --- a/sphinx-ffi/src/auto.rs +++ b/sphinx-ffi/src/auto.rs @@ -586,6 +586,19 @@ pub fn code_from_invite(invite_qr: String) -> Result { .map_err(|e| SphinxError::SendFailed { r: e.to_string() })?) } +pub fn cancel_invite( + seed: String, + unique_time: String, + full_state: Vec, + invite_code: String, +) -> Result { + Ok( + bindings::cancel_invite(&seed, &unique_time, &full_state, &invite_code) + .map_err(|e| SphinxError::SendFailed { r: e.to_string() })? + .into(), + ) +} + pub fn read( seed: String, unique_time: String, diff --git a/sphinx-ffi/src/sphinxrs.swift b/sphinx-ffi/src/sphinxrs.swift index f6638fe..74bedac 100644 --- a/sphinx-ffi/src/sphinxrs.swift +++ b/sphinx-ffi/src/sphinxrs.swift @@ -2386,6 +2386,18 @@ public func `codeFromInvite`(`inviteQr`: String) throws -> String { ) } +public func `cancelInvite`(`seed`: String, `uniqueTime`: String, `state`: Data, `inviteCode`: String) throws -> RunReturn { + return try FfiConverterTypeRunReturn.lift( + try rustCallWithError(FfiConverterTypeSphinxError.lift) { + uniffi_sphinxrs_fn_func_cancel_invite( + FfiConverterString.lower(`seed`), + FfiConverterString.lower(`uniqueTime`), + FfiConverterData.lower(`state`), + FfiConverterString.lower(`inviteCode`),$0) +} + ) +} + public func `getDefaultTribeServer`(`state`: Data) throws -> String { return try FfiConverterString.lift( try rustCallWithError(FfiConverterTypeSphinxError.lift) { @@ -2822,6 +2834,9 @@ private var initializationResult: InitializationResult { if (uniffi_sphinxrs_checksum_func_code_from_invite() != 40279) { return InitializationResult.apiChecksumMismatch } + if (uniffi_sphinxrs_checksum_func_cancel_invite() != 49457) { + return InitializationResult.apiChecksumMismatch + } if (uniffi_sphinxrs_checksum_func_get_default_tribe_server() != 13603) { return InitializationResult.apiChecksumMismatch } diff --git a/sphinx-ffi/src/sphinxrs.udl b/sphinx-ffi/src/sphinxrs.udl index 0ef9fc2..44c6fb8 100644 --- a/sphinx-ffi/src/sphinxrs.udl +++ b/sphinx-ffi/src/sphinxrs.udl @@ -227,6 +227,8 @@ namespace sphinxrs { [Throws=SphinxError] string code_from_invite(string invite_qr); [Throws=SphinxError] + RunReturn cancel_invite(string seed, string unique_time, bytes state, string invite_code); + [Throws=SphinxError] string get_default_tribe_server(bytes state); [Throws=SphinxError] RunReturn read(string seed, string unique_time, bytes state, string pubkey, u64 msg_idx); diff --git a/sphinx-ffi/src/sphinxrsFFI.h b/sphinx-ffi/src/sphinxrsFFI.h index 894195a..1d2f15d 100644 --- a/sphinx-ffi/src/sphinxrsFFI.h +++ b/sphinx-ffi/src/sphinxrsFFI.h @@ -181,6 +181,8 @@ RustBuffer uniffi_sphinxrs_fn_func_parse_invite(RustBuffer invite_qr, RustCallSt ); RustBuffer uniffi_sphinxrs_fn_func_code_from_invite(RustBuffer invite_qr, RustCallStatus *_Nonnull out_status ); +RustBuffer uniffi_sphinxrs_fn_func_cancel_invite(RustBuffer seed, RustBuffer unique_time, RustBuffer state, RustBuffer invite_code, RustCallStatus *_Nonnull out_status +); RustBuffer uniffi_sphinxrs_fn_func_get_default_tribe_server(RustBuffer state, RustCallStatus *_Nonnull out_status ); RustBuffer uniffi_sphinxrs_fn_func_read(RustBuffer seed, RustBuffer unique_time, RustBuffer state, RustBuffer pubkey, uint64_t msg_idx, RustCallStatus *_Nonnull out_status @@ -405,6 +407,9 @@ uint16_t uniffi_sphinxrs_checksum_func_parse_invite(void ); uint16_t uniffi_sphinxrs_checksum_func_code_from_invite(void +); +uint16_t uniffi_sphinxrs_checksum_func_cancel_invite(void + ); uint16_t uniffi_sphinxrs_checksum_func_get_default_tribe_server(void diff --git a/sphinx-ffi/src/uniffi/sphinxrs/sphinxrs.kt b/sphinx-ffi/src/uniffi/sphinxrs/sphinxrs.kt index 8e01a0c..b73df44 100644 --- a/sphinx-ffi/src/uniffi/sphinxrs/sphinxrs.kt +++ b/sphinx-ffi/src/uniffi/sphinxrs/sphinxrs.kt @@ -482,6 +482,8 @@ internal interface _UniFFILib : Library { ): RustBuffer.ByValue fun uniffi_sphinxrs_fn_func_code_from_invite(`inviteQr`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus, ): RustBuffer.ByValue + fun uniffi_sphinxrs_fn_func_cancel_invite(`seed`: RustBuffer.ByValue,`uniqueTime`: RustBuffer.ByValue,`state`: RustBuffer.ByValue,`inviteCode`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus, + ): RustBuffer.ByValue fun uniffi_sphinxrs_fn_func_get_default_tribe_server(`state`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus, ): RustBuffer.ByValue fun uniffi_sphinxrs_fn_func_read(`seed`: RustBuffer.ByValue,`uniqueTime`: RustBuffer.ByValue,`state`: RustBuffer.ByValue,`pubkey`: RustBuffer.ByValue,`msgIdx`: Long,_uniffi_out_err: RustCallStatus, @@ -648,6 +650,8 @@ internal interface _UniFFILib : Library { ): Short fun uniffi_sphinxrs_checksum_func_code_from_invite( ): Short + fun uniffi_sphinxrs_checksum_func_cancel_invite( + ): Short fun uniffi_sphinxrs_checksum_func_get_default_tribe_server( ): Short fun uniffi_sphinxrs_checksum_func_read( @@ -882,6 +886,9 @@ private fun uniffiCheckApiChecksums(lib: _UniFFILib) { if (lib.uniffi_sphinxrs_checksum_func_code_from_invite() != 40279.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } + if (lib.uniffi_sphinxrs_checksum_func_cancel_invite() != 49457.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } if (lib.uniffi_sphinxrs_checksum_func_get_default_tribe_server() != 13603.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -2925,6 +2932,15 @@ fun `codeFromInvite`(`inviteQr`: String): String { @Throws(SphinxException::class) +fun `cancelInvite`(`seed`: String, `uniqueTime`: String, `state`: ByteArray, `inviteCode`: String): RunReturn { + return FfiConverterTypeRunReturn.lift( + rustCallWithError(SphinxException) { _status -> + _UniFFILib.INSTANCE.uniffi_sphinxrs_fn_func_cancel_invite(FfiConverterString.lower(`seed`),FfiConverterString.lower(`uniqueTime`),FfiConverterByteArray.lower(`state`),FfiConverterString.lower(`inviteCode`),_status) +}) +} + +@Throws(SphinxException::class) + fun `getDefaultTribeServer`(`state`: ByteArray): String { return FfiConverterString.lift( rustCallWithError(SphinxException) { _status ->