@breeztech/breez-sdk-spark-react-native 0.22.3 → 0.23.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.
@@ -942,6 +942,13 @@ export type ClaimDepositRequest = {
942
942
  txid: string;
943
943
  vout: number;
944
944
  maxFee: MaxFee | undefined;
945
+ /**
946
+ * Set to request an instant (0-conf) claim instead of waiting for the
947
+ * deposit to mature, bounding the SSP spread at this many basis points of
948
+ * the deposit value (100 bps = 1%). When set, the call takes the instant
949
+ * path and `max_fee` is ignored.
950
+ */
951
+ maxInstantFeeBps: /*u32*/ number | undefined;
945
952
  };
946
953
  /**
947
954
  * Generated factory for {@link ClaimDepositRequest} record objects.
@@ -951,19 +958,24 @@ export declare const ClaimDepositRequest: Readonly<{
951
958
  * Create a frozen instance of {@link ClaimDepositRequest}, with defaults specified
952
959
  * in Rust, in the {@link breez_sdk_spark} crate.
953
960
  */
954
- create: (partial: Partial<ClaimDepositRequest> & Required<Omit<ClaimDepositRequest, "maxFee">>) => ClaimDepositRequest;
961
+ create: (partial: Partial<ClaimDepositRequest> & Required<Omit<ClaimDepositRequest, "maxFee" | "maxInstantFeeBps">>) => ClaimDepositRequest;
955
962
  /**
956
963
  * Create a frozen instance of {@link ClaimDepositRequest}, with defaults specified
957
964
  * in Rust, in the {@link breez_sdk_spark} crate.
958
965
  */
959
- new: (partial: Partial<ClaimDepositRequest> & Required<Omit<ClaimDepositRequest, "maxFee">>) => ClaimDepositRequest;
966
+ new: (partial: Partial<ClaimDepositRequest> & Required<Omit<ClaimDepositRequest, "maxFee" | "maxInstantFeeBps">>) => ClaimDepositRequest;
960
967
  /**
961
968
  * Defaults specified in the {@link breez_sdk_spark} crate.
962
969
  */
963
970
  defaults: () => Partial<ClaimDepositRequest>;
964
971
  }>;
965
972
  export type ClaimDepositResponse = {
966
- payment: Payment;
973
+ /**
974
+ * The settled claim payment. Present for a standard claim, which completes
975
+ * synchronously. Absent for an instant claim, whose transfer settles
976
+ * asynchronously: watch for the payment via events or `list_payments`.
977
+ */
978
+ payment: Payment | undefined;
967
979
  };
968
980
  /**
969
981
  * Generated factory for {@link ClaimDepositResponse} record objects.
@@ -1068,6 +1080,13 @@ export type Config = {
1068
1080
  network: Network;
1069
1081
  syncIntervalSecs: number;
1070
1082
  maxDepositClaimFee: MaxFee | undefined;
1083
+ /**
1084
+ * Maximum instant (0-conf) static deposit claim fee, as basis points of the
1085
+ * deposit value (100 bps = 1%), capping the SSP spread for the instant
1086
+ * credit. Opt-in: while unset, no 0-conf claim is attempted. Small deposits,
1087
+ * whose spread is proportionally larger, fall through to the normal claim.
1088
+ */
1089
+ maxInstantDepositClaimFeeBps: /*u32*/ number | undefined;
1071
1090
  /**
1072
1091
  * The domain used for receiving through lnurl-pay and lightning address.
1073
1092
  */
@@ -1078,6 +1097,21 @@ export type Config = {
1078
1097
  * but is at the cost of privacy.
1079
1098
  */
1080
1099
  preferSparkOverLightning: boolean;
1100
+ /**
1101
+ * Whether the data needed to exit a payment unilaterally, without the Spark
1102
+ * operators, is collected as funds arrive. Collection runs in the background,
1103
+ * and a sync waits for a collection pass before returning, so syncing is how
1104
+ * to make that happen at a moment of your choosing. A leaf the operators
1105
+ * cannot complete stays un-exitable until a later attempt succeeds.
1106
+ *
1107
+ * Leave this on unless bandwidth matters more than being able to recover funds
1108
+ * when the operators are unreachable. With it off, chains are only collected
1109
+ * when an exit is prepared, which needs the operators reachable at that
1110
+ * moment: a leaf cannot be exited without them until one is collected.
1111
+ *
1112
+ * Default value is true.
1113
+ */
1114
+ exitChainAutoFetchEnabled: boolean;
1081
1115
  /**
1082
1116
  * A set of external input parsers that are used by [`BreezSdk::parse`](crate::sdk::BreezSdk::parse) when the input
1083
1117
  * is not recognized. See [`ExternalInputParser`] for more details on how to configure
@@ -1871,6 +1905,15 @@ export type CrossChainRoutePair = {
1871
1905
  * may be fronted by multiple source variants on Orchestra).
1872
1906
  */
1873
1907
  supportedSources: Array<SourceAsset>;
1908
+ /**
1909
+ * The chains this route can be paid over, orthogonal to
1910
+ * `supported_sources` (the asset moved).
1911
+ *
1912
+ * This is the actual funding rail, which differs by provider: Boltz routes
1913
+ * are always paid over Lightning. Orchestra send routes report Spark, and
1914
+ * Orchestra payment-link routes report Lightning.
1915
+ */
1916
+ supportedSourceChains: Array<SourceChain>;
1874
1917
  };
1875
1918
  /**
1876
1919
  * Generated factory for {@link CrossChainRoutePair} record objects.
@@ -1923,13 +1966,38 @@ export declare const CurrencyInfo: Readonly<{
1923
1966
  defaults: () => Partial<CurrencyInfo>;
1924
1967
  }>;
1925
1968
  export type DepositInfo = {
1969
+ /**
1970
+ * Transaction id of the on-chain output the deposit came from.
1971
+ */
1926
1972
  txid: string;
1973
+ /**
1974
+ * Index of that output within its transaction.
1975
+ */
1927
1976
  vout: number;
1977
+ /**
1978
+ * Deposit value in satoshis.
1979
+ */
1928
1980
  amountSats: bigint;
1981
+ /**
1982
+ * Whether the deposit has enough confirmations to be claimed.
1983
+ */
1929
1984
  isMature: boolean;
1985
+ /**
1986
+ * Raw refund transaction, once one has been created.
1987
+ */
1930
1988
  refundTx: string | undefined;
1989
+ /**
1990
+ * Transaction id of the refund, once one has been created.
1991
+ */
1931
1992
  refundTxId: string | undefined;
1993
+ /**
1994
+ * Why the last claim attempt failed. Unset while none has failed.
1995
+ */
1932
1996
  claimError: DepositClaimError | undefined;
1997
+ /**
1998
+ * Unset when no instant claim has been attempted.
1999
+ */
2000
+ instantClaimStatus: InstantClaimStatus | undefined;
1933
2001
  };
1934
2002
  /**
1935
2003
  * Generated factory for {@link DepositInfo} record objects.
@@ -2052,6 +2120,36 @@ export declare const EcdsaSignatureBytes: Readonly<{
2052
2120
  */
2053
2121
  defaults: () => Partial<EcdsaSignatureBytes>;
2054
2122
  }>;
