wayfinder-paths 0.1.17__tar.gz → 0.1.19__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 (130) hide show
  1. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/PKG-INFO +2 -2
  2. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/pyproject.toml +1 -1
  3. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/brap_adapter/adapter.py +2 -13
  4. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperlend_adapter/adapter.py +8 -8
  5. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/config.py +12 -0
  6. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/utils/web3.py +2 -2
  7. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/strategy.py +1 -1
  8. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/LICENSE +0 -0
  9. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/README.md +0 -0
  10. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/__init__.py +0 -0
  11. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/__init__.py +0 -0
  12. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/balance_adapter/README.md +0 -0
  13. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/balance_adapter/adapter.py +0 -0
  14. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/balance_adapter/examples.json +0 -0
  15. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/balance_adapter/test_adapter.py +0 -0
  16. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/brap_adapter/README.md +0 -0
  17. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/brap_adapter/__init__.py +0 -0
  18. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/brap_adapter/examples.json +0 -0
  19. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/brap_adapter/test_adapter.py +0 -0
  20. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperlend_adapter/__init__.py +0 -0
  21. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperlend_adapter/test_adapter.py +0 -0
  22. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperliquid_adapter/__init__.py +0 -0
  23. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperliquid_adapter/adapter.py +0 -0
  24. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperliquid_adapter/executor.py +0 -0
  25. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperliquid_adapter/paired_filler.py +0 -0
  26. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperliquid_adapter/test_adapter.py +0 -0
  27. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperliquid_adapter/test_adapter_live.py +0 -0
  28. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperliquid_adapter/test_executor.py +0 -0
  29. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperliquid_adapter/test_utils.py +0 -0
  30. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/hyperliquid_adapter/utils.py +0 -0
  31. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/ledger_adapter/README.md +0 -0
  32. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/ledger_adapter/__init__.py +0 -0
  33. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/ledger_adapter/adapter.py +0 -0
  34. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/ledger_adapter/examples.json +0 -0
  35. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/ledger_adapter/test_adapter.py +0 -0
  36. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/moonwell_adapter/README.md +0 -0
  37. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/moonwell_adapter/__init__.py +0 -0
  38. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/moonwell_adapter/adapter.py +0 -0
  39. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/moonwell_adapter/test_adapter.py +0 -0
  40. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/pool_adapter/README.md +0 -0
  41. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/pool_adapter/__init__.py +0 -0
  42. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/pool_adapter/adapter.py +0 -0
  43. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/pool_adapter/examples.json +0 -0
  44. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/pool_adapter/test_adapter.py +0 -0
  45. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/token_adapter/README.md +0 -0
  46. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/token_adapter/__init__.py +0 -0
  47. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/token_adapter/adapter.py +0 -0
  48. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/token_adapter/examples.json +0 -0
  49. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/adapters/token_adapter/test_adapter.py +0 -0
  50. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/conftest.py +0 -0
  51. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/__init__.py +0 -0
  52. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/adapters/BaseAdapter.py +0 -0
  53. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/adapters/__init__.py +0 -0
  54. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/adapters/base.py +0 -0
  55. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/adapters/models.py +0 -0
  56. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/analytics/__init__.py +0 -0
  57. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/analytics/bootstrap.py +0 -0
  58. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/analytics/stats.py +0 -0
  59. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/analytics/test_analytics.py +0 -0
  60. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/BRAPClient.py +0 -0
  61. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/ClientManager.py +0 -0
  62. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/HyperlendClient.py +0 -0
  63. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/LedgerClient.py +0 -0
  64. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/PoolClient.py +0 -0
  65. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/TokenClient.py +0 -0
  66. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/WalletClient.py +0 -0
  67. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/WayfinderClient.py +0 -0
  68. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/__init__.py +0 -0
  69. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/clients/protocols.py +0 -0
  70. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/constants/__init__.py +0 -0
  71. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/constants/base.py +0 -0
  72. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/constants/erc20_abi.py +0 -0
  73. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/constants/hyperlend_abi.py +0 -0
  74. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/constants/moonwell_abi.py +0 -0
  75. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/engine/StrategyJob.py +0 -0
  76. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/services/test_local_evm_txn.py +0 -0
  77. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/strategies/Strategy.py +0 -0
  78. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/strategies/__init__.py +0 -0
  79. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/strategies/base.py +0 -0
  80. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/strategies/descriptors.py +0 -0
  81. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/utils/__init__.py +0 -0
  82. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/utils/erc20_service.py +0 -0
  83. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/utils/evm_helpers.py +0 -0
  84. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/utils/transaction.py +0 -0
  85. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/core/utils/wallets.py +0 -0
  86. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/policies/enso.py +0 -0
  87. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/policies/erc20.py +0 -0
  88. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/policies/evm.py +0 -0
  89. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/policies/hyper_evm.py +0 -0
  90. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/policies/hyperlend.py +0 -0
  91. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/policies/hyperliquid.py +0 -0
  92. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/policies/moonwell.py +0 -0
  93. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/policies/prjx.py +0 -0
  94. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/policies/util.py +0 -0
  95. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/run_strategy.py +0 -0
  96. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/scripts/__init__.py +0 -0
  97. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/scripts/create_strategy.py +0 -0
  98. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/scripts/make_wallets.py +0 -0
  99. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/__init__.py +0 -0
  100. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/basis_trading_strategy/README.md +0 -0
  101. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/basis_trading_strategy/__init__.py +0 -0
  102. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/basis_trading_strategy/constants.py +0 -0
  103. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/basis_trading_strategy/examples.json +0 -0
  104. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/basis_trading_strategy/snapshot_mixin.py +0 -0
  105. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/basis_trading_strategy/strategy.py +0 -0
  106. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/basis_trading_strategy/test_strategy.py +0 -0
  107. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/basis_trading_strategy/types.py +0 -0
  108. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/README.md +0 -0
  109. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/examples.json +0 -0
  110. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/test_strategy.py +0 -0
  111. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/README.md +0 -0
  112. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/examples.json +0 -0
  113. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/strategy.py +0 -0
  114. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/test_strategy.py +0 -0
  115. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/stablecoin_yield_strategy/README.md +0 -0
  116. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/stablecoin_yield_strategy/examples.json +0 -0
  117. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/stablecoin_yield_strategy/strategy.py +0 -0
  118. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/strategies/stablecoin_yield_strategy/test_strategy.py +0 -0
  119. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/templates/adapter/README.md +0 -0
  120. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/templates/adapter/adapter.py +0 -0
  121. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/templates/adapter/examples.json +0 -0
  122. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/templates/adapter/test_adapter.py +0 -0
  123. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/templates/strategy/README.md +0 -0
  124. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/templates/strategy/examples.json +0 -0
  125. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/templates/strategy/strategy.py +0 -0
  126. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/templates/strategy/test_strategy.py +0 -0
  127. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/tests/__init__.py +0 -0
  128. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/tests/test_smoke_manifest.py +0 -0
  129. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/tests/test_test_coverage.py +0 -0
  130. {wayfinder_paths-0.1.17 → wayfinder_paths-0.1.19}/wayfinder_paths/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: wayfinder-paths
