wayfinder-paths 0.1.5__tar.gz → 0.1.7__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.

Potentially problematic release.


This version of wayfinder-paths might be problematic. Click here for more details.

Files changed (150) hide show
  1. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/PKG-INFO +2 -1
  2. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/pyproject.toml +2 -1
  3. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/__init__.py +1 -0
  4. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/balance_adapter/README.md +0 -10
  5. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/balance_adapter/adapter.py +0 -20
  6. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/balance_adapter/test_adapter.py +0 -30
  7. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/brap_adapter/adapter.py +2 -0
  8. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/brap_adapter/test_adapter.py +4 -6
  9. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/hyperlend_adapter/test_adapter.py +14 -7
  10. wayfinder_paths-0.1.7/wayfinder_paths/adapters/hyperliquid_adapter/__init__.py +18 -0
  11. wayfinder_paths-0.1.7/wayfinder_paths/adapters/hyperliquid_adapter/adapter.py +1093 -0
  12. wayfinder_paths-0.1.7/wayfinder_paths/adapters/hyperliquid_adapter/executor.py +549 -0
  13. wayfinder_paths-0.1.7/wayfinder_paths/adapters/hyperliquid_adapter/manifest.yaml +8 -0
  14. wayfinder_paths-0.1.7/wayfinder_paths/adapters/hyperliquid_adapter/paired_filler.py +1050 -0
  15. wayfinder_paths-0.1.7/wayfinder_paths/adapters/hyperliquid_adapter/test_adapter.py +126 -0
  16. wayfinder_paths-0.1.7/wayfinder_paths/adapters/hyperliquid_adapter/test_adapter_live.py +219 -0
  17. wayfinder_paths-0.1.7/wayfinder_paths/adapters/hyperliquid_adapter/test_utils.py +220 -0
  18. wayfinder_paths-0.1.7/wayfinder_paths/adapters/hyperliquid_adapter/utils.py +134 -0
  19. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/ledger_adapter/test_adapter.py +4 -6
  20. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/pool_adapter/test_adapter.py +4 -6
  21. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/token_adapter/test_adapter.py +4 -14
  22. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/__init__.py +6 -1
  23. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/adapters/models.py +9 -4
  24. wayfinder_paths-0.1.7/wayfinder_paths/core/analytics/__init__.py +11 -0
  25. wayfinder_paths-0.1.7/wayfinder_paths/core/analytics/bootstrap.py +57 -0
  26. wayfinder_paths-0.1.7/wayfinder_paths/core/analytics/stats.py +48 -0
  27. wayfinder_paths-0.1.7/wayfinder_paths/core/analytics/test_analytics.py +170 -0
  28. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/LedgerClient.py +2 -7
  29. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/WalletClient.py +0 -27
  30. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/protocols.py +104 -14
  31. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/strategies/Strategy.py +12 -1
  32. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/strategies/descriptors.py +1 -0
  33. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/scripts/make_wallets.py +9 -0
  34. wayfinder_paths-0.1.7/wayfinder_paths/scripts/run_strategy.py +124 -0
  35. wayfinder_paths-0.1.7/wayfinder_paths/strategies/basis_trading_strategy/README.md +213 -0
  36. wayfinder_paths-0.1.7/wayfinder_paths/strategies/basis_trading_strategy/__init__.py +3 -0
  37. wayfinder_paths-0.1.7/wayfinder_paths/strategies/basis_trading_strategy/constants.py +1 -0
  38. wayfinder_paths-0.1.7/wayfinder_paths/strategies/basis_trading_strategy/examples.json +16 -0
  39. wayfinder_paths-0.1.7/wayfinder_paths/strategies/basis_trading_strategy/manifest.yaml +23 -0
  40. wayfinder_paths-0.1.7/wayfinder_paths/strategies/basis_trading_strategy/snapshot_mixin.py +1011 -0
  41. wayfinder_paths-0.1.7/wayfinder_paths/strategies/basis_trading_strategy/strategy.py +4522 -0
  42. wayfinder_paths-0.1.7/wayfinder_paths/strategies/basis_trading_strategy/test_strategy.py +727 -0
  43. wayfinder_paths-0.1.7/wayfinder_paths/strategies/basis_trading_strategy/types.py +39 -0
  44. wayfinder_paths-0.1.7/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/examples.json +8 -0
  45. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/test_strategy.py +36 -5
  46. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/stablecoin_yield_strategy/strategy.py +367 -278
  47. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/stablecoin_yield_strategy/test_strategy.py +173 -3
  48. wayfinder_paths-0.1.5/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/examples.json +0 -16
  49. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/LICENSE +0 -0
  50. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/README.md +0 -0
  51. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/CONFIG_GUIDE.md +0 -0
  52. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/abis/generic/erc20.json +0 -0
  53. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/__init__.py +0 -0
  54. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/balance_adapter/examples.json +0 -0
  55. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/balance_adapter/manifest.yaml +0 -0
  56. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/brap_adapter/README.md +0 -0
  57. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/brap_adapter/__init__.py +0 -0
  58. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/brap_adapter/examples.json +0 -0
  59. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/brap_adapter/manifest.yaml +0 -0
  60. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/hyperlend_adapter/__init__.py +0 -0
  61. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/hyperlend_adapter/adapter.py +0 -0
  62. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/hyperlend_adapter/manifest.yaml +0 -0
  63. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/ledger_adapter/README.md +0 -0
  64. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/ledger_adapter/__init__.py +0 -0
  65. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/ledger_adapter/adapter.py +0 -0
  66. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/ledger_adapter/examples.json +0 -0
  67. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/ledger_adapter/manifest.yaml +0 -0
  68. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/pool_adapter/README.md +0 -0
  69. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/pool_adapter/__init__.py +0 -0
  70. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/pool_adapter/adapter.py +0 -0
  71. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/pool_adapter/examples.json +0 -0
  72. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/pool_adapter/manifest.yaml +0 -0
  73. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/token_adapter/README.md +0 -0
  74. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/token_adapter/__init__.py +0 -0
  75. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/token_adapter/adapter.py +0 -0
  76. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/token_adapter/examples.json +0 -0
  77. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/adapters/token_adapter/manifest.yaml +0 -0
  78. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/config.example.json +0 -0
  79. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/conftest.py +0 -0
  80. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/adapters/BaseAdapter.py +0 -0
  81. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/adapters/__init__.py +0 -0
  82. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/adapters/base.py +0 -0
  83. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/AuthClient.py +0 -0
  84. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/BRAPClient.py +0 -0
  85. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/ClientManager.py +0 -0
  86. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/HyperlendClient.py +0 -0
  87. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/PoolClient.py +0 -0
  88. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/SimulationClient.py +0 -0
  89. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/TokenClient.py +0 -0
  90. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/TransactionClient.py +0 -0
  91. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/WayfinderClient.py +0 -0
  92. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/__init__.py +0 -0
  93. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/clients/sdk_example.py +0 -0
  94. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/config.py +0 -0
  95. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/constants/__init__.py +0 -0
  96. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/constants/base.py +0 -0
  97. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/constants/erc20_abi.py +0 -0
  98. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/constants/hyperlend_abi.py +0 -0
  99. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/engine/StrategyJob.py +0 -0
  100. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/engine/__init__.py +0 -0
  101. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/engine/manifest.py +0 -0
  102. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/services/__init__.py +0 -0
  103. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/services/base.py +0 -0
  104. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/services/local_evm_txn.py +0 -0
  105. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/services/local_token_txn.py +0 -0
  106. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/services/web3_service.py +0 -0
  107. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/settings.py +0 -0
  108. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/strategies/__init__.py +0 -0
  109. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/strategies/base.py +0 -0
  110. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/utils/__init__.py +0 -0
  111. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/utils/evm_helpers.py +0 -0
  112. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/utils/wallets.py +0 -0
  113. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/wallets/README.md +0 -0
  114. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/wallets/WalletManager.py +0 -0
  115. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/core/wallets/__init__.py +0 -0
  116. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/policies/enso.py +0 -0
  117. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/policies/erc20.py +0 -0
  118. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/policies/evm.py +0 -0
  119. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/policies/hyper_evm.py +0 -0
  120. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/policies/hyperlend.py +0 -0
  121. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/policies/hyperliquid.py +0 -0
  122. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/policies/moonwell.py +0 -0
  123. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/policies/prjx.py +0 -0
  124. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/policies/util.py +0 -0
  125. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/run_strategy.py +0 -0
  126. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/scripts/__init__.py +0 -0
  127. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/scripts/create_strategy.py +0 -0
  128. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/scripts/validate_manifests.py +0 -0
  129. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/__init__.py +0 -0
  130. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/config.py +0 -0
  131. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/README.md +0 -0
  132. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/manifest.yaml +0 -0
  133. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/strategy.py +0 -0
  134. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/stablecoin_yield_strategy/README.md +0 -0
  135. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/stablecoin_yield_strategy/examples.json +0 -0
  136. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/strategies/stablecoin_yield_strategy/manifest.yaml +0 -0
  137. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/adapter/README.md +0 -0
  138. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/adapter/adapter.py +0 -0
  139. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/adapter/examples.json +0 -0
  140. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/adapter/manifest.yaml +0 -0
  141. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/adapter/test_adapter.py +0 -0
  142. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/strategy/README.md +0 -0
  143. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/strategy/examples.json +0 -0
  144. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/strategy/manifest.yaml +0 -0
  145. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/strategy/strategy.py +0 -0
  146. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/templates/strategy/test_strategy.py +0 -0
  147. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/tests/__init__.py +0 -0
  148. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/tests/test_smoke_manifest.py +0 -0
  149. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/tests/test_test_coverage.py +0 -0
  150. {wayfinder_paths-0.1.5 → wayfinder_paths-0.1.7}/wayfinder_paths/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wayfinder-paths
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: Wayfinder Path: strategies and adapters
5
5
  Author: Wayfinder
