charli3_dendrite 1.2.5.dev7__tar.gz → 1.2.5.dev9__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.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/PKG-INFO +1 -1
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/pyproject.toml +2 -2
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/vyfi.py +30 -10
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/LICENSE +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/README.md +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/backend_base.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/blockfrost/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/blockfrost/models.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/dbsync/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/dbsync/models.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/ogmios_kupo/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/ogmios_kupo/models.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/utils.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dataclasses/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dataclasses/datums.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dataclasses/models.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/amm_base.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/amm_types.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/cswap.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/minswap.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/muesli.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/spectrum.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/splash.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/sundae.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/wingriders.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/core/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/core/base.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/core/errors.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/ob/__init__.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/ob/axo.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/ob/djed.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/ob/geniusyield.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/ob/ob_base.py +0 -0
- {charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/utility.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "charli3_dendrite"
|
|
3
|
-
version = "1.2.5-
|
|
3
|
+
version = "1.2.5-dev9"
|
|
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.5-
|
|
52
|
+
current_version = "1.2.5-dev9"
|
|
53
53
|
parse = """(?x)
|
|
54
54
|
(?P<major>\\d+)\\.
|
|
55
55
|
(?P<minor>\\d+)\\.
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/vyfi.py
RENAMED
|
@@ -40,7 +40,7 @@ class VyFiPoolDatum(PoolDatum):
|
|
|
40
40
|
token_b_fees: int
|
|
41
41
|
lp_tokens: int
|
|
42
42
|
|
|
43
|
-
def pool_pair(self) -> Optional[Assets]:
|
|
43
|
+
def pool_pair(self) -> Optional[Assets]: # noqa: UP007
|
|
44
44
|
"""Return the pool pair assets."""
|
|
45
45
|
return None
|
|
46
46
|
|
|
@@ -114,7 +114,7 @@ class VyFiOrderDatum(OrderDatum):
|
|
|
114
114
|
"""VyFi order datum."""
|
|
115
115
|
|
|
116
116
|
address: bytes
|
|
117
|
-
order: Union[AtoB, BtoA, Deposit, LPFlushA, Withdraw, ZapInA, ZapInB]
|
|
117
|
+
order: Union[AtoB, BtoA, Deposit, LPFlushA, Withdraw, ZapInA, ZapInB] # noqa: UP007
|
|
118
118
|
|
|
119
119
|
@classmethod
|
|
120
120
|
def create_datum(
|
|
@@ -124,8 +124,8 @@ class VyFiOrderDatum(OrderDatum):
|
|
|
124
124
|
out_assets: Assets,
|
|
125
125
|
batcher_fee: Assets, # noqa: ARG003
|
|
126
126
|
deposit: Assets, # noqa: ARG003
|
|
127
|
-
address_target: Optional[Address] = None, # noqa: ARG003
|
|
128
|
-
datum_target: Optional[PlutusData] = None, # noqa: ARG003
|
|
127
|
+
address_target: Optional[Address] = None, # noqa: ARG003,UP007
|
|
128
|
+
datum_target: Optional[PlutusData] = None, # noqa: ARG003,UP007
|
|
129
129
|
) -> VyFiOrderDatum:
|
|
130
130
|
"""Create a new order datum."""
|
|
131
131
|
address_hash = (
|
|
@@ -170,7 +170,7 @@ class VyFiOrderDatum(OrderDatum):
|
|
|
170
170
|
)
|
|
171
171
|
return Assets()
|
|
172
172
|
|
|
173
|
-
def order_type(self) -> Optional[OrderType]:
|
|
173
|
+
def order_type(self) -> Optional[OrderType]: # noqa: UP007
|
|
174
174
|
"""Get the order type."""
|
|
175
175
|
if isinstance(self.order, (BtoA, AtoB, ZapInA, ZapInB)):
|
|
176
176
|
return OrderType.swap
|
|
@@ -205,7 +205,7 @@ class VyFiPoolTokens(BaseModel):
|
|
|
205
205
|
operator_token: VyFiTokenDefinition = Field(alias="operatorToken")
|
|
206
206
|
lp_token_name: dict[str, str] = Field(alias="lpTokenName")
|
|
207
207
|
fees_settings: VyFiFees = Field(alias="feesSettings")
|
|
208
|
-
stake_key: Optional[str] = Field(alias="stakeKey")
|
|
208
|
+
stake_key: Optional[str] = Field(alias="stakeKey") # noqa: UP007
|
|
209
209
|
|
|
210
210
|
|
|
211
211
|
class VyFiPoolDefinition(BaseModel):
|
|
@@ -235,11 +235,22 @@ class VyFiCPPState(AbstractConstantProductPoolState):
|
|
|
235
235
|
|
|
236
236
|
_batcher = Assets(lovelace=1900000)
|
|
237
237
|
_deposit = Assets(lovelace=2000000)
|
|
238
|
-
_pools: ClassVar[Optional[dict[str, VyFiPoolDefinition]]] = None
|
|
238
|
+
_pools: ClassVar[Optional[dict[str, VyFiPoolDefinition]]] = None # noqa: UP007
|
|
239
239
|
_pools_refresh: ClassVar[float] = 0.0
|
|
240
240
|
lp_fee: int = 0
|
|
241
241
|
bar_fee: int = 0
|
|
242
242
|
|
|
243
|
+
@classmethod
|
|
244
|
+
def skip_init(cls, values: dict) -> bool:
|
|
245
|
+
"""Skip initialization if the pool NFT is invalid."""
|
|
246
|
+
if "pool_nft" in values:
|
|
247
|
+
if not any(p in cls.pools() for p in values["pool_nft"]):
|
|
248
|
+
raise ValueError("Invalid pool NFT")
|
|
249
|
+
|
|
250
|
+
return True
|
|
251
|
+
|
|
252
|
+
return False
|
|
253
|
+
|
|
243
254
|
@classmethod
|
|
244
255
|
def dex(cls) -> str:
|
|
245
256
|
"""Get the DEX name."""
|
|
@@ -261,7 +272,10 @@ class VyFiCPPState(AbstractConstantProductPoolState):
|
|
|
261
272
|
return [p.order_validator_utxo_address for p in cls.pools().values()]
|
|
262
273
|
|
|
263
274
|
@classmethod
|
|
264
|
-
def pool_selector(
|
|
275
|
+
def pool_selector(
|
|
276
|
+
cls,
|
|
277
|
+
assets: Optional[list[str]] = None, # noqa: UP007
|
|
278
|
+
) -> PoolSelector:
|
|
265
279
|
"""Get a PoolSelector for VyFi pools, optionally filtered by assets."""
|
|
266
280
|
asset_to_pool = cls._create_asset_to_pool_mapping()
|
|
267
281
|
relevant_pools = cls._filter_relevant_pools(asset_to_pool, assets)
|
|
@@ -291,7 +305,7 @@ class VyFiCPPState(AbstractConstantProductPoolState):
|
|
|
291
305
|
def _filter_relevant_pools(
|
|
292
306
|
cls,
|
|
293
307
|
asset_to_pool: defaultdict[str, list[VyFiPoolDefinition]],
|
|
294
|
-
assets: Optional[list[str]],
|
|
308
|
+
assets: Optional[list[str]], # noqa: UP007
|
|
295
309
|
) -> set[VyFiPoolDefinition]:
|
|
296
310
|
"""Filter relevant pools based on assets."""
|
|
297
311
|
if assets:
|
|
@@ -375,7 +389,10 @@ class VyFiCPPState(AbstractConstantProductPoolState):
|
|
|
375
389
|
return self.lp_fee + self.bar_fee
|
|
376
390
|
|
|
377
391
|
@classmethod
|
|
378
|
-
def extract_pool_nft(
|
|
392
|
+
def extract_pool_nft(
|
|
393
|
+
cls,
|
|
394
|
+
values: dict[str, Any],
|
|
395
|
+
) -> Optional[Assets]: # noqa: UP007
|
|
379
396
|
"""Extract the dex nft from the UTXO."""
|
|
380
397
|
assets = values["assets"]
|
|
381
398
|
|
|
@@ -411,5 +428,8 @@ class VyFiCPPState(AbstractConstantProductPoolState):
|
|
|
411
428
|
assets = values["assets"]
|
|
412
429
|
datum = VyFiPoolDatum.from_cbor(values["datum_cbor"])
|
|
413
430
|
|
|
431
|
+
if assets.unit() == "lovelace":
|
|
432
|
+
assets.root[assets.unit(0)] -= 2000000
|
|
433
|
+
|
|
414
434
|
assets.root[assets.unit(0)] -= datum.token_a_fees
|
|
415
435
|
assets.root[assets.unit(1)] -= datum.token_b_fees
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/__init__.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/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.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/backend/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/cswap.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/minswap.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/muesli.py
RENAMED
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/splash.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/amm/sundae.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/core/base.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/core/errors.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/ob/__init__.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/ob/axo.py
RENAMED
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/ob/djed.py
RENAMED
|
File without changes
|
|
File without changes
|
{charli3_dendrite-1.2.5.dev7 → charli3_dendrite-1.2.5.dev9}/src/charli3_dendrite/dexs/ob/ob_base.py
RENAMED
|
File without changes
|
|
File without changes
|