@breeztech/breez-sdk-spark-react-native 0.4.2-dev1 → 0.4.3-dev1

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.
@@ -3460,13 +3460,19 @@ const FfiConverterTypeLnurlPayInfo = (() => {
3460
3460
 
3461
3461
  export type LnurlPayRequest = {
3462
3462
  prepareResponse: PrepareLnurlPayResponse;
3463
+ /**
3464
+ * If set, providing the same idempotency key for multiple requests will ensure that only one
3465
+ * payment is made. If an idempotency key is re-used, the same payment will be returned.
3466
+ * The idempotency key must be a valid UUID.
3467
+ */
3468
+ idempotencyKey: string | undefined;
3463
3469
  };
3464
3470
 
3465
3471
  /**
3466
3472
  * Generated factory for {@link LnurlPayRequest} record objects.
3467
3473
  */
3468
3474
  export const LnurlPayRequest = (() => {
3469
- const defaults = () => ({});
3475
+ const defaults = () => ({ idempotencyKey: undefined });
3470
3476
  const create = (() => {
3471
3477
  return uniffiCreateRecord<LnurlPayRequest, ReturnType<typeof defaults>>(
3472
3478
  defaults
@@ -3498,6 +3504,7 @@ const FfiConverterTypeLnurlPayRequest = (() => {
3498
3504
  read(from: RustBuffer): TypeName {
3499
3505
  return {
3500
3506
  prepareResponse: FfiConverterTypePrepareLnurlPayResponse.read(from),
3507
+ idempotencyKey: FfiConverterOptionalString.read(from),
3501
3508
  };
3502
3509
  }
3503
3510
  write(value: TypeName, into: RustBuffer): void {
@@ -3505,10 +3512,13 @@ const FfiConverterTypeLnurlPayRequest = (() => {
3505
3512
  value.prepareResponse,
3506
3513
  into
3507
3514
  );
3515
+ FfiConverterOptionalString.write(value.idempotencyKey, into);
3508
3516
  }
3509
3517
  allocationSize(value: TypeName): number {
3510
- return FfiConverterTypePrepareLnurlPayResponse.allocationSize(
3511
- value.prepareResponse
3518
+ return (
3519
+ FfiConverterTypePrepareLnurlPayResponse.allocationSize(
3520
+ value.prepareResponse
3521
+ ) + FfiConverterOptionalString.allocationSize(value.idempotencyKey)
3512
3522
  );
3513
3523
  }
3514
3524
  }
@@ -5114,6 +5124,76 @@ const FfiConverterTypeReceivePaymentResponse = (() => {
5114
5124
  return new FFIConverter();
5115
5125
  })();
5116
5126
 
5127
+ export type RecommendedFees = {
5128
+ fastestFee: /*u64*/ bigint;
5129
+ halfHourFee: /*u64*/ bigint;
5130
+ hourFee: /*u64*/ bigint;
5131
+ economyFee: /*u64*/ bigint;
5132
+ minimumFee: /*u64*/ bigint;
5133
+ };
5134
+
5135
+ /**
5136
+ * Generated factory for {@link RecommendedFees} record objects.
5137
+ */
5138
+ export const RecommendedFees = (() => {
5139
+ const defaults = () => ({});
5140
+ const create = (() => {
5141
+ return uniffiCreateRecord<RecommendedFees, ReturnType<typeof defaults>>(
5142
+ defaults
5143
+ );
5144
+ })();
5145
+ return Object.freeze({
5146
+ /**
5147
+ * Create a frozen instance of {@link RecommendedFees}, with defaults specified
5148
+ * in Rust, in the {@link breez_sdk_spark} crate.
5149
+ */
5150
+ create,
5151
+
5152
+ /**
5153
+ * Create a frozen instance of {@link RecommendedFees}, with defaults specified
5154
+ * in Rust, in the {@link breez_sdk_spark} crate.
5155
+ */
5156
+ new: create,
5157
+
5158
+ /**
5159
+ * Defaults specified in the {@link breez_sdk_spark} crate.
5160
+ */
5161
+ defaults: () => Object.freeze(defaults()) as Partial<RecommendedFees>,
5162
+ });
5163
+ })();
5164
+
5165
+ const FfiConverterTypeRecommendedFees = (() => {
5166
+ type TypeName = RecommendedFees;
5167
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
5168
+ read(from: RustBuffer): TypeName {
5169
+ return {
5170
+ fastestFee: FfiConverterUInt64.read(from),
5171
+ halfHourFee: FfiConverterUInt64.read(from),
5172
+ hourFee: FfiConverterUInt64.read(from),
5173
+ economyFee: FfiConverterUInt64.read(from),
5174
+ minimumFee: FfiConverterUInt64.read(from),
5175
+ };
5176
+ }
5177
+ write(value: TypeName, into: RustBuffer): void {
5178
+ FfiConverterUInt64.write(value.fastestFee, into);
5179
+ FfiConverterUInt64.write(value.halfHourFee, into);
5180
+ FfiConverterUInt64.write(value.hourFee, into);
5181
+ FfiConverterUInt64.write(value.economyFee, into);
5182
+ FfiConverterUInt64.write(value.minimumFee, into);
5183
+ }
5184
+ allocationSize(value: TypeName): number {
5185
+ return (
5186
+ FfiConverterUInt64.allocationSize(value.fastestFee) +
5187
+ FfiConverterUInt64.allocationSize(value.halfHourFee) +
5188
+ FfiConverterUInt64.allocationSize(value.hourFee) +
5189
+ FfiConverterUInt64.allocationSize(value.economyFee) +
5190
+ FfiConverterUInt64.allocationSize(value.minimumFee)
5191
+ );
5192
+ }
5193
+ }
5194
+ return new FFIConverter();
5195
+ })();
5196
+
5117
5197
  export type Record = {
5118
5198
  id: RecordId;
5119
5199
  revision: /*u64*/ bigint;
@@ -5681,13 +5761,20 @@ const FfiConverterTypeSendOnchainSpeedFeeQuote = (() => {
5681
5761
  export type SendPaymentRequest = {
5682
5762
  prepareResponse: PrepareSendPaymentResponse;
5683
5763
  options: SendPaymentOptions | undefined;
5764
+ /**
5765
+ * The optional idempotency key for all Spark based transfers (excludes token payments).
5766
+ * If set, providing the same idempotency key for multiple requests will ensure that only one
5767
+ * payment is made. If an idempotency key is re-used, the same payment will be returned.
5768
+ * The idempotency key must be a valid UUID.
5769
+ */
5770
+ idempotencyKey: string | undefined;
5684
5771
  };
5685
5772
 
5686
5773
  /**
5687
5774
  * Generated factory for {@link SendPaymentRequest} record objects.
5688
5775
  */
5689
5776
  export const SendPaymentRequest = (() => {
5690
- const defaults = () => ({ options: undefined });
5777
+ const defaults = () => ({ options: undefined, idempotencyKey: undefined });
5691
5778
  const create = (() => {
5692
5779
  return uniffiCreateRecord<SendPaymentRequest, ReturnType<typeof defaults>>(
5693
5780
  defaults
@@ -5720,6 +5807,7 @@ const FfiConverterTypeSendPaymentRequest = (() => {
5720
5807
  return {
5721
5808
  prepareResponse: FfiConverterTypePrepareSendPaymentResponse.read(from),
5722
5809
  options: FfiConverterOptionalTypeSendPaymentOptions.read(from),
5810
+ idempotencyKey: FfiConverterOptionalString.read(from),
5723
5811
  };
5724
5812
  }
5725
5813
  write(value: TypeName, into: RustBuffer): void {
@@ -5728,13 +5816,17 @@ const FfiConverterTypeSendPaymentRequest = (() => {
5728
5816
  into
5729
5817
  );
5730
5818
  FfiConverterOptionalTypeSendPaymentOptions.write(value.options, into);
5819
+ FfiConverterOptionalString.write(value.idempotencyKey, into);
5731
5820
  }
5732
5821
  allocationSize(value: TypeName): number {
5733
5822
  return (
5734
5823
  FfiConverterTypePrepareSendPaymentResponse.allocationSize(
5735
5824
  value.prepareResponse
5736
5825
  ) +
5737
- FfiConverterOptionalTypeSendPaymentOptions.allocationSize(value.options)
5826
+ FfiConverterOptionalTypeSendPaymentOptions.allocationSize(
5827
+ value.options
5828
+ ) +
5829
+ FfiConverterOptionalString.allocationSize(value.idempotencyKey)
5738
5830
  );
5739
5831
  }
5740
5832
  }
@@ -7011,115 +7103,6 @@ const FfiConverterTypeUtxo = (() => {
7011
7103
  return new FFIConverter();
7012
7104
  })();
7013
7105
 
7014
- export type WaitForPaymentRequest = {
7015
- identifier: WaitForPaymentIdentifier;
7016
- };
7017
-
7018
- /**
7019
- * Generated factory for {@link WaitForPaymentRequest} record objects.
7020
- */
7021
- export const WaitForPaymentRequest = (() => {
7022
- const defaults = () => ({});
7023
- const create = (() => {
7024
- return uniffiCreateRecord<
7025
- WaitForPaymentRequest,
7026
- ReturnType<typeof defaults>
7027
- >(defaults);
7028
- })();
7029
- return Object.freeze({
7030
- /**
7031
- * Create a frozen instance of {@link WaitForPaymentRequest}, with defaults specified
7032
- * in Rust, in the {@link breez_sdk_spark} crate.
7033
- */
7034
- create,
7035
-
7036
- /**
7037
- * Create a frozen instance of {@link WaitForPaymentRequest}, with defaults specified
7038
- * in Rust, in the {@link breez_sdk_spark} crate.
7039
- */
7040
- new: create,
7041
-
7042
- /**
7043
- * Defaults specified in the {@link breez_sdk_spark} crate.
7044
- */
7045
- defaults: () => Object.freeze(defaults()) as Partial<WaitForPaymentRequest>,
7046
- });
7047
- })();
7048
-
7049
- const FfiConverterTypeWaitForPaymentRequest = (() => {
7050
- type TypeName = WaitForPaymentRequest;
7051
- class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
7052
- read(from: RustBuffer): TypeName {
7053
- return {
7054
- identifier: FfiConverterTypeWaitForPaymentIdentifier.read(from),
7055
- };
7056
- }
7057
- write(value: TypeName, into: RustBuffer): void {
7058
- FfiConverterTypeWaitForPaymentIdentifier.write(value.identifier, into);
7059
- }
7060
- allocationSize(value: TypeName): number {
7061
- return FfiConverterTypeWaitForPaymentIdentifier.allocationSize(
7062
- value.identifier
7063
- );
7064
- }
7065
- }
7066
- return new FFIConverter();
7067
- })();
7068
-
7069
- export type WaitForPaymentResponse = {
7070
- payment: Payment;
7071
- };
7072
-
7073
- /**
7074
- * Generated factory for {@link WaitForPaymentResponse} record objects.
7075
- */
7076
- export const WaitForPaymentResponse = (() => {
7077
- const defaults = () => ({});
7078
- const create = (() => {
7079
- return uniffiCreateRecord<
7080
- WaitForPaymentResponse,
7081
- ReturnType<typeof defaults>
7082
- >(defaults);
7083
- })();
7084
- return Object.freeze({
7085
- /**
7086
- * Create a frozen instance of {@link WaitForPaymentResponse}, with defaults specified
7087
- * in Rust, in the {@link breez_sdk_spark} crate.
7088
- */
7089
- create,
7090
-
7091
- /**
7092
- * Create a frozen instance of {@link WaitForPaymentResponse}, with defaults specified
7093
- * in Rust, in the {@link breez_sdk_spark} crate.
7094
- */
7095
- new: create,
7096
-
7097
- /**
7098
- * Defaults specified in the {@link breez_sdk_spark} crate.
7099
- */
7100
- defaults: () =>
7101
- Object.freeze(defaults()) as Partial<WaitForPaymentResponse>,
7102
- });
7103
- })();
7104
-
7105
- const FfiConverterTypeWaitForPaymentResponse = (() => {
7106
- type TypeName = WaitForPaymentResponse;
7107
- class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
7108
- read(from: RustBuffer): TypeName {
7109
- return {
7110
- payment: FfiConverterTypePayment.read(from),
7111
- };
7112
- }
7113
- write(value: TypeName, into: RustBuffer): void {
7114
- FfiConverterTypePayment.write(value.payment, into);
7115
- }
7116
- allocationSize(value: TypeName): number {
7117
- return FfiConverterTypePayment.allocationSize(value.payment);
7118
- }
7119
- }
7120
- return new FFIConverter();
7121
- })();
7122
-
7123
7106
  const stringConverter = {
7124
7107
  stringToBytes: (s: string) =>
7125
7108
  uniffiCaller.rustCall((status) =>
@@ -7681,6 +7664,40 @@ const FfiConverterTypeBitcoinNetwork = (() => {
7681
7664
  return new FFIConverter();
7682
7665
  })();
7683
7666
 
7667
+ export enum ChainApiType {
7668
+ Esplora,
7669
+ MempoolSpace,
7670
+ }
7671
+
7672
+ const FfiConverterTypeChainApiType = (() => {
7673
+ const ordinalConverter = FfiConverterInt32;
7674
+ type TypeName = ChainApiType;
7675
+ class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
7676
+ read(from: RustBuffer): TypeName {
7677
+ switch (ordinalConverter.read(from)) {
7678
+ case 1:
7679
+ return ChainApiType.Esplora;
7680
+ case 2:
7681
+ return ChainApiType.MempoolSpace;
7682
+ default:
7683
+ throw new UniffiInternalError.UnexpectedEnumCase();
7684
+ }
7685
+ }
7686
+ write(value: TypeName, into: RustBuffer): void {
7687
+ switch (value) {
7688
+ case ChainApiType.Esplora:
7689
+ return ordinalConverter.write(1, into);
7690
+ case ChainApiType.MempoolSpace:
7691
+ return ordinalConverter.write(2, into);
7692
+ }
7693
+ }
7694
+ allocationSize(value: TypeName): number {
7695
+ return ordinalConverter.allocationSize(0);
7696
+ }
7697
+ }
7698
+ return new FFIConverter();
7699
+ })();
7700
+
7684
7701
  // Error type: ChainServiceError
7685
7702
 
7686
7703
  // Enum: ChainServiceError
@@ -13626,147 +13643,6 @@ const FfiConverterTypeUpdateDepositPayload = (() => {
13626
13643
  return new FFIConverter();
13627
13644
  })();
13628
13645
 
13629
- // Enum: WaitForPaymentIdentifier
13630
- export enum WaitForPaymentIdentifier_Tags {
13631
- PaymentId = 'PaymentId',
13632
- PaymentRequest = 'PaymentRequest',
13633
- }
13634
- export const WaitForPaymentIdentifier = (() => {
13635
- type PaymentId__interface = {
13636
- tag: WaitForPaymentIdentifier_Tags.PaymentId;
13637
- inner: Readonly<[string]>;
13638
- };
13639
-
13640
- class PaymentId_ extends UniffiEnum implements PaymentId__interface {
13641
- /**
13642
- * @private
13643
- * This field is private and should not be used, use `tag` instead.
13644
- */
13645
- readonly [uniffiTypeNameSymbol] = 'WaitForPaymentIdentifier';
13646
- readonly tag = WaitForPaymentIdentifier_Tags.PaymentId;
13647
- readonly inner: Readonly<[string]>;
13648
- constructor(v0: string) {
13649
- super('WaitForPaymentIdentifier', 'PaymentId');
13650
- this.inner = Object.freeze([v0]);
13651
- }
13652
-
13653
- static new(v0: string): PaymentId_ {
13654
- return new PaymentId_(v0);
13655
- }
13656
-
13657
- static instanceOf(obj: any): obj is PaymentId_ {
13658
- return obj.tag === WaitForPaymentIdentifier_Tags.PaymentId;
13659
- }
13660
- }
13661
-
13662
- type PaymentRequest__interface = {
13663
- tag: WaitForPaymentIdentifier_Tags.PaymentRequest;
13664
- inner: Readonly<[string]>;
13665
- };
13666
-
13667
- class PaymentRequest_
13668
- extends UniffiEnum
13669
- implements PaymentRequest__interface
13670
- {
13671
- /**
13672
- * @private
13673
- * This field is private and should not be used, use `tag` instead.
13674
- */
13675
- readonly [uniffiTypeNameSymbol] = 'WaitForPaymentIdentifier';
13676
- readonly tag = WaitForPaymentIdentifier_Tags.PaymentRequest;
13677
- readonly inner: Readonly<[string]>;
13678
- constructor(v0: string) {
13679
- super('WaitForPaymentIdentifier', 'PaymentRequest');
13680
- this.inner = Object.freeze([v0]);
13681
- }
13682
-
13683
- static new(v0: string): PaymentRequest_ {
13684
- return new PaymentRequest_(v0);
13685
- }
13686
-
13687
- static instanceOf(obj: any): obj is PaymentRequest_ {
13688
- return obj.tag === WaitForPaymentIdentifier_Tags.PaymentRequest;
13689
- }
13690
- }
13691
-
13692
- function instanceOf(obj: any): obj is WaitForPaymentIdentifier {
13693
- return obj[uniffiTypeNameSymbol] === 'WaitForPaymentIdentifier';
13694
- }
13695
-
13696
- return Object.freeze({
13697
- instanceOf,
13698
- PaymentId: PaymentId_,
13699
- PaymentRequest: PaymentRequest_,
13700
- });
13701
- })();
13702
-
13703
- export type WaitForPaymentIdentifier = InstanceType<
13704
- (typeof WaitForPaymentIdentifier)[keyof Omit<
13705
- typeof WaitForPaymentIdentifier,
13706
- 'instanceOf'
13707
- >]
13708
- >;
13709
-
13710
- // FfiConverter for enum WaitForPaymentIdentifier
13711
- const FfiConverterTypeWaitForPaymentIdentifier = (() => {
13712
- const ordinalConverter = FfiConverterInt32;
13713
- type TypeName = WaitForPaymentIdentifier;
13714
- class FFIConverter extends AbstractFfiConverterByteArray<TypeName> {
13715
- read(from: RustBuffer): TypeName {
13716
- switch (ordinalConverter.read(from)) {
13717
- case 1:
13718
- return new WaitForPaymentIdentifier.PaymentId(
13719
- FfiConverterString.read(from)
13720
- );
13721
- case 2:
13722
- return new WaitForPaymentIdentifier.PaymentRequest(
13723
- FfiConverterString.read(from)
13724
- );
13725
- default:
13726
- throw new UniffiInternalError.UnexpectedEnumCase();
13727
- }
13728
- }
13729
- write(value: TypeName, into: RustBuffer): void {
13730
- switch (value.tag) {
13731
- case WaitForPaymentIdentifier_Tags.PaymentId: {
13732
- ordinalConverter.write(1, into);
13733
- const inner = value.inner;
13734
- FfiConverterString.write(inner[0], into);
13735
- return;
13736
- }
13737
- case WaitForPaymentIdentifier_Tags.PaymentRequest: {
13738
- ordinalConverter.write(2, into);
13739
- const inner = value.inner;
13740
- FfiConverterString.write(inner[0], into);
13741
- return;
13742
- }
13743
- default:
13744
- // Throwing from here means that WaitForPaymentIdentifier_Tags hasn't matched an ordinal.
13745
- throw new UniffiInternalError.UnexpectedEnumCase();
13746
- }
13747
- }
13748
- allocationSize(value: TypeName): number {
13749
- switch (value.tag) {
13750
- case WaitForPaymentIdentifier_Tags.PaymentId: {
13751
- const inner = value.inner;
13752
- let size = ordinalConverter.allocationSize(1);
13753
- size += FfiConverterString.allocationSize(inner[0]);
13754
- return size;
13755
- }
13756
- case WaitForPaymentIdentifier_Tags.PaymentRequest: {
13757
- const inner = value.inner;
13758
- let size = ordinalConverter.allocationSize(2);
13759
- size += FfiConverterString.allocationSize(inner[0]);
13760
- return size;
13761
- }
13762
- default:
13763
- throw new UniffiInternalError.UnexpectedEnumCase();
13764
- }
13765
- }
13766
- }
13767
- return new FFIConverter();
13768
- })();
13769
-
13770
13646
  // FfiConverter for Map<string, TokenBalance>
13771
13647
  const FfiConverterMapStringTypeTokenBalance = new FfiConverterMap(
13772
13648
  FfiConverterString,
@@ -13796,6 +13672,9 @@ export interface BitcoinChainService {
13796
13672
  tx: string,
13797
13673
  asyncOpts_?: { signal: AbortSignal }
13798
13674
  ) /*throws*/ : Promise<void>;
13675
+ recommendedFees(asyncOpts_?: {
13676
+ signal: AbortSignal;
13677
+ }) /*throws*/ : Promise<RecommendedFees>;
13799
13678
  }
13800
13679
 
13801
13680
  export class BitcoinChainServiceImpl
@@ -13965,6 +13844,43 @@ export class BitcoinChainServiceImpl
13965
13844
  }
13966
13845
  }
13967
13846
 
13847
+ public async recommendedFees(asyncOpts_?: {
13848
+ signal: AbortSignal;
13849
+ }): Promise<RecommendedFees> /*throws*/ {
13850
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
13851
+ try {
13852
+ return await uniffiRustCallAsync(
13853
+ /*rustCaller:*/ uniffiCaller,
13854
+ /*rustFutureFunc:*/ () => {
13855
+ return nativeModule().ubrn_uniffi_breez_sdk_spark_fn_method_bitcoinchainservice_recommended_fees(
13856
+ uniffiTypeBitcoinChainServiceImplObjectFactory.clonePointer(this)
13857
+ );
13858
+ },
13859
+ /*pollFunc:*/ nativeModule()
13860
+ .ubrn_ffi_breez_sdk_spark_rust_future_poll_rust_buffer,
13861
+ /*cancelFunc:*/ nativeModule()
13862
+ .ubrn_ffi_breez_sdk_spark_rust_future_cancel_rust_buffer,
13863
+ /*completeFunc:*/ nativeModule()
13864
+ .ubrn_ffi_breez_sdk_spark_rust_future_complete_rust_buffer,
13865
+ /*freeFunc:*/ nativeModule()
13866
+ .ubrn_ffi_breez_sdk_spark_rust_future_free_rust_buffer,
13867
+ /*liftFunc:*/ FfiConverterTypeRecommendedFees.lift.bind(
13868
+ FfiConverterTypeRecommendedFees
13869
+ ),
13870
+ /*liftString:*/ FfiConverterString.lift,
13871
+ /*asyncOpts:*/ asyncOpts_,
13872
+ /*errorHandler:*/ FfiConverterTypeChainServiceError.lift.bind(
13873
+ FfiConverterTypeChainServiceError
13874
+ )
13875
+ );
13876
+ } catch (__error: any) {
13877
+ if (uniffiIsDebug && __error instanceof Error) {
13878
+ __error.stack = __stack;
13879
+ }
13880
+ throw __error;
13881
+ }
13882
+ }
13883
+
13968
13884
  /**
13969
13885
  * {@inheritDoc uniffi-bindgen-react-native#UniffiAbstractObject.uniffiDestroy}
13970
13886
  */
@@ -14241,6 +14157,49 @@ const uniffiCallbackInterfaceBitcoinChainService: {
14241
14157
  );
14242
14158
  return UniffiResult.success(uniffiForeignFuture);
14243
14159
  },
14160
+ recommendedFees: (
14161
+ uniffiHandle: bigint,
14162
+ uniffiFutureCallback: UniffiForeignFutureCompleteRustBuffer,
14163
+ uniffiCallbackData: bigint
14164
+ ) => {
14165
+ const uniffiMakeCall = async (
14166
+ signal: AbortSignal
14167
+ ): Promise<RecommendedFees> => {
14168
+ const jsCallback =
14169
+ FfiConverterTypeBitcoinChainService.lift(uniffiHandle);
14170
+ return await jsCallback.recommendedFees({ signal });
14171
+ };
14172
+ const uniffiHandleSuccess = (returnValue: RecommendedFees) => {
14173
+ uniffiFutureCallback(
14174
+ uniffiCallbackData,
14175
+ /* UniffiForeignFutureStructRustBuffer */ {
14176
+ returnValue: FfiConverterTypeRecommendedFees.lower(returnValue),
14177
+ callStatus: uniffiCaller.createCallStatus(),
14178
+ }
14179
+ );
14180
+ };
14181
+ const uniffiHandleError = (code: number, errorBuf: UniffiByteArray) => {
14182
+ uniffiFutureCallback(
14183
+ uniffiCallbackData,
14184
+ /* UniffiForeignFutureStructRustBuffer */ {
14185
+ returnValue: /*empty*/ new Uint8Array(0),
14186
+ // TODO create callstatus with error.
14187
+ callStatus: { code, errorBuf },
14188
+ }
14189
+ );
14190
+ };
14191
+ const uniffiForeignFuture = uniffiTraitInterfaceCallAsyncWithError(
14192
+ /*makeCall:*/ uniffiMakeCall,
14193
+ /*handleSuccess:*/ uniffiHandleSuccess,
14194
+ /*handleError:*/ uniffiHandleError,
14195
+ /*isErrorType:*/ ChainServiceError.instanceOf,
14196
+ /*lowerError:*/ FfiConverterTypeChainServiceError.lower.bind(
14197
+ FfiConverterTypeChainServiceError
14198
+ ),
14199
+ /*lowerString:*/ FfiConverterString.lower
14200
+ );
14201
+ return UniffiResult.success(uniffiForeignFuture);
14202
+ },
14244
14203
  uniffiFree: (uniffiHandle: UniffiHandle): void => {
14245
14204
  // BitcoinChainService: this will throw a stale handle error if the handle isn't found.
14246
14205
  FfiConverterTypeBitcoinChainService.drop(uniffiHandle);
@@ -14430,6 +14389,12 @@ export interface BreezSdkInterface {
14430
14389
  request: ReceivePaymentRequest,
14431
14390
  asyncOpts_?: { signal: AbortSignal }
14432
14391
  ) /*throws*/ : Promise<ReceivePaymentResponse>;
14392
+ /**
14393
+ * Get the recommended BTC fees based on the configured chain service.
14394
+ */
14395
+ recommendedFees(asyncOpts_?: {
14396
+ signal: AbortSignal;
14397
+ }) /*throws*/ : Promise<RecommendedFees>;
14433
14398
  refundDeposit(
14434
14399
  request: RefundDepositRequest,
14435
14400
  asyncOpts_?: { signal: AbortSignal }
@@ -14482,10 +14447,6 @@ export interface BreezSdkInterface {
14482
14447
  request: UpdateUserSettingsRequest,
14483
14448
  asyncOpts_?: { signal: AbortSignal }
14484
14449
  ) /*throws*/ : Promise<void>;
14485
- waitForPayment(
14486
- request: WaitForPaymentRequest,
14487
- asyncOpts_?: { signal: AbortSignal }
14488
- ) /*throws*/ : Promise<WaitForPaymentResponse>;
14489
14450
  }
14490
14451
 
14491
14452
  /**
@@ -15412,6 +15373,46 @@ export class BreezSdk
15412
15373
  }
15413
15374
  }
15414
15375
 
15376
+ /**
15377
+ * Get the recommended BTC fees based on the configured chain service.
15378
+ */
15379
+ public async recommendedFees(asyncOpts_?: {
15380
+ signal: AbortSignal;
15381
+ }): Promise<RecommendedFees> /*throws*/ {
15382
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
15383
+ try {
15384
+ return await uniffiRustCallAsync(
15385
+ /*rustCaller:*/ uniffiCaller,
15386
+ /*rustFutureFunc:*/ () => {
15387
+ return nativeModule().ubrn_uniffi_breez_sdk_spark_fn_method_breezsdk_recommended_fees(
15388
+ uniffiTypeBreezSdkObjectFactory.clonePointer(this)
15389
+ );
15390
+ },
15391
+ /*pollFunc:*/ nativeModule()
15392
+ .ubrn_ffi_breez_sdk_spark_rust_future_poll_rust_buffer,
15393
+ /*cancelFunc:*/ nativeModule()
15394
+ .ubrn_ffi_breez_sdk_spark_rust_future_cancel_rust_buffer,
15395
+ /*completeFunc:*/ nativeModule()
15396
+ .ubrn_ffi_breez_sdk_spark_rust_future_complete_rust_buffer,
15397
+ /*freeFunc:*/ nativeModule()
15398
+ .ubrn_ffi_breez_sdk_spark_rust_future_free_rust_buffer,
15399
+ /*liftFunc:*/ FfiConverterTypeRecommendedFees.lift.bind(
15400
+ FfiConverterTypeRecommendedFees
15401
+ ),
15402
+ /*liftString:*/ FfiConverterString.lift,
15403
+ /*asyncOpts:*/ asyncOpts_,
15404
+ /*errorHandler:*/ FfiConverterTypeSdkError.lift.bind(
15405
+ FfiConverterTypeSdkError
15406
+ )
15407
+ );
15408
+ } catch (__error: any) {
15409
+ if (uniffiIsDebug && __error instanceof Error) {
15410
+ __error.stack = __stack;
15411
+ }
15412
+ throw __error;
15413
+ }
15414
+ }
15415
+
15415
15416
  public async refundDeposit(
15416
15417
  request: RefundDepositRequest,
15417
15418
  asyncOpts_?: { signal: AbortSignal }
@@ -15702,45 +15703,6 @@ export class BreezSdk
15702
15703
  }
15703
15704
  }
15704
15705
 
15705
- public async waitForPayment(
15706
- request: WaitForPaymentRequest,
15707
- asyncOpts_?: { signal: AbortSignal }
15708
- ): Promise<WaitForPaymentResponse> /*throws*/ {
15709
- const __stack = uniffiIsDebug ? new Error().stack : undefined;
15710
- try {
15711
- return await uniffiRustCallAsync(
15712
- /*rustCaller:*/ uniffiCaller,
15713
- /*rustFutureFunc:*/ () => {
15714
- return nativeModule().ubrn_uniffi_breez_sdk_spark_fn_method_breezsdk_wait_for_payment(
15715
- uniffiTypeBreezSdkObjectFactory.clonePointer(this),
15716
- FfiConverterTypeWaitForPaymentRequest.lower(request)
15717
- );
15718
- },
15719
- /*pollFunc:*/ nativeModule()
15720
- .ubrn_ffi_breez_sdk_spark_rust_future_poll_rust_buffer,
15721
- /*cancelFunc:*/ nativeModule()
15722
- .ubrn_ffi_breez_sdk_spark_rust_future_cancel_rust_buffer,
15723
- /*completeFunc:*/ nativeModule()
15724
- .ubrn_ffi_breez_sdk_spark_rust_future_complete_rust_buffer,
15725
- /*freeFunc:*/ nativeModule()
15726
- .ubrn_ffi_breez_sdk_spark_rust_future_free_rust_buffer,
15727
- /*liftFunc:*/ FfiConverterTypeWaitForPaymentResponse.lift.bind(
15728
- FfiConverterTypeWaitForPaymentResponse
15729
- ),
15730
- /*liftString:*/ FfiConverterString.lift,
15731
- /*asyncOpts:*/ asyncOpts_,
15732
- /*errorHandler:*/ FfiConverterTypeSdkError.lift.bind(
15733
- FfiConverterTypeSdkError
15734
- )
15735
- );
15736
- } catch (__error: any) {
15737
- if (uniffiIsDebug && __error instanceof Error) {
15738
- __error.stack = __stack;
15739
- }
15740
- throw __error;
15741
- }
15742
- }
15743
-
15744
15706
  /**
15745
15707
  * {@inheritDoc uniffi-bindgen-react-native#UniffiAbstractObject.uniffiDestroy}
15746
15708
  */
@@ -16884,10 +16846,12 @@ export interface SdkBuilderInterface {
16884
16846
  * Sets the REST chain service to be used by the SDK.
16885
16847
  * Arguments:
16886
16848
  * - `url`: The base URL of the REST API.
16849
+ * - `api_type`: The API type to be used.
16887
16850
  * - `credentials`: Optional credentials for basic authentication.
16888
16851
  */
16889
16852
  withRestChainService(
16890
16853
  url: string,
16854
+ apiType: ChainApiType,
16891
16855
  credentials: Credentials | undefined,
16892
16856
  asyncOpts_?: { signal: AbortSignal }
16893
16857
  ): Promise<void>;
@@ -17254,10 +17218,12 @@ export class SdkBuilder
17254
17218
  * Sets the REST chain service to be used by the SDK.
17255
17219
  * Arguments:
17256
17220
  * - `url`: The base URL of the REST API.
17221
+ * - `api_type`: The API type to be used.
17257
17222
  * - `credentials`: Optional credentials for basic authentication.
17258
17223
  */
17259
17224
  public async withRestChainService(
17260
17225
  url: string,
17226
+ apiType: ChainApiType,
17261
17227
  credentials: Credentials | undefined,
17262
17228
  asyncOpts_?: { signal: AbortSignal }
17263
17229
  ): Promise<void> {
@@ -17269,6 +17235,7 @@ export class SdkBuilder
17269
17235
  return nativeModule().ubrn_uniffi_breez_sdk_spark_fn_method_sdkbuilder_with_rest_chain_service(
17270
17236
  uniffiTypeSdkBuilderObjectFactory.clonePointer(this),
17271
17237
  FfiConverterString.lower(url),
17238
+ FfiConverterTypeChainApiType.lower(apiType),
17272
17239
  FfiConverterOptionalTypeCredentials.lower(credentials)
17273
17240
  );
17274
17241
  },
@@ -20653,6 +20620,14 @@ function uniffiEnsureInitialized() {
20653
20620
  'uniffi_breez_sdk_spark_checksum_method_bitcoinchainservice_broadcast_transaction'
20654
20621
  );
20655
20622
  }
20623
+ if (
20624
+ nativeModule().ubrn_uniffi_breez_sdk_spark_checksum_method_bitcoinchainservice_recommended_fees() !==
20625
+ 43230
20626
+ ) {
20627
+ throw new UniffiInternalError.ApiChecksumMismatch(
20628
+ 'uniffi_breez_sdk_spark_checksum_method_bitcoinchainservice_recommended_fees'
20629
+ );
20630
+ }
20656
20631
  if (
20657
20632
  nativeModule().ubrn_uniffi_breez_sdk_spark_checksum_method_breezsdk_add_event_listener() !==
20658
20633
  37737
@@ -20829,6 +20804,14 @@ function uniffiEnsureInitialized() {
20829
20804
  'uniffi_breez_sdk_spark_checksum_method_breezsdk_receive_payment'
20830
20805
  );
20831
20806
  }
20807
+ if (
20808
+ nativeModule().ubrn_uniffi_breez_sdk_spark_checksum_method_breezsdk_recommended_fees() !==
20809
+ 16947
20810
+ ) {
20811
+ throw new UniffiInternalError.ApiChecksumMismatch(
20812
+ 'uniffi_breez_sdk_spark_checksum_method_breezsdk_recommended_fees'
20813
+ );
20814
+ }
20832
20815
  if (
20833
20816
  nativeModule().ubrn_uniffi_breez_sdk_spark_checksum_method_breezsdk_refund_deposit() !==
20834
20817
  33646
@@ -20885,14 +20868,6 @@ function uniffiEnsureInitialized() {
20885
20868
  'uniffi_breez_sdk_spark_checksum_method_breezsdk_update_user_settings'
20886
20869
  );
20887
20870
  }
20888
- if (
20889
- nativeModule().ubrn_uniffi_breez_sdk_spark_checksum_method_breezsdk_wait_for_payment() !==
20890
- 64922
20891
- ) {
20892
- throw new UniffiInternalError.ApiChecksumMismatch(
20893
- 'uniffi_breez_sdk_spark_checksum_method_breezsdk_wait_for_payment'
20894
- );
20895
- }
20896
20871
  if (
20897
20872
  nativeModule().ubrn_uniffi_breez_sdk_spark_checksum_method_fiatservice_fetch_fiat_currencies() !==
20898
20873
  19092
@@ -21007,7 +20982,7 @@ function uniffiEnsureInitialized() {
21007
20982
  }
21008
20983
  if (
21009
20984
  nativeModule().ubrn_uniffi_breez_sdk_spark_checksum_method_sdkbuilder_with_rest_chain_service() !==
21010
- 56288
20985
+ 63155
21011
20986
  ) {
21012
20987
  throw new UniffiInternalError.ApiChecksumMismatch(
21013
20988
  'uniffi_breez_sdk_spark_checksum_method_sdkbuilder_with_rest_chain_service'
@@ -21313,6 +21288,7 @@ export default Object.freeze({
21313
21288
  FfiConverterTypeBolt12OfferDetails,
21314
21289
  FfiConverterTypeBreezSdk,
21315
21290
  FfiConverterTypeBurnIssuerTokenRequest,
21291
+ FfiConverterTypeChainApiType,
21316
21292
  FfiConverterTypeCheckLightningAddressRequest,
21317
21293
  FfiConverterTypeCheckMessageRequest,
21318
21294
  FfiConverterTypeCheckMessageResponse,
@@ -21383,6 +21359,7 @@ export default Object.freeze({
21383
21359
  FfiConverterTypeReceivePaymentMethod,
21384
21360
  FfiConverterTypeReceivePaymentRequest,
21385
21361
  FfiConverterTypeReceivePaymentResponse,
21362
+ FfiConverterTypeRecommendedFees,
21386
21363
  FfiConverterTypeRecord,
21387
21364
  FfiConverterTypeRecordChange,
21388
21365
  FfiConverterTypeRecordId,
@@ -21425,9 +21402,6 @@ export default Object.freeze({
21425
21402
  FfiConverterTypeUrlSuccessActionData,
21426
21403
  FfiConverterTypeUserSettings,
21427
21404
  FfiConverterTypeUtxo,
21428
- FfiConverterTypeWaitForPaymentIdentifier,
21429
- FfiConverterTypeWaitForPaymentRequest,
21430
- FfiConverterTypeWaitForPaymentResponse,
21431
21405
  FfiConverterTypeu128,
21432
21406
  },
21433
21407
  });