@breeztech/breez-sdk-spark-react-native 0.24.1 → 0.25.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.
@@ -939,6 +939,63 @@ export declare const CheckMessageResponse: Readonly<{
939
939
  */
940
940
  defaults: () => Partial<CheckMessageResponse>;
941
941
  }>;
942
+ /**
943
+ * Request for `check_unilateral_exit`: the exit you kept from a previous
944
+ * `unilateral_exit`, as you last stored it.
945
+ */
946
+ export type CheckUnilateralExitRequest = {
947
+ exit: UnilateralExitResponse;
948
+ };
949
+ /**
950
+ * Generated factory for {@link CheckUnilateralExitRequest} record objects.
951
+ */
952
+ export declare const CheckUnilateralExitRequest: Readonly<{
953
+ /**
954
+ * Create a frozen instance of {@link CheckUnilateralExitRequest}, with defaults specified
955
+ * in Rust, in the {@link breez_sdk_spark} crate.
956
+ */
957
+ create: (partial: Partial<CheckUnilateralExitRequest> & Required<Omit<CheckUnilateralExitRequest, never>>) => CheckUnilateralExitRequest;
958
+ /**
959
+ * Create a frozen instance of {@link CheckUnilateralExitRequest}, with defaults specified
960
+ * in Rust, in the {@link breez_sdk_spark} crate.
961
+ */
962
+ new: (partial: Partial<CheckUnilateralExitRequest> & Required<Omit<CheckUnilateralExitRequest, never>>) => CheckUnilateralExitRequest;
963
+ /**
964
+ * Defaults specified in the {@link breez_sdk_spark} crate.
965
+ */
966
+ defaults: () => Partial<CheckUnilateralExitRequest>;
967
+ }>;
968
+ /**
969
+ * Result of `check_unilateral_exit`: the same exit, read back against the
970
+ * chain.
971
+ */
972
+ export type CheckUnilateralExitResponse = {
973
+ /**
974
+ * The exit with each transaction's status brought up to date. Store it in
975
+ * place of the copy you passed in.
976
+ */
977
+ exit: UnilateralExitResponse;
978
+ verdict: UnilateralExitVerdict;
979
+ };
980
+ /**
981
+ * Generated factory for {@link CheckUnilateralExitResponse} record objects.
982
+ */
983
+ export declare const CheckUnilateralExitResponse: Readonly<{
984
+ /**
985
+ * Create a frozen instance of {@link CheckUnilateralExitResponse}, with defaults specified
986
+ * in Rust, in the {@link breez_sdk_spark} crate.
987
+ */
988
+ create: (partial: Partial<CheckUnilateralExitResponse> & Required<Omit<CheckUnilateralExitResponse, never>>) => CheckUnilateralExitResponse;
989
+ /**
990
+ * Create a frozen instance of {@link CheckUnilateralExitResponse}, with defaults specified
991
+ * in Rust, in the {@link breez_sdk_spark} crate.
992
+ */
993
+ new: (partial: Partial<CheckUnilateralExitResponse> & Required<Omit<CheckUnilateralExitResponse, never>>) => CheckUnilateralExitResponse;
994
+ /**
995
+ * Defaults specified in the {@link breez_sdk_spark} crate.
996
+ */
997
+ defaults: () => Partial<CheckUnilateralExitResponse>;
998
+ }>;
942
999
  /**
943
1000
  * What one way of claiming a deposit costs.
944
1001
  */
@@ -1297,6 +1354,37 @@ export declare const Config: Readonly<{
1297
1354
  */
1298
1355
  defaults: () => Partial<Config>;
1299
1356
  }>;
1357
+ /**
1358
+ * A node of the exit tree that is already on-chain.
1359
+ */
1360
+ export type ConfirmedExitNode = {
1361
+ nodeId: string;
1362
+ confirmedBy: ExitNodeConfirmation;
1363
+ /**
1364
+ * The block it is in, where that is known. Unset for a node put in a block
1365
+ * by a descendant's confirmation rather than read directly.
1366
+ */
1367
+ blockHeight: /*u32*/ number | undefined;
1368
+ };
1369
+ /**
1370
+ * Generated factory for {@link ConfirmedExitNode} record objects.
1371
+ */
1372
+ export declare const ConfirmedExitNode: Readonly<{
1373
+ /**
1374
+ * Create a frozen instance of {@link ConfirmedExitNode}, with defaults specified
1375
+ * in Rust, in the {@link breez_sdk_spark} crate.
1376
+ */
1377
+ create: (partial: Partial<ConfirmedExitNode> & Required<Omit<ConfirmedExitNode, never>>) => ConfirmedExitNode;
1378
+ /**
1379
+ * Create a frozen instance of {@link ConfirmedExitNode}, with defaults specified
1380
+ * in Rust, in the {@link breez_sdk_spark} crate.
1381
+ */
1382
+ new: (partial: Partial<ConfirmedExitNode> & Required<Omit<ConfirmedExitNode, never>>) => ConfirmedExitNode;
1383
+ /**
1384
+ * Defaults specified in the {@link breez_sdk_spark} crate.
1385
+ */
1386
+ defaults: () => Partial<ConfirmedExitNode>;
1387
+ }>;
1300
1388
  export type ConnectRequest = {
1301
1389
  config: Config;
1302
1390
  seed: Seed;
@@ -1890,16 +1978,16 @@ export type CrossChainConfig = {
1890
1978
  /**
1891
1979
  * Default maximum slippage in basis points used when
1892
1980
  * [`PaymentRequest::CrossChain::max_slippage_bps`] is not set on the
1893
- * prepare request. Must be in `10..=500`. Falls back to 100 bps (1%)
1894
- * when this field is `None`.
1981
+ * prepare request. Must be in 10 to 500. Falls back to 100 bps (1%)
1982
+ * when this field is unset.
1895
1983
  */
1896
1984
  defaultSlippageBps: /*u32*/ number | undefined;
1897
1985
  /**
1898
1986
  * Default target-overpay pad in basis points applied to the user's
1899
1987
  * destination amount on `FeesExcluded` conversion sends. Bumps the
1900
1988
  * target upward before quoting so the recipient lands at or above the
1901
- * requested amount despite provider slippage. Must be in `0..=500`.
1902
- * Falls back to 15 bps when `None`.
1989
+ * requested amount despite provider slippage. Must be in 0 to 500.
1990
+ * Falls back to 15 bps when unset.
1903
1991
  */
1904
1992
  defaultTargetOverpayBps: /*u32*/ number | undefined;
1905
1993
  };
@@ -1922,6 +2010,73 @@ export declare const CrossChainConfig: Readonly<{
1922
2010
  */
1923
2011
  defaults: () => Partial<CrossChainConfig>;
1924
2012
  }>;
2013
+ /**
2014
+ * Information about the cross-chain receive quote.
2015
+ */
2016
+ export type CrossChainReceiveInfo = {
2017
+ /**
2018
+ * Bare external deposit address the sender pays to.
2019
+ */
2020
+ depositAddress: string;
2021
+ /**
2022
+ * Amount the sender must deposit, in source-asset base units
2023
+ * (`route.decimals`). On `FeesExcluded` this may differ from the
2024
+ * request's `amount` because the SDK inflates the deposit to absorb
2025
+ * provider fees. Render this value to the sender.
2026
+ */
2027
+ depositAmount: U128;
2028
+ /**
2029
+ * Amount the receiver will see, net of provider fees, in
2030
+ * destination-asset base units. Sats when receiving BTC into Spark,
2031
+ * or token base units when receiving a Spark token (e.g. USDB). The
2032
+ * final delivered amount may move within the slippage tolerance.
2033
+ */
2034
+ expectedReceivedAmount: U128;
2035
+ /**
2036
+ * Symbol of the Spark-side asset `expected_received_amount` is
2037
+ * denominated in, as the provider reports it: `"BTC"` for sats, or the
2038
+ * token symbol (e.g. `"USDB"`).
2039
+ */
2040
+ destinationAsset: string;
2041
+ /**
2042
+ * Spark token identifier when the destination is a token. Absent when
2043
+ * the destination is BTC and the receiver will see sats.
2044
+ */
2045
+ tokenIdentifier: string | undefined;
2046
+ /**
2047
+ * Provider-quoted total fee for this receive, in `service_fee_asset`
2048
+ * units.
2049
+ */
2050
+ serviceFeeAmount: U128;
2051
+ /**
2052
+ * Ticker for `service_fee_amount`. Absent when the fee is denominated
2053
+ * in sats.
2054
+ */
2055
+ serviceFeeAsset: string | undefined;
2056
+ /**
2057
+ * Quote expiry as a unix timestamp in seconds.
2058
+ */
2059
+ expiresAt: bigint;
2060
+ };
2061
+ /**
2062
+ * Generated factory for {@link CrossChainReceiveInfo} record objects.
2063
+ */
2064
+ export declare const CrossChainReceiveInfo: Readonly<{
2065
+ /**
2066
+ * Create a frozen instance of {@link CrossChainReceiveInfo}, with defaults specified
2067
+ * in Rust, in the {@link breez_sdk_spark} crate.
2068
+ */
2069
+ create: (partial: Partial<CrossChainReceiveInfo> & Required<Omit<CrossChainReceiveInfo, never>>) => CrossChainReceiveInfo;
2070
+ /**
2071
+ * Create a frozen instance of {@link CrossChainReceiveInfo}, with defaults specified
2072
+ * in Rust, in the {@link breez_sdk_spark} crate.
2073
+ */
2074
+ new: (partial: Partial<CrossChainReceiveInfo> & Required<Omit<CrossChainReceiveInfo, never>>) => CrossChainReceiveInfo;
2075
+ /**
2076
+ * Defaults specified in the {@link breez_sdk_spark} crate.
2077
+ */
2078
+ defaults: () => Partial<CrossChainReceiveInfo>;
2079
+ }>;
1925
2080
  /**
1926
2081
  * A single route available for cross-chain transfers, tagged with the provider
1927
2082
  * that offers it. Returned by `get_cross_chain_routes()`.
@@ -1932,17 +2087,17 @@ export type CrossChainRoutePair = {
1932
2087
  */
1933
2088
  provider: CrossChainProvider;
1934
2089
  /**
1935
- * Destination blockchain (e.g. `"base"`, `"solana"`, `"tron"`).
2090
+ * External blockchain (e.g. `"base"`, `"solana"`, `"tron"`).
1936
2091
  */
1937
2092
  chain: string;
1938
2093
  /**
1939
- * Stable chain identifier (e.g. EVM `chainId` as a decimal string).
2094
+ * External chain identifier (e.g. EVM `chainId` as a decimal string).
1940
2095
  * `None` for non-EVM chains that don't expose one, or when the
1941
2096
  * provider doesn't surface it.
1942
2097
  */
1943
2098
  chainId: string | undefined;
1944
2099
  /**
1945
- * Destination asset symbol (e.g. `"USDC"`, `"USDT"`).
2100
+ * External asset symbol (e.g. `"USDC"`, `"USDT"`).
1946
2101
  */
1947
2102
  asset: string;
1948
2103
  /**
@@ -1958,22 +2113,14 @@ export type CrossChainRoutePair = {
1958
2113
  */
1959
2114
  exactOutEligible: boolean;
1960
2115
  /**
1961
- * The source assets this route accepts on the Spark side.
1962
- *
1963
- * Boltz routes accept `[SourceAsset::Bitcoin]`. Orchestra routes accept
1964
- * one or more of `Bitcoin` / `Token(...)` (a given destination endpoint
1965
- * may be fronted by multiple source variants on Orchestra).
2116
+ * Spark-side assets this route accepts.
1966
2117
  */
1967
- supportedSources: Array<SourceAsset>;
2118
+ acceptedAssets: Array<SparkAsset>;
1968
2119
  /**
1969
- * The chains this route can be paid over, orthogonal to
1970
- * `supported_sources` (the asset moved).
1971
- *
1972
- * This is the actual funding rail, which differs by provider: Boltz routes
1973
- * are always paid over Lightning. Orchestra send routes report Spark, and
1974
- * Orchestra payment-link routes report Lightning.
2120
+ * Rails this route can be delivered over, orthogonal to
2121
+ * `accepted_assets` (the asset moved vs the rail moved on).
1975
2122
  */
1976
- supportedSourceChains: Array<SourceChain>;
2123
+ deliveryMethods: Array<DeliveryMethod>;
1977
2124
  };
