charli3_dendrite 1.3.4.dev0__tar.gz → 1.3.4.dev2__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.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/PKG-INFO +4 -2
  2. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/pyproject.toml +2 -2
  3. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/splash.py +34 -23
  4. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/LICENSE +0 -0
  5. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/README.md +0 -0
  6. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/__init__.py +0 -0
  7. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/backend/__init__.py +0 -0
  8. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/backend/backend_base.py +0 -0
  9. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
  10. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
  11. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
  12. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
  13. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
  14. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
  15. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/backend/utils.py +0 -0
  16. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
  17. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dataclasses/datums.py +0 -0
  18. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dataclasses/models.py +0 -0
  19. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/__init__.py +0 -0
  20. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
  21. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
  22. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/amm_types.py +0 -0
  23. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/cswap.py +0 -0
  24. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/minswap.py +0 -0
  25. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
  26. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/spectrum.py +0 -0
  27. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/sundae.py +0 -0
  28. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/vyfi.py +0 -0
  29. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
  30. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
  31. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/core/base.py +0 -0
  32. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/core/errors.py +0 -0
  33. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
  34. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
  35. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/ob/djed.py +0 -0
  36. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
  37. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
  38. {charli3_dendrite-1.3.4.dev0 → charli3_dendrite-1.3.4.dev2}/src/charli3_dendrite/utility.py +0 -0
@@ -1,7 +1,8 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: charli3_dendrite
3
- Version: 1.3.4.dev0
3
+ Version: 1.3.4.dev2
4
4
  Summary:
5
+ License-File: LICENSE
5
6
  Author: Elder Millenial
6
7
  Author-email: eldermillenial@protonmail.com
7
8
  Requires-Python: >=3.10,<4.0
@@ -10,6 +11,7 @@ Classifier: Programming Language :: Python :: 3.10
10
11
  Classifier: Programming Language :: Python :: 3.11
11
12
  Classifier: Programming Language :: Python :: 3.12
12
13
  Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Programming Language :: Python :: 3.14
13
15
  Requires-Dist: blockfrost-python (>=0.6.0,<0.7.0)
14
16
  Requires-Dist: bump-my-version (>=1.1.4,<2.0.0)
