@breeztech/breez-sdk-spark-react-native 0.20.0-dev1 → 0.21.0

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/BreezSdkSparkReactNative.podspec +6 -0
  2. package/cpp/generated/breez_sdk_spark.cpp +168 -11
  3. package/cpp/generated/breez_sdk_spark.hpp +21 -0
  4. package/lib/commonjs/generated/breez_sdk_spark-ffi.js.map +1 -1
  5. package/lib/commonjs/generated/breez_sdk_spark.js +225 -35
  6. package/lib/commonjs/generated/breez_sdk_spark.js.map +1 -1
  7. package/lib/commonjs/passkey-prf-provider.js +31 -11
  8. package/lib/commonjs/passkey-prf-provider.js.map +1 -1
  9. package/lib/module/generated/breez_sdk_spark-ffi.js.map +1 -1
  10. package/lib/module/generated/breez_sdk_spark.js +224 -34
  11. package/lib/module/generated/breez_sdk_spark.js.map +1 -1
  12. package/lib/module/passkey-prf-provider.js +31 -11
  13. package/lib/module/passkey-prf-provider.js.map +1 -1
  14. package/lib/typescript/commonjs/src/generated/breez_sdk_spark-ffi.d.ts +8 -2
  15. package/lib/typescript/commonjs/src/generated/breez_sdk_spark-ffi.d.ts.map +1 -1
  16. package/lib/typescript/commonjs/src/generated/breez_sdk_spark.d.ts +811 -26
  17. package/lib/typescript/commonjs/src/generated/breez_sdk_spark.d.ts.map +1 -1
  18. package/lib/typescript/commonjs/src/passkey-prf-provider.d.ts +24 -6
  19. package/lib/typescript/commonjs/src/passkey-prf-provider.d.ts.map +1 -1
  20. package/lib/typescript/module/src/generated/breez_sdk_spark-ffi.d.ts +8 -2
  21. package/lib/typescript/module/src/generated/breez_sdk_spark-ffi.d.ts.map +1 -1
  22. package/lib/typescript/module/src/generated/breez_sdk_spark.d.ts +811 -26
  23. package/lib/typescript/module/src/generated/breez_sdk_spark.d.ts.map +1 -1
  24. package/lib/typescript/module/src/passkey-prf-provider.d.ts +24 -6
  25. package/lib/typescript/module/src/passkey-prf-provider.d.ts.map +1 -1
  26. package/package.json +4 -4
  27. package/plugin/build/index.d.ts +1 -1
  28. package/plugin/build/index.js +3 -1
  29. package/plugin/build/withAndroid.d.ts +1 -1
  30. package/plugin/build/withAndroid.js +1 -1
  31. package/plugin/build/withBinaryArtifacts.d.ts +1 -1
  32. package/plugin/build/withBinaryArtifacts.js +1 -1
  33. package/plugin/build/withIOS.d.ts +1 -1
  34. package/plugin/build/withIOS.js +1 -1
  35. package/scripts/post-ubrn.js +42 -0
  36. package/src/generated/breez_sdk_spark-ffi.ts +18 -1
  37. package/src/generated/breez_sdk_spark.ts +1303 -36
  38. package/src/passkey-prf-provider.ts +41 -12
@@ -335,6 +335,76 @@ export declare const AuthorizeTransferRequest: Readonly<{
335
335
  */
336
336
  defaults: () => Partial<AuthorizeTransferRequest>;
337
337
  }>;