2123
+ /**
2124
+ * Result of `export_unilateral_exit_state`: a self-contained copy of the
2125
+ * wallet's exit state, ready to be stored outside the wallet.
2126
+ */
2127
+ export type ExportUnilateralExitStateResponse = {
2128
+ /**
2129
+ * The serialized exit state, to be handed back to
2130
+ * `import_unilateral_exit_state` unmodified.
2131
+ */
2132
+ exitState: string;
2133
+ };
2134
+ /**
2135
+ * Generated factory for {@link ExportUnilateralExitStateResponse} record objects.
2136
+ */
2137
+ export declare const ExportUnilateralExitStateResponse: Readonly<{
2138
+ /**
2139
+ * Create a frozen instance of {@link ExportUnilateralExitStateResponse}, with defaults specified
2140
+ * in Rust, in the {@link breez_sdk_spark} crate.
2141
+ */
2142
+ create: (partial: Partial<ExportUnilateralExitStateResponse> & Required<Omit<ExportUnilateralExitStateResponse, never>>) => ExportUnilateralExitStateResponse;
2143
+ /**
2144
+ * Create a frozen instance of {@link ExportUnilateralExitStateResponse}, with defaults specified
2145
+ * in Rust, in the {@link breez_sdk_spark} crate.
2146
+ */
2147
+ new: (partial: Partial<ExportUnilateralExitStateResponse> & Required<Omit<ExportUnilateralExitStateResponse, never>>) => ExportUnilateralExitStateResponse;
2148
+ /**
2149
+ * Defaults specified in the {@link breez_sdk_spark} crate.
2150
+ */
2151
+ defaults: () => Partial<ExportUnilateralExitStateResponse>;
2152
+ }>;
2055
2153
  /**
2056
2154
  * FFI-safe representation of `spark_wallet::ClaimLeafInput`.
2057
2155
  */
@@ -3392,6 +3490,80 @@ export declare const IdentifierSignaturePair: Readonly<{
3392
3490
  */
3393
3491
  defaults: () => Partial<IdentifierSignaturePair>;
3394
3492
  }>;
