breez-sdk-spark 0.5.2__cp311-cp311-manylinux_2_31_x86_64.whl → 0.6.5__cp311-cp311-manylinux_2_31_x86_64.whl

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.
@@ -479,6 +479,8 @@ def _uniffi_check_api_checksums(lib):
479
479
  raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
480
480
  if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_add_event_listener() != 37737:
481
481
  raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
482
+ if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_cancel_leaf_optimization() != 56996:
483
+ raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
482
484
  if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_check_lightning_address_available() != 31624:
483
485
  raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
484
486
  if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_check_message() != 4385:
@@ -493,6 +495,8 @@ def _uniffi_check_api_checksums(lib):
493
495
  raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
494
496
  if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_info() != 6771:
495
497
  raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
498
+ if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_leaf_optimization_progress() != 38008:
499
+ raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
496
500
  if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_lightning_address() != 36552:
497
501
  raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
498
502
  if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_payment() != 11540:
@@ -535,6 +539,8 @@ def _uniffi_check_api_checksums(lib):
535
539
  raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
536
540
  if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_sign_message() != 57563:
537
541
  raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
542
+ if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_start_leaf_optimization() != 22827:
543
+ raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
538
544
  if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_sync_wallet() != 30368:
539
545
  raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
540
546
  if lib.uniffi_breez_sdk_spark_checksum_method_breezsdk_update_user_settings() != 1721:
@@ -937,6 +943,10 @@ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_add_event_listener.argtypes
937
943
  ctypes.c_uint64,
938
944
  )
939
945
  _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_add_event_listener.restype = ctypes.c_uint64
