@breeztech/breez-sdk-spark-react-native 0.18.0 → 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.
@@ -133,6 +133,21 @@ export declare function defaultExternalSigners(mnemonic: string, passphrase: str
133
133
  * an invalid-input error
134
134
  */
135
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>;
136
151
  /**
137
152
  * File-based `SQLite` storage rooted at `storage_dir` — the default for
138
153
  * mobile and desktop apps. Each tenant gets its own database file under the
@@ -654,6 +669,51 @@ export declare const Bolt12OfferDetails: Readonly<{
654
669
  */
655
670
  defaults: () => Partial<Bolt12OfferDetails>;
656
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
+ }>;
657
717
  export type BurnIssuerTokenRequest = {
658
718
  amount: U128;
659
719
  };
@@ -3603,6 +3663,30 @@ export declare const LnurlInfo: Readonly<{
3603
3663
  */
3604
3664
  defaults: () => Partial<LnurlInfo>;
3605
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
+ }>;
3606
3690
  /**
3607
3691
  * Represents the payment LNURL info
3608
3692
  */
@@ -4632,6 +4716,50 @@ export declare const PublicKeyBytes: Readonly<{
4632
4716
  */
4633
4717
  defaults: () => Partial<PublicKeyBytes>;
4634
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
+ }>;
4635
4763
  /**
4636
4764
  * Denominator in an exchange rate
4637
4765
  */
@@ -5496,6 +5624,29 @@ export declare const SignMessageResponse: Readonly<{
5496
5624
  */
5497
5625
  defaults: () => Partial<SignMessageResponse>;
5498
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
+ }>;
5499
5650
  /**
5500
5651
  * A signing-only external signer paired with the Spark signer, for wallets that
5501
5652
  * connect via [`connect_with_signing_only_signer`]. The Breez half performs
@@ -5617,6 +5768,12 @@ export type SparkConfig = {
5617
5768
  * Expected relative block locktime for token withdrawals.
5618
5769
  */
5619
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;
5620
5777
  };
5621
5778
  /**
5622
5779
  * Generated factory for {@link SparkConfig} record objects.
@@ -6352,10 +6509,34 @@ export type TurnkeyConfig = {
6352
6509
  * either backend.
6353
6510
  */
6354
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;
6355
6528
  /**
6356
6529
  * Retry policy for Turnkey requests. Unset uses the default policy.
6357
6530
  */
6358
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;
6359
6540
  };
6360
6541
  /**
6361
6542
  * Generated factory for {@link TurnkeyConfig} record objects.
@@ -6365,12 +6546,12 @@ export declare const TurnkeyConfig: Readonly<{
6365
6546
  * Create a frozen instance of {@link TurnkeyConfig}, with defaults specified
6366
6547
  * in Rust, in the {@link breez_sdk_spark} crate.
6367
6548
  */
6368
- create: (partial: Partial<TurnkeyConfig> & Required<Omit<TurnkeyConfig, never>>) => TurnkeyConfig;
6549
+ create: (partial: Partial<TurnkeyConfig> & Required<Omit<TurnkeyConfig, "maxRps">>) => TurnkeyConfig;
6369
6550
  /**
6370
6551
  * Create a frozen instance of {@link TurnkeyConfig}, with defaults specified
6371
6552
  * in Rust, in the {@link breez_sdk_spark} crate.
6372
6553
  */
6373
- new: (partial: Partial<TurnkeyConfig> & Required<Omit<TurnkeyConfig, never>>) => TurnkeyConfig;
6554
+ new: (partial: Partial<TurnkeyConfig> & Required<Omit<TurnkeyConfig, "maxRps">>) => TurnkeyConfig;
6374
6555
  /**
6375
6556
  * Defaults specified in the {@link breez_sdk_spark} crate.
6376
6557
  */