3
- Version: 0.1.17
3
+ Version: 0.1.19
4
4
  Summary: Wayfinder Path: strategies and adapters
5
5
  Author: Wayfinder
6
6
  Author-email: dev@wayfinder.ai
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "wayfinder-paths"
3
- version = "0.1.17"
3
+ version = "0.1.19"
4
4
  description = "Wayfinder Path: strategies and adapters"
5
5
  readme = "README.md"
6
6
  authors = ["Wayfinder <dev@wayfinder.ai>"]
@@ -458,19 +458,8 @@ class BRAPAdapter(BaseAdapter):
458
458
  return v
459
459
  return None
460
460
 
461
- spender = (
462
- _as_address(transaction.get("allowanceTarget"))
463
- or _as_address(transaction.get("allowance_target"))
464
- or _as_address(transaction.get("approvalAddress"))
465
- or _as_address(transaction.get("approval_address"))
466
- or _as_address(transaction.get("spender"))
467
- or _as_address(quote.get("allowanceTarget"))
468
- or _as_address(quote.get("allowance_target"))
469
- or _as_address(quote.get("approvalAddress"))
470
- or _as_address(quote.get("approval_address"))
471
- or _as_address(quote.get("spender"))
472
- or _as_address(transaction.get("to"))
473
- )
461
+ spender = transaction.get("to")
462
+
474
463
  approve_amount = (
475
464
  quote.get("input_amount")
476
465
  or quote.get("inputAmount")
@@ -191,8 +191,7 @@ class HyperlendAdapter(BaseAdapter):
191
191
  target=self.gateway_address,
192
192
  abi=WRAPPED_TOKEN_GATEWAY_ABI,
193
193
  fn_name="withdrawETH",
194
- args=[self._gateway_first_arg(
195
- underlying_token), qty, strategy],
194
+ args=[self._gateway_first_arg(underlying_token), qty, strategy],
196
195
  from_address=strategy,
197
196
  chain_id=chain_id,
198
197
  )
