charli3_dendrite 1.1.1.dev6__tar.gz → 1.1.1.dev8__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 (35) hide show
  1. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/PKG-INFO +1 -1
  2. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/pyproject.toml +1 -1
  3. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/minswap.py +43 -20
  4. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/core/base.py +0 -1
  5. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/LICENSE +0 -0
  6. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/README.md +0 -0
  7. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/__init__.py +0 -0
  8. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/__init__.py +0 -0
  9. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/backend_base.py +0 -0
  10. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
  11. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
  12. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
  13. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
  14. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
  15. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
  16. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/utils.py +0 -0
  17. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
  18. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dataclasses/datums.py +0 -0
  19. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dataclasses/models.py +0 -0
  20. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/__init__.py +0 -0
  21. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
  22. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
  23. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/amm_types.py +0 -0
  24. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
  25. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/spectrum.py +0 -0
  26. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/sundae.py +0 -0
  27. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/vyfi.py +0 -0
  28. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
  29. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
  30. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/core/errors.py +0 -0
  31. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
  32. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
  33. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
  34. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
  35. {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/utility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: charli3_dendrite
3
- Version: 1.1.1.dev6
3
+ Version: 1.1.1.dev8
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.1.1-dev6"
3
+ version = "1.1.1-dev8"
4
4
  description = ""
5
5
  authors = ["Elder Millenial <eldermillenial@protonmail.com>"]
6
6
  readme = "README.md"
@@ -11,6 +11,11 @@ from pycardano import Datum
11
11
  from pycardano import PlutusData
12
12
  from pycardano import PlutusV1Script
13
13
  from pycardano import PlutusV2Script
14
+ from pycardano import TransactionId
15
+ from pycardano import TransactionInput
16
+ from pycardano import TransactionOutput
17
+ from pycardano import UTxO
18
+ from pycardano import Value
14
19
  from pycardano import VerificationKeyHash
15
20
 
16
21
  from charli3_dendrite.dataclasses.datums import AssetClass
@@ -887,13 +892,14 @@ class MinswapV2CPPState(AbstractConstantProductPoolState):
887
892
  """Minswap Constant Product Pool State."""
888
893
 
889
894
  fee: int | list[int] = [30, 30]
890
- _batcher = Assets(lovelace=1000000)
895
+ _batcher = Assets(lovelace=2000000)
891
896
  _deposit = Assets(lovelace=2000000)
892
897
  _stake_address: ClassVar[Address] = [
893
898
  Address.from_primitive(
894
- "addr1z8p79rpkcdz8x9d6tft0x0dx5mwuzac2sa4gm8cvkw5hcn864negmna25tfcqjjxj65tnk0d0fmkza3gjdrxweaff35q0ym7k8",
899
+ "addr1w8p79rpkcdz8x9d6tft0x0dx5mwuzac2sa4gm8cvkw5hcnqst2ctf",
895
900
  ),
896
901
  ]
902
+ _reference_utxo: ClassVar[UTxO | None] = None
897
903
 
898
904
  @classmethod
899
905
  def dex(cls) -> str:
@@ -932,24 +938,6 @@ class MinswapV2CPPState(AbstractConstantProductPoolState):
932
938
  def pool_datum_class(self) -> type[MinswapV2PoolDatum]:
933
939
  return MinswapV2PoolDatum
934
940
 
935
- def batcher_fee(
936
- self,
937
- in_assets: Assets | None = None,
938
- out_assets: Assets | None = None,
939
- extra_assets: Assets | None = None,
940
- ) -> Assets:
941
- """Batcher fee.
942
-
943
- For Minswap, the batcher fee decreases linearly from 2.0 ADA to 1.5 ADA as the
944
- MIN in the input assets from 0 - 25,000 MIN.
945
- """
946
- MIN = "29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e"
947
- if extra_assets is not None and MIN in extra_assets:
948
- fee_reduction = min(extra_assets[MIN] // (2 * 10**5), 250000)
949
- else:
950
- fee_reduction = 0
951
- return self._batcher - Assets(lovelace=fee_reduction)
952
-
953
941
  @property
954
942
  def pool_id(self) -> str:
955
943
  """A unique identifier for the pool."""
@@ -975,6 +963,41 @@ class MinswapV2CPPState(AbstractConstantProductPoolState):
975
963
 
976
964
  values["fee"] = [datum.base_fee_a_numerator, datum.base_fee_b_numerator]
977
965
 
966
+ @classmethod
967
+ def reference_utxo(cls) -> UTxO | None:
968
+ """Retrieve the reference UTxO for the Spectrum DEX.
969
+
970
+ This method checks if the reference UTxO is already set. If not, it retrieves
971
+ the script bytes from the stake address and sets the reference UTxO.
972
+
973
+ Returns:
974
+ UTxO | None: The reference UTxO if available, otherwise None.
975
+ """
976
+ if cls._reference_utxo is None:
977
+ cls._reference_utxo = UTxO(
978
+ input=TransactionInput(
979
+ transaction_id=TransactionId(
980
+ bytes.fromhex(
981
+ "cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776",
982
+ ),
983
+ ),
984
+ index=0,
985
+ ),
986
+ output=TransactionOutput(
987
+ address=Address.decode(
988
+ "addr1qyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzj2c79gy9l76sdg0xwhd7r0c0kna0tycz4y5s6mlenh8pq6a0h00",
989
+ ),
990
+ amount=Value(coin=12486070),
991
+ script=PlutusV2Script(
992
+ bytes.fromhex(
993
+ "590a600100003332323232323232323222222533300832323232533300c3370e900118058008991919299980799b87480000084cc004dd5980a180a980a980a980a980a980a98068030060a99980799b87480080084c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc080cdc3a4000002264646600200200e44a66604c00229404c8c94ccc094cdc78010028a51133004004001302a002375c60500026eb8c094c07800854ccc080cdc3a40040022646464646600200202844a66605000229404c8c94ccc09ccdd798161812981618129816181698128010028a51133004004001302c002302a0013374a9001198131ba90014bd701bae3026001301e002153330203370e900200089980900419ba548000cc090cdd2a400466048604a603c00497ae04bd70099981019b87375a6044604a66446464a66604866e1d200200114bd6f7b63009bab302930220023022001323300100100322533302700114c103d87a800013232323253330283371e00e004266e9520003302c374c00297ae0133006006003375660520066eb8c09c008c0ac008c0a4004c8cc004004030894ccc09400452f5bded8c0264646464a66604c66e3d22100002100313302a337606ea4008dd3000998030030019bab3027003375c604a0046052004604e0026eb8c094c07800920004a0944c078004c08c004c06c060c8c8c8c8c8c8c94ccc08ccdc3a40000022646464646464646464646464646464646464a6660706076004264646464646464649319299981e99b87480000044c8c94ccc108c1140084c92632375a60840046eb4c10000458c8cdd81822000982218228009bac3043001303b0091533303d3370e90010008a999820181d8048a4c2c2c607601064a66607866e1d2000001132323232323232325333047304a002132498c09401458cdc3a400460886ea8c120004c120008dd6982300098230011822000982200119b8748008c0f8dd51821000981d0060a99981e19b87480080044c8c8c8c8c8c94ccc114c1200084c926302300316375a608c002608c0046088002608800466e1d2002303e3754608400260740182a66607866e1d2004001132323232323232325333047304a002132498c09401458dd6982400098240011bad30460013046002304400130440023370e9001181f1baa3042001303a00c1533303c3370e9003000899191919191919192999823982500109924c604a00a2c66e1d200230443754609000260900046eb4c118004c118008c110004c110008cdc3a4004607c6ea8c108004c0e803054ccc0f0cdc3a40100022646464646464a66608a60900042649319299982199b87480000044c8c8c8c94ccc128c13400852616375a609600260960046eb4c124004c10401854ccc10ccdc3a4004002264646464a666094609a0042930b1bad304b001304b002375a6092002608200c2c608200a2c66e1d200230423754608c002608c0046eb4c110004c110008c108004c0e803054ccc0f0cdc3a401400226464646464646464a66608e60940042649318130038b19b8748008c110dd5182400098240011bad30460013046002375a60880026088004608400260740182a66607866e1d200c001132323232323232325333047304a002132498c09801458cdc3a400460886ea8c120004c120008dd6982300098230011822000982200119b8748008c0f8dd51821000981d0060a99981e19b87480380044c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc134c14000852616375a609c002609c0046eb4c130004c130008dd6982500098250011bad30480013048002375a608c002608c0046eb4c110004c110008cdc3a4004607c6ea8c108004c0e803054ccc0f0cdc3a4020002264646464646464646464a66609260980042649318140048b19b8748008c118dd5182500098250011bad30480013048002375a608c002608c0046eb4c110004c110008c108004c0e803054ccc0f0cdc3a40240022646464646464a66608a60900042646493181200219198008008031129998238008a4c2646600600660960046464a66608c66e1d2000001132323232533304d3050002132498c0b400c58cdc3a400460946ea8c138004c138008c130004c11000858c110004c12400458dd698230009823001182200098220011bac3042001303a00c1533303c3370e900a0008a99981f981d0060a4c2c2c6074016603a018603001a603001c602c01e602c02064a66606c66e1d200000113232533303b303e002149858dd7181e000981a0090a99981b19b87480080044c8c94ccc0ecc0f800852616375c607800260680242a66606c66e1d200400113232533303b303e002149858dd7181e000981a0090a99981b19b87480180044c8c94ccc0ecc0f800852616375c607800260680242c60680222c607200260720046eb4c0dc004c0dc008c0d4004c0d4008c0cc004c0cc008c0c4004c0c4008c0bc004c0bc008c0b4004c0b4008c0ac004c0ac008c0a4004c08407858c0840748c94ccc08ccdc3a40000022a66604c60420042930b0a99981199b87480080044c8c94ccc0a0c0ac00852616375c605200260420042a66604666e1d2004001132325333028302b002149858dd7181480098108010b1810800919299981119b87480000044c8c8c8c94ccc0a4c0b00084c8c9263253330283370e9000000899192999816981800109924c64a66605666e1d20000011323253330303033002132498c04400458c0c4004c0a400854ccc0accdc3a40040022646464646464a666068606e0042930b1bad30350013035002375a606600260660046eb4c0c4004c0a400858c0a400458c0b8004c09800c54ccc0a0cdc3a40040022a666056604c0062930b0b181300118050018b18150009815001181400098100010b1810000919299981099b87480000044c8c94ccc098c0a400852616375a604e002603e0042a66604266e1d20020011323253330263029002149858dd69813800980f8010b180f800919299981019b87480000044c8c94ccc094c0a000852616375a604c002603c0042a66604066e1d20020011323253330253028002149858dd69813000980f0010b180f000919299980f99b87480000044c8c8c8c94ccc098c0a400852616375c604e002604e0046eb8c094004c07400858c0740048c94ccc078cdc3a400000226464a666046604c0042930b1bae3024001301c0021533301e3370e900100089919299981198130010a4c2c6eb8c090004c07000858c070004dd618100009810000980f8011bab301d001301d001301c00237566034002603400260320026030002602e0046eb0c054004c0340184cc004dd5980a180a980a980a980a980a980a980680300591191980080080191299980a8008a50132323253330153375e00c00229444cc014014008c054008c064008c05c004c03001cc94ccc034cdc3a40000022a666020601600e2930b0a99980699b874800800454ccc040c02c01c526161533300d3370e90020008a99980818058038a4c2c2c601600c2c60200026020004601c002600c00229309b2b118029baa001230033754002ae6955ceaab9e5573eae815d0aba24c126d8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affff004c0126d8799fd87a9f581cc8b0cc61374d409ff9c8512317003e7196a3e4d48553398c656cc124ffff0001"
994
+ )
995
+ ),
996
+ ),
997
+ )
998
+
999
+ return cls._reference_utxo
1000
+
978
1001
 
979
1002
  class MinswapDJEDiUSDStableState(AbstractCommonStableSwapPoolState, MinswapCPPState):
980
1003
  """Minswap DJED/iUSD Stable State."""
@@ -120,7 +120,6 @@ class AbstractPairState(DendriteBaseModel, ABC):
120
120
  """
121
121
  return PlutusV1Script
122
122
 
123
- @property
124
123
  def script_class(self) -> type[PlutusV1Script] | type[PlutusV2Script]:
125
124
  """Returns the script class based on the Plutus version being used."""
126
125
  if self.plutus_v2: