@breeztech/breez-sdk-spark-react-native 0.18.0-dev4 → 0.19.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.
@@ -30,19 +30,50 @@ export declare function connect(request: ConnectRequest, asyncOpts_?: {
30
30
  export declare function connectWithSigner(request: ConnectWithSignerRequest, asyncOpts_?: {
31
31
  signal: AbortSignal;
32
32
  }): Promise<BreezSdkInterface>;
33
+ /**
34
+ * Connects to the Spark network using a signing-only external signer.
35
+ *
36
+ * Use this instead of [`connect_with_signer`] for a signer that can't perform
37
+ * the SDK's local ECIES/HMAC operations (for example a policy-restricted
38
+ * enclave). The SDK keeps session tokens in plaintext and disables the features
39
+ * that rely on ECIES/HMAC.
40
+ *
41
+ * # Arguments
42
+ *
43
+ * * `request` - The connection request object with a signing-only external signer
44
+ *
45
+ * # Returns
46
+ *
47
+ * Result containing either the initialized `BreezSdk` or an `SdkError`
48
+ */
49
+ export declare function connectWithSigningOnlySigner(request: ConnectWithSigningOnlySignerRequest, asyncOpts_?: {
50
+ signal: AbortSignal;
51
+ }): Promise<BreezSdkInterface>;
33
52
  /**
34
53
  * Builds the Turnkey-backed Breez and Spark signers from `config`, sharing one
35
54
  * Turnkey client.
36
55
  *
37
56
  * The Spark signer keeps every signing operation in the Turnkey enclave; the
38
57
  * Breez signer does too, except ECIES and HMAC, which run locally against a
39
- * dedicated, non-Spark key exported once here. Exporting a non-Spark key keeps
40
- * every Spark key (the identity key included) in the enclave; ECIES/HMAC only
41
- * need a stable key, not a Spark one.
58
+ * dedicated, non-Spark key exported on first use (see `TurnkeyBreezSigner`).
59
+ * Exporting a non-Spark key keeps every Spark key (the identity key included)
60
+ * in the enclave; ECIES/HMAC only need a stable key, not a Spark one.
61
+ *
62
+ * For a wallet under a deny-export policy, use
63
+ * [`create_turnkey_signing_only_signer`] instead: it never exports a key.
42
64
  */
43
65
  export declare function createTurnkeySigner(config: TurnkeyConfig, asyncOpts_?: {
44
66
  signal: AbortSignal;
45
67
  }): Promise<ExternalSigners>;
68
+ /**
69
+ * Builds signing-only Turnkey-backed signers from `config`, for a wallet under
70
+ * a deny-export policy. The Breez half performs signing only and never exports
71
+ * a key, so no ECIES/HMAC is attempted. Pair with
72
+ * [`connect_with_signing_only_signer`](crate::connect_with_signing_only_signer).
73
+ */
74
+ export declare function createTurnkeySigningOnlySigner(config: TurnkeyConfig, asyncOpts_?: {
75
+ signal: AbortSignal;
76
+ }): Promise<SigningOnlyExternalSigners>;
46
77
  /**
47
78
  * Wraps a caller-supplied [`Storage`] implementation as a [`StorageBackend`].
48
79
  * The tree, token-output and session stores use the in-memory defaults.
@@ -102,6 +133,21 @@ export declare function defaultExternalSigners(mnemonic: string, passphrase: str
102
133
  * an invalid-input error
103
134
  */
104
135
  export declare function defaultServerConfig(network: Network): Config;
136
+ /**
137
+ * The session store `backend` provides for `identity` on `network` (its own
138
+ * persistence: `PostgreSQL`/`MySQL` when the backend is DB-backed, else an
139
+ * in-memory store).
140
+ *
141
+ * Returned so it can be wrapped in a decorating [`SessionStore`] and passed to
142
+ * [`SdkBuilder::with_session_store`](crate::SdkBuilder::with_session_store),
143
+ * keeping the backend's persistence. A typical use is at-rest encryption (the
144
+ * SDK does not encrypt tokens itself): wrap it in a store that encrypts on
145
+ * write and decrypts on read. `identity` is the wallet identity public key
146
+ * bytes (the same value the SDK derives from the signer).
147
+ */
148
+ export declare function defaultSessionStore(backend: StorageBackend, network: Network, identity: ArrayBuffer, asyncOpts_?: {
149
+ signal: AbortSignal;
150
+ }): Promise<SessionStore>;
105
151
  /**
106
152
  * File-based `SQLite` storage rooted at `storage_dir` — the default for
107
153
  * mobile and desktop apps. Each tenant gets its own database file under the
@@ -623,6 +669,51 @@ export declare const Bolt12OfferDetails: Readonly<{
623
669
  */
624
670
  defaults: () => Partial<Bolt12OfferDetails>;
625
671
  }>;
672
+ export type BuildUnsignedLnurlPayPackageRequest = {
673
+ prepareResponse: PrepareLnurlPayResponse;
674
+ };
675
+ /**
676
+ * Generated factory for {@link BuildUnsignedLnurlPayPackageRequest} record objects.
677
+ */
678
+ export declare const BuildUnsignedLnurlPayPackageRequest: Readonly<{
679
+ /**
680
+ * Create a frozen instance of {@link BuildUnsignedLnurlPayPackageRequest}, with defaults specified
681
+ * in Rust, in the {@link breez_sdk_spark} crate.
682
+ */
683
+ create: (partial: Partial<BuildUnsignedLnurlPayPackageRequest> & Required<Omit<BuildUnsignedLnurlPayPackageRequest, never>>) => BuildUnsignedLnurlPayPackageRequest;
684
+ /**
685
+ * Create a frozen instance of {@link BuildUnsignedLnurlPayPackageRequest}, with defaults specified
686
+ * in Rust, in the {@link breez_sdk_spark} crate.
687
+ */
688
+ new: (partial: Partial<BuildUnsignedLnurlPayPackageRequest> & Required<Omit<BuildUnsignedLnurlPayPackageRequest, never>>) => BuildUnsignedLnurlPayPackageRequest;
689
+ /**
690
+ * Defaults specified in the {@link breez_sdk_spark} crate.
691
+ */
692
+ defaults: () => Partial<BuildUnsignedLnurlPayPackageRequest>;
693
+ }>;
694
+ export type BuildUnsignedTransferPackageRequest = {
695
+ prepareResponse: PrepareSendPaymentResponse;
696
+ options: BuildTransferPackageOptions | undefined;
697
+ };
698
+ /**
699
+ * Generated factory for {@link BuildUnsignedTransferPackageRequest} record objects.
700
+ */
701
+ export declare const BuildUnsignedTransferPackageRequest: Readonly<{
702
+ /**
703
+ * Create a frozen instance of {@link BuildUnsignedTransferPackageRequest}, with defaults specified
704
+ * in Rust, in the {@link breez_sdk_spark} crate.
705
+ */
706
+ create: (partial: Partial<BuildUnsignedTransferPackageRequest> & Required<Omit<BuildUnsignedTransferPackageRequest, "options">>) => BuildUnsignedTransferPackageRequest;
707
+ /**
708
+ * Create a frozen instance of {@link BuildUnsignedTransferPackageRequest}, with defaults specified
709
+ * in Rust, in the {@link breez_sdk_spark} crate.
710
+ */
711
+ new: (partial: Partial<BuildUnsignedTransferPackageRequest> & Required<Omit<BuildUnsignedTransferPackageRequest, "options">>) => BuildUnsignedTransferPackageRequest;
712
+ /**
713
+ * Defaults specified in the {@link breez_sdk_spark} crate.
714
+ */
715
+ defaults: () => Partial<BuildUnsignedTransferPackageRequest>;
716
+ }>;
626
717
  export type BurnIssuerTokenRequest = {
627
718
  amount: U128;
628
719
  };
@@ -1151,6 +1242,46 @@ export declare const ConnectWithSignerRequest: Readonly<{
1151
1242
  */
1152
1243
  defaults: () => Partial<ConnectWithSignerRequest>;
1153
1244
  }>;
1245
+ /**
1246
+ * Request object for connecting to the Spark network using a signing-only
1247
+ * external signer.
1248
+ *
1249
+ * Use this instead of [`ConnectWithSignerRequest`] for a signer that can't
1250
+ * perform the SDK's local ECIES/HMAC operations (for example a
1251
+ * policy-restricted enclave). The SDK keeps session tokens in plaintext and
1252
+ * disables the features that rely on ECIES/HMAC.
1253
+ */
1254
+ export type ConnectWithSigningOnlySignerRequest = {
1255
+ config: Config;
1256
+ /**
1257
+ * Signing-only external signer for non-Spark SDK signing.
1258
+ */
1259
+ breezSigner: ExternalSigningSigner;
1260
+ /**
1261
+ * External high-level Spark signer for the Spark wallet flows.
1262
+ */
1263
+ sparkSigner: ExternalSparkSigner;
1264
+ storageDir: string;
1265
+ };
1266
+ /**
1267
+ * Generated factory for {@link ConnectWithSigningOnlySignerRequest} record objects.
1268
+ */
1269
+ export declare const ConnectWithSigningOnlySignerRequest: Readonly<{
1270
+ /**
1271
+ * Create a frozen instance of {@link ConnectWithSigningOnlySignerRequest}, with defaults specified
1272
+ * in Rust, in the {@link breez_sdk_spark} crate.
1273
+ */
1274
+ create: (partial: Partial<ConnectWithSigningOnlySignerRequest> & Required<Omit<ConnectWithSigningOnlySignerRequest, never>>) => ConnectWithSigningOnlySignerRequest;
1275
+ /**
1276
+ * Create a frozen instance of {@link ConnectWithSigningOnlySignerRequest}, with defaults specified
1277
+ * in Rust, in the {@link breez_sdk_spark} crate.
1278
+ */
1279
+ new: (partial: Partial<ConnectWithSigningOnlySignerRequest> & Required<Omit<ConnectWithSigningOnlySignerRequest, never>>) => ConnectWithSigningOnlySignerRequest;
1280
+ /**
1281
+ * Defaults specified in the {@link breez_sdk_spark} crate.
1282
+ */
1283
+ defaults: () => Partial<ConnectWithSigningOnlySignerRequest>;
1284
+ }>;
1154
1285
  /**
1155
1286
  * A contact entry containing a name and payment identifier.
1156
1287
  */
@@ -3532,6 +3663,30 @@ export declare const LnurlInfo: Readonly<{
3532
3663
  */
3533
3664
  defaults: () => Partial<LnurlInfo>;
3534
3665
  }>;
3666
+ export type LnurlPayContext = {
3667
+ payRequest: LnurlPayRequestDetails;
3668
+ comment: string | undefined;
3669
+ successAction: SuccessAction | undefined;
3670
+ };
3671
+ /**
3672
+ * Generated factory for {@link LnurlPayContext} record objects.
3673
+ */
3674
+ export declare const LnurlPayContext: Readonly<{
3675
+ /**
3676
+ * Create a frozen instance of {@link LnurlPayContext}, with defaults specified
3677
+ * in Rust, in the {@link breez_sdk_spark} crate.
3678
+ */
3679
+ create: (partial: Partial<LnurlPayContext> & Required<Omit<LnurlPayContext, never>>) => LnurlPayContext;
3680
+ /**
3681
+ * Create a frozen instance of {@link LnurlPayContext}, with defaults specified
3682
+ * in Rust, in the {@link breez_sdk_spark} crate.
3683
+ */
3684
+ new: (partial: Partial<LnurlPayContext> & Required<Omit<LnurlPayContext, never>>) => LnurlPayContext;
3685
+ /**
3686
+ * Defaults specified in the {@link breez_sdk_spark} crate.
3687
+ */
3688
+ defaults: () => Partial<LnurlPayContext>;
3689
+ }>;
3535
3690
  /**
3536
3691
  * Represents the payment LNURL info
3537
3692
  */
@@ -4561,6 +4716,50 @@ export declare const PublicKeyBytes: Readonly<{
4561
4716
  */
4562
4717
  defaults: () => Partial<PublicKeyBytes>;
4563
4718
  }>;
4719
+ export type PublishSignedLnurlPayPackageRequest = {
4720
+ signedPackage: SignedTransferPackage;
4721
+ };
4722
+ /**
4723
+ * Generated factory for {@link PublishSignedLnurlPayPackageRequest} record objects.
4724
+ */
4725
+ export declare const PublishSignedLnurlPayPackageRequest: Readonly<{
4726
+ /**
4727
+ * Create a frozen instance of {@link PublishSignedLnurlPayPackageRequest}, with defaults specified
4728
+ * in Rust, in the {@link breez_sdk_spark} crate.
4729
+ */
4730
+ create: (partial: Partial<PublishSignedLnurlPayPackageRequest> & Required<Omit<PublishSignedLnurlPayPackageRequest, never>>) => PublishSignedLnurlPayPackageRequest;
4731
+ /**
4732
+ * Create a frozen instance of {@link PublishSignedLnurlPayPackageRequest}, with defaults specified
4733
+ * in Rust, in the {@link breez_sdk_spark} crate.
4734
+ */
4735
+ new: (partial: Partial<PublishSignedLnurlPayPackageRequest> & Required<Omit<PublishSignedLnurlPayPackageRequest, never>>) => PublishSignedLnurlPayPackageRequest;
4736
+ /**
4737
+ * Defaults specified in the {@link breez_sdk_spark} crate.
4738
+ */
4739
+ defaults: () => Partial<PublishSignedLnurlPayPackageRequest>;
4740
+ }>;
4741
+ export type PublishSignedTransferPackageRequest = {
4742
+ signedPackage: SignedTransferPackage;
4743
+ };
4744
+ /**
4745
+ * Generated factory for {@link PublishSignedTransferPackageRequest} record objects.
4746
+ */
4747
+ export declare const PublishSignedTransferPackageRequest: Readonly<{
4748
+ /**
4749
+ * Create a frozen instance of {@link PublishSignedTransferPackageRequest}, with defaults specified
4750
+ * in Rust, in the {@link breez_sdk_spark} crate.
4751
+ */
4752
+ create: (partial: Partial<PublishSignedTransferPackageRequest> & Required<Omit<PublishSignedTransferPackageRequest, never>>) => PublishSignedTransferPackageRequest;
4753
+ /**
4754
+ * Create a frozen instance of {@link PublishSignedTransferPackageRequest}, with defaults specified
4755
+ * in Rust, in the {@link breez_sdk_spark} crate.
4756
+ */
4757
+ new: (partial: Partial<PublishSignedTransferPackageRequest> & Required<Omit<PublishSignedTransferPackageRequest, never>>) => PublishSignedTransferPackageRequest;
4758
+ /**
4759
+ * Defaults specified in the {@link breez_sdk_spark} crate.
4760
+ */
4761
+ defaults: () => Partial<PublishSignedTransferPackageRequest>;
4762
+ }>;
4564
4763
  /**
4565
4764
  * Denominator in an exchange rate
4566
4765
  */
@@ -5425,6 +5624,63 @@ export declare const SignMessageResponse: Readonly<{
5425
5624
  */
5426
5625
  defaults: () => Partial<SignMessageResponse>;
5427
5626
  }>;
5627
+ export type SignedTransferPackage = {
5628
+ unsigned: UnsignedTransferPackage;
5629
+ signature: TransferSignature;
5630
+ };
5631
+ /**
5632
+ * Generated factory for {@link SignedTransferPackage} record objects.
5633
+ */
5634
+ export declare const SignedTransferPackage: Readonly<{
5635
+ /**
5636
+ * Create a frozen instance of {@link SignedTransferPackage}, with defaults specified
5637
+ * in Rust, in the {@link breez_sdk_spark} crate.
5638
+ */
5639
+ create: (partial: Partial<SignedTransferPackage> & Required<Omit<SignedTransferPackage, never>>) => SignedTransferPackage;
5640
+ /**
5641
+ * Create a frozen instance of {@link SignedTransferPackage}, with defaults specified
5642
+ * in Rust, in the {@link breez_sdk_spark} crate.
5643
+ */
5644
+ new: (partial: Partial<SignedTransferPackage> & Required<Omit<SignedTransferPackage, never>>) => SignedTransferPackage;
5645
+ /**
5646
+ * Defaults specified in the {@link breez_sdk_spark} crate.
5647
+ */
5648
+ defaults: () => Partial<SignedTransferPackage>;
5649
+ }>;
5650
+ /**
5651
+ * A signing-only external signer paired with the Spark signer, for wallets that
5652
+ * connect via [`connect_with_signing_only_signer`]. The Breez half performs
5653
+ * signing only, without the SDK's local ECIES/HMAC operations.
5654
+ */
5655
+ export type SigningOnlyExternalSigners = {
5656
+ /**
5657
+ * Signing-only external signer for non-Spark SDK signing.
5658
+ */
5659
+ breezSigner: ExternalSigningSigner;
5660
+ /**
5661
+ * External high-level Spark signer for the Spark wallet flows.
5662
+ */
5663
+ sparkSigner: ExternalSparkSigner;
5664
+ };
5665
+ /**
5666
+ * Generated factory for {@link SigningOnlyExternalSigners} record objects.
5667
+ */
5668
+ export declare const SigningOnlyExternalSigners: Readonly<{
5669
+ /**
5670
+ * Create a frozen instance of {@link SigningOnlyExternalSigners}, with defaults specified
5671
+ * in Rust, in the {@link breez_sdk_spark} crate.
5672
+ */
5673
+ create: (partial: Partial<SigningOnlyExternalSigners> & Required<Omit<SigningOnlyExternalSigners, never>>) => SigningOnlyExternalSigners;
5674
+ /**
5675
+ * Create a frozen instance of {@link SigningOnlyExternalSigners}, with defaults specified
5676
+ * in Rust, in the {@link breez_sdk_spark} crate.
5677
+ */
5678
+ new: (partial: Partial<SigningOnlyExternalSigners> & Required<Omit<SigningOnlyExternalSigners, never>>) => SigningOnlyExternalSigners;
5679
+ /**
5680
+ * Defaults specified in the {@link breez_sdk_spark} crate.
5681
+ */
5682
+ defaults: () => Partial<SigningOnlyExternalSigners>;
5683
+ }>;
5428
5684
  export type SilentPaymentAddressDetails = {
5429
5685
  address: string;
5430
5686
  network: BitcoinNetwork;
@@ -5512,6 +5768,12 @@ export type SparkConfig = {
5512
5768
  * Expected relative block locktime for token withdrawals.
5513
5769
  */
5514
5770
  expectedWithdrawRelativeBlockLocktime: bigint;
5771
+ /**
5772
+ * Cap on the inputs a single token transaction may spend. A send needing
5773
+ * more first consolidates the wallet's token outputs. Unset uses the SDK
5774
+ * default (500).
5775
+ */
5776
+ maxTokenTransactionInputs: /*u32*/ number | undefined;
5515
5777
  };
5516
5778
  /**
5517
5779
  * Generated factory for {@link SparkConfig} record objects.
@@ -6247,10 +6509,34 @@ export type TurnkeyConfig = {
6247
6509
  * either backend.
6248
6510
  */
6249
6511
  accountNumber: /*u32*/ number | undefined;
6512
+ /**
6513
+ * The wallet's identity public key (compressed, hex), to skip fetching it
6514
+ * from Turnkey on init. Obtain it once from a freshly-built signer via
6515
+ * [`ExternalSparkSigner::get_identity_public_key`] — the simplest source,
6516
+ * available right after `create_turnkey_signer` with no separate connect —
6517
+ * or, if you only have a connected SDK, from `identity_pubkey` on the
6518
+ * get-info response. Pass it back on later inits: the signer then serves the
6519
+ * identity key and its Spark address from this value instead of the per-init
6520
+ * Turnkey round-trips, making signer setup network-free. Unset fetches
6521
+ * lazily, as before. It is a stable, non-secret, per-wallet value; a value
6522
+ * that does not match the wallet yields a signer that signs with the wrong
6523
+ * identity, so only pass one read from this same wallet.
6524
+ *
6525
+ * [`ExternalSparkSigner::get_identity_public_key`]: crate::signer::ExternalSparkSigner::get_identity_public_key
6526
+ */
6527
+ identityPublicKey: string | undefined;
6250
6528
  /**
6251
6529
  * Retry policy for Turnkey requests. Unset uses the default policy.
6252
6530
  */
6253
6531
  retry: TurnkeyRetryConfig | undefined;
6532
+ /**
6533
+ * Maximum requests per second the client issues to this suborganization,
6534
+ * across all concurrent operations. The client paces itself to this rate.
6535
+ * Unset uses Turnkey's documented per-suborganization cap of 10 RPS; set it
6536
+ * to the account's actual limit if a different one is provisioned. Must be
6537
+ * greater than 0 when set: 0 is rejected at connect.
6538
+ */
6539
+ maxRps: /*u32*/ number | undefined;
6254
6540
  };
6255
6541
  /**
6256
6542
  * Generated factory for {@link TurnkeyConfig} record objects.
@@ -6260,12 +6546,12 @@ export declare const TurnkeyConfig: Readonly<{
6260
6546
  * Create a frozen instance of {@link TurnkeyConfig}, with defaults specified
6261
6547
  * in Rust, in the {@link breez_sdk_spark} crate.
6262
6548
  */
6263
- create: (partial: Partial<TurnkeyConfig> & Required<Omit<TurnkeyConfig, never>>) => TurnkeyConfig;
6549
+ create: (partial: Partial<TurnkeyConfig> & Required<Omit<TurnkeyConfig, "maxRps">>) => TurnkeyConfig;
6264
6550
  /**
6265
6551
  * Create a frozen instance of {@link TurnkeyConfig}, with defaults specified
6266
6552
  * in Rust, in the {@link breez_sdk_spark} crate.
6267
6553
  */
6268
- new: (partial: Partial<TurnkeyConfig> & Required<Omit<TurnkeyConfig, never>>) => TurnkeyConfig;
6554
+ new: (partial: Partial<TurnkeyConfig> & Required<Omit<TurnkeyConfig, "maxRps">>) => TurnkeyConfig;
6269
6555
  /**
6270
6556
  * Defaults specified in the {@link breez_sdk_spark} crate.
6271
6557
  */
@@ -7198,6 +7484,105 @@ export declare enum BitcoinNetwork {
7198
7484
  Signet = 3,
7199
7485
  Regtest = 4
7200
7486
  }
7487
+ export declare enum BuildTransferPackageOptions_Tags {
7488
+ BitcoinAddress = "BitcoinAddress",
7489
+ Bolt11Invoice = "Bolt11Invoice"
7490
+ }
7491
+ export declare const BuildTransferPackageOptions: Readonly<{
7492
+ instanceOf: (obj: any) => obj is BuildTransferPackageOptions;
7493
+ BitcoinAddress: {
7494
+ new (inner: {
7495
+ confirmationSpeed: OnchainConfirmationSpeed;
7496
+ }): {
7497
+ readonly tag: BuildTransferPackageOptions_Tags.BitcoinAddress;
7498
+ readonly inner: Readonly<{
7499
+ confirmationSpeed: OnchainConfirmationSpeed;
7500
+ }>;
7501
+ /**
7502
+ * @private
7503
+ * This field is private and should not be used, use `tag` instead.
7504
+ */
7505
+ readonly [uniffiTypeNameSymbol]: "BuildTransferPackageOptions";
7506
+ };
7507
+ "new"(inner: {
7508
+ confirmationSpeed: OnchainConfirmationSpeed;
7509
+ }): {
7510
+ readonly tag: BuildTransferPackageOptions_Tags.BitcoinAddress;
7511
+ readonly inner: Readonly<{
7512
+ confirmationSpeed: OnchainConfirmationSpeed;
7513
+ }>;
7514
+ /**
7515
+ * @private
7516
+ * This field is private and should not be used, use `tag` instead.
7517
+ */
7518
+ readonly [uniffiTypeNameSymbol]: "BuildTransferPackageOptions";
7519
+ };
7520
+ instanceOf(obj: any): obj is {
7521
+ readonly tag: BuildTransferPackageOptions_Tags.BitcoinAddress;
7522
+ readonly inner: Readonly<{
7523
+ confirmationSpeed: OnchainConfirmationSpeed;
7524
+ }>;
7525
+ /**
7526
+ * @private
7527
+ * This field is private and should not be used, use `tag` instead.
7528
+ */
7529
+ readonly [uniffiTypeNameSymbol]: "BuildTransferPackageOptions";
7530
+ };
7531
+ };
7532
+ Bolt11Invoice: {
7533
+ new (inner: {
7534
+ preferSpark: boolean;
7535
+ /**
7536
+ * If set, publishing the package waits up to this many seconds for the
7537
+ * payment to complete before returning it while still pending. If unset,
7538
+ * publishing returns immediately after initiating the payment.
7539
+ */ completionTimeoutSecs: /*u32*/ number | undefined;
7540
+ }): {
7541
+ readonly tag: BuildTransferPackageOptions_Tags.Bolt11Invoice;
7542
+ readonly inner: Readonly<{
7543
+ preferSpark: boolean;
7544
+ completionTimeoutSecs: /*u32*/ number | undefined;
7545
+ }>;
7546
+ /**
7547
+ * @private
7548
+ * This field is private and should not be used, use `tag` instead.
7549
+ */
7550
+ readonly [uniffiTypeNameSymbol]: "BuildTransferPackageOptions";
7551
+ };
7552
+ "new"(inner: {
7553
+ preferSpark: boolean;
7554
+ /**
7555
+ * If set, publishing the package waits up to this many seconds for the
7556
+ * payment to complete before returning it while still pending. If unset,
7557
+ * publishing returns immediately after initiating the payment.
7558
+ */ completionTimeoutSecs: /*u32*/ number | undefined;
7559
+ }): {
7560
+ readonly tag: BuildTransferPackageOptions_Tags.Bolt11Invoice;
7561
+ readonly inner: Readonly<{
7562
+ preferSpark: boolean;
7563
+ completionTimeoutSecs: /*u32*/ number | undefined;
7564
+ }>;
7565
+ /**
7566
+ * @private
7567
+ * This field is private and should not be used, use `tag` instead.
7568
+ */
7569
+ readonly [uniffiTypeNameSymbol]: "BuildTransferPackageOptions";
7570
+ };
7571
+ instanceOf(obj: any): obj is {
7572
+ readonly tag: BuildTransferPackageOptions_Tags.Bolt11Invoice;
7573
+ readonly inner: Readonly<{
7574
+ preferSpark: boolean;
7575
+ completionTimeoutSecs: /*u32*/ number | undefined;
7576
+ }>;
7577
+ /**
7578
+ * @private
7579
+ * This field is private and should not be used, use `tag` instead.
7580
+ */
7581
+ readonly [uniffiTypeNameSymbol]: "BuildTransferPackageOptions";
7582
+ };
7583
+ };
7584
+ }>;
7585
+ export type BuildTransferPackageOptions = InstanceType<(typeof BuildTransferPackageOptions)[keyof Omit<typeof BuildTransferPackageOptions, 'instanceOf'>]>;
7201
7586
  export declare enum BuyBitcoinRequest_Tags {
7202
7587
  Moonpay = "Moonpay",
7203
7588
  CashApp = "CashApp"
@@ -12540,52 +12925,198 @@ export declare const ProvisionalPaymentDetails: Readonly<{
12540
12925
  };
12541
12926
  }>;
12542
12927
  export type ProvisionalPaymentDetails = InstanceType<(typeof ProvisionalPaymentDetails)[keyof Omit<typeof ProvisionalPaymentDetails, 'instanceOf'>]>;
12543
- export declare enum ReceivePaymentMethod_Tags {
12544
- SparkAddress = "SparkAddress",
12545
- SparkInvoice = "SparkInvoice",
12546
- BitcoinAddress = "BitcoinAddress",
12547
- Bolt11Invoice = "Bolt11Invoice"
12928
+ export declare enum PublishSignedLnurlPayResponse_Tags {
12929
+ SwapCompleted = "SwapCompleted",
12930
+ PaymentSent = "PaymentSent"
12548
12931
  }
12549
- export declare const ReceivePaymentMethod: Readonly<{
12550
- instanceOf: (obj: any) => obj is ReceivePaymentMethod;
12551
- SparkAddress: {
12932
+ export declare const PublishSignedLnurlPayResponse: Readonly<{
12933
+ instanceOf: (obj: any) => obj is PublishSignedLnurlPayResponse;
12934
+ SwapCompleted: {
12552
12935
  new (): {
12553
- readonly tag: ReceivePaymentMethod_Tags.SparkAddress;
12936
+ readonly tag: PublishSignedLnurlPayResponse_Tags.SwapCompleted;
12554
12937
  /**
12555
12938
  * @private
12556
12939
  * This field is private and should not be used, use `tag` instead.
12557
12940
  */
12558
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
12941
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12559
12942
  };
12560
12943
  "new"(): {
12561
- readonly tag: ReceivePaymentMethod_Tags.SparkAddress;
12944
+ readonly tag: PublishSignedLnurlPayResponse_Tags.SwapCompleted;
12562
12945
  /**
12563
12946
  * @private
12564
12947
  * This field is private and should not be used, use `tag` instead.
12565
12948
  */
12566
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
12949
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12567
12950
  };
12568
12951
  instanceOf(obj: any): obj is {
12569
- readonly tag: ReceivePaymentMethod_Tags.SparkAddress;
12952
+ readonly tag: PublishSignedLnurlPayResponse_Tags.SwapCompleted;
12570
12953
  /**
12571
12954
  * @private
12572
12955
  * This field is private and should not be used, use `tag` instead.
12573
12956
  */
12574
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
12957
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12575
12958
  };
12576
12959
  };
12577
- SparkInvoice: {
12960
+ PaymentSent: {
12578
12961
  new (inner: {
12962
+ response: LnurlPayResponse;
12963
+ }): {
12964
+ readonly tag: PublishSignedLnurlPayResponse_Tags.PaymentSent;
12965
+ readonly inner: Readonly<{
12966
+ response: LnurlPayResponse;
12967
+ }>;
12579
12968
  /**
12580
- * Amount to receive. Denominated in sats if token identifier is empty, otherwise in the token base units
12581
- */ amount: U128 | undefined;
12582
- /**
12583
- * The presence of this field indicates that the payment is for a token
12584
- * If empty, it is a Bitcoin payment
12585
- */ tokenIdentifier: string | undefined;
12586
- /**
12587
- * The expiry time of the invoice as a unix timestamp in seconds
12588
- */ expiryTime: /*u64*/ bigint | undefined;
12969
+ * @private
12970
+ * This field is private and should not be used, use `tag` instead.
12971
+ */
12972
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12973
+ };
12974
+ "new"(inner: {
12975
+ response: LnurlPayResponse;
12976
+ }): {
12977
+ readonly tag: PublishSignedLnurlPayResponse_Tags.PaymentSent;
12978
+ readonly inner: Readonly<{
12979
+ response: LnurlPayResponse;
12980
+ }>;
12981
+ /**
12982
+ * @private
12983
+ * This field is private and should not be used, use `tag` instead.
12984
+ */
12985
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12986
+ };
12987
+ instanceOf(obj: any): obj is {
12988
+ readonly tag: PublishSignedLnurlPayResponse_Tags.PaymentSent;
12989
+ readonly inner: Readonly<{
12990
+ response: LnurlPayResponse;
12991
+ }>;
12992
+ /**
12993
+ * @private
12994
+ * This field is private and should not be used, use `tag` instead.
12995
+ */
12996
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12997
+ };
12998
+ };
12999
+ }>;
13000
+ export type PublishSignedLnurlPayResponse = InstanceType<(typeof PublishSignedLnurlPayResponse)[keyof Omit<typeof PublishSignedLnurlPayResponse, 'instanceOf'>]>;
13001
+ export declare enum PublishSignedTransferPackageResponse_Tags {
13002
+ SwapCompleted = "SwapCompleted",
13003
+ PaymentSent = "PaymentSent"
13004
+ }
13005
+ export declare const PublishSignedTransferPackageResponse: Readonly<{
13006
+ instanceOf: (obj: any) => obj is PublishSignedTransferPackageResponse;
13007
+ SwapCompleted: {
13008
+ new (): {
13009
+ readonly tag: PublishSignedTransferPackageResponse_Tags.SwapCompleted;
13010
+ /**
13011
+ * @private
13012
+ * This field is private and should not be used, use `tag` instead.
13013
+ */
13014
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
13015
+ };
13016
+ "new"(): {
13017
+ readonly tag: PublishSignedTransferPackageResponse_Tags.SwapCompleted;
13018
+ /**
13019
+ * @private
13020
+ * This field is private and should not be used, use `tag` instead.
13021
+ */
13022
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
13023
+ };
13024
+ instanceOf(obj: any): obj is {
13025
+ readonly tag: PublishSignedTransferPackageResponse_Tags.SwapCompleted;
13026
+ /**
13027
+ * @private
13028
+ * This field is private and should not be used, use `tag` instead.
13029
+ */
13030
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
13031
+ };
13032
+ };
13033
+ PaymentSent: {
13034
+ new (inner: {
13035
+ payment: Payment;
13036
+ }): {
13037
+ readonly tag: PublishSignedTransferPackageResponse_Tags.PaymentSent;
13038
+ readonly inner: Readonly<{
13039
+ payment: Payment;
13040
+ }>;
13041
+ /**
13042
+ * @private
13043
+ * This field is private and should not be used, use `tag` instead.
13044
+ */
13045
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
13046
+ };
13047
+ "new"(inner: {
13048
+ payment: Payment;
13049
+ }): {
13050
+ readonly tag: PublishSignedTransferPackageResponse_Tags.PaymentSent;
13051
+ readonly inner: Readonly<{
13052
+ payment: Payment;
13053
+ }>;
13054
+ /**
13055
+ * @private
13056
+ * This field is private and should not be used, use `tag` instead.
13057
+ */
13058
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
13059
+ };
13060
+ instanceOf(obj: any): obj is {
13061
+ readonly tag: PublishSignedTransferPackageResponse_Tags.PaymentSent;
13062
+ readonly inner: Readonly<{
13063
+ payment: Payment;
13064
+ }>;
13065
+ /**
13066
+ * @private
13067
+ * This field is private and should not be used, use `tag` instead.
13068
+ */
13069
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
13070
+ };
13071
+ };
13072
+ }>;
13073
+ export type PublishSignedTransferPackageResponse = InstanceType<(typeof PublishSignedTransferPackageResponse)[keyof Omit<typeof PublishSignedTransferPackageResponse, 'instanceOf'>]>;
13074
+ export declare enum ReceivePaymentMethod_Tags {
13075
+ SparkAddress = "SparkAddress",
13076
+ SparkInvoice = "SparkInvoice",
13077
+ BitcoinAddress = "BitcoinAddress",
13078
+ Bolt11Invoice = "Bolt11Invoice"
13079
+ }
13080
+ export declare const ReceivePaymentMethod: Readonly<{
13081
+ instanceOf: (obj: any) => obj is ReceivePaymentMethod;
13082
+ SparkAddress: {
13083
+ new (): {
13084
+ readonly tag: ReceivePaymentMethod_Tags.SparkAddress;
13085
+ /**
13086
+ * @private
13087
+ * This field is private and should not be used, use `tag` instead.
13088
+ */
13089
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
13090
+ };
13091
+ "new"(): {
13092
+ readonly tag: ReceivePaymentMethod_Tags.SparkAddress;
13093
+ /**
13094
+ * @private
13095
+ * This field is private and should not be used, use `tag` instead.
13096
+ */
13097
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
13098
+ };
13099
+ instanceOf(obj: any): obj is {
13100
+ readonly tag: ReceivePaymentMethod_Tags.SparkAddress;
13101
+ /**
13102
+ * @private
13103
+ * This field is private and should not be used, use `tag` instead.
13104
+ */
13105
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
13106
+ };
13107
+ };
13108
+ SparkInvoice: {
13109
+ new (inner: {
13110
+ /**
13111
+ * Amount to receive. Denominated in sats if token identifier is empty, otherwise in the token base units
13112
+ */ amount: U128 | undefined;
13113
+ /**
13114
+ * The presence of this field indicates that the payment is for a token
13115
+ * If empty, it is a Bitcoin payment
13116
+ */ tokenIdentifier: string | undefined;
13117
+ /**
13118
+ * The expiry time of the invoice as a unix timestamp in seconds
13119
+ */ expiryTime: /*u64*/ bigint | undefined;
12589
13120
  /**
12590
13121
  * A description to embed in the invoice.
12591
13122
  */ description: string | undefined;
@@ -15715,6 +16246,7 @@ export declare enum SignerError_Tags {
15715
16246
  Signing = "Signing",
15716
16247
  Encryption = "Encryption",
15717
16248
  Decryption = "Decryption",
16249
+ EncryptionUnavailable = "EncryptionUnavailable",
15718
16250
  Frost = "Frost",
15719
16251
  InvalidInput = "InvalidInput",
15720
16252
  Generic = "Generic"
@@ -16008,6 +16540,77 @@ export declare const SignerError: Readonly<{
16008
16540
  prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
16009
16541
  stackTraceLimit: number;
16010
16542
  };
16543
+ EncryptionUnavailable: {
16544
+ new (v0: string): {
16545
+ readonly tag: SignerError_Tags.EncryptionUnavailable;
16546
+ readonly inner: Readonly<[string]>;
16547
+ /**
16548
+ * @private
16549
+ * This field is private and should not be used, use `tag` instead.
16550
+ */
16551
+ readonly [uniffiTypeNameSymbol]: "SignerError";
16552
+ name: string;
16553
+ message: string;
16554
+ stack?: string;
16555
+ cause?: unknown;
16556
+ };
16557
+ "new"(v0: string): {
16558
+ readonly tag: SignerError_Tags.EncryptionUnavailable;
16559
+ readonly inner: Readonly<[string]>;
16560
+ /**
16561
+ * @private
16562
+ * This field is private and should not be used, use `tag` instead.
16563
+ */
16564
+ readonly [uniffiTypeNameSymbol]: "SignerError";
16565
+ name: string;
16566
+ message: string;
16567
+ stack?: string;
16568
+ cause?: unknown;
16569
+ };
16570
+ instanceOf(obj: any): obj is {
16571
+ readonly tag: SignerError_Tags.EncryptionUnavailable;
16572
+ readonly inner: Readonly<[string]>;
16573
+ /**
16574
+ * @private
16575
+ * This field is private and should not be used, use `tag` instead.
16576
+ */
16577
+ readonly [uniffiTypeNameSymbol]: "SignerError";
16578
+ name: string;
16579
+ message: string;
16580
+ stack?: string;
16581
+ cause?: unknown;
16582
+ };
16583
+ hasInner(obj: any): obj is {
16584
+ readonly tag: SignerError_Tags.EncryptionUnavailable;
16585
+ readonly inner: Readonly<[string]>;
16586
+ /**
16587
+ * @private
16588
+ * This field is private and should not be used, use `tag` instead.
16589
+ */
16590
+ readonly [uniffiTypeNameSymbol]: "SignerError";
16591
+ name: string;
16592
+ message: string;
16593
+ stack?: string;
16594
+ cause?: unknown;
16595
+ };
16596
+ getInner(obj: {
16597
+ readonly tag: SignerError_Tags.EncryptionUnavailable;
16598
+ readonly inner: Readonly<[string]>;
16599
+ /**
16600
+ * @private
16601
+ * This field is private and should not be used, use `tag` instead.
16602
+ */
16603
+ readonly [uniffiTypeNameSymbol]: "SignerError";
16604
+ name: string;
16605
+ message: string;
16606
+ stack?: string;
16607
+ cause?: unknown;
16608
+ }): Readonly<[string]>;
16609
+ isError(error: unknown): error is Error;
16610
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
16611
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
16612
+ stackTraceLimit: number;
16613
+ };
16011
16614
  Frost: {
16012
16615
  new (v0: string): {
16013
16616
  readonly tag: SignerError_Tags.Frost;
@@ -17013,177 +17616,608 @@ export declare const SuccessAction: Readonly<{
17013
17616
  "new"(inner: {
17014
17617
  data: UrlSuccessActionData;
17015
17618
  }): {
17016
- readonly tag: SuccessAction_Tags.Url;
17619
+ readonly tag: SuccessAction_Tags.Url;
17620
+ readonly inner: Readonly<{
17621
+ data: UrlSuccessActionData;
17622
+ }>;
17623
+ /**
17624
+ * @private
17625
+ * This field is private and should not be used, use `tag` instead.
17626
+ */
17627
+ readonly [uniffiTypeNameSymbol]: "SuccessAction";
17628
+ };
17629
+ instanceOf(obj: any): obj is {
17630
+ readonly tag: SuccessAction_Tags.Url;
17631
+ readonly inner: Readonly<{
17632
+ data: UrlSuccessActionData;
17633
+ }>;
17634
+ /**
17635
+ * @private
17636
+ * This field is private and should not be used, use `tag` instead.
17637
+ */
17638
+ readonly [uniffiTypeNameSymbol]: "SuccessAction";
17639
+ };
17640
+ };
17641
+ }>;
17642
+ /**
17643
+ * Supported success action types
17644
+ *
17645
+ * Receiving any other (unsupported) success action type will result in a failed parsing,
17646
+ * which will abort the LNURL-pay workflow, as per LUD-09.
17647
+ */
17648
+ export type SuccessAction = InstanceType<(typeof SuccessAction)[keyof Omit<typeof SuccessAction, 'instanceOf'>]>;
17649
+ export declare enum SuccessActionProcessed_Tags {
17650
+ Aes = "Aes",
17651
+ Message = "Message",
17652
+ Url = "Url"
17653
+ }
17654
+ /**
17655
+ * [`SuccessAction`] where contents are ready to be consumed by the caller
17656
+ *
17657
+ * Contents are identical to [`SuccessAction`], except for AES where the ciphertext is decrypted.
17658
+ */
17659
+ export declare const SuccessActionProcessed: Readonly<{
17660
+ instanceOf: (obj: any) => obj is SuccessActionProcessed;
17661
+ Aes: {
17662
+ new (inner: {
17663
+ result: AesSuccessActionDataResult;
17664
+ }): {
17665
+ readonly tag: SuccessActionProcessed_Tags.Aes;
17666
+ readonly inner: Readonly<{
17667
+ result: AesSuccessActionDataResult;
17668
+ }>;
17669
+ /**
17670
+ * @private
17671
+ * This field is private and should not be used, use `tag` instead.
17672
+ */
17673
+ readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
17674
+ };
17675
+ "new"(inner: {
17676
+ result: AesSuccessActionDataResult;
17677
+ }): {
17678
+ readonly tag: SuccessActionProcessed_Tags.Aes;
17679
+ readonly inner: Readonly<{
17680
+ result: AesSuccessActionDataResult;
17681
+ }>;
17682
+ /**
17683
+ * @private
17684
+ * This field is private and should not be used, use `tag` instead.
17685
+ */
17686
+ readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
17687
+ };
17688
+ instanceOf(obj: any): obj is {
17689
+ readonly tag: SuccessActionProcessed_Tags.Aes;
17690
+ readonly inner: Readonly<{
17691
+ result: AesSuccessActionDataResult;
17692
+ }>;
17693
+ /**
17694
+ * @private
17695
+ * This field is private and should not be used, use `tag` instead.
17696
+ */
17697
+ readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
17698
+ };
17699
+ };
17700
+ Message: {
17701
+ new (inner: {
17702
+ data: MessageSuccessActionData;
17703
+ }): {
17704
+ readonly tag: SuccessActionProcessed_Tags.Message;
17705
+ readonly inner: Readonly<{
17706
+ data: MessageSuccessActionData;
17707
+ }>;
17708
+ /**
17709
+ * @private
17710
+ * This field is private and should not be used, use `tag` instead.
17711
+ */
17712
+ readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
17713
+ };
17714
+ "new"(inner: {
17715
+ data: MessageSuccessActionData;
17716
+ }): {
17717
+ readonly tag: SuccessActionProcessed_Tags.Message;
17718
+ readonly inner: Readonly<{
17719
+ data: MessageSuccessActionData;
17720
+ }>;
17721
+ /**
17722
+ * @private
17723
+ * This field is private and should not be used, use `tag` instead.
17724
+ */
17725
+ readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
17726
+ };
17727
+ instanceOf(obj: any): obj is {
17728
+ readonly tag: SuccessActionProcessed_Tags.Message;
17729
+ readonly inner: Readonly<{
17730
+ data: MessageSuccessActionData;
17731
+ }>;
17732
+ /**
17733
+ * @private
17734
+ * This field is private and should not be used, use `tag` instead.
17735
+ */
17736
+ readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
17737
+ };
17738
+ };
17739
+ Url: {
17740
+ new (inner: {
17741
+ data: UrlSuccessActionData;
17742
+ }): {
17743
+ readonly tag: SuccessActionProcessed_Tags.Url;
17744
+ readonly inner: Readonly<{
17745
+ data: UrlSuccessActionData;
17746
+ }>;
17747
+ /**
17748
+ * @private
17749
+ * This field is private and should not be used, use `tag` instead.
17750
+ */
17751
+ readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
17752
+ };
17753
+ "new"(inner: {
17754
+ data: UrlSuccessActionData;
17755
+ }): {
17756
+ readonly tag: SuccessActionProcessed_Tags.Url;
17757
+ readonly inner: Readonly<{
17758
+ data: UrlSuccessActionData;
17759
+ }>;
17760
+ /**
17761
+ * @private
17762
+ * This field is private and should not be used, use `tag` instead.
17763
+ */
17764
+ readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
17765
+ };
17766
+ instanceOf(obj: any): obj is {
17767
+ readonly tag: SuccessActionProcessed_Tags.Url;
17768
+ readonly inner: Readonly<{
17769
+ data: UrlSuccessActionData;
17770
+ }>;
17771
+ /**
17772
+ * @private
17773
+ * This field is private and should not be used, use `tag` instead.
17774
+ */
17775
+ readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
17776
+ };
17777
+ };
17778
+ }>;
17779
+ /**
17780
+ * [`SuccessAction`] where contents are ready to be consumed by the caller
17781
+ *
17782
+ * Contents are identical to [`SuccessAction`], except for AES where the ciphertext is decrypted.
17783
+ */
17784
+ export type SuccessActionProcessed = InstanceType<(typeof SuccessActionProcessed)[keyof Omit<typeof SuccessActionProcessed, 'instanceOf'>]>;
17785
+ export declare enum TokenTransactionType {
17786
+ Transfer = 0,
17787
+ Mint = 1,
17788
+ Burn = 2
17789
+ }
17790
+ export declare enum TransferSignature_Tags {
17791
+ Transfer = "Transfer",
17792
+ Token = "Token"
17793
+ }
17794
+ export declare const TransferSignature: Readonly<{
17795
+ instanceOf: (obj: any) => obj is TransferSignature;
17796
+ Transfer: {
17797
+ new (inner: {
17798
+ signed: ExternalPreparedTransfer;
17799
+ }): {
17800
+ readonly tag: TransferSignature_Tags.Transfer;
17801
+ readonly inner: Readonly<{
17802
+ signed: ExternalPreparedTransfer;
17803
+ }>;
17804
+ /**
17805
+ * @private
17806
+ * This field is private and should not be used, use `tag` instead.
17807
+ */
17808
+ readonly [uniffiTypeNameSymbol]: "TransferSignature";
17809
+ };
17810
+ "new"(inner: {
17811
+ signed: ExternalPreparedTransfer;
17812
+ }): {
17813
+ readonly tag: TransferSignature_Tags.Transfer;
17814
+ readonly inner: Readonly<{
17815
+ signed: ExternalPreparedTransfer;
17816
+ }>;
17817
+ /**
17818
+ * @private
17819
+ * This field is private and should not be used, use `tag` instead.
17820
+ */
17821
+ readonly [uniffiTypeNameSymbol]: "TransferSignature";
17822
+ };
17823
+ instanceOf(obj: any): obj is {
17824
+ readonly tag: TransferSignature_Tags.Transfer;
17825
+ readonly inner: Readonly<{
17826
+ signed: ExternalPreparedTransfer;
17827
+ }>;
17828
+ /**
17829
+ * @private
17830
+ * This field is private and should not be used, use `tag` instead.
17831
+ */
17832
+ readonly [uniffiTypeNameSymbol]: "TransferSignature";
17833
+ };
17834
+ };
17835
+ Token: {
17836
+ new (inner: {
17837
+ signed: ExternalPreparedTokenTransaction;
17838
+ }): {
17839
+ readonly tag: TransferSignature_Tags.Token;
17840
+ readonly inner: Readonly<{
17841
+ signed: ExternalPreparedTokenTransaction;
17842
+ }>;
17843
+ /**
17844
+ * @private
17845
+ * This field is private and should not be used, use `tag` instead.
17846
+ */
17847
+ readonly [uniffiTypeNameSymbol]: "TransferSignature";
17848
+ };
17849
+ "new"(inner: {
17850
+ signed: ExternalPreparedTokenTransaction;
17851
+ }): {
17852
+ readonly tag: TransferSignature_Tags.Token;
17853
+ readonly inner: Readonly<{
17854
+ signed: ExternalPreparedTokenTransaction;
17855
+ }>;
17856
+ /**
17857
+ * @private
17858
+ * This field is private and should not be used, use `tag` instead.
17859
+ */
17860
+ readonly [uniffiTypeNameSymbol]: "TransferSignature";
17861
+ };
17862
+ instanceOf(obj: any): obj is {
17863
+ readonly tag: TransferSignature_Tags.Token;
17864
+ readonly inner: Readonly<{
17865
+ signed: ExternalPreparedTokenTransaction;
17866
+ }>;
17867
+ /**
17868
+ * @private
17869
+ * This field is private and should not be used, use `tag` instead.
17870
+ */
17871
+ readonly [uniffiTypeNameSymbol]: "TransferSignature";
17872
+ };
17873
+ };
17874
+ }>;
17875
+ export type TransferSignature = InstanceType<(typeof TransferSignature)[keyof Omit<typeof TransferSignature, 'instanceOf'>]>;
17876
+ export declare enum TransferTarget_Tags {
17877
+ Spark = "Spark",
17878
+ Lightning = "Lightning",
17879
+ CoopExit = "CoopExit"
17880
+ }
17881
+ export declare const TransferTarget: Readonly<{
17882
+ instanceOf: (obj: any) => obj is TransferTarget;
17883
+ Spark: {
17884
+ new (inner: {
17885
+ address: string;
17886
+ sparkInvoice: string | undefined;
17887
+ }): {
17888
+ readonly tag: TransferTarget_Tags.Spark;
17889
+ readonly inner: Readonly<{
17890
+ address: string;
17891
+ sparkInvoice: string | undefined;
17892
+ }>;
17893
+ /**
17894
+ * @private
17895
+ * This field is private and should not be used, use `tag` instead.
17896
+ */
17897
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
17898
+ };
17899
+ "new"(inner: {
17900
+ address: string;
17901
+ sparkInvoice: string | undefined;
17902
+ }): {
17903
+ readonly tag: TransferTarget_Tags.Spark;
17904
+ readonly inner: Readonly<{
17905
+ address: string;
17906
+ sparkInvoice: string | undefined;
17907
+ }>;
17908
+ /**
17909
+ * @private
17910
+ * This field is private and should not be used, use `tag` instead.
17911
+ */
17912
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
17913
+ };
17914
+ instanceOf(obj: any): obj is {
17915
+ readonly tag: TransferTarget_Tags.Spark;
17916
+ readonly inner: Readonly<{
17917
+ address: string;
17918
+ sparkInvoice: string | undefined;
17919
+ }>;
17920
+ /**
17921
+ * @private
17922
+ * This field is private and should not be used, use `tag` instead.
17923
+ */
17924
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
17925
+ };
17926
+ };
17927
+ Lightning: {
17928
+ new (inner: {
17929
+ bolt11: string;
17930
+ lnurlPay: LnurlPayContext | undefined;
17931
+ feePolicy: FeePolicy;
17932
+ completionTimeoutSecs: /*u32*/ number | undefined;
17933
+ }): {
17934
+ readonly tag: TransferTarget_Tags.Lightning;
17935
+ readonly inner: Readonly<{
17936
+ bolt11: string;
17937
+ lnurlPay: LnurlPayContext | undefined;
17938
+ feePolicy: FeePolicy;
17939
+ completionTimeoutSecs: /*u32*/ number | undefined;
17940
+ }>;
17941
+ /**
17942
+ * @private
17943
+ * This field is private and should not be used, use `tag` instead.
17944
+ */
17945
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
17946
+ };
17947
+ "new"(inner: {
17948
+ bolt11: string;
17949
+ lnurlPay: LnurlPayContext | undefined;
17950
+ feePolicy: FeePolicy;
17951
+ completionTimeoutSecs: /*u32*/ number | undefined;
17952
+ }): {
17953
+ readonly tag: TransferTarget_Tags.Lightning;
17954
+ readonly inner: Readonly<{
17955
+ bolt11: string;
17956
+ lnurlPay: LnurlPayContext | undefined;
17957
+ feePolicy: FeePolicy;
17958
+ completionTimeoutSecs: /*u32*/ number | undefined;
17959
+ }>;
17960
+ /**
17961
+ * @private
17962
+ * This field is private and should not be used, use `tag` instead.
17963
+ */
17964
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
17965
+ };
17966
+ instanceOf(obj: any): obj is {
17967
+ readonly tag: TransferTarget_Tags.Lightning;
17968
+ readonly inner: Readonly<{
17969
+ bolt11: string;
17970
+ lnurlPay: LnurlPayContext | undefined;
17971
+ feePolicy: FeePolicy;
17972
+ completionTimeoutSecs: /*u32*/ number | undefined;
17973
+ }>;
17974
+ /**
17975
+ * @private
17976
+ * This field is private and should not be used, use `tag` instead.
17977
+ */
17978
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
17979
+ };
17980
+ };
17981
+ CoopExit: {
17982
+ new (inner: {
17983
+ address: string;
17984
+ feeQuote: SendOnchainFeeQuote;
17985
+ confirmationSpeed: OnchainConfirmationSpeed;
17986
+ }): {
17987
+ readonly tag: TransferTarget_Tags.CoopExit;
17988
+ readonly inner: Readonly<{
17989
+ address: string;
17990
+ feeQuote: SendOnchainFeeQuote;
17991
+ confirmationSpeed: OnchainConfirmationSpeed;
17992
+ }>;
17993
+ /**
17994
+ * @private
17995
+ * This field is private and should not be used, use `tag` instead.
17996
+ */
17997
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
17998
+ };
17999
+ "new"(inner: {
18000
+ address: string;
18001
+ feeQuote: SendOnchainFeeQuote;
18002
+ confirmationSpeed: OnchainConfirmationSpeed;
18003
+ }): {
18004
+ readonly tag: TransferTarget_Tags.CoopExit;
17017
18005
  readonly inner: Readonly<{
17018
- data: UrlSuccessActionData;
18006
+ address: string;
18007
+ feeQuote: SendOnchainFeeQuote;
18008
+ confirmationSpeed: OnchainConfirmationSpeed;
17019
18009
  }>;
17020
18010
  /**
17021
18011
  * @private
17022
18012
  * This field is private and should not be used, use `tag` instead.
17023
18013
  */
17024
- readonly [uniffiTypeNameSymbol]: "SuccessAction";
18014
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
17025
18015
  };
17026
18016
  instanceOf(obj: any): obj is {
17027
- readonly tag: SuccessAction_Tags.Url;
18017
+ readonly tag: TransferTarget_Tags.CoopExit;
17028
18018
  readonly inner: Readonly<{
17029
- data: UrlSuccessActionData;
18019
+ address: string;
18020
+ feeQuote: SendOnchainFeeQuote;
18021
+ confirmationSpeed: OnchainConfirmationSpeed;
17030
18022
  }>;
17031
18023
  /**
17032
18024
  * @private
17033
18025
  * This field is private and should not be used, use `tag` instead.
17034
18026
  */
17035
- readonly [uniffiTypeNameSymbol]: "SuccessAction";
18027
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
17036
18028
  };
17037
18029
  };
17038
18030
  }>;
17039
- /**
17040
- * Supported success action types
17041
- *
17042
- * Receiving any other (unsupported) success action type will result in a failed parsing,
17043
- * which will abort the LNURL-pay workflow, as per LUD-09.
17044
- */
17045
- export type SuccessAction = InstanceType<(typeof SuccessAction)[keyof Omit<typeof SuccessAction, 'instanceOf'>]>;
17046
- export declare enum SuccessActionProcessed_Tags {
17047
- Aes = "Aes",
17048
- Message = "Message",
17049
- Url = "Url"
18031
+ export type TransferTarget = InstanceType<(typeof TransferTarget)[keyof Omit<typeof TransferTarget, 'instanceOf'>]>;
18032
+ export declare enum UnsignedTransferPackage_Tags {
18033
+ Swap = "Swap",
18034
+ Transfer = "Transfer",
18035
+ Token = "Token"
17050
18036
  }
17051
- /**
17052
- * [`SuccessAction`] where contents are ready to be consumed by the caller
17053
- *
17054
- * Contents are identical to [`SuccessAction`], except for AES where the ciphertext is decrypted.
17055
- */
17056
- export declare const SuccessActionProcessed: Readonly<{
17057
- instanceOf: (obj: any) => obj is SuccessActionProcessed;
17058
- Aes: {
18037
+ export declare const UnsignedTransferPackage: Readonly<{
18038
+ instanceOf: (obj: any) => obj is UnsignedTransferPackage;
18039
+ Swap: {
17059
18040
  new (inner: {
17060
- result: AesSuccessActionDataResult;
18041
+ prepareTransfer: ExternalPrepareTransferRequest;
18042
+ targetAmounts: Array</*u64*/ bigint>;
18043
+ amountSat: bigint;
18044
+ feeSat: bigint;
17061
18045
  }): {
17062
- readonly tag: SuccessActionProcessed_Tags.Aes;
18046
+ readonly tag: UnsignedTransferPackage_Tags.Swap;
17063
18047
  readonly inner: Readonly<{
17064
- result: AesSuccessActionDataResult;
18048
+ prepareTransfer: ExternalPrepareTransferRequest;
18049
+ targetAmounts: Array</*u64*/ bigint>;
18050
+ amountSat: bigint;
18051
+ feeSat: bigint;
17065
18052
  }>;
17066
18053
  /**
17067
18054
  * @private
17068
18055
  * This field is private and should not be used, use `tag` instead.
17069
18056
  */
17070
- readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
18057
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
17071
18058
  };
17072
18059
  "new"(inner: {
17073
- result: AesSuccessActionDataResult;
18060
+ prepareTransfer: ExternalPrepareTransferRequest;
18061
+ targetAmounts: Array</*u64*/ bigint>;
18062
+ amountSat: bigint;
18063
+ feeSat: bigint;
17074
18064
  }): {
17075
- readonly tag: SuccessActionProcessed_Tags.Aes;
18065
+ readonly tag: UnsignedTransferPackage_Tags.Swap;
17076
18066
  readonly inner: Readonly<{
17077
- result: AesSuccessActionDataResult;
18067
+ prepareTransfer: ExternalPrepareTransferRequest;
18068
+ targetAmounts: Array</*u64*/ bigint>;
18069
+ amountSat: bigint;
18070
+ feeSat: bigint;
17078
18071
  }>;
17079
18072
  /**
17080
18073
  * @private
17081
18074
  * This field is private and should not be used, use `tag` instead.
17082
18075
  */
17083
- readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
18076
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
17084
18077
  };
17085
18078
  instanceOf(obj: any): obj is {
17086
- readonly tag: SuccessActionProcessed_Tags.Aes;
18079
+ readonly tag: UnsignedTransferPackage_Tags.Swap;
17087
18080
  readonly inner: Readonly<{
17088
- result: AesSuccessActionDataResult;
18081
+ prepareTransfer: ExternalPrepareTransferRequest;
18082
+ targetAmounts: Array</*u64*/ bigint>;
18083
+ amountSat: bigint;
18084
+ feeSat: bigint;
17089
18085
  }>;
17090
18086
  /**
17091
18087
  * @private
17092
18088
  * This field is private and should not be used, use `tag` instead.
17093
18089
  */
17094
- readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
18090
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
17095
18091
  };
17096
18092
  };
17097
- Message: {
18093
+ Transfer: {
17098
18094
  new (inner: {
17099
- data: MessageSuccessActionData;
18095
+ prepareTransfer: ExternalPrepareTransferRequest;
18096
+ amountSat: bigint;
18097
+ feeSat: bigint;
18098
+ target: TransferTarget;
17100
18099
  }): {
17101
- readonly tag: SuccessActionProcessed_Tags.Message;
18100
+ readonly tag: UnsignedTransferPackage_Tags.Transfer;
17102
18101
  readonly inner: Readonly<{
17103
- data: MessageSuccessActionData;
18102
+ prepareTransfer: ExternalPrepareTransferRequest;
18103
+ amountSat: bigint;
18104
+ feeSat: bigint;
18105
+ target: TransferTarget;
17104
18106
  }>;
17105
18107
  /**
17106
18108
  * @private
17107
18109
  * This field is private and should not be used, use `tag` instead.
17108
18110
  */
17109
- readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
18111
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
17110
18112
  };
17111
18113
  "new"(inner: {
17112
- data: MessageSuccessActionData;
18114
+ prepareTransfer: ExternalPrepareTransferRequest;
18115
+ amountSat: bigint;
18116
+ feeSat: bigint;
18117
+ target: TransferTarget;
17113
18118
  }): {
17114
- readonly tag: SuccessActionProcessed_Tags.Message;
18119
+ readonly tag: UnsignedTransferPackage_Tags.Transfer;
17115
18120
  readonly inner: Readonly<{
17116
- data: MessageSuccessActionData;
18121
+ prepareTransfer: ExternalPrepareTransferRequest;
18122
+ amountSat: bigint;
18123
+ feeSat: bigint;
18124
+ target: TransferTarget;
17117
18125
  }>;
17118
18126
  /**
17119
18127
  * @private
17120
18128
  * This field is private and should not be used, use `tag` instead.
17121
18129
  */
17122
- readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
18130
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
17123
18131
  };
17124
18132
  instanceOf(obj: any): obj is {
17125
- readonly tag: SuccessActionProcessed_Tags.Message;
18133
+ readonly tag: UnsignedTransferPackage_Tags.Transfer;
17126
18134
  readonly inner: Readonly<{
17127
- data: MessageSuccessActionData;
18135
+ prepareTransfer: ExternalPrepareTransferRequest;
18136
+ amountSat: bigint;
18137
+ feeSat: bigint;
18138
+ target: TransferTarget;
17128
18139
  }>;
17129
18140
  /**
17130
18141
  * @private
17131
18142
  * This field is private and should not be used, use `tag` instead.
17132
18143
  */
17133
- readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
18144
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
17134
18145
  };
17135
18146
  };
17136
- Url: {
18147
+ Token: {
17137
18148
  new (inner: {
17138
- data: UrlSuccessActionData;
18149
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
18150
+ tokenContext: ArrayBuffer;
18151
+ tokenIdentifier: string;
18152
+ amount: U128;
18153
+ fee: U128;
18154
+ /**
18155
+ * When set, this package re-shapes the wallet's token outputs instead of
18156
+ * sending a payment. Publishing it returns `SwapCompleted`: rebuild the
18157
+ * original send from the same prepare response and submit again.
18158
+ */ isSwap: boolean;
17139
18159
  }): {
17140
- readonly tag: SuccessActionProcessed_Tags.Url;
18160
+ readonly tag: UnsignedTransferPackage_Tags.Token;
17141
18161
  readonly inner: Readonly<{
17142
- data: UrlSuccessActionData;
18162
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
18163
+ tokenContext: ArrayBuffer;
18164
+ tokenIdentifier: string;
18165
+ amount: U128;
18166
+ fee: U128;
18167
+ isSwap: boolean;
17143
18168
  }>;
17144
18169
  /**
17145
18170
  * @private
17146
18171
  * This field is private and should not be used, use `tag` instead.
17147
18172
  */
17148
- readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
18173
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
17149
18174
  };
17150
18175
  "new"(inner: {
17151
- data: UrlSuccessActionData;
18176
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
18177
+ tokenContext: ArrayBuffer;
18178
+ tokenIdentifier: string;
18179
+ amount: U128;
18180
+ fee: U128;
18181
+ /**
18182
+ * When set, this package re-shapes the wallet's token outputs instead of
18183
+ * sending a payment. Publishing it returns `SwapCompleted`: rebuild the
18184
+ * original send from the same prepare response and submit again.
18185
+ */ isSwap: boolean;
17152
18186
  }): {
17153
- readonly tag: SuccessActionProcessed_Tags.Url;
18187
+ readonly tag: UnsignedTransferPackage_Tags.Token;
17154
18188
  readonly inner: Readonly<{
17155
- data: UrlSuccessActionData;
18189
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
18190
+ tokenContext: ArrayBuffer;
18191
+ tokenIdentifier: string;
18192
+ amount: U128;
18193
+ fee: U128;
18194
+ isSwap: boolean;
17156
18195
  }>;
17157
18196
  /**
17158
18197
  * @private
17159
18198
  * This field is private and should not be used, use `tag` instead.
17160
18199
  */
17161
- readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
18200
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
17162
18201
  };
17163
18202
  instanceOf(obj: any): obj is {
17164
- readonly tag: SuccessActionProcessed_Tags.Url;
18203
+ readonly tag: UnsignedTransferPackage_Tags.Token;
17165
18204
  readonly inner: Readonly<{
17166
- data: UrlSuccessActionData;
18205
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
18206
+ tokenContext: ArrayBuffer;
18207
+ tokenIdentifier: string;
18208
+ amount: U128;
18209
+ fee: U128;
18210
+ isSwap: boolean;
17167
18211
  }>;
17168
18212
  /**
17169
18213
  * @private
17170
18214
  * This field is private and should not be used, use `tag` instead.
17171
18215
  */
17172
- readonly [uniffiTypeNameSymbol]: "SuccessActionProcessed";
18216
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
17173
18217
  };
17174
18218
  };
17175
18219
  }>;
17176
- /**
17177
- * [`SuccessAction`] where contents are ready to be consumed by the caller
17178
- *
17179
- * Contents are identical to [`SuccessAction`], except for AES where the ciphertext is decrypted.
17180
- */
17181
- export type SuccessActionProcessed = InstanceType<(typeof SuccessActionProcessed)[keyof Omit<typeof SuccessActionProcessed, 'instanceOf'>]>;
17182
- export declare enum TokenTransactionType {
17183
- Transfer = 0,
17184
- Mint = 1,
17185
- Burn = 2
17186
- }
18220
+ export type UnsignedTransferPackage = InstanceType<(typeof UnsignedTransferPackage)[keyof Omit<typeof UnsignedTransferPackage, 'instanceOf'>]>;
17187
18221
  export declare enum UpdateDepositPayload_Tags {
17188
18222
  ClaimError = "ClaimError",
17189
18223
  Refund = "Refund"
@@ -17516,6 +18550,12 @@ export interface BreezSdkInterface {
17516
18550
  authorizeLightningAddressTransfer(request: AuthorizeTransferRequest, asyncOpts_?: {
17517
18551
  signal: AbortSignal;
17518
18552
  }): Promise<TransferAuthorization>;
18553
+ buildUnsignedLnurlPayPackage(request: BuildUnsignedLnurlPayPackageRequest, asyncOpts_?: {
18554
+ signal: AbortSignal;
18555
+ }): Promise<UnsignedTransferPackage>;
18556
+ buildUnsignedTransferPackage(request: BuildUnsignedTransferPackageRequest, asyncOpts_?: {
18557
+ signal: AbortSignal;
18558
+ }): Promise<UnsignedTransferPackage>;
17519
18559
  /**
17520
18560
  * Initiates a Bitcoin purchase flow via an external provider.
17521
18561
  *
@@ -17768,6 +18808,12 @@ export interface BreezSdkInterface {
17768
18808
  prepareSendPayment(request: PrepareSendPaymentRequest, asyncOpts_?: {
17769
18809
  signal: AbortSignal;
17770
18810
  }): Promise<PrepareSendPaymentResponse>;
18811
+ publishSignedLnurlPayPackage(request: PublishSignedLnurlPayPackageRequest, asyncOpts_?: {
18812
+ signal: AbortSignal;
18813
+ }): Promise<PublishSignedLnurlPayResponse>;
18814
+ publishSignedTransferPackage(request: PublishSignedTransferPackageRequest, asyncOpts_?: {
18815
+ signal: AbortSignal;
18816
+ }): Promise<PublishSignedTransferPackageResponse>;
17771
18817
  receivePayment(request: ReceivePaymentRequest, asyncOpts_?: {
17772
18818
  signal: AbortSignal;
17773
18819
  }): Promise<ReceivePaymentResponse>;
@@ -17934,6 +18980,12 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
17934
18980
  authorizeLightningAddressTransfer(request: AuthorizeTransferRequest, asyncOpts_?: {
17935
18981
  signal: AbortSignal;
17936
18982
  }): Promise<TransferAuthorization>;
18983
+ buildUnsignedLnurlPayPackage(request: BuildUnsignedLnurlPayPackageRequest, asyncOpts_?: {
18984
+ signal: AbortSignal;
18985
+ }): Promise<UnsignedTransferPackage>;
18986
+ buildUnsignedTransferPackage(request: BuildUnsignedTransferPackageRequest, asyncOpts_?: {
18987
+ signal: AbortSignal;
18988
+ }): Promise<UnsignedTransferPackage>;
17937
18989
  /**
17938
18990
  * Initiates a Bitcoin purchase flow via an external provider.
17939
18991
  *
@@ -18186,6 +19238,12 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
18186
19238
  prepareSendPayment(request: PrepareSendPaymentRequest, asyncOpts_?: {
18187
19239
  signal: AbortSignal;
18188
19240
  }): Promise<PrepareSendPaymentResponse>;
19241
+ publishSignedLnurlPayPackage(request: PublishSignedLnurlPayPackageRequest, asyncOpts_?: {
19242
+ signal: AbortSignal;
19243
+ }): Promise<PublishSignedLnurlPayResponse>;
19244
+ publishSignedTransferPackage(request: PublishSignedTransferPackageRequest, asyncOpts_?: {
19245
+ signal: AbortSignal;
19246
+ }): Promise<PublishSignedTransferPackageResponse>;
18189
19247
  receivePayment(request: ReceivePaymentRequest, asyncOpts_?: {
18190
19248
  signal: AbortSignal;
18191
19249
  }): Promise<ReceivePaymentResponse>;
@@ -18544,6 +19602,151 @@ export declare class ExternalBreezSignerImpl extends UniffiAbstractObject implem
18544
19602
  uniffiDestroy(): void;
18545
19603
  static instanceOf(obj: any): obj is ExternalBreezSignerImpl;
18546
19604
  }
19605
+ /**
19606
+ * External signer that provides signing only, without the SDK's local
19607
+ * ECIES/HMAC operations.
19608
+ *
19609
+ * Implement this instead of [`ExternalBreezSigner`] for a signer that can't
19610
+ * release key material for local encryption (for example a policy-restricted
19611
+ * enclave). The capability is declared by the type: the SDK keeps session
19612
+ * tokens in plaintext and the features that rely on ECIES/HMAC are unavailable.
19613
+ */
19614
+ export interface ExternalSigningSigner {
19615
+ /**
19616
+ * Derives a public key for the given BIP32 derivation path.
19617
+ *
19618
+ * # Arguments
19619
+ * * `path` - BIP32 derivation path as a string (e.g., "m/44'/0'/0'/0/0")
19620
+ *
19621
+ * # Returns
19622
+ * The derived public key as 33 bytes, or a `SignerError`
19623
+ *
19624
+ * See also: [JavaScript `getPublicKeyFromDerivation`](https://docs.spark.money/wallets/spark-signer#get-public-key-from-derivation)
19625
+ */
19626
+ derivePublicKey(path: string, asyncOpts_?: {
19627
+ signal: AbortSignal;
19628
+ }): Promise<PublicKeyBytes>;
19629
+ /**
19630
+ * Signs a message using ECDSA at the given derivation path.
19631
+ *
19632
+ * The message should be a 32-byte digest (typically a hash of the original data).
19633
+ *
19634
+ * # Arguments
19635
+ * * `message` - The 32-byte message digest to sign
19636
+ * * `path` - BIP32 derivation path as a string
19637
+ *
19638
+ * # Returns
19639
+ * 64-byte compact ECDSA signature, or a `SignerError`
19640
+ */
19641
+ signEcdsa(message: MessageBytes, path: string, asyncOpts_?: {
19642
+ signal: AbortSignal;
19643
+ }): Promise<EcdsaSignatureBytes>;
19644
+ /**
19645
+ * Signs a message using recoverable ECDSA at the given derivation path.
19646
+ *
19647
+ * The message should be a 32-byte digest (typically a hash of the original data).
19648
+ *
19649
+ * # Arguments
19650
+ * * `message` - The 32-byte message digest to sign
19651
+ * * `path` - BIP32 derivation path as a string
19652
+ *
19653
+ * # Returns
19654
+ * 65 bytes: recovery ID (31 + `recovery_id`) + 64-byte signature, or a `SignerError`
19655
+ */
19656
+ signEcdsaRecoverable(message: MessageBytes, path: string, asyncOpts_?: {
19657
+ signal: AbortSignal;
19658
+ }): Promise<RecoverableEcdsaSignatureBytes>;
19659
+ /**
19660
+ * Signs a hash using Schnorr signature at the given derivation path.
19661
+ *
19662
+ * # Arguments
19663
+ * * `hash` - The 32-byte hash to sign (must be 32 bytes)
19664
+ * * `path` - BIP32 derivation path as a string
19665
+ *
19666
+ * # Returns
19667
+ * 64-byte Schnorr signature, or a `SignerError`
19668
+ */
19669
+ signHashSchnorr(hash: ArrayBuffer, path: string, asyncOpts_?: {
19670
+ signal: AbortSignal;
19671
+ }): Promise<SchnorrSignatureBytes>;
19672
+ }
19673
+ /**
19674
+ * External signer that provides signing only, without the SDK's local
19675
+ * ECIES/HMAC operations.
19676
+ *
19677
+ * Implement this instead of [`ExternalBreezSigner`] for a signer that can't
19678
+ * release key material for local encryption (for example a policy-restricted
19679
+ * enclave). The capability is declared by the type: the SDK keeps session
19680
+ * tokens in plaintext and the features that rely on ECIES/HMAC are unavailable.
19681
+ */
19682
+ export declare class ExternalSigningSignerImpl extends UniffiAbstractObject implements ExternalSigningSigner {
19683
+ readonly [uniffiTypeNameSymbol] = "ExternalSigningSignerImpl";
19684
+ readonly [destructorGuardSymbol]: UniffiRustArcPtr;
19685
+ readonly [pointerLiteralSymbol]: UnsafeMutableRawPointer;
19686
+ private constructor();
19687
+ /**
19688
+ * Derives a public key for the given BIP32 derivation path.
19689
+ *
19690
+ * # Arguments
19691
+ * * `path` - BIP32 derivation path as a string (e.g., "m/44'/0'/0'/0/0")
19692
+ *
19693
+ * # Returns
19694
+ * The derived public key as 33 bytes, or a `SignerError`
19695
+ *
19696
+ * See also: [JavaScript `getPublicKeyFromDerivation`](https://docs.spark.money/wallets/spark-signer#get-public-key-from-derivation)
19697
+ */
19698
+ derivePublicKey(path: string, asyncOpts_?: {
19699
+ signal: AbortSignal;
19700
+ }): Promise<PublicKeyBytes>;
19701
+ /**
19702
+ * Signs a message using ECDSA at the given derivation path.
19703
+ *
19704
+ * The message should be a 32-byte digest (typically a hash of the original data).
19705
+ *
19706
+ * # Arguments
19707
+ * * `message` - The 32-byte message digest to sign
19708
+ * * `path` - BIP32 derivation path as a string
19709
+ *
19710
+ * # Returns
19711
+ * 64-byte compact ECDSA signature, or a `SignerError`
19712
+ */
19713
+ signEcdsa(message: MessageBytes, path: string, asyncOpts_?: {
19714
+ signal: AbortSignal;
19715
+ }): Promise<EcdsaSignatureBytes>;
19716
+ /**
19717
+ * Signs a message using recoverable ECDSA at the given derivation path.
19718
+ *
19719
+ * The message should be a 32-byte digest (typically a hash of the original data).
19720
+ *
19721
+ * # Arguments
19722
+ * * `message` - The 32-byte message digest to sign
19723
+ * * `path` - BIP32 derivation path as a string
19724
+ *
19725
+ * # Returns
19726
+ * 65 bytes: recovery ID (31 + `recovery_id`) + 64-byte signature, or a `SignerError`
19727
+ */
19728
+ signEcdsaRecoverable(message: MessageBytes, path: string, asyncOpts_?: {
19729
+ signal: AbortSignal;
19730
+ }): Promise<RecoverableEcdsaSignatureBytes>;
19731
+ /**
19732
+ * Signs a hash using Schnorr signature at the given derivation path.
19733
+ *
19734
+ * # Arguments
19735
+ * * `hash` - The 32-byte hash to sign (must be 32 bytes)
19736
+ * * `path` - BIP32 derivation path as a string
19737
+ *
19738
+ * # Returns
19739
+ * 64-byte Schnorr signature, or a `SignerError`
19740
+ */
19741
+ signHashSchnorr(hash: ArrayBuffer, path: string, asyncOpts_?: {
19742
+ signal: AbortSignal;
19743
+ }): Promise<SchnorrSignatureBytes>;
19744
+ /**
19745
+ * {@inheritDoc uniffi-bindgen-react-native#UniffiAbstractObject.uniffiDestroy}
19746
+ */
19747
+ uniffiDestroy(): void;
19748
+ static instanceOf(obj: any): obj is ExternalSigningSignerImpl;
19749
+ }
18547
19750
  /**
18548
19751
  * FFI-compatible mirror of `spark_wallet::SparkSigner`.
18549
19752
  */
@@ -18560,6 +19763,13 @@ export interface ExternalSparkSigner {
18560
19763
  getPublicKeyForLeaf(leafId: ExternalTreeNodeId, asyncOpts_?: {
18561
19764
  signal: AbortSignal;
18562
19765
  }): Promise<PublicKeyBytes>;
19766
+ /**
19767
+ * Whether this signer is backed by a remote service, so its operations are
19768
+ * network round-trips rather than local computation. Local signers return
19769
+ * false; a hosted signer like Turnkey returns true so the SDK can avoid
19770
+ * redundant calls, e.g. re-deriving keys for leaves it has already verified.
19771
+ */
19772
+ isRemote(): boolean;
18563
19773
  /**
18564
19774
  * The static-deposit signing public key at `index`.
18565
19775
  */
@@ -18659,6 +19869,13 @@ export declare class ExternalSparkSignerImpl extends UniffiAbstractObject implem
18659
19869
  getPublicKeyForLeaf(leafId: ExternalTreeNodeId, asyncOpts_?: {
18660
19870
  signal: AbortSignal;
18661
19871
  }): Promise<PublicKeyBytes>;
19872
+ /**
19873
+ * Whether this signer is backed by a remote service, so its operations are
19874
+ * network round-trips rather than local computation. Local signers return
19875
+ * false; a hosted signer like Turnkey returns true so the SDK can avoid
19876
+ * redundant calls, e.g. re-deriving keys for leaves it has already verified.
19877
+ */
19878
+ isRemote(): boolean;
18662
19879
  /**
18663
19880
  * The static-deposit signing public key at `index`.
18664
19881
  */
@@ -19359,6 +20576,18 @@ export interface SdkBuilderInterface {
19359
20576
  withRestChainService(url: string, apiType: ChainApiType, credentials: Credentials | undefined, asyncOpts_?: {
19360
20577
  signal: AbortSignal;
19361
20578
  }): Promise<void>;
20579
+ /**
20580
+ * Overrides the session store used to cache auth tokens, replacing the one
20581
+ * the backend provides. Supply any [`SessionStore`]: for example one that
20582
+ * wraps the backend's own store (from
20583
+ * [`default_session_store`](crate::default_session_store)) to add at-rest
20584
+ * encryption, which the SDK does not apply itself.
20585
+ * Arguments:
20586
+ * - `session_store`: The session store to use in place of the backend's.
20587
+ */
20588
+ withSessionStore(sessionStore: SessionStore, asyncOpts_?: {
20589
+ signal: AbortSignal;
20590
+ }): Promise<void>;
19362
20591
  /**
19363
20592
  * Threads a shared [`SdkContext`](crate::SdkContext) into the builder.
19364
20593
  *
@@ -19421,6 +20650,19 @@ export declare class SdkBuilder extends UniffiAbstractObject implements SdkBuild
19421
20650
  * - `spark_signer`: External high-level Spark signer for the Spark wallet.
19422
20651
  */
19423
20652
  static newWithSigner(config: Config, breezSigner: ExternalBreezSigner, sparkSigner: ExternalSparkSigner): SdkBuilderInterface;
20653
+ /**
20654
+ * Creates a new `SdkBuilder` with a signing-only external signer.
20655
+ *
20656
+ * Use this for a signer that can't perform the SDK's local ECIES/HMAC
20657
+ * operations (for example a policy-restricted enclave). The SDK keeps
20658
+ * session tokens in plaintext and disables the features that rely on
20659
+ * ECIES/HMAC.
20660
+ * Arguments:
20661
+ * - `config`: The configuration to be used.
20662
+ * - `breez_signer`: Signing-only external signer for non-Spark SDK signing.
20663
+ * - `spark_signer`: External high-level Spark signer for the Spark wallet.
20664
+ */
20665
+ static newWithSigningOnlySigner(config: Config, breezSigner: ExternalSigningSigner, sparkSigner: ExternalSparkSigner): SdkBuilderInterface;
19424
20666
  /**
19425
20667
  * Builds the `BreezSdk` instance with the configured components.
19426
20668
  */
@@ -19485,6 +20727,18 @@ export declare class SdkBuilder extends UniffiAbstractObject implements SdkBuild
19485
20727
  withRestChainService(url: string, apiType: ChainApiType, credentials: Credentials | undefined, asyncOpts_?: {
19486
20728
  signal: AbortSignal;
19487
20729
  }): Promise<void>;
20730
+ /**
20731
+ * Overrides the session store used to cache auth tokens, replacing the one
20732
+ * the backend provides. Supply any [`SessionStore`]: for example one that
20733
+ * wraps the backend's own store (from
20734
+ * [`default_session_store`](crate::default_session_store)) to add at-rest
20735
+ * encryption, which the SDK does not apply itself.
20736
+ * Arguments:
20737
+ * - `session_store`: The session store to use in place of the backend's.
20738
+ */
20739
+ withSessionStore(sessionStore: SessionStore, asyncOpts_?: {
20740
+ signal: AbortSignal;
20741
+ }): Promise<void>;
19488
20742
  /**
19489
20743
  * Threads a shared [`SdkContext`](crate::SdkContext) into the builder.
19490
20744
  *
@@ -20548,6 +21802,27 @@ declare const _default: Readonly<{
20548
21802
  lower(value: Bolt12OfferDetails): UniffiByteArray;
20549
21803
  };
20550
21804
  FfiConverterTypeBreezSdk: FfiConverterObject<BreezSdkInterface>;
21805
+ FfiConverterTypeBuildTransferPackageOptions: {
21806
+ read(from: RustBuffer): BuildTransferPackageOptions;
21807
+ write(value: BuildTransferPackageOptions, into: RustBuffer): void;
21808
+ allocationSize(value: BuildTransferPackageOptions): number;
21809
+ lift(value: UniffiByteArray): BuildTransferPackageOptions;
21810
+ lower(value: BuildTransferPackageOptions): UniffiByteArray;
21811
+ };
21812
+ FfiConverterTypeBuildUnsignedLnurlPayPackageRequest: {
21813
+ read(from: RustBuffer): BuildUnsignedLnurlPayPackageRequest;
21814
+ write(value: BuildUnsignedLnurlPayPackageRequest, into: RustBuffer): void;
21815
+ allocationSize(value: BuildUnsignedLnurlPayPackageRequest): number;
21816
+ lift(value: UniffiByteArray): BuildUnsignedLnurlPayPackageRequest;
21817
+ lower(value: BuildUnsignedLnurlPayPackageRequest): UniffiByteArray;
21818
+ };
21819
+ FfiConverterTypeBuildUnsignedTransferPackageRequest: {
21820
+ read(from: RustBuffer): BuildUnsignedTransferPackageRequest;
21821
+ write(value: BuildUnsignedTransferPackageRequest, into: RustBuffer): void;
21822
+ allocationSize(value: BuildUnsignedTransferPackageRequest): number;
21823
+ lift(value: UniffiByteArray): BuildUnsignedTransferPackageRequest;
21824
+ lower(value: BuildUnsignedTransferPackageRequest): UniffiByteArray;
21825
+ };
20551
21826
  FfiConverterTypeBurnIssuerTokenRequest: {
20552
21827
  read(from: RustBuffer): BurnIssuerTokenRequest;
20553
21828
  write(value: BurnIssuerTokenRequest, into: RustBuffer): void;
@@ -20674,6 +21949,13 @@ declare const _default: Readonly<{
20674
21949
  lift(value: UniffiByteArray): ConnectWithSignerRequest;
20675
21950
  lower(value: ConnectWithSignerRequest): UniffiByteArray;
20676
21951
  };
21952
+ FfiConverterTypeConnectWithSigningOnlySignerRequest: {
21953
+ read(from: RustBuffer): ConnectWithSigningOnlySignerRequest;
21954
+ write(value: ConnectWithSigningOnlySignerRequest, into: RustBuffer): void;
21955
+ allocationSize(value: ConnectWithSigningOnlySignerRequest): number;
21956
+ lift(value: UniffiByteArray): ConnectWithSigningOnlySignerRequest;
21957
+ lower(value: ConnectWithSigningOnlySignerRequest): UniffiByteArray;
21958
+ };
20677
21959
  FfiConverterTypeContact: {
20678
21960
  read(from: RustBuffer): Contact;
20679
21961
  write(value: Contact, into: RustBuffer): void;
@@ -21102,6 +22384,7 @@ declare const _default: Readonly<{
21102
22384
  lift(value: UniffiByteArray): ExternalSigningCommitments;
21103
22385
  lower(value: ExternalSigningCommitments): UniffiByteArray;
21104
22386
  };
22387
+ FfiConverterTypeExternalSigningSigner: FfiConverterObjectWithCallbacks<ExternalSigningSigner>;
21105
22388
  FfiConverterTypeExternalSparkInvoiceKind: {
21106
22389
  read(from: RustBuffer): ExternalSparkInvoiceKind;
21107
22390
  write(value: ExternalSparkInvoiceKind, into: RustBuffer): void;
@@ -21377,6 +22660,13 @@ declare const _default: Readonly<{
21377
22660
  lift(value: UniffiByteArray): LnurlInfo;
21378
22661
  lower(value: LnurlInfo): UniffiByteArray;
21379
22662
  };
22663
+ FfiConverterTypeLnurlPayContext: {
22664
+ read(from: RustBuffer): LnurlPayContext;
22665
+ write(value: LnurlPayContext, into: RustBuffer): void;
22666
+ allocationSize(value: LnurlPayContext): number;
22667
+ lift(value: UniffiByteArray): LnurlPayContext;
22668
+ lower(value: LnurlPayContext): UniffiByteArray;
22669
+ };
21380
22670
  FfiConverterTypeLnurlPayInfo: {
21381
22671
  read(from: RustBuffer): LnurlPayInfo;
21382
22672
  write(value: LnurlPayInfo, into: RustBuffer): void;
@@ -21711,6 +23001,34 @@ declare const _default: Readonly<{
21711
23001
  lift(value: UniffiByteArray): PublicKeyBytes;
21712
23002
  lower(value: PublicKeyBytes): UniffiByteArray;
21713
23003
  };
23004
+ FfiConverterTypePublishSignedLnurlPayPackageRequest: {
23005
+ read(from: RustBuffer): PublishSignedLnurlPayPackageRequest;
23006
+ write(value: PublishSignedLnurlPayPackageRequest, into: RustBuffer): void;
23007
+ allocationSize(value: PublishSignedLnurlPayPackageRequest): number;
23008
+ lift(value: UniffiByteArray): PublishSignedLnurlPayPackageRequest;
23009
+ lower(value: PublishSignedLnurlPayPackageRequest): UniffiByteArray;
23010
+ };
23011
+ FfiConverterTypePublishSignedLnurlPayResponse: {
23012
+ read(from: RustBuffer): PublishSignedLnurlPayResponse;
23013
+ write(value: PublishSignedLnurlPayResponse, into: RustBuffer): void;
23014
+ allocationSize(value: PublishSignedLnurlPayResponse): number;
23015
+ lift(value: UniffiByteArray): PublishSignedLnurlPayResponse;
23016
+ lower(value: PublishSignedLnurlPayResponse): UniffiByteArray;
23017
+ };
23018
+ FfiConverterTypePublishSignedTransferPackageRequest: {
23019
+ read(from: RustBuffer): PublishSignedTransferPackageRequest;
23020
+ write(value: PublishSignedTransferPackageRequest, into: RustBuffer): void;
23021
+ allocationSize(value: PublishSignedTransferPackageRequest): number;
23022
+ lift(value: UniffiByteArray): PublishSignedTransferPackageRequest;
23023
+ lower(value: PublishSignedTransferPackageRequest): UniffiByteArray;
23024
+ };
23025
+ FfiConverterTypePublishSignedTransferPackageResponse: {
23026
+ read(from: RustBuffer): PublishSignedTransferPackageResponse;
23027
+ write(value: PublishSignedTransferPackageResponse, into: RustBuffer): void;
23028
+ allocationSize(value: PublishSignedTransferPackageResponse): number;
23029
+ lift(value: UniffiByteArray): PublishSignedTransferPackageResponse;
23030
+ lower(value: PublishSignedTransferPackageResponse): UniffiByteArray;
23031
+ };
21714
23032
  FfiConverterTypeRate: {
21715
23033
  read(from: RustBuffer): Rate;
21716
23034
  write(value: Rate, into: RustBuffer): void;
@@ -21989,6 +23307,13 @@ declare const _default: Readonly<{
21989
23307
  lift(value: UniffiByteArray): SignMessageResponse;
21990
23308
  lower(value: SignMessageResponse): UniffiByteArray;
21991
23309
  };
23310
+ FfiConverterTypeSignedTransferPackage: {
23311
+ read(from: RustBuffer): SignedTransferPackage;
23312
+ write(value: SignedTransferPackage, into: RustBuffer): void;
23313
+ allocationSize(value: SignedTransferPackage): number;
23314
+ lift(value: UniffiByteArray): SignedTransferPackage;
23315
+ lower(value: SignedTransferPackage): UniffiByteArray;
23316
+ };
21992
23317
  FfiConverterTypeSignerError: {
21993
23318
  read(from: RustBuffer): SignerError;
21994
23319
  write(value: SignerError, into: RustBuffer): void;
@@ -21996,6 +23321,13 @@ declare const _default: Readonly<{
21996
23321
  lift(value: UniffiByteArray): SignerError;
21997
23322
  lower(value: SignerError): UniffiByteArray;
21998
23323
  };
23324
+ FfiConverterTypeSigningOnlyExternalSigners: {
23325
+ read(from: RustBuffer): SigningOnlyExternalSigners;
23326
+ write(value: SigningOnlyExternalSigners, into: RustBuffer): void;
23327
+ allocationSize(value: SigningOnlyExternalSigners): number;
23328
+ lift(value: UniffiByteArray): SigningOnlyExternalSigners;
23329
+ lower(value: SigningOnlyExternalSigners): UniffiByteArray;
23330
+ };
21999
23331
  FfiConverterTypeSilentPaymentAddressDetails: {
22000
23332
  read(from: RustBuffer): SilentPaymentAddressDetails;
22001
23333
  write(value: SilentPaymentAddressDetails, into: RustBuffer): void;
@@ -22202,6 +23534,20 @@ declare const _default: Readonly<{
22202
23534
  lift(value: UniffiByteArray): TransferAuthorization;
22203
23535
  lower(value: TransferAuthorization): UniffiByteArray;
22204
23536
  };
23537
+ FfiConverterTypeTransferSignature: {
23538
+ read(from: RustBuffer): TransferSignature;
23539
+ write(value: TransferSignature, into: RustBuffer): void;
23540
+ allocationSize(value: TransferSignature): number;
23541
+ lift(value: UniffiByteArray): TransferSignature;
23542
+ lower(value: TransferSignature): UniffiByteArray;
23543
+ };
23544
+ FfiConverterTypeTransferTarget: {
23545
+ read(from: RustBuffer): TransferTarget;
23546
+ write(value: TransferTarget, into: RustBuffer): void;
23547
+ allocationSize(value: TransferTarget): number;
23548
+ lift(value: UniffiByteArray): TransferTarget;
23549
+ lower(value: TransferTarget): UniffiByteArray;
23550
+ };
22205
23551
  FfiConverterTypeTurnkeyConfig: {
22206
23552
  read(from: RustBuffer): TurnkeyConfig;
22207
23553
  write(value: TurnkeyConfig, into: RustBuffer): void;
@@ -22244,6 +23590,13 @@ declare const _default: Readonly<{
22244
23590
  lift(value: UniffiByteArray): UnregisterWebhookRequest;
22245
23591
  lower(value: UnregisterWebhookRequest): UniffiByteArray;
22246
23592
  };
23593
+ FfiConverterTypeUnsignedTransferPackage: {
23594
+ read(from: RustBuffer): UnsignedTransferPackage;
23595
+ write(value: UnsignedTransferPackage, into: RustBuffer): void;
23596
+ allocationSize(value: UnsignedTransferPackage): number;
23597
+ lift(value: UniffiByteArray): UnsignedTransferPackage;
23598
+ lower(value: UnsignedTransferPackage): UniffiByteArray;
23599
+ };
22247
23600
  FfiConverterTypeUnversionedRecordChange: {
22248
23601
  read(from: RustBuffer): UnversionedRecordChange;
22249
23602
  write(value: UnversionedRecordChange, into: RustBuffer): void;