15
17
  Requires-Dist: psycopg[binary,pool] (>=3.1.13,<4.0.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "charli3_dendrite"
3
- version = "1.3.4-dev0"
3
+ version = "1.3.4-dev2"
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.3.4-dev0"
52
+ current_version = "1.3.4-dev2"
53
53
  parse = """(?x)
54
54
  (?P<major>\\d+)\\.
55
55
  (?P<minor>\\d+)\\.
@@ -373,7 +373,7 @@ class SplashBaseState(AbstractPairState):
373
373
  raise NotAPoolError("Invalid LP tokens")
374
374
 
375
375
  values["assets"] = Assets.model_validate(values["assets"])
376
- if len(values["assets"]) == 3:
376
+ if len(values["assets"]) == 3: # noqa: PLR2004
377
377
  lovelace = values["assets"].root.pop("lovelace")
378
378
  values["assets"].root["lovelace"] = lovelace
379
379
 
@@ -459,13 +459,19 @@ class SplashSSPState(SplashBaseState, AbstractCommonStableSwapPoolState):
459
459
  values["fee"] = datum.lp_fee_num + datum.protocol_fee_num
460
460
 
461
461
  assets = values["assets"]
462
- assets.root[assets.unit(0)] -= datum.protocol_fee_x
463
- assets.root[assets.unit(1)] -= datum.protocol_fee_y
464
-
465
- cls.asset_mulitipliers = [
466
- datum.multiplier_x,
467
- datum.multiplier_y,
468
- ]
462
+ assets.root[datum.asset_x.assets.unit()] -= datum.protocol_fee_x
463
+ assets.root[datum.asset_y.assets.unit()] -= datum.protocol_fee_y
464
+
465
+ if datum.asset_x.assets.unit() == assets.unit():
466
+ cls.asset_mulitipliers = [
467
+ datum.multiplier_x,
468
+ datum.multiplier_y,
469
+ ]
470
+ else:
471
+ cls.asset_mulitipliers = [
472
+ datum.multiplier_y,
473
+ datum.multiplier_x,
474
+ ]
469
475
 
470
476
  # Verify pool is active
471
477
  # TODO: should be updated to match the validator:
@@ -543,7 +549,6 @@ class SplashSSPState(SplashBaseState, AbstractCommonStableSwapPoolState):
543
549
  )
544
550
 
545
551
  # Create the pool output UTxO
546
- # TODO: add protocol and fees
547
552
  assets.root[in_assets.unit()] += in_assets.quantity()
548
553
  assets.root[out_assets.unit()] -= out_assets.quantity()
549
554
  txo = TransactionOutput(
@@ -601,8 +606,8 @@ class SplashCPPState(SplashBaseState, AbstractConstantProductPoolState):
601
606
  values["fee"] = 100000 - datum.pool_fee + datum.treasury_fee
602
607
 
603
608
  assets = values["assets"]
604
- assets.root[assets.unit(0)] -= datum.treasury_x
605
- assets.root[assets.unit(1)] -= datum.treasury_y
609
+ assets.root[datum.asset_x.assets.unit()] -= datum.treasury_x
610
+ assets.root[datum.asset_y.assets.unit()] -= datum.treasury_y
606
611
 
607
612
  # Verify pool is active
608
613
  # TODO: should be updated to match the validator:
@@ -708,8 +713,8 @@ class SplashCPPState(SplashBaseState, AbstractConstantProductPoolState):
708
713
  self.pool_datum.to_cbor(),
709
714
  )
710
715
  assets = self.assets + self.pool_nft + self.lp_tokens
711
- assets.root[self.assets.unit()] += pool_datum.treasury_x
712
- assets.root[self.assets.unit(1)] += pool_datum.treasury_y
716
+ assets.root[pool_datum.asset_x.assets.unit()] += pool_datum.treasury_x
717
+ assets.root[pool_datum.asset_y.assets.unit()] += pool_datum.treasury_y
713
718
  input_utxo = UTxO(
714
719
  TransactionInput(
715
720
  transaction_id=TransactionId(bytes.fromhex(self.tx_hash)),
@@ -790,14 +795,20 @@ class SplashCPPBidirState(SplashCPPState):
790
795
  values["datum_cbor"],
791
796
  )
792
797
 
793
- values["fee"] = [
794
- (100000 - datum.pool_fee_x + datum.treasury_fee),
795
- (100000 - datum.pool_fee_y + datum.treasury_fee),
796
- ]
798
+ if datum.asset_x.assets.unit() == values["assets"].unit():
799
+ values["fee"] = [
800
+ (100000 - datum.pool_fee_x + datum.treasury_fee),
801
+ (100000 - datum.pool_fee_y + datum.treasury_fee),
802
+ ]
803
+ else:
804
+ values["fee"] = [
805
+ (100000 - datum.pool_fee_y + datum.treasury_fee),
806
+ (100000 - datum.pool_fee_x + datum.treasury_fee),
807
+ ]
797
808
 
798
809
  assets = values["assets"]
799
- assets.root[assets.unit(0)] -= datum.treasury_x
800
- assets.root[assets.unit(1)] -= datum.treasury_y
810
+ assets.root[datum.asset_x.assets.unit()] -= datum.treasury_x
811
+ assets.root[datum.asset_y.assets.unit()] -= datum.treasury_y
801
812
 
802
813
  # Verify pool is active
803
814
  values["inactive"] = assets.quantity() < LIQUIDITY_THRESHOLD
@@ -841,8 +852,8 @@ class SplashCPPRoyaltyState(SplashCPPState):
841
852
  values["fee"] += datum.royalty_fee
842
853
 
843
854
  assets = values["assets"]
844
- assets.root[assets.unit(0)] -= datum.royalty_x
845
- assets.root[assets.unit(1)] -= datum.royalty_y
855
+ assets.root[datum.asset_x.assets.unit()] -= datum.royalty_x
856
+ assets.root[datum.asset_y.assets.unit()] -= datum.royalty_y
846
857
 
847
858
  def swap_utxo(
848
859
  self,
@@ -887,10 +898,10 @@ class SplashCPPRoyaltyState(SplashCPPState):
887
898
  self.pool_datum.to_cbor(),
888
899
  )
889
900
  assets = self.assets + self.pool_nft + self.lp_tokens
890
- assets.root[self.assets.unit()] += (
901
+ assets.root[pool_datum.asset_x.assets.unit()] += (
891
902
  pool_datum.treasury_x + self.pool_datum.royalty_x
892
903
  )
893
- assets.root[self.assets.unit(1)] += (
904
+ assets.root[pool_datum.asset_y.assets.unit()] += (
894
905
  pool_datum.treasury_y + self.pool_datum.royalty_y
895
906
  )
896
907
  input_utxo = UTxO(