@secondts/bark-react-native 0.4.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +1 -1
  2. package/cpp/generated/bark.cpp +523 -5
  3. package/cpp/generated/bark.hpp +4 -0
  4. package/lib/commonjs/Logger.js +48 -0
  5. package/lib/commonjs/Logger.js.map +1 -0
  6. package/lib/commonjs/generated/bark-ffi.js.map +1 -1
  7. package/lib/commonjs/generated/bark.js +113 -4
  8. package/lib/commonjs/generated/bark.js.map +1 -1
  9. package/lib/commonjs/index.js +13 -0
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/module/Logger.js +43 -0
  12. package/lib/module/Logger.js.map +1 -0
  13. package/lib/module/generated/bark-ffi.js.map +1 -1
  14. package/lib/module/generated/bark.js +112 -4
  15. package/lib/module/generated/bark.js.map +1 -1
  16. package/lib/module/index.js +3 -0
  17. package/lib/module/index.js.map +1 -1
  18. package/lib/typescript/commonjs/src/Logger.d.ts +18 -0
  19. package/lib/typescript/commonjs/src/Logger.d.ts.map +1 -0
  20. package/lib/typescript/commonjs/src/generated/bark-ffi.d.ts +11 -1
  21. package/lib/typescript/commonjs/src/generated/bark-ffi.d.ts.map +1 -1
  22. package/lib/typescript/commonjs/src/generated/bark.d.ts +32 -2
  23. package/lib/typescript/commonjs/src/generated/bark.d.ts.map +1 -1
  24. package/lib/typescript/commonjs/src/index.d.ts +1 -0
  25. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  26. package/lib/typescript/module/src/Logger.d.ts +18 -0
  27. package/lib/typescript/module/src/Logger.d.ts.map +1 -0
  28. package/lib/typescript/module/src/generated/bark-ffi.d.ts +11 -1
  29. package/lib/typescript/module/src/generated/bark-ffi.d.ts.map +1 -1
  30. package/lib/typescript/module/src/generated/bark.d.ts +32 -2
  31. package/lib/typescript/module/src/generated/bark.d.ts.map +1 -1
  32. package/lib/typescript/module/src/index.d.ts +1 -0
  33. package/lib/typescript/module/src/index.d.ts.map +1 -1
  34. package/package.json +4 -4
  35. package/src/Logger.ts +42 -0
  36. package/src/generated/bark-ffi.ts +23 -1
  37. package/src/generated/bark.ts +160 -2
  38. package/src/index.tsx +3 -0
@@ -32,6 +32,7 @@ import nativeModule, {
32
32
  type UniffiForeignFutureCompleteRustBuffer,
33
33
  type UniffiForeignFutureResultVoid,
34
34
  type UniffiForeignFutureCompleteVoid,
35
+ type UniffiVTableCallbackInterfaceBarkLogger,
35
36
  type UniffiVTableCallbackInterfaceCustomOnchainWalletCallbacks,
36
37
  } from "./bark-ffi";
37
38
  import {
@@ -65,6 +66,7 @@ import {
65
66
  uniffiCreateFfiConverterString,
66
67
  uniffiCreateRecord,
67
68
  uniffiRustCallAsync,
69
+ uniffiTraitInterfaceCall,
68
70
  uniffiTraitInterfaceCallWithError,
69
71
  uniffiTypeNameSymbol,
70
72
  variantOrdinalSymbol,
@@ -112,6 +114,28 @@ export function generateMnemonic(): string /*throws*/ {
112
114
  )
113
115
  );
114
116
  }
