From a7a084d5f5c23cda70b63fd34651bb166d0835a4 Mon Sep 17 00:00:00 2001 From: Yuki Kishimoto Date: Fri, 10 Jan 2025 09:46:46 +0100 Subject: [PATCH] Expose `UnwrappedGift` --- CHANGELOG.md | 1 + lib/nostr_sdk.dart | 1 + lib/src/rust/api/protocol/nips/nip59.dart | 30 ++ lib/src/rust/frb_generated.dart | 329 ++++++++++++++++---- lib/src/rust/frb_generated.io.dart | 82 +++++ lib/src/rust/frb_generated.web.dart | 70 +++++ rust/src/api/protocol/mod.rs | 1 + rust/src/api/protocol/nips/mod.rs | 5 + rust/src/api/protocol/nips/nip59.rs | 51 ++++ rust/src/frb_generated.io.rs | 15 + rust/src/frb_generated.rs | 351 ++++++++++++++++++---- rust/src/frb_generated.web.rs | 15 + 12 files changed, 847 insertions(+), 104 deletions(-) create mode 100644 lib/src/rust/api/protocol/nips/nip59.dart create mode 100644 rust/src/api/protocol/nips/mod.rs create mode 100644 rust/src/api/protocol/nips/nip59.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cdf2d7..051cb77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ * Expose `EventBuilder::gift_wrap_from_seal` ([Yuki Kishimoto]) * Expose `EventBuilder::gift_wrap` ([Yuki Kishimoto]) * Expose `EventBuilder::private_msg` ([Yuki Kishimoto]) +* Expose `UnwrappedGift` ([Yuki Kishimoto]) ### Fixed diff --git a/lib/nostr_sdk.dart b/lib/nostr_sdk.dart index 0cec23d..a3a195c 100644 --- a/lib/nostr_sdk.dart +++ b/lib/nostr_sdk.dart @@ -10,6 +10,7 @@ export 'src/rust/api/protocol/event/unsigned.dart'; export 'src/rust/api/protocol/key.dart'; export 'src/rust/api/protocol/key/public_key.dart'; export 'src/rust/api/protocol/key/secret_key.dart'; +export 'src/rust/api/protocol/nips/nip59.dart'; export 'src/rust/api/protocol/types/filter.dart'; export 'src/rust/api/protocol/signer.dart'; export 'src/rust/api/relay/options.dart'; diff --git a/lib/src/rust/api/protocol/nips/nip59.dart b/lib/src/rust/api/protocol/nips/nip59.dart new file mode 100644 index 0000000..dbc0c71 --- /dev/null +++ b/lib/src/rust/api/protocol/nips/nip59.dart @@ -0,0 +1,30 @@ +// This file is automatically generated, so please do not edit it. +// Generated by `flutter_rust_bridge`@ 2.0.0. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../event.dart'; +import '../event/unsigned.dart'; +import '../key/public_key.dart'; +import '../signer.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `from` + +// Rust type: RustOpaqueMoi> +abstract class UnwrappedGift implements RustOpaqueInterface { + /// Unwrap Gift Wrap event + /// + /// Internally verify the `seal` event + static Future fromGiftWrap( + {required NostrSigner signer, required Event giftWrap}) => + NostrSdk.instance.api.crateApiProtocolNipsNip59UnwrappedGiftFromGiftWrap( + signer: signer, giftWrap: giftWrap); + + /// Get rumor + UnsignedEvent rumor(); + + /// Get sender public key + PublicKey sender(); +} diff --git a/lib/src/rust/frb_generated.dart b/lib/src/rust/frb_generated.dart index 2bad644..e82a85c 100644 --- a/lib/src/rust/frb_generated.dart +++ b/lib/src/rust/frb_generated.dart @@ -15,6 +15,7 @@ import 'api/protocol/event/unsigned.dart'; import 'api/protocol/key.dart'; import 'api/protocol/key/public_key.dart'; import 'api/protocol/key/secret_key.dart'; +import 'api/protocol/nips/nip59.dart'; import 'api/protocol/signer.dart'; import 'api/protocol/types/filter.dart'; import 'api/relay/options.dart'; @@ -73,7 +74,7 @@ class NostrSdk String get codegenVersion => '2.0.0'; @override - int get rustContentHash => -324046802; + int get rustContentHash => -1770317176; static const kDefaultExternalLibraryLoaderConfig = ExternalLibraryLoaderConfig( @@ -375,6 +376,15 @@ abstract class NostrSdkApi extends BaseApi { String crateApiProtocolKeySecretKeySecretKeyToSecretHex( {required SecretKey that}); + Future crateApiProtocolNipsNip59UnwrappedGiftFromGiftWrap( + {required NostrSigner signer, required Event giftWrap}); + + UnsignedEvent crateApiProtocolNipsNip59UnwrappedGiftRumor( + {required UnwrappedGift that}); + + PublicKey crateApiProtocolNipsNip59UnwrappedGiftSender( + {required UnwrappedGift that}); + SignerBackend crateApiProtocolSignerNostrSignerBackend( {required NostrSigner that}); @@ -642,6 +652,15 @@ abstract class NostrSdkApi extends BaseApi { CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnsignedEventPtr; + + RustArcIncrementStrongCountFnType + get rust_arc_increment_strong_count_UnwrappedGift; + + RustArcDecrementStrongCountFnType + get rust_arc_decrement_strong_count_UnwrappedGift; + + CrossPlatformFinalizerArg + get rust_arc_decrement_strong_count_UnwrappedGiftPtr; } class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { @@ -3592,6 +3611,91 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { argNames: ["that"], ); + @override + Future crateApiProtocolNipsNip59UnwrappedGiftFromGiftWrap( + {required NostrSigner signer, required Event giftWrap}) { + return handler.executeNormal(NormalTask( + callFfi: (port_) { + final serializer = SseSerializer(generalizedFrbRustBinding); + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_NostrSigner( + signer, serializer); + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Event( + giftWrap, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, + funcId: 110, port: port_); + }, + codec: SseCodec( + decodeSuccessData: + sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift, + decodeErrorData: sse_decode_AnyhowException, + ), + constMeta: kCrateApiProtocolNipsNip59UnwrappedGiftFromGiftWrapConstMeta, + argValues: [signer, giftWrap], + apiImpl: this, + )); + } + + TaskConstMeta + get kCrateApiProtocolNipsNip59UnwrappedGiftFromGiftWrapConstMeta => + const TaskConstMeta( + debugName: "UnwrappedGift_from_gift_wrap", + argNames: ["signer", "giftWrap"], + ); + + @override + UnsignedEvent crateApiProtocolNipsNip59UnwrappedGiftRumor( + {required UnwrappedGift that}) { + return handler.executeSync(SyncTask( + callFfi: () { + final serializer = SseSerializer(generalizedFrbRustBinding); + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 111)!; + }, + codec: SseCodec( + decodeSuccessData: + sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent, + decodeErrorData: null, + ), + constMeta: kCrateApiProtocolNipsNip59UnwrappedGiftRumorConstMeta, + argValues: [that], + apiImpl: this, + )); + } + + TaskConstMeta get kCrateApiProtocolNipsNip59UnwrappedGiftRumorConstMeta => + const TaskConstMeta( + debugName: "UnwrappedGift_rumor", + argNames: ["that"], + ); + + @override + PublicKey crateApiProtocolNipsNip59UnwrappedGiftSender( + {required UnwrappedGift that}) { + return handler.executeSync(SyncTask( + callFfi: () { + final serializer = SseSerializer(generalizedFrbRustBinding); + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 112)!; + }, + codec: SseCodec( + decodeSuccessData: + sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_PublicKey, + decodeErrorData: null, + ), + constMeta: kCrateApiProtocolNipsNip59UnwrappedGiftSenderConstMeta, + argValues: [that], + apiImpl: this, + )); + } + + TaskConstMeta get kCrateApiProtocolNipsNip59UnwrappedGiftSenderConstMeta => + const TaskConstMeta( + debugName: "UnwrappedGift_sender", + argNames: ["that"], + ); + @override SignerBackend crateApiProtocolSignerNostrSignerBackend( {required NostrSigner that}) { @@ -3600,7 +3704,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_NostrSigner( that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 110)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 113)!; }, codec: SseCodec( decodeSuccessData: sse_decode_signer_backend, @@ -3627,7 +3731,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_NostrSigner( that, serializer); pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 111, port: port_); + funcId: 114, port: port_); }, codec: SseCodec( decodeSuccessData: @@ -3653,7 +3757,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Keys( keys, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 112)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 115)!; }, codec: SseCodec( decodeSuccessData: @@ -3686,7 +3790,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { publicKey, serializer); sse_encode_String(encryptedContent, serializer); pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 113, port: port_); + funcId: 116, port: port_); }, codec: SseCodec( decodeSuccessData: sse_decode_String, @@ -3718,7 +3822,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { publicKey, serializer); sse_encode_String(content, serializer); pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 114, port: port_); + funcId: 117, port: port_); }, codec: SseCodec( decodeSuccessData: sse_decode_String, @@ -3750,7 +3854,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { publicKey, serializer); sse_encode_String(payload, serializer); pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 115, port: port_); + funcId: 118, port: port_); }, codec: SseCodec( decodeSuccessData: sse_decode_String, @@ -3782,7 +3886,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { publicKey, serializer); sse_encode_String(content, serializer); pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 116, port: port_); + funcId: 119, port: port_); }, codec: SseCodec( decodeSuccessData: sse_decode_String, @@ -3811,7 +3915,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( unsignedEvent, serializer); pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 117, port: port_); + funcId: 120, port: port_); }, codec: SseCodec( decodeSuccessData: @@ -3837,7 +3941,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 118)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 121)!; }, codec: SseCodec( decodeSuccessData: sse_decode_String, @@ -3865,7 +3969,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_PublicKey( author, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 119)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 122)!; }, codec: SseCodec( decodeSuccessData: @@ -3894,7 +3998,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_PublicKey( authors, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 120)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 123)!; }, codec: SseCodec( decodeSuccessData: @@ -3926,7 +4030,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_SingleLetterTag( tag, serializer); sse_encode_list_String(content, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 121)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 124)!; }, codec: SseCodec( decodeSuccessData: @@ -3955,7 +4059,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_EventId( id, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 122)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 125)!; }, codec: SseCodec( decodeSuccessData: @@ -3984,7 +4088,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_EventId( ids, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 123)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 126)!; }, codec: SseCodec( decodeSuccessData: @@ -4009,7 +4113,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { callFfi: () { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_String(json, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 124)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 127)!; }, codec: SseCodec( decodeSuccessData: @@ -4037,7 +4141,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_String(hashtag, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 125)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 128)!; }, codec: SseCodec( decodeSuccessData: @@ -4065,7 +4169,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_list_String(hashtags, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 126)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 129)!; }, codec: SseCodec( decodeSuccessData: @@ -4094,7 +4198,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_EventId( id, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 127)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 130)!; }, codec: SseCodec( decodeSuccessData: @@ -4122,7 +4226,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_String(identifier, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 128)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 131)!; }, codec: SseCodec( decodeSuccessData: @@ -4150,7 +4254,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_list_String(identifiers, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 129)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 132)!; }, codec: SseCodec( decodeSuccessData: @@ -4179,7 +4283,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_EventId( ids, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 130)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 133)!; }, codec: SseCodec( decodeSuccessData: @@ -4205,7 +4309,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 131)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 134)!; }, codec: SseCodec( decodeSuccessData: sse_decode_bool, @@ -4232,7 +4336,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_u_16(kind, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 132)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 135)!; }, codec: SseCodec( decodeSuccessData: @@ -4260,7 +4364,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_list_prim_u_16_loose(kinds, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 133)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 136)!; }, codec: SseCodec( decodeSuccessData: @@ -4288,7 +4392,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_u_64(limit, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 134)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 137)!; }, codec: SseCodec( decodeSuccessData: @@ -4317,7 +4421,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Event( event, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 135)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 138)!; }, codec: SseCodec( decodeSuccessData: sse_decode_bool, @@ -4340,7 +4444,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { return handler.executeSync(SyncTask( callFfi: () { final serializer = SseSerializer(generalizedFrbRustBinding); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 136)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 139)!; }, codec: SseCodec( decodeSuccessData: @@ -4369,7 +4473,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_PublicKey( pubkey, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 137)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 140)!; }, codec: SseCodec( decodeSuccessData: @@ -4398,7 +4502,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_PublicKey( pubkeys, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 138)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 141)!; }, codec: SseCodec( decodeSuccessData: @@ -4426,7 +4530,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_String(reference, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 139)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 142)!; }, codec: SseCodec( decodeSuccessData: @@ -4454,7 +4558,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_list_String(references, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 140)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 143)!; }, codec: SseCodec( decodeSuccessData: @@ -4483,7 +4587,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_PublicKey( authors, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 141)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 144)!; }, codec: SseCodec( decodeSuccessData: @@ -4515,7 +4619,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_SingleLetterTag( tag, serializer); sse_encode_list_String(content, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 142)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 145)!; }, codec: SseCodec( decodeSuccessData: @@ -4545,7 +4649,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_EventId( ids, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 143)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 146)!; }, codec: SseCodec( decodeSuccessData: @@ -4573,7 +4677,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_list_String(hashtags, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 144)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 147)!; }, codec: SseCodec( decodeSuccessData: @@ -4601,7 +4705,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_list_String(identifiers, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 145)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 148)!; }, codec: SseCodec( decodeSuccessData: @@ -4631,7 +4735,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_EventId( ids, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 146)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 149)!; }, codec: SseCodec( decodeSuccessData: @@ -4659,7 +4763,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_list_prim_u_16_loose(kinds, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 147)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 150)!; }, codec: SseCodec( decodeSuccessData: @@ -4685,7 +4789,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 148)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 151)!; }, codec: SseCodec( decodeSuccessData: @@ -4714,7 +4818,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { that, serializer); sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_PublicKey( pubkeys, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 149)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 152)!; }, codec: SseCodec( decodeSuccessData: @@ -4742,7 +4846,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_list_String(references, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 150)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 153)!; }, codec: SseCodec( decodeSuccessData: @@ -4769,7 +4873,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 151)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 154)!; }, codec: SseCodec( decodeSuccessData: @@ -4795,7 +4899,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 152)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 155)!; }, codec: SseCodec( decodeSuccessData: @@ -4821,7 +4925,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 153)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 156)!; }, codec: SseCodec( decodeSuccessData: @@ -4849,7 +4953,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_String(text, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 154)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 157)!; }, codec: SseCodec( decodeSuccessData: @@ -4877,7 +4981,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_u_64(timestamp, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 155)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 158)!; }, codec: SseCodec( decodeSuccessData: @@ -4905,7 +5009,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Filter( that, serializer); sse_encode_u_64(timestamp, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 156)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 159)!; }, codec: SseCodec( decodeSuccessData: @@ -4932,7 +5036,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_SingleLetterTag( that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 157)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 160)!; }, codec: SseCodec( decodeSuccessData: sse_decode_bool, @@ -4960,7 +5064,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_SingleLetterTag( that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 158)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 161)!; }, codec: SseCodec( decodeSuccessData: sse_decode_bool, @@ -4987,7 +5091,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { callFfi: () { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_alphabet(character, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 159)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 162)!; }, codec: SseCodec( decodeSuccessData: @@ -5014,7 +5118,7 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { callFfi: () { final serializer = SseSerializer(generalizedFrbRustBinding); sse_encode_alphabet(character, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 160)!; + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 163)!; }, codec: SseCodec( decodeSuccessData: @@ -5148,6 +5252,14 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { get rust_arc_decrement_strong_count_UnsignedEvent => wire .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent; + RustArcIncrementStrongCountFnType + get rust_arc_increment_strong_count_UnwrappedGift => wire + .rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift; + + RustArcDecrementStrongCountFnType + get rust_arc_decrement_strong_count_UnwrappedGift => wire + .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift; + @protected AnyhowException dco_decode_AnyhowException(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -5273,6 +5385,14 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { return UnsignedEventImpl.frbInternalDcoDecode(raw as List); } + @protected + UnwrappedGift + dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return UnwrappedGiftImpl.frbInternalDcoDecode(raw as List); + } + @protected Client dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Client( @@ -5392,6 +5512,14 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { return UnsignedEventImpl.frbInternalDcoDecode(raw as List); } + @protected + UnwrappedGift + dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return UnwrappedGiftImpl.frbInternalDcoDecode(raw as List); + } + @protected Duration dco_decode_Chrono_Duration(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -5524,6 +5652,14 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { return UnsignedEventImpl.frbInternalDcoDecode(raw as List); } + @protected + UnwrappedGift + dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return UnwrappedGiftImpl.frbInternalDcoDecode(raw as List); + } + @protected Set dco_decode_Set_String(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -5924,6 +6060,15 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + @protected + UnwrappedGift + sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return UnwrappedGiftImpl.frbInternalSseDecode( + sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); + } + @protected Client sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Client( @@ -6058,6 +6203,15 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + @protected + UnwrappedGift + sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return UnwrappedGiftImpl.frbInternalSseDecode( + sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); + } + @protected Duration sse_decode_Chrono_Duration(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -6207,6 +6361,15 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + @protected + UnwrappedGift + sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return UnwrappedGiftImpl.frbInternalSseDecode( + sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); + } + @protected Set sse_decode_Set_String(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -6661,6 +6824,16 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { serializer); } + @protected + void + sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + UnwrappedGift self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_usize( + (self as UnwrappedGiftImpl).frbInternalSseEncode(move: true), + serializer); + } + @protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Client( @@ -6802,6 +6975,16 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { serializer); } + @protected + void + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + UnwrappedGift self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_usize( + (self as UnwrappedGiftImpl).frbInternalSseEncode(move: false), + serializer); + } + @protected void sse_encode_Chrono_Duration(Duration self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -6956,6 +7139,16 @@ class NostrSdkApiImpl extends NostrSdkApiImplPlatform implements NostrSdkApi { serializer); } + @protected + void + sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + UnwrappedGift self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_usize( + (self as UnwrappedGiftImpl).frbInternalSseEncode(move: null), + serializer); + } + @protected void sse_encode_Set_String(Set self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -8230,3 +8423,35 @@ class UnsignedEventImpl extends RustOpaque implements UnsignedEvent { that: this, ); } + +@sealed +class UnwrappedGiftImpl extends RustOpaque implements UnwrappedGift { + // Not to be used by end users + UnwrappedGiftImpl.frbInternalDcoDecode(List wire) + : super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + UnwrappedGiftImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative) + : super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: + NostrSdk.instance.api.rust_arc_increment_strong_count_UnwrappedGift, + rustArcDecrementStrongCount: + NostrSdk.instance.api.rust_arc_decrement_strong_count_UnwrappedGift, + rustArcDecrementStrongCountPtr: + NostrSdk.instance.api.rust_arc_decrement_strong_count_UnwrappedGiftPtr, + ); + + /// Get rumor + UnsignedEvent rumor() => + NostrSdk.instance.api.crateApiProtocolNipsNip59UnwrappedGiftRumor( + that: this, + ); + + /// Get sender public key + PublicKey sender() => + NostrSdk.instance.api.crateApiProtocolNipsNip59UnwrappedGiftSender( + that: this, + ); +} diff --git a/lib/src/rust/frb_generated.io.dart b/lib/src/rust/frb_generated.io.dart index 30f528e..998303e 100644 --- a/lib/src/rust/frb_generated.io.dart +++ b/lib/src/rust/frb_generated.io.dart @@ -15,6 +15,7 @@ import 'api/protocol/event/unsigned.dart'; import 'api/protocol/key.dart'; import 'api/protocol/key/public_key.dart'; import 'api/protocol/key/secret_key.dart'; +import 'api/protocol/nips/nip59.dart'; import 'api/protocol/signer.dart'; import 'api/protocol/types/filter.dart'; import 'api/relay/options.dart'; @@ -83,6 +84,10 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { get rust_arc_decrement_strong_count_UnsignedEventPtr => wire ._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEventPtr; + CrossPlatformFinalizerArg + get rust_arc_decrement_strong_count_UnwrappedGiftPtr => wire + ._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGiftPtr; + @protected AnyhowException dco_decode_AnyhowException(dynamic raw); @@ -160,6 +165,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( dynamic raw); + @protected + UnwrappedGift + dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + dynamic raw); + @protected Client dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Client( @@ -234,6 +244,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( dynamic raw); + @protected + UnwrappedGift + dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + dynamic raw); + @protected Duration dco_decode_Chrono_Duration(dynamic raw); @@ -314,6 +329,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( dynamic raw); + @protected + UnwrappedGift + dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + dynamic raw); + @protected Set dco_decode_Set_String(dynamic raw); @@ -498,6 +518,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( SseDeserializer deserializer); + @protected + UnwrappedGift + sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + SseDeserializer deserializer); + @protected Client sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Client( @@ -572,6 +597,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( SseDeserializer deserializer); + @protected + UnwrappedGift + sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + SseDeserializer deserializer); + @protected Duration sse_decode_Chrono_Duration(SseDeserializer deserializer); @@ -653,6 +683,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( SseDeserializer deserializer); + @protected + UnwrappedGift + sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + SseDeserializer deserializer); + @protected Set sse_decode_Set_String(SseDeserializer deserializer); @@ -842,6 +877,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( UnsignedEvent self, SseSerializer serializer); + @protected + void + sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + UnwrappedGift self, SseSerializer serializer); + @protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Client( @@ -917,6 +957,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( UnsignedEvent self, SseSerializer serializer); + @protected + void + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + UnwrappedGift self, SseSerializer serializer); + @protected void sse_encode_Chrono_Duration(Duration self, SseSerializer serializer); @@ -999,6 +1044,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( UnsignedEvent self, SseSerializer serializer); + @protected + void + sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + UnwrappedGift self, SseSerializer serializer); + @protected void sse_encode_Set_String(Set self, SseSerializer serializer); @@ -1609,4 +1659,36 @@ class NostrSdkWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEventPtr .asFunction)>(); + + void + rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGiftPtr = + _lookup)>>( + 'frbgen_nostr_sdk_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift = + _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGiftPtr + .asFunction)>(); + + void + rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGiftPtr = + _lookup)>>( + 'frbgen_nostr_sdk_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift = + _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGiftPtr + .asFunction)>(); } diff --git a/lib/src/rust/frb_generated.web.dart b/lib/src/rust/frb_generated.web.dart index e0bc52b..8d70dd2 100644 --- a/lib/src/rust/frb_generated.web.dart +++ b/lib/src/rust/frb_generated.web.dart @@ -18,6 +18,7 @@ import 'api/protocol/event/unsigned.dart'; import 'api/protocol/key.dart'; import 'api/protocol/key/public_key.dart'; import 'api/protocol/key/secret_key.dart'; +import 'api/protocol/nips/nip59.dart'; import 'api/protocol/signer.dart'; import 'api/protocol/types/filter.dart'; import 'api/relay/options.dart'; @@ -85,6 +86,10 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { get rust_arc_decrement_strong_count_UnsignedEventPtr => wire .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent; + CrossPlatformFinalizerArg + get rust_arc_decrement_strong_count_UnwrappedGiftPtr => wire + .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift; + @protected AnyhowException dco_decode_AnyhowException(dynamic raw); @@ -162,6 +167,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( dynamic raw); + @protected + UnwrappedGift + dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + dynamic raw); + @protected Client dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Client( @@ -236,6 +246,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( dynamic raw); + @protected + UnwrappedGift + dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + dynamic raw); + @protected Duration dco_decode_Chrono_Duration(dynamic raw); @@ -316,6 +331,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( dynamic raw); + @protected + UnwrappedGift + dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + dynamic raw); + @protected Set dco_decode_Set_String(dynamic raw); @@ -500,6 +520,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( SseDeserializer deserializer); + @protected + UnwrappedGift + sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + SseDeserializer deserializer); + @protected Client sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Client( @@ -574,6 +599,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( SseDeserializer deserializer); + @protected + UnwrappedGift + sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + SseDeserializer deserializer); + @protected Duration sse_decode_Chrono_Duration(SseDeserializer deserializer); @@ -655,6 +685,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( SseDeserializer deserializer); + @protected + UnwrappedGift + sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + SseDeserializer deserializer); + @protected Set sse_decode_Set_String(SseDeserializer deserializer); @@ -844,6 +879,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( UnsignedEvent self, SseSerializer serializer); + @protected + void + sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + UnwrappedGift self, SseSerializer serializer); + @protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_Client( @@ -919,6 +959,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( UnsignedEvent self, SseSerializer serializer); + @protected + void + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + UnwrappedGift self, SseSerializer serializer); + @protected void sse_encode_Chrono_Duration(Duration self, SseSerializer serializer); @@ -1001,6 +1046,11 @@ abstract class NostrSdkApiImplPlatform extends BaseApiImpl { sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( UnsignedEvent self, SseSerializer serializer); + @protected + void + sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + UnwrappedGift self, SseSerializer serializer); + @protected void sse_encode_Set_String(Set self, SseSerializer serializer); @@ -1302,6 +1352,18 @@ class NostrSdkWire implements BaseWire { wasmModule .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( ptr); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + int ptr) => + wasmModule + .rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ptr); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + int ptr) => + wasmModule + .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ptr); } @JS('wasm_bindgen') @@ -1429,4 +1491,12 @@ extension type NostrSdkWasmModule._(JSObject _) implements JSObject { external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnsignedEvent( int ptr); + + external void + rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + int ptr); + + external void + rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + int ptr); } diff --git a/rust/src/api/protocol/mod.rs b/rust/src/api/protocol/mod.rs index c80d8ea..674ae30 100644 --- a/rust/src/api/protocol/mod.rs +++ b/rust/src/api/protocol/mod.rs @@ -4,5 +4,6 @@ pub mod event; pub mod key; +pub mod nips; pub mod signer; pub mod types; diff --git a/rust/src/api/protocol/nips/mod.rs b/rust/src/api/protocol/nips/mod.rs new file mode 100644 index 0000000..8fdb9f6 --- /dev/null +++ b/rust/src/api/protocol/nips/mod.rs @@ -0,0 +1,5 @@ +// Copyright (c) 2022-2023 Yuki Kishimoto +// Copyright (c) 2023-2024 Rust Nostr Developers +// Distributed under the MIT software license + +pub mod nip59; diff --git a/rust/src/api/protocol/nips/nip59.rs b/rust/src/api/protocol/nips/nip59.rs new file mode 100644 index 0000000..ac59aed --- /dev/null +++ b/rust/src/api/protocol/nips/nip59.rs @@ -0,0 +1,51 @@ +// Copyright (c) 2022-2023 Yuki Kishimoto +// Copyright (c) 2023-2024 Rust Nostr Developers +// Distributed under the MIT software license + +use std::ops::Deref; + +use anyhow::Result; +use flutter_rust_bridge::frb; +use nostr_sdk::prelude::*; + +use crate::api::protocol::event::_Event; +use crate::api::protocol::event::unsigned::_UnsignedEvent; +use crate::api::protocol::key::_PublicKey; +use crate::api::protocol::signer::_NostrSigner; + +/// Unwrapped Gift Wrap +/// +/// +#[frb(name = "UnwrappedGift")] +pub struct _UnwrappedGift { + pub(crate) inner: UnwrappedGift, +} + +impl From for _UnwrappedGift { + fn from(inner: UnwrappedGift) -> Self { + Self { inner } + } +} + +impl _UnwrappedGift { + /// Unwrap Gift Wrap event + /// + /// Internally verify the `seal` event + pub async fn from_gift_wrap(signer: &_NostrSigner, gift_wrap: &_Event) -> Result { + Ok(Self { + inner: UnwrappedGift::from_gift_wrap(signer.deref(), gift_wrap.deref()).await?, + }) + } + + /// Get sender public key + #[frb(sync)] + pub fn sender(&self) -> _PublicKey { + self.inner.sender.into() + } + + /// Get rumor + #[frb(sync)] + pub fn rumor(&self) -> _UnsignedEvent { + self.inner.rumor.clone().into() + } +} diff --git a/rust/src/frb_generated.io.rs b/rust/src/frb_generated.io.rs index d9887a4..6fea3df 100644 --- a/rust/src/frb_generated.io.rs +++ b/rust/src/frb_generated.io.rs @@ -15,6 +15,7 @@ use crate::api::protocol::event::*; use crate::api::protocol::key::public_key::*; use crate::api::protocol::key::secret_key::*; use crate::api::protocol::key::*; +use crate::api::protocol::nips::nip59::*; use crate::api::protocol::signer::*; use crate::api::protocol::types::filter::*; use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt}; @@ -238,3 +239,17 @@ pub extern "C" fn frbgen_nostr_sdk_rust_arc_decrement_strong_count_RustOpaque_fl ) { MoiArc::>::decrement_strong_count(ptr as _); } + +#[no_mangle] +pub extern "C" fn frbgen_nostr_sdk_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ptr: *const std::ffi::c_void, +) { + MoiArc::>::increment_strong_count(ptr as _); +} + +#[no_mangle] +pub extern "C" fn frbgen_nostr_sdk_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ptr: *const std::ffi::c_void, +) { + MoiArc::>::decrement_strong_count(ptr as _); +} diff --git a/rust/src/frb_generated.rs b/rust/src/frb_generated.rs index 496b2bf..9d3cdd6 100644 --- a/rust/src/frb_generated.rs +++ b/rust/src/frb_generated.rs @@ -36,6 +36,7 @@ use crate::api::protocol::event::*; use crate::api::protocol::key::public_key::*; use crate::api::protocol::key::secret_key::*; use crate::api::protocol::key::*; +use crate::api::protocol::nips::nip59::*; use crate::api::protocol::signer::*; use crate::api::protocol::types::filter::*; use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt}; @@ -50,7 +51,7 @@ flutter_rust_bridge::frb_generated_boilerplate!( default_rust_auto_opaque = RustAutoOpaqueMoi, ); pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.0.0"; -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -324046802; +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -1770317176; // Section: executor @@ -5363,6 +5364,180 @@ fn wire__crate__api__protocol__key__secret_key__SecretKey_to_secret_hex_impl( }, ) } +fn wire__crate__api__protocol__nips__nip59__UnwrappedGift_from_gift_wrap_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnwrappedGift_from_gift_wrap", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_signer = , + >>::sse_decode(&mut deserializer); + let api_gift_wrap = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_signer_guard = None; + let mut api_gift_wrap_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_signer, + 0, + false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_gift_wrap, + 1, + false, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_signer_guard = + Some(api_signer.lockable_decode_async_ref().await) + } + 1 => { + api_gift_wrap_guard = + Some(api_gift_wrap.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_signer_guard = api_signer_guard.unwrap(); + let api_gift_wrap_guard = api_gift_wrap_guard.unwrap(); + let output_ok = + crate::api::protocol::nips::nip59::_UnwrappedGift::from_gift_wrap( + &*api_signer_guard, + &*api_gift_wrap_guard, + ) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__crate__api__protocol__nips__nip59__UnwrappedGift_rumor_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnwrappedGift_rumor", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + crate::api::protocol::nips::nip59::_UnwrappedGift::rumor(&*api_that_guard), + )?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__crate__api__protocol__nips__nip59__UnwrappedGift_sender_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnwrappedGift_sender", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + crate::api::protocol::nips::nip59::_UnwrappedGift::sender(&*api_that_guard), + )?; + Ok(output_ok) + })()) + }, + ) +} fn wire__crate__api__protocol__signer__NostrSigner_backend_impl( ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, rust_vec_len_: i32, @@ -8060,6 +8235,9 @@ flutter_rust_bridge::frb_generated_moi_arc_impl_value!( flutter_rust_bridge::frb_generated_moi_arc_impl_value!( flutter_rust_bridge::for_generated::RustAutoOpaqueInner<_UnsignedEvent> ); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner<_UnwrappedGift> +); // Section: dart2rust @@ -8221,6 +8399,16 @@ impl SseDecode for _UnsignedEvent { } } +impl SseDecode for _UnwrappedGift { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + impl SseDecode for chrono::Duration { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { @@ -8377,6 +8565,16 @@ impl SseDecode } } +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + impl SseDecode for std::collections::HashSet { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { @@ -8787,37 +8985,43 @@ fn pde_ffi_dispatcher_primary_impl( rust_vec_len, data_len, ), - 111 => wire__crate__api__protocol__signer__NostrSigner_get_public_key_impl( + 110 => wire__crate__api__protocol__nips__nip59__UnwrappedGift_from_gift_wrap_impl( port, ptr, rust_vec_len, data_len, ), - 113 => wire__crate__api__protocol__signer__NostrSigner_nip04_decrypt_impl( + 114 => wire__crate__api__protocol__signer__NostrSigner_get_public_key_impl( port, ptr, rust_vec_len, data_len, ), - 114 => wire__crate__api__protocol__signer__NostrSigner_nip04_encrypt_impl( + 116 => wire__crate__api__protocol__signer__NostrSigner_nip04_decrypt_impl( port, ptr, rust_vec_len, data_len, ), - 115 => wire__crate__api__protocol__signer__NostrSigner_nip44_decrypt_impl( + 117 => wire__crate__api__protocol__signer__NostrSigner_nip04_encrypt_impl( port, ptr, rust_vec_len, data_len, ), - 116 => wire__crate__api__protocol__signer__NostrSigner_nip44_encrypt_impl( + 118 => wire__crate__api__protocol__signer__NostrSigner_nip44_decrypt_impl( port, ptr, rust_vec_len, data_len, ), - 117 => wire__crate__api__protocol__signer__NostrSigner_sign_event_impl( + 119 => wire__crate__api__protocol__signer__NostrSigner_nip44_encrypt_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 120 => wire__crate__api__protocol__signer__NostrSigner_sign_event_impl( port, ptr, rust_vec_len, @@ -9116,217 +9320,227 @@ fn pde_ffi_dispatcher_sync_impl( rust_vec_len, data_len, ), - 110 => wire__crate__api__protocol__signer__NostrSigner_backend_impl( + 111 => wire__crate__api__protocol__nips__nip59__UnwrappedGift_rumor_impl( ptr, rust_vec_len, data_len, ), - 112 => { + 112 => wire__crate__api__protocol__nips__nip59__UnwrappedGift_sender_impl( + ptr, + rust_vec_len, + data_len, + ), + 113 => wire__crate__api__protocol__signer__NostrSigner_backend_impl( + ptr, + rust_vec_len, + data_len, + ), + 115 => { wire__crate__api__protocol__signer__NostrSigner_keys_impl(ptr, rust_vec_len, data_len) } - 118 => wire__crate__api__protocol__types__filter__Filter_as_json_impl( + 121 => wire__crate__api__protocol__types__filter__Filter_as_json_impl( ptr, rust_vec_len, data_len, ), - 119 => wire__crate__api__protocol__types__filter__Filter_author_impl( + 122 => wire__crate__api__protocol__types__filter__Filter_author_impl( ptr, rust_vec_len, data_len, ), - 120 => wire__crate__api__protocol__types__filter__Filter_authors_impl( + 123 => wire__crate__api__protocol__types__filter__Filter_authors_impl( ptr, rust_vec_len, data_len, ), - 121 => wire__crate__api__protocol__types__filter__Filter_custom_tag_impl( + 124 => wire__crate__api__protocol__types__filter__Filter_custom_tag_impl( ptr, rust_vec_len, data_len, ), - 122 => wire__crate__api__protocol__types__filter__Filter_event_impl( + 125 => wire__crate__api__protocol__types__filter__Filter_event_impl( ptr, rust_vec_len, data_len, ), - 123 => wire__crate__api__protocol__types__filter__Filter_events_impl( + 126 => wire__crate__api__protocol__types__filter__Filter_events_impl( ptr, rust_vec_len, data_len, ), - 124 => wire__crate__api__protocol__types__filter__Filter_from_json_impl( + 127 => wire__crate__api__protocol__types__filter__Filter_from_json_impl( ptr, rust_vec_len, data_len, ), - 125 => wire__crate__api__protocol__types__filter__Filter_hashtag_impl( + 128 => wire__crate__api__protocol__types__filter__Filter_hashtag_impl( ptr, rust_vec_len, data_len, ), - 126 => wire__crate__api__protocol__types__filter__Filter_hashtags_impl( + 129 => wire__crate__api__protocol__types__filter__Filter_hashtags_impl( ptr, rust_vec_len, data_len, ), - 127 => { + 130 => { wire__crate__api__protocol__types__filter__Filter_id_impl(ptr, rust_vec_len, data_len) } - 128 => wire__crate__api__protocol__types__filter__Filter_identifier_impl( + 131 => wire__crate__api__protocol__types__filter__Filter_identifier_impl( ptr, rust_vec_len, data_len, ), - 129 => wire__crate__api__protocol__types__filter__Filter_identifiers_impl( + 132 => wire__crate__api__protocol__types__filter__Filter_identifiers_impl( ptr, rust_vec_len, data_len, ), - 130 => { + 133 => { wire__crate__api__protocol__types__filter__Filter_ids_impl(ptr, rust_vec_len, data_len) } - 131 => wire__crate__api__protocol__types__filter__Filter_is_empty_impl( + 134 => wire__crate__api__protocol__types__filter__Filter_is_empty_impl( ptr, rust_vec_len, data_len, ), - 132 => { + 135 => { wire__crate__api__protocol__types__filter__Filter_kind_impl(ptr, rust_vec_len, data_len) } - 133 => wire__crate__api__protocol__types__filter__Filter_kinds_impl( + 136 => wire__crate__api__protocol__types__filter__Filter_kinds_impl( ptr, rust_vec_len, data_len, ), - 134 => wire__crate__api__protocol__types__filter__Filter_limit_impl( + 137 => wire__crate__api__protocol__types__filter__Filter_limit_impl( ptr, rust_vec_len, data_len, ), - 135 => wire__crate__api__protocol__types__filter__Filter_match_event_impl( + 138 => wire__crate__api__protocol__types__filter__Filter_match_event_impl( ptr, rust_vec_len, data_len, ), - 136 => { + 139 => { wire__crate__api__protocol__types__filter__Filter_new_impl(ptr, rust_vec_len, data_len) } - 137 => wire__crate__api__protocol__types__filter__Filter_pubkey_impl( + 140 => wire__crate__api__protocol__types__filter__Filter_pubkey_impl( ptr, rust_vec_len, data_len, ), - 138 => wire__crate__api__protocol__types__filter__Filter_pubkeys_impl( + 141 => wire__crate__api__protocol__types__filter__Filter_pubkeys_impl( ptr, rust_vec_len, data_len, ), - 139 => wire__crate__api__protocol__types__filter__Filter_reference_impl( + 142 => wire__crate__api__protocol__types__filter__Filter_reference_impl( ptr, rust_vec_len, data_len, ), - 140 => wire__crate__api__protocol__types__filter__Filter_references_impl( + 143 => wire__crate__api__protocol__types__filter__Filter_references_impl( ptr, rust_vec_len, data_len, ), - 141 => wire__crate__api__protocol__types__filter__Filter_remove_authors_impl( + 144 => wire__crate__api__protocol__types__filter__Filter_remove_authors_impl( ptr, rust_vec_len, data_len, ), - 142 => wire__crate__api__protocol__types__filter__Filter_remove_custom_tag_impl( + 145 => wire__crate__api__protocol__types__filter__Filter_remove_custom_tag_impl( ptr, rust_vec_len, data_len, ), - 143 => wire__crate__api__protocol__types__filter__Filter_remove_events_impl( + 146 => wire__crate__api__protocol__types__filter__Filter_remove_events_impl( ptr, rust_vec_len, data_len, ), - 144 => wire__crate__api__protocol__types__filter__Filter_remove_hashtags_impl( + 147 => wire__crate__api__protocol__types__filter__Filter_remove_hashtags_impl( ptr, rust_vec_len, data_len, ), - 145 => wire__crate__api__protocol__types__filter__Filter_remove_identifiers_impl( + 148 => wire__crate__api__protocol__types__filter__Filter_remove_identifiers_impl( ptr, rust_vec_len, data_len, ), - 146 => wire__crate__api__protocol__types__filter__Filter_remove_ids_impl( + 149 => wire__crate__api__protocol__types__filter__Filter_remove_ids_impl( ptr, rust_vec_len, data_len, ), - 147 => wire__crate__api__protocol__types__filter__Filter_remove_kinds_impl( + 150 => wire__crate__api__protocol__types__filter__Filter_remove_kinds_impl( ptr, rust_vec_len, data_len, ), - 148 => wire__crate__api__protocol__types__filter__Filter_remove_limit_impl( + 151 => wire__crate__api__protocol__types__filter__Filter_remove_limit_impl( ptr, rust_vec_len, data_len, ), - 149 => wire__crate__api__protocol__types__filter__Filter_remove_pubkeys_impl( + 152 => wire__crate__api__protocol__types__filter__Filter_remove_pubkeys_impl( ptr, rust_vec_len, data_len, ), - 150 => wire__crate__api__protocol__types__filter__Filter_remove_references_impl( + 153 => wire__crate__api__protocol__types__filter__Filter_remove_references_impl( ptr, rust_vec_len, data_len, ), - 151 => wire__crate__api__protocol__types__filter__Filter_remove_search_impl( + 154 => wire__crate__api__protocol__types__filter__Filter_remove_search_impl( ptr, rust_vec_len, data_len, ), - 152 => wire__crate__api__protocol__types__filter__Filter_remove_since_impl( + 155 => wire__crate__api__protocol__types__filter__Filter_remove_since_impl( ptr, rust_vec_len, data_len, ), - 153 => wire__crate__api__protocol__types__filter__Filter_remove_until_impl( + 156 => wire__crate__api__protocol__types__filter__Filter_remove_until_impl( ptr, rust_vec_len, data_len, ), - 154 => wire__crate__api__protocol__types__filter__Filter_search_impl( + 157 => wire__crate__api__protocol__types__filter__Filter_search_impl( ptr, rust_vec_len, data_len, ), - 155 => wire__crate__api__protocol__types__filter__Filter_since_impl( + 158 => wire__crate__api__protocol__types__filter__Filter_since_impl( ptr, rust_vec_len, data_len, ), - 156 => wire__crate__api__protocol__types__filter__Filter_until_impl( + 159 => wire__crate__api__protocol__types__filter__Filter_until_impl( ptr, rust_vec_len, data_len, ), - 157 => wire__crate__api__protocol__types__filter__SingleLetterTag_is_lowercase_impl( + 160 => wire__crate__api__protocol__types__filter__SingleLetterTag_is_lowercase_impl( ptr, rust_vec_len, data_len, ), - 158 => wire__crate__api__protocol__types__filter__SingleLetterTag_is_uppercase_impl( + 161 => wire__crate__api__protocol__types__filter__SingleLetterTag_is_uppercase_impl( ptr, rust_vec_len, data_len, ), - 159 => wire__crate__api__protocol__types__filter__SingleLetterTag_lowercase_impl( + 162 => wire__crate__api__protocol__types__filter__SingleLetterTag_lowercase_impl( ptr, rust_vec_len, data_len, ), - 160 => wire__crate__api__protocol__types__filter__SingleLetterTag_uppercase_impl( + 163 => wire__crate__api__protocol__types__filter__SingleLetterTag_uppercase_impl( ptr, rust_vec_len, data_len, @@ -9562,6 +9776,21 @@ impl flutter_rust_bridge::IntoIntoDart> for _Unsigned } } +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper<_UnwrappedGift> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper<_UnwrappedGift> {} + +impl flutter_rust_bridge::IntoIntoDart> for _UnwrappedGift { + fn into_into_dart(self) -> FrbWrapper<_UnwrappedGift> { + self.into() + } +} + // Codec=Dco (DartCObject based), see doc to use other codecs impl flutter_rust_bridge::IntoDart for crate::api::protocol::types::filter::Alphabet { fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { @@ -9828,6 +10057,13 @@ impl SseEncode for _UnsignedEvent { } } +impl SseEncode for _UnwrappedGift { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + impl SseEncode for chrono::Duration { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { @@ -10001,6 +10237,17 @@ impl SseEncode } } +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + impl SseEncode for std::collections::HashSet { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { diff --git a/rust/src/frb_generated.web.rs b/rust/src/frb_generated.web.rs index 93e3b6f..bf0ca05 100644 --- a/rust/src/frb_generated.web.rs +++ b/rust/src/frb_generated.web.rs @@ -15,6 +15,7 @@ use crate::api::protocol::event::*; use crate::api::protocol::key::public_key::*; use crate::api::protocol::key::secret_key::*; use crate::api::protocol::key::*; +use crate::api::protocol::nips::nip59::*; use crate::api::protocol::signer::*; use crate::api::protocol::types::filter::*; use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt}; @@ -240,3 +241,17 @@ pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generat ) { MoiArc::>::decrement_strong_count(ptr as _); } + +#[wasm_bindgen] +pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ptr: *const std::ffi::c_void, +) { + MoiArc::>::increment_strong_count(ptr as _); +} + +#[wasm_bindgen] +pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInner_UnwrappedGift( + ptr: *const std::ffi::c_void, +) { + MoiArc::>::decrement_strong_count(ptr as _); +}