charli3_dendrite 1.5.3.dev0__tar.gz → 1.5.4.dev0__tar.gz

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.
Files changed (92) hide show
  1. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/PKG-INFO +1 -1
  2. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/pyproject.toml +2 -2
  3. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/splash.py +25 -0
  4. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/LICENSE +0 -0
  5. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/README.md +0 -0
  6. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/__init__.py +0 -0
  7. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/backend/__init__.py +0 -0
  8. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/backend/backend_base.py +0 -0
  9. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
  10. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
  11. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
  12. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
  13. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
  14. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
  15. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/backend/utils.py +0 -0
  16. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
  17. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dataclasses/datums.py +0 -0
  18. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dataclasses/models.py +0 -0
  19. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/__init__.py +0 -0
  20. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
  21. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
  22. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/amm_types.py +0 -0
  23. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/cswap.py +0 -0
  24. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/dano.py +0 -0
  25. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/minswap.py +0 -0
  26. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
  27. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/spectrum.py +0 -0
  28. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/sundae.py +0 -0
  29. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/vyfi.py +0 -0
  30. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
  31. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
  32. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/core/base.py +0 -0
  33. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/core/errors.py +0 -0
  34. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
  35. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
  36. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/ob/cardanoswaps.py +0 -0
  37. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/ob/chadswap.py +0 -0
  38. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/ob/djed.py +0 -0
  39. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
  40. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
  41. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/dexs/ob/saturnswap.py +0 -0
  42. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/__init__.py +0 -0
  43. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/base.py +0 -0
  44. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/__init__.py +0 -0
  45. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/constants.py +0 -0
  46. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/datums.py +0 -0
  47. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/loader.py +0 -0
  48. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/market.py +0 -0
  49. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/math.py +0 -0
  50. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/__init__.py +0 -0
  51. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/aggregator.py +0 -0
  52. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/aggregator_datums.py +0 -0
  53. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/deployments.py +0 -0
  54. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/forward.py +0 -0
  55. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/leaves.py +0 -0
  56. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/locator.py +0 -0
  57. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/lp_pricing.py +0 -0
  58. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/recipes.json +0 -0
  59. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/redeemer.py +0 -0
  60. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/reproduce.py +0 -0
  61. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/oracles/structured_datums.py +0 -0
  62. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/state.py +0 -0
  63. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/__init__.py +0 -0
  64. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/_common.py +0 -0
  65. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/build.py +0 -0
  66. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/builder.py +0 -0
  67. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/context.py +0 -0
  68. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/create_loan.py +0 -0
  69. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/datum_synth.py +0 -0
  70. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/increase_loan.py +0 -0
  71. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/loan_ids.py +0 -0
  72. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/modify_collateral.py +0 -0
  73. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/oracle_redeemer.py +0 -0
  74. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/oracle_synth.py +0 -0
  75. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/redeemers.py +0 -0
  76. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/repay.py +0 -0
  77. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/topup_withdraw.py +0 -0
  78. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/danogo/transactions/verify.py +0 -0
  79. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/math.py +0 -0
  80. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/oracles/__init__.py +0 -0
  81. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/oracles/charli3.py +0 -0
  82. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/oracles/dex_pooled.py +0 -0
  83. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/oracles/fluid.py +0 -0
  84. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/oracles/models.py +0 -0
  85. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/oracles/orcfax.py +0 -0
  86. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/oracles/qtoken.py +0 -0
  87. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/registry.py +0 -0
  88. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/transactions/__init__.py +0 -0
  89. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/transactions/base.py +0 -0
  90. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/transactions/infra.py +0 -0
  91. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/lending/transactions/snapshot.py +0 -0
  92. {charli3_dendrite-1.5.3.dev0 → charli3_dendrite-1.5.4.dev0}/src/charli3_dendrite/utility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: charli3_dendrite
3
- Version: 1.5.3.dev0
3
+ Version: 1.5.4.dev0
4
4
  Summary:
5
5
  License-File: LICENSE
