wayfinder-paths 0.1.27__tar.gz → 0.1.28__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.
Files changed (190) hide show
  1. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/PKG-INFO +3 -2
  2. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/pyproject.toml +1 -1
  3. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/exchange.py +8 -40
  4. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/local_signer.py +2 -2
  5. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/LICENSE +0 -0
  6. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/README.md +0 -0
  7. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/__init__.py +0 -0
  8. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/__init__.py +0 -0
  9. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/balance_adapter/README.md +0 -0
  10. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/balance_adapter/adapter.py +0 -0
  11. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/balance_adapter/examples.json +0 -0
  12. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/balance_adapter/manifest.yaml +0 -0
  13. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/balance_adapter/test_adapter.py +0 -0
  14. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/boros_adapter/__init__.py +0 -0
  15. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/boros_adapter/adapter.py +0 -0
  16. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/boros_adapter/client.py +0 -0
  17. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/boros_adapter/manifest.yaml +0 -0
  18. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/boros_adapter/parsers.py +0 -0
  19. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/boros_adapter/test_adapter.py +0 -0
  20. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/boros_adapter/test_golden.py +0 -0
  21. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/boros_adapter/types.py +0 -0
  22. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/boros_adapter/utils.py +0 -0
  23. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/brap_adapter/README.md +0 -0
  24. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/brap_adapter/__init__.py +0 -0
  25. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/brap_adapter/adapter.py +0 -0
  26. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/brap_adapter/examples.json +0 -0
  27. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/brap_adapter/manifest.yaml +0 -0
  28. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/brap_adapter/test_adapter.py +0 -0
  29. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperlend_adapter/__init__.py +0 -0
  30. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperlend_adapter/adapter.py +0 -0
  31. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperlend_adapter/manifest.yaml +0 -0
  32. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperlend_adapter/test_adapter.py +0 -0
  33. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/__init__.py +0 -0
  34. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/adapter.py +0 -0
  35. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/executor.py +0 -0
  36. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/manifest.yaml +0 -0
  37. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/paired_filler.py +0 -0
  38. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/test_adapter.py +0 -0
  39. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/test_adapter_live.py +0 -0
  40. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/test_executor.py +0 -0
  41. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/test_utils.py +0 -0
  42. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/util.py +0 -0
  43. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/hyperliquid_adapter/utils.py +0 -0
  44. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/ledger_adapter/README.md +0 -0
  45. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/ledger_adapter/__init__.py +0 -0
  46. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/ledger_adapter/adapter.py +0 -0
  47. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/ledger_adapter/examples.json +0 -0
  48. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/ledger_adapter/manifest.yaml +0 -0
  49. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/ledger_adapter/test_adapter.py +0 -0
  50. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/moonwell_adapter/README.md +0 -0
  51. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/moonwell_adapter/__init__.py +0 -0
  52. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/moonwell_adapter/adapter.py +0 -0
  53. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/moonwell_adapter/manifest.yaml +0 -0
  54. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/moonwell_adapter/test_adapter.py +0 -0
  55. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/multicall_adapter/__init__.py +0 -0
  56. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/multicall_adapter/adapter.py +0 -0
  57. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/multicall_adapter/manifest.yaml +0 -0
  58. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/multicall_adapter/test_adapter.py +0 -0
  59. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pendle_adapter/README.md +0 -0
  60. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pendle_adapter/__init__.py +0 -0
  61. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pendle_adapter/adapter.py +0 -0
  62. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pendle_adapter/examples.json +0 -0
  63. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pendle_adapter/manifest.yaml +0 -0
  64. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pendle_adapter/test_adapter.py +0 -0
  65. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pool_adapter/README.md +0 -0
  66. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pool_adapter/__init__.py +0 -0
  67. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pool_adapter/adapter.py +0 -0
  68. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pool_adapter/examples.json +0 -0
  69. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pool_adapter/manifest.yaml +0 -0
  70. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/pool_adapter/test_adapter.py +0 -0
  71. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/token_adapter/README.md +0 -0
  72. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/token_adapter/__init__.py +0 -0
  73. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/token_adapter/adapter.py +0 -0
  74. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/token_adapter/examples.json +0 -0
  75. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/token_adapter/manifest.yaml +0 -0
  76. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/adapters/token_adapter/test_adapter.py +0 -0
  77. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/conftest.py +0 -0
  78. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/__init__.py +0 -0
  79. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/adapters/BaseAdapter.py +0 -0
  80. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/adapters/__init__.py +0 -0
  81. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/adapters/models.py +0 -0
  82. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/analytics/__init__.py +0 -0
  83. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/analytics/bootstrap.py +0 -0
  84. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/analytics/stats.py +0 -0
  85. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/analytics/test_analytics.py +0 -0
  86. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/BRAPClient.py +0 -0
  87. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/BalanceClient.py +0 -0
  88. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/ClientManager.py +0 -0
  89. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/HyperlendClient.py +0 -0
  90. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/LedgerClient.py +0 -0
  91. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/PoolClient.py +0 -0
  92. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/TokenClient.py +0 -0
  93. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/WayfinderClient.py +0 -0
  94. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/__init__.py +0 -0
  95. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/protocols.py +0 -0
  96. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/clients/test_ledger_client.py +0 -0
  97. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/config.py +0 -0
  98. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/constants/__init__.py +0 -0
  99. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/constants/base.py +0 -0
  100. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/constants/chains.py +0 -0
  101. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/constants/contracts.py +0 -0
  102. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/constants/erc20_abi.py +0 -0
  103. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/constants/hyperlend_abi.py +0 -0
  104. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/constants/hyperliquid.py +0 -0
  105. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/constants/moonwell_abi.py +0 -0
  106. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/constants/tokens.py +0 -0
  107. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/engine/manifest.py +0 -0
  108. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/strategies/Strategy.py +0 -0
  109. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/strategies/__init__.py +0 -0
  110. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/strategies/base.py +0 -0
  111. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/strategies/descriptors.py +0 -0
  112. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/strategies/opa_loop.py +0 -0
  113. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/types.py +0 -0
  114. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/utils/__init__.py +0 -0
  115. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/utils/evm_helpers.py +0 -0
  116. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/utils/test_transaction.py +0 -0
  117. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/utils/tokens.py +0 -0
  118. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/utils/transaction.py +0 -0
  119. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/utils/wallets.py +0 -0
  120. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/core/utils/web3.py +0 -0
  121. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/__init__.py +0 -0
  122. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/preview.py +0 -0
  123. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/scripting.py +0 -0
  124. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/server.py +0 -0
  125. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/state/__init__.py +0 -0
  126. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/state/profile_store.py +0 -0
  127. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/state/store.py +0 -0
  128. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/test_scripting.py +0 -0
  129. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/__init__.py +0 -0
  130. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/balances.py +0 -0
  131. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/discovery.py +0 -0
  132. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/execute.py +0 -0
  133. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/hyperliquid.py +0 -0
  134. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/quotes.py +0 -0
  135. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/run_script.py +0 -0
  136. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/strategies.py +0 -0
  137. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/tokens.py +0 -0
  138. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/tools/wallets.py +0 -0
  139. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/mcp/utils.py +0 -0
  140. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/enso.py +0 -0
  141. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/erc20.py +0 -0
  142. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/evm.py +0 -0
  143. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/hyper_evm.py +0 -0
  144. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/hyperlend.py +0 -0
  145. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/hyperliquid.py +0 -0
  146. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/lifi.py +0 -0
  147. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/moonwell.py +0 -0
  148. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/prjx.py +0 -0
  149. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/policies/util.py +0 -0
  150. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/run_strategy.py +0 -0
  151. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/__init__.py +0 -0
  152. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/basis_trading_strategy/README.md +0 -0
  153. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/basis_trading_strategy/__init__.py +0 -0
  154. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/basis_trading_strategy/constants.py +0 -0
  155. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/basis_trading_strategy/examples.json +0 -0
  156. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/basis_trading_strategy/snapshot_mixin.py +0 -0
  157. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/basis_trading_strategy/strategy.py +0 -0
  158. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/basis_trading_strategy/test_strategy.py +0 -0
  159. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/basis_trading_strategy/types.py +0 -0
  160. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/__init__.py +0 -0
  161. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/boros_ops_mixin.py +0 -0
  162. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/constants.py +0 -0
  163. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/examples.json +0 -0
  164. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/hyperevm_ops_mixin.py +0 -0
  165. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/hyperliquid_ops_mixin.py +0 -0
  166. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/manifest.yaml +0 -0
  167. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/planner.py +0 -0
  168. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/risk_ops_mixin.py +0 -0
  169. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/snapshot_mixin.py +0 -0
  170. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/strategy.py +0 -0
  171. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/test_planner_golden.py +0 -0
  172. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/test_strategy.py +0 -0
  173. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/types.py +0 -0
  174. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/boros_hype_strategy/withdraw_mixin.py +0 -0
  175. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/README.md +0 -0
  176. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/examples.json +0 -0
  177. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/strategy.py +0 -0
  178. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/hyperlend_stable_yield_strategy/test_strategy.py +0 -0
  179. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/README.md +0 -0
  180. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/examples.json +0 -0
  181. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/strategy.py +0 -0
  182. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/moonwell_wsteth_loop_strategy/test_strategy.py +0 -0
  183. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/stablecoin_yield_strategy/README.md +0 -0
  184. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/stablecoin_yield_strategy/examples.json +0 -0
  185. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/stablecoin_yield_strategy/strategy.py +0 -0
  186. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/strategies/stablecoin_yield_strategy/test_strategy.py +0 -0
  187. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/tests/__init__.py +0 -0
  188. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/tests/test_mcp_quote_swap.py +0 -0
  189. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/tests/test_test_coverage.py +0 -0
  190. {wayfinder_paths-0.1.27 → wayfinder_paths-0.1.28}/wayfinder_paths/tests/test_utils.py +0 -0
