charli3_dendrite 1.3.3.dev0__tar.gz → 1.3.4.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.
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/PKG-INFO +1 -1
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/pyproject.toml +2 -2
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dataclasses/datums.py +1 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dataclasses/models.py +10 -6
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/amm_types.py +1 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/spectrum.py +5 -3
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/splash.py +43 -23
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/sundae.py +1 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/utility.py +1 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/LICENSE +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/README.md +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/backend_base.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/utils.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/cswap.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/minswap.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/vyfi.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/core/base.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/core/errors.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/ob/djed.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
- {charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "charli3_dendrite"
|
|
3
|
-
version = "1.3.
|
|
3
|
+
version = "1.3.4-dev1"
|
|
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.
|
|
52
|
+
current_version = "1.3.4-dev1"
|
|
53
53
|
parse = """(?x)
|
|
54
54
|
(?P<major>\\d+)\\.
|
|
55
55
|
(?P<minor>\\d+)\\.
|
|
@@ -151,12 +151,16 @@ class ScriptReference(DendriteBaseModel):
|
|
|
151
151
|
output=TransactionOutput(
|
|
152
152
|
address=Address.decode(self.address),
|
|
153
153
|
amount=Value(coin=self.assets["lovelace"]),
|
|
154
|
-
script=
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
154
|
+
script=(
|
|
155
|
+
None
|
|
156
|
+
if self.script is None
|
|
157
|
+
else PlutusV2Script(bytes.fromhex(self.script))
|
|
158
|
+
),
|
|
159
|
+
datum=(
|
|
160
|
+
None
|
|
161
|
+
if self.datum_cbor is None
|
|
162
|
+
else RawPlutusData.from_cbor(self.datum_cbor)
|
|
163
|
+
),
|
|
160
164
|
),
|
|
161
165
|
)
|
|
162
166
|
else:
|
|
@@ -391,9 +391,11 @@ class SpectrumCPPState(AbstractConstantProductPoolState):
|
|
|
391
391
|
raise ValueError("pool_nft is required but is None")
|
|
392
392
|
|
|
393
393
|
volume_fee = int(
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
394
|
+
(
|
|
395
|
+
self.volume_fee[0]
|
|
396
|
+
if isinstance(self.volume_fee, list)
|
|
397
|
+
else self.volume_fee or 0
|
|
398
|
+
),
|
|
397
399
|
)
|
|
398
400
|
return SpectrumOrderDatum.create_datum(
|
|
399
401
|
address_source=address_source,
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/splash.py
RENAMED
|
@@ -356,7 +356,12 @@ class SplashBaseState(AbstractPairState):
|
|
|
356
356
|
if "pool_nft" in values and "lp_tokens" in values:
|
|
357
357
|
order_class = cls.pool_datum_class()
|
|
358
358
|
try:
|
|
359
|
-
datum:
|
|
359
|
+
datum: (
|
|
360
|
+
SplashSSPPoolDatum
|
|
361
|
+
| SplashCPPPoolDatum
|
|
362
|
+
| SplashCPPRoyaltyPoolDatum
|
|
363
|
+
| SplashCPPBidirPoolDatum
|
|
364
|
+
) = order_class.from_cbor(
|
|
360
365
|
values["datum_cbor"],
|
|
361
366
|
)
|
|
362
367
|
except DeserializeException as err:
|
|
@@ -368,6 +373,10 @@ class SplashBaseState(AbstractPairState):
|
|
|
368
373
|
raise NotAPoolError("Invalid LP tokens")
|
|
369
374
|
|
|
370
375
|
values["assets"] = Assets.model_validate(values["assets"])
|
|
376
|
+
if len(values["assets"]) == 3: # noqa: PLR2004
|
|
377
|
+
lovelace = values["assets"].root.pop("lovelace")
|
|
378
|
+
values["assets"].root["lovelace"] = lovelace
|
|
379
|
+
|
|
371
380
|
return True
|
|
372
381
|
|
|
373
382
|
return False
|
|
@@ -450,13 +459,19 @@ class SplashSSPState(SplashBaseState, AbstractCommonStableSwapPoolState):
|
|
|
450
459
|
values["fee"] = datum.lp_fee_num + datum.protocol_fee_num
|
|
451
460
|
|
|
452
461
|
assets = values["assets"]
|
|
453
|
-
assets.root[assets.unit(
|
|
454
|
-
assets.root[assets.unit(
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
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
|
+
]
|
|
460
475
|
|
|
461
476
|
# Verify pool is active
|
|
462
477
|
# TODO: should be updated to match the validator:
|
|
@@ -534,7 +549,6 @@ class SplashSSPState(SplashBaseState, AbstractCommonStableSwapPoolState):
|
|
|
534
549
|
)
|
|
535
550
|
|
|
536
551
|
# Create the pool output UTxO
|
|
537
|
-
# TODO: add protocol and fees
|
|
538
552
|
assets.root[in_assets.unit()] += in_assets.quantity()
|
|
539
553
|
assets.root[out_assets.unit()] -= out_assets.quantity()
|
|
540
554
|
txo = TransactionOutput(
|
|
@@ -592,8 +606,8 @@ class SplashCPPState(SplashBaseState, AbstractConstantProductPoolState):
|
|
|
592
606
|
values["fee"] = 100000 - datum.pool_fee + datum.treasury_fee
|
|
593
607
|
|
|
594
608
|
assets = values["assets"]
|
|
595
|
-
assets.root[assets.unit(
|
|
596
|
-
assets.root[assets.unit(
|
|
609
|
+
assets.root[datum.asset_x.assets.unit()] -= datum.treasury_x
|
|
610
|
+
assets.root[datum.asset_y.assets.unit()] -= datum.treasury_y
|
|
597
611
|
|
|
598
612
|
# Verify pool is active
|
|
599
613
|
# TODO: should be updated to match the validator:
|
|
@@ -699,8 +713,8 @@ class SplashCPPState(SplashBaseState, AbstractConstantProductPoolState):
|
|
|
699
713
|
self.pool_datum.to_cbor(),
|
|
700
714
|
)
|
|
701
715
|
assets = self.assets + self.pool_nft + self.lp_tokens
|
|
702
|
-
assets.root[
|
|
703
|
-
assets.root[
|
|
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
|
|
704
718
|
input_utxo = UTxO(
|
|
705
719
|
TransactionInput(
|
|
706
720
|
transaction_id=TransactionId(bytes.fromhex(self.tx_hash)),
|
|
@@ -781,14 +795,20 @@ class SplashCPPBidirState(SplashCPPState):
|
|
|
781
795
|
values["datum_cbor"],
|
|
782
796
|
)
|
|
783
797
|
|
|
784
|
-
values["
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
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
|
+
]
|
|
788
808
|
|
|
789
809
|
assets = values["assets"]
|
|
790
|
-
assets.root[assets.unit(
|
|
791
|
-
assets.root[assets.unit(
|
|
810
|
+
assets.root[datum.asset_x.assets.unit()] -= datum.treasury_x
|
|
811
|
+
assets.root[datum.asset_y.assets.unit()] -= datum.treasury_y
|
|
792
812
|
|
|
793
813
|
# Verify pool is active
|
|
794
814
|
values["inactive"] = assets.quantity() < LIQUIDITY_THRESHOLD
|
|
@@ -832,8 +852,8 @@ class SplashCPPRoyaltyState(SplashCPPState):
|
|
|
832
852
|
values["fee"] += datum.royalty_fee
|
|
833
853
|
|
|
834
854
|
assets = values["assets"]
|
|
835
|
-
assets.root[assets.unit(
|
|
836
|
-
assets.root[assets.unit(
|
|
855
|
+
assets.root[datum.asset_x.assets.unit()] -= datum.royalty_x
|
|
856
|
+
assets.root[datum.asset_y.assets.unit()] -= datum.royalty_y
|
|
837
857
|
|
|
838
858
|
def swap_utxo(
|
|
839
859
|
self,
|
|
@@ -878,10 +898,10 @@ class SplashCPPRoyaltyState(SplashCPPState):
|
|
|
878
898
|
self.pool_datum.to_cbor(),
|
|
879
899
|
)
|
|
880
900
|
assets = self.assets + self.pool_nft + self.lp_tokens
|
|
881
|
-
assets.root[
|
|
901
|
+
assets.root[pool_datum.asset_x.assets.unit()] += (
|
|
882
902
|
pool_datum.treasury_x + self.pool_datum.royalty_x
|
|
883
903
|
)
|
|
884
|
-
assets.root[
|
|
904
|
+
assets.root[pool_datum.asset_y.assets.unit()] += (
|
|
885
905
|
pool_datum.treasury_y + self.pool_datum.royalty_y
|
|
886
906
|
)
|
|
887
907
|
input_utxo = UTxO(
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/__init__.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/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.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/backend/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/cswap.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/minswap.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/muesli.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/amm/vyfi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/core/base.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/core/errors.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/ob/__init__.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/ob/axo.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/ob/djed.py
RENAMED
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.3.3.dev0 → charli3_dendrite-1.3.4.dev1}/src/charli3_dendrite/dexs/ob/ob_base.py
RENAMED
|
File without changes
|