1978
2125
  /**
1979
2126
  * Generated factory for {@link CrossChainRoutePair} record objects.
@@ -2185,6 +2332,83 @@ export declare const EcdsaSignatureBytes: Readonly<{
2185
2332
  */
2186
2333
  defaults: () => Partial<EcdsaSignatureBytes>;
2187
2334
  }>;
2335
+ /**
2336
+ * What the chain has already done to an exit's leaves, as
2337
+ * `prepare_unilateral_exit` found it. Pass it back to `unilateral_exit`, which
2338
+ * builds only the steps it does not cover.
2339
+ */
2340
+ export type ExitChainState = {
2341
+ /**
2342
+ * Nodes whose transaction is on-chain.
2343
+ */
2344
+ confirmedNodes: Array<ConfirmedExitNode>;
2345
+ /**
2346
+ * Leaves whose refund reached the chain.
2347
+ */
2348
+ refunds: Array<ExitRefund>;
2349
+ /**
2350
+ * Leaves whose lineage was taken on-chain by a transaction the exit cannot
2351
+ * continue from. Nothing further can be driven for them.
2352
+ */
2353
+ stoppedLeafIds: Array<string>;
2354
+ /**
2355
+ * Nodes a chain lookup could not read, so their state is unknown rather
2356
+ * than absent. Transactions depending on them come back
2357
+ * `ExitTransactionStatus::Unverified`.
2358
+ */
2359
+ unverifiedNodeIds: Array<string>;
2360
+ /**
2361
+ * Nodes taken to be on-chain on the operators' word, the chain itself being
2362
+ * unreadable. Their spend is invisible, so anything built over them risks
2363
+ * double-spending an output that is already gone.
2364
+ */
2365
+ unverifiableConfirmedNodeIds: Array<string>;
2366
+ };
2367
+ /**
2368
+ * Generated factory for {@link ExitChainState} record objects.
2369
+ */
2370
+ export declare const ExitChainState: Readonly<{
2371
+ /**
2372
+ * Create a frozen instance of {@link ExitChainState}, with defaults specified
2373
+ * in Rust, in the {@link breez_sdk_spark} crate.
2374
+ */
2375
+ create: (partial: Partial<ExitChainState> & Required<Omit<ExitChainState, never>>) => ExitChainState;
2376
+ /**
2377
+ * Create a frozen instance of {@link ExitChainState}, with defaults specified
2378
+ * in Rust, in the {@link breez_sdk_spark} crate.
2379
+ */
2380
+ new: (partial: Partial<ExitChainState> & Required<Omit<ExitChainState, never>>) => ExitChainState;
2381
+ /**
2382
+ * Defaults specified in the {@link breez_sdk_spark} crate.
2383
+ */
2384
+ defaults: () => Partial<ExitChainState>;
2385
+ }>;
2386
+ /**
2387
+ * A leaf's refund as the chain shows it.
2388
+ */
2389
+ export type ExitRefund = {
2390
+ leafId: string;
2391
+ state: ExitRefundState;
2392
+ };
2393
+ /**
2394
+ * Generated factory for {@link ExitRefund} record objects.
2395
+ */
2396
+ export declare const ExitRefund: Readonly<{
2397
+ /**
2398
+ * Create a frozen instance of {@link ExitRefund}, with defaults specified
2399
+ * in Rust, in the {@link breez_sdk_spark} crate.
2400
+ */
2401
+ create: (partial: Partial<ExitRefund> & Required<Omit<ExitRefund, never>>) => ExitRefund;
2402
+ /**
2403
+ * Create a frozen instance of {@link ExitRefund}, with defaults specified
2404
+ * in Rust, in the {@link breez_sdk_spark} crate.
2405
+ */
2406
+ new: (partial: Partial<ExitRefund> & Required<Omit<ExitRefund, never>>) => ExitRefund;
2407
+ /**
2408
+ * Defaults specified in the {@link breez_sdk_spark} crate.
2409
+ */
2410
+ defaults: () => Partial<ExitRefund>;
2411
+ }>;
2188
2412
  /**
2189
2413
  * Result of `export_unilateral_exit_state`: a self-contained copy of the
2190
2414
  * wallet's exit state, ready to be stored outside the wallet.
@@ -5436,16 +5660,34 @@ export type PrepareUnilateralExitResponse = {
5436
5660
  * branches), in satoshis. Exact for the given funding kind; nodes the
5437
5661
  * operators report on-chain are assumed already paid, so a partially-exited
5438
5662
  * tree quotes a lower fee than a fresh one.
5663
+ *
5664
+ * The sum of the three components below, which say who pays what:
5665
+ * `cpfp_fee_sat + fanout_fee_sat + sweep_fee_sat`. The first two come from
5666
+ * your funding UTXO, the third off the value being recovered.
5439
5667
  */
5440
5668
  totalFeeSat: bigint;
5441
5669
  /**
5442
- * The part of `total_fee_sat` paid for the fan-out transaction. Funding one
5443
- * UTXO per branch (`per_branch_funding`) avoids it. Zero for a single
5444
- * branch (no fan-out).
5670
+ * The part of `total_fee_sat` the CPFP children pay, funded by your UTXOs.
5671
+ * It does not reduce what the exit recovers.
5672
+ */
5673
+ cpfpFeeSat: bigint;
5674
+ /**
5675
+ * The part of `total_fee_sat` paid for the fan-out transaction, funded by
5676
+ * your UTXO. Funding one UTXO per branch (`per_branch_funding`) avoids it.
5677
+ * Zero for a single branch (no fan-out).
5445
5678
  */
5446
5679
  fanoutFeeSat: bigint;
5680
+ /**
5681
+ * The part of `total_fee_sat` the final sweep pays. The sweep takes its fee
5682
+ * from the value it moves, so this is the one component subtracted from
5683
+ * what reaches `destination`.
5684
+ */
5685
+ sweepFeeSat: bigint;
5447
5686
  /**
5448
5687
  * Fund a single UTXO of at least this many satoshis to exit with a fan-out.
5688
+ * Above `cpfp_fee_sat + fanout_fee_sat` by design: it carries the sweep fee
5689
+ * and a per-branch dust allowance as headroom, both of which come back to
5690
+ * you in the sweep.
5449
5691
  */
5450
5692
  singleUtxoFundingSat: bigint;
5451
5693
  /**
@@ -5458,6 +5700,12 @@ export type PrepareUnilateralExitResponse = {
5458
5700
  */
5459
5701
  feeRateSatPerVbyte: bigint;
5460
5702
  destination: string;
5703
+ /**
5704
+ * What the chain has already done to these leaves, read while preparing.
5705
+ * Pass it back to `unilateral_exit`, which builds only the steps it does
5706
+ * not already cover.
5707
+ */
5708
+ exitChainState: ExitChainState;
5461
5709
  };
5462
5710
  /**
5463
5711
  * Generated factory for {@link PrepareUnilateralExitResponse} record objects.
@@ -5680,6 +5928,10 @@ export type ReceivePaymentResponse = {
5680
5928
  * Denominated in sats or token base units
5681
5929
  */
5682
5930
  fee: U128;
5931
+ /**
5932
+ * Optional information populated only for cross-chain receives.
5933
+ */
5934
+ crossChainInfo: CrossChainReceiveInfo | undefined;
5683
5935
  };
5684
5936
  /**
5685
5937
  * Generated factory for {@link ReceivePaymentResponse} record objects.
@@ -6287,11 +6539,26 @@ export declare const SendBatchResponse: Readonly<{
6287
6539
  defaults: () => Partial<SendBatchResponse>;
6288
6540
  }>;
6289
6541
  export type SendOnchainFeeQuote = {
6542
+ /**
6543
+ * Identifies the quote to the provider when the payment is sent. Empty on
6544
+ * an estimate, which no provider has issued.
6545
+ */
6290
6546
  id: string;
6547
+ /**
6548
+ * When the quote stops being honoured, as a Unix timestamp in seconds.
6549
+ * Zero on an estimate.
6550
+ */
6291
6551
  expiresAt: bigint;
6292
6552
  speedFast: SendOnchainSpeedFeeQuote;
6293
6553
  speedMedium: SendOnchainSpeedFeeQuote;
6294
6554
  speedSlow: SendOnchainSpeedFeeQuote;
6555
+ /**
6556
+ * Set when the wallet holds no bitcoin and a token conversion will fund the
6557
+ * send, because the provider will not quote without funds to price against.
6558
+ * The estimate is an upper bound: the payment quotes for real once the
6559
+ * conversion lands, and fails rather than spending more than this.
6560
+ */
6561
+ isEstimate: boolean;
6295
6562
  };
6296
6563
  /**
6297
6564
  * Generated factory for {@link SendOnchainFeeQuote} record objects.
@@ -7051,9 +7318,8 @@ export declare const SparkStatus: Readonly<{
7051
7318
  * Configuration for automatic conversion of Bitcoin to stable tokens.
7052
7319
  *
7053
7320
  * When configured, the SDK automatically monitors the Bitcoin balance after each
7054
- * wallet sync. When the balance exceeds the configured threshold plus the reserved
7055
- * amount, the SDK automatically converts the excess balance (above the reserve)
7056
- * to the active stable token.
7321
+ * wallet sync. Once the balance reaches the configured threshold, the SDK converts
7322
+ * the whole Bitcoin balance to the active stable token.
7057
7323
  *
7058
7324
  * When the balance is held in a stable token, Bitcoin payments can still be sent.
7059
7325
  * The SDK automatically detects when there's not enough Bitcoin balance to cover a
@@ -7761,14 +8027,43 @@ export type UnilateralExitResponse = {
7761
8027
  * The actual total on-chain fee the returned transactions pay at the
7762
8028
  * requested rate, in satoshis. A resumed or partially-confirmed exit pays
7763
8029
  * less because already-confirmed steps are not rebuilt.
8030
+ *
8031
+ * The sum of the three components below, which say who pays what:
8032
+ * `cpfp_fee_sat + fanout_fee_sat + sweep_fee_sat`. The first two come from
8033
+ * your funding UTXOs, the third off the value being recovered.
7764
8034
  */
7765
8035
  totalFeeSat: bigint;
8036
+ /**
8037
+ * The part of `total_fee_sat` the CPFP children pay, funded by your UTXOs.
8038
+ * It does not reduce what the exit recovers.
8039
+ */
8040
+ cpfpFeeSat: bigint;
8041
+ /**
8042
+ * The part of `total_fee_sat` the fan-out pays, funded by your UTXO. Zero
8043
+ * when this exit needed no fan-out, and when an earlier attempt's fan-out
8044
+ * had already confirmed.
8045
+ */
8046
+ fanoutFeeSat: bigint;
8047
+ /**
8048
+ * The part of `total_fee_sat` the sweep pays, taken from the value it
8049
+ * moves, so this is the one component subtracted from what reaches the
8050
+ * destination. Zero while no refund is on-chain yet and the set carries no
8051
+ * sweep.
8052
+ */
8053
+ sweepFeeSat: bigint;
7766
8054
  leaves: Array<UnilateralExitLeaf>;