6
6
  Author-email: dev@wayfinder.ai
@@ -10,6 +10,7 @@ Classifier: Programming Language :: Python :: 3.12
10
10
  Requires-Dist: aiohttp (>=3.13.0,<4.0.0)
11
11
  Requires-Dist: eth-account (>=0.13.7,<0.14.0)
12
12
  Requires-Dist: httpx (>=0.28.1,<0.29.0)
13
+ Requires-Dist: hyperliquid-python-sdk (>=0.21.0,<0.22.0)
13
14
  Requires-Dist: loguru (>=0.7.3,<0.8.0)
14
15
  Requires-Dist: numpy (>=1.26.0,<2.0.0)
15
16
  Requires-Dist: pandas (>=2.2.0,<3.0.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "wayfinder-paths"
3
- version = "0.1.5"
3
+ version = "0.1.7"
4
4
  description = "Wayfinder Path: strategies and adapters"
5
5
  readme = "README.md"
6
6
  authors = ["Wayfinder <dev@wayfinder.ai>"]
@@ -21,6 +21,7 @@ python-dotenv = "^1.1.1"
21
21
  aiohttp = "^3.13.0"
22
22
  numpy = "^1.26.0"
23
23
  pandas = "^2.2.0"
24
+ hyperliquid-python-sdk = "^0.21.0"
24
25
 
25
26
  [tool.poetry.group.dev.dependencies]
26
27
  pytest = "^8.4.2"
@@ -5,6 +5,7 @@ __version__ = "0.1.0"
5
5
  # Re-export commonly used items for convenience
6
6
  from wayfinder_paths.core import (
7
7
  BaseAdapter,
8
+ LiquidationResult,
8
9
  StatusDict,
9
10
  StatusTuple,
10
11
  Strategy,
@@ -45,16 +45,6 @@ success, amount = await balance.get_pool_balance(
45
45
  )
46
46
  ```
47
47
 
48
- ### `get_all_balances(wallet_address: str, enrich=True, from_cache=False, add_llama=True)`
49
- Returns the enriched token balance payload Wayfinder exposes (including USD value, metadata, and optional DeFi Llama overlays).
50
-
51
- ```python
52
- success, snapshot = await balance.get_all_balances(
53
- wallet_address=config["strategy_wallet"]["address"],
54
- enrich=True,
55
- )
56
- ```
57
-
58
48
  ### `move_from_main_wallet_to_strategy_wallet(token_id: str, amount: float, strategy_name="unknown", skip_ledger=False)`
59
49
  Sends the specified token from the configured `main_wallet` to the strategy wallet, records the ledger deposit (unless `skip_ledger=True`), and returns the `(success, tx_result)` tuple from the underlying send helper.
60
50
 
@@ -236,23 +236,3 @@ class BalanceAdapter(BaseAdapter):
236
236
  return (True, self._parse_balance(raw))
237
237
  except Exception as e:
238
238
  return (False, str(e))
239
-
240
- async def get_all_balances(
241
- self,
242
- *,
243
- wallet_address: str,
244
- enrich: bool = True,
245
- from_cache: bool = False,
246
- add_llama: bool = True,
247
- ) -> tuple[bool, Any]:
248
- """Get all enriched token balances for a wallet."""
249
- try:
250
- data = await self.wallet_client.get_all_enriched_token_balances_for_wallet(
251
- wallet_address=wallet_address,
252
- enrich=enrich,
253
- from_cache=from_cache,
254
- add_llama=add_llama,
255
- )
256
- return (True, data)
257
- except Exception as e:
258
- return (False, str(e))
@@ -54,36 +54,6 @@ class TestBalanceAdapter:
54
54
  ok = await adapter.connect()
55
55
  assert isinstance(ok, bool)
56
56
 
57
- @pytest.mark.asyncio
58
- async def test_get_all_enriched_token_balances_for_wallet_success(
59
- self, adapter, mock_wallet_client
60
- ):
61
- """Test successful retrieval of enriched token balances"""
62
- mock_response = {
63
- "balances": [
64
- {
65
- "token_id": "usd-coin-base",
66
- "symbol": "USDC",
67
- "balance": "1000000000",
68
- "usd_value": 1000.0,
69
- }
70
- ],
71
- "total_usd_value": 1000.0,
72
- }
73
- mock_wallet_client.get_all_enriched_token_balances_for_wallet = AsyncMock(
74
- return_value=(True, mock_response)
75
- )
76
-
77
- success, data = await adapter.get_all_balances(
78
- wallet_address="0x1234567890123456789012345678901234567890",
79
- enrich=True,
80
- )
81
-
82
- assert success is True
83
- assert isinstance(data, (dict, tuple))
84
- if isinstance(data, dict):
85
- assert "balances" in data
86
-
87
57
  def test_adapter_type(self, adapter):
88
58
  """Test adapter has adapter_type"""
89
59
  assert adapter.adapter_type == "BALANCE"
@@ -631,6 +631,7 @@ class BRAPAdapter(BaseAdapter):
631
631
 
632
632
  response = broadcast_response if isinstance(broadcast_response, dict) else {}
633
633
  operation_data = SWAP(
634
+ adapter=self.adapter_type,
634
635
  from_token_id=from_token.get("id"),
635
636
  to_token_id=to_token.get("id"),
636
637
  from_amount=quote.get("input_amount"),
@@ -638,6 +639,7 @@ class BRAPAdapter(BaseAdapter):
638
639
  from_amount_usd=from_amount_usd or 0,
639
640
  to_amount_usd=to_amount_usd or 0,
640
641
  transaction_hash=response.get("transaction_hash"),
642
+ transaction_chain_id=from_token.get("chain_id"),
641
643
  transaction_status=response.get("transaction_status"),
642
644
  transaction_receipt=response.get("transaction_receipt"),
643
645
  )
@@ -1,5 +1,5 @@
1
1
  from types import SimpleNamespace
2
- from unittest.mock import AsyncMock, patch
2
+ from unittest.mock import AsyncMock
3
3
 
4
4
  import pytest
5
5
 
@@ -33,11 +33,9 @@ class TestBRAPAdapter:
33
33
  @pytest.fixture
34
34
  def adapter(self, mock_brap_client, mock_web3_service):
35
35
  """Create a BRAPAdapter instance with mocked client for testing"""
36
- with patch(
37
- "adapters.brap_adapter.adapter.BRAPClient",
38
- return_value=mock_brap_client,
39
- ):
40
- return BRAPAdapter(web3_service=mock_web3_service)
36
+ adapter = BRAPAdapter(web3_service=mock_web3_service)
37
+ adapter.brap_client = mock_brap_client
38
+ return adapter
41
39
 
42
40
  @pytest.mark.asyncio
43
41
  async def test_get_swap_quote_success(self, adapter, mock_brap_client):
@@ -1,4 +1,5 @@
1
- from unittest.mock import AsyncMock, patch
1
+ from types import SimpleNamespace
2
+ from unittest.mock import AsyncMock
2
3
 
3
4
  import pytest
4
5
 
@@ -15,13 +16,19 @@ class TestHyperlendAdapter:
15
16
  return mock_client
16
17
 
17
18
  @pytest.fixture
18
- def adapter(self, mock_hyperlend_client):
19
+ def mock_web3_service(self):
20
+ """Minimal Web3Service stub for adapter construction."""
21
+ return SimpleNamespace(token_transactions=SimpleNamespace())
22
+
23
+ @pytest.fixture
24
+ def adapter(self, mock_hyperlend_client, mock_web3_service):
19
25
  """Create a HyperlendAdapter instance with mocked client for testing"""
20
- with patch(
21
- "wayfinder_paths.adapters.hyperlend_adapter.adapter.HyperlendClient",
22
- return_value=mock_hyperlend_client,
23
- ):
24
- return HyperlendAdapter()
26
+ adapter = HyperlendAdapter(
27
+ config={},
28
+ web3_service=mock_web3_service,
29
+ )
30
+ adapter.hyperlend_client = mock_hyperlend_client
31
+ return adapter
25
32
 
26
33
  @pytest.mark.asyncio
27
34
  async def test_get_stable_markets_success(self, adapter, mock_hyperlend_client):
@@ -0,0 +1,18 @@
1
+ from .adapter import (
2
+ ARBITRUM_USDC_ADDRESS,
3
+ HYPERLIQUID_BRIDGE_ADDRESS,
4
+ HyperliquidAdapter,
5
+ )
6
+ from .executor import HyperliquidExecutor, LocalHyperliquidExecutor
7
+ from .paired_filler import FillConfig, FillConfirmCfg, PairedFiller
8
+
9
+ __all__ = [
10
+ "HyperliquidAdapter",
11
+ "HyperliquidExecutor",
12
+ "LocalHyperliquidExecutor",
13
+ "PairedFiller",
14
+ "FillConfig",
15
+ "FillConfirmCfg",
16
+ "HYPERLIQUID_BRIDGE_ADDRESS",
17
+ "ARBITRUM_USDC_ADDRESS",
18
+ ]