3493
+ /**
3494
+ * Request for `import_unilateral_exit_state`.
3495
+ */
3496
+ export type ImportUnilateralExitStateRequest = {
3497
+ /**
3498
+ * An exit state as returned by `export_unilateral_exit_state`.
3499
+ */
3500
+ exitState: string;
3501
+ };
3502
+ /**
3503
+ * Generated factory for {@link ImportUnilateralExitStateRequest} record objects.
3504
+ */
3505
+ export declare const ImportUnilateralExitStateRequest: Readonly<{
3506
+ /**
3507
+ * Create a frozen instance of {@link ImportUnilateralExitStateRequest}, with defaults specified
3508
+ * in Rust, in the {@link breez_sdk_spark} crate.
3509
+ */
3510
+ create: (partial: Partial<ImportUnilateralExitStateRequest> & Required<Omit<ImportUnilateralExitStateRequest, never>>) => ImportUnilateralExitStateRequest;
3511
+ /**
3512
+ * Create a frozen instance of {@link ImportUnilateralExitStateRequest}, with defaults specified
3513
+ * in Rust, in the {@link breez_sdk_spark} crate.
3514
+ */
3515
+ new: (partial: Partial<ImportUnilateralExitStateRequest> & Required<Omit<ImportUnilateralExitStateRequest, never>>) => ImportUnilateralExitStateRequest;
3516
+ /**
3517
+ * Defaults specified in the {@link breez_sdk_spark} crate.
3518
+ */
3519
+ defaults: () => Partial<ImportUnilateralExitStateRequest>;
3520
+ }>;
3521
+ /**
3522
+ * Result of `import_unilateral_exit_state`.
3523
+ */
3524
+ export type ImportUnilateralExitStateResponse = {
3525
+ /**
3526
+ * Leaves merged into the wallet's exit state, whether or not their exit
3527
+ * data was taken with them.
3528
+ */
3529
+ importedLeaves: number;
3530
+ /**
3531
+ * Leaves left out because the exit state does not record this wallet as
3532
+ * their owner.
3533
+ */
3534
+ skippedForeignLeaves: number;
3535
+ /**
3536
+ * Leaves left out because their exit data disagrees with what the wallet
3537
+ * already holds, so none of it could be trusted. The wallet is left without
3538
+ * these leaves.
3539
+ */
3540
+ skippedConflictingLeaves: number;
3541
+ /**
3542
+ * Leaves the wallet holds whose imported exit data was left out: it is
3543
+ * incomplete, the wallet's own copy can already back an exit, or the leaf
3544
+ * was named more than once. The leaf itself is in the wallet either way.
3545
+ */
3546
+ skippedChains: number;
3547
+ };
3548
+ /**
3549
+ * Generated factory for {@link ImportUnilateralExitStateResponse} record objects.
3550
+ */
3551
+ export declare const ImportUnilateralExitStateResponse: Readonly<{
3552
+ /**
3553
+ * Create a frozen instance of {@link ImportUnilateralExitStateResponse}, with defaults specified
3554
+ * in Rust, in the {@link breez_sdk_spark} crate.
3555
+ */
3556
+ create: (partial: Partial<ImportUnilateralExitStateResponse> & Required<Omit<ImportUnilateralExitStateResponse, never>>) => ImportUnilateralExitStateResponse;
3557
+ /**
3558
+ * Create a frozen instance of {@link ImportUnilateralExitStateResponse}, with defaults specified
3559
+ * in Rust, in the {@link breez_sdk_spark} crate.
3560
+ */
3561
+ new: (partial: Partial<ImportUnilateralExitStateResponse> & Required<Omit<ImportUnilateralExitStateResponse, never>>) => ImportUnilateralExitStateResponse;
3562
+ /**
3563
+ * Defaults specified in the {@link breez_sdk_spark} crate.
3564
+ */
3565
+ defaults: () => Partial<ImportUnilateralExitStateResponse>;
3566
+ }>;
3395
3567
  export type IncomingChange = {
3396
3568
  newState: Record;
3397
3569
  oldState: Record | undefined;
@@ -4740,6 +4912,120 @@ export declare const PrepareLnurlPayResponse: Readonly<{
4740
4912
  */
4741
4913
  defaults: () => Partial<PrepareLnurlPayResponse>;
4742
4914
  }>;
4915
+ /**
4916
+ * Request for a payment link that sends USDC/USDT to an external-chain
4917
+ * recipient, funded by Cash App over Lightning.
4918
+ *
4919
+ * The user pays the returned URL, and the cross-chain provider delivers the
4920
+ * stablecoin to `address`. No funds move through the Spark wallet. Only
4921
+ * available on mainnet.
4922
+ */
4923
+ export type PreparePaymentLinkRequest = {
4924
+ /**
4925
+ * Recipient address on the destination chain (e.g. an EVM `0x...` address).
4926
+ */
4927
+ address: string;
4928
+ /**
4929
+ * The destination route from calling `get_cross_chain_routes()` with the
4930
+ * `CrossChainRouteFilter::PaymentLink` filter. Selects the destination chain
4931
+ * + asset (e.g. USDC on Base).
4932
+ */
4933
+ route: CrossChainRoutePair;
4934
+ /**
4935
+ * Amount in the destination asset's base units, per the route's
4936
+ * `decimals`. These routes deliver USD-pegged stablecoins, so at parity
4937
+ * this is the USD value: `1_000_000` is 1 USDC (6 decimals), about $1.
4938
+ *
4939
+ * With the default fee policy the recipient receives this net amount.
4940
+ * With `FeesIncluded` it is the amount the payer deposits.
4941
+ */
4942
+ amount: U128;
4943
+ /**
4944
+ * Whether fees are added on top of `amount` (`FeesExcluded`, the default)
4945
+ * or deducted from it (`FeesIncluded`).
4946
+ */
4947
+ feePolicy: FeePolicy | undefined;
4948
+ /**
4949
+ * Maximum slippage tolerance in basis points. Falls back to the SDK
4950
+ * default when unset.
4951
+ */
4952
+ maxSlippageBps: /*u32*/ number | undefined;
4953
+ };
4954
+ /**
4955
+ * Generated factory for {@link PreparePaymentLinkRequest} record objects.
4956
+ */
4957
+ export declare const PreparePaymentLinkRequest: Readonly<{
4958
+ /**
4959
+ * Create a frozen instance of {@link PreparePaymentLinkRequest}, with defaults specified
4960
+ * in Rust, in the {@link breez_sdk_spark} crate.
4961
+ */
4962
+ create: (partial: Partial<PreparePaymentLinkRequest> & Required<Omit<PreparePaymentLinkRequest, never>>) => PreparePaymentLinkRequest;
4963
+ /**
4964
+ * Create a frozen instance of {@link PreparePaymentLinkRequest}, with defaults specified
4965
+ * in Rust, in the {@link breez_sdk_spark} crate.
4966
+ */
4967
+ new: (partial: Partial<PreparePaymentLinkRequest> & Required<Omit<PreparePaymentLinkRequest, never>>) => PreparePaymentLinkRequest;
4968
+ /**
4969
+ * Defaults specified in the {@link breez_sdk_spark} crate.
4970
+ */
4971
+ defaults: () => Partial<PreparePaymentLinkRequest>;
4972
+ }>;
4973
+ /**
4974
+ * Response to a [`PreparePaymentLinkRequest`]. Mirrors `BuyBitcoinResponse`
4975
+ * (a payable `url`) plus the quote so the caller can display the expected
4976
+ * delivery and fees.
4977
+ */
4978
+ export type PreparePaymentLinkResponse = {
4979
+ /**
4980
+ * The URL to open in a browser; paying it delivers the stablecoin.
4981
+ */
4982
+ url: string;
4983
+ /**
4984
+ * Sats the payer deposits through the fiat rail.
4985
+ */
4986
+ amountSats: bigint;
4987
+ /**
4988
+ * Estimated amount delivered to the recipient, in `asset` base units.
4989
+ */
4990
+ estimatedOut: U128;
4991
+ /**
4992
+ * The destination stablecoin symbol (e.g. `USDC`). `estimated_out` is
4993
+ * denominated in it.
4994
+ */
4995
+ asset: string;
4996
+ /**
4997
+ * Provider service fee, in `service_fee_asset` base units.
4998
+ */
4999
+ serviceFeeAmount: U128;
5000
+ /**
5001
+ * Denomination of `service_fee_amount`. `None` means sats: Boltz
5002
+ * denominates its fee in sats, Orchestra in the stablecoin.
5003
+ */
5004
+ serviceFeeAsset: string | undefined;
5005
+ /**
5006
+ * RFC3339 timestamp after which the quote is no longer valid.
5007
+ */
5008
+ expiresAt: string;
5009
+ };
5010
+ /**
5011
+ * Generated factory for {@link PreparePaymentLinkResponse} record objects.
5012
+ */
5013
+ export declare const PreparePaymentLinkResponse: Readonly<{
5014
+ /**
5015
+ * Create a frozen instance of {@link PreparePaymentLinkResponse}, with defaults specified
5016
+ * in Rust, in the {@link breez_sdk_spark} crate.
5017
+ */
5018
+ create: (partial: Partial<PreparePaymentLinkResponse> & Required<Omit<PreparePaymentLinkResponse, never>>) => PreparePaymentLinkResponse;
5019
+ /**
5020
+ * Create a frozen instance of {@link PreparePaymentLinkResponse}, with defaults specified
5021
+ * in Rust, in the {@link breez_sdk_spark} crate.
5022
+ */
5023
+ new: (partial: Partial<PreparePaymentLinkResponse> & Required<Omit<PreparePaymentLinkResponse, never>>) => PreparePaymentLinkResponse;
5024
+ /**
5025
+ * Defaults specified in the {@link breez_sdk_spark} crate.
5026
+ */
5027
+ defaults: () => Partial<PreparePaymentLinkResponse>;
5028
+ }>;
4743
5029
  export type PrepareSendBatchRequest = {
4744
5030
  /**
4745
5031
  * The payees, all paid by one transaction. They may span several tokens,
@@ -6898,6 +7184,18 @@ export type TransferAuthorization = {
6898
7184
  * The current owner's signature authorizing the transfer.
6899
7185
  */
6900
7186
  signature: string;
7187
+ /**
7188
+ * The lightning-address domain the authorization is for, taken from the
7189
+ * address being handed over. The signed message names this domain, so an
7190
+ * authorization made for one server does not verify at another.
7191
+ */
7192
+ domain: string;
7193
+ /**
7194
+ * When the authorization was produced, in seconds since the Unix epoch.
7195
+ * Covered by the signature, and valid for 10 minutes: the transferee has
7196
+ * to claim within that window or the current owner authorizes again.
7197
+ */
7198
+ timestamp: bigint;
6901
7199
  };
6902
7200
  /**
6903
7201
  * Generated factory for {@link TransferAuthorization} record objects.
@@ -10008,7 +10306,8 @@ export declare const CrossChainProviderContext: Readonly<{
10008
10306
  export type CrossChainProviderContext = InstanceType<(typeof CrossChainProviderContext)[keyof Omit<typeof CrossChainProviderContext, 'instanceOf'>]>;
10009
10307
  export declare enum CrossChainRouteFilter_Tags {
10010
10308
  Send = "Send",
10011
- Receive = "Receive"
10309
+ Receive = "Receive",
10310
+ PaymentLink = "PaymentLink"
10012
10311
  }
10013
10312
  /**
10014
10313
  * Filter for [`CrossChainService::get_routes`] and the public
@@ -10094,6 +10393,45 @@ export declare const CrossChainRouteFilter: Readonly<{
10094
10393
  readonly [uniffiTypeNameSymbol]: "CrossChainRouteFilter";
10095
10394
  };
10096
10395
  };
10396
+ PaymentLink: {
10397
+ new (inner: {
10398
+ addressDetails: CrossChainAddressDetails;
10399
+ }): {
10400
+ readonly tag: CrossChainRouteFilter_Tags.PaymentLink;
10401
+ readonly inner: Readonly<{
10402
+ addressDetails: CrossChainAddressDetails;
10403
+ }>;
10404
+ /**
10405
+ * @private
10406
+ * This field is private and should not be used, use `tag` instead.
10407
+ */
10408
+ readonly [uniffiTypeNameSymbol]: "CrossChainRouteFilter";
10409
+ };
10410
+ "new"(inner: {
10411
+ addressDetails: CrossChainAddressDetails;
10412
+ }): {
10413
+ readonly tag: CrossChainRouteFilter_Tags.PaymentLink;
10414
+ readonly inner: Readonly<{
10415
+ addressDetails: CrossChainAddressDetails;
10416
+ }>;
10417
+ /**
10418
+ * @private
10419
+ * This field is private and should not be used, use `tag` instead.
10420
+ */
10421
+ readonly [uniffiTypeNameSymbol]: "CrossChainRouteFilter";
10422
+ };
10423
+ instanceOf(obj: any): obj is {
10424
+ readonly tag: CrossChainRouteFilter_Tags.PaymentLink;
10425
+ readonly inner: Readonly<{
10426
+ addressDetails: CrossChainAddressDetails;
10427
+ }>;
10428
+ /**
10429
+ * @private
10430
+ * This field is private and should not be used, use `tag` instead.
10431
+ */
10432
+ readonly [uniffiTypeNameSymbol]: "CrossChainRouteFilter";
10433
+ };
10434
+ };
10097
10435
  }>;