@@ -1,12 +1,13 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: wayfinder-paths
3
- Version: 0.1.27
3
+ Version: 0.1.28
4
4
  Summary: Wayfinder Path: strategies and adapters
5
5
  Author: Wayfinder
6
6
  Author-email: dev@wayfinder.ai
7
7
  Requires-Python: >=3.12,<4.0
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Programming Language :: Python :: 3.12
10
+ Classifier: Programming Language :: Python :: 3.13
10
11
  Requires-Dist: aiocache (>=0.12.3,<0.13.0)
11
12
  Requires-Dist: aiohttp (>=3.13.0,<4.0.0)
12
13
  Requires-Dist: eth-account (>=0.13.7,<0.14.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "wayfinder-paths"
3
- version = "0.1.27"
3
+ version = "0.1.28"
4
4
  description = "Wayfinder Path: strategies and adapters"
5
5
  readme = "README.md"
6
6
  authors = ["Wayfinder <dev@wayfinder.ai>"]
@@ -1,9 +1,7 @@
1
- import json
2
1
  from decimal import Decimal
3
2
  from typing import Any, Literal
4
3
 
5
4
  from eth_account.messages import encode_typed_data
6
- from eth_utils import keccak
7
5
  from hyperliquid.api import API
8
6
  from hyperliquid.exchange import get_timestamp_ms
9
7
  from hyperliquid.info import Info
@@ -204,7 +202,7 @@ class Exchange:
204
202
  "time": nonce,
205
203
  "type": "withdraw3",
206
204
  }
