wayfinder-paths 0.1.11__py3-none-any.whl → 0.1.14__py3-none-any.whl
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.
Potentially problematic release.
This version of wayfinder-paths might be problematic. Click here for more details.
- wayfinder_paths/adapters/balance_adapter/README.md +13 -14
- wayfinder_paths/adapters/balance_adapter/adapter.py +36 -39
- wayfinder_paths/adapters/balance_adapter/test_adapter.py +123 -0
- wayfinder_paths/adapters/brap_adapter/README.md +11 -16
- wayfinder_paths/adapters/brap_adapter/adapter.py +87 -75
- wayfinder_paths/adapters/brap_adapter/examples.json +63 -52
- wayfinder_paths/adapters/brap_adapter/test_adapter.py +121 -59
- wayfinder_paths/adapters/hyperlend_adapter/adapter.py +22 -23
- wayfinder_paths/adapters/hyperlend_adapter/test_adapter.py +114 -60
- wayfinder_paths/adapters/hyperliquid_adapter/adapter.py +1 -1
- wayfinder_paths/adapters/hyperliquid_adapter/executor.py +44 -5
- wayfinder_paths/adapters/hyperliquid_adapter/test_executor.py +104 -0
- wayfinder_paths/adapters/moonwell_adapter/adapter.py +0 -3
- wayfinder_paths/adapters/pool_adapter/README.md +11 -27
- wayfinder_paths/adapters/pool_adapter/adapter.py +11 -37
- wayfinder_paths/adapters/pool_adapter/examples.json +6 -7
- wayfinder_paths/adapters/pool_adapter/test_adapter.py +8 -8
- wayfinder_paths/adapters/token_adapter/README.md +2 -14
- wayfinder_paths/adapters/token_adapter/adapter.py +16 -10
- wayfinder_paths/adapters/token_adapter/examples.json +4 -8
- wayfinder_paths/adapters/token_adapter/test_adapter.py +5 -3
- wayfinder_paths/core/clients/BRAPClient.py +103 -62
- wayfinder_paths/core/clients/ClientManager.py +1 -68
- wayfinder_paths/core/clients/HyperlendClient.py +127 -66
- wayfinder_paths/core/clients/LedgerClient.py +1 -4
- wayfinder_paths/core/clients/PoolClient.py +126 -88
- wayfinder_paths/core/clients/TokenClient.py +92 -37
- wayfinder_paths/core/clients/WalletClient.py +28 -58
- wayfinder_paths/core/clients/WayfinderClient.py +33 -166
- wayfinder_paths/core/clients/__init__.py +0 -2
- wayfinder_paths/core/clients/protocols.py +35 -52
- wayfinder_paths/core/clients/sdk_example.py +37 -22
- wayfinder_paths/core/config.py +60 -224
- wayfinder_paths/core/engine/StrategyJob.py +7 -55
- wayfinder_paths/core/services/local_evm_txn.py +28 -10
- wayfinder_paths/core/services/local_token_txn.py +1 -1
- wayfinder_paths/core/strategies/Strategy.py +3 -5
- wayfinder_paths/core/strategies/descriptors.py +7 -0
- wayfinder_paths/core/utils/evm_helpers.py +7 -3
- wayfinder_paths/core/utils/wallets.py +12 -19
- wayfinder_paths/core/wallets/README.md +1 -1
- wayfinder_paths/run_strategy.py +8 -17
- wayfinder_paths/scripts/create_strategy.py +5 -5
- wayfinder_paths/scripts/make_wallets.py +5 -5
- wayfinder_paths/scripts/run_strategy.py +3 -3
- wayfinder_paths/strategies/basis_trading_strategy/snapshot_mixin.py +1 -1
- wayfinder_paths/strategies/basis_trading_strategy/strategy.py +206 -526
- wayfinder_paths/strategies/basis_trading_strategy/test_strategy.py +228 -11
- wayfinder_paths/strategies/hyperlend_stable_yield_strategy/README.md +2 -2
- wayfinder_paths/strategies/hyperlend_stable_yield_strategy/strategy.py +41 -25
- wayfinder_paths/strategies/hyperlend_stable_yield_strategy/test_strategy.py +54 -9
- wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/README.md +1 -1
- wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/strategy.py +10 -9
- wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/test_strategy.py +12 -6
- wayfinder_paths/strategies/stablecoin_yield_strategy/README.md +3 -3
- wayfinder_paths/strategies/stablecoin_yield_strategy/strategy.py +110 -78
- wayfinder_paths/strategies/stablecoin_yield_strategy/test_strategy.py +44 -21
- wayfinder_paths/templates/adapter/README.md +1 -1
- wayfinder_paths/templates/strategy/README.md +3 -3
- wayfinder_paths/templates/strategy/test_strategy.py +3 -2
- {wayfinder_paths-0.1.11.dist-info → wayfinder_paths-0.1.14.dist-info}/METADATA +21 -59
- {wayfinder_paths-0.1.11.dist-info → wayfinder_paths-0.1.14.dist-info}/RECORD +64 -65
- wayfinder_paths/core/clients/AuthClient.py +0 -83
- wayfinder_paths/core/settings.py +0 -61
- {wayfinder_paths-0.1.11.dist-info → wayfinder_paths-0.1.14.dist-info}/LICENSE +0 -0
- {wayfinder_paths-0.1.11.dist-info → wayfinder_paths-0.1.14.dist-info}/WHEEL +0 -0
wayfinder_paths/core/settings.py
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
import os
|
|
3
|
-
|
|
4
|
-
from pydantic import Field
|
|
5
|
-
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class CoreSettings(BaseSettings):
|
|
9
|
-
"""
|
|
10
|
-
Core settings for Wayfinder Paths Engine
|
|
11
|
-
These are minimal settings required by the core engine
|
|
12
|
-
"""
|
|
13
|
-
|
|
14
|
-
model_config = SettingsConfigDict(
|
|
15
|
-
# Note: .env file is only used for publishing (REPOSITORY_NAME, PUBLISH_TOKEN)
|
|
16
|
-
# All other configuration should come from config.json
|
|
17
|
-
case_sensitive=False,
|
|
18
|
-
extra="ignore", # Ignore extra environment variables (e.g., from Django)
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
# Core API Configuration
|
|
22
|
-
API_ENV: str = Field(default="development")
|
|
23
|
-
|
|
24
|
-
def _compute_default_api_url() -> str:
|
|
25
|
-
"""
|
|
26
|
-
Determine default API base URL from config.json if present, otherwise fallback.
|
|
27
|
-
Do not mutate the value (consistent with rpc_urls resolution).
|
|
28
|
-
"""
|
|
29
|
-
cfg_path = os.getenv("WAYFINDER_CONFIG_PATH", "config.json")
|
|
30
|
-
base = None
|
|
31
|
-
try:
|
|
32
|
-
with open(cfg_path) as f:
|
|
33
|
-
cfg = json.load(f)
|
|
34
|
-
system = cfg.get("system", {}) if isinstance(cfg, dict) else {}
|
|
35
|
-
candidate = system.get("api_base_url")
|
|
36
|
-
if isinstance(candidate, str) and candidate.strip():
|
|
37
|
-
base = candidate.strip()
|
|
38
|
-
except Exception:
|
|
39
|
-
# Config is optional; ignore errors and use fallback
|
|
40
|
-
pass
|
|
41
|
-
|
|
42
|
-
if not base:
|
|
43
|
-
# Provide a sensible default that includes the full API root
|
|
44
|
-
base = "https://wayfinder.ai/api/v1"
|
|
45
|
-
return base
|
|
46
|
-
|
|
47
|
-
WAYFINDER_API_URL: str = Field(default_factory=_compute_default_api_url)
|
|
48
|
-
|
|
49
|
-
# Network Configuration
|
|
50
|
-
NETWORK: str = Field(default="testnet") # mainnet, testnet, devnet
|
|
51
|
-
|
|
52
|
-
# Logging
|
|
53
|
-
LOG_LEVEL: str = Field(default="INFO")
|
|
54
|
-
LOG_FILE: str = Field(default="logs/strategy.log")
|
|
55
|
-
|
|
56
|
-
# Safety
|
|
57
|
-
DRY_RUN: bool = Field(default=False)
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
# Core settings instance
|
|
61
|
-
settings = CoreSettings()
|
|
File without changes
|
|
File without changes
|