10098
10436
  /**
10099
10437
  * Filter for [`CrossChainService::get_routes`] and the public
@@ -11233,6 +11571,214 @@ export declare const InputType: Readonly<{
11233
11571
  };
11234
11572
  }>;
11235
11573
  export type InputType = InstanceType<(typeof InputType)[keyof Omit<typeof InputType, 'instanceOf'>]>;
11574
+ export declare enum InstantClaimDeclineReason_Tags {
11575
+ NoPlan = "NoPlan",
11576
+ FeeExceeded = "FeeExceeded",
11577
+ SubmissionFailed = "SubmissionFailed"
11578
+ }
11579
+ /**
11580
+ * Why an instant (0-conf) claim was declined.
11581
+ */
11582
+ export declare const InstantClaimDeclineReason: Readonly<{
11583
+ instanceOf: (obj: any) => obj is InstantClaimDeclineReason;
11584
+ NoPlan: {
11585
+ new (): {
11586
+ readonly tag: InstantClaimDeclineReason_Tags.NoPlan;
11587
+ /**
11588
+ * @private
11589
+ * This field is private and should not be used, use `tag` instead.
11590
+ */
11591
+ readonly [uniffiTypeNameSymbol]: "InstantClaimDeclineReason";
11592
+ };
11593
+ "new"(): {
11594
+ readonly tag: InstantClaimDeclineReason_Tags.NoPlan;
11595
+ /**
11596
+ * @private
11597
+ * This field is private and should not be used, use `tag` instead.
11598
+ */
11599
+ readonly [uniffiTypeNameSymbol]: "InstantClaimDeclineReason";
11600
+ };
11601
+ instanceOf(obj: any): obj is {
11602
+ readonly tag: InstantClaimDeclineReason_Tags.NoPlan;
11603
+ /**
11604
+ * @private
11605
+ * This field is private and should not be used, use `tag` instead.
11606
+ */
11607
+ readonly [uniffiTypeNameSymbol]: "InstantClaimDeclineReason";
11608
+ };
11609
+ };
11610
+ FeeExceeded: {
11611
+ new (inner: {
11612
+ maxBps: number;
11613
+ quotedBps: number;
11614
+ quotedSats: bigint;
11615
+ }): {
11616
+ readonly tag: InstantClaimDeclineReason_Tags.FeeExceeded;
11617
+ readonly inner: Readonly<{
11618
+ maxBps: number;
11619
+ quotedBps: number;
11620
+ quotedSats: bigint;
11621
+ }>;
11622
+ /**
11623
+ * @private
11624
+ * This field is private and should not be used, use `tag` instead.
11625
+ */
11626
+ readonly [uniffiTypeNameSymbol]: "InstantClaimDeclineReason";
11627
+ };
11628
+ "new"(inner: {
11629
+ maxBps: number;
11630
+ quotedBps: number;
11631
+ quotedSats: bigint;
11632
+ }): {
11633
+ readonly tag: InstantClaimDeclineReason_Tags.FeeExceeded;
11634
+ readonly inner: Readonly<{
11635
+ maxBps: number;
11636
+ quotedBps: number;
11637
+ quotedSats: bigint;
11638
+ }>;
11639
+ /**
11640
+ * @private
11641
+ * This field is private and should not be used, use `tag` instead.
11642
+ */
11643
+ readonly [uniffiTypeNameSymbol]: "InstantClaimDeclineReason";
11644
+ };
11645
+ instanceOf(obj: any): obj is {
11646
+ readonly tag: InstantClaimDeclineReason_Tags.FeeExceeded;
11647
+ readonly inner: Readonly<{
11648
+ maxBps: number;
11649
+ quotedBps: number;
11650
+ quotedSats: bigint;
11651
+ }>;
11652
+ /**
11653
+ * @private
11654
+ * This field is private and should not be used, use `tag` instead.
11655
+ */
11656
+ readonly [uniffiTypeNameSymbol]: "InstantClaimDeclineReason";
11657
+ };
11658
+ };
11659
+ SubmissionFailed: {
11660
+ new (): {
11661
+ readonly tag: InstantClaimDeclineReason_Tags.SubmissionFailed;
11662
+ /**
11663
+ * @private
11664
+ * This field is private and should not be used, use `tag` instead.
11665
+ */
11666
+ readonly [uniffiTypeNameSymbol]: "InstantClaimDeclineReason";
11667
+ };
11668
+ "new"(): {
11669
+ readonly tag: InstantClaimDeclineReason_Tags.SubmissionFailed;
11670
+ /**
11671
+ * @private
11672
+ * This field is private and should not be used, use `tag` instead.
11673
+ */
11674
+ readonly [uniffiTypeNameSymbol]: "InstantClaimDeclineReason";
11675
+ };
11676
+ instanceOf(obj: any): obj is {
11677
+ readonly tag: InstantClaimDeclineReason_Tags.SubmissionFailed;
11678
+ /**
11679
+ * @private
11680
+ * This field is private and should not be used, use `tag` instead.
11681
+ */
11682
+ readonly [uniffiTypeNameSymbol]: "InstantClaimDeclineReason";
11683
+ };
11684
+ };
11685
+ }>;
11686
+ /**
11687
+ * Why an instant (0-conf) claim was declined.
11688
+ */
11689
+ export type InstantClaimDeclineReason = InstanceType<(typeof InstantClaimDeclineReason)[keyof Omit<typeof InstantClaimDeclineReason, 'instanceOf'>]>;
11690
+ export declare enum InstantClaimStatus_Tags {
11691
+ Declined = "Declined",
11692
+ Submitted = "Submitted"
11693
+ }
11694
+ /**
11695
+ * State of an instant (0-conf) claim attempt on a deposit.
11696
+ */
11697
+ export declare const InstantClaimStatus: Readonly<{
11698
+ instanceOf: (obj: any) => obj is InstantClaimStatus;
11699
+ Declined: {
11700
+ new (inner: {
11701
+ reason: InstantClaimDeclineReason;
11702
+ }): {
11703
+ readonly tag: InstantClaimStatus_Tags.Declined;
11704
+ readonly inner: Readonly<{
11705
+ reason: InstantClaimDeclineReason;
11706
+ }>;
11707
+ /**
11708
+ * @private
11709
+ * This field is private and should not be used, use `tag` instead.
11710
+ */
11711
+ readonly [uniffiTypeNameSymbol]: "InstantClaimStatus";
11712
+ };
11713
+ "new"(inner: {
11714
+ reason: InstantClaimDeclineReason;
11715
+ }): {
11716
+ readonly tag: InstantClaimStatus_Tags.Declined;
11717
+ readonly inner: Readonly<{
11718
+ reason: InstantClaimDeclineReason;
11719
+ }>;
11720
+ /**
11721
+ * @private
11722
+ * This field is private and should not be used, use `tag` instead.
11723
+ */
11724
+ readonly [uniffiTypeNameSymbol]: "InstantClaimStatus";
11725
+ };
11726
+ instanceOf(obj: any): obj is {
11727
+ readonly tag: InstantClaimStatus_Tags.Declined;
11728
+ readonly inner: Readonly<{
11729
+ reason: InstantClaimDeclineReason;
11730
+ }>;
11731
+ /**
11732
+ * @private
11733
+ * This field is private and should not be used, use `tag` instead.
11734
+ */
11735
+ readonly [uniffiTypeNameSymbol]: "InstantClaimStatus";
11736
+ };
11737
+ };
11738
+ Submitted: {
11739
+ new (inner: {
11740
+ claimId: string;
11741
+ }): {
11742
+ readonly tag: InstantClaimStatus_Tags.Submitted;
11743
+ readonly inner: Readonly<{
11744
+ claimId: string;
11745
+ }>;
11746
+ /**
11747
+ * @private
11748
+ * This field is private and should not be used, use `tag` instead.
11749
+ */
11750
+ readonly [uniffiTypeNameSymbol]: "InstantClaimStatus";
11751
+ };
11752
+ "new"(inner: {
11753
+ claimId: string;
11754
+ }): {
11755
+ readonly tag: InstantClaimStatus_Tags.Submitted;
11756
+ readonly inner: Readonly<{
11757
+ claimId: string;
11758
+ }>;
11759
+ /**
11760
+ * @private
11761
+ * This field is private and should not be used, use `tag` instead.
11762
+ */
11763
+ readonly [uniffiTypeNameSymbol]: "InstantClaimStatus";
11764
+ };
11765
+ instanceOf(obj: any): obj is {
11766
+ readonly tag: InstantClaimStatus_Tags.Submitted;
11767
+ readonly inner: Readonly<{
11768
+ claimId: string;
11769
+ }>;
11770
+ /**
11771
+ * @private
11772
+ * This field is private and should not be used, use `tag` instead.
11773
+ */
11774
+ readonly [uniffiTypeNameSymbol]: "InstantClaimStatus";
11775
+ };
11776
+ };
11777
+ }>;
11778
+ /**
11779
+ * State of an instant (0-conf) claim attempt on a deposit.
11780
+ */
11781
+ export type InstantClaimStatus = InstanceType<(typeof InstantClaimStatus)[keyof Omit<typeof InstantClaimStatus, 'instanceOf'>]>;
11236
11782
  export declare enum LnurlCallbackStatus_Tags {
11237
11783
  Ok = "Ok",
11238
11784
  ErrorStatus = "ErrorStatus"
@@ -14573,6 +15119,10 @@ export declare const ReceivePaymentMethod: Readonly<{
14573
15119
  * The payer's HTLC will be held until the preimage is provided via
14574
15120
  * `claim_htlc_payment` or the HTLC expires.
14575
15121
  */ paymentHash: string | undefined;
15122
+ /**
15123
+ * Spark identity public key that will receive the payment.
15124
+ * If absent, the connected wallet's identity public key is used.
15125
+ */ receiverIdentityPublicKey: string | undefined;
14576
15126
  }): {
14577
15127
  readonly tag: ReceivePaymentMethod_Tags.Bolt11Invoice;
14578
15128
  readonly inner: Readonly<{
@@ -14580,6 +15130,7 @@ export declare const ReceivePaymentMethod: Readonly<{
14580
15130
  amountSats: /*u64*/ bigint | undefined;
14581
15131
  expirySecs: /*u32*/ number | undefined;
14582
15132
  paymentHash: string | undefined;
15133
+ receiverIdentityPublicKey: string | undefined;
14583
15134
  }>;
14584
15135
  /**
14585
15136
  * @private
@@ -14598,6 +15149,10 @@ export declare const ReceivePaymentMethod: Readonly<{
14598
15149
  * The payer's HTLC will be held until the preimage is provided via
14599
15150
  * `claim_htlc_payment` or the HTLC expires.
14600
15151
  */ paymentHash: string | undefined;
15152
+ /**
15153
+ * Spark identity public key that will receive the payment.
15154
+ * If absent, the connected wallet's identity public key is used.
15155
+ */ receiverIdentityPublicKey: string | undefined;
14601
15156
  }): {
14602
15157
  readonly tag: ReceivePaymentMethod_Tags.Bolt11Invoice;
14603
15158
  readonly inner: Readonly<{
@@ -14605,6 +15160,7 @@ export declare const ReceivePaymentMethod: Readonly<{
14605
15160
  amountSats: /*u64*/ bigint | undefined;
14606
15161
  expirySecs: /*u32*/ number | undefined;
14607
15162
  paymentHash: string | undefined;
15163
+ receiverIdentityPublicKey: string | undefined;
14608
15164
  }>;
14609
15165
  /**
14610
15166
  * @private
@@ -14619,6 +15175,7 @@ export declare const ReceivePaymentMethod: Readonly<{
14619
15175
  amountSats: /*u64*/ bigint | undefined;
14620
15176
  expirySecs: /*u32*/ number | undefined;
14621
15177
  paymentHash: string | undefined;
15178
+ receiverIdentityPublicKey: string | undefined;
14622
15179
  }>;
14623
15180
  /**
14624
15181
  * @private
@@ -15902,7 +16459,8 @@ export declare enum SdkEvent_Tags {
15902
16459
  PaymentFailed = "PaymentFailed",
15903
16460
  AutoOptimization = "AutoOptimization",
15904
16461
  LightningAddressChanged = "LightningAddressChanged",
15905
- NewDeposits = "NewDeposits"
16462
+ NewDeposits = "NewDeposits",
16463
+ UnilateralExitStateChanged = "UnilateralExitStateChanged"
15906
16464
  }
15907
16465
  /**
15908
16466
  * Events emitted by the SDK
@@ -16247,6 +16805,32 @@ export declare const SdkEvent: Readonly<{
16247
16805
  readonly [uniffiTypeNameSymbol]: "SdkEvent";
16248
16806
  };
16249
16807
  };
16808
+ UnilateralExitStateChanged: {
16809
+ new (): {
16810
+ readonly tag: SdkEvent_Tags.UnilateralExitStateChanged;
16811
+ /**
16812
+ * @private
16813
+ * This field is private and should not be used, use `tag` instead.
16814
+ */
16815
+ readonly [uniffiTypeNameSymbol]: "SdkEvent";
16816
+ };
16817
+ "new"(): {
16818
+ readonly tag: SdkEvent_Tags.UnilateralExitStateChanged;
16819
+ /**
16820
+ * @private
16821
+ * This field is private and should not be used, use `tag` instead.
16822
+ */
16823
+ readonly [uniffiTypeNameSymbol]: "SdkEvent";
16824
+ };
16825
+ instanceOf(obj: any): obj is {
16826
+ readonly tag: SdkEvent_Tags.UnilateralExitStateChanged;
16827
+ /**
16828
+ * @private
16829
+ * This field is private and should not be used, use `tag` instead.
16830
+ */
16831
+ readonly [uniffiTypeNameSymbol]: "SdkEvent";
16832
+ };
16833
+ };
16250
16834
  }>;
