charli3_dendrite 1.4.13.dev2__tar.gz → 1.4.14.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 (42) hide show
  1. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/PKG-INFO +1 -1
  2. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/pyproject.toml +2 -2
  3. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/ob/cardanoswaps.py +17 -16
  4. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/LICENSE +0 -0
  5. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/README.md +0 -0
  6. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/__init__.py +0 -0
  7. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/backend/__init__.py +0 -0
  8. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/backend/backend_base.py +0 -0
  9. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
  10. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
  11. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
  12. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
  13. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
  14. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
  15. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/backend/utils.py +0 -0
  16. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
  17. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dataclasses/datums.py +0 -0
  18. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dataclasses/models.py +0 -0
  19. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/__init__.py +0 -0
  20. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
  21. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
  22. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/amm_types.py +0 -0
  23. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/cswap.py +0 -0
  24. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/dano.py +0 -0
  25. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/minswap.py +0 -0
  26. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
  27. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/spectrum.py +0 -0
  28. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/splash.py +0 -0
  29. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/sundae.py +0 -0
  30. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/vyfi.py +0 -0
  31. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
  32. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
  33. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/core/base.py +0 -0
  34. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/core/errors.py +0 -0
  35. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
  36. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
  37. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/ob/chadswap.py +0 -0
  38. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/ob/djed.py +0 -0
  39. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
  40. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
  41. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.dev0}/src/charli3_dendrite/dexs/ob/saturnswap.py +0 -0
  42. {charli3_dendrite-1.4.13.dev2 → charli3_dendrite-1.4.14.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.4.13.dev2
3
+ Version: 1.4.14.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.4.13-dev2"
3
+ version = "1.4.14-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.4.13-dev2"
53
+ current_version = "1.4.14-dev0"
54
54
  parse = """(?x)
55
55
  (?P<major>\\d+)\\.
56
56
  (?P<minor>\\d+)\\.
@@ -14,6 +14,7 @@ are implemented separately.
14
14
  import hashlib
15
15
  import time
16
16
  from dataclasses import dataclass
17
+ from typing import ClassVar
17
18
  from typing import Union
18
19
 
19
20
  from pycardano import Address
@@ -263,6 +264,14 @@ class CardanoSwapsOrderState(AbstractOrderState):
263
264
  inactive: bool = False
264
265
  fee: int = 0
265
266
 
267
+ # Fixed ADA deposit carved into an ADA-offer swap UTxO on CREATE, on top of
268
+ # the offer, so the FULL offer is drawable (the deposit — not the offer —
269
+ # satisfies the continuation's min-ADA floor) and the carved amount is a known
270
+ # constant downstream readers can net out of the displayed offer. 3 ADA sits
271
+ # comfortably above the ~1.5-2 ADA min-UTxO of a CS swap output (3 beacons +
272
+ # the accumulated ask). The maker reclaims it (plus the accumulated ask) on CLOSE.
273
+ ADA_OFFER_DEPOSIT: ClassVar[int] = 3_000_000
274
+
266
275
  _batcher: Assets = Assets(lovelace=0)
267
276
  _datum_parsed: PlutusData | None = None
268
277
  _deposit: Assets = Assets(lovelace=0)
@@ -589,22 +598,14 @@ class CardanoSwapsOrderState(AbstractOrderState):
589
598
  # ADA offer: the offered asset IS the UTxO's min-ADA, and the
590
599
  # validator derives ``offer_taken = lovelace_in - lovelace_out``, so a
591
600
  # taker can never draw the UTxO below its min-ADA floor — the tail of
592
- # the stated offer would be un-fillable. Fund a SEPARATE carrier on
593
- # top of the offer, sized to the FINAL full-fill state (3 beacons +
594
- # the fully-accumulated ask asset + inline datum), so the entire
595
- # offer is drawable while the UTxO stays at/above that floor. The
596
- # maker reclaims the carrier (plus the accumulated ask) on CLOSE.
597
- full_ask = -(-offer.quantity() * num // den) # ceil(offer x price)
598
- final_assets = cls._beacon_mint_assets(datum, 1) + Assets(
599
- root={ask_unit: full_ask},
600
- )
601
- final_txo = TransactionOutput(
602
- address=swap_address,
603
- amount=asset_to_value(final_assets),
604
- datum=datum,
605
- )
606
- carrier = min_lovelace(tx_builder.context, output=final_txo)
607
- txo.amount.coin = offer.quantity() + carrier
601
+ # the stated offer would be un-fillable. Fund a SEPARATE, FIXED deposit
602
+ # (:attr:`ADA_OFFER_DEPOSIT`) on top of the offer, sized comfortably
603
+ # above the final full-fill floor (3 beacons + the accumulated ask +
604
+ # datum), so the entire offer is drawable while the UTxO stays above
605
+ # that floor — and the carved-out amount is a known constant a reader
606
+ # can net out of the displayed offer. The maker reclaims the deposit
607
+ # (plus the accumulated ask) on CLOSE.
608
+ txo.amount.coin = offer.quantity() + cls.ADA_OFFER_DEPOSIT
608
609
  else:
609
610
  # Token offer: the offered token fully leaves on a fill and the
610
611
  # min-ADA is a separate lovelace carrier (no phantom tail).