7767
8055
  /**
7768
8056
  * The full signed transaction set, in valid topological (broadcast) order
7769
8057
  * with shared ancestors appearing once and the sweep last.
7770
8058
  */
7771
8059
  transactions: Array<UnilateralExitTransaction>;
8060
+ /**
8061
+ * The funding UTXOs this exit was built from, as you supplied them. Hand
8062
+ * them back when you build the exit again and they are followed to whatever
8063
+ * they have since become, so an outpoint an earlier attempt already spent
8064
+ * still funds the rest.
8065
+ */
8066
+ fundingInputs: Array<CpfpInput>;
7772
8067
  };
7773
8068
  /**
7774
8069
  * Generated factory for {@link UnilateralExitResponse} record objects.
@@ -7818,7 +8113,12 @@ export type UnilateralExitTransaction = {
7818
8113
  * one can be broadcast.
7819
8114
  */
7820
8115
  dependsOn: Array<string>;
7821
- status: ConfirmationStatus;
8116
+ /**
8117
+ * Whether this transaction is on-chain, can go out now, or is waiting on
8118
+ * something. Resolved against the chain tip, so it accounts for
8119
+ * `csv_timelock_blocks` as well as `depends_on`.
8120
+ */
8121
+ status: ExitTransactionStatus;
7822
8122
  };