@@ -235,7 +234,7 @@ class HyperlendAdapter(BaseAdapter):
235
234
  from_address=owner,
236
235
  chain_id=chain_id,
237
236
  token_address=token_address,
238
- spender=spender,
237
+ spender_address=spender,
239
238
  amount=amount,
240
239
  )
241
240
  return await self._send_tx(approve_tx)
@@ -256,9 +255,11 @@ class HyperlendAdapter(BaseAdapter):
256
255
  async with web3_from_chain_id(chain_id) as web3:
257
256
  contract = web3.eth.contract(address=target, abi=abi)
258
257
  try:
259
- data = await getattr(contract.functions, fn_name)(
260
- *args
261
- ).build_transaction({"from": from_address})["data"]
258
+ data = (
259
+ await getattr(contract.functions, fn_name)(*args).build_transaction(
260
+ {"from": from_address}
261
+ )
262
+ )["data"]
262
263
  except ValueError as exc:
263
264
  raise ValueError(f"Failed to encode {fn_name}: {exc}") from exc
264
265
 
@@ -292,6 +293,5 @@ class HyperlendAdapter(BaseAdapter):
292
293
 
293
294
  def _checksum(self, address: str | None) -> str:
294
295
  if not address:
295
- raise ValueError(
296
- "Missing required contract address in HyperLend config")
296
+ raise ValueError("Missing required contract address in HyperLend config")
297
297
  return to_checksum_address(address)
@@ -195,6 +195,18 @@ class StrategyJobConfig:
195
195
  )
196
196
 
197
197
 
198
+ def set_rpc_urls(rpc_urls):
199
+ if "strategy" not in CONFIG:
200
+ CONFIG["strategy"] = {}
201
+ if "rpc_urls" not in CONFIG["strategy"]:
202
+ CONFIG["strategy"]["rpc_urls"] = {}
203
+ CONFIG["strategy"]["rpc_urls"] = rpc_urls
204
+
205
+
206
+ def get_rpc_urls() -> dict[str, Any]:
207
+ return CONFIG.get("strategy", {}).get("rpc_urls", {})
208
+
209
+
198
210
  def get_api_base_url() -> str:
199
211
  system = CONFIG.get("system", {}) if isinstance(CONFIG, dict) else {}
200
212
  api_url = system.get("api_base_url")
@@ -4,7 +4,7 @@ from web3 import AsyncHTTPProvider, AsyncWeb3
4
4
  from web3.middleware import ExtraDataToPOAMiddleware
5
5
  from web3.module import Module
6
6
 
7
- from wayfinder_paths.core.config import CONFIG
7
+ from wayfinder_paths.core.config import get_rpc_urls
8
8
 
9
9
  POA_MIDDLEWARE_CHAIN_IDS: set = {56, 137, 43114}
10
10
 
@@ -21,7 +21,7 @@ class HyperModule(Module):
21
21
 
22
22
 
23
23
  def _get_rpcs_for_chain_id(chain_id: int) -> list:
24
- rpcs = CONFIG.get("strategy", {}).get("rpc_urls", {}).get(str(chain_id))
24
+ rpcs = get_rpc_urls().get(str(chain_id))
25
25
  if rpcs is None:
26
26
  raise ValueError(f"No RPCs configured for chain ID {chain_id}")
27
27
  return rpcs
@@ -2165,7 +2165,7 @@ class HyperlendStableYieldStrategy(Strategy):
2165
2165
  self, snapshot: dict[str, Any]
2166
2166
  ) -> dict[str, Any]:
2167
2167
  balances = {}
2168
- assets = snapshot.get("assets_view", {}).get("assets", [])
2168
+ assets = snapshot.get("assets", [])
2169
2169
  if assets:
2170
2170
  for asset in assets:
2171
2171
  checksum = asset.get("underlying_checksum") or asset.get("underlying")