207
- payload = self._get_hypecore_user_signature_payload(
205
+ payload = user_signed_payload(
208
206
  "HyperliquidTransaction:Withdraw", WITHDRAW_SIGN_TYPES, action
209
207
  )
210
208
  if not (sig := await self.sign(payload, action, address)):
@@ -230,7 +228,7 @@ class Exchange:
230
228
  "amount": amount,
231
229
  "time": nonce,
232
230
  }
233
- payload = self._get_hypecore_user_signature_payload(
231
+ payload = user_signed_payload(
234
232
  "HyperliquidTransaction:SpotSend", SPOT_TRANSFER_SIGN_TYPES, action
235
233
  )
236
234
  if not (sig := await self.sign(payload, action, address)):
@@ -248,7 +246,7 @@ class Exchange:
248
246
  "nonce": nonce,
249
247
  "type": "usdClassTransfer",
250
248
  }
251
- payload = self._get_hypecore_user_signature_payload(
249
+ payload = user_signed_payload(
252
250
  "HyperliquidTransaction:UsdClassTransfer",
253
251
  USD_CLASS_TRANSFER_SIGN_TYPES,
254
252
  action,
@@ -268,7 +266,7 @@ class Exchange:
268
266
  "nonce": nonce,
269
267
  "type": "userDexAbstraction",
270
268
  }
271
- payload = self._get_hypecore_user_signature_payload(
269
+ payload = user_signed_payload(
272
270
  "HyperliquidTransaction:UserDexAbstraction",
273
271
  USER_DEX_ABSTRACTION_SIGN_TYPES,
274
272
  action,
@@ -288,56 +286,26 @@ class Exchange:
288
286
  "nonce": nonce,
289
287
  "type": "approveBuilderFee",
290
288
  }
291
- payload = self._get_hypecore_user_signature_payload(
289
+ payload = user_signed_payload(
292
290
  "HyperliquidTransaction:ApproveBuilderFee", BUILDER_FEE_SIGN_TYPES, action
293
291
  )
294
292
  if not (sig := await self.sign(payload, action, address)):
295
293
  return USER_DECLINED_ERROR
296
294
  return self._broadcast_hypecore(action, nonce, sig)
297
295
 
298
- def build_sign(self, raw_payload: dict) -> str:
299
- """Build and format the signing payload based on signing_type."""
300
- if self.signing_type == "eip712":
301
- # Remote signing: Return JSON string of typed data
302
- return json.dumps(
303
- raw_payload,
304
- default=lambda o: (
305
- "0x" + o.hex() if isinstance(o, (bytes, bytearray)) else o
306
- ),
307
- separators=(",", ":"),
308
- )
309
- # Local signing: Return keccak hash
310
- encoded = encode_typed_data(full_message=raw_payload)
311
- full_msg = b"\x19" + encoded.version + encoded.header + encoded.body
312
- return f"0x{keccak(full_msg).hex()}"
313
-
314
296
  async def sign(
315
297
  self, payload: str, action: dict, address: str
316
298
  ) -> dict[str, Any] | None:
317
299
  """Sign the payload and return Hyperliquid-format signature."""
318
300
  if self.signing_type == "eip712":
319
- # For EIP-712: parse JSON, call callback with typed data dict, convert hex to {r,s,v}
320
- typed_data = json.loads(payload)
321
- sig_hex = await self.sign_callback(typed_data)
301
+ sig_hex = await self.sign_callback(payload)
322
302
  if not sig_hex:
323
303
  return None
324
304
  return self.util._sig_hex_to_hl_signature(sig_hex)
325
305
 
326
- # Local signing: payload is hash string, callback returns {r,s,v} directly
306
+ payload = encode_typed_data(full_message=payload)
327
307
  return await self.sign_callback(action, payload, address)
328
308
 
329
- def _get_hypecore_l1_payload(
330
- self, action, nonce, expires_after=None, is_mainnet=True
331
- ):
332
- """Build L1 action payload (orders, leverage, cancels)."""
333
- payload = get_l1_action_payload(action, None, nonce, expires_after, is_mainnet)
334
- return self.build_sign(payload)
335
-
336
- def _get_hypecore_user_signature_payload(self, primary_type, payload_types, action):
337
- """Build user signed action payload (withdrawals, transfers, etc.)."""
338
- payload = user_signed_payload(primary_type, payload_types, action)
339
- return self.build_sign(payload)
340
-
341
309
  def _broadcast_hypecore(self, action, nonce, signature):
342
310
  """Broadcast a signed action to the Hyperliquid exchange."""
343
311
  payload = {
@@ -351,7 +319,7 @@ class Exchange:
351
319
  async def sign_and_broadcast_hypecore(self, action, address):
352
320
  """Sign and broadcast an L1 action (orders, leverage, cancels)."""
353
321
  nonce = get_timestamp_ms()
354
- payload = self._get_hypecore_l1_payload(action, nonce)
322
+ payload = payload = get_l1_action_payload(action, None, nonce, None, True)
355
323
  if not (sig := await self.sign(payload, action, address)):
356
324
  return USER_DECLINED_ERROR
357
325
  return self._broadcast_hypecore(action, nonce, sig)
@@ -52,7 +52,7 @@ def create_local_signer(config: dict[str, Any]) -> HyperliquidSignCallback:
52
52
 
53
53
  # Create account
54
54
  pk = private_key if private_key.startswith("0x") else "0x" + private_key
55
- account = Account.from_key(pk)
55
+ account: Account = Account.from_key(pk)
56
56
 
57
57
  async def sign(
58
58
  action: dict[str, Any], payload: str, address: str
@@ -76,7 +76,7 @@ def create_local_signer(config: dict[str, Any]) -> HyperliquidSignCallback:
76
76
  return None
77
77
 
78
78
  # Sign the hash
79
- signed = account.signHash(payload)
79
+ signed = account.sign_message(payload)
80
80
  return {"r": hex(signed.r), "s": hex(signed.s), "v": signed.v}
81
81
 
82
82
  return sign