7823
8123
  /**
7824
8124
  * Generated factory for {@link UnilateralExitTransaction} record objects.
@@ -9193,24 +9493,6 @@ export declare const ChainServiceError: Readonly<{
9193
9493
  };
9194
9494
  }>;
9195
9495
  export type ChainServiceError = InstanceType<(typeof ChainServiceError)[keyof Omit<typeof ChainServiceError, 'instanceOf'>]>;
9196
- /**
9197
- * Whether a transaction in the exit path is already on-chain.
9198
- */
9199
- export declare enum ConfirmationStatus {
9200
- /**
9201
- * This transaction is confirmed in a block. It needs no action.
9202
- */
9203
- Confirmed = 0,
9204
- /**
9205
- * This transaction is not yet confirmed. Mempool state is not consulted.
9206
- */
9207
- Unconfirmed = 1,
9208
- /**
9209
- * The on-chain status could not be determined (the chain service errored).
9210
- * Broadcasting may fail if a conflicting transaction already landed.
9211
- */
9212
- Unverified = 2
9213
- }
9214
9496
  export declare enum ConversionChain_Tags {
9215
9497
  Spark = "Spark",
9216
9498
  Lightning = "Lightning",
@@ -9364,8 +9646,9 @@ export declare enum ConversionInfo_Tags {
9364
9646
  *
9365
9647
  * The variant identifies which provider handled the conversion:
9366
9648
  * - [`ConversionInfo::Amm`] for Spark token swaps via Flashnet AMM pools.
9367
- * - [`ConversionInfo::Orchestra`] for cross-chain sends via Flashnet
9368
- * Orchestra (Spark → external chain).
9649
+ * - [`ConversionInfo::Orchestra`] for cross-chain transfers via Flashnet
9650
+ * Orchestra, in either direction (Spark → external chain, or external
9651
+ * chain → Spark).
9369
9652
  * - [`ConversionInfo::Boltz`] for sats → stable-coin reverse swaps via Boltz.
9370
9653
  */
9371
9654
  export declare const ConversionInfo: Readonly<{
@@ -9494,21 +9777,33 @@ export declare const ConversionInfo: Readonly<{
9494
9777
  * Asset ticker (e.g. `"USDC"`, `"USDT"`).
9495
9778
  */ asset: string;
9496
9779
  /**
9497
- * Recipient address on the target chain.
9780
+ * The target-chain address on a send, the receiving Spark address
9781
+ * on a receive.
9498
9782
  */ recipientAddress: string;
9499
9783
  /**
9500
- * Amount in expressed in the cross-chain asset's base units, via
9501
- * the rate the SDK used at prepare time.
9784
+ * Amount paid in, in `asset` base units. On a send it is the Spark
9785
+ * amount expressed in `asset` via the rate the SDK used at prepare
9786
+ * time. On a receive it is the deposit the sender made on `chain`.
9502
9787
  */ assetAmountIn: U128 | undefined;
9503
9788
  /**
9504
- * Estimated recipient amount, frozen at prepare time.
9789
+ * Estimated amount delivered to the receiving end, frozen at prepare
9790
+ * time. In `asset` base units on a send, and in Spark-side units on
9791
+ * a receive (sats for Bitcoin, token base units for a token).
9505
9792
  */ estimatedOut: U128;
9506
9793
  /**
9507
- * Actual delivered amount, Unset until the order reaches a terminal state.
9794
+ * Actual delivered amount, in the same units as `estimated_out`.
9795
+ * Unset until the order reaches a terminal state.
9508
9796
  */ deliveredAmount: U128 | undefined;
9797
+ /**
9798
+ * Transaction on `chain`, the non-Spark side of the conversion: the
9799
+ * delivery on a send, the funding deposit on a receive. Format follows
9800
+ * the chain (e.g. `0x`-prefixed hex on EVM, a base58 signature on
9801
+ * Solana). Unset until that transaction exists, and on orders that
9802
+ * failed or were refunded.
9803
+ */ externalTxHash: string | undefined;
9509
9804
  status: ConversionStatus;
9510
9805
  /**
9511
- * Best-available total fee in destination asset base units.
9806
+ * Best-available total fee, in `asset` base units.
9512
9807
  * Prepare-time estimate while pending, realized fee when Completed.
9513
9808
  */ feeAmount: U128 | undefined;
9514
9809
  /**
@@ -9521,7 +9816,8 @@ export declare const ConversionInfo: Readonly<{
9521
9816
  * Asset decimals (e.g. 6 for USDC).
9522
9817
  */ assetDecimals: number;
9523
9818
  /**
9524
- * Token contract / mint address. Unset for native-asset destinations.
9819
+ * Token contract / mint address on `chain`. Unset when that side is
9820
+ * the chain's native asset.
9525
9821
  */ assetContract: string | undefined;
9526
9822
  }): {
9527
9823
  readonly tag: ConversionInfo_Tags.Orchestra;
@@ -9536,6 +9832,7 @@ export declare const ConversionInfo: Readonly<{
9536
9832
  assetAmountIn: U128 | undefined;
9537
9833
  estimatedOut: U128;
9538
9834
  deliveredAmount: U128 | undefined;
9835
+ externalTxHash: string | undefined;
9539
9836
  status: ConversionStatus;
9540
9837
  feeAmount: U128 | undefined;
9541
9838
  serviceFeeAmount: U128 | undefined;
@@ -9571,21 +9868,33 @@ export declare const ConversionInfo: Readonly<{
9571
9868
  * Asset ticker (e.g. `"USDC"`, `"USDT"`).
9572
9869
  */ asset: string;
9573
9870
  /**
9574
- * Recipient address on the target chain.
9871
+ * The target-chain address on a send, the receiving Spark address
9872
+ * on a receive.
9575
9873
  */ recipientAddress: string;
9576
9874
  /**
9577
- * Amount in expressed in the cross-chain asset's base units, via
9578
- * the rate the SDK used at prepare time.
9875
+ * Amount paid in, in `asset` base units. On a send it is the Spark
9876
+ * amount expressed in `asset` via the rate the SDK used at prepare
9877
+ * time. On a receive it is the deposit the sender made on `chain`.
9579
9878
  */ assetAmountIn: U128 | undefined;
9580
9879
  /**
9581
- * Estimated recipient amount, frozen at prepare time.
9880
+ * Estimated amount delivered to the receiving end, frozen at prepare
9881
+ * time. In `asset` base units on a send, and in Spark-side units on
9882
+ * a receive (sats for Bitcoin, token base units for a token).
9582
9883
  */ estimatedOut: U128;
9583
9884
  /**
9584
- * Actual delivered amount, Unset until the order reaches a terminal state.
9885
+ * Actual delivered amount, in the same units as `estimated_out`.
9886
+ * Unset until the order reaches a terminal state.
9585
9887
  */ deliveredAmount: U128 | undefined;
9888
+ /**
9889
+ * Transaction on `chain`, the non-Spark side of the conversion: the
9890
+ * delivery on a send, the funding deposit on a receive. Format follows
9891
+ * the chain (e.g. `0x`-prefixed hex on EVM, a base58 signature on
9892
+ * Solana). Unset until that transaction exists, and on orders that
9893
+ * failed or were refunded.
9894
+ */ externalTxHash: string | undefined;
9586
9895
  status: ConversionStatus;
9587
9896
  /**
9588
- * Best-available total fee in destination asset base units.
9897
+ * Best-available total fee, in `asset` base units.
9589
9898
  * Prepare-time estimate while pending, realized fee when Completed.
9590
9899
  */ feeAmount: U128 | undefined;
9591
9900
  /**
@@ -9598,7 +9907,8 @@ export declare const ConversionInfo: Readonly<{
9598
9907
  * Asset decimals (e.g. 6 for USDC).
9599
9908
  */ assetDecimals: number;
9600
9909
  /**
9601
- * Token contract / mint address. Unset for native-asset destinations.
9910
+ * Token contract / mint address on `chain`. Unset when that side is
9911
+ * the chain's native asset.
9602
9912
  */ assetContract: string | undefined;
9603
9913
  }): {
9604
9914
  readonly tag: ConversionInfo_Tags.Orchestra;
@@ -9613,6 +9923,7 @@ export declare const ConversionInfo: Readonly<{
9613
9923
  assetAmountIn: U128 | undefined;
9614
9924
  estimatedOut: U128;
9615
9925
  deliveredAmount: U128 | undefined;
9926
+ externalTxHash: string | undefined;
9616
9927
  status: ConversionStatus;
9617
9928
  feeAmount: U128 | undefined;
9618
9929
  serviceFeeAmount: U128 | undefined;
@@ -9639,6 +9950,7 @@ export declare const ConversionInfo: Readonly<{
9639
9950
  assetAmountIn: U128 | undefined;
9640
9951
  estimatedOut: U128;
9641
9952
  deliveredAmount: U128 | undefined;
9953
+ externalTxHash: string | undefined;
9642
9954
  status: ConversionStatus;
9643
9955
  feeAmount: U128 | undefined;
9644
9956
  serviceFeeAmount: U128 | undefined;
@@ -9716,7 +10028,8 @@ export declare const ConversionInfo: Readonly<{
9716
10028
  * Asset decimals (e.g. 6 for USDT).
9717
10029
  */ assetDecimals: number;
9718
10030
  /**
9719
- * Token contract / mint address. Unset for native-asset destinations.
10031
+ * Token contract / mint address on `chain`. Unset when that side is
10032
+ * the chain's native asset.
9720
10033
  */ assetContract: string | undefined;
9721
10034
  }): {
9722
10035
  readonly tag: ConversionInfo_Tags.Boltz;
@@ -9809,7 +10122,8 @@ export declare const ConversionInfo: Readonly<{
9809
10122
  * Asset decimals (e.g. 6 for USDT).
9810
10123
  */ assetDecimals: number;
9811
10124
  /**
9812
- * Token contract / mint address. Unset for native-asset destinations.
10125
+ * Token contract / mint address on `chain`. Unset when that side is
10126
+ * the chain's native asset.
9813
10127
  */ assetContract: string | undefined;
9814
10128
  }): {
9815
10129
  readonly tag: ConversionInfo_Tags.Boltz;
@@ -9877,8 +10191,9 @@ export declare const ConversionInfo: Readonly<{
9877
10191
  *
9878
10192
  * The variant identifies which provider handled the conversion:
9879
10193
  * - [`ConversionInfo::Amm`] for Spark token swaps via Flashnet AMM pools.
9880
- * - [`ConversionInfo::Orchestra`] for cross-chain sends via Flashnet
9881
- * Orchestra (Spark → external chain).
10194
+ * - [`ConversionInfo::Orchestra`] for cross-chain transfers via Flashnet
10195
+ * Orchestra, in either direction (Spark → external chain, or external
10196
+ * chain → Spark).
9882
10197
  * - [`ConversionInfo::Boltz`] for sats → stable-coin reverse swaps via Boltz.
9883
10198
  */
9884
10199
  export type ConversionInfo = InstanceType<(typeof ConversionInfo)[keyof Omit<typeof ConversionInfo, 'instanceOf'>]>;
@@ -10409,19 +10724,34 @@ export declare enum CrossChainAddressFamily {
10409
10724
  Tron = 2
10410
10725
  }
10411
10726
  /**
10412
- * How the caller wants fees handled against the request `amount`.
10413
- *
10414
- * - `FeesExcluded`: `amount` is the provider invoice/deposit target; the
10415
- * wallet pays `amount + source_transfer_fee_sats` in total.
10416
- * - `FeesIncluded`: `amount` is the wallet's total sats budget; the provider
10417
- * leg is sized so `amount_in + source_transfer_fee_sats <= amount`.
10727
+ * Which side of the transfer the request `amount` sizes: what leaves the
10728
+ * payer, or what reaches the receiver.
10418
10729
  */
10419
10730
  export declare enum CrossChainFeeMode {
10731
+ /**
10732
+ * `amount` sizes the receiving end, and fees are paid on top.
10733
+ *
10734
+ * Sending: `amount` is the provider invoice/deposit target, and the
10735
+ * wallet pays `amount + source_transfer_fee_sats` in total.
10736
+ * Receiving: `amount` is what the wallet ends up with, and the deposit
10737
+ * the sender is asked for is sized above it to cover fees.
10738
+ */
10420
10739
  FeesExcluded = 0,
10740
+ /**
10741
+ * `amount` sizes the paying end, and fees come out of it.
10742
+ *
10743
+ * Sending: `amount` is the wallet's total sats budget, and the provider
10744
+ * leg is sized so `amount_in + source_transfer_fee_sats <= amount`.
10745
+ * Receiving: `amount` is the deposit the sender makes, and the wallet
10746
+ * ends up with that minus fees.
10747
+ */
10421
10748
  FeesIncluded = 1
10422
10749
  }
10423
10750
  export declare enum CrossChainProvider {
10424
10751
  Orchestra = 0,
10752
+ /**
10753
+ * Not operational: no routes are currently offered under this provider.
10754
+ */
10425
10755
  Boltz = 1
10426
10756
  }
10427
10757
  export declare enum CrossChainProviderContext_Tags {
@@ -10707,6 +11037,23 @@ export declare const CrossChainRouteFilter: Readonly<{
10707
11037
  * `get_cross_chain_routes()` API.
10708
11038
  */
10709
11039
  export type CrossChainRouteFilter = InstanceType<(typeof CrossChainRouteFilter)[keyof Omit<typeof CrossChainRouteFilter, 'instanceOf'>]>;
11040
+ /**
11041
+ * The rail a cross-chain payment is delivered over.
11042
+ */
11043
+ export declare enum DeliveryMethod {
11044
+ /**
11045
+ * Delivered over the Spark network.
11046
+ */
11047
+ Spark = 0,
11048
+ /**
11049
+ * Delivered over Lightning.
11050
+ */
11051
+ Lightning = 1,
11052
+ /**
11053
+ * Delivered on-chain over Bitcoin.
11054
+ */
11055
+ Bitcoin = 2
11056
+ }
10710
11057
  export declare enum DepositClaimError_Tags {
10711
11058
  MaxDepositClaimFeeExceeded = "MaxDepositClaimFeeExceeded",
10712
11059
  MissingUtxo = "MissingUtxo",
@@ -11111,9 +11458,286 @@ export declare const ExitLeafSelection: Readonly<{
11111
11458
  };
11112
11459
  }>;
11113
11460
  /**
11114
- * Which leaves to exit.
11461
+ * Which leaves to exit.
11462
+ */
11463
+ export type ExitLeafSelection = InstanceType<(typeof ExitLeafSelection)[keyof Omit<typeof ExitLeafSelection, 'instanceOf'>]>;
11464
+ /**
11465
+ * Which of a node's two pre-signed spends took it on-chain.
11466
+ */
11467
+ export declare enum ExitNodeConfirmation {
11468
+ /**
11469
+ * The CPFP transaction, whose fee a child paid.
11470
+ */
11471
+ Cpfp = 0,
11472
+ /**
11473
+ * The direct transaction, which pays its own fee. A leaf that went out this
11474
+ * way is refunded by its direct refund transaction.
11475
+ */
11476
+ Direct = 1
11477
+ }
11478
+ export declare enum ExitRefundState_Tags {
11479
+ OnChain = "OnChain",
11480
+ Swept = "Swept"
11481
+ }
11482
+ export declare const ExitRefundState: Readonly<{
11483
+ instanceOf: (obj: any) => obj is ExitRefundState;
11484
+ OnChain: {
11485
+ new (inner: {
11486
+ txHex: string;
11487
+ vout: number;
11488
+ valueSat: bigint;
11489
+ blockHeight: /*u32*/ number | undefined;
11490
+ }): {
11491
+ readonly tag: ExitRefundState_Tags.OnChain;
11492
+ readonly inner: Readonly<{
11493
+ txHex: string;
11494
+ vout: number;
11495
+ valueSat: bigint;
11496
+ blockHeight: /*u32*/ number | undefined;
11497
+ }>;
11498
+ /**
11499
+ * @private
11500
+ * This field is private and should not be used, use `tag` instead.
11501
+ */
11502
+ readonly [uniffiTypeNameSymbol]: "ExitRefundState";
11503
+ };
11504
+ "new"(inner: {
11505
+ txHex: string;
11506
+ vout: number;
11507
+ valueSat: bigint;
11508
+ blockHeight: /*u32*/ number | undefined;
11509
+ }): {
11510
+ readonly tag: ExitRefundState_Tags.OnChain;
11511
+ readonly inner: Readonly<{
11512
+ txHex: string;
11513
+ vout: number;
11514
+ valueSat: bigint;
11515
+ blockHeight: /*u32*/ number | undefined;
11516
+ }>;
11517
+ /**
11518
+ * @private
11519
+ * This field is private and should not be used, use `tag` instead.
11520
+ */
11521
+ readonly [uniffiTypeNameSymbol]: "ExitRefundState";
11522
+ };
11523
+ instanceOf(obj: any): obj is {
11524
+ readonly tag: ExitRefundState_Tags.OnChain;
11525
+ readonly inner: Readonly<{
11526
+ txHex: string;
11527
+ vout: number;
11528
+ valueSat: bigint;
11529
+ blockHeight: /*u32*/ number | undefined;
11530
+ }>;
11531
+ /**
11532
+ * @private
11533
+ * This field is private and should not be used, use `tag` instead.
11534
+ */
11535
+ readonly [uniffiTypeNameSymbol]: "ExitRefundState";
11536
+ };
11537
+ };
11538
+ Swept: {
11539
+ new (): {
11540
+ readonly tag: ExitRefundState_Tags.Swept;
11541
+ /**
11542
+ * @private
11543
+ * This field is private and should not be used, use `tag` instead.
11544
+ */
11545
+ readonly [uniffiTypeNameSymbol]: "ExitRefundState";
11546
+ };
11547
+ "new"(): {
11548
+ readonly tag: ExitRefundState_Tags.Swept;
11549
+ /**
11550
+ * @private
11551
+ * This field is private and should not be used, use `tag` instead.
11552
+ */
11553
+ readonly [uniffiTypeNameSymbol]: "ExitRefundState";
11554
+ };
11555
+ instanceOf(obj: any): obj is {
11556
+ readonly tag: ExitRefundState_Tags.Swept;
11557
+ /**
11558
+ * @private
11559
+ * This field is private and should not be used, use `tag` instead.
11560
+ */
11561
+ readonly [uniffiTypeNameSymbol]: "ExitRefundState";
11562
+ };
11563
+ };
11564
+ }>;
11565
+ export type ExitRefundState = InstanceType<(typeof ExitRefundState)[keyof Omit<typeof ExitRefundState, 'instanceOf'>]>;
11566
+ export declare enum ExitTransactionStatus_Tags {
11567
+ Confirmed = "Confirmed",
11568
+ Ready = "Ready",
11569
+ WaitingForDependencies = "WaitingForDependencies",
11570
+ WaitingForTimelock = "WaitingForTimelock",
11571
+ Unverified = "Unverified"
11572
+ }
11573
+ /**
11574
+ * Where a transaction in the exit path stands: on-chain, ready to send, or
11575
+ * waiting for something.
11576
+ */
11577
+ export declare const ExitTransactionStatus: Readonly<{
11578
+ instanceOf: (obj: any) => obj is ExitTransactionStatus;
11579
+ Confirmed: {
11580
+ new (inner: {
11581
+ blockHeight: /*u32*/ number | undefined;
11582
+ }): {
11583
+ readonly tag: ExitTransactionStatus_Tags.Confirmed;
11584
+ readonly inner: Readonly<{
11585
+ blockHeight: /*u32*/ number | undefined;
11586
+ }>;
11587
+ /**
11588
+ * @private
11589
+ * This field is private and should not be used, use `tag` instead.
11590
+ */
11591
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11592
+ };
11593
+ "new"(inner: {
11594
+ blockHeight: /*u32*/ number | undefined;
11595
+ }): {
11596
+ readonly tag: ExitTransactionStatus_Tags.Confirmed;
11597
+ readonly inner: Readonly<{
11598
+ blockHeight: /*u32*/ number | undefined;
11599
+ }>;
11600
+ /**
11601
+ * @private
11602
+ * This field is private and should not be used, use `tag` instead.
11603
+ */
11604
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11605
+ };
11606
+ instanceOf(obj: any): obj is {
11607
+ readonly tag: ExitTransactionStatus_Tags.Confirmed;
11608
+ readonly inner: Readonly<{
11609
+ blockHeight: /*u32*/ number | undefined;
11610
+ }>;
11611
+ /**
11612
+ * @private
11613
+ * This field is private and should not be used, use `tag` instead.
11614
+ */
11615
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11616
+ };
11617
+ };
11618
+ Ready: {
11619
+ new (): {
11620
+ readonly tag: ExitTransactionStatus_Tags.Ready;
11621
+ /**
11622
+ * @private
11623
+ * This field is private and should not be used, use `tag` instead.
11624
+ */
11625
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11626
+ };
11627
+ "new"(): {
11628
+ readonly tag: ExitTransactionStatus_Tags.Ready;
11629
+ /**
11630
+ * @private
11631
+ * This field is private and should not be used, use `tag` instead.
11632
+ */
11633
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11634
+ };
11635
+ instanceOf(obj: any): obj is {
11636
+ readonly tag: ExitTransactionStatus_Tags.Ready;
11637
+ /**
11638
+ * @private
11639
+ * This field is private and should not be used, use `tag` instead.
11640
+ */
11641
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11642
+ };
11643
+ };
11644
+ WaitingForDependencies: {
11645
+ new (): {
11646
+ readonly tag: ExitTransactionStatus_Tags.WaitingForDependencies;
11647
+ /**
11648
+ * @private
11649
+ * This field is private and should not be used, use `tag` instead.
11650
+ */
11651
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11652
+ };
11653
+ "new"(): {
11654
+ readonly tag: ExitTransactionStatus_Tags.WaitingForDependencies;
11655
+ /**
11656
+ * @private
11657
+ * This field is private and should not be used, use `tag` instead.
11658
+ */
11659
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11660
+ };
11661
+ instanceOf(obj: any): obj is {
11662
+ readonly tag: ExitTransactionStatus_Tags.WaitingForDependencies;
11663
+ /**
11664
+ * @private
11665
+ * This field is private and should not be used, use `tag` instead.
11666
+ */
11667
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11668
+ };
11669
+ };
11670
+ WaitingForTimelock: {
11671
+ new (inner: {
11672
+ spendableAtHeight: /*u32*/ number | undefined;
11673
+ }): {
11674
+ readonly tag: ExitTransactionStatus_Tags.WaitingForTimelock;
11675
+ readonly inner: Readonly<{
11676
+ spendableAtHeight: /*u32*/ number | undefined;
11677
+ }>;
11678
+ /**
11679
+ * @private
11680
+ * This field is private and should not be used, use `tag` instead.
11681
+ */
11682
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11683
+ };
11684
+ "new"(inner: {
11685
+ spendableAtHeight: /*u32*/ number | undefined;
11686
+ }): {
11687
+ readonly tag: ExitTransactionStatus_Tags.WaitingForTimelock;
11688
+ readonly inner: Readonly<{
11689
+ spendableAtHeight: /*u32*/ number | undefined;
11690
+ }>;
11691
+ /**
11692
+ * @private
11693
+ * This field is private and should not be used, use `tag` instead.
11694
+ */
11695
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11696
+ };
11697
+ instanceOf(obj: any): obj is {
11698
+ readonly tag: ExitTransactionStatus_Tags.WaitingForTimelock;
11699
+ readonly inner: Readonly<{
11700
+ spendableAtHeight: /*u32*/ number | undefined;
11701
+ }>;
11702
+ /**
11703
+ * @private
11704
+ * This field is private and should not be used, use `tag` instead.
11705
+ */
11706
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11707
+ };
11708
+ };
11709
+ Unverified: {
11710
+ new (): {
11711
+ readonly tag: ExitTransactionStatus_Tags.Unverified;
11712
+ /**
11713
+ * @private
11714
+ * This field is private and should not be used, use `tag` instead.
11715
+ */
11716
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11717
+ };
11718
+ "new"(): {
11719
+ readonly tag: ExitTransactionStatus_Tags.Unverified;
11720
+ /**
11721
+ * @private
11722
+ * This field is private and should not be used, use `tag` instead.
11723
+ */
11724
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11725
+ };
11726
+ instanceOf(obj: any): obj is {
11727
+ readonly tag: ExitTransactionStatus_Tags.Unverified;
11728
+ /**
11729
+ * @private
11730
+ * This field is private and should not be used, use `tag` instead.
11731
+ */
11732
+ readonly [uniffiTypeNameSymbol]: "ExitTransactionStatus";
11733
+ };
11734
+ };
11735
+ }>;
11736
+ /**
11737
+ * Where a transaction in the exit path stands: on-chain, ready to send, or
11738
+ * waiting for something.
11115
11739
  */
11116
- export type ExitLeafSelection = InstanceType<(typeof ExitLeafSelection)[keyof Omit<typeof ExitLeafSelection, 'instanceOf'>]>;
11740
+ export type ExitTransactionStatus = InstanceType<(typeof ExitTransactionStatus)[keyof Omit<typeof ExitTransactionStatus, 'instanceOf'>]>;
11117
11741
  export declare enum ExternalFrostDerivation_Tags {
11118
11742
  SigningLeaf = "SigningLeaf",
11119
11743
  StaticDeposit = "StaticDeposit",
@@ -14076,16 +14700,16 @@ export declare const PaymentRequest: Readonly<{
14076
14700
  route: CrossChainRoutePair;
14077
14701
  /**
14078
14702
  * Maximum slippage tolerance in basis points (1/100 of a percent)
14079
- * for the cross-chain quote. Must be in `10..=500`. Falls back to
14080
- * [`Config::default_slippage_bps`] when `None`, which itself
14081
- * defaults to 100 bps (1%) when unset.
14703
+ * for the cross-chain quote. Must be in 10 to 500. Falls back to
14704
+ * [`Config::default_slippage_bps`] when unset, which itself
14705
+ * defaults to 100 bps (1%).
14082
14706
  */ maxSlippageBps: /*u32*/ number | undefined;
14083
14707
  /**
14084
14708
  * Target-overpay pad in basis points applied on `FeesExcluded`
14085
14709
  * conversion sends. Inflates the destination target before quoting
14086
14710
  * so the recipient lands at or above the user's requested amount
14087
- * despite provider slippage. Must be in `0..=500`. Falls back to
14088
- * [`CrossChainConfig::default_target_overpay_bps`] when `None`,
14711
+ * despite provider slippage. Must be in 0 to 500. Falls back to
14712
+ * [`CrossChainConfig::default_target_overpay_bps`] when unset,
14089
14713
  * which itself defaults to 15 bps.
14090
14714
  */ targetOverpayBps: /*u32*/ number | undefined;
14091
14715
  }): {
@@ -14107,16 +14731,16 @@ export declare const PaymentRequest: Readonly<{
14107
14731
  route: CrossChainRoutePair;
14108
14732
  /**
14109
14733
  * Maximum slippage tolerance in basis points (1/100 of a percent)
14110
- * for the cross-chain quote. Must be in `10..=500`. Falls back to
14111
- * [`Config::default_slippage_bps`] when `None`, which itself
14112
- * defaults to 100 bps (1%) when unset.
14734
+ * for the cross-chain quote. Must be in 10 to 500. Falls back to
14735
+ * [`Config::default_slippage_bps`] when unset, which itself
14736
+ * defaults to 100 bps (1%).
14113
14737
  */ maxSlippageBps: /*u32*/ number | undefined;
14114
14738
  /**
14115
14739
  * Target-overpay pad in basis points applied on `FeesExcluded`
14116
14740
  * conversion sends. Inflates the destination target before quoting
14117
14741
  * so the recipient lands at or above the user's requested amount
14118
- * despite provider slippage. Must be in `0..=500`. Falls back to
14119
- * [`CrossChainConfig::default_target_overpay_bps`] when `None`,
14742
+ * despite provider slippage. Must be in 0 to 500. Falls back to
14743
+ * [`CrossChainConfig::default_target_overpay_bps`] when unset,
14120
14744
  * which itself defaults to 15 bps.
14121
14745
  */ targetOverpayBps: /*u32*/ number | undefined;
14122
14746
  }): {
@@ -15179,7 +15803,8 @@ export declare enum ReceivePaymentMethod_Tags {
15179
15803
  SparkAddress = "SparkAddress",
15180
15804
  SparkInvoice = "SparkInvoice",
15181
15805
  BitcoinAddress = "BitcoinAddress",
15182
- Bolt11Invoice = "Bolt11Invoice"
15806
+ Bolt11Invoice = "Bolt11Invoice",
15807
+ CrossChain = "CrossChain"
15183
15808
  }
15184
15809
  export declare const ReceivePaymentMethod: Readonly<{
15185
15810
  instanceOf: (obj: any) => obj is ReceivePaymentMethod;
@@ -15414,6 +16039,130 @@ export declare const ReceivePaymentMethod: Readonly<{
15414
16039
  readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
15415
16040
  };
15416
16041
  };
16042
+ CrossChain: {
16043
+ new (inner: {
16044
+ /**
16045
+ * The selected cross-chain route in the receive direction.
16046
+ */ route: CrossChainRoutePair;
16047
+ /**
16048
+ * The amount, in the source asset's base units (`route.decimals`).
16049
+ * USD-stable sources are at parity, so `1 USD = 10^route.decimals`
16050
+ * (e.g. `1_000_000` for 6-decimal USDC/USDT, `10^18` for 18-decimal
16051
+ * BSC USDC).
16052
+ *
16053
+ * - `FeesExcluded` (default): what the receiver ends up with, sized
16054
+ * as if `amount` source units were converted to the Spark-side
16055
+ * destination at parity (USDB) or the live BTC/USD rate (Bitcoin).
16056
+ * - `FeesIncluded`: what the sender deposits. The receiver ends up
16057
+ * with that amount minus provider fees.
16058
+ */ amount: U128;
16059
+ /**
16060
+ * Spark-side asset the receiver wants delivered. When absent, the
16061
+ * SDK auto-selects: the wallet's active stable-balance token if
16062
+ * the route supports it, otherwise Bitcoin (sats). When set, the
16063
+ * value must appear in the route's `accepted_assets`.
16064
+ */ destination: SparkAsset | undefined;
16065
+ /**
16066
+ * How `amount` should be interpreted. When absent, defaults to
16067
+ * `FeesExcluded`.
16068
+ */ feeMode: CrossChainFeeMode | undefined;
16069
+ /**
16070
+ * Maximum slippage in basis points. When absent, the SDK default
16071
+ * (100 bps) is used.
16072
+ */ maxSlippageBps: /*u32*/ number | undefined;
16073
+ /**
16074
+ * Per-request override for the overpay buffer applied to the
16075
+ * sender's deposit when `fee_mode == FeesExcluded`. Range 0 to 500.
16076
+ * When absent, falls back to `CrossChainConfig::default_target_overpay_bps`
16077
+ * then the built-in default (15 bps). Ignored when `fee_mode`
16078
+ * is `FeesIncluded`.
16079
+ */ targetOverpayBps: /*u32*/ number | undefined;
16080
+ }): {
16081
+ readonly tag: ReceivePaymentMethod_Tags.CrossChain;
16082
+ readonly inner: Readonly<{
16083
+ route: CrossChainRoutePair;
16084
+ amount: U128;
16085
+ destination: SparkAsset | undefined;
16086
+ feeMode: CrossChainFeeMode | undefined;
16087
+ maxSlippageBps: /*u32*/ number | undefined;
16088
+ targetOverpayBps: /*u32*/ number | undefined;
16089
+ }>;
16090
+ /**
16091
+ * @private
16092
+ * This field is private and should not be used, use `tag` instead.
16093
+ */
16094
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
16095
+ };
16096
+ "new"(inner: {
16097
+ /**
16098
+ * The selected cross-chain route in the receive direction.
16099
+ */ route: CrossChainRoutePair;
16100
+ /**
16101
+ * The amount, in the source asset's base units (`route.decimals`).
16102
+ * USD-stable sources are at parity, so `1 USD = 10^route.decimals`
16103
+ * (e.g. `1_000_000` for 6-decimal USDC/USDT, `10^18` for 18-decimal
16104
+ * BSC USDC).
16105
+ *
16106
+ * - `FeesExcluded` (default): what the receiver ends up with, sized
16107
+ * as if `amount` source units were converted to the Spark-side
16108
+ * destination at parity (USDB) or the live BTC/USD rate (Bitcoin).
16109
+ * - `FeesIncluded`: what the sender deposits. The receiver ends up
16110
+ * with that amount minus provider fees.
16111
+ */ amount: U128;
16112
+ /**
16113
+ * Spark-side asset the receiver wants delivered. When absent, the
16114
+ * SDK auto-selects: the wallet's active stable-balance token if
16115
+ * the route supports it, otherwise Bitcoin (sats). When set, the
16116
+ * value must appear in the route's `accepted_assets`.
16117
+ */ destination: SparkAsset | undefined;
16118
+ /**
16119
+ * How `amount` should be interpreted. When absent, defaults to
16120
+ * `FeesExcluded`.
16121
+ */ feeMode: CrossChainFeeMode | undefined;
16122
+ /**
16123
+ * Maximum slippage in basis points. When absent, the SDK default
16124
+ * (100 bps) is used.
16125
+ */ maxSlippageBps: /*u32*/ number | undefined;
16126
+ /**
16127
+ * Per-request override for the overpay buffer applied to the
16128
+ * sender's deposit when `fee_mode == FeesExcluded`. Range 0 to 500.
16129
+ * When absent, falls back to `CrossChainConfig::default_target_overpay_bps`
16130
+ * then the built-in default (15 bps). Ignored when `fee_mode`
16131
+ * is `FeesIncluded`.
16132
+ */ targetOverpayBps: /*u32*/ number | undefined;
16133
+ }): {
16134
+ readonly tag: ReceivePaymentMethod_Tags.CrossChain;
16135
+ readonly inner: Readonly<{
16136
+ route: CrossChainRoutePair;
16137
+ amount: U128;
16138
+ destination: SparkAsset | undefined;
16139
+ feeMode: CrossChainFeeMode | undefined;
16140
+ maxSlippageBps: /*u32*/ number | undefined;
16141
+ targetOverpayBps: /*u32*/ number | undefined;
16142
+ }>;
16143
+ /**
16144
+ * @private
16145
+ * This field is private and should not be used, use `tag` instead.
16146
+ */
16147
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
16148
+ };
16149
+ instanceOf(obj: any): obj is {
16150
+ readonly tag: ReceivePaymentMethod_Tags.CrossChain;
16151
+ readonly inner: Readonly<{
16152
+ route: CrossChainRoutePair;
16153
+ amount: U128;
16154
+ destination: SparkAsset | undefined;
16155
+ feeMode: CrossChainFeeMode | undefined;
16156
+ maxSlippageBps: /*u32*/ number | undefined;
16157
+ targetOverpayBps: /*u32*/ number | undefined;
16158
+ }>;
16159
+ /**
16160
+ * @private
16161
+ * This field is private and should not be used, use `tag` instead.
16162
+ */
16163
+ readonly [uniffiTypeNameSymbol]: "ReceivePaymentMethod";
16164
+ };
16165
+ };
15417
16166
  }>;
15418
16167
  export type ReceivePaymentMethod = InstanceType<(typeof ReceivePaymentMethod)[keyof Omit<typeof ReceivePaymentMethod, 'instanceOf'>]>;
15419
16168
  export declare enum RefundState_Tags {
@@ -15512,7 +16261,6 @@ export declare enum SdkError_Tags {
15512
16261
  OptimizationAlreadyRunning = "OptimizationAlreadyRunning",
15513
16262
  OptimizationCancelled = "OptimizationCancelled",
15514
16263
  InsufficientCpfpFunds = "InsufficientCpfpFunds",
15515
- FundingUtxoConflict = "FundingUtxoConflict",
15516
16264
  Generic = "Generic"
15517
16265
  }
15518
16266
  /**
@@ -16780,101 +17528,6 @@ export declare const SdkError: Readonly<{
16780
17528
  prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
16781
17529
  stackTraceLimit: number;
16782
17530
  };
16783
- FundingUtxoConflict: {
16784
- new (inner: {
16785
- txid: string;
16786
- vout: number;
16787
- }): {
16788
- readonly tag: SdkError_Tags.FundingUtxoConflict;
16789
- readonly inner: Readonly<{
16790
- txid: string;
16791
- vout: number;
16792
- }>;
16793
- /**
16794
- * @private
16795
- * This field is private and should not be used, use `tag` instead.
16796
- */
16797
- readonly [uniffiTypeNameSymbol]: "SdkError";
16798
- name: string;
16799
- message: string;
16800
- stack?: string;
16801
- cause?: unknown;
16802
- };
16803
- "new"(inner: {
16804
- txid: string;
16805
- vout: number;
16806
- }): {
16807
- readonly tag: SdkError_Tags.FundingUtxoConflict;
16808
- readonly inner: Readonly<{
16809
- txid: string;
16810
- vout: number;
16811
- }>;
16812
- /**
16813
- * @private
16814
- * This field is private and should not be used, use `tag` instead.
16815
- */
16816
- readonly [uniffiTypeNameSymbol]: "SdkError";
16817
- name: string;
16818
- message: string;
16819
- stack?: string;
16820
- cause?: unknown;
16821
- };
16822
- instanceOf(obj: any): obj is {
16823
- readonly tag: SdkError_Tags.FundingUtxoConflict;
16824
- readonly inner: Readonly<{
16825
- txid: string;
16826
- vout: number;
16827
- }>;
16828
- /**
16829
- * @private
16830
- * This field is private and should not be used, use `tag` instead.
16831
- */
16832
- readonly [uniffiTypeNameSymbol]: "SdkError";
16833
- name: string;
16834
- message: string;
16835
- stack?: string;
16836
- cause?: unknown;
16837
- };
16838
- hasInner(obj: any): obj is {
16839
- readonly tag: SdkError_Tags.FundingUtxoConflict;
16840
- readonly inner: Readonly<{
16841
- txid: string;
16842
- vout: number;
16843
- }>;
16844
- /**
16845
- * @private
16846
- * This field is private and should not be used, use `tag` instead.
16847
- */
16848
- readonly [uniffiTypeNameSymbol]: "SdkError";
16849
- name: string;
16850
- message: string;
16851
- stack?: string;
16852
- cause?: unknown;
16853
- };
16854
- getInner(obj: {
16855
- readonly tag: SdkError_Tags.FundingUtxoConflict;
16856
- readonly inner: Readonly<{
16857
- txid: string;
16858
- vout: number;
16859
- }>;
16860
- /**
16861
- * @private
16862
- * This field is private and should not be used, use `tag` instead.
16863
- */
16864
- readonly [uniffiTypeNameSymbol]: "SdkError";
16865
- name: string;
16866
- message: string;
16867
- stack?: string;
16868
- cause?: unknown;
16869
- }): Readonly<{
16870
- txid: string;
16871
- vout: number;
16872
- }>;
16873
- isError(error: unknown): error is Error;
16874
- captureStackTrace(targetObject: object, constructorOpt?: Function): void;
16875
- prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
16876
- stackTraceLimit: number;
16877
- };
16878
17531
  Generic: {
16879
17532
  new (v0: string): {
16880
17533
  readonly tag: SdkError_Tags.Generic;
@@ -19465,46 +20118,46 @@ export declare const SignerError: Readonly<{
19465
20118
  * Error type for signer operations
19466
20119
  */
19467
20120
  export type SignerError = InstanceType<(typeof SignerError)[keyof Omit<typeof SignerError, 'instanceOf'>]>;
19468
- export declare enum SourceAsset_Tags {
20121
+ export declare enum SparkAsset_Tags {
19469
20122
  Bitcoin = "Bitcoin",
19470
20123
  Token = "Token"
19471
20124
  }
19472
20125
  /**
19473
- * The source asset a cross-chain route accepts as input on the Spark side.
20126
+ * The asset a cross-chain route accepts on the Spark side.
19474
20127
  */
19475
- export declare const SourceAsset: Readonly<{
19476
- instanceOf: (obj: any) => obj is SourceAsset;
20128
+ export declare const SparkAsset: Readonly<{
20129
+ instanceOf: (obj: any) => obj is SparkAsset;
19477
20130
  Bitcoin: {
19478
20131
  new (): {
19479
- readonly tag: SourceAsset_Tags.Bitcoin;
20132
+ readonly tag: SparkAsset_Tags.Bitcoin;
19480
20133
  /**
19481
20134
  * @private
19482
20135
  * This field is private and should not be used, use `tag` instead.
19483
20136
  */
19484
- readonly [uniffiTypeNameSymbol]: "SourceAsset";
20137
+ readonly [uniffiTypeNameSymbol]: "SparkAsset";
19485
20138
  };
19486
20139
  "new"(): {
19487
- readonly tag: SourceAsset_Tags.Bitcoin;
20140
+ readonly tag: SparkAsset_Tags.Bitcoin;
19488
20141
  /**
19489
20142
  * @private
19490
20143
  * This field is private and should not be used, use `tag` instead.
19491
20144
  */
19492
- readonly [uniffiTypeNameSymbol]: "SourceAsset";
20145
+ readonly [uniffiTypeNameSymbol]: "SparkAsset";
19493
20146
  };
19494
20147
  instanceOf(obj: any): obj is {
19495
- readonly tag: SourceAsset_Tags.Bitcoin;
20148
+ readonly tag: SparkAsset_Tags.Bitcoin;
19496
20149
  /**
19497
20150
  * @private
19498
20151
  * This field is private and should not be used, use `tag` instead.
19499
20152
  */
19500
- readonly [uniffiTypeNameSymbol]: "SourceAsset";
20153
+ readonly [uniffiTypeNameSymbol]: "SparkAsset";
19501
20154
  };
19502
20155
  };
19503
20156
  Token: {
19504
20157
  new (inner: {
19505
20158
  tokenIdentifier: string;
19506
20159
  }): {
19507
- readonly tag: SourceAsset_Tags.Token;
20160
+ readonly tag: SparkAsset_Tags.Token;
19508
20161
  readonly inner: Readonly<{
19509
20162
  tokenIdentifier: string;
19510
20163
  }>;
@@ -19512,12 +20165,12 @@ export declare const SourceAsset: Readonly<{
19512
20165
  * @private
19513
20166
  * This field is private and should not be used, use `tag` instead.
19514
20167
  */
19515
- readonly [uniffiTypeNameSymbol]: "SourceAsset";
20168
+ readonly [uniffiTypeNameSymbol]: "SparkAsset";
19516
20169
  };
19517
20170
  "new"(inner: {
19518
20171
  tokenIdentifier: string;
19519
20172
  }): {
19520
- readonly tag: SourceAsset_Tags.Token;
20173
+ readonly tag: SparkAsset_Tags.Token;
19521
20174
  readonly inner: Readonly<{
19522
20175
  tokenIdentifier: string;
19523
20176
  }>;
@@ -19525,10 +20178,10 @@ export declare const SourceAsset: Readonly<{
19525
20178
  * @private
19526
20179
  * This field is private and should not be used, use `tag` instead.
19527
20180
  */
19528
- readonly [uniffiTypeNameSymbol]: "SourceAsset";
20181
+ readonly [uniffiTypeNameSymbol]: "SparkAsset";
19529
20182
  };
19530
20183
  instanceOf(obj: any): obj is {
19531
- readonly tag: SourceAsset_Tags.Token;
20184
+ readonly tag: SparkAsset_Tags.Token;
19532
20185
  readonly inner: Readonly<{
19533
20186
  tokenIdentifier: string;
19534
20187
  }>;
@@ -19536,32 +20189,14 @@ export declare const SourceAsset: Readonly<{
19536
20189
  * @private
19537
20190
  * This field is private and should not be used, use `tag` instead.
19538
20191
  */
19539
- readonly [uniffiTypeNameSymbol]: "SourceAsset";
20192
+ readonly [uniffiTypeNameSymbol]: "SparkAsset";
19540
20193
  };
19541
20194
  };
19542
20195
  }>;
19543
20196
  /**
19544
- * The source asset a cross-chain route accepts as input on the Spark side.
19545
- */
19546
- export type SourceAsset = InstanceType<(typeof SourceAsset)[keyof Omit<typeof SourceAsset, 'instanceOf'>]>;
19547
- /**
19548
- * The chain a cross-chain route is funded from, orthogonal to the
19549
- * [`SourceAsset`] that moves.
20197
+ * The asset a cross-chain route accepts on the Spark side.
19550
20198
  */
19551
- export declare enum SourceChain {
19552
- /**
19553
- * Paid over Spark, using a Bitcoin or token source asset.
19554
- */
19555
- Spark = 0,
19556
- /**
19557
- * Paid over Lightning, using a Bitcoin source asset.
19558
- */
19559
- Lightning = 1,
19560
- /**
19561
- * Paid on-chain to Bitcoin (L1), using a Bitcoin source asset.
19562
- */
19563
- Bitcoin = 2
19564
- }
20199
+ export type SparkAsset = InstanceType<(typeof SparkAsset)[keyof Omit<typeof SparkAsset, 'instanceOf'>]>;
19565
20200
  export declare enum SparkHtlcStatus {
19566
20201
  /**
19567
20202
  * The HTLC is waiting for the preimage to be shared by the receiver
@@ -20783,6 +21418,18 @@ export declare const TransferTarget: Readonly<{
20783
21418
  };
20784
21419
  }>;
20785
21420
  export type TransferTarget = InstanceType<(typeof TransferTarget)[keyof Omit<typeof TransferTarget, 'instanceOf'>]>;
21421
+ /**
21422
+ * Why an exit has to be built again.
21423
+ */
21424
+ export declare enum UnilateralExitRedoReason {
21425
+ /**
21426
+ * The chain no longer matches the exit: something that is not one of its
21427
+ * own transactions took an outpoint it still needs. A different refund, a
21428
+ * fee bump from elsewhere, or funding spent on something else all land
21429
+ * here.
21430
+ */
21431
+ OnChainStateDiverged = 0
21432
+ }
20786
21433
  /**
20787
21434
  * The role of a transaction in the exit path.
20788
21435
  */
@@ -20805,6 +21452,112 @@ export declare enum UnilateralExitTxKind {
20805
21452
  */
20806
21453
  Sweep = 3
20807
21454
  }
21455
+ export declare enum UnilateralExitVerdict_Tags {
21456
+ Valid = "Valid",
21457
+ Done = "Done",
21458
+ Redo = "Redo"
21459
+ }
21460
+ /**
21461
+ * What to do with an exit that has been read back against the chain.
21462
+ */
21463
+ export declare const UnilateralExitVerdict: Readonly<{
21464
+ instanceOf: (obj: any) => obj is UnilateralExitVerdict;
21465
+ Valid: {
21466
+ new (): {
21467
+ readonly tag: UnilateralExitVerdict_Tags.Valid;
21468
+ /**
21469
+ * @private
21470
+ * This field is private and should not be used, use `tag` instead.
21471
+ */
21472
+ readonly [uniffiTypeNameSymbol]: "UnilateralExitVerdict";
21473
+ };
21474
+ "new"(): {
21475
+ readonly tag: UnilateralExitVerdict_Tags.Valid;
21476
+ /**
21477
+ * @private
21478
+ * This field is private and should not be used, use `tag` instead.
21479
+ */
21480
+ readonly [uniffiTypeNameSymbol]: "UnilateralExitVerdict";
21481
+ };
21482
+ instanceOf(obj: any): obj is {
21483
+ readonly tag: UnilateralExitVerdict_Tags.Valid;
21484
+ /**
21485
+ * @private
21486
+ * This field is private and should not be used, use `tag` instead.
21487
+ */
21488
+ readonly [uniffiTypeNameSymbol]: "UnilateralExitVerdict";
21489
+ };
21490
+ };
21491
+ Done: {
21492
+ new (): {
21493
+ readonly tag: UnilateralExitVerdict_Tags.Done;
21494
+ /**
21495
+ * @private
21496
+ * This field is private and should not be used, use `tag` instead.
21497
+ */
21498
+ readonly [uniffiTypeNameSymbol]: "UnilateralExitVerdict";
21499
+ };
21500
+ "new"(): {
21501
+ readonly tag: UnilateralExitVerdict_Tags.Done;
21502
+ /**
21503
+ * @private
21504
+ * This field is private and should not be used, use `tag` instead.
21505
+ */
21506
+ readonly [uniffiTypeNameSymbol]: "UnilateralExitVerdict";
21507
+ };
21508
+ instanceOf(obj: any): obj is {
21509
+ readonly tag: UnilateralExitVerdict_Tags.Done;
21510
+ /**
21511
+ * @private
21512
+ * This field is private and should not be used, use `tag` instead.
21513
+ */
21514
+ readonly [uniffiTypeNameSymbol]: "UnilateralExitVerdict";
21515
+ };
21516
+ };
21517
+ Redo: {
21518
+ new (inner: {
21519
+ reason: UnilateralExitRedoReason;
21520
+ }): {
21521
+ readonly tag: UnilateralExitVerdict_Tags.Redo;
21522
+ readonly inner: Readonly<{
21523
+ reason: UnilateralExitRedoReason;
21524
+ }>;
21525
+ /**
21526
+ * @private
21527
+ * This field is private and should not be used, use `tag` instead.
21528
+ */
21529
+ readonly [uniffiTypeNameSymbol]: "UnilateralExitVerdict";
21530
+ };
21531
+ "new"(inner: {
21532
+ reason: UnilateralExitRedoReason;
21533
+ }): {
21534
+ readonly tag: UnilateralExitVerdict_Tags.Redo;
21535
+ readonly inner: Readonly<{
21536
+ reason: UnilateralExitRedoReason;
21537
+ }>;
21538
+ /**
21539
+ * @private
21540
+ * This field is private and should not be used, use `tag` instead.
21541
+ */
21542
+ readonly [uniffiTypeNameSymbol]: "UnilateralExitVerdict";
21543
+ };
21544
+ instanceOf(obj: any): obj is {
21545
+ readonly tag: UnilateralExitVerdict_Tags.Redo;
21546
+ readonly inner: Readonly<{
21547
+ reason: UnilateralExitRedoReason;
21548
+ }>;
21549
+ /**
21550
+ * @private
21551
+ * This field is private and should not be used, use `tag` instead.
21552
+ */
21553
+ readonly [uniffiTypeNameSymbol]: "UnilateralExitVerdict";
21554
+ };
21555
+ };
21556
+ }>;
21557
+ /**
21558
+ * What to do with an exit that has been read back against the chain.
21559
+ */
21560
+ export type UnilateralExitVerdict = InstanceType<(typeof UnilateralExitVerdict)[keyof Omit<typeof UnilateralExitVerdict, 'instanceOf'>]>;
20808
21561
  export declare enum UnsignedTransferPackage_Tags {
20809
21562
  Swap = "Swap",
20810
21563
  Transfer = "Transfer",
@@ -21571,6 +22324,17 @@ export interface BreezSdkInterface {
21571
22324
  checkMessage(request: CheckMessageRequest, asyncOpts_?: {
21572
22325
  signal: AbortSignal;
21573
22326
  }): Promise<CheckMessageResponse>;
22327
+ /**
22328
+ * Reads an exit you kept back against the chain: which of its transactions
22329
+ * are now in a block, and whether it can still be finished as it stands.
22330
+ *
22331
+ * Needs neither the wallet's leaves nor a signer, so an exit can be followed
22332
+ * from the response alone. Store the response in place of the one you passed
22333
+ * in, and broadcast what its statuses leave to send.
22334
+ */
22335
+ checkUnilateralExit(request: CheckUnilateralExitRequest, asyncOpts_?: {
22336
+ signal: AbortSignal;
22337
+ }): Promise<CheckUnilateralExitResponse>;
21574
22338
  claimDeposit(request: ClaimDepositRequest, asyncOpts_?: {
21575
22339
  signal: AbortSignal;
21576
22340
  }): Promise<ClaimDepositResponse>;
@@ -21995,11 +22759,10 @@ export interface BreezSdkInterface {
21995
22759
  * topological broadcast order without broadcasting. Broadcast it over time,
21996
22760
  * respecting each transaction's `depends_on` and `csv_timelock_blocks`.
21997
22761
  *
21998
- * It resolves on-chain state first (see [`resolve_exit_observations`]): an
21999
- * already-confirmed fan-out or CPFP node is not rebuilt, and a leaf refund
22000
- * already on-chain (recognized by the leaf's refund address, so any refund
22001
- * variant counts) is swept directly. Re-running after partial progress
22002
- * therefore resumes rather than restarts.
22762
+ * It reads on-chain state first: an already-confirmed fan-out or CPFP node
22763
+ * is not rebuilt, and a leaf refund already on-chain (recognized by the
22764
+ * leaf's refund address, so any refund variant counts) is swept directly.
22765
+ * Re-running after partial progress therefore resumes rather than restarts.
22003
22766
  */
22004
22767
  unilateralExit(request: UnilateralExitRequest, signer: CpfpSigner, asyncOpts_?: {
22005
22768
  signal: AbortSignal;
@@ -22138,6 +22901,17 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
22138
22901
  checkMessage(request: CheckMessageRequest, asyncOpts_?: {
22139
22902
  signal: AbortSignal;
22140
22903
  }): Promise<CheckMessageResponse>;
22904
+ /**
22905
+ * Reads an exit you kept back against the chain: which of its transactions
22906
+ * are now in a block, and whether it can still be finished as it stands.
22907
+ *
22908
+ * Needs neither the wallet's leaves nor a signer, so an exit can be followed
22909
+ * from the response alone. Store the response in place of the one you passed
22910
+ * in, and broadcast what its statuses leave to send.
22911
+ */
22912
+ checkUnilateralExit(request: CheckUnilateralExitRequest, asyncOpts_?: {
22913
+ signal: AbortSignal;
22914
+ }): Promise<CheckUnilateralExitResponse>;
22141
22915
  claimDeposit(request: ClaimDepositRequest, asyncOpts_?: {
22142
22916
  signal: AbortSignal;
22143
22917
  }): Promise<ClaimDepositResponse>;
@@ -22562,11 +23336,10 @@ export declare class BreezSdk extends UniffiAbstractObject implements BreezSdkIn
22562
23336
  * topological broadcast order without broadcasting. Broadcast it over time,
22563
23337
  * respecting each transaction's `depends_on` and `csv_timelock_blocks`.
22564
23338
  *
22565
- * It resolves on-chain state first (see [`resolve_exit_observations`]): an
22566
- * already-confirmed fan-out or CPFP node is not rebuilt, and a leaf refund
22567
- * already on-chain (recognized by the leaf's refund address, so any refund
22568
- * variant counts) is swept directly. Re-running after partial progress
22569
- * therefore resumes rather than restarts.
23339
+ * It reads on-chain state first: an already-confirmed fan-out or CPFP node
23340
+ * is not rebuilt, and a leaf refund already on-chain (recognized by the
23341
+ * leaf's refund address, so any refund variant counts) is swept directly.
23342
+ * Re-running after partial progress therefore resumes rather than restarts.
22570
23343
  */
22571
23344
  unilateralExit(request: UnilateralExitRequest, signer: CpfpSigner, asyncOpts_?: {
22572
23345
  signal: AbortSignal;
@@ -25237,6 +26010,20 @@ declare const _default: Readonly<{
25237
26010
  lift(value: UniffiByteArray): CheckMessageResponse;
25238
26011
  lower(value: CheckMessageResponse): UniffiByteArray;
25239
26012
  };
26013
+ FfiConverterTypeCheckUnilateralExitRequest: {
26014
+ read(from: RustBuffer): CheckUnilateralExitRequest;
26015
+ write(value: CheckUnilateralExitRequest, into: RustBuffer): void;
26016
+ allocationSize(value: CheckUnilateralExitRequest): number;
26017
+ lift(value: UniffiByteArray): CheckUnilateralExitRequest;
26018
+ lower(value: CheckUnilateralExitRequest): UniffiByteArray;
26019
+ };
26020
+ FfiConverterTypeCheckUnilateralExitResponse: {
26021
+ read(from: RustBuffer): CheckUnilateralExitResponse;
26022
+ write(value: CheckUnilateralExitResponse, into: RustBuffer): void;
26023
+ allocationSize(value: CheckUnilateralExitResponse): number;
26024
+ lift(value: UniffiByteArray): CheckUnilateralExitResponse;
26025
+ lower(value: CheckUnilateralExitResponse): UniffiByteArray;
26026
+ };
25240
26027
  FfiConverterTypeClaimDepositQuote: {
25241
26028
  read(from: RustBuffer): ClaimDepositQuote;
25242
26029
  write(value: ClaimDepositQuote, into: RustBuffer): void;
@@ -25286,12 +26073,12 @@ declare const _default: Readonly<{
25286
26073
  lift(value: UniffiByteArray): Config;
25287
26074
  lower(value: Config): UniffiByteArray;
25288
26075
  };
25289
- FfiConverterTypeConfirmationStatus: {
25290
- read(from: RustBuffer): ConfirmationStatus;
25291
- write(value: ConfirmationStatus, into: RustBuffer): void;
25292
- allocationSize(value: ConfirmationStatus): number;
25293
- lift(value: UniffiByteArray): ConfirmationStatus;
25294
- lower(value: ConfirmationStatus): UniffiByteArray;
26076
+ FfiConverterTypeConfirmedExitNode: {
26077
+ read(from: RustBuffer): ConfirmedExitNode;
26078
+ write(value: ConfirmedExitNode, into: RustBuffer): void;
26079
+ allocationSize(value: ConfirmedExitNode): number;
26080
+ lift(value: UniffiByteArray): ConfirmedExitNode;
26081
+ lower(value: ConfirmedExitNode): UniffiByteArray;
25295
26082
  };
25296
26083
  FfiConverterTypeConnectRequest: {
25297
26084
  read(from: RustBuffer): ConnectRequest;
@@ -25504,6 +26291,13 @@ declare const _default: Readonly<{
25504
26291
  lift(value: UniffiByteArray): CrossChainProviderContext;
25505
26292
  lower(value: CrossChainProviderContext): UniffiByteArray;
25506
26293
  };
26294
+ FfiConverterTypeCrossChainReceiveInfo: {
26295
+ read(from: RustBuffer): CrossChainReceiveInfo;
26296
+ write(value: CrossChainReceiveInfo, into: RustBuffer): void;
26297
+ allocationSize(value: CrossChainReceiveInfo): number;
26298
+ lift(value: UniffiByteArray): CrossChainReceiveInfo;
26299
+ lower(value: CrossChainReceiveInfo): UniffiByteArray;
26300
+ };
25507
26301
  FfiConverterTypeCrossChainRouteFilter: {
25508
26302
  read(from: RustBuffer): CrossChainRouteFilter;
25509
26303
  write(value: CrossChainRouteFilter, into: RustBuffer): void;
@@ -25525,6 +26319,13 @@ declare const _default: Readonly<{
25525
26319
  lift(value: UniffiByteArray): CurrencyInfo;
25526
26320
  lower(value: CurrencyInfo): UniffiByteArray;
25527
26321
  };
26322
+ FfiConverterTypeDeliveryMethod: {
26323
+ read(from: RustBuffer): DeliveryMethod;
26324
+ write(value: DeliveryMethod, into: RustBuffer): void;
26325
+ allocationSize(value: DeliveryMethod): number;
26326
+ lift(value: UniffiByteArray): DeliveryMethod;
26327
+ lower(value: DeliveryMethod): UniffiByteArray;
26328
+ };
25528
26329
  FfiConverterTypeDepositClaimError: {
25529
26330
  read(from: RustBuffer): DepositClaimError;
25530
26331
  write(value: DepositClaimError, into: RustBuffer): void;
@@ -25574,6 +26375,13 @@ declare const _default: Readonly<{
25574
26375
  lift(value: UniffiByteArray): ErrorKind;
25575
26376
  lower(value: ErrorKind): UniffiByteArray;
25576
26377
  };
26378
+ FfiConverterTypeExitChainState: {
26379
+ read(from: RustBuffer): ExitChainState;
26380
+ write(value: ExitChainState, into: RustBuffer): void;
26381
+ allocationSize(value: ExitChainState): number;
26382
+ lift(value: UniffiByteArray): ExitChainState;
26383
+ lower(value: ExitChainState): UniffiByteArray;
26384
+ };
25577
26385
  FfiConverterTypeExitLeafSelection: {
25578
26386
  read(from: RustBuffer): ExitLeafSelection;
25579
26387
  write(value: ExitLeafSelection, into: RustBuffer): void;
@@ -25581,6 +26389,34 @@ declare const _default: Readonly<{
25581
26389
  lift(value: UniffiByteArray): ExitLeafSelection;
25582
26390
  lower(value: ExitLeafSelection): UniffiByteArray;
25583
26391
  };
26392
+ FfiConverterTypeExitNodeConfirmation: {
26393
+ read(from: RustBuffer): ExitNodeConfirmation;
26394
+ write(value: ExitNodeConfirmation, into: RustBuffer): void;
26395
+ allocationSize(value: ExitNodeConfirmation): number;
26396
+ lift(value: UniffiByteArray): ExitNodeConfirmation;
26397
+ lower(value: ExitNodeConfirmation): UniffiByteArray;
26398
+ };
26399
+ FfiConverterTypeExitRefund: {
26400
+ read(from: RustBuffer): ExitRefund;
26401
+ write(value: ExitRefund, into: RustBuffer): void;
26402
+ allocationSize(value: ExitRefund): number;
26403
+ lift(value: UniffiByteArray): ExitRefund;
26404
+ lower(value: ExitRefund): UniffiByteArray;
26405
+ };
26406
+ FfiConverterTypeExitRefundState: {
26407
+ read(from: RustBuffer): ExitRefundState;
26408
+ write(value: ExitRefundState, into: RustBuffer): void;
26409
+ allocationSize(value: ExitRefundState): number;
26410
+ lift(value: UniffiByteArray): ExitRefundState;
26411
+ lower(value: ExitRefundState): UniffiByteArray;
26412
+ };
26413
+ FfiConverterTypeExitTransactionStatus: {
26414
+ read(from: RustBuffer): ExitTransactionStatus;
26415
+ write(value: ExitTransactionStatus, into: RustBuffer): void;
26416
+ allocationSize(value: ExitTransactionStatus): number;
26417
+ lift(value: UniffiByteArray): ExitTransactionStatus;
26418
+ lower(value: ExitTransactionStatus): UniffiByteArray;
26419
+ };
25584
26420
  FfiConverterTypeExportUnilateralExitStateResponse: {
25585
26421
  read(from: RustBuffer): ExportUnilateralExitStateResponse;
25586
26422
  write(value: ExportUnilateralExitStateResponse, into: RustBuffer): void;
@@ -26890,20 +27726,6 @@ declare const _default: Readonly<{
26890
27726
  lift(value: UniffiByteArray): SilentPaymentAddressDetails;
26891
27727
  lower(value: SilentPaymentAddressDetails): UniffiByteArray;
26892
27728
  };
26893
- FfiConverterTypeSourceAsset: {
26894
- read(from: RustBuffer): SourceAsset;
26895
- write(value: SourceAsset, into: RustBuffer): void;
26896
- allocationSize(value: SourceAsset): number;
26897
- lift(value: UniffiByteArray): SourceAsset;
26898
- lower(value: SourceAsset): UniffiByteArray;
26899
- };
26900
- FfiConverterTypeSourceChain: {
26901
- read(from: RustBuffer): SourceChain;
26902
- write(value: SourceChain, into: RustBuffer): void;
26903
- allocationSize(value: SourceChain): number;
26904
- lift(value: UniffiByteArray): SourceChain;
26905
- lower(value: SourceChain): UniffiByteArray;
26906
- };
26907
27729
  FfiConverterTypeSparkAddressDetails: {
26908
27730
  read(from: RustBuffer): SparkAddressDetails;
26909
27731
  write(value: SparkAddressDetails, into: RustBuffer): void;
@@ -26911,6 +27733,13 @@ declare const _default: Readonly<{
26911
27733
  lift(value: UniffiByteArray): SparkAddressDetails;
26912
27734
  lower(value: SparkAddressDetails): UniffiByteArray;
26913
27735
  };
27736
+ FfiConverterTypeSparkAsset: {
27737
+ read(from: RustBuffer): SparkAsset;
27738
+ write(value: SparkAsset, into: RustBuffer): void;
27739
+ allocationSize(value: SparkAsset): number;
27740
+ lift(value: UniffiByteArray): SparkAsset;
27741
+ lower(value: SparkAsset): UniffiByteArray;
27742
+ };
26914
27743
  FfiConverterTypeSparkConfig: {
26915
27744
  read(from: RustBuffer): SparkConfig;
26916
27745
  write(value: SparkConfig, into: RustBuffer): void;
@@ -27166,6 +27995,13 @@ declare const _default: Readonly<{
27166
27995
  lift(value: UniffiByteArray): UnilateralExitLeaf;
27167
27996
  lower(value: UnilateralExitLeaf): UniffiByteArray;
27168
27997
  };
27998
+ FfiConverterTypeUnilateralExitRedoReason: {
27999
+ read(from: RustBuffer): UnilateralExitRedoReason;
28000
+ write(value: UnilateralExitRedoReason, into: RustBuffer): void;
28001
+ allocationSize(value: UnilateralExitRedoReason): number;
28002
+ lift(value: UniffiByteArray): UnilateralExitRedoReason;
28003
+ lower(value: UnilateralExitRedoReason): UniffiByteArray;
28004
+ };
27169
28005
  FfiConverterTypeUnilateralExitRequest: {
27170
28006
  read(from: RustBuffer): UnilateralExitRequest;
27171
28007
  write(value: UnilateralExitRequest, into: RustBuffer): void;
@@ -27194,6 +28030,13 @@ declare const _default: Readonly<{
27194
28030
  lift(value: UniffiByteArray): UnilateralExitTxKind;
27195
28031
  lower(value: UnilateralExitTxKind): UniffiByteArray;
27196
28032
  };
28033
+ FfiConverterTypeUnilateralExitVerdict: {
28034
+ read(from: RustBuffer): UnilateralExitVerdict;
28035
+ write(value: UnilateralExitVerdict, into: RustBuffer): void;
28036
+ allocationSize(value: UnilateralExitVerdict): number;
28037
+ lift(value: UniffiByteArray): UnilateralExitVerdict;
28038
+ lower(value: UnilateralExitVerdict): UniffiByteArray;
28039
+ };
27197
28040
  FfiConverterTypeUnregisterWebhookRequest: {
27198
28041
  read(from: RustBuffer): UnregisterWebhookRequest;
27199
28042
  write(value: UnregisterWebhookRequest, into: RustBuffer): void;