946
+ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_cancel_leaf_optimization.argtypes = (
947
+ ctypes.c_void_p,
948
+ )
949
+ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_cancel_leaf_optimization.restype = ctypes.c_uint64
940
950
  _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_check_lightning_address_available.argtypes = (
941
951
  ctypes.c_void_p,
942
952
  _UniffiRustBuffer,
@@ -970,6 +980,11 @@ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_get_info.argtypes = (
970
980
  _UniffiRustBuffer,
971
981
  )
972
982
  _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_get_info.restype = ctypes.c_uint64
983
+ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_get_leaf_optimization_progress.argtypes = (
984
+ ctypes.c_void_p,
985
+ ctypes.POINTER(_UniffiRustCallStatus),
986
+ )
987
+ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_get_leaf_optimization_progress.restype = _UniffiRustBuffer
973
988
  _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_get_lightning_address.argtypes = (
974
989
  ctypes.c_void_p,
975
990
  )
@@ -1070,6 +1085,11 @@ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_sign_message.argtypes = (
1070
1085
  _UniffiRustBuffer,
1071
1086
  )
1072
1087
  _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_sign_message.restype = ctypes.c_uint64
1088
+ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_start_leaf_optimization.argtypes = (
1089
+ ctypes.c_void_p,
1090
+ ctypes.POINTER(_UniffiRustCallStatus),
1091
+ )
1092
+ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_start_leaf_optimization.restype = None
1073
1093
  _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_sync_wallet.argtypes = (
1074
1094
  ctypes.c_void_p,
1075
1095
  _UniffiRustBuffer,
@@ -1733,6 +1753,9 @@ _UniffiLib.uniffi_breez_sdk_spark_checksum_method_bitcoinchainservice_recommende
1733
1753
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_add_event_listener.argtypes = (
1734
1754
  )
1735
1755
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_add_event_listener.restype = ctypes.c_uint16
1756
+ _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_cancel_leaf_optimization.argtypes = (
1757
+ )
1758
+ _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_cancel_leaf_optimization.restype = ctypes.c_uint16
1736
1759
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_check_lightning_address_available.argtypes = (
1737
1760
  )
1738
1761
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_check_lightning_address_available.restype = ctypes.c_uint16
@@ -1754,6 +1777,9 @@ _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_disconnect.restype =
1754
1777
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_info.argtypes = (
1755
1778
  )
1756
1779
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_info.restype = ctypes.c_uint16
1780
+ _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_leaf_optimization_progress.argtypes = (
1781
+ )
1782
+ _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_leaf_optimization_progress.restype = ctypes.c_uint16
1757
1783
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_lightning_address.argtypes = (
1758
1784
  )
1759
1785
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_get_lightning_address.restype = ctypes.c_uint16
@@ -1817,6 +1843,9 @@ _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_send_payment.restype
1817
1843
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_sign_message.argtypes = (
1818
1844
  )
1819
1845
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_sign_message.restype = ctypes.c_uint16
1846
+ _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_start_leaf_optimization.argtypes = (
1847
+ )
1848
+ _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_start_leaf_optimization.restype = ctypes.c_uint16
1820
1849
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_sync_wallet.argtypes = (
1821
1850
  )
1822
1851
  _UniffiLib.uniffi_breez_sdk_spark_checksum_method_breezsdk_sync_wallet.restype = ctypes.c_uint16
@@ -1980,6 +2009,19 @@ _uniffi_check_contract_api_version(_UniffiLib)
1980
2009
  # Public interface members begin here.
1981
2010
 
1982
2011
 
2012
+ class _UniffiConverterUInt8(_UniffiConverterPrimitiveInt):
2013
+ CLASS_NAME = "u8"
2014
+ VALUE_MIN = 0
2015
+ VALUE_MAX = 2**8
2016
+
2017
+ @staticmethod
2018
+ def read(buf):
2019
+ return buf.read_u8()
2020
+
2021
+ @staticmethod
2022
+ def write(value, buf):
2023
+ buf.write_u8(value)
2024
+
1983
2025
  class _UniffiConverterUInt16(_UniffiConverterPrimitiveInt):
1984
2026
  CLASS_NAME = "u16"
1985
2027
  VALUE_MIN = 0
@@ -2513,6 +2555,19 @@ class BreezSdkProtocol(typing.Protocol):
2513
2555
  A unique identifier for the listener, which can be used to remove it later
2514
2556
  """
2515
2557
 
2558
+ raise NotImplementedError
2559
+ def cancel_leaf_optimization(self, ):
2560
+ """
2561
+ Cancels the ongoing leaf optimization.
2562
+
2563
+ This method cancels the ongoing optimization and waits for it to fully stop.
2564
+ The current round will complete before stopping. This method blocks
2565
+ until the optimization has fully stopped and leaves reserved for optimization
2566
+ are available again.
2567
+
2568
+ If no optimization is running, this method returns immediately.
2569
+ """
2570
+
2516
2571
  raise NotImplementedError
2517
2572
  def check_lightning_address_available(self, req: "CheckLightningAddressRequest"):
2518
2573
  raise NotImplementedError
@@ -2548,6 +2603,12 @@ class BreezSdkProtocol(typing.Protocol):
2548
2603
  Returns the balance of the wallet in satoshis
2549
2604
  """
2550
2605
 
2606
+ raise NotImplementedError
2607
+ def get_leaf_optimization_progress(self, ):
2608
+ """
2609
+ Returns the current optimization progress snapshot.
2610
+ """
2611
+
2551
2612
  raise NotImplementedError
2552
2613
  def get_lightning_address(self, ):
2553
2614
  raise NotImplementedError
@@ -2685,6 +2746,16 @@ class BreezSdkProtocol(typing.Protocol):
2685
2746
  DER format by default, or compact format if specified.
2686
2747
  """
2687
2748
 
2749
+ raise NotImplementedError
2750
+ def start_leaf_optimization(self, ):
2751
+ """
2752
+ Starts leaf optimization in the background.
2753
+
2754
+ This method spawns the optimization work in a background task and returns
2755
+ immediately. Progress is reported via events.
2756
+ If optimization is already running, no new task will be started.
2757
+ """
2758
+
2688
2759
  raise NotImplementedError
2689
2760
  def sync_wallet(self, request: "SyncWalletRequest"):
2690
2761
  """
@@ -2765,6 +2836,37 @@ class BreezSdk:
2765
2836
 
2766
2837
 
2767
2838
 
2839
+ async def cancel_leaf_optimization(self, ) -> None:
2840
+
2841
+ """
2842
+ Cancels the ongoing leaf optimization.
2843
+
2844
+ This method cancels the ongoing optimization and waits for it to fully stop.
2845
+ The current round will complete before stopping. This method blocks
2846
+ until the optimization has fully stopped and leaves reserved for optimization
2847
+ are available again.
2848
+
2849
+ If no optimization is running, this method returns immediately.
2850
+ """
2851
+
2852
+ return await _uniffi_rust_call_async(
2853
+ _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_cancel_leaf_optimization(
2854
+ self._uniffi_clone_pointer(),
2855
+ ),
2856
+ _UniffiLib.ffi_breez_sdk_spark_rust_future_poll_void,
2857
+ _UniffiLib.ffi_breez_sdk_spark_rust_future_complete_void,
2858
+ _UniffiLib.ffi_breez_sdk_spark_rust_future_free_void,
2859
+ # lift function
2860
+ lambda val: None,
2861
+
2862
+
2863
+ # Error FFI converter
2864
+ _UniffiConverterTypeSdkError,
2865
+
2866
+ )
2867
+
2868
+
2869
+
2768
2870
  async def check_lightning_address_available(self, req: "CheckLightningAddressRequest") -> "bool":
2769
2871
  _UniffiConverterTypeCheckLightningAddressRequest.check_lower(req)
2770
2872
 
@@ -2931,6 +3033,19 @@ _UniffiConverterTypeSdkError,
2931
3033
 
2932
3034
 
2933
3035
 
3036
+
3037
+ def get_leaf_optimization_progress(self, ) -> "OptimizationProgress":
3038
+ """
3039
+ Returns the current optimization progress snapshot.
3040
+ """
3041
+
3042
+ return _UniffiConverterTypeOptimizationProgress.lift(
3043
+ _uniffi_rust_call(_UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_get_leaf_optimization_progress,self._uniffi_clone_pointer(),)
3044
+ )
3045
+
3046
+
3047
+
3048
+
2934
3049
  async def get_lightning_address(self, ) -> "typing.Optional[LightningAddressInfo]":
2935
3050
  return await _uniffi_rust_call_async(
2936
3051
  _UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_get_lightning_address(
@@ -3441,6 +3556,22 @@ _UniffiConverterTypeSdkError,
3441
3556
 
3442
3557
 
3443
3558
 
3559
+
3560
+ def start_leaf_optimization(self, ) -> None:
3561
+ """
3562
+ Starts leaf optimization in the background.
3563
+
3564
+ This method spawns the optimization work in a background task and returns
3565
+ immediately. Progress is reported via events.
3566
+ If optimization is already running, no new task will be started.
3567
+ """
3568
+
3569
+ _uniffi_rust_call(_UniffiLib.uniffi_breez_sdk_spark_fn_method_breezsdk_start_leaf_optimization,self._uniffi_clone_pointer(),)
3570
+
3571
+
3572
+
3573
+
3574
+
3444
3575
  async def sync_wallet(self, request: "SyncWalletRequest") -> "SyncWalletResponse":
3445
3576
  """
3446
3577
  Synchronizes the wallet with the Spark network
@@ -7725,8 +7856,8 @@ class _UniffiConverterTypeCheckMessageResponse(_UniffiConverterRustBuffer):
7725
7856
  class ClaimDepositRequest:
7726
7857
  txid: "str"
7727
7858
  vout: "int"
7728
- max_fee: "typing.Optional[Fee]"
7729
- def __init__(self, *, txid: "str", vout: "int", max_fee: "typing.Optional[Fee]" = _DEFAULT):
7859
+ max_fee: "typing.Optional[MaxFee]"
7860
+ def __init__(self, *, txid: "str", vout: "int", max_fee: "typing.Optional[MaxFee]" = _DEFAULT):
7730
7861
  self.txid = txid
7731
7862
  self.vout = vout
7732
7863
  if max_fee is _DEFAULT:
@@ -7752,20 +7883,20 @@ class _UniffiConverterTypeClaimDepositRequest(_UniffiConverterRustBuffer):
7752
7883
  return ClaimDepositRequest(
7753
7884
  txid=_UniffiConverterString.read(buf),
7754
7885
  vout=_UniffiConverterUInt32.read(buf),
7755
- max_fee=_UniffiConverterOptionalTypeFee.read(buf),
7886
+ max_fee=_UniffiConverterOptionalTypeMaxFee.read(buf),
7756
7887
  )
7757
7888
 
7758
7889
  @staticmethod
7759
7890
  def check_lower(value):
7760
7891
  _UniffiConverterString.check_lower(value.txid)
7761
7892
  _UniffiConverterUInt32.check_lower(value.vout)
7762
- _UniffiConverterOptionalTypeFee.check_lower(value.max_fee)
7893
+ _UniffiConverterOptionalTypeMaxFee.check_lower(value.max_fee)
7763
7894
 
7764
7895
  @staticmethod
7765
7896
  def write(value, buf):
7766
7897
  _UniffiConverterString.write(value.txid, buf)
7767
7898
  _UniffiConverterUInt32.write(value.vout, buf)
7768
- _UniffiConverterOptionalTypeFee.write(value.max_fee, buf)
7899
+ _UniffiConverterOptionalTypeMaxFee.write(value.max_fee, buf)
7769
7900
 
7770
7901
 
7771
7902
  class ClaimDepositResponse:
@@ -7859,7 +7990,7 @@ class Config:
7859
7990
  api_key: "typing.Optional[str]"
7860
7991
  network: "Network"
7861
7992
  sync_interval_secs: "int"
7862
- max_deposit_claim_fee: "typing.Optional[Fee]"
7993
+ max_deposit_claim_fee: "typing.Optional[MaxFee]"
7863
7994
  lnurl_domain: "typing.Optional[str]"
7864
7995
  """
7865
7996
  The domain used for receiving through lnurl-pay and lightning address.
@@ -7899,7 +8030,16 @@ class Config:
7899
8030
  If set to false, no changes will be made to the Spark private mode.
7900
8031
  """
7901
8032
 
7902
- def __init__(self, *, api_key: "typing.Optional[str]", network: "Network", sync_interval_secs: "int", max_deposit_claim_fee: "typing.Optional[Fee]", lnurl_domain: "typing.Optional[str]", prefer_spark_over_lightning: "bool", external_input_parsers: "typing.Optional[typing.List[ExternalInputParser]]", use_default_external_input_parsers: "bool", real_time_sync_server_url: "typing.Optional[str]", private_enabled_default: "bool"):
8033
+ optimization_config: "OptimizationConfig"
8034
+ """
8035
+ Configuration for leaf optimization.
8036
+
8037
+ Leaf optimization controls the denominations of leaves that are held in the wallet.
8038
+ Fewer, bigger leaves allow for more funds to be exited unilaterally.
8039
+ More leaves allow payments to be made without needing a swap, reducing payment latency.
8040
+ """
8041
+
8042
+ def __init__(self, *, api_key: "typing.Optional[str]", network: "Network", sync_interval_secs: "int", max_deposit_claim_fee: "typing.Optional[MaxFee]", lnurl_domain: "typing.Optional[str]", prefer_spark_over_lightning: "bool", external_input_parsers: "typing.Optional[typing.List[ExternalInputParser]]", use_default_external_input_parsers: "bool", real_time_sync_server_url: "typing.Optional[str]", private_enabled_default: "bool", optimization_config: "OptimizationConfig"):
7903
8043
  self.api_key = api_key
7904
8044
  self.network = network
7905
8045
  self.sync_interval_secs = sync_interval_secs
@@ -7910,9 +8050,10 @@ class Config:
7910
8050
  self.use_default_external_input_parsers = use_default_external_input_parsers
7911
8051
  self.real_time_sync_server_url = real_time_sync_server_url
7912
8052
  self.private_enabled_default = private_enabled_default
8053
+ self.optimization_config = optimization_config
7913
8054
 
7914
8055
  def __str__(self):
7915
- return "Config(api_key={}, network={}, sync_interval_secs={}, max_deposit_claim_fee={}, lnurl_domain={}, prefer_spark_over_lightning={}, external_input_parsers={}, use_default_external_input_parsers={}, real_time_sync_server_url={}, private_enabled_default={})".format(self.api_key, self.network, self.sync_interval_secs, self.max_deposit_claim_fee, self.lnurl_domain, self.prefer_spark_over_lightning, self.external_input_parsers, self.use_default_external_input_parsers, self.real_time_sync_server_url, self.private_enabled_default)
8056
+ return "Config(api_key={}, network={}, sync_interval_secs={}, max_deposit_claim_fee={}, lnurl_domain={}, prefer_spark_over_lightning={}, external_input_parsers={}, use_default_external_input_parsers={}, real_time_sync_server_url={}, private_enabled_default={}, optimization_config={})".format(self.api_key, self.network, self.sync_interval_secs, self.max_deposit_claim_fee, self.lnurl_domain, self.prefer_spark_over_lightning, self.external_input_parsers, self.use_default_external_input_parsers, self.real_time_sync_server_url, self.private_enabled_default, self.optimization_config)
7916
8057
 
7917
8058
  def __eq__(self, other):
7918
8059
  if self.api_key != other.api_key:
@@ -7935,6 +8076,8 @@ class Config:
7935
8076
  return False
7936
8077
  if self.private_enabled_default != other.private_enabled_default:
7937
8078
  return False
8079
+ if self.optimization_config != other.optimization_config:
8080
+ return False
7938
8081
  return True
7939
8082
 
7940
8083
  class _UniffiConverterTypeConfig(_UniffiConverterRustBuffer):
@@ -7944,13 +8087,14 @@ class _UniffiConverterTypeConfig(_UniffiConverterRustBuffer):
7944
8087
  api_key=_UniffiConverterOptionalString.read(buf),
7945
8088
  network=_UniffiConverterTypeNetwork.read(buf),
7946
8089
  sync_interval_secs=_UniffiConverterUInt32.read(buf),
7947
- max_deposit_claim_fee=_UniffiConverterOptionalTypeFee.read(buf),
8090
+ max_deposit_claim_fee=_UniffiConverterOptionalTypeMaxFee.read(buf),
7948
8091
  lnurl_domain=_UniffiConverterOptionalString.read(buf),
7949
8092
  prefer_spark_over_lightning=_UniffiConverterBool.read(buf),
7950
8093
  external_input_parsers=_UniffiConverterOptionalSequenceTypeExternalInputParser.read(buf),
7951
8094
  use_default_external_input_parsers=_UniffiConverterBool.read(buf),
7952
8095
  real_time_sync_server_url=_UniffiConverterOptionalString.read(buf),
7953
8096
  private_enabled_default=_UniffiConverterBool.read(buf),
8097
+ optimization_config=_UniffiConverterTypeOptimizationConfig.read(buf),
7954
8098
  )
7955
8099
 
7956
8100
  @staticmethod
@@ -7958,26 +8102,28 @@ class _UniffiConverterTypeConfig(_UniffiConverterRustBuffer):
7958
8102
  _UniffiConverterOptionalString.check_lower(value.api_key)
7959
8103
  _UniffiConverterTypeNetwork.check_lower(value.network)
7960
8104
  _UniffiConverterUInt32.check_lower(value.sync_interval_secs)
7961
- _UniffiConverterOptionalTypeFee.check_lower(value.max_deposit_claim_fee)
8105
+ _UniffiConverterOptionalTypeMaxFee.check_lower(value.max_deposit_claim_fee)
7962
8106
  _UniffiConverterOptionalString.check_lower(value.lnurl_domain)
7963
8107
  _UniffiConverterBool.check_lower(value.prefer_spark_over_lightning)
7964
8108
  _UniffiConverterOptionalSequenceTypeExternalInputParser.check_lower(value.external_input_parsers)
7965
8109
  _UniffiConverterBool.check_lower(value.use_default_external_input_parsers)
7966
8110
  _UniffiConverterOptionalString.check_lower(value.real_time_sync_server_url)
7967
8111
  _UniffiConverterBool.check_lower(value.private_enabled_default)
8112
+ _UniffiConverterTypeOptimizationConfig.check_lower(value.optimization_config)
7968
8113
 
7969
8114
  @staticmethod
7970
8115
  def write(value, buf):
7971
8116
  _UniffiConverterOptionalString.write(value.api_key, buf)
7972
8117
  _UniffiConverterTypeNetwork.write(value.network, buf)
7973
8118
  _UniffiConverterUInt32.write(value.sync_interval_secs, buf)
7974
- _UniffiConverterOptionalTypeFee.write(value.max_deposit_claim_fee, buf)
8119
+ _UniffiConverterOptionalTypeMaxFee.write(value.max_deposit_claim_fee, buf)
7975
8120
  _UniffiConverterOptionalString.write(value.lnurl_domain, buf)
7976
8121
  _UniffiConverterBool.write(value.prefer_spark_over_lightning, buf)
7977
8122
  _UniffiConverterOptionalSequenceTypeExternalInputParser.write(value.external_input_parsers, buf)
7978
8123
  _UniffiConverterBool.write(value.use_default_external_input_parsers, buf)
7979
8124
  _UniffiConverterOptionalString.write(value.real_time_sync_server_url, buf)
7980
8125
  _UniffiConverterBool.write(value.private_enabled_default, buf)
8126
+ _UniffiConverterTypeOptimizationConfig.write(value.optimization_config, buf)
7981
8127
 
7982
8128
 
7983
8129
  class ConnectRequest:
@@ -9818,6 +9964,104 @@ class _UniffiConverterTypeMintIssuerTokenRequest(_UniffiConverterRustBuffer):
9818
9964
  _UniffiConverterTypeU128.write(value.amount, buf)
9819
9965
 
9820
9966
 
9967
+ class OptimizationConfig:
9968
+ auto_enabled: "bool"
9969
+ """
9970
+ Whether automatic leaf optimization is enabled.
9971
+
9972
+ If set to true, the SDK will automatically optimize the leaf set when it changes.
9973
+ Otherwise, the manual optimization API must be used to optimize the leaf set.
9974
+
9975
+ Default value is true.
9976
+ """
9977
+
9978
+ multiplicity: "int"
9979
+ """
9980
+ The desired multiplicity for the leaf set. Acceptable values are 0-5.
9981
+
9982
+ Setting this to 0 will optimize for maximizing unilateral exit.
9983
+ Higher values will optimize for minimizing transfer swaps, with higher values
9984
+ being more aggressive.
9985
+
9986
+ Default value is 1.
9987
+ """
9988
+
9989
+ def __init__(self, *, auto_enabled: "bool", multiplicity: "int"):
9990
+ self.auto_enabled = auto_enabled
9991
+ self.multiplicity = multiplicity
9992
+
9993
+ def __str__(self):
9994
+ return "OptimizationConfig(auto_enabled={}, multiplicity={})".format(self.auto_enabled, self.multiplicity)
9995
+
9996
+ def __eq__(self, other):
9997
+ if self.auto_enabled != other.auto_enabled:
9998
+ return False
9999
+ if self.multiplicity != other.multiplicity:
10000
+ return False
10001
+ return True
10002
+
10003
+ class _UniffiConverterTypeOptimizationConfig(_UniffiConverterRustBuffer):
10004
+ @staticmethod
10005
+ def read(buf):
10006
+ return OptimizationConfig(
10007
+ auto_enabled=_UniffiConverterBool.read(buf),
10008
+ multiplicity=_UniffiConverterUInt8.read(buf),
10009
+ )
10010
+
10011
+ @staticmethod
10012
+ def check_lower(value):
10013
+ _UniffiConverterBool.check_lower(value.auto_enabled)
10014
+ _UniffiConverterUInt8.check_lower(value.multiplicity)
10015
+
10016
+ @staticmethod
10017
+ def write(value, buf):
10018
+ _UniffiConverterBool.write(value.auto_enabled, buf)
10019
+ _UniffiConverterUInt8.write(value.multiplicity, buf)
10020
+
10021
+
10022
+ class OptimizationProgress:
10023
+ is_running: "bool"
10024
+ current_round: "int"
10025
+ total_rounds: "int"
10026
+ def __init__(self, *, is_running: "bool", current_round: "int", total_rounds: "int"):
10027
+ self.is_running = is_running
10028
+ self.current_round = current_round
10029
+ self.total_rounds = total_rounds
10030
+
10031
+ def __str__(self):
10032
+ return "OptimizationProgress(is_running={}, current_round={}, total_rounds={})".format(self.is_running, self.current_round, self.total_rounds)
10033
+
10034
+ def __eq__(self, other):
10035
+ if self.is_running != other.is_running:
10036
+ return False
10037
+ if self.current_round != other.current_round:
10038
+ return False
10039
+ if self.total_rounds != other.total_rounds:
10040
+ return False
10041
+ return True
10042
+
10043
+ class _UniffiConverterTypeOptimizationProgress(_UniffiConverterRustBuffer):
10044
+ @staticmethod
10045
+ def read(buf):
10046
+ return OptimizationProgress(
10047
+ is_running=_UniffiConverterBool.read(buf),
10048
+ current_round=_UniffiConverterUInt32.read(buf),
10049
+ total_rounds=_UniffiConverterUInt32.read(buf),
10050
+ )
10051
+
10052
+ @staticmethod
10053
+ def check_lower(value):
10054
+ _UniffiConverterBool.check_lower(value.is_running)
10055
+ _UniffiConverterUInt32.check_lower(value.current_round)
10056
+ _UniffiConverterUInt32.check_lower(value.total_rounds)
10057
+
10058
+ @staticmethod
10059
+ def write(value, buf):
10060
+ _UniffiConverterBool.write(value.is_running, buf)
10061
+ _UniffiConverterUInt32.write(value.current_round, buf)
10062
+ _UniffiConverterUInt32.write(value.total_rounds, buf)
10063
+
10064
+
9821
10065
  class OutgoingChange:
9822
10066
  change: "RecordChange"
9823
10067
  parent: "typing.Optional[Record]"
@@ -13321,6 +13565,130 @@ class _UniffiConverterTypeKeySetType(_UniffiConverterRustBuffer):
13321
13565
 
13322
13566
 
13323
13567
 
13568
+ class MaxFee:
13569
+ def __init__(self):
13570
+ raise RuntimeError("MaxFee cannot be instantiated directly")
13571
+
13572
+ # Each enum variant is a nested class of the enum itself.
13573
+ class FIXED:
13574
+ amount: "int"
13575
+
13576
+ def __init__(self,amount: "int"):
13577
+ self.amount = amount
13578
+
13579
+ def __str__(self):
13580
+ return "MaxFee.FIXED(amount={})".format(self.amount)
13581
+
13582
+ def __eq__(self, other):
13583
+ if not other.is_fixed():
13584
+ return False
13585
+ if self.amount != other.amount:
13586
+ return False
13587
+ return True
13588
+
13589
+ class RATE:
13590
+ sat_per_vbyte: "int"
13591
+
13592
+ def __init__(self,sat_per_vbyte: "int"):
13593
+ self.sat_per_vbyte = sat_per_vbyte
13594
+
13595
+ def __str__(self):
13596
+ return "MaxFee.RATE(sat_per_vbyte={})".format(self.sat_per_vbyte)
13597
+
13598
+ def __eq__(self, other):
13599
+ if not other.is_rate():
13600
+ return False
13601
+ if self.sat_per_vbyte != other.sat_per_vbyte:
13602
+ return False
13603
+ return True
13604
+
13605
+ class NETWORK_RECOMMENDED:
13606
+ leeway_sat_per_vbyte: "int"
13607
+
13608
+ def __init__(self,leeway_sat_per_vbyte: "int"):
13609
+ self.leeway_sat_per_vbyte = leeway_sat_per_vbyte
13610
+
13611
+ def __str__(self):
13612
+ return "MaxFee.NETWORK_RECOMMENDED(leeway_sat_per_vbyte={})".format(self.leeway_sat_per_vbyte)
13613
+
13614
+ def __eq__(self, other):
13615
+ if not other.is_network_recommended():
13616
+ return False
13617
+ if self.leeway_sat_per_vbyte != other.leeway_sat_per_vbyte:
13618
+ return False
13619
+ return True
13620
+
13621
+
13622
+
13623
+ # For each variant, we have an `is_NAME` method for easily checking
13624
+ # whether an instance is that variant.
13625
+ def is_fixed(self) -> bool:
13626
+ return isinstance(self, MaxFee.FIXED)
13627
+ def is_rate(self) -> bool:
13628
+ return isinstance(self, MaxFee.RATE)
13629
+ def is_network_recommended(self) -> bool:
13630
+ return isinstance(self, MaxFee.NETWORK_RECOMMENDED)
13631
+
13632
+
13633
+ # Now, a little trick - we make each nested variant class be a subclass of the main
13634
+ # enum class, so that method calls and instance checks etc will work intuitively.
13635
+ # We might be able to do this a little more neatly with a metaclass, but this'll do.
13636
+ MaxFee.FIXED = type("MaxFee.FIXED", (MaxFee.FIXED, MaxFee,), {}) # type: ignore
13637
+ MaxFee.RATE = type("MaxFee.RATE", (MaxFee.RATE, MaxFee,), {}) # type: ignore
13638
+ MaxFee.NETWORK_RECOMMENDED = type("MaxFee.NETWORK_RECOMMENDED", (MaxFee.NETWORK_RECOMMENDED, MaxFee,), {}) # type: ignore
13639
+
13640
+
13641
+
13642
+
13643
+ class _UniffiConverterTypeMaxFee(_UniffiConverterRustBuffer):
13644
+ @staticmethod
13645
+ def read(buf):
13646
+ variant = buf.read_i32()
13647
+ if variant == 1:
13648
+ return MaxFee.FIXED(
13649
+ _UniffiConverterUInt64.read(buf),
13650
+ )
13651
+ if variant == 2:
13652
+ return MaxFee.RATE(
13653
+ _UniffiConverterUInt64.read(buf),
13654
+ )
13655
+ if variant == 3:
13656
+ return MaxFee.NETWORK_RECOMMENDED(
13657
+ _UniffiConverterUInt64.read(buf),
13658
+ )
13659
+ raise InternalError("Raw enum value doesn't match any cases")
13660
+
13661
+ @staticmethod
13662
+ def check_lower(value):
13663
+ if value.is_fixed():
13664
+ _UniffiConverterUInt64.check_lower(value.amount)
13665
+ return
13666
+ if value.is_rate():
13667
+ _UniffiConverterUInt64.check_lower(value.sat_per_vbyte)
13668
+ return
13669
+ if value.is_network_recommended():
13670
+ _UniffiConverterUInt64.check_lower(value.leeway_sat_per_vbyte)
13671
+ return
13672
+ raise ValueError(value)
13673
+
13674
+ @staticmethod
13675
+ def write(value, buf):
13676
+ if value.is_fixed():
13677
+ buf.write_i32(1)
13678
+ _UniffiConverterUInt64.write(value.amount, buf)
13679
+ if value.is_rate():
13680
+ buf.write_i32(2)
13681
+ _UniffiConverterUInt64.write(value.sat_per_vbyte, buf)
13682
+ if value.is_network_recommended():
13683
+ buf.write_i32(3)
13684
+ _UniffiConverterUInt64.write(value.leeway_sat_per_vbyte, buf)
13685
+
13686
+
13687
+
13688
+
13689
+
13690
+
13691
+
13324
13692
  class Network(enum.Enum):
13325
13693
  MAINNET = 0
13326
13694
 
@@ -13405,6 +13773,230 @@ class _UniffiConverterTypeOnchainConfirmationSpeed(_UniffiConverterRustBuffer):
13405
13773
 
13406
13774
 
13407
13775
 
13776
+ class OptimizationEvent:
13777
+ def __init__(self):
13778
+ raise RuntimeError("OptimizationEvent cannot be instantiated directly")
13779
+
13780
+ # Each enum variant is a nested class of the enum itself.
13781
+ class STARTED:
13782
+ """
13783
+ Optimization has started with the given number of rounds.
13784
+ """
13785
+
13786
+ total_rounds: "int"
13787
+
13788
+ def __init__(self,total_rounds: "int"):
13789
+ self.total_rounds = total_rounds
13790
+
13791
+ def __str__(self):
13792
+ return "OptimizationEvent.STARTED(total_rounds={})".format(self.total_rounds)
13793
+
13794
+ def __eq__(self, other):
13795
+ if not other.is_started():
13796
+ return False
13797
+ if self.total_rounds != other.total_rounds:
13798
+ return False
13799
+ return True
13800
+
13801
+ class ROUND_COMPLETED:
13802
+ """
13803
+ A round has completed.
13804
+ """
13805
+
13806
+ current_round: "int"
13807
+ total_rounds: "int"
13808
+
13809
+ def __init__(self,current_round: "int", total_rounds: "int"):
13810
+ self.current_round = current_round
13811
+ self.total_rounds = total_rounds
13812
+
13813
+ def __str__(self):
13814
+ return "OptimizationEvent.ROUND_COMPLETED(current_round={}, total_rounds={})".format(self.current_round, self.total_rounds)
13815
+
13816
+ def __eq__(self, other):
13817
+ if not other.is_round_completed():
13818
+ return False
13819
+ if self.current_round != other.current_round:
13820
+ return False
13821
+ if self.total_rounds != other.total_rounds:
13822
+ return False
13823
+ return True
13824
+
13825
+ class COMPLETED:
13826
+ """
13827
+ Optimization completed successfully.
13828
+ """
13829
+
13830
+
13831
+ def __init__(self,):
13832
+ pass
13833
+
13834
+ def __str__(self):
13835
+ return "OptimizationEvent.COMPLETED()".format()
13836
+
13837
+ def __eq__(self, other):
13838
+ if not other.is_completed():
13839
+ return False
13840
+ return True
13841
+
13842
+ class CANCELLED:
13843
+ """
13844
+ Optimization was cancelled.
13845
+ """
13846
+
13847
+
13848
+ def __init__(self,):
13849
+ pass
13850
+
13851
+ def __str__(self):
13852
+ return "OptimizationEvent.CANCELLED()".format()
13853
+
13854
+ def __eq__(self, other):
13855
+ if not other.is_cancelled():
13856
+ return False
13857
+ return True
13858
+
13859
+ class FAILED:
13860
+ """
13861
+ Optimization failed with an error.
13862
+ """
13863
+
13864
+ error: "str"
13865
+
13866
+ def __init__(self,error: "str"):
13867
+ self.error = error
13868
+
13869
+ def __str__(self):
13870
+ return "OptimizationEvent.FAILED(error={})".format(self.error)
13871
+
13872
+ def __eq__(self, other):
13873
+ if not other.is_failed():
13874
+ return False
13875
+ if self.error != other.error:
13876
+ return False
13877
+ return True
13878
+
13879
+ class SKIPPED:
13880
+ """
13881
+ Optimization was skipped because leaves are already optimal.
13882
+ """
13883
+
13884
+
13885
+ def __init__(self,):
13886
+ pass
13887
+
13888
+ def __str__(self):
13889
+ return "OptimizationEvent.SKIPPED()".format()
13890
+
13891
+ def __eq__(self, other):
13892
+ if not other.is_skipped():
13893
+ return False
13894
+ return True
13895
+
13896
+
13897
+
13898
+ # For each variant, we have an `is_NAME` method for easily checking
13899
+ # whether an instance is that variant.
13900
+ def is_started(self) -> bool:
13901
+ return isinstance(self, OptimizationEvent.STARTED)
13902
+ def is_round_completed(self) -> bool:
13903
+ return isinstance(self, OptimizationEvent.ROUND_COMPLETED)
13904
+ def is_completed(self) -> bool:
13905
+ return isinstance(self, OptimizationEvent.COMPLETED)
13906
+ def is_cancelled(self) -> bool:
13907
+ return isinstance(self, OptimizationEvent.CANCELLED)
13908
+ def is_failed(self) -> bool:
13909
+ return isinstance(self, OptimizationEvent.FAILED)
13910
+ def is_skipped(self) -> bool:
13911
+ return isinstance(self, OptimizationEvent.SKIPPED)
13912
+
13913
+
13914
+ # Now, a little trick - we make each nested variant class be a subclass of the main
13915
+ # enum class, so that method calls and instance checks etc will work intuitively.
13916
+ # We might be able to do this a little more neatly with a metaclass, but this'll do.
13917
+ OptimizationEvent.STARTED = type("OptimizationEvent.STARTED", (OptimizationEvent.STARTED, OptimizationEvent,), {}) # type: ignore
13918
+ OptimizationEvent.ROUND_COMPLETED = type("OptimizationEvent.ROUND_COMPLETED", (OptimizationEvent.ROUND_COMPLETED, OptimizationEvent,), {}) # type: ignore
13919
+ OptimizationEvent.COMPLETED = type("OptimizationEvent.COMPLETED", (OptimizationEvent.COMPLETED, OptimizationEvent,), {}) # type: ignore
13920
+ OptimizationEvent.CANCELLED = type("OptimizationEvent.CANCELLED", (OptimizationEvent.CANCELLED, OptimizationEvent,), {}) # type: ignore
13921
+ OptimizationEvent.FAILED = type("OptimizationEvent.FAILED", (OptimizationEvent.FAILED, OptimizationEvent,), {}) # type: ignore
13922
+ OptimizationEvent.SKIPPED = type("OptimizationEvent.SKIPPED", (OptimizationEvent.SKIPPED, OptimizationEvent,), {}) # type: ignore
13923
+
13924
+
13925
+
13926
+
13927
+ class _UniffiConverterTypeOptimizationEvent(_UniffiConverterRustBuffer):
13928
+ @staticmethod
13929
+ def read(buf):
13930
+ variant = buf.read_i32()
13931
+ if variant == 1:
13932
+ return OptimizationEvent.STARTED(
13933
+ _UniffiConverterUInt32.read(buf),
13934
+ )
13935
+ if variant == 2:
13936
+ return OptimizationEvent.ROUND_COMPLETED(
13937
+ _UniffiConverterUInt32.read(buf),
13938
+ _UniffiConverterUInt32.read(buf),
13939
+ )
13940
+ if variant == 3:
13941
+ return OptimizationEvent.COMPLETED(
13942
+ )
13943
+ if variant == 4:
13944
+ return OptimizationEvent.CANCELLED(
13945
+ )
13946
+ if variant == 5:
13947
+ return OptimizationEvent.FAILED(
13948
+ _UniffiConverterString.read(buf),
13949
+ )
13950
+ if variant == 6:
13951
+ return OptimizationEvent.SKIPPED(
13952
+ )
13953
+ raise InternalError("Raw enum value doesn't match any cases")
13954
+
13955
+ @staticmethod
13956
+ def check_lower(value):
13957
+ if value.is_started():
13958
+ _UniffiConverterUInt32.check_lower(value.total_rounds)
13959
+ return
13960
+ if value.is_round_completed():
13961
+ _UniffiConverterUInt32.check_lower(value.current_round)
13962
+ _UniffiConverterUInt32.check_lower(value.total_rounds)
13963
+ return
13964
+ if value.is_completed():
13965
+ return
13966
+ if value.is_cancelled():
13967
+ return
13968
+ if value.is_failed():
13969
+ _UniffiConverterString.check_lower(value.error)
13970
+ return
13971
+ if value.is_skipped():
13972
+ return
13973
+ raise ValueError(value)
13974
+
13975
+ @staticmethod
13976
+ def write(value, buf):
13977
+ if value.is_started():
13978
+ buf.write_i32(1)
13979
+ _UniffiConverterUInt32.write(value.total_rounds, buf)
13980
+ if value.is_round_completed():
13981
+ buf.write_i32(2)
13982
+ _UniffiConverterUInt32.write(value.current_round, buf)
13983
+ _UniffiConverterUInt32.write(value.total_rounds, buf)
13984
+ if value.is_completed():
13985
+ buf.write_i32(3)
13986
+ if value.is_cancelled():
13987
+ buf.write_i32(4)
13988
+ if value.is_failed():
13989
+ buf.write_i32(5)
13990
+ _UniffiConverterString.write(value.error, buf)
13991
+ if value.is_skipped():
13992
+ buf.write_i32(6)
13993
+
13994
+
13995
+
13996
+
13997
+
13998
+
13999
+
13408
14000
  class PaymentDetails:
13409
14001
  def __init__(self):
13410
14002
  raise RuntimeError("PaymentDetails cannot be instantiated directly")
@@ -14232,13 +14824,19 @@ class ReceivePaymentMethod:
14232
14824
  class BOLT11_INVOICE:
14233
14825
  description: "str"
14234
14826
  amount_sats: "typing.Optional[int]"
14827
+ expiry_secs: "typing.Optional[int]"
14828
+ """
14829
+ The expiry time of the invoice in seconds
14830
+ """
14235
14831
 
14236
- def __init__(self,description: "str", amount_sats: "typing.Optional[int]"):
14832
+
14833
+ def __init__(self,description: "str", amount_sats: "typing.Optional[int]", expiry_secs: "typing.Optional[int]"):
14237
14834
  self.description = description
14238
14835
  self.amount_sats = amount_sats
14836
+ self.expiry_secs = expiry_secs
14239
14837
 
14240
14838
  def __str__(self):
14241
- return "ReceivePaymentMethod.BOLT11_INVOICE(description={}, amount_sats={})".format(self.description, self.amount_sats)
14839
+ return "ReceivePaymentMethod.BOLT11_INVOICE(description={}, amount_sats={}, expiry_secs={})".format(self.description, self.amount_sats, self.expiry_secs)
14242
14840
 
14243
14841
  def __eq__(self, other):
14244
14842
  if not other.is_bolt11_invoice():
@@ -14247,6 +14845,8 @@ class ReceivePaymentMethod:
14247
14845
  return False
14248
14846
  if self.amount_sats != other.amount_sats:
14249
14847
  return False
14848
+ if self.expiry_secs != other.expiry_secs:
14849
+ return False
14250
14850
  return True
14251
14851
 
14252
14852
 
@@ -14296,6 +14896,7 @@ class _UniffiConverterTypeReceivePaymentMethod(_UniffiConverterRustBuffer):
14296
14896
  return ReceivePaymentMethod.BOLT11_INVOICE(
14297
14897
  _UniffiConverterString.read(buf),
14298
14898
  _UniffiConverterOptionalUInt64.read(buf),
14899
+ _UniffiConverterOptionalUInt32.read(buf),
14299
14900
  )
14300
14901
  raise InternalError("Raw enum value doesn't match any cases")
14301
14902
 
@@ -14315,6 +14916,7 @@ class _UniffiConverterTypeReceivePaymentMethod(_UniffiConverterRustBuffer):
14315
14916
  if value.is_bolt11_invoice():
14316
14917
  _UniffiConverterString.check_lower(value.description)
14317
14918
  _UniffiConverterOptionalUInt64.check_lower(value.amount_sats)
14919
+ _UniffiConverterOptionalUInt32.check_lower(value.expiry_secs)
14318
14920
  return
14319
14921
  raise ValueError(value)
14320
14922
 
@@ -14335,6 +14937,7 @@ class _UniffiConverterTypeReceivePaymentMethod(_UniffiConverterRustBuffer):
14335
14937
  buf.write_i32(4)
14336
14938
  _UniffiConverterString.write(value.description, buf)
14337
14939
  _UniffiConverterOptionalUInt64.write(value.amount_sats, buf)
14940
+ _UniffiConverterOptionalUInt32.write(value.expiry_secs, buf)
14338
14941
 
14339
14942
 
14340
14943
 
@@ -14683,30 +15286,6 @@ class SdkEvent:
14683
15286
  return False
14684
15287
  return True
14685
15288
 
14686
- class DATA_SYNCED:
14687
- """
14688
- Emitted when data was pushed and/or pulled to/from real-time sync storage.
14689
- """
14690
-
14691
- did_pull_new_records: "bool"
14692
- """
14693
- Value indicating whether new data was pulled through real-time sync.
14694
- """
14695
-
14696
-
14697
- def __init__(self,did_pull_new_records: "bool"):
14698
- self.did_pull_new_records = did_pull_new_records
14699
-
14700
- def __str__(self):
14701
- return "SdkEvent.DATA_SYNCED(did_pull_new_records={})".format(self.did_pull_new_records)
14702
-
14703
- def __eq__(self, other):
14704
- if not other.is_data_synced():
14705
- return False
14706
- if self.did_pull_new_records != other.did_pull_new_records:
14707
- return False
14708
- return True
14709
-
14710
15289
  class UNCLAIMED_DEPOSITS:
14711
15290
  """
14712
15291
  Emitted when the SDK was unable to claim deposits
@@ -14791,14 +15370,28 @@ class SdkEvent:
14791
15370
  return False
14792
15371
  return True
14793
15372
 
15373
+ class OPTIMIZATION:
15374
+ optimization_event: "OptimizationEvent"
15375
+
15376
+ def __init__(self,optimization_event: "OptimizationEvent"):
15377
+ self.optimization_event = optimization_event
15378
+
15379
+ def __str__(self):
15380
+ return "SdkEvent.OPTIMIZATION(optimization_event={})".format(self.optimization_event)
15381
+
15382
+ def __eq__(self, other):
15383
+ if not other.is_optimization():
15384
+ return False
15385
+ if self.optimization_event != other.optimization_event:
15386
+ return False
15387
+ return True
15388
+
14794
15389
 
14795
15390
 
14796
15391
  # For each variant, we have an `is_NAME` method for easily checking
14797
15392
  # whether an instance is that variant.
14798
15393
  def is_synced(self) -> bool:
14799
15394
  return isinstance(self, SdkEvent.SYNCED)
14800
- def is_data_synced(self) -> bool:
14801
- return isinstance(self, SdkEvent.DATA_SYNCED)
14802
15395
  def is_unclaimed_deposits(self) -> bool:
14803
15396
  return isinstance(self, SdkEvent.UNCLAIMED_DEPOSITS)
14804
15397
  def is_claimed_deposits(self) -> bool:
@@ -14809,18 +15402,20 @@ class SdkEvent:
14809
15402
  return isinstance(self, SdkEvent.PAYMENT_PENDING)
14810
15403
  def is_payment_failed(self) -> bool:
14811
15404
  return isinstance(self, SdkEvent.PAYMENT_FAILED)
15405
+ def is_optimization(self) -> bool:
15406
+ return isinstance(self, SdkEvent.OPTIMIZATION)
14812
15407
 
14813
15408
 
14814
15409
  # Now, a little trick - we make each nested variant class be a subclass of the main
14815
15410
  # enum class, so that method calls and instance checks etc will work intuitively.
14816
15411
  # We might be able to do this a little more neatly with a metaclass, but this'll do.
14817
15412
  SdkEvent.SYNCED = type("SdkEvent.SYNCED", (SdkEvent.SYNCED, SdkEvent,), {}) # type: ignore
14818
- SdkEvent.DATA_SYNCED = type("SdkEvent.DATA_SYNCED", (SdkEvent.DATA_SYNCED, SdkEvent,), {}) # type: ignore
14819
15413
  SdkEvent.UNCLAIMED_DEPOSITS = type("SdkEvent.UNCLAIMED_DEPOSITS", (SdkEvent.UNCLAIMED_DEPOSITS, SdkEvent,), {}) # type: ignore
14820
15414
  SdkEvent.CLAIMED_DEPOSITS = type("SdkEvent.CLAIMED_DEPOSITS", (SdkEvent.CLAIMED_DEPOSITS, SdkEvent,), {}) # type: ignore
14821
15415
  SdkEvent.PAYMENT_SUCCEEDED = type("SdkEvent.PAYMENT_SUCCEEDED", (SdkEvent.PAYMENT_SUCCEEDED, SdkEvent,), {}) # type: ignore
14822
15416
  SdkEvent.PAYMENT_PENDING = type("SdkEvent.PAYMENT_PENDING", (SdkEvent.PAYMENT_PENDING, SdkEvent,), {}) # type: ignore
14823
15417
  SdkEvent.PAYMENT_FAILED = type("SdkEvent.PAYMENT_FAILED", (SdkEvent.PAYMENT_FAILED, SdkEvent,), {}) # type: ignore
15418
+ SdkEvent.OPTIMIZATION = type("SdkEvent.OPTIMIZATION", (SdkEvent.OPTIMIZATION, SdkEvent,), {}) # type: ignore
14824
15419
 
14825
15420
 
14826
15421
 
@@ -14833,38 +15428,35 @@ class _UniffiConverterTypeSdkEvent(_UniffiConverterRustBuffer):
14833
15428
  return SdkEvent.SYNCED(
14834
15429
  )
14835
15430
  if variant == 2:
14836
- return SdkEvent.DATA_SYNCED(
14837
- _UniffiConverterBool.read(buf),
14838
- )
14839
- if variant == 3:
14840
15431
  return SdkEvent.UNCLAIMED_DEPOSITS(
14841
15432
  _UniffiConverterSequenceTypeDepositInfo.read(buf),
14842
15433
  )
14843
- if variant == 4:
15434
+ if variant == 3:
14844
15435
  return SdkEvent.CLAIMED_DEPOSITS(
14845
15436
  _UniffiConverterSequenceTypeDepositInfo.read(buf),
14846
15437
  )
14847
- if variant == 5:
15438
+ if variant == 4:
14848
15439
  return SdkEvent.PAYMENT_SUCCEEDED(
14849
15440
  _UniffiConverterTypePayment.read(buf),
14850
15441
  )
14851
- if variant == 6:
15442
+ if variant == 5:
14852
15443
  return SdkEvent.PAYMENT_PENDING(
14853
15444
  _UniffiConverterTypePayment.read(buf),
14854
15445
  )
14855
- if variant == 7:
15446
+ if variant == 6:
14856
15447
  return SdkEvent.PAYMENT_FAILED(
14857
15448
  _UniffiConverterTypePayment.read(buf),
14858
15449
  )
15450
+ if variant == 7:
15451
+ return SdkEvent.OPTIMIZATION(
15452
+ _UniffiConverterTypeOptimizationEvent.read(buf),
15453
+ )
14859
15454
  raise InternalError("Raw enum value doesn't match any cases")
14860
15455
 
14861
15456
  @staticmethod
14862
15457
  def check_lower(value):
14863
15458
  if value.is_synced():
14864
15459
  return
14865
- if value.is_data_synced():
14866
- _UniffiConverterBool.check_lower(value.did_pull_new_records)
14867
- return
14868
15460
  if value.is_unclaimed_deposits():
14869
15461
  _UniffiConverterSequenceTypeDepositInfo.check_lower(value.unclaimed_deposits)
14870
15462
  return
@@ -14880,30 +15472,33 @@ class _UniffiConverterTypeSdkEvent(_UniffiConverterRustBuffer):
14880
15472
  if value.is_payment_failed():
14881
15473
  _UniffiConverterTypePayment.check_lower(value.payment)
14882
15474
  return
15475
+ if value.is_optimization():
15476
+ _UniffiConverterTypeOptimizationEvent.check_lower(value.optimization_event)
15477
+ return
14883
15478
  raise ValueError(value)
14884
15479
 
14885
15480
  @staticmethod
14886
15481
  def write(value, buf):
14887
15482
  if value.is_synced():
14888
15483
  buf.write_i32(1)
14889
- if value.is_data_synced():
14890
- buf.write_i32(2)
14891
- _UniffiConverterBool.write(value.did_pull_new_records, buf)
14892
15484
  if value.is_unclaimed_deposits():
14893
- buf.write_i32(3)
15485
+ buf.write_i32(2)
14894
15486
  _UniffiConverterSequenceTypeDepositInfo.write(value.unclaimed_deposits, buf)
14895
15487
  if value.is_claimed_deposits():
14896
- buf.write_i32(4)
15488
+ buf.write_i32(3)
14897
15489
  _UniffiConverterSequenceTypeDepositInfo.write(value.claimed_deposits, buf)
14898
15490
  if value.is_payment_succeeded():
14899
- buf.write_i32(5)
15491
+ buf.write_i32(4)
14900
15492
  _UniffiConverterTypePayment.write(value.payment, buf)
14901
15493
  if value.is_payment_pending():
14902
- buf.write_i32(6)
15494
+ buf.write_i32(5)
14903
15495
  _UniffiConverterTypePayment.write(value.payment, buf)
14904
15496
  if value.is_payment_failed():
14905
- buf.write_i32(7)
15497
+ buf.write_i32(6)
14906
15498
  _UniffiConverterTypePayment.write(value.payment, buf)
15499
+ if value.is_optimization():
15500
+ buf.write_i32(7)
15501
+ _UniffiConverterTypeOptimizationEvent.write(value.optimization_event, buf)
14907
15502
 
14908
15503
 
14909
15504
 
@@ -17013,6 +17608,33 @@ class _UniffiConverterOptionalTypeFee(_UniffiConverterRustBuffer):
17013
17608
 
17014
17609
 
17015
17610
 
17611
+ class _UniffiConverterOptionalTypeMaxFee(_UniffiConverterRustBuffer):
17612
+ @classmethod
17613
+ def check_lower(cls, value):
17614
+ if value is not None:
17615
+ _UniffiConverterTypeMaxFee.check_lower(value)
17616
+
17617
+ @classmethod
17618
+ def write(cls, value, buf):
17619
+ if value is None:
17620
+ buf.write_u8(0)
17621
+ return
17622
+
17623
+ buf.write_u8(1)
17624
+ _UniffiConverterTypeMaxFee.write(value, buf)
17625
+
17626
+ @classmethod
17627
+ def read(cls, buf):
17628
+ flag = buf.read_u8()
17629
+ if flag == 0:
17630
+ return None
17631
+ elif flag == 1:
17632
+ return _UniffiConverterTypeMaxFee.read(buf)
17633
+ else:
17634
+ raise InternalError("Unexpected flag byte for optional type")
17635
+
17636
+
17637
+
17016
17638
  class _UniffiConverterOptionalTypePaymentDetails(_UniffiConverterRustBuffer):
17017
17639
  @classmethod
17018
17640
  def check_lower(cls, value):
@@ -18150,8 +18772,10 @@ __all__ = [
18150
18772
  "Fee",
18151
18773
  "InputType",
18152
18774
  "KeySetType",
18775
+ "MaxFee",
18153
18776
  "Network",
18154
18777
  "OnchainConfirmationSpeed",
18778
+ "OptimizationEvent",
18155
18779
  "PaymentDetails",
18156
18780
  "PaymentMethod",
18157
18781
  "PaymentObserverError",
@@ -18234,6 +18858,8 @@ __all__ = [
18234
18858
  "LogEntry",
18235
18859
  "MessageSuccessActionData",
18236
18860
  "MintIssuerTokenRequest",
18861
+ "OptimizationConfig",
18862
+ "OptimizationProgress",
18237
18863
  "OutgoingChange",
18238
18864
  "Payment",
18239
18865
  "PaymentMetadata",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: breez_sdk_spark
3
- Version: 0.5.2
3
+ Version: 0.6.5
4
4
  Summary: Python language bindings for the Breez Spark SDK
5
5
  Home-page: https://github.com/breez/spark-sdk
6
6
  Author: Breez <contact@breez.technology>
@@ -0,0 +1,8 @@
1
+ breez_sdk_spark/__init__.py,sha256=c4JmZymRCIRo-zWJlIMSX54Xy4m8H2hvqKu9V5__gBw,101
2
+ breez_sdk_spark/breez_sdk_spark.py,sha256=0xB6gbsE0ieTa7BdXsamxE7oHgHKBhNWw8GOml-Gucs,690930
3
+ breez_sdk_spark/breez_sdk_spark_bindings.py,sha256=ysAJqyrIhXUjJIBj856CADqim5MR38CgNEIdG1Fj4qg,32901
4
+ breez_sdk_spark/libbreez_sdk_spark_bindings.so,sha256=uE1qb-ghO7k3pkJr1LyO4Zf9BDY_oJjE8t91PVuG5qo,28671968
5
+ breez_sdk_spark-0.6.5.dist-info/METADATA,sha256=opV1u6dAuyz2abGq_k1NTaoq6AUQf6hIaiM6ix0WWCI,545
6
+ breez_sdk_spark-0.6.5.dist-info/WHEEL,sha256=k06-wu-0PcQy70lFhrSux60zPjuQKn9LfC-9Oz4mJMY,113
7
+ breez_sdk_spark-0.6.5.dist-info/top_level.txt,sha256=EWjZB7jCSH5bjyOrFhpRFW4Jfo8ykKdxJ7tqAOytwDU,16
8
+ breez_sdk_spark-0.6.5.dist-info/RECORD,,
@@ -1,8 +0,0 @@
1
- breez_sdk_spark/__init__.py,sha256=c4JmZymRCIRo-zWJlIMSX54Xy4m8H2hvqKu9V5__gBw,101
2
- breez_sdk_spark/breez_sdk_spark.py,sha256=XPovhvvcEUIUbABVuY3C5EYJQzTiKYt68VKOoI9R5nI,669271
3
- breez_sdk_spark/breez_sdk_spark_bindings.py,sha256=ysAJqyrIhXUjJIBj856CADqim5MR38CgNEIdG1Fj4qg,32901
4
- breez_sdk_spark/libbreez_sdk_spark_bindings.so,sha256=E1WRRlKMbbrPREVcPYTMHac3KFADJjdYfSXwc3SkDBw,27316960
5
- breez_sdk_spark-0.5.2.dist-info/METADATA,sha256=krTntPQrUVV6z8Apeuxel3eMrBKD-pGUcx2hldujxYk,545
6
- breez_sdk_spark-0.5.2.dist-info/WHEEL,sha256=k06-wu-0PcQy70lFhrSux60zPjuQKn9LfC-9Oz4mJMY,113
7
- breez_sdk_spark-0.5.2.dist-info/top_level.txt,sha256=EWjZB7jCSH5bjyOrFhpRFW4Jfo8ykKdxJ7tqAOytwDU,16
8
- breez_sdk_spark-0.5.2.dist-info/RECORD,,