@@ -7303,6 +7484,105 @@ export declare enum BitcoinNetwork {
7303
7484
  Signet = 3,
7304
7485
  Regtest = 4
7305
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'>]>;
7306
7586
  export declare enum BuyBitcoinRequest_Tags {
7307
7587
  Moonpay = "Moonpay",
7308
7588
  CashApp = "CashApp"
@@ -12645,143 +12925,289 @@ export declare const ProvisionalPaymentDetails: Readonly<{
12645
12925
  };
12646
12926
  }>;
12647
12927
  export type ProvisionalPaymentDetails = InstanceType<(typeof ProvisionalPaymentDetails)[keyof Omit<typeof ProvisionalPaymentDetails, 'instanceOf'>]>;
12648
- export declare enum ReceivePaymentMethod_Tags {
12649
- SparkAddress = "SparkAddress",
12650
- SparkInvoice = "SparkInvoice",
12651
- BitcoinAddress = "BitcoinAddress",
12652
- Bolt11Invoice = "Bolt11Invoice"
12928
+ export declare enum PublishSignedLnurlPayResponse_Tags {
12929
+ SwapCompleted = "SwapCompleted",
12930
+ PaymentSent = "PaymentSent"
12653
12931
  }
12654
- export declare const ReceivePaymentMethod: Readonly<{
12655
- instanceOf: (obj: any) => obj is ReceivePaymentMethod;
12656
- SparkAddress: {
12932
+ export declare const PublishSignedLnurlPayResponse: Readonly<{
12933
+ instanceOf: (obj: any) => obj is PublishSignedLnurlPayResponse;
12934
+ SwapCompleted: {
12657
12935
  new (): {
12658
- readonly tag: ReceivePaymentMethod_Tags.SparkAddress;
12936
+ readonly tag: PublishSignedLnurlPayResponse_Tags.SwapCompleted;
12659
12937
  /**
12660
12938
  * @private
12661
12939
  * This field is private and should not be used, use `tag` instead.
12662
12940
  */
12663
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
12941
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12664
12942
  };
12665
12943
  "new"(): {
12666
- readonly tag: ReceivePaymentMethod_Tags.SparkAddress;
12944
+ readonly tag: PublishSignedLnurlPayResponse_Tags.SwapCompleted;
12667
12945
  /**
12668
12946
  * @private
12669
12947
  * This field is private and should not be used, use `tag` instead.
12670
12948
  */
12671
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
12949
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12672
12950
  };
12673
12951
  instanceOf(obj: any): obj is {
12674
- readonly tag: ReceivePaymentMethod_Tags.SparkAddress;
12952
+ readonly tag: PublishSignedLnurlPayResponse_Tags.SwapCompleted;
12675
12953
  /**
12676
12954
  * @private
12677
12955
  * This field is private and should not be used, use `tag` instead.
12678
12956
  */
12679
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
12957
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12680
12958
  };
12681
12959
  };
12682
- SparkInvoice: {
12960
+ PaymentSent: {
12683
12961
  new (inner: {
12684
- /**
12685
- * Amount to receive. Denominated in sats if token identifier is empty, otherwise in the token base units
12686
- */ amount: U128 | undefined;
12687
- /**
12688
- * The presence of this field indicates that the payment is for a token
12689
- * If empty, it is a Bitcoin payment
12690
- */ tokenIdentifier: string | undefined;
12691
- /**
12692
- * The expiry time of the invoice as a unix timestamp in seconds
12693
- */ expiryTime: /*u64*/ bigint | undefined;
12694
- /**
12695
- * A description to embed in the invoice.
12696
- */ description: string | undefined;
12697
- /**
12698
- * If set, the invoice may only be fulfilled by a payer with this public key
12699
- */ senderPublicKey: string | undefined;
12962
+ response: LnurlPayResponse;
12700
12963
  }): {
12701
- readonly tag: ReceivePaymentMethod_Tags.SparkInvoice;
12964
+ readonly tag: PublishSignedLnurlPayResponse_Tags.PaymentSent;
12702
12965
  readonly inner: Readonly<{
12703
- amount: U128 | undefined;
12704
- tokenIdentifier: string | undefined;
12705
- expiryTime: /*u64*/ bigint | undefined;
12706
- description: string | undefined;
12707
- senderPublicKey: string | undefined;
12966
+ response: LnurlPayResponse;
12708
12967
  }>;
12709
12968
  /**
12710
12969
  * @private
12711
12970
  * This field is private and should not be used, use `tag` instead.
12712
12971
  */
12713
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
12972
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12714
12973
  };
12715
12974
  "new"(inner: {
12716
- /**
12717
- * Amount to receive. Denominated in sats if token identifier is empty, otherwise in the token base units
12718
- */ amount: U128 | undefined;
12719
- /**
12720
- * The presence of this field indicates that the payment is for a token
12721
- * If empty, it is a Bitcoin payment
12722
- */ tokenIdentifier: string | undefined;
12723
- /**
12724
- * The expiry time of the invoice as a unix timestamp in seconds
12725
- */ expiryTime: /*u64*/ bigint | undefined;
12726
- /**
12727
- * A description to embed in the invoice.
12728
- */ description: string | undefined;
12729
- /**
12730
- * If set, the invoice may only be fulfilled by a payer with this public key
12731
- */ senderPublicKey: string | undefined;
12975
+ response: LnurlPayResponse;
12732
12976
  }): {
12733
- readonly tag: ReceivePaymentMethod_Tags.SparkInvoice;
12977
+ readonly tag: PublishSignedLnurlPayResponse_Tags.PaymentSent;
12734
12978
  readonly inner: Readonly<{
12735
- amount: U128 | undefined;
12736
- tokenIdentifier: string | undefined;
12737
- expiryTime: /*u64*/ bigint | undefined;
12738
- description: string | undefined;
12739
- senderPublicKey: string | undefined;
12979
+ response: LnurlPayResponse;
12740
12980
  }>;
12741
12981
  /**
12742
12982
  * @private
12743
12983
  * This field is private and should not be used, use `tag` instead.
12744
12984
  */
12745
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
12985
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12746
12986
  };
12747
12987
  instanceOf(obj: any): obj is {
12748
- readonly tag: ReceivePaymentMethod_Tags.SparkInvoice;
12988
+ readonly tag: PublishSignedLnurlPayResponse_Tags.PaymentSent;
12749
12989
  readonly inner: Readonly<{
12750
- amount: U128 | undefined;
12751
- tokenIdentifier: string | undefined;
12752
- expiryTime: /*u64*/ bigint | undefined;
12753
- description: string | undefined;
12754
- senderPublicKey: string | undefined;
12990
+ response: LnurlPayResponse;
12755
12991
  }>;
12756
12992
  /**
12757
12993
  * @private
12758
12994
  * This field is private and should not be used, use `tag` instead.
12759
12995
  */
12760
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
12996
+ readonly [uniffiTypeNameSymbol]: "PublishSignedLnurlPayResponse";
12761
12997
  };
12762
12998
  };
12763
- BitcoinAddress: {
12764
- new (inner: {
12765
- /**
12766
- * If true, rotate to a new deposit address. Previous ones remain valid.
12767
- * If false or absent, return the existing address (creating one if none
12768
- * exists yet).
12769
- */ newAddress: boolean | undefined;
12770
- }): {
12771
- readonly tag: ReceivePaymentMethod_Tags.BitcoinAddress;
12772
- readonly inner: Readonly<{
12773
- newAddress: boolean | undefined;
12774
- }>;
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;
12775
13010
  /**
12776
13011
  * @private
12777
13012
  * This field is private and should not be used, use `tag` instead.
12778
13013
  */
12779
- readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
13014
+ readonly [uniffiTypeNameSymbol]: "PublishSignedTransferPackageResponse";
12780
13015
  };
12781
- "new"(inner: {
13016
+ "new"(): {
13017
+ readonly tag: PublishSignedTransferPackageResponse_Tags.SwapCompleted;
12782
13018
  /**
12783
- * If true, rotate to a new deposit address. Previous ones remain valid.
12784
- * If false or absent, return the existing address (creating one if none
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;
13120
+ /**
13121
+ * A description to embed in the invoice.
13122
+ */ description: string | undefined;
13123
+ /**
13124
+ * If set, the invoice may only be fulfilled by a payer with this public key
13125
+ */ senderPublicKey: string | undefined;
13126
+ }): {
13127
+ readonly tag: ReceivePaymentMethod_Tags.SparkInvoice;
13128
+ readonly inner: Readonly<{
13129
+ amount: U128 | undefined;
13130
+ tokenIdentifier: string | undefined;
13131
+ expiryTime: /*u64*/ bigint | undefined;
13132
+ description: string | undefined;
13133
+ senderPublicKey: string | undefined;
13134
+ }>;
13135
+ /**
13136
+ * @private
13137
+ * This field is private and should not be used, use `tag` instead.
13138
+ */
13139
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
13140
+ };
13141
+ "new"(inner: {
13142
+ /**
13143
+ * Amount to receive. Denominated in sats if token identifier is empty, otherwise in the token base units
13144
+ */ amount: U128 | undefined;
13145
+ /**
13146
+ * The presence of this field indicates that the payment is for a token
13147
+ * If empty, it is a Bitcoin payment
13148
+ */ tokenIdentifier: string | undefined;
13149
+ /**
13150
+ * The expiry time of the invoice as a unix timestamp in seconds
13151
+ */ expiryTime: /*u64*/ bigint | undefined;
13152
+ /**
13153
+ * A description to embed in the invoice.
13154
+ */ description: string | undefined;
13155
+ /**
13156
+ * If set, the invoice may only be fulfilled by a payer with this public key
13157
+ */ senderPublicKey: string | undefined;
13158
+ }): {
13159
+ readonly tag: ReceivePaymentMethod_Tags.SparkInvoice;
13160
+ readonly inner: Readonly<{
13161
+ amount: U128 | undefined;
13162
+ tokenIdentifier: string | undefined;
13163
+ expiryTime: /*u64*/ bigint | undefined;
13164
+ description: string | undefined;
13165
+ senderPublicKey: string | undefined;
13166
+ }>;
13167
+ /**
13168
+ * @private
13169
+ * This field is private and should not be used, use `tag` instead.
13170
+ */
13171
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
13172
+ };
13173
+ instanceOf(obj: any): obj is {
13174
+ readonly tag: ReceivePaymentMethod_Tags.SparkInvoice;
13175
+ readonly inner: Readonly<{
13176
+ amount: U128 | undefined;
13177
+ tokenIdentifier: string | undefined;
13178
+ expiryTime: /*u64*/ bigint | undefined;
13179
+ description: string | undefined;
13180
+ senderPublicKey: string | undefined;
13181
+ }>;
13182
+ /**
13183
+ * @private
13184
+ * This field is private and should not be used, use `tag` instead.
13185
+ */
13186
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
13187
+ };
13188
+ };
13189
+ BitcoinAddress: {
13190
+ new (inner: {
13191
+ /**
13192
+ * If true, rotate to a new deposit address. Previous ones remain valid.
13193
+ * If false or absent, return the existing address (creating one if none
13194
+ * exists yet).
13195
+ */ newAddress: boolean | undefined;
13196
+ }): {
13197
+ readonly tag: ReceivePaymentMethod_Tags.BitcoinAddress;
13198
+ readonly inner: Readonly<{
13199
+ newAddress: boolean | undefined;
13200
+ }>;
13201
+ /**
13202
+ * @private
13203
+ * This field is private and should not be used, use `tag` instead.
13204
+ */
13205
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
13206
+ };
13207
+ "new"(inner: {
13208
+ /**
13209
+ * If true, rotate to a new deposit address. Previous ones remain valid.
13210
+ * If false or absent, return the existing address (creating one if none
12785
13211
  * exists yet).
12786
13212
  */ newAddress: boolean | undefined;
12787
13213
  }): {
@@ -17361,6 +17787,437 @@ export declare enum TokenTransactionType {
17361
17787
  Mint = 1,
17362
17788
  Burn = 2
17363
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;
18005
+ readonly inner: Readonly<{
18006
+ address: string;
18007
+ feeQuote: SendOnchainFeeQuote;
18008
+ confirmationSpeed: OnchainConfirmationSpeed;
18009
+ }>;
18010
+ /**
18011
+ * @private
18012
+ * This field is private and should not be used, use `tag` instead.
18013
+ */
18014
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
18015
+ };
18016
+ instanceOf(obj: any): obj is {
18017
+ readonly tag: TransferTarget_Tags.CoopExit;
18018
+ readonly inner: Readonly<{
18019
+ address: string;
18020
+ feeQuote: SendOnchainFeeQuote;
18021
+ confirmationSpeed: OnchainConfirmationSpeed;
18022
+ }>;
18023
+ /**
18024
+ * @private
18025
+ * This field is private and should not be used, use `tag` instead.
18026
+ */
18027
+ readonly [uniffiTypeNameSymbol]: "TransferTarget";
18028
+ };
18029
+ };
18030
+ }>;
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"
18036
+ }
18037
+ export declare const UnsignedTransferPackage: Readonly<{
18038
+ instanceOf: (obj: any) => obj is UnsignedTransferPackage;
18039
+ Swap: {
18040
+ new (inner: {
18041
+ prepareTransfer: ExternalPrepareTransferRequest;
18042
+ targetAmounts: Array</*u64*/ bigint>;
18043
+ amountSat: bigint;
18044
+ feeSat: bigint;
18045
+ }): {
18046
+ readonly tag: UnsignedTransferPackage_Tags.Swap;
18047
+ readonly inner: Readonly<{
18048
+ prepareTransfer: ExternalPrepareTransferRequest;
18049
+ targetAmounts: Array</*u64*/ bigint>;
18050
+ amountSat: bigint;
18051
+ feeSat: bigint;
18052
+ }>;
18053
+ /**
18054
+ * @private
18055
+ * This field is private and should not be used, use `tag` instead.
18056
+ */
18057
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
18058
+ };
18059
+ "new"(inner: {
18060
+ prepareTransfer: ExternalPrepareTransferRequest;
18061
+ targetAmounts: Array</*u64*/ bigint>;
18062
+ amountSat: bigint;
18063
+ feeSat: bigint;
18064
+ }): {
18065
+ readonly tag: UnsignedTransferPackage_Tags.Swap;
18066
+ readonly inner: Readonly<{
18067
+ prepareTransfer: ExternalPrepareTransferRequest;
18068
+ targetAmounts: Array</*u64*/ bigint>;
18069
+ amountSat: bigint;
18070
+ feeSat: bigint;
18071
+ }>;
18072
+ /**
18073
+ * @private
18074
+ * This field is private and should not be used, use `tag` instead.
18075
+ */
18076
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
18077
+ };
18078
+ instanceOf(obj: any): obj is {
18079
+ readonly tag: UnsignedTransferPackage_Tags.Swap;
18080
+ readonly inner: Readonly<{
18081
+ prepareTransfer: ExternalPrepareTransferRequest;
18082
+ targetAmounts: Array</*u64*/ bigint>;
18083
+ amountSat: bigint;
18084
+ feeSat: bigint;
18085
+ }>;
18086
+ /**
18087
+ * @private
18088
+ * This field is private and should not be used, use `tag` instead.
18089
+ */
18090
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
18091
+ };
18092
+ };
18093
+ Transfer: {
18094
+ new (inner: {
18095
+ prepareTransfer: ExternalPrepareTransferRequest;
18096
+ amountSat: bigint;
18097
+ feeSat: bigint;
18098
+ target: TransferTarget;
18099
+ }): {
18100
+ readonly tag: UnsignedTransferPackage_Tags.Transfer;
18101
+ readonly inner: Readonly<{
18102
+ prepareTransfer: ExternalPrepareTransferRequest;
18103
+ amountSat: bigint;
18104
+ feeSat: bigint;
18105
+ target: TransferTarget;
18106
+ }>;
18107
+ /**
18108
+ * @private
18109
+ * This field is private and should not be used, use `tag` instead.
18110
+ */
18111
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
18112
+ };
18113
+ "new"(inner: {
18114
+ prepareTransfer: ExternalPrepareTransferRequest;
18115
+ amountSat: bigint;
18116
+ feeSat: bigint;
18117
+ target: TransferTarget;
18118
+ }): {
18119
+ readonly tag: UnsignedTransferPackage_Tags.Transfer;
18120
+ readonly inner: Readonly<{
18121
+ prepareTransfer: ExternalPrepareTransferRequest;
18122
+ amountSat: bigint;
18123
+ feeSat: bigint;
18124
+ target: TransferTarget;
18125
+ }>;
18126
+ /**
18127
+ * @private
18128
+ * This field is private and should not be used, use `tag` instead.
18129
+ */
18130
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
18131
+ };
18132
+ instanceOf(obj: any): obj is {
18133
+ readonly tag: UnsignedTransferPackage_Tags.Transfer;
18134
+ readonly inner: Readonly<{
18135
+ prepareTransfer: ExternalPrepareTransferRequest;
18136
+ amountSat: bigint;
18137
+ feeSat: bigint;
18138
+ target: TransferTarget;
18139
+ }>;
18140
+ /**
18141
+ * @private
18142
+ * This field is private and should not be used, use `tag` instead.
18143
+ */
18144
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
18145
+ };
18146
+ };
18147
+ Token: {
18148
+ new (inner: {
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;
18159
+ }): {
18160
+ readonly tag: UnsignedTransferPackage_Tags.Token;
18161
+ readonly inner: Readonly<{
18162
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
18163
+ tokenContext: ArrayBuffer;
18164
+ tokenIdentifier: string;
18165
+ amount: U128;
18166
+ fee: U128;
18167
+ isSwap: boolean;
18168
+ }>;
18169
+ /**
18170
+ * @private
18171
+ * This field is private and should not be used, use `tag` instead.
18172
+ */
18173
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
18174
+ };
18175
+ "new"(inner: {
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;
18186
+ }): {
18187
+ readonly tag: UnsignedTransferPackage_Tags.Token;
18188
+ readonly inner: Readonly<{
18189
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
18190
+ tokenContext: ArrayBuffer;
18191
+ tokenIdentifier: string;
18192
+ amount: U128;
18193
+ fee: U128;
18194
+ isSwap: boolean;
18195
+ }>;
18196
+ /**
18197
+ * @private
18198
+ * This field is private and should not be used, use `tag` instead.
18199
+ */
18200
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
18201
+ };
18202
+ instanceOf(obj: any): obj is {
18203
+ readonly tag: UnsignedTransferPackage_Tags.Token;
18204
+ readonly inner: Readonly<{
18205
+ prepareTokenTransaction: ExternalPrepareTokenTransactionRequest;
18206
+ tokenContext: ArrayBuffer;
18207
+ tokenIdentifier: string;
18208
+ amount: U128;
18209
+ fee: U128;
18210
+ isSwap: boolean;
18211
+ }>;
18212
+ /**
18213
+ * @private
18214
+ * This field is private and should not be used, use `tag` instead.
18215
+ */
18216
+ readonly [uniffiTypeNameSymbol]: "UnsignedTransferPackage";
18217
+ };
18218
+ };
18219
+ }>;
18220
+ export type UnsignedTransferPackage = InstanceType<(typeof UnsignedTransferPackage)[keyof Omit<typeof UnsignedTransferPackage, 'instanceOf'>]>;
17364
18221
  export declare enum UpdateDepositPayload_Tags {
17365
18222
  ClaimError = "ClaimError",
17366
18223
  Refund = "Refund"
@@ -17693,6 +18550,12 @@ export interface BreezSdkInterface {
17693
18550
  authorizeLightningAddressTransfer(request: AuthorizeTransferRequest, asyncOpts_?: {
17694
18551
  signal: AbortSignal;
17695
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>;
17696
18559
  /**
17697
18560
  * Initiates a Bitcoin purchase flow via an external provider.
17698
18561
  *
@@ -17945,6 +18808,12 @@ export interface BreezSdkInterface {
17945
18808
  prepareSendPayment(request: PrepareSendPaymentRequest, asyncOpts_?: {
17946
18809
  signal: AbortSignal;
17947
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>;
17948
18817
  receivePayment(request: ReceivePaymentRequest, asyncOpts_?: {
17949
18818
  signal: AbortSignal;
17950
18819
  }): Promise<ReceivePaymentResponse>;
@@ -18111,6 +18980,12 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
18111
18980
  authorizeLightningAddressTransfer(request: AuthorizeTransferRequest, asyncOpts_?: {
18112
18981
  signal: AbortSignal;
18113
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>;
18114
18989
  /**
18115
18990
  * Initiates a Bitcoin purchase flow via an external provider.
18116
18991
  *
@@ -18363,6 +19238,12 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
18363
19238
  prepareSendPayment(request: PrepareSendPaymentRequest, asyncOpts_?: {
18364
19239
  signal: AbortSignal;
18365
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>;
18366
19247
  receivePayment(request: ReceivePaymentRequest, asyncOpts_?: {
18367
19248
  signal: AbortSignal;
18368
19249
  }): Promise<ReceivePaymentResponse>;
@@ -18882,6 +19763,13 @@ export interface ExternalSparkSigner {
18882
19763
  getPublicKeyForLeaf(leafId: ExternalTreeNodeId, asyncOpts_?: {
18883
19764
  signal: AbortSignal;
18884
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;
18885
19773
  /**
18886
19774
  * The static-deposit signing public key at `index`.
18887
19775
  */
@@ -18981,6 +19869,13 @@ export declare class ExternalSparkSignerImpl extends UniffiAbstractObject implem
18981
19869
  getPublicKeyForLeaf(leafId: ExternalTreeNodeId, asyncOpts_?: {
18982
19870
  signal: AbortSignal;
18983
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;
18984
19879
  /**
18985
19880
  * The static-deposit signing public key at `index`.
18986
19881
  */
@@ -19681,6 +20576,18 @@ export interface SdkBuilderInterface {
19681
20576
  withRestChainService(url: string, apiType: ChainApiType, credentials: Credentials | undefined, asyncOpts_?: {
19682
20577
  signal: AbortSignal;
19683
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>;
19684
20591
  /**
19685
20592
  * Threads a shared [`SdkContext`](crate::SdkContext) into the builder.
19686
20593
  *
@@ -19820,6 +20727,18 @@ export declare class SdkBuilder extends UniffiAbstractObject implements SdkBuild
19820
20727
  withRestChainService(url: string, apiType: ChainApiType, credentials: Credentials | undefined, asyncOpts_?: {
19821
20728
  signal: AbortSignal;
19822
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>;
19823
20742
  /**
19824
20743
  * Threads a shared [`SdkContext`](crate::SdkContext) into the builder.
19825
20744
  *
@@ -20883,6 +21802,27 @@ declare const _default: Readonly<{
20883
21802
  lower(value: Bolt12OfferDetails): UniffiByteArray;
20884
21803
  };
20885
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
+ };
20886
21826
  FfiConverterTypeBurnIssuerTokenRequest: {
20887
21827
  read(from: RustBuffer): BurnIssuerTokenRequest;
20888
21828
  write(value: BurnIssuerTokenRequest, into: RustBuffer): void;
@@ -21720,6 +22660,13 @@ declare const _default: Readonly<{
21720
22660
  lift(value: UniffiByteArray): LnurlInfo;
21721
22661
  lower(value: LnurlInfo): UniffiByteArray;
21722
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
+ };
21723
22670
  FfiConverterTypeLnurlPayInfo: {
21724
22671
  read(from: RustBuffer): LnurlPayInfo;
21725
22672
  write(value: LnurlPayInfo, into: RustBuffer): void;
@@ -22054,6 +23001,34 @@ declare const _default: Readonly<{
22054
23001
  lift(value: UniffiByteArray): PublicKeyBytes;
22055
23002
  lower(value: PublicKeyBytes): UniffiByteArray;
22056
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
+ };
22057
23032
  FfiConverterTypeRate: {
22058
23033
  read(from: RustBuffer): Rate;
22059
23034
  write(value: Rate, into: RustBuffer): void;
@@ -22332,6 +23307,13 @@ declare const _default: Readonly<{
22332
23307
  lift(value: UniffiByteArray): SignMessageResponse;
22333
23308
  lower(value: SignMessageResponse): UniffiByteArray;
22334
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
+ };
22335
23317
  FfiConverterTypeSignerError: {
22336
23318
  read(from: RustBuffer): SignerError;
22337
23319
  write(value: SignerError, into: RustBuffer): void;
@@ -22552,6 +23534,20 @@ declare const _default: Readonly<{
22552
23534
  lift(value: UniffiByteArray): TransferAuthorization;
22553
23535
  lower(value: TransferAuthorization): UniffiByteArray;
22554
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
+ };
22555
23551
  FfiConverterTypeTurnkeyConfig: {
22556
23552
  read(from: RustBuffer): TurnkeyConfig;
22557
23553
  write(value: TurnkeyConfig, into: RustBuffer): void;
@@ -22594,6 +23590,13 @@ declare const _default: Readonly<{
22594
23590
  lift(value: UniffiByteArray): UnregisterWebhookRequest;
22595
23591
  lower(value: UnregisterWebhookRequest): UniffiByteArray;
22596
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
+ };
22597
23600
  FfiConverterTypeUnversionedRecordChange: {
22598
23601
  read(from: RustBuffer): UnversionedRecordChange;
22599
23602
  write(value: UnversionedRecordChange, into: RustBuffer): void;