16251
16835
  /**
16252
16836
  * Events emitted by the SDK
@@ -18459,6 +19043,24 @@ export declare const SourceAsset: Readonly<{
18459
19043
  * The source asset a cross-chain route accepts as input on the Spark side.
18460
19044
  */
18461
19045
  export type SourceAsset = InstanceType<(typeof SourceAsset)[keyof Omit<typeof SourceAsset, 'instanceOf'>]>;
19046
+ /**
19047
+ * The chain a cross-chain route is funded from, orthogonal to the
19048
+ * [`SourceAsset`] that moves.
19049
+ */
19050
+ export declare enum SourceChain {
19051
+ /**
19052
+ * Paid over Spark, using a Bitcoin or token source asset.
19053
+ */
19054
+ Spark = 0,
19055
+ /**
19056
+ * Paid over Lightning, using a Bitcoin source asset.
19057
+ */
19058
+ Lightning = 1,
19059
+ /**
19060
+ * Paid on-chain to Bitcoin (L1), using a Bitcoin source asset.
19061
+ */
19062
+ Bitcoin = 2
19063
+ }
18462
19064
  export declare enum SparkHtlcStatus {
18463
19065
  /**
18464
19066
  * The HTLC is waiting for the preimage to be shared by the receiver
@@ -19962,7 +20564,8 @@ export declare const UnsignedTransferPackage: Readonly<{
19962
20564
  export type UnsignedTransferPackage = InstanceType<(typeof UnsignedTransferPackage)[keyof Omit<typeof UnsignedTransferPackage, 'instanceOf'>]>;
19963
20565
  export declare enum UpdateDepositPayload_Tags {
19964
20566
  ClaimError = "ClaimError",
19965
- Refund = "Refund"
20567
+ Refund = "Refund",
20568
+ InstantClaim = "InstantClaim"
19966
20569
  }
19967
20570
  export declare const UpdateDepositPayload: Readonly<{
19968
20571
  instanceOf: (obj: any) => obj is UpdateDepositPayload;
@@ -20049,6 +20652,45 @@ export declare const UpdateDepositPayload: Readonly<{
20049
20652
  readonly [uniffiTypeNameSymbol]: "UpdateDepositPayload";
20050
20653
  };
20051
20654
  };
20655
+ InstantClaim: {
20656
+ new (inner: {
20657
+ status: InstantClaimStatus;
20658
+ }): {
20659
+ readonly tag: UpdateDepositPayload_Tags.InstantClaim;
20660
+ readonly inner: Readonly<{
20661
+ status: InstantClaimStatus;
20662
+ }>;
20663
+ /**
20664
+ * @private
20665
+ * This field is private and should not be used, use `tag` instead.
20666
+ */
20667
+ readonly [uniffiTypeNameSymbol]: "UpdateDepositPayload";
20668
+ };
20669
+ "new"(inner: {
20670
+ status: InstantClaimStatus;
20671
+ }): {
20672
+ readonly tag: UpdateDepositPayload_Tags.InstantClaim;
20673
+ readonly inner: Readonly<{
20674
+ status: InstantClaimStatus;
20675
+ }>;
20676
+ /**
20677
+ * @private
20678
+ * This field is private and should not be used, use `tag` instead.
20679
+ */
20680
+ readonly [uniffiTypeNameSymbol]: "UpdateDepositPayload";
20681
+ };
20682
+ instanceOf(obj: any): obj is {
20683
+ readonly tag: UpdateDepositPayload_Tags.InstantClaim;
20684
+ readonly inner: Readonly<{
20685
+ status: InstantClaimStatus;
20686
+ }>;
20687
+ /**
20688
+ * @private
20689
+ * This field is private and should not be used, use `tag` instead.
20690
+ */
20691
+ readonly [uniffiTypeNameSymbol]: "UpdateDepositPayload";
20692
+ };
20693
+ };
20052
20694
  }>;