117
+ /**
118
+ * Install the foreign log sink. Must be called at most once,
119
+ * subsequent calls return an error
120
+ */
121
+ export function setLogger(
122
+ logger: BarkLogger,
123
+ maxLevel: LogLevel
124
+ ): void /*throws*/ {
125
+ uniffiCaller.rustCallWithError(
126
+ /*liftError:*/ FfiConverterTypeBarkError.lift.bind(
127
+ FfiConverterTypeBarkError
128
+ ),
129
+ /*caller:*/ (callStatus) => {
130
+ nativeModule().ubrn_uniffi_bark_ffi_fn_func_set_logger(
131
+ FfiConverterTypeBarkLogger.lower(logger),
132
+ FfiConverterTypeLogLevel.lower(maxLevel),
133
+ callStatus
134
+ );
135
+ },
136
+ /*liftString:*/ FfiConverterString.lift
137
+ );
138
+ }
115
139
  export function validateArkAddress(address: string): boolean /*throws*/ {
116
140
  return FfiConverterBool.lift(
117
141
  uniffiCaller.rustCallWithError(
@@ -145,6 +169,68 @@ export function validateMnemonic(mnemonic: string): boolean /*throws*/ {
145
169
  );
146
170
  }
147
171
 
172
+ /**
173
+ * Foreign sink for log records. Implement in Dart/Swift/Kotlin and pass to
174
+ * [set_logger]. The `log()` method must not call back into bark APIs that
175
+ * emit log records.
176
+ */
177
+ export interface BarkLogger {
178
+ log(level: LogLevel, target: string, message: string): void;
179
+ }
180
+
181
+ // Put the implementation in a struct so we don't pollute the top-level namespace
182
+ const uniffiCallbackInterfaceBarkLogger: {
183
+ vtable: UniffiVTableCallbackInterfaceBarkLogger;
184
+ register: () => void;
185
+ } = {
186
+ // Create the VTable using a series of closures.
187
+ // ts automatically converts these into C callback functions.
188
+ vtable: {
189
+ log: (
190
+ uniffiHandle: bigint,
191
+ level: Uint8Array,
192
+ target: Uint8Array,
193
+ message: Uint8Array
194
+ ) => {
195
+ const uniffiMakeCall = (): void => {
196
+ const jsCallback = FfiConverterTypeBarkLogger.lift(uniffiHandle);
197
+ return jsCallback.log(
198
+ FfiConverterTypeLogLevel.lift(level),
199
+ FfiConverterString.lift(target),
200
+ FfiConverterString.lift(message)
201
+ );
202
+ };
203
+ const uniffiResult = UniffiResult.ready<void>();
204
+ const uniffiHandleSuccess = (obj: any) => {};
205
+ const uniffiHandleError = (code: number, errBuf: UniffiByteArray) => {
206
+ UniffiResult.writeError(uniffiResult, code, errBuf);
207
+ };
208
+ uniffiTraitInterfaceCall(
209
+ /*makeCall:*/ uniffiMakeCall,
210
+ /*handleSuccess:*/ uniffiHandleSuccess,
211
+ /*handleError:*/ uniffiHandleError,
212
+ /*lowerString:*/ FfiConverterString.lower
213
+ );
214
+ return uniffiResult;
215
+ },
216
+ uniffiFree: (uniffiHandle: UniffiHandle): void => {
217
+ // BarkLogger: this will throw a stale handle error if the handle isn't found.
218
+ FfiConverterTypeBarkLogger.drop(uniffiHandle);
219
+ },
220
+ uniffiClone: (uniffiHandle: UniffiHandle): UniffiHandle => {
221
+ return FfiConverterTypeBarkLogger.clone(uniffiHandle);
222
+ },
223
+ },
224
+ register: () => {
225
+ nativeModule().ubrn_uniffi_bark_ffi_fn_init_callback_vtable_barklogger(
226
+ uniffiCallbackInterfaceBarkLogger.vtable
227
+ );
228
+ },
229
+ };
230
+
231
+ // FfiConverter protocol for callback interfaces
232
+ const FfiConverterTypeBarkLogger = new FfiConverterCallback<BarkLogger>();
233
+
148
234
  /**
149
235
  * Callback interface for custom onchain wallet implementations
150
236
  *
@@ -3029,6 +3115,58 @@ const FfiConverterTypeBarkError = (() => {
3029
3115
  return new FFIConverter();
3030
3116
  })();
3031
3117
 
3118
+ /**
3119
+ * Severity of a log record forwarded to a foreign [BarkLogger].
3120
+ */
3121
+ export enum LogLevel {
3122
+ Error,
3123
+ Warn,
3124
+ Info,
3125
+ Debug,
3126
+ Trace,
3127
+ }
3128
+
3129
+ const FfiConverterTypeLogLevel = (() => {
3130
+ const ordinalConverter = FfiConverterInt32;
3131
+ type TypeName = LogLevel;
3132
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
3133
+ read(from: RustBuffer): TypeName {
3134
+ switch (ordinalConverter.read(from)) {
3135
+ case 1:
3136
+ return LogLevel.Error;
3137
+ case 2:
3138
+ return LogLevel.Warn;
3139
+ case 3:
3140
+ return LogLevel.Info;
3141
+ case 4:
3142
+ return LogLevel.Debug;
3143
+ case 5:
3144
+ return LogLevel.Trace;
3145
+ default:
3146
+ throw new UniffiInternalError.UnexpectedEnumCase();
3147
+ }
3148
+ }
3149
+ write(value: TypeName, into: RustBuffer): void {
3150
+ switch (value) {
3151
+ case LogLevel.Error:
3152
+ return ordinalConverter.write(1, into);
3153
+ case LogLevel.Warn:
3154
+ return ordinalConverter.write(2, into);
3155
+ case LogLevel.Info:
3156
+ return ordinalConverter.write(3, into);
3157
+ case LogLevel.Debug:
3158
+ return ordinalConverter.write(4, into);
3159
+ case LogLevel.Trace:
3160
+ return ordinalConverter.write(5, into);
3161
+ }
3162
+ }
3163
+ allocationSize(value: TypeName): number {
3164
+ return ordinalConverter.allocationSize(0);
3165
+ }
3166
+ }
3167
+ return new FFIConverter();
3168
+ })();
3169
+
3032
3170
  /**
3033
3171
  * Bitcoin network types
3034
3172
  */
@@ -3916,6 +4054,7 @@ export interface WalletLike {
3916
4054
  ): /*throws*/ Promise<PendingBoard>;
3917
4055
  bolt11Invoice(
3918
4056
  amountSats: /*u64*/ bigint,
4057
+ description: string | undefined,
3919
4058
  asyncOpts_?: { signal: AbortSignal }
3920
4059
  ): /*throws*/ Promise<LightningInvoice>;
3921
4060
  /**
@@ -5045,6 +5184,7 @@ export class Wallet extends UniffiAbstractObject implements WalletLike {
5045
5184
 
5046
5185
  async bolt11Invoice(
5047
5186
  amountSats: /*u64*/ bigint,
5187
+ description: string | undefined,
5048
5188
  asyncOpts_?: { signal: AbortSignal }
5049
5189
  ): Promise<LightningInvoice> /*throws*/ {
5050
5190
  const __stack = uniffiIsDebug ? new Error().stack : undefined;
@@ -5054,7 +5194,8 @@ export class Wallet extends UniffiAbstractObject implements WalletLike {
5054
5194
  /*rustFutureFunc:*/ () => {
5055
5195
  return nativeModule().ubrn_uniffi_bark_ffi_fn_method_wallet_bolt11_invoice(
5056
5196
  uniffiTypeWalletObjectFactory.clonePointer(this),
5057
- FfiConverterUInt64.lower(amountSats)
5197
+ FfiConverterUInt64.lower(amountSats),
5198
+ FfiConverterOptionalString.lower(description)
5058
5199
  );
5059
5200
  },
5060
5201
  /*pollFunc:*/ nativeModule()
@@ -8508,6 +8649,13 @@ function uniffiEnsureInitialized() {
8508
8649
  "uniffi_bark_ffi_checksum_func_generate_mnemonic"
8509
8650
  );
8510
8651
  }
8652
+ if (
8653
+ nativeModule().ubrn_uniffi_bark_ffi_checksum_func_set_logger() !== 62790
8654
+ ) {
8655
+ throw new UniffiInternalError.ApiChecksumMismatch(
8656
+ "uniffi_bark_ffi_checksum_func_set_logger"
8657
+ );
8658
+ }
8511
8659
  if (
8512
8660
  nativeModule().ubrn_uniffi_bark_ffi_checksum_func_validate_ark_address() !==
8513
8661
  49932
@@ -8622,7 +8770,7 @@ function uniffiEnsureInitialized() {
8622
8770
  }
8623
8771
  if (
8624
8772
  nativeModule().ubrn_uniffi_bark_ffi_checksum_method_wallet_bolt11_invoice() !==
8625
- 8901
8773
+ 47558
8626
8774
  ) {
8627
8775
  throw new UniffiInternalError.ApiChecksumMismatch(
8628
8776
  "uniffi_bark_ffi_checksum_method_wallet_bolt11_invoice"
@@ -9314,6 +9462,14 @@ function uniffiEnsureInitialized() {
9314
9462
  "uniffi_bark_ffi_checksum_constructor_wallet_open_with_onchain"
9315
9463
  );
9316
9464
  }
9465
+ if (
9466
+ nativeModule().ubrn_uniffi_bark_ffi_checksum_method_barklogger_log() !==
9467
+ 1414
9468
+ ) {
9469
+ throw new UniffiInternalError.ApiChecksumMismatch(
9470
+ "uniffi_bark_ffi_checksum_method_barklogger_log"
9471
+ );
9472
+ }
9317
9473
  if (
9318
9474
  nativeModule().ubrn_uniffi_bark_ffi_checksum_method_customonchainwalletcallbacks_get_balance() !==
9319
9475
  16407
@@ -9387,6 +9543,7 @@ function uniffiEnsureInitialized() {
9387
9543
  );
9388
9544
  }
9389
9545
 
9546
+ uniffiCallbackInterfaceBarkLogger.register();
9390
9547
  uniffiCallbackInterfaceCustomOnchainWalletCallbacks.register();
9391
9548
  }
9392
9549
 
@@ -9409,6 +9566,7 @@ export default Object.freeze({
9409
9566
  FfiConverterTypeLightningInvoice,
9410
9567
  FfiConverterTypeLightningReceive,
9411
9568
  FfiConverterTypeLightningSend,
9569
+ FfiConverterTypeLogLevel,
9412
9570
  FfiConverterTypeMovement,
9413
9571
  FfiConverterTypeNetwork,
9414
9572
  FfiConverterTypeNotificationHolder,
package/src/index.tsx CHANGED
@@ -42,3 +42,6 @@ export default {
42
42
 
43
43
  // Hand-written helpers (appended by patch-bindings.sh).
44
44
  export * from './WalletNotifications';
45
+
46
+ // Hand-written helpers (appended by patch-bindings.sh).
47
+ export * from './Logger';