338
+ /**
339
+ * A single payee in a batch send.
340
+ */
341
+ export type BatchRecipient = {
342
+ /**
343
+ * Spark address or Spark invoice identifying the payee.
344
+ */
345
+ paymentRequest: string;
346
+ /**
347
+ * Amount to send, in the base units of the asset being sent. Required
348
+ * unless `payment_request` is an invoice that carries its own amount.
349
+ */
350
+ amount: U128 | undefined;
351
+ /**
352
+ * Token to send. Unset means sats, which a batch cannot send yet, so a
353
+ * plain address needs this set. An invoice that names a token does not.
354
+ */
355
+ tokenIdentifier: string | undefined;
356
+ };
357
+ /**
358
+ * Generated factory for {@link BatchRecipient} record objects.
359
+ */
360
+ export declare const BatchRecipient: Readonly<{
361
+ /**
362
+ * Create a frozen instance of {@link BatchRecipient}, with defaults specified
363
+ * in Rust, in the {@link breez_sdk_spark} crate.
364
+ */
365
+ create: (partial: Partial<BatchRecipient> & Required<Omit<BatchRecipient, "amount" | "tokenIdentifier">>) => BatchRecipient;
366
+ /**
367
+ * Create a frozen instance of {@link BatchRecipient}, with defaults specified
368
+ * in Rust, in the {@link breez_sdk_spark} crate.
369
+ */
370
+ new: (partial: Partial<BatchRecipient> & Required<Omit<BatchRecipient, "amount" | "tokenIdentifier">>) => BatchRecipient;
371
+ /**
372
+ * Defaults specified in the {@link breez_sdk_spark} crate.
373
+ */
374
+ defaults: () => Partial<BatchRecipient>;
375
+ }>;
376
+ /**
377
+ * What a batch debits for one asset.
378
+ */
379
+ export type BatchTotal = {
380
+ /**
381
+ * The token debited. Unset means sats, which a batch cannot send yet.
382
+ */
383
+ tokenIdentifier: string | undefined;
384
+ /**
385
+ * Amount in the asset's base units.
386
+ */
387
+ amount: U128;
388
+ };
389
+ /**
390
+ * Generated factory for {@link BatchTotal} record objects.
391
+ */
392
+ export declare const BatchTotal: Readonly<{
393
+ /**
394
+ * Create a frozen instance of {@link BatchTotal}, with defaults specified
395
+ * in Rust, in the {@link breez_sdk_spark} crate.
396
+ */
397
+ create: (partial: Partial<BatchTotal> & Required<Omit<BatchTotal, never>>) => BatchTotal;
398
+ /**
399
+ * Create a frozen instance of {@link BatchTotal}, with defaults specified
400
+ * in Rust, in the {@link breez_sdk_spark} crate.
401
+ */
402
+ new: (partial: Partial<BatchTotal> & Required<Omit<BatchTotal, never>>) => BatchTotal;
403
+ /**
404
+ * Defaults specified in the {@link breez_sdk_spark} crate.
405
+ */
406
+ defaults: () => Partial<BatchTotal>;
407
+ }>;
338
408
  export type Bip21Details = {
339
409
  amountSat: /*u64*/ bigint | undefined;
340
410
  assetId: string | undefined;
@@ -674,6 +744,28 @@ export declare const Bolt12OfferDetails: Readonly<{
674
744
  */
675
745
  defaults: () => Partial<Bolt12OfferDetails>;
676
746
  }>;
747
+ export type BuildUnsignedBatchPackageRequest = {
748
+ prepareResponse: PrepareSendBatchResponse;
749
+ };
750
+ /**
751
+ * Generated factory for {@link BuildUnsignedBatchPackageRequest} record objects.
752
+ */
753
+ export declare const BuildUnsignedBatchPackageRequest: Readonly<{
754
+ /**
755
+ * Create a frozen instance of {@link BuildUnsignedBatchPackageRequest}, with defaults specified
756
+ * in Rust, in the {@link breez_sdk_spark} crate.
757
+ */
758
+ create: (partial: Partial<BuildUnsignedBatchPackageRequest> & Required<Omit<BuildUnsignedBatchPackageRequest, never>>) => BuildUnsignedBatchPackageRequest;
759
+ /**
760
+ * Create a frozen instance of {@link BuildUnsignedBatchPackageRequest}, with defaults specified
761
+ * in Rust, in the {@link breez_sdk_spark} crate.
762
+ */
763
+ new: (partial: Partial<BuildUnsignedBatchPackageRequest> & Required<Omit<BuildUnsignedBatchPackageRequest, never>>) => BuildUnsignedBatchPackageRequest;
764
+ /**
765
+ * Defaults specified in the {@link breez_sdk_spark} crate.
766
+ */
767
+ defaults: () => Partial<BuildUnsignedBatchPackageRequest>;
768
+ }>;
677
769
  export type BuildUnsignedLnurlPayPackageRequest = {
678
770
  prepareResponse: PrepareLnurlPayResponse;
679
771
  };
@@ -1609,6 +1701,42 @@ export declare const CreateIssuerTokenRequest: Readonly<{
1609
1701
  */
1610
1702
  defaults: () => Partial<CreateIssuerTokenRequest>;
1611
1703
  }>;
1704
+ /**
1705
+ * A newly created credential, plus the PRF outputs when the platform
1706
+ * evaluated them during the create ceremony itself.
1707
+ *
1708
+ * `seeds` present means no assertion is needed: the caller skips the
1709
+ * second ceremony, and with it the window in which a credential exists
1710
+ * but is not yet resolvable. Absent means the platform returned no PRF
1711
+ * results at create (or dropped one of a pair), so the caller derives
1712
+ * through [`super::PrfProvider::derive_seeds`] as before.
1713
+ */
1714
+ export type CreatePasskeyOutput = {
1715
+ credential: PasskeyCredential;
1716
+ /**
1717
+ * One output per requested salt, in request order.
1718
+ */
1719
+ seeds: Array<ArrayBuffer> | undefined;
1720
+ };
1721
+ /**
1722
+ * Generated factory for {@link CreatePasskeyOutput} record objects.
1723
+ */
1724
+ export declare const CreatePasskeyOutput: Readonly<{
1725
+ /**
1726
+ * Create a frozen instance of {@link CreatePasskeyOutput}, with defaults specified
1727
+ * in Rust, in the {@link breez_sdk_spark} crate.
1728
+ */
1729
+ create: (partial: Partial<CreatePasskeyOutput> & Required<Omit<CreatePasskeyOutput, never>>) => CreatePasskeyOutput;
1730
+ /**
1731
+ * Create a frozen instance of {@link CreatePasskeyOutput}, with defaults specified
1732
+ * in Rust, in the {@link breez_sdk_spark} crate.
1733
+ */
1734
+ new: (partial: Partial<CreatePasskeyOutput> & Required<Omit<CreatePasskeyOutput, never>>) => CreatePasskeyOutput;
1735
+ /**
1736
+ * Defaults specified in the {@link breez_sdk_spark} crate.
1737
+ */
1738
+ defaults: () => Partial<CreatePasskeyOutput>;
1739
+ }>;
1612
1740
  export type Credentials = {
1613
1741
  username: string;
1614
1742
  password: string;
@@ -4612,6 +4740,63 @@ export declare const PrepareLnurlPayResponse: Readonly<{
4612
4740
  */
4613
4741
  defaults: () => Partial<PrepareLnurlPayResponse>;
4614
4742
  }>;
4743
+ export type PrepareSendBatchRequest = {
4744
+ /**
4745
+ * The payees, all paid by one transaction. They may span several tokens,
4746
+ * and may mix Spark addresses with Spark invoices. Once a Spark invoice is
4747
+ * among them, every recipient must be paid in the same token.
4748
+ */
4749
+ recipients: Array<BatchRecipient>;
4750
+ };
4751
+ /**
4752
+ * Generated factory for {@link PrepareSendBatchRequest} record objects.
4753
+ */
4754
+ export declare const PrepareSendBatchRequest: Readonly<{
4755
+ /**
4756
+ * Create a frozen instance of {@link PrepareSendBatchRequest}, with defaults specified
4757
+ * in Rust, in the {@link breez_sdk_spark} crate.
4758
+ */
4759
+ create: (partial: Partial<PrepareSendBatchRequest> & Required<Omit<PrepareSendBatchRequest, never>>) => PrepareSendBatchRequest;
4760
+ /**
4761
+ * Create a frozen instance of {@link PrepareSendBatchRequest}, with defaults specified
4762
+ * in Rust, in the {@link breez_sdk_spark} crate.
4763
+ */
4764
+ new: (partial: Partial<PrepareSendBatchRequest> & Required<Omit<PrepareSendBatchRequest, never>>) => PrepareSendBatchRequest;
4765
+ /**
4766
+ * Defaults specified in the {@link breez_sdk_spark} crate.
4767
+ */
4768
+ defaults: () => Partial<PrepareSendBatchRequest>;
4769
+ }>;
4770
+ export type PrepareSendBatchResponse = {
4771
+ /**
4772
+ * The payees in the order they were requested, which is the order their
4773
+ * payments come back in.
4774
+ */
4775
+ recipients: Array<ResolvedBatchRecipient>;
4776
+ /**
4777
+ * What the batch debits, one entry per distinct asset.
4778
+ */
4779
+ totals: Array<BatchTotal>;
4780
+ };
4781
+ /**
4782
+ * Generated factory for {@link PrepareSendBatchResponse} record objects.
4783
+ */
4784
+ export declare const PrepareSendBatchResponse: Readonly<{
4785
+ /**
4786
+ * Create a frozen instance of {@link PrepareSendBatchResponse}, with defaults specified
4787
+ * in Rust, in the {@link breez_sdk_spark} crate.
4788
+ */
4789
+ create: (partial: Partial<PrepareSendBatchResponse> & Required<Omit<PrepareSendBatchResponse, never>>) => PrepareSendBatchResponse;
4790
+ /**
4791
+ * Create a frozen instance of {@link PrepareSendBatchResponse}, with defaults specified
4792
+ * in Rust, in the {@link breez_sdk_spark} crate.
4793
+ */
4794
+ new: (partial: Partial<PrepareSendBatchResponse> & Required<Omit<PrepareSendBatchResponse, never>>) => PrepareSendBatchResponse;
4795
+ /**
4796
+ * Defaults specified in the {@link breez_sdk_spark} crate.
4797
+ */
4798
+ defaults: () => Partial<PrepareSendBatchResponse>;
4799
+ }>;
4615
4800
  export type PrepareSendPaymentRequest = {
4616
4801
  paymentRequest: PaymentRequest;
4617
4802
  /**
@@ -5343,6 +5528,40 @@ export declare const RegisterWebhookResponse: Readonly<{
5343
5528
  */
5344
5529
  defaults: () => Partial<RegisterWebhookResponse>;
5345
5530
  }>;
5531
+ /**
5532
+ * A recipient after prepare has resolved the asset and amount it is owed.
5533
+ */
5534
+ export type ResolvedBatchRecipient = {
5535
+ destination: BatchDestination;
5536
+ /**
5537
+ * Amount in the base units of the asset this recipient is paid in.
5538
+ */
5539
+ amount: U128;
5540
+ /**
5541
+ * The token this recipient is paid in. Unset means sats, which a batch
5542
+ * cannot send yet.
5543
+ */
5544
+ tokenIdentifier: string | undefined;
5545
+ };
5546
+ /**
5547
+ * Generated factory for {@link ResolvedBatchRecipient} record objects.
5548
+ */
5549
+ export declare const ResolvedBatchRecipient: Readonly<{
5550
+ /**
5551
+ * Create a frozen instance of {@link ResolvedBatchRecipient}, with defaults specified
5552
+ * in Rust, in the {@link breez_sdk_spark} crate.
5553
+ */
5554
+ create: (partial: Partial<ResolvedBatchRecipient> & Required<Omit<ResolvedBatchRecipient, never>>) => ResolvedBatchRecipient;
5555
+ /**
5556
+ * Create a frozen instance of {@link ResolvedBatchRecipient}, with defaults specified
5557
+ * in Rust, in the {@link breez_sdk_spark} crate.
5558
+ */
5559
+ new: (partial: Partial<ResolvedBatchRecipient> & Required<Omit<ResolvedBatchRecipient, never>>) => ResolvedBatchRecipient;
5560
+ /**
5561
+ * Defaults specified in the {@link breez_sdk_spark} crate.
5562
+ */
5563
+ defaults: () => Partial<ResolvedBatchRecipient>;
5564
+ }>;
5346
5565
  export type RestResponse = {
5347
5566
  status: number;
5348
5567
  body: string;
@@ -5470,6 +5689,54 @@ export declare const SecretBytes: Readonly<{
5470
5689
  */
5471
5690
  defaults: () => Partial<SecretBytes>;
5472
5691
  }>;
5692
+ export type SendBatchRequest = {
5693
+ prepareResponse: PrepareSendBatchResponse;
5694
+ };
5695
+ /**
5696
+ * Generated factory for {@link SendBatchRequest} record objects.
5697
+ */
5698
+ export declare const SendBatchRequest: Readonly<{
5699
+ /**
5700
+ * Create a frozen instance of {@link SendBatchRequest}, with defaults specified
5701
+ * in Rust, in the {@link breez_sdk_spark} crate.
5702
+ */
5703
+ create: (partial: Partial<SendBatchRequest> & Required<Omit<SendBatchRequest, never>>) => SendBatchRequest;
5704
+ /**
5705
+ * Create a frozen instance of {@link SendBatchRequest}, with defaults specified
5706
+ * in Rust, in the {@link breez_sdk_spark} crate.
5707
+ */
5708
+ new: (partial: Partial<SendBatchRequest> & Required<Omit<SendBatchRequest, never>>) => SendBatchRequest;
5709
+ /**
5710
+ * Defaults specified in the {@link breez_sdk_spark} crate.
5711
+ */
5712
+ defaults: () => Partial<SendBatchRequest>;
5713
+ }>;
5714
+ export type SendBatchResponse = {
5715
+ /**
5716
+ * One payment per recipient, in recipient order, all sharing a transaction
5717
+ * hash.
5718
+ */
5719
+ payments: Array<Payment>;
5720
+ };
5721
+ /**
5722
+ * Generated factory for {@link SendBatchResponse} record objects.
5723
+ */
5724
+ export declare const SendBatchResponse: Readonly<{
5725
+ /**
5726
+ * Create a frozen instance of {@link SendBatchResponse}, with defaults specified
5727
+ * in Rust, in the {@link breez_sdk_spark} crate.
5728
+ */
5729
+ create: (partial: Partial<SendBatchResponse> & Required<Omit<SendBatchResponse, never>>) => SendBatchResponse;
5730
+ /**
5731
+ * Create a frozen instance of {@link SendBatchResponse}, with defaults specified
5732
+ * in Rust, in the {@link breez_sdk_spark} crate.
5733
+ */
5734
+ new: (partial: Partial<SendBatchResponse> & Required<Omit<SendBatchResponse, never>>) => SendBatchResponse;
5735
+ /**
5736
+ * Defaults specified in the {@link breez_sdk_spark} crate.
5737
+ */
5738
+ defaults: () => Partial<SendBatchResponse>;
5739
+ }>;
5473
5740
  export type SendOnchainFeeQuote = {
5474
5741
  id: string;
5475
5742
  expiresAt: bigint;
@@ -7817,6 +8084,98 @@ export declare const AutoOptimizationEvent: Readonly<{
7817
8084
  };
7818
8085
  }>;
7819
8086
  export type AutoOptimizationEvent = InstanceType<(typeof AutoOptimizationEvent)[keyof Omit<typeof AutoOptimizationEvent, 'instanceOf'>]>;
8087
+ export declare enum BatchDestination_Tags {
8088
+ SparkAddress = "SparkAddress",
8089
+ SparkInvoice = "SparkInvoice"
8090
+ }
8091
+ /**
8092
+ * Where a batch recipient is paid, once prepare has decoded its payment request.
8093
+ */
8094
+ export declare const BatchDestination: Readonly<{
8095
+ instanceOf: (obj: any) => obj is BatchDestination;
8096
+ SparkAddress: {
8097
+ new (inner: {
8098
+ address: string;
8099
+ }): {
8100
+ readonly tag: BatchDestination_Tags.SparkAddress;
8101
+ readonly inner: Readonly<{
8102
+ address: string;
8103
+ }>;
8104
+ /**
8105
+ * @private
8106
+ * This field is private and should not be used, use `tag` instead.
8107
+ */
8108
+ readonly [uniffiTypeNameSymbol]: "BatchDestination";
8109
+ };
8110
+ "new"(inner: {
8111
+ address: string;
8112
+ }): {
8113
+ readonly tag: BatchDestination_Tags.SparkAddress;
8114
+ readonly inner: Readonly<{
8115
+ address: string;
8116
+ }>;
8117
+ /**
8118
+ * @private
8119
+ * This field is private and should not be used, use `tag` instead.
8120
+ */
8121
+ readonly [uniffiTypeNameSymbol]: "BatchDestination";
8122
+ };
8123
+ instanceOf(obj: any): obj is {
8124
+ readonly tag: BatchDestination_Tags.SparkAddress;
8125
+ readonly inner: Readonly<{
8126
+ address: string;
8127
+ }>;
8128
+ /**
8129
+ * @private
8130
+ * This field is private and should not be used, use `tag` instead.
8131
+ */
8132
+ readonly [uniffiTypeNameSymbol]: "BatchDestination";
8133
+ };
8134
+ };
8135
+ SparkInvoice: {
8136
+ new (inner: {
8137
+ invoiceDetails: SparkInvoiceDetails;
8138
+ }): {
8139
+ readonly tag: BatchDestination_Tags.SparkInvoice;
8140
+ readonly inner: Readonly<{
8141
+ invoiceDetails: SparkInvoiceDetails;
8142
+ }>;
8143
+ /**
8144
+ * @private
8145
+ * This field is private and should not be used, use `tag` instead.
8146
+ */
8147
+ readonly [uniffiTypeNameSymbol]: "BatchDestination";
8148
+ };
8149
+ "new"(inner: {
8150
+ invoiceDetails: SparkInvoiceDetails;
8151
+ }): {
8152
+ readonly tag: BatchDestination_Tags.SparkInvoice;
8153
+ readonly inner: Readonly<{
8154
+ invoiceDetails: SparkInvoiceDetails;
8155
+ }>;
8156
+ /**
8157
+ * @private
8158
+ * This field is private and should not be used, use `tag` instead.
8159
+ */
8160
+ readonly [uniffiTypeNameSymbol]: "BatchDestination";
8161
+ };
8162
+ instanceOf(obj: any): obj is {
8163
+ readonly tag: BatchDestination_Tags.SparkInvoice;
8164
+ readonly inner: Readonly<{
8165
+ invoiceDetails: SparkInvoiceDetails;
8166
+ }>;
8167
+ /**
8168
+ * @private
8169
+ * This field is private and should not be used, use `tag` instead.
8170
+ */
8171
+ readonly [uniffiTypeNameSymbol]: "BatchDestination";
8172
+ };
8173
+ };
8174
+ }>;
8175
+ /**
8176
+ * Where a batch recipient is paid, once prepare has decoded its payment request.
8177
+ */
8178
+ export type BatchDestination = InstanceType<(typeof BatchDestination)[keyof Omit<typeof BatchDestination, 'instanceOf'>]>;
7820
8179
  export declare enum BitcoinNetwork {
7821
8180
  /**
7822
8181
  * Mainnet
@@ -11468,6 +11827,7 @@ export declare enum PasskeyError_Tags {
11468
11827
  InvalidPrfOutput = "InvalidPrfOutput",
11469
11828
  MnemonicError = "MnemonicError",
11470
11829
  InvalidSalt = "InvalidSalt",
11830
+ CreatedButNotDerived = "CreatedButNotDerived",
11471
11831
  Generic = "Generic"
11472
11832
  }
11473
11833
  /**
@@ -12043,6 +12403,101 @@ export declare const PasskeyError: Readonly<{
12043
12403
  prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
12044
12404
  stackTraceLimit: number;
12045
12405
  };
12406
+ CreatedButNotDerived: {
12407
+ new (inner: {
12408
+ credentialId: ArrayBuffer;
12409
+ source: PrfProviderError;
12410
+ }): {
12411
+ readonly tag: PasskeyError_Tags.CreatedButNotDerived;
12412
+ readonly inner: Readonly<{
12413
+ credentialId: ArrayBuffer;
12414
+ source: PrfProviderError;
12415
+ }>;
12416
+ /**
12417
+ * @private
12418
+ * This field is private and should not be used, use `tag` instead.
12419
+ */
12420
+ readonly [uniffiTypeNameSymbol]: "PasskeyError";
12421
+ name: string;
12422
+ message: string;
12423
+ stack?: string;
12424
+ cause?: unknown;
12425
+ };
12426
+ "new"(inner: {
12427
+ credentialId: ArrayBuffer;
12428
+ source: PrfProviderError;
12429
+ }): {
12430
+ readonly tag: PasskeyError_Tags.CreatedButNotDerived;
12431
+ readonly inner: Readonly<{
12432
+ credentialId: ArrayBuffer;
12433
+ source: PrfProviderError;
12434
+ }>;
12435
+ /**
12436
+ * @private
12437
+ * This field is private and should not be used, use `tag` instead.
12438
+ */
12439
+ readonly [uniffiTypeNameSymbol]: "PasskeyError";
12440
+ name: string;
12441
+ message: string;
12442
+ stack?: string;
12443
+ cause?: unknown;
12444
+ };
12445
+ instanceOf(obj: any): obj is {
12446
+ readonly tag: PasskeyError_Tags.CreatedButNotDerived;
12447
+ readonly inner: Readonly<{
12448
+ credentialId: ArrayBuffer;
12449
+ source: PrfProviderError;
12450
+ }>;
12451
+ /**
12452
+ * @private
12453
+ * This field is private and should not be used, use `tag` instead.
12454
+ */
12455
+ readonly [uniffiTypeNameSymbol]: "PasskeyError";
12456
+ name: string;
12457
+ message: string;
12458
+ stack?: string;
12459
+ cause?: unknown;
12460
+ };
12461
+ hasInner(obj: any): obj is {
12462
+ readonly tag: PasskeyError_Tags.CreatedButNotDerived;
12463
+ readonly inner: Readonly<{
12464
+ credentialId: ArrayBuffer;
12465
+ source: PrfProviderError;
12466
+ }>;
12467
+ /**
12468
+ * @private
12469
+ * This field is private and should not be used, use `tag` instead.
12470
+ */
12471
+ readonly [uniffiTypeNameSymbol]: "PasskeyError";
12472
+ name: string;
12473
+ message: string;
12474
+ stack?: string;
12475
+ cause?: unknown;
12476
+ };
12477
+ getInner(obj: {
12478
+ readonly tag: PasskeyError_Tags.CreatedButNotDerived;
12479
+ readonly inner: Readonly<{
12480
+ credentialId: ArrayBuffer;
12481
+ source: PrfProviderError;
12482
+ }>;
12483
+ /**
12484
+ * @private
12485
+ * This field is private and should not be used, use `tag` instead.
12486
+ */
12487
+ readonly [uniffiTypeNameSymbol]: "PasskeyError";
12488
+ name: string;
12489
+ message: string;
12490
+ stack?: string;
12491
+ cause?: unknown;
12492
+ }): Readonly<{
12493
+ credentialId: ArrayBuffer;
12494
+ source: PrfProviderError;
12495
+ }>;
12496
+ isError(error: unknown): error is Error;
12497
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
12498
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
12499
+ stackTraceLimit: number;
12500
+ };
12046
12501
  Generic: {
12047
12502
  new (v0: string): {
12048
12503
  readonly tag: PasskeyError_Tags.Generic;
@@ -13822,7 +14277,8 @@ export declare const PublishSignedLnurlPayResponse: Readonly<{
13822
14277
  export type PublishSignedLnurlPayResponse = InstanceType<(typeof PublishSignedLnurlPayResponse)[keyof Omit<typeof PublishSignedLnurlPayResponse, 'instanceOf'>]>;
13823
14278
  export declare enum PublishSignedTransferPackageResponse_Tags {
13824
14279
  SwapCompleted = "SwapCompleted",
13825
- PaymentSent = "PaymentSent"
14280
+ PaymentSent = "PaymentSent",
14281
+ PaymentsSent = "PaymentsSent"
13826
14282
  }
13827
14283
  export declare const PublishSignedTransferPackageResponse: Readonly<{
13828
14284
  instanceOf: (obj: any) => obj is PublishSignedTransferPackageResponse;
@@ -13891,6 +14347,45 @@ export declare const PublishSignedTransferPackageResponse: Readonly<{
13891
14347
  readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
13892
14348
  };
13893
14349
  };
14350
+ PaymentsSent: {
14351
+ new (inner: {
14352
+ payments: Array<Payment>;
14353
+ }): {
14354
+ readonly tag: PublishSignedTransferPackageResponse_Tags.PaymentsSent;
14355
+ readonly inner: Readonly<{
14356
+ payments: Array<Payment>;
14357
+ }>;
14358
+ /**
14359
+ * @private
14360
+ * This field is private and should not be used, use `tag` instead.
14361
+ */
14362
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
14363
+ };
14364
+ "new"(inner: {
14365
+ payments: Array<Payment>;
14366
+ }): {
14367
+ readonly tag: PublishSignedTransferPackageResponse_Tags.PaymentsSent;
14368
+ readonly inner: Readonly<{
14369
+ payments: Array<Payment>;
14370
+ }>;
14371
+ /**
14372
+ * @private
14373
+ * This field is private and should not be used, use `tag` instead.
14374
+ */
14375
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
14376
+ };
14377
+ instanceOf(obj: any): obj is {
14378
+ readonly tag: PublishSignedTransferPackageResponse_Tags.PaymentsSent;
14379
+ readonly inner: Readonly<{
14380
+ payments: Array<Payment>;
14381
+ }>;
14382
+ /**
14383
+ * @private
14384
+ * This field is private and should not be used, use `tag` instead.
14385
+ */
14386
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
14387
+ };
14388
+ };
13894
14389
  }>;
13895
14390
  export type PublishSignedTransferPackageResponse = InstanceType<(typeof PublishSignedTransferPackageResponse)[keyof Omit<typeof PublishSignedTransferPackageResponse, 'instanceOf'>]>;
13896
14391
  export declare enum ReceivePaymentMethod_Tags {
@@ -14218,8 +14713,16 @@ export declare const SdkError: Readonly<{
14218
14713
  stackTraceLimit: number;
14219
14714
  };
14220
14715
  InsufficientFunds: {
14221
- new (): {
14716
+ new (inner: {
14717
+ /**
14718
+ * The token that cannot cover the payment. Unset when the shortfall is
14719
+ * in sats or when no single token can be named.
14720
+ */ tokenIdentifier: string | undefined;
14721
+ }): {
14222
14722
  readonly tag: SdkError_Tags.InsufficientFunds;
14723
+ readonly inner: Readonly<{
14724
+ tokenIdentifier: string | undefined;
14725
+ }>;
14223
14726
  /**
14224
14727
  * @private
14225
14728
  * This field is private and should not be used, use `tag` instead.
@@ -14230,8 +14733,16 @@ export declare const SdkError: Readonly<{
14230
14733
  stack?: string;
14231
14734
  cause?: unknown;
14232
14735
  };
14233
- "new"(): {
14736
+ "new"(inner: {
14737
+ /**
14738
+ * The token that cannot cover the payment. Unset when the shortfall is
14739
+ * in sats or when no single token can be named.
14740
+ */ tokenIdentifier: string | undefined;
14741
+ }): {
14234
14742
  readonly tag: SdkError_Tags.InsufficientFunds;
14743
+ readonly inner: Readonly<{
14744
+ tokenIdentifier: string | undefined;
14745
+ }>;
14235
14746
  /**
14236
14747
  * @private
14237
14748
  * This field is private and should not be used, use `tag` instead.
@@ -14244,6 +14755,9 @@ export declare const SdkError: Readonly<{
14244
14755
  };
14245
14756
  instanceOf(obj: any): obj is {
14246
14757
  readonly tag: SdkError_Tags.InsufficientFunds;
14758
+ readonly inner: Readonly<{
14759
+ tokenIdentifier: string | undefined;
14760
+ }>;
14247
14761
  /**
14248
14762
  * @private
14249
14763
  * This field is private and should not be used, use `tag` instead.
@@ -14256,6 +14770,9 @@ export declare const SdkError: Readonly<{
14256
14770
  };
14257
14771
  hasInner(obj: any): obj is {
14258
14772
  readonly tag: SdkError_Tags.InsufficientFunds;
14773
+ readonly inner: Readonly<{
14774
+ tokenIdentifier: string | undefined;
14775
+ }>;
14259
14776
  /**
14260
14777
  * @private
14261
14778
  * This field is private and should not be used, use `tag` instead.
@@ -14266,6 +14783,23 @@ export declare const SdkError: Readonly<{
14266
14783
  stack?: string;
14267
14784
  cause?: unknown;
14268
14785
  };
14786
+ getInner(obj: {
14787
+ readonly tag: SdkError_Tags.InsufficientFunds;
14788
+ readonly inner: Readonly<{
14789
+ tokenIdentifier: string | undefined;
14790
+ }>;
14791
+ /**
14792
+ * @private
14793
+ * This field is private and should not be used, use `tag` instead.
14794
+ */
14795
+ readonly [uniffiTypeNameSymbol]: "SdkError";
14796
+ name: string;
14797
+ message: string;
14798
+ stack?: string;
14799
+ cause?: unknown;
14800
+ }): Readonly<{
14801
+ tokenIdentifier: string | undefined;
14802
+ }>;
14269
14803
  isError(error: unknown): error is Error;
14270
14804
  captureStackTrace(targetObject: object, constructorOpt?: Function): void;
14271
14805
  prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
@@ -19139,7 +19673,8 @@ export declare enum UnilateralExitTxKind {
19139
19673
  export declare enum UnsignedTransferPackage_Tags {
19140
19674
  Swap = "Swap",
19141
19675
  Transfer = "Transfer",
19142
- Token = "Token"
19676
+ Token = "Token",
19677
+ TokenBatch = "TokenBatch"
19143
19678
  }
19144
19679
  export declare const UnsignedTransferPackage: Readonly<{
19145
19680
  instanceOf: (obj: any) => obj is UnsignedTransferPackage;
@@ -19323,6 +19858,74 @@ export declare const UnsignedTransferPackage: Readonly<{
19323
19858
  readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
19324
19859
  };
19325
19860
  };
19861
+ TokenBatch: {
19862
+ new (inner: {
19863
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
19864
+ tokenContext: ArrayBuffer;
19865
+ /**
19866
+ * What the batch debits, per token. A batch spanning tokens has no
19867
+ * single amount to report.
19868
+ */ totals: Array<BatchTotal>;
19869
+ /**
19870
+ * When set, this package re-shapes the wallet's token outputs instead of
19871
+ * sending a payment. Publishing it returns `SwapCompleted`: rebuild the
19872
+ * original send from the same prepare response and submit again.
19873
+ */ isSwap: boolean;
19874
+ }): {
19875
+ readonly tag: UnsignedTransferPackage_Tags.TokenBatch;
19876
+ readonly inner: Readonly<{
19877
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
19878
+ tokenContext: ArrayBuffer;
19879
+ totals: Array<BatchTotal>;
19880
+ isSwap: boolean;
19881
+ }>;
19882
+ /**
19883
+ * @private
19884
+ * This field is private and should not be used, use `tag` instead.
19885
+ */
19886
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
19887
+ };
19888
+ "new"(inner: {
19889
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
19890
+ tokenContext: ArrayBuffer;
19891
+ /**
19892
+ * What the batch debits, per token. A batch spanning tokens has no
19893
+ * single amount to report.
19894
+ */ totals: Array<BatchTotal>;
19895
+ /**
19896
+ * When set, this package re-shapes the wallet's token outputs instead of
19897
+ * sending a payment. Publishing it returns `SwapCompleted`: rebuild the
19898
+ * original send from the same prepare response and submit again.
19899
+ */ isSwap: boolean;
19900
+ }): {
19901
+ readonly tag: UnsignedTransferPackage_Tags.TokenBatch;
19902
+ readonly inner: Readonly<{
19903
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
19904
+ tokenContext: ArrayBuffer;
19905
+ totals: Array<BatchTotal>;
19906
+ isSwap: boolean;
19907
+ }>;
19908
+ /**
19909
+ * @private
19910
+ * This field is private and should not be used, use `tag` instead.
19911
+ */
19912
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
19913
+ };
19914
+ instanceOf(obj: any): obj is {
19915
+ readonly tag: UnsignedTransferPackage_Tags.TokenBatch;
19916
+ readonly inner: Readonly<{
19917
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
19918
+ tokenContext: ArrayBuffer;
19919
+ totals: Array<BatchTotal>;
19920
+ isSwap: boolean;
19921
+ }>;
19922
+ /**
19923
+ * @private
19924
+ * This field is private and should not be used, use `tag` instead.
19925
+ */
19926
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
19927
+ };
19928
+ };
19326
19929
  }>;
19327
19930
  export type UnsignedTransferPackage = InstanceType<(typeof UnsignedTransferPackage)[keyof Omit<typeof UnsignedTransferPackage, 'instanceOf'>]>;
19328
19931
  export declare enum UpdateDepositPayload_Tags {
@@ -19681,6 +20284,16 @@ export interface BreezSdkInterface {
19681
20284
  authorizeLightningAddressTransfer(request: AuthorizeTransferRequest, asyncOpts_?: {
19682
20285
  signal: AbortSignal;
19683
20286
  }): Promise<TransferAuthorization>;
20287
+ /**
20288
+ * Builds the unsigned package for the batch prepared by
20289
+ * [`BreezSdk::prepare_send_batch`], for signing outside the SDK.
20290
+ *
20291
+ * Publish the signed package with
20292
+ * [`BreezSdk::publish_signed_transfer_package`], which returns every payment.
20293
+ */
20294
+ buildUnsignedBatchPackage(request: BuildUnsignedBatchPackageRequest, asyncOpts_?: {
20295
+ signal: AbortSignal;
20296
+ }): Promise<UnsignedTransferPackage>;
19684
20297
  buildUnsignedLnurlPayPackage(request: BuildUnsignedLnurlPayPackageRequest, asyncOpts_?: {
19685
20298
  signal: AbortSignal;
19686
20299
  }): Promise<UnsignedTransferPackage>;
@@ -19936,6 +20549,23 @@ export interface BreezSdkInterface {
19936
20549
  prepareLnurlPay(request: PrepareLnurlPayRequest, asyncOpts_?: {
19937
20550
  signal: AbortSignal;
19938
20551
  }): Promise<PrepareLnurlPayResponse>;
20552
+ /**
20553
+ * Prepares a send to several payees, all paid by one transaction.
20554
+ *
20555
+ * Each recipient is a Spark address or a Spark invoice, and one batch may
20556
+ * span several tokens. The response resolves every invoice into the asset
20557
+ * and amount it requests, and reports what the batch debits per asset.
20558
+ *
20559
+ * A batch pays tokens: sending sats to several payees at once is not
20560
+ * supported yet, so a recipient that resolves to sats is rejected.
20561
+ *
20562
+ * A batch that pays a Spark invoice is limited to a single token: the
20563
+ * operators reject a transaction that carries an invoice and pays more
20564
+ * than one. Send those as one batch per token.
20565
+ */
20566
+ prepareSendBatch(request: PrepareSendBatchRequest, asyncOpts_?: {
20567
+ signal: AbortSignal;
20568
+ }): Promise<PrepareSendBatchResponse>;
19939
20569
  prepareSendPayment(request: PrepareSendPaymentRequest, asyncOpts_?: {
19940
20570
  signal: AbortSignal;
19941
20571
  }): Promise<PrepareSendPaymentResponse>;
@@ -20015,6 +20645,19 @@ export interface BreezSdkInterface {
20015
20645
  removeEventListener(id: string, asyncOpts_?: {
20016
20646
  signal: AbortSignal;
20017
20647
  }): Promise<boolean>;
20648
+ /**
20649
+ * Sends the batch prepared by [`BreezSdk::prepare_send_batch`], returning
20650
+ * one payment per recipient in recipient order.
20651
+ *
20652
+ * Retrying after a failure that leaves the outcome unknown may pay twice:
20653
+ * a token transfer has no idempotency key, since the operator can only be
20654
+ * asked about a transaction by a hash that is computed while broadcasting.
20655
+ * Look for the batch with a `Token` payment details filter on the
20656
+ * transaction hash before sending it again.
20657
+ */
20658
+ sendBatch(request: SendBatchRequest, asyncOpts_?: {
20659
+ signal: AbortSignal;
20660
+ }): Promise<SendBatchResponse>;
20018
20661
  sendPayment(request: SendPaymentRequest, asyncOpts_?: {
20019
20662
  signal: AbortSignal;
20020
20663
  }): Promise<SendPaymentResponse>;
@@ -20135,6 +20778,16 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
20135
20778
  authorizeLightningAddressTransfer(request: AuthorizeTransferRequest, asyncOpts_?: {
20136
20779
  signal: AbortSignal;
20137
20780
  }): Promise<TransferAuthorization>;
20781
+ /**
20782
+ * Builds the unsigned package for the batch prepared by
20783
+ * [`BreezSdk::prepare_send_batch`], for signing outside the SDK.
20784
+ *
20785
+ * Publish the signed package with
20786
+ * [`BreezSdk::publish_signed_transfer_package`], which returns every payment.
20787
+ */
20788
+ buildUnsignedBatchPackage(request: BuildUnsignedBatchPackageRequest, asyncOpts_?: {
20789
+ signal: AbortSignal;
20790
+ }): Promise<UnsignedTransferPackage>;
20138
20791
  buildUnsignedLnurlPayPackage(request: BuildUnsignedLnurlPayPackageRequest, asyncOpts_?: {
20139
20792
  signal: AbortSignal;
20140
20793
  }): Promise<UnsignedTransferPackage>;
@@ -20390,6 +21043,23 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
20390
21043
  prepareLnurlPay(request: PrepareLnurlPayRequest, asyncOpts_?: {
20391
21044
  signal: AbortSignal;
20392
21045
  }): Promise<PrepareLnurlPayResponse>;
21046
+ /**
21047
+ * Prepares a send to several payees, all paid by one transaction.
21048
+ *
21049
+ * Each recipient is a Spark address or a Spark invoice, and one batch may
21050
+ * span several tokens. The response resolves every invoice into the asset
21051
+ * and amount it requests, and reports what the batch debits per asset.
21052
+ *
21053
+ * A batch pays tokens: sending sats to several payees at once is not
21054
+ * supported yet, so a recipient that resolves to sats is rejected.
21055
+ *
21056
+ * A batch that pays a Spark invoice is limited to a single token: the
21057
+ * operators reject a transaction that carries an invoice and pays more
21058
+ * than one. Send those as one batch per token.
21059
+ */
21060
+ prepareSendBatch(request: PrepareSendBatchRequest, asyncOpts_?: {
21061
+ signal: AbortSignal;
21062
+ }): Promise<PrepareSendBatchResponse>;
20393
21063
  prepareSendPayment(request: PrepareSendPaymentRequest, asyncOpts_?: {
20394
21064
  signal: AbortSignal;
20395
21065
  }): Promise<PrepareSendPaymentResponse>;
@@ -20469,6 +21139,19 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
20469
21139
  removeEventListener(id: string, asyncOpts_?: {
20470
21140
  signal: AbortSignal;
20471
21141
  }): Promise<boolean>;
21142
+ /**
21143
+ * Sends the batch prepared by [`BreezSdk::prepare_send_batch`], returning
21144
+ * one payment per recipient in recipient order.
21145
+ *
21146
+ * Retrying after a failure that leaves the outcome unknown may pay twice:
21147
+ * a token transfer has no idempotency key, since the operator can only be
21148
+ * asked about a transaction by a hash that is computed while broadcasting.
21149
+ * Look for the batch with a `Token` payment details filter on the
21150
+ * transaction hash before sending it again.
21151
+ */
21152
+ sendBatch(request: SendBatchRequest, asyncOpts_?: {
21153
+ signal: AbortSignal;
21154
+ }): Promise<SendBatchResponse>;
20472
21155
  sendPayment(request: SendPaymentRequest, asyncOpts_?: {
20473
21156
  signal: AbortSignal;
20474
21157
  }): Promise<SendPaymentResponse>;
@@ -21281,10 +21964,12 @@ export interface PasskeyClientInterface {
21281
21964
  */
21282
21965
  labels(): PasskeyLabelsInterface;
21283
21966
  /**
21284
- * First-time setup. Drives [`PrfProvider::create_passkey`] (one
21285
- * ceremony) followed by the wallet-derivation flow that backs
21286
- * [`Passkey::setup_wallet`] (one ceremony, dual-salt where
21287
- * supported). The label is always published on success.
21967
+ * First-time setup. Drives [`PrfProvider::create_passkey`], which
21968
+ * returns the seeds inline where the platform evaluates PRF during
21969
+ * the create ceremony; otherwise the wallet-derivation flow behind
21970
+ * [`Passkey::setup_wallet`] runs as a second ceremony. The label is
21971
+ * validated before anything is created, and published in the
21972
+ * background: it may still be in flight when this returns `Ok`.
21288
21973
  */
21289
21974
  register(request: RegisterRequest, asyncOpts_?: {
21290
21975
  signal: AbortSignal;
@@ -21360,10 +22045,12 @@ export declare class PasskeyClient extends UniffiAbstractObject implements Passk
21360
22045
  */
21361
22046
  labels(): PasskeyLabelsInterface;
21362
22047
  /**
21363
- * First-time setup. Drives [`PrfProvider::create_passkey`] (one
21364
- * ceremony) followed by the wallet-derivation flow that backs
21365
- * [`Passkey::setup_wallet`] (one ceremony, dual-salt where
21366
- * supported). The label is always published on success.
22048
+ * First-time setup. Drives [`PrfProvider::create_passkey`], which
22049
+ * returns the seeds inline where the platform evaluates PRF during
22050
+ * the create ceremony; otherwise the wallet-derivation flow behind
22051
+ * [`Passkey::setup_wallet`] runs as a second ceremony. The label is
22052
+ * validated before anything is created, and published in the
22053
+ * background: it may still be in flight when this returns `Ok`.
21367
22054
  */
21368
22055
  register(request: RegisterRequest, asyncOpts_?: {
21369
22056
  signal: AbortSignal;
@@ -21516,19 +22203,33 @@ export interface PrfProvider {
21516
22203
  signal: AbortSignal;
21517
22204
  }): Promise<boolean>;
21518
22205
  /**
21519
- * Explicit registration. Platform passkey providers override this to
21520
- * drive the OS create ceremony and surface the credential metadata
21521
- * hosts need for `exclude_credentials` bookkeeping. CLI / hardware
21522
- * providers register lazily in [`Self::derive_seeds`] and inherit the
21523
- * default `PrfNotSupported`.
22206
+ * Explicit registration: drive the OS create ceremony, and where the
22207
+ * platform supports it, evaluate PRF for `salts` in the same
22208
+ * ceremony. Platform passkey providers override this to surface the
22209
+ * credential metadata hosts need for `exclude_credentials`
22210
+ * bookkeeping. CLI / hardware providers register lazily in
22211
+ * [`Self::derive_seeds`] and inherit the default `PrfNotSupported`.
21524
22212
  *
21525
22213
  * `exclude_credentials` lists already-registered IDs and surfaces
21526
22214
  * duplicates as `CredentialAlreadyExists`. The `user.id` is always
21527
22215
  * provider-minted and returned on `PasskeyCredential.user_id`.
22216
+ *
22217
+ * Returning seeds removes the assertion that would otherwise follow
22218
+ * a create, and with it the window where the new credential exists
22219
+ * but the platform cannot yet resolve it. Return `seeds: None` for
22220
+ * anything short of one output per salt (some authenticators drop
22221
+ * `prf.eval.second`): a partial result is not usable, and the caller
22222
+ * falls back to [`Self::derive_seeds`]. Empty `salts` means the
22223
+ * caller wants the credential only.
22224
+ *
22225
+ * Seeds returned here must equal what [`Self::derive_seeds`] would
22226
+ * return for the same salts. The wallet is derived from them either
22227
+ * way, so a mismatch means register and sign-in land on different
22228
+ * wallets, and the one register created is unreachable.
21528
22229
  */
21529
- createPasskey(excludeCredentials: Array<ArrayBuffer>, asyncOpts_?: {
22230
+ createPasskey(excludeCredentials: Array<ArrayBuffer>, salts: Array<string>, asyncOpts_?: {
21530
22231
  signal: AbortSignal;
21531
- }): Promise<PasskeyCredential>;
22232
+ }): Promise<CreatePasskeyOutput>;
21532
22233
  /**
21533
22234
  * Advisory check against the platform's out-of-band verification
21534
22235
  * source (iOS AASA / Android assetlinks / browser rpId scope).
@@ -21586,19 +22287,33 @@ export declare class PrfProviderImpl extends UniffiAbstractObject implements Prf
21586
22287
  signal: AbortSignal;
21587
22288
  }): Promise<boolean>;
21588
22289
  /**
21589
- * Explicit registration. Platform passkey providers override this to
21590
- * drive the OS create ceremony and surface the credential metadata
21591
- * hosts need for `exclude_credentials` bookkeeping. CLI / hardware
21592
- * providers register lazily in [`Self::derive_seeds`] and inherit the
21593
- * default `PrfNotSupported`.
22290
+ * Explicit registration: drive the OS create ceremony, and where the
22291
+ * platform supports it, evaluate PRF for `salts` in the same
22292
+ * ceremony. Platform passkey providers override this to surface the
22293
+ * credential metadata hosts need for `exclude_credentials`
22294
+ * bookkeeping. CLI / hardware providers register lazily in
22295
+ * [`Self::derive_seeds`] and inherit the default `PrfNotSupported`.
21594
22296
  *
21595
22297
  * `exclude_credentials` lists already-registered IDs and surfaces
21596
22298
  * duplicates as `CredentialAlreadyExists`. The `user.id` is always
21597
22299
  * provider-minted and returned on `PasskeyCredential.user_id`.
22300
+ *
22301
+ * Returning seeds removes the assertion that would otherwise follow
22302
+ * a create, and with it the window where the new credential exists
22303
+ * but the platform cannot yet resolve it. Return `seeds: None` for
22304
+ * anything short of one output per salt (some authenticators drop
22305
+ * `prf.eval.second`): a partial result is not usable, and the caller
22306
+ * falls back to [`Self::derive_seeds`]. Empty `salts` means the
22307
+ * caller wants the credential only.
22308
+ *
22309
+ * Seeds returned here must equal what [`Self::derive_seeds`] would
22310
+ * return for the same salts. The wallet is derived from them either
22311
+ * way, so a mismatch means register and sign-in land on different
22312
+ * wallets, and the one register created is unreachable.
21598
22313
  */
21599
- createPasskey(excludeCredentials: Array<ArrayBuffer>, asyncOpts_?: {
22314
+ createPasskey(excludeCredentials: Array<ArrayBuffer>, salts: Array<string>, asyncOpts_?: {
21600
22315
  signal: AbortSignal;
21601
- }): Promise<PasskeyCredential>;
22316
+ }): Promise<CreatePasskeyOutput>;
21602
22317
  /**
21603
22318
  * Advisory check against the platform's out-of-band verification
21604
22319
  * source (iOS AASA / Android assetlinks / browser rpId scope).
@@ -22926,6 +23641,27 @@ declare const _default: Readonly<{
22926
23641
  lift(value: UniffiByteArray): AutoOptimizationEvent;
22927
23642
  lower(value: AutoOptimizationEvent): UniffiByteArray;
22928
23643
  };
23644
+ FfiConverterTypeBatchDestination: {
23645
+ read(from: RustBuffer): BatchDestination;
23646
+ write(value: BatchDestination, into: RustBuffer): void;
23647
+ allocationSize(value: BatchDestination): number;
23648
+ lift(value: UniffiByteArray): BatchDestination;
23649
+ lower(value: BatchDestination): UniffiByteArray;
23650
+ };
23651
+ FfiConverterTypeBatchRecipient: {
23652
+ read(from: RustBuffer): BatchRecipient;
23653
+ write(value: BatchRecipient, into: RustBuffer): void;
23654
+ allocationSize(value: BatchRecipient): number;
23655
+ lift(value: UniffiByteArray): BatchRecipient;
23656
+ lower(value: BatchRecipient): UniffiByteArray;
23657
+ };
23658
+ FfiConverterTypeBatchTotal: {
23659
+ read(from: RustBuffer): BatchTotal;
23660
+ write(value: BatchTotal, into: RustBuffer): void;
23661
+ allocationSize(value: BatchTotal): number;
23662
+ lift(value: UniffiByteArray): BatchTotal;
23663
+ lower(value: BatchTotal): UniffiByteArray;
23664
+ };
22929
23665
  FfiConverterTypeBip21Details: {
22930
23666
  read(from: RustBuffer): Bip21Details;
22931
23667
  write(value: Bip21Details, into: RustBuffer): void;
@@ -23033,6 +23769,13 @@ declare const _default: Readonly<{
23033
23769
  lift(value: UniffiByteArray): BuildTransferPackageOptions;
23034
23770
  lower(value: BuildTransferPackageOptions): UniffiByteArray;
23035
23771
  };
23772
+ FfiConverterTypeBuildUnsignedBatchPackageRequest: {
23773
+ read(from: RustBuffer): BuildUnsignedBatchPackageRequest;
23774
+ write(value: BuildUnsignedBatchPackageRequest, into: RustBuffer): void;
23775
+ allocationSize(value: BuildUnsignedBatchPackageRequest): number;
23776
+ lift(value: UniffiByteArray): BuildUnsignedBatchPackageRequest;
23777
+ lower(value: BuildUnsignedBatchPackageRequest): UniffiByteArray;
23778
+ };
23036
23779
  FfiConverterTypeBuildUnsignedLnurlPayPackageRequest: {
23037
23780
  read(from: RustBuffer): BuildUnsignedLnurlPayPackageRequest;
23038
23781
  write(value: BuildUnsignedLnurlPayPackageRequest, into: RustBuffer): void;
@@ -23307,6 +24050,13 @@ declare const _default: Readonly<{
23307
24050
  lift(value: UniffiByteArray): CreateIssuerTokenRequest;
23308
24051
  lower(value: CreateIssuerTokenRequest): UniffiByteArray;
23309
24052
  };
24053
+ FfiConverterTypeCreatePasskeyOutput: {
24054
+ read(from: RustBuffer): CreatePasskeyOutput;
24055
+ write(value: CreatePasskeyOutput, into: RustBuffer): void;
24056
+ allocationSize(value: CreatePasskeyOutput): number;
24057
+ lift(value: UniffiByteArray): CreatePasskeyOutput;
24058
+ lower(value: CreatePasskeyOutput): UniffiByteArray;
24059
+ };
23310
24060
  FfiConverterTypeCredentials: {
23311
24061
  read(from: RustBuffer): Credentials;
23312
24062
  write(value: Credentials, into: RustBuffer): void;
@@ -24224,6 +24974,20 @@ declare const _default: Readonly<{
24224
24974
  lift(value: UniffiByteArray): PrepareLnurlPayResponse;
24225
24975
  lower(value: PrepareLnurlPayResponse): UniffiByteArray;
24226
24976
  };
24977
+ FfiConverterTypePrepareSendBatchRequest: {
24978
+ read(from: RustBuffer): PrepareSendBatchRequest;
24979
+ write(value: PrepareSendBatchRequest, into: RustBuffer): void;
24980
+ allocationSize(value: PrepareSendBatchRequest): number;
24981
+ lift(value: UniffiByteArray): PrepareSendBatchRequest;
24982
+ lower(value: PrepareSendBatchRequest): UniffiByteArray;
24983
+ };
24984
+ FfiConverterTypePrepareSendBatchResponse: {
24985
+ read(from: RustBuffer): PrepareSendBatchResponse;
24986
+ write(value: PrepareSendBatchResponse, into: RustBuffer): void;
24987
+ allocationSize(value: PrepareSendBatchResponse): number;
24988
+ lift(value: UniffiByteArray): PrepareSendBatchResponse;
24989
+ lower(value: PrepareSendBatchResponse): UniffiByteArray;
24990
+ };
24227
24991
  FfiConverterTypePrepareSendPaymentRequest: {
24228
24992
  read(from: RustBuffer): PrepareSendPaymentRequest;
24229
24993
  write(value: PrepareSendPaymentRequest, into: RustBuffer): void;
@@ -24429,6 +25193,13 @@ declare const _default: Readonly<{
24429
25193
  lift(value: UniffiByteArray): RegisterWebhookResponse;
24430
25194
  lower(value: RegisterWebhookResponse): UniffiByteArray;
24431
25195
  };
25196
+ FfiConverterTypeResolvedBatchRecipient: {
25197
+ read(from: RustBuffer): ResolvedBatchRecipient;
25198
+ write(value: ResolvedBatchRecipient, into: RustBuffer): void;
25199
+ allocationSize(value: ResolvedBatchRecipient): number;
25200
+ lift(value: UniffiByteArray): ResolvedBatchRecipient;
25201
+ lower(value: ResolvedBatchRecipient): UniffiByteArray;
25202
+ };
24432
25203
  FfiConverterTypeResolvedStores: FfiConverterObject<ResolvedStoresInterface>;
24433
25204
  FfiConverterTypeRestClient: FfiConverterObjectWithCallbacks<RestClient>;
24434
25205
  FfiConverterTypeRestResponse: {
@@ -24482,6 +25253,20 @@ declare const _default: Readonly<{
24482
25253
  lift(value: UniffiByteArray): Seed;
24483
25254
  lower(value: Seed): UniffiByteArray;
24484
25255
  };
25256
+ FfiConverterTypeSendBatchRequest: {
25257
+ read(from: RustBuffer): SendBatchRequest;
25258
+ write(value: SendBatchRequest, into: RustBuffer): void;
25259
+ allocationSize(value: SendBatchRequest): number;
25260
+ lift(value: UniffiByteArray): SendBatchRequest;
25261
+ lower(value: SendBatchRequest): UniffiByteArray;
25262
+ };
25263
+ FfiConverterTypeSendBatchResponse: {
25264
+ read(from: RustBuffer): SendBatchResponse;
25265
+ write(value: SendBatchResponse, into: RustBuffer): void;
25266
+ allocationSize(value: SendBatchResponse): number;
25267
+ lift(value: UniffiByteArray): SendBatchResponse;
25268
+ lower(value: SendBatchResponse): UniffiByteArray;
25269
+ };
24485
25270
  FfiConverterTypeSendOnchainFeeQuote: {
24486
25271
  read(from: RustBuffer): SendOnchainFeeQuote;
24487
25272
  write(value: SendOnchainFeeQuote, into: RustBuffer): void;