charli3_dendrite 1.2.0.dev1__tar.gz → 1.2.1.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 (38) hide show
  1. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/PKG-INFO +1 -1
  2. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/pyproject.toml +2 -2
  3. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/cswap.py +9 -12
  4. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/LICENSE +0 -0
  5. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/README.md +0 -0
  6. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/__init__.py +0 -0
  7. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/backend/__init__.py +0 -0
  8. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/backend/backend_base.py +0 -0
  9. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
  10. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
  11. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
  12. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
  13. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
  14. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
  15. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/backend/utils.py +0 -0
  16. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
  17. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dataclasses/datums.py +0 -0
  18. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dataclasses/models.py +0 -0
  19. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/__init__.py +0 -0
  20. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
  21. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
  22. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/amm_types.py +0 -0
  23. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/minswap.py +0 -0
  24. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
  25. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/spectrum.py +0 -0
  26. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/splash.py +0 -0
  27. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/sundae.py +0 -0
  28. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/vyfi.py +0 -0
  29. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
  30. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
  31. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/core/base.py +0 -0
  32. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/core/errors.py +0 -0
  33. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
  34. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
  35. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/ob/djed.py +0 -0
  36. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
  37. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
  38. {charli3_dendrite-1.2.0.dev1 → charli3_dendrite-1.2.1.dev0}/src/charli3_dendrite/utility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: charli3_dendrite
3
- Version: 1.2.0.dev1
3
+ Version: 1.2.1.dev0
4
4
  Summary:
5
5
  Author: Elder Millenial
6
6
  Author-email: eldermillenial@protonmail.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "charli3_dendrite"
3
- version = "1.2.0-dev1"
3
+ version = "1.2.1-dev0"
4
4
  description = ""
5
5
  authors = ["Elder Millenial <eldermillenial@protonmail.com>"]
6
6
  readme = "README.md"
@@ -49,7 +49,7 @@ module = ["pycardano", "pycardano.*", "dotenv", "nox"]
49
49
  ignore_missing_imports = true
50
50
 
51
51
  [tool.bumpversion]
52
- current_version = "1.2.0-dev1"
52
+ current_version = "1.2.1-dev0"
53
53
  parse = """(?x)
54
54
  (?P<major>\\d+)\\.
55
55
  (?P<minor>\\d+)\\.
@@ -72,7 +72,7 @@ class CSwapOrderDatum(OrderDatum):
72
72
  # Validate ADA-only restriction
73
73
  merged_assets = in_assets + out_assets
74
74
  if "lovelace" not in merged_assets:
75
- raise ValueError("CSwap only supports ADA pairs - one token must be ADA")
75
+ raise ValueError("CSWAP only supports ADA pairs - one token must be ADA")
76
76
 
77
77
  full_address = PlutusFullAddress.from_address(address_source)
78
78
 
@@ -136,7 +136,6 @@ class CSwapPoolDatum(PoolDatum):
136
136
 
137
137
  CONSTR_ID = 0
138
138
 
139
- # Fields MUST be in exact order per cswap.md specification
140
139
  total_lp_tokens: int # Field 0: total lp tokens issued
141
140
  pool_fee: int # Field 1: pool fee per 10K (85 = 0.85%)
142
141
  quote_policy: bytes # Field 2: quote policy id - ADA (empty)
@@ -153,8 +152,6 @@ class CSwapPoolDatum(PoolDatum):
153
152
  if not base_unit:
154
153
  base_unit = "lovelace"
155
154
 
156
- # For CSwap, we can't determine quantities from datum alone
157
- # This will be filled by post_init
158
155
  return Assets(**{quote_unit: 0, base_unit: 0})
159
156
 
160
157
 
@@ -171,7 +168,7 @@ class CSwapCPPState(AbstractConstantProductPoolState):
171
168
  @classmethod
172
169
  def dex(cls) -> str:
173
170
  """Get the DEX name."""
174
- return "CSwap"
171
+ return "CSWAP"
175
172
 
176
173
  @classmethod
177
174
  def order_selector(cls) -> list[str]:
@@ -233,12 +230,12 @@ class CSwapCPPState(AbstractConstantProductPoolState):
233
230
  if "pool_nft" in values:
234
231
  pool_nft = Assets(**dict(values["pool_nft"].items()))
235
232
  if pool_nft.quantity() != 1:
236
- raise NotAPoolError("CSwap pool NFT must have quantity of exactly 1")
233
+ raise NotAPoolError("CSWAP pool NFT must have quantity of exactly 1")
237
234
 
238
235
  # Check if token name is "c" (hex: 63)
239
236
  unit = pool_nft.unit()
240
237
  if len(unit) < 56 or unit[56:] != "63": # "c" in hex
241
- raise NotAPoolError("CSwap pool NFT must have name 'c'")
238
+ raise NotAPoolError("CSWAP pool NFT must have name 'c'")
242
239
 
243
240
  return pool_nft
244
241
 
@@ -258,7 +255,7 @@ class CSwapCPPState(AbstractConstantProductPoolState):
258
255
 
259
256
  if pool_nft is None:
260
257
  raise NotAPoolError(
261
- "CSwap pool must contain exactly one pool NFT with name 'c'"
258
+ "CSWAP pool must contain exactly one pool NFT with name 'c'"
262
259
  )
263
260
 
264
261
  values["pool_nft"] = pool_nft
@@ -275,7 +272,7 @@ class CSwapCPPState(AbstractConstantProductPoolState):
275
272
  """
276
273
  # Validate ADA-only restriction
277
274
  if "lovelace" not in [self.unit_a, self.unit_b]:
278
- raise ValueError("CSwap only supports ADA pairs - one token must be ADA")
275
+ raise ValueError("CSWAP only supports ADA pairs - one token must be ADA")
279
276
 
280
277
  if asset.unit() not in [self.unit_a, self.unit_b]:
281
278
  raise ValueError(f"Asset {asset.unit()} not valid for this pool")
@@ -286,7 +283,7 @@ class CSwapCPPState(AbstractConstantProductPoolState):
286
283
  # Ensure one of the pair assets is ADA
287
284
  merged_test = Assets(**{asset.unit(): 1, "lovelace": 1})
288
285
  if not any(unit in [self.unit_a, self.unit_b] for unit in merged_test):
289
- raise ValueError("CSwap only supports ADA pairs")
286
+ raise ValueError("CSWAP only supports ADA pairs")
290
287
 
291
288
  return super().get_amount_out(asset, precise)
292
289
 
@@ -301,7 +298,7 @@ class CSwapCPPState(AbstractConstantProductPoolState):
301
298
  """
302
299
  # Validate ADA-only restriction
303
300
  if "lovelace" not in [self.unit_a, self.unit_b]:
304
- raise ValueError("CSwap only supports ADA pairs - one token must be ADA")
301
+ raise ValueError("CSWAP only supports ADA pairs - one token must be ADA")
305
302
 
306
303
  if asset.unit() not in [self.unit_a, self.unit_b]:
307
304
  raise ValueError(f"Asset {asset.unit()} not valid for this pool")
@@ -345,7 +342,7 @@ class CSwapCPPState(AbstractConstantProductPoolState):
345
342
  # Validate this is an ADA pair
346
343
  asset_units = list(assets.root.keys())
347
344
  if "lovelace" not in asset_units:
348
- raise NotAPoolError("CSwap pools must contain ADA (lovelace)")
345
+ raise NotAPoolError("CSWAP pools must contain ADA (lovelace)")
349
346
 
350
347
  # Subtract 2 ADA pool maintenance from lovelace reserves
351
348
  # CSwap pools require 2 ADA minimum to maintain the pool