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.
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/PKG-INFO +1 -1
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/pyproject.toml +1 -1
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/minswap.py +43 -20
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/core/base.py +0 -1
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/LICENSE +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/README.md +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/backend_base.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/utils.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dataclasses/datums.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dataclasses/models.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/amm_types.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/spectrum.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/sundae.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/vyfi.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/core/errors.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
- {charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/utility.py +0 -0
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/minswap.py
RENAMED
|
@@ -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=
|
|
895
|
+
_batcher = Assets(lovelace=2000000)
|
|
891
896
|
_deposit = Assets(lovelace=2000000)
|
|
892
897
|
_stake_address: ClassVar[Address] = [
|
|
893
898
|
Address.from_primitive(
|
|
894
|
-
"
|
|
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."""
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/core/base.py
RENAMED
|
@@ -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:
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/__init__.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/backend/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/muesli.py
RENAMED
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/sundae.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/amm/vyfi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/core/errors.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/__init__.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/axo.py
RENAMED
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.1.1.dev6 → charli3_dendrite-1.1.1.dev8}/src/charli3_dendrite/dexs/ob/ob_base.py
RENAMED
|
File without changes
|
|
File without changes
|