6
6
  Author: Elder Millenial
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "charli3_dendrite"
3
- version = "1.5.3-dev0"
3
+ version = "1.5.4-dev0"
4
4
  description = ""
5
5
  authors = ["Elder Millenial <eldermillenial@protonmail.com>"]
6
6
  readme = "README.md"
@@ -50,7 +50,7 @@ module = ["pycardano", "pycardano.*", "dotenv", "nox", "uplc", "uplc.*"]
50
50
  ignore_missing_imports = true
51
51
 
52
52
  [tool.bumpversion]
53
- current_version = "1.5.3-dev0"
53
+ current_version = "1.5.4-dev0"
54
54
  parse = """(?x)
55
55
  (?P<major>\\d+)\\.
56
56
  (?P<minor>\\d+)\\.
@@ -367,6 +367,28 @@ class SplashBaseState(AbstractPairState):
367
367
  """Return the order selector addresses."""
368
368
  return ["addr1w9ryamhgnuz6lau86sqytte2gz5rlktv2yce05e0h3207qssa8euj"]
369
369
 
370
+ def _reinstate_pool_lovelace(
371
+ self,
372
+ assets: Assets,
373
+ pool_utxo_assets: Assets,
374
+ ) -> None:
375
+ """Preserve a token/token pool's min-UTxO ADA in the rebuilt pool value.
376
+
377
+ When neither reserve is ADA, the pool still holds lovelace as min-UTxO. The
378
+ reserve-bearing ``self.assets`` carries only the two token reserves (a lovelace
379
+ key would sort to index 0 and corrupt the positional ``reserve_a``/``reserve_b``
380
+ indexing), so a value rebuilt from it via ``asset_to_value`` has coin 0 and the
381
+ builder defaults the recreated pool output to the protocol minimum, dropping the
382
+ pool's real ADA. The pool validator requires that ADA preserved exactly across a
383
+ swap (it lies outside the two swapped reserves and is unchanged), so copy the
384
+ coin from the resolved on-chain pool UTxO into the rebuilt value. For an
385
+ ADA-paired pool lovelace is a genuine reserve -- carried and updated by the swap
386
+ -- so this is a no-op.
387
+ """
388
+ if self.unit_a == "lovelace" or self.unit_b == "lovelace":
389
+ return
390
+ assets.root["lovelace"] = pool_utxo_assets["lovelace"]
391
+
370
392
  @property
371
393
  def stake_address(self) -> Address | None:
372
394
  """Return the stake address for orders."""
@@ -633,6 +655,7 @@ class SplashSSPState(SplashBaseState, AbstractCommonStableSwapPoolState):
633
655
 
634
656
  # Create the pool input UTxO
635
657
  assets = self.assets + self.pool_nft + self.lp_tokens
658
+ self._reinstate_pool_lovelace(assets, order_info[0].assets)
636
659
  input_utxo = UTxO(
637
660
  TransactionInput(
638
661
  transaction_id=TransactionId(bytes.fromhex(self.tx_hash)),
@@ -810,6 +833,7 @@ class SplashCPPState(SplashBaseState, AbstractConstantProductPoolState):
810
833
  self.pool_datum.to_cbor(),
811
834
  )
812
835
  assets = self.assets + self.pool_nft + self.lp_tokens
836
+ self._reinstate_pool_lovelace(assets, order_info[0].assets)
813
837
  assets.root[pool_datum.asset_x.assets.unit()] += pool_datum.treasury_x
814
838
  assets.root[pool_datum.asset_y.assets.unit()] += pool_datum.treasury_y
815
839
  input_utxo = UTxO(
@@ -995,6 +1019,7 @@ class SplashCPPRoyaltyState(SplashCPPState):
995
1019
  self.pool_datum.to_cbor(),
996
1020
  )
997
1021
  assets = self.assets + self.pool_nft + self.lp_tokens
1022
+ self._reinstate_pool_lovelace(assets, order_info[0].assets)
998
1023
  assets.root[pool_datum.asset_x.assets.unit()] += (
999
1024
  pool_datum.treasury_x + self.pool_datum.royalty_x
1000
1025
  )