charli3_dendrite 1.4.14.dev0__tar.gz → 1.4.15.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.14.dev0 → charli3_dendrite-1.4.15.dev0}/PKG-INFO +1 -1
  2. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/pyproject.toml +2 -2
  3. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/ob/cardanoswaps.py +16 -17
  4. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/LICENSE +0 -0
  5. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/README.md +0 -0
  6. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/__init__.py +0 -0
  7. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/backend/__init__.py +0 -0
  8. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/backend/backend_base.py +0 -0
  9. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
  10. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
  11. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
  12. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
  13. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
  14. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
  15. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/backend/utils.py +0 -0
  16. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
  17. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dataclasses/datums.py +0 -0
  18. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dataclasses/models.py +0 -0
  19. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/__init__.py +0 -0
  20. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
  21. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
  22. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/amm_types.py +0 -0
  23. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/cswap.py +0 -0
  24. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/dano.py +0 -0
  25. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/minswap.py +0 -0
  26. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
  27. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/spectrum.py +0 -0
  28. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/splash.py +0 -0
  29. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/sundae.py +0 -0
  30. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/vyfi.py +0 -0
  31. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
  32. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
  33. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/core/base.py +0 -0
  34. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/core/errors.py +0 -0
  35. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
  36. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
  37. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/ob/chadswap.py +0 -0
  38. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/ob/djed.py +0 -0
  39. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
  40. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
  41. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.dev0}/src/charli3_dendrite/dexs/ob/saturnswap.py +0 -0
  42. {charli3_dendrite-1.4.14.dev0 → charli3_dendrite-1.4.15.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.14.dev0
3
+ Version: 1.4.15.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.14-dev0"
3
+ version = "1.4.15-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.14-dev0"
53
+ current_version = "1.4.15-dev0"
54
54
  parse = """(?x)
55
55
  (?P<major>\\d+)\\.
56
56
  (?P<minor>\\d+)\\.
@@ -14,7 +14,6 @@ are implemented separately.
14
14
  import hashlib
15
15
  import time
16
16
  from dataclasses import dataclass
17
- from typing import ClassVar
18
17
  from typing import Union
19
18
 
20
19
  from pycardano import Address
@@ -264,14 +263,6 @@ class CardanoSwapsOrderState(AbstractOrderState):
264
263
  inactive: bool = False
265
264
  fee: int = 0
266
265
 
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
-
275
266
  _batcher: Assets = Assets(lovelace=0)
276
267
  _datum_parsed: PlutusData | None = None
277
268
  _deposit: Assets = Assets(lovelace=0)
@@ -598,14 +589,22 @@ class CardanoSwapsOrderState(AbstractOrderState):
598
589
  # ADA offer: the offered asset IS the UTxO's min-ADA, and the
599
590
  # validator derives ``offer_taken = lovelace_in - lovelace_out``, so a
600
591
  # taker can never draw the UTxO below its min-ADA floor — the tail of
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
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
609
608
  else:
610
609
  # Token offer: the offered token fully leaves on a fill and the
611
610
  # min-ADA is a separate lovelace carrier (no phantom tail).