20053
20695
  export type UpdateDepositPayload = InstanceType<(typeof UpdateDepositPayload)[keyof Omit<typeof UpdateDepositPayload, 'instanceOf'>]>;
20054
20696
  export declare enum WebhookEventType_Tags {
@@ -20344,6 +20986,13 @@ export interface BreezSdkInterface {
20344
20986
  buyBitcoin(request: BuyBitcoinRequest, asyncOpts_?: {
20345
20987
  signal: AbortSignal;
20346
20988
  }): Promise<BuyBitcoinResponse>;
20989
+ /**
20990
+ * Check whether a username is free for this wallet to register.
20991
+ *
20992
+ * The check is signed with the wallet's identity key, so every call costs
20993
+ * a signing operation and a server round trip: run it when the user
20994
+ * finishes typing, not on every keystroke.
20995
+ */
20347
20996
  checkLightningAddressAvailable(req: CheckLightningAddressRequest, asyncOpts_?: {
20348
20997
  signal: AbortSignal;
20349
20998
  }): Promise<boolean>;
@@ -20384,6 +21033,14 @@ export interface BreezSdkInterface {
20384
21033
  deleteContact(id: string, asyncOpts_?: {
20385
21034
  signal: AbortSignal;
20386
21035
  }): Promise<void>;
21036
+ /**
21037
+ * Give up this wallet's lightning address.
21038
+ *
21039
+ * The server holds the address for this wallet afterwards: while the hold
21040
+ * stands only this wallet can register it, so payers who kept the old
21041
+ * address are not redirected to someone else. How long a hold stands is
21042
+ * the server's policy.
21043
+ */
20387
21044
  deleteLightningAddress(asyncOpts_?: {
20388
21045
  signal: AbortSignal;
20389
21046
  }): Promise<void>;
@@ -20403,6 +21060,17 @@ export interface BreezSdkInterface {
20403
21060
  disconnect(asyncOpts_?: {
20404
21061
  signal: AbortSignal;
20405
21062
  }): Promise<void>;
21063
+ /**
21064
+ * Serializes everything needed to unilaterally exit this wallet's funds
21065
+ * while the Spark operators are unreachable, so it can be kept somewhere
21066
+ * the wallet's own storage cannot take with it.
21067
+ *
21068
+ * The state goes stale as the wallet is used: export again whenever a
21069
+ * `UnilateralExitStateChanged` event arrives.
21070
+ */
21071
+ exportUnilateralExitState(asyncOpts_?: {
21072
+ signal: AbortSignal;
21073
+ }): Promise<ExportUnilateralExitStateResponse>;
20406
21074
  fetchConversionLimits(request: FetchConversionLimitsRequest, asyncOpts_?: {
20407
21075
  signal: AbortSignal;
20408
21076
  }): Promise<FetchConversionLimitsResponse>;
@@ -20410,7 +21078,9 @@ export interface BreezSdkInterface {
20410
21078
  * Returns the available cross-chain routes.
20411
21079
  *
20412
21080
  * Use [`CrossChainRouteFilter::Send`] to get routes for sending from Spark
20413
- * (filtered by the parsed recipient address), or
21081
+ * (filtered by the parsed recipient address),
21082
+ * [`CrossChainRouteFilter::PaymentLink`] for routes fundable by an external
21083
+ * fiat rail (`prepare_payment_link`), or
20414
21084
  * [`CrossChainRouteFilter::Receive`] to get routes for receiving into Spark
20415
21085
  * (optionally filtered by a source contract address).
20416
21086
  */
@@ -20452,6 +21122,26 @@ export interface BreezSdkInterface {
20452
21122
  getUserSettings(asyncOpts_?: {
20453
21123
  signal: AbortSignal;
20454
21124
  }): Promise<UserSettings>;
21125
+ /**
21126
+ * Merges a previously exported exit state back into the wallet, without
21127
+ * contacting the Spark operators. A leaf the exit state does not record
21128
+ * this wallet as the owner of is skipped.
21129
+ *
21130
+ * A leaf the wallet can already exit keeps the data it has: an exit state
21131
+ * carries no mark of when it was taken, so the imported copy is used only
21132
+ * where the wallet has nothing that works. Importing an out of date state
21133
+ * therefore never costs the wallet the ability to exit a leaf.
21134
+ *
21135
+ * The exit state must come from the same network the SDK is configured
21136
+ * for.
21137
+ *
21138
+ * An out of date exit state can restore funds that have since been spent,
21139
+ * so the balance may read high until the next sync reconciles it with the
21140
+ * Spark operators.
21141
+ */
21142
+ importUnilateralExitState(request: ImportUnilateralExitStateRequest, asyncOpts_?: {
21143
+ signal: AbortSignal;
21144
+ }): Promise<ImportUnilateralExitStateResponse>;
20455
21145
  /**
20456
21146
  * Lists contacts with optional pagination.
20457
21147
  *
@@ -20581,6 +21271,17 @@ export interface BreezSdkInterface {
20581
21271
  prepareLnurlPay(request: PrepareLnurlPayRequest, asyncOpts_?: {
20582
21272
  signal: AbortSignal;
20583
21273
  }): Promise<PrepareLnurlPayResponse>;
21274
+ /**
21275
+ * Prepare a payment link that sends USDC/USDT to an external-chain
21276
+ * recipient, funded by Cash App over Lightning.
21277
+ *
21278
+ * Creates a cross-chain order and returns a `cash.app` deep link the payer
21279
+ * opens. Once paid, the provider delivers the stablecoin to `address`. No
21280
+ * funds move through the Spark wallet. Only available on mainnet.
21281
+ */
21282
+ preparePaymentLink(request: PreparePaymentLinkRequest, asyncOpts_?: {
21283
+ signal: AbortSignal;
21284
+ }): Promise<PreparePaymentLinkResponse>;
20584
21285
  /**
20585
21286
  * Prepares a send to several payees, all paid by one transaction.
20586
21287
  *
@@ -20697,6 +21398,9 @@ export interface BreezSdkInterface {
20697
21398
  * Signs a message with the wallet's identity key. The message is SHA256
20698
21399
  * hashed before signing. The returned signature will be hex encoded in
20699
21400
  * DER format by default, or compact format if specified.
21401
+ *
21402
+ * Messages in the `breez-lnurl:` namespace are refused: it is reserved for
21403
+ * the SDK's own requests to the Lightning address server.
20700
21404
  */
20701
21405
  signMessage(request: SignMessageRequest, asyncOpts_?: {
20702
21406
  signal: AbortSignal;
@@ -20838,6 +21542,13 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
20838
21542
  buyBitcoin(request: BuyBitcoinRequest, asyncOpts_?: {
20839
21543
  signal: AbortSignal;
20840
21544
  }): Promise<BuyBitcoinResponse>;
21545
+ /**
21546
+ * Check whether a username is free for this wallet to register.
21547
+ *
21548
+ * The check is signed with the wallet's identity key, so every call costs
21549
+ * a signing operation and a server round trip: run it when the user
21550
+ * finishes typing, not on every keystroke.
21551
+ */
20841
21552
  checkLightningAddressAvailable(req: CheckLightningAddressRequest, asyncOpts_?: {
20842
21553
  signal: AbortSignal;
20843
21554
  }): Promise<boolean>;
@@ -20878,6 +21589,14 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
20878
21589
  deleteContact(id: string, asyncOpts_?: {
20879
21590
  signal: AbortSignal;
20880
21591
  }): Promise<void>;
21592
+ /**
21593
+ * Give up this wallet's lightning address.
21594
+ *
21595
+ * The server holds the address for this wallet afterwards: while the hold
21596
+ * stands only this wallet can register it, so payers who kept the old
21597
+ * address are not redirected to someone else. How long a hold stands is
21598
+ * the server's policy.
21599
+ */
20881
21600
  deleteLightningAddress(asyncOpts_?: {
20882
21601
  signal: AbortSignal;
20883
21602
  }): Promise<void>;
@@ -20897,6 +21616,17 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
20897
21616
  disconnect(asyncOpts_?: {
20898
21617
  signal: AbortSignal;
20899
21618
  }): Promise<void>;
21619
+ /**
21620
+ * Serializes everything needed to unilaterally exit this wallet's funds
21621
+ * while the Spark operators are unreachable, so it can be kept somewhere
21622
+ * the wallet's own storage cannot take with it.
21623
+ *
21624
+ * The state goes stale as the wallet is used: export again whenever a
21625
+ * `UnilateralExitStateChanged` event arrives.
21626
+ */
21627
+ exportUnilateralExitState(asyncOpts_?: {
21628
+ signal: AbortSignal;
21629
+ }): Promise<ExportUnilateralExitStateResponse>;
20900
21630
  fetchConversionLimits(request: FetchConversionLimitsRequest, asyncOpts_?: {
20901
21631
  signal: AbortSignal;
20902
21632
  }): Promise<FetchConversionLimitsResponse>;
@@ -20904,7 +21634,9 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
20904
21634
  * Returns the available cross-chain routes.
20905
21635
  *
20906
21636
  * Use [`CrossChainRouteFilter::Send`] to get routes for sending from Spark
20907
- * (filtered by the parsed recipient address), or
21637
+ * (filtered by the parsed recipient address),
21638
+ * [`CrossChainRouteFilter::PaymentLink`] for routes fundable by an external
21639
+ * fiat rail (`prepare_payment_link`), or
20908
21640
  * [`CrossChainRouteFilter::Receive`] to get routes for receiving into Spark
20909
21641
  * (optionally filtered by a source contract address).
20910
21642
  */
@@ -20946,6 +21678,26 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
20946
21678
  getUserSettings(asyncOpts_?: {
20947
21679
  signal: AbortSignal;
20948
21680
  }): Promise<UserSettings>;
21681
+ /**
21682
+ * Merges a previously exported exit state back into the wallet, without
21683
+ * contacting the Spark operators. A leaf the exit state does not record
21684
+ * this wallet as the owner of is skipped.
21685
+ *
21686
+ * A leaf the wallet can already exit keeps the data it has: an exit state
21687
+ * carries no mark of when it was taken, so the imported copy is used only
21688
+ * where the wallet has nothing that works. Importing an out of date state
21689
+ * therefore never costs the wallet the ability to exit a leaf.
21690
+ *
21691
+ * The exit state must come from the same network the SDK is configured
21692
+ * for.
21693
+ *
21694
+ * An out of date exit state can restore funds that have since been spent,
21695
+ * so the balance may read high until the next sync reconciles it with the
21696
+ * Spark operators.
21697
+ */
21698
+ importUnilateralExitState(request: ImportUnilateralExitStateRequest, asyncOpts_?: {
21699
+ signal: AbortSignal;
21700
+ }): Promise<ImportUnilateralExitStateResponse>;
20949
21701
  /**
20950
21702
  * Lists contacts with optional pagination.
20951
21703
  *
@@ -21075,6 +21827,17 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
21075
21827
  prepareLnurlPay(request: PrepareLnurlPayRequest, asyncOpts_?: {
21076
21828
  signal: AbortSignal;
21077
21829
  }): Promise<PrepareLnurlPayResponse>;
21830
+ /**
21831
+ * Prepare a payment link that sends USDC/USDT to an external-chain
21832
+ * recipient, funded by Cash App over Lightning.
21833
+ *
21834
+ * Creates a cross-chain order and returns a `cash.app` deep link the payer
21835
+ * opens. Once paid, the provider delivers the stablecoin to `address`. No
21836
+ * funds move through the Spark wallet. Only available on mainnet.
21837
+ */
21838
+ preparePaymentLink(request: PreparePaymentLinkRequest, asyncOpts_?: {
21839
+ signal: AbortSignal;
21840
+ }): Promise<PreparePaymentLinkResponse>;
21078
21841
  /**
21079
21842
  * Prepares a send to several payees, all paid by one transaction.
21080
21843
  *
@@ -21191,6 +21954,9 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
21191
21954
  * Signs a message with the wallet's identity key. The message is SHA256
21192
21955
  * hashed before signing. The returned signature will be hex encoded in
21193
21956
  * DER format by default, or compact format if specified.
21957
+ *
21958
+ * Messages in the `breez-lnurl:` namespace are refused: it is reserved for
21959
+ * the SDK's own requests to the Lightning address server.
21194
21960
  */
21195
21961
  signMessage(request: SignMessageRequest, asyncOpts_?: {
21196
21962
  signal: AbortSignal;
@@ -24215,6 +24981,13 @@ declare const _default: Readonly<{
24215
24981
  lift(value: UniffiByteArray): ExitLeafSelection;
24216
24982
  lower(value: ExitLeafSelection): UniffiByteArray;
24217
24983
  };
24984
+ FfiConverterTypeExportUnilateralExitStateResponse: {
24985
+ read(from: RustBuffer): ExportUnilateralExitStateResponse;
24986
+ write(value: ExportUnilateralExitStateResponse, into: RustBuffer): void;
24987
+ allocationSize(value: ExportUnilateralExitStateResponse): number;
24988
+ lift(value: UniffiByteArray): ExportUnilateralExitStateResponse;
24989
+ lower(value: ExportUnilateralExitStateResponse): UniffiByteArray;
24990
+ };
24218
24991
  FfiConverterTypeExternalBreezSigner: FfiConverterObjectWithCallbacks<ExternalBreezSigner>;
24219
24992
  FfiConverterTypeExternalClaimLeafInput: {
24220
24993
  read(from: RustBuffer): ExternalClaimLeafInput;
@@ -24583,6 +25356,20 @@ declare const _default: Readonly<{
24583
25356
  lift(value: UniffiByteArray): IdentifierSignaturePair;
24584
25357
  lower(value: IdentifierSignaturePair): UniffiByteArray;
24585
25358
  };
25359
+ FfiConverterTypeImportUnilateralExitStateRequest: {
25360
+ read(from: RustBuffer): ImportUnilateralExitStateRequest;
25361
+ write(value: ImportUnilateralExitStateRequest, into: RustBuffer): void;
25362
+ allocationSize(value: ImportUnilateralExitStateRequest): number;
25363
+ lift(value: UniffiByteArray): ImportUnilateralExitStateRequest;
25364
+ lower(value: ImportUnilateralExitStateRequest): UniffiByteArray;
25365
+ };
25366
+ FfiConverterTypeImportUnilateralExitStateResponse: {
25367
+ read(from: RustBuffer): ImportUnilateralExitStateResponse;
25368
+ write(value: ImportUnilateralExitStateResponse, into: RustBuffer): void;
25369
+ allocationSize(value: ImportUnilateralExitStateResponse): number;
25370
+ lift(value: UniffiByteArray): ImportUnilateralExitStateResponse;
25371
+ lower(value: ImportUnilateralExitStateResponse): UniffiByteArray;
25372
+ };
24586
25373
  FfiConverterTypeIncomingChange: {
24587
25374
  read(from: RustBuffer): IncomingChange;
24588
25375
  write(value: IncomingChange, into: RustBuffer): void;
@@ -24597,6 +25384,20 @@ declare const _default: Readonly<{
24597
25384
  lift(value: UniffiByteArray): InputType;
24598
25385
  lower(value: InputType): UniffiByteArray;
24599
25386
  };
25387
+ FfiConverterTypeInstantClaimDeclineReason: {
25388
+ read(from: RustBuffer): InstantClaimDeclineReason;
25389
+ write(value: InstantClaimDeclineReason, into: RustBuffer): void;
25390
+ allocationSize(value: InstantClaimDeclineReason): number;
25391
+ lift(value: UniffiByteArray): InstantClaimDeclineReason;
25392
+ lower(value: InstantClaimDeclineReason): UniffiByteArray;
25393
+ };
25394
+ FfiConverterTypeInstantClaimStatus: {
25395
+ read(from: RustBuffer): InstantClaimStatus;
25396
+ write(value: InstantClaimStatus, into: RustBuffer): void;
25397
+ allocationSize(value: InstantClaimStatus): number;
25398
+ lift(value: UniffiByteArray): InstantClaimStatus;
25399
+ lower(value: InstantClaimStatus): UniffiByteArray;
25400
+ };
24600
25401
  FfiConverterTypeLeafOptimizationConfig: {
24601
25402
  read(from: RustBuffer): LeafOptimizationConfig;
24602
25403
  write(value: LeafOptimizationConfig, into: RustBuffer): void;
@@ -25006,6 +25807,20 @@ declare const _default: Readonly<{
25006
25807
  lift(value: UniffiByteArray): PrepareLnurlPayResponse;
25007
25808
  lower(value: PrepareLnurlPayResponse): UniffiByteArray;
25008
25809
  };
25810
+ FfiConverterTypePreparePaymentLinkRequest: {
25811
+ read(from: RustBuffer): PreparePaymentLinkRequest;
25812
+ write(value: PreparePaymentLinkRequest, into: RustBuffer): void;
25813
+ allocationSize(value: PreparePaymentLinkRequest): number;
25814
+ lift(value: UniffiByteArray): PreparePaymentLinkRequest;
25815
+ lower(value: PreparePaymentLinkRequest): UniffiByteArray;
25816
+ };
25817
+ FfiConverterTypePreparePaymentLinkResponse: {
25818
+ read(from: RustBuffer): PreparePaymentLinkResponse;
25819
+ write(value: PreparePaymentLinkResponse, into: RustBuffer): void;
25820
+ allocationSize(value: PreparePaymentLinkResponse): number;
25821
+ lift(value: UniffiByteArray): PreparePaymentLinkResponse;
25822
+ lower(value: PreparePaymentLinkResponse): UniffiByteArray;
25823
+ };
25009
25824
  FfiConverterTypePrepareSendBatchRequest: {
25010
25825
  read(from: RustBuffer): PrepareSendBatchRequest;
25011
25826
  write(value: PrepareSendBatchRequest, into: RustBuffer): void;
@@ -25447,6 +26262,13 @@ declare const _default: Readonly<{
25447
26262
  lift(value: UniffiByteArray): SourceAsset;
25448
26263
  lower(value: SourceAsset): UniffiByteArray;
25449
26264
  };
26265
+ FfiConverterTypeSourceChain: {
26266
+ read(from: RustBuffer): SourceChain;
26267
+ write(value: SourceChain, into: RustBuffer): void;
26268
+ allocationSize(value: SourceChain): number;
26269
+ lift(value: UniffiByteArray): SourceChain;
26270
+ lower(value: SourceChain): UniffiByteArray;
26271
+ };
25450
26272
  FfiConverterTypeSparkAddressDetails: {
25451
26273
  read(from: RustBuffer): SparkAddressDetails;
25452
26274
  write(value: SparkAddressDetails, into: RustBuffer): void;