charli3_dendrite 1.4.13.dev0__tar.gz → 1.4.13.dev1__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.dev0 → charli3_dendrite-1.4.13.dev1}/PKG-INFO +1 -1
  2. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/pyproject.toml +2 -2
  3. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/ob/cardanoswaps.py +27 -4
  4. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/LICENSE +0 -0
  5. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/README.md +0 -0
  6. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/__init__.py +0 -0
  7. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/backend/__init__.py +0 -0
  8. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/backend/backend_base.py +0 -0
  9. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
  10. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
  11. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
  12. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
  13. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
  14. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
  15. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/backend/utils.py +0 -0
  16. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
  17. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dataclasses/datums.py +0 -0
  18. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dataclasses/models.py +0 -0
  19. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/__init__.py +0 -0
  20. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
  21. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
  22. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/amm_types.py +0 -0
  23. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/cswap.py +0 -0
  24. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/dano.py +0 -0
  25. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/minswap.py +0 -0
  26. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
  27. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/spectrum.py +0 -0
  28. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/splash.py +0 -0
  29. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/sundae.py +0 -0
  30. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/vyfi.py +0 -0
  31. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
  32. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
  33. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/core/base.py +0 -0
  34. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/core/errors.py +0 -0
  35. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
  36. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
  37. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/ob/chadswap.py +0 -0
  38. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/ob/djed.py +0 -0
  39. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
  40. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
  41. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/src/charli3_dendrite/dexs/ob/saturnswap.py +0 -0
  42. {charli3_dendrite-1.4.13.dev0 → charli3_dendrite-1.4.13.dev1}/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.dev0
3
+ Version: 1.4.13.dev1
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-dev0"
3
+ version = "1.4.13-dev1"
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-dev0"
53
+ current_version = "1.4.13-dev1"
54
54
  parse = """(?x)
55
55
  (?P<major>\\d+)\\.
56
56
  (?P<minor>\\d+)\\.
@@ -585,10 +585,33 @@ class CardanoSwapsOrderState(AbstractOrderState):
585
585
  amount=asset_to_value(output_assets),
586
586
  datum=datum,
587
587
  )
588
- txo.amount.coin = max(
589
- txo.amount.coin,
590
- min_lovelace(tx_builder.context, output=txo),
591
- )
588
+ if offer_unit == "lovelace":
589
+ # ADA offer: the offered asset IS the UTxO's min-ADA, and the
590
+ # validator derives ``offer_taken = lovelace_in - lovelace_out``, so a
591
+ # 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
608
+ else:
609
+ # Token offer: the offered token fully leaves on a fill and the
610
+ # min-ADA is a separate lovelace carrier (no phantom tail).
611
+ txo.amount.coin = max(
612
+ txo.amount.coin,
613
+ min_lovelace(tx_builder.context, output=txo),
614
+ )
592
615
  tx_builder.add_output(txo)
593
616
 
594
617
  return txo, datum