@sodax/skills 2.0.0-rc.4 → 2.0.0-rc.6

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 (200) hide show
  1. package/.claude-plugin/plugin.json +4 -8
  2. package/AGENTS.md +27 -30
  3. package/README.md +10 -10
  4. package/package.json +1 -2
  5. package/skills/sodax-dapp-kit/SKILL.md +129 -0
  6. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/README.md +7 -7
  7. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/ai-rules.md +1 -1
  8. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/architecture.md +1 -1
  9. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/README.md +1 -1
  10. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/auxiliary-services.md +3 -3
  11. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/bitcoin.md +2 -2
  12. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/bridge.md +3 -3
  13. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/dex.md +3 -3
  14. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/migration.md +3 -3
  15. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/money-market.md +3 -3
  16. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/staking.md +3 -3
  17. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/swap.md +3 -3
  18. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/quickstart.md +2 -2
  19. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/README.md +3 -3
  20. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/invalidations.md +1 -1
  21. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/README.md +1 -1
  22. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/glossary.md +2 -2
  23. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/public-api.md +1 -1
  24. package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/querykey-conventions.md +2 -2
  25. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/README.md +8 -8
  26. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/ai-rules.md +3 -3
  27. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/breaking-changes/hook-signatures.md +3 -3
  28. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/breaking-changes/querykey-conventions.md +2 -2
  29. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/breaking-changes/result-handling.md +3 -3
  30. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/breaking-changes/sdk-leakage.md +11 -11
  31. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/checklist.md +4 -4
  32. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/README.md +1 -1
  33. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/auxiliary-services.md +5 -5
  34. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/bitcoin.md +3 -3
  35. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/bridge.md +4 -4
  36. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/dex.md +4 -4
  37. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/migration.md +4 -4
  38. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/money-market.md +4 -4
  39. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/staking.md +4 -4
  40. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/swap.md +4 -4
  41. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/recipes.md +1 -1
  42. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/reference/README.md +2 -2
  43. package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/reference/error-shape-crosswalk.md +4 -4
  44. package/skills/sodax-sdk/SKILL.md +141 -0
  45. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/README.md +6 -6
  46. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/architecture.md +1 -1
  47. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/README.md +1 -1
  48. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/auxiliary-services.md +1 -1
  49. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/bridge.md +1 -1
  50. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/dex.md +1 -1
  51. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/icx-bnusd-baln.md +2 -2
  52. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/money-market.md +1 -1
  53. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/staking.md +1 -1
  54. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/swap.md +1 -1
  55. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/quickstart.md +3 -3
  56. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/README.md +1 -1
  57. package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/README.md +1 -1
  58. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/README.md +7 -7
  59. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/ai-rules.md +1 -1
  60. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/breaking-changes/architecture.md +3 -3
  61. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/breaking-changes/result-and-errors.md +3 -3
  62. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/breaking-changes/type-system.md +2 -2
  63. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/README.md +1 -1
  64. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/auxiliary-services.md +4 -4
  65. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/bridge.md +3 -3
  66. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/dex.md +2 -2
  67. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/icx-bnusd-baln.md +2 -2
  68. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/money-market.md +2 -2
  69. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/staking.md +2 -2
  70. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/swap.md +2 -2
  71. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/recipes.md +1 -1
  72. package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/README.md +1 -1
  73. package/skills/sodax-wallet-sdk-core/SKILL.md +114 -0
  74. package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/README.md +1 -1
  75. package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/bridge-to-sdk.md +1 -1
  76. package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/setup-browser-extension.md +1 -1
  77. package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/README.md +1 -1
  78. package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/ai-rules.md +2 -2
  79. package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/defaults-config.md +1 -1
  80. package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/library-exports.md +2 -2
  81. package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/recipes/adopt-library-exports.md +1 -1
  82. package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/added-fields.md +1 -1
  83. package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/return-shapes.md +1 -1
  84. package/skills/sodax-wallet-sdk-react/SKILL.md +154 -0
  85. package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/README.md +1 -1
  86. package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/setup.md +2 -2
  87. package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/api-surface.md +1 -1
  88. package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/README.md +1 -1
  89. package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/recipes/multi-chain-modal.md +1 -1
  90. package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/reference/hooks.md +1 -1
  91. package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/reference/imports.md +1 -1
  92. package/knowledge/dapp-kit/AGENTS.md +0 -50
  93. package/knowledge/sdk/AGENTS.md +0 -41
  94. package/knowledge/wallet-sdk-core/AGENTS.md +0 -43
  95. package/knowledge/wallet-sdk-react/AGENTS.md +0 -46
  96. package/skills/sodax-dapp-kit-integration/SKILL.md +0 -71
  97. package/skills/sodax-dapp-kit-migration/SKILL.md +0 -58
  98. package/skills/sodax-sdk-integration/SKILL.md +0 -66
  99. package/skills/sodax-sdk-migration/SKILL.md +0 -75
  100. package/skills/sodax-wallet-sdk-core-integration/SKILL.md +0 -55
  101. package/skills/sodax-wallet-sdk-core-migration/SKILL.md +0 -56
  102. package/skills/sodax-wallet-sdk-react-integration/SKILL.md +0 -80
  103. package/skills/sodax-wallet-sdk-react-migration/SKILL.md +0 -71
  104. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/backend-queries.md +0 -0
  105. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/bitcoin.md +0 -0
  106. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/bridge.md +0 -0
  107. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/dex.md +0 -0
  108. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/migration.md +0 -0
  109. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/money-market.md +0 -0
  110. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/mutation-error-handling.md +0 -0
  111. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/observability.md +0 -0
  112. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/setup.md +0 -0
  113. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/staking.md +0 -0
  114. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/swap.md +0 -0
  115. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/wallet-connectivity.md +0 -0
  116. /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/hooks-index.md +0 -0
  117. /package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/reference/deleted-hooks.md +0 -0
  118. /package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/reference/renamed-hooks.md +0 -0
  119. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/ai-rules.md +0 -0
  120. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/chain-specifics.md +0 -0
  121. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/backend-server-init.md +0 -0
  122. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/chain-key-narrowing.md +0 -0
  123. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/gas-estimation.md +0 -0
  124. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/initialize-sodax.md +0 -0
  125. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/raw-tx-flow.md +0 -0
  126. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/result-and-errors.md +0 -0
  127. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/signed-tx-flow.md +0 -0
  128. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/testing.md +0 -0
  129. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/chain-keys.md +0 -0
  130. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/error-codes.md +0 -0
  131. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/glossary.md +0 -0
  132. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/public-api.md +0 -0
  133. /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/wallet-providers.md +0 -0
  134. /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/checklist.md +0 -0
  135. /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/deleted-exports.md +0 -0
  136. /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/error-code-crosswalk.md +0 -0
  137. /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/return-shapes.md +0 -0
  138. /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/sodax-config.md +0 -0
  139. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/ai-rules.md +0 -0
  140. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/architecture.md +0 -0
  141. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/README.md +0 -0
  142. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/bitcoin.md +0 -0
  143. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/evm.md +0 -0
  144. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/icon.md +0 -0
  145. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/injective.md +0 -0
  146. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/near.md +0 -0
  147. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/solana.md +0 -0
  148. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/stacks.md +0 -0
  149. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/stellar.md +0 -0
  150. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/sui.md +0 -0
  151. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/quickstart.md +0 -0
  152. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/README.md +0 -0
  153. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/defaults-and-overrides.md +0 -0
  154. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/library-exports.md +0 -0
  155. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/setup-private-key.md +0 -0
  156. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/sign-and-broadcast.md +0 -0
  157. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/testing.md +0 -0
  158. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/README.md +0 -0
  159. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/chain-support.md +0 -0
  160. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/glossary.md +0 -0
  161. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/interfaces.md +0 -0
  162. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/provider-classes.md +0 -0
  163. /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/public-api.md +0 -0
  164. /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/README.md +0 -0
  165. /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/base-wallet-provider.md +0 -0
  166. /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/folder-layout.md +0 -0
  167. /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/checklist.md +0 -0
  168. /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/recipes/README.md +0 -0
  169. /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/recipes/adopt-defaults.md +0 -0
  170. /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/README.md +0 -0
  171. /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/deleted-exports.md +0 -0
  172. /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/renamed-symbols.md +0 -0
  173. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/ai-rules.md +0 -0
  174. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/architecture.md +0 -0
  175. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/01-minimal-evm.tsx +0 -0
  176. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/02-multi-chain-modal.tsx +0 -0
  177. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/03-nextjs-app-router.tsx +0 -0
  178. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/04-walletconnect-setup.tsx +0 -0
  179. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/README.md +0 -0
  180. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/batch-operations.md +0 -0
  181. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/bridge-to-sdk.md +0 -0
  182. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/chain-detection.md +0 -0
  183. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/connect-button.md +0 -0
  184. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/multi-chain-modal.md +0 -0
  185. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/sign-message.md +0 -0
  186. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/sub-path-imports.md +0 -0
  187. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/switch-chain.md +0 -0
  188. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/walletconnect-setup.md +0 -0
  189. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/chain-support.md +0 -0
  190. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/connectors.md +0 -0
  191. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/hooks.md +0 -0
  192. /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/wallet-brands.md +0 -0
  193. /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/ai-rules.md +0 -0
  194. /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/breaking-changes.md +0 -0
  195. /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/checklist.md +0 -0
  196. /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/recipes/connect-button.md +0 -0
  197. /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/recipes/ssr-setup.md +0 -0
  198. /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/recipes/walletconnect-migration.md +0 -0
  199. /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/reference/components.md +0 -0
  200. /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/reference/config.md +0 -0
@@ -1,13 +1,9 @@
1
1
  {
2
2
  "name": "sodax-skills",
3
3
  "skills": [
4
- "./skills/sodax-sdk-migration",
5
- "./skills/sodax-sdk-integration",
6
- "./skills/sodax-wallet-sdk-core-migration",
7
- "./skills/sodax-wallet-sdk-core-integration",
8
- "./skills/sodax-wallet-sdk-react-migration",
9
- "./skills/sodax-wallet-sdk-react-integration",
10
- "./skills/sodax-dapp-kit-migration",
11
- "./skills/sodax-dapp-kit-integration"
4
+ "./skills/sodax-sdk",
5
+ "./skills/sodax-wallet-sdk-core",
6
+ "./skills/sodax-wallet-sdk-react",
7
+ "./skills/sodax-dapp-kit"
12
8
  ]
13
9
  }
package/AGENTS.md CHANGED
@@ -4,29 +4,29 @@
4
4
 
5
5
  ## What's here
6
6
 
7
- This package ships **eight skills** (`skills/<name>/SKILL.md`) and a **knowledge** tree (`knowledge/<pkg>/<mode>/`) split per SODAX package. Skills are action-oriented: when to use, workflow, anti-patterns, links into knowledge. Knowledge is the reference material your workflow points at.
7
+ This package ships **four mode-gated skills** (`skills/<name>/SKILL.md`) one per SODAX SDK package. Each skill bundles two long-form **knowledge** subtrees: `integration/knowledge/` (writing new v2 code) and `migration-v1-to-v2/knowledge/` (porting v1 → v2). Skills are action-oriented (when to use, workflow, anti-patterns, links into knowledge); knowledge is the reference material your workflow points at. SKILL.md gates by mode at the top — pick integration or migration based on the consumer signal.
8
8
 
9
- | SDK package | Skill (write new code) | Skill (port v1 → v2) |
10
- |---|---|---|
11
- | `@sodax/sdk` | `sodax-sdk-integration` | `sodax-sdk-migration` |
12
- | `@sodax/wallet-sdk-core` | `sodax-wallet-sdk-core-integration` | `sodax-wallet-sdk-core-migration` |
13
- | `@sodax/wallet-sdk-react` | `sodax-wallet-sdk-react-integration` | `sodax-wallet-sdk-react-migration` |
14
- | `@sodax/dapp-kit` | `sodax-dapp-kit-integration` | `sodax-dapp-kit-migration` |
9
+ | SDK package | Skill |
10
+ |---|---|
11
+ | `@sodax/sdk` | `sodax-sdk` |
12
+ | `@sodax/wallet-sdk-core` | `sodax-wallet-sdk-core` |
13
+ | `@sodax/wallet-sdk-react` | `sodax-wallet-sdk-react` |
14
+ | `@sodax/dapp-kit` | `sodax-dapp-kit` |
15
15
 
16
16
  > **What about `@sodax/types`?** No skill. The package has no consumer-facing surface — it's pure TypeScript types, re-exported through `@sodax/sdk`. Importing `@sodax/types` directly invites version skew. The SDK skills cover all `@sodax/types` symbols you need.
17
17
 
18
18
  ## Route by consumer intent
19
19
 
20
- Pick the consumer's situation, load the listed skills in order:
20
+ Pick the consumer's situation, load the listed skills in order. Each entry names the **skill** + the **mode** to run it in. SKILL.md has the mode decision-tree at the top — follow that section.
21
21
 
22
- | Consumer is… | Load skills |
22
+ | Consumer is… | Load skills (mode) |
23
23
  |---|---|
24
- | **Building a NEW React dapp** | `sodax-wallet-sdk-react-integration` → `sodax-dapp-kit-integration` → (`sodax-sdk-integration` only if dropping below dapp-kit) |
25
- | **Building a NEW React app, no dapp-kit** (calling the SDK directly) | `sodax-wallet-sdk-react-integration` → `sodax-sdk-integration` |
26
- | **Building a NEW Node / backend service or script** | `sodax-sdk-integration` → `sodax-wallet-sdk-core-integration` (only if it signs) |
27
- | **Building a NEW non-React browser flow** | `sodax-wallet-sdk-core-integration` → `sodax-sdk-integration` |
28
- | **Porting an EXISTING v1 React dapp** | `sodax-wallet-sdk-react-migration` → `sodax-dapp-kit-migration` → `sodax-sdk-migration` (then the matching `*-integration` skills for any new code) |
29
- | **Porting an EXISTING v1 backend** | `sodax-sdk-migration` → `sodax-wallet-sdk-core-migration` (often no-op — additive only) |
24
+ | **Building a NEW React dapp** | `sodax-wallet-sdk-react` (integration) → `sodax-dapp-kit` (integration) → (`sodax-sdk` (integration) only if dropping below dapp-kit) |
25
+ | **Building a NEW React app, no dapp-kit** (calling the SDK directly) | `sodax-wallet-sdk-react` (integration) → `sodax-sdk` (integration) |
26
+ | **Building a NEW Node / backend service or script** | `sodax-sdk` (integration) → `sodax-wallet-sdk-core` (integration; only if it signs) |
27
+ | **Building a NEW non-React browser flow** | `sodax-wallet-sdk-core` (integration) → `sodax-sdk` (integration) |
28
+ | **Porting an EXISTING v1 React dapp** | `sodax-wallet-sdk-react` (migration) → `sodax-dapp-kit` (migration) → `sodax-sdk` (migration). Then switch each skill to integration mode for any new code. |
29
+ | **Porting an EXISTING v1 backend** | `sodax-sdk` (migration) → `sodax-wallet-sdk-core` (migration; often no-op — additive only) |
30
30
 
31
31
  If you don't know which situation applies, **ask the user** rather than guessing. Two signals to listen for:
32
32
 
@@ -48,26 +48,23 @@ Each `SKILL.md` is short on purpose. Follow it like a procedure:
48
48
 
49
49
  ```
50
50
  packages/skills/
51
- ├── AGENTS.md # You are here
52
- ├── .claude-plugin/plugin.json # Skill registry (8 entries)
53
- ├── skills/
54
- ├── sodax-sdk-{integration,migration}/SKILL.md
55
- ├── sodax-wallet-sdk-core-{integration,migration}/SKILL.md
56
- ├── sodax-wallet-sdk-react-{integration,migration}/SKILL.md
57
- └── sodax-dapp-kit-{integration,migration}/SKILL.md
58
- └── knowledge/
59
- ├── sdk/{migration,integration}/ # ai-rules, quickstart, architecture, features/, recipes/, reference/, chain-specifics
60
- ├── wallet-sdk-core/{migration,integration}/
61
- ├── wallet-sdk-react/{migration,integration}/ # includes 4 working .tsx example apps
62
- └── dapp-kit/{migration,integration}/
51
+ ├── AGENTS.md # You are here
52
+ ├── .claude-plugin/plugin.json # Skill registry (4 entries)
53
+ └── skills/ # Each skill is mode-gated: SKILL.md + two knowledge subtrees
54
+ ├── sodax-sdk/ {SKILL.md, integration/knowledge/, migration-v1-to-v2/knowledge/}
55
+ ├── sodax-wallet-sdk-core/ {SKILL.md, integration/knowledge/, migration-v1-to-v2/knowledge/}
56
+ ├── sodax-wallet-sdk-react/ {SKILL.md, integration/knowledge/, migration-v1-to-v2/knowledge/ — incl. 4 .tsx example apps under integration/knowledge/examples/}
57
+ └── sodax-dapp-kit/ {SKILL.md, integration/knowledge/, migration-v1-to-v2/knowledge/}
63
58
  ```
64
59
 
60
+ Each `<mode>/knowledge/` subtree contains `ai-rules.md`, `quickstart.md`, `architecture.md`, `features/`, `recipes/`, `reference/`, and `chain-specifics.md` / `breaking-changes/` where applicable.
61
+
65
62
  ## Conventions you can rely on
66
63
 
67
- - **`ai-rules.md` first.** Each `<mode>/ai-rules.md` is the consolidated DO / DO NOT list. Skipping it is the top cause of stale v1 patterns.
64
+ - **`ai-rules.md` first.** Each mode's `<mode>/knowledge/ai-rules.md` is the consolidated DO / DO NOT list. Skipping it is the top cause of stale v1 patterns.
68
65
  - **`README.md`** at every level is the tree index — useful when the skill points you at a directory rather than a file.
69
- - **Reference tables** under `<mode>/reference/` are for lookup, not narrative — chain keys, error codes, public API surface, hook signatures.
70
- - **Recipes** under `<mode>/recipes/` are self-contained — a recipe contains before/after code, steps, and verification. Don't jump between recipes for one task.
66
+ - **Reference tables** under `<mode>/knowledge/reference/` are for lookup, not narrative — chain keys, error codes, public API surface, hook signatures.
67
+ - **Recipes** under `<mode>/knowledge/recipes/` are self-contained — a recipe contains before/after code, steps, and verification. Don't jump between recipes for one task.
71
68
  - **Token budget**: if you're loading more than 3 files for a single task, you're probably off-route — re-check the workflow.
72
69
 
73
70
  ## When SODAX is the wrong tool
package/README.md CHANGED
@@ -13,7 +13,7 @@ Using the [`skills` CLI](https://github.com/vercel-labs/skills) from Vercel Labs
13
13
  npx skills@latest add icon-project/sodax-sdks/packages/skills
14
14
  ```
15
15
 
16
- Eight skills land in your repo (under `.claude/skills/` or wherever the CLI installs them), one knowledge tree per SODAX SDK package, and a router `AGENTS.md`. Re-running the command picks up the latest content.
16
+ Four mode-gated skills land in your repo (under `.claude/skills/` or wherever the CLI installs them) one per SODAX SDK package, each with two knowledge subtrees (`integration/` for new v2 code, `migration-v1-to-v2/` for v1→v2 porting) — plus a router `AGENTS.md`. Re-running the command picks up the latest content.
17
17
 
18
18
  > **npm fallback** (web chats or when you prefer a devDependency): `pnpm add -D @sodax/skills`, then point your agent at `node_modules/@sodax/skills/AGENTS.md`. See the [integration guide](https://github.com/icon-project/sodax-sdks/blob/main/docs/ai-integration-guide.md#wire-your-agent).
19
19
 
@@ -21,9 +21,9 @@ Eight skills land in your repo (under `.claude/skills/` or wherever the CLI inst
21
21
 
22
22
  | Bundle | Contains |
23
23
  |---|---|
24
- | **8 skills** under `skills/sodax-<pkg>-<mode>/SKILL.md` | One skill per (package, mode). `<pkg>` ∈ `sdk`, `wallet-sdk-core`, `wallet-sdk-react`, `dapp-kit`. `<mode>` `migration` (port v1 → v2), `integration` (write new v2 code). |
25
- | **Knowledge** under `knowledge/<pkg>/<mode>/` | Long-form supporting docs — features, recipes, reference tables, breaking-change writeups, code examples. Skills link into these. |
26
- | **`AGENTS.md`** at the package root | Tool-neutral router: maps the consumer's stated task to the right set of skills. |
24
+ | **4 mode-gated skills** under `skills/sodax-<pkg>/SKILL.md` | One skill per SODAX SDK package. `<pkg>` ∈ `sdk`, `wallet-sdk-core`, `wallet-sdk-react`, `dapp-kit`. Each SKILL.md gates by mode (integration vs migration) at the top of the body. |
25
+ | **Knowledge** under `skills/sodax-<pkg>/{integration,migration-v1-to-v2}/knowledge/` | Long-form supporting docs — features, recipes, reference tables, breaking-change writeups, code examples. Each skill ships both mode subtrees so `npx skills add` copies the full reference together. |
26
+ | **`AGENTS.md`** at the package root | Tool-neutral router: maps the consumer's stated task to the right skill + mode. |
27
27
 
28
28
  Skills are short and action-oriented (workflow + anti-patterns + links). Knowledge is the lookup material. Don't read knowledge files top-to-bottom — the skill tells the agent which file is relevant for the current task.
29
29
 
@@ -31,12 +31,12 @@ Skills are short and action-oriented (workflow + anti-patterns + links). Knowled
31
31
 
32
32
  After install, your agent picks based on what you're building. Quick guide:
33
33
 
34
- | You're building | Load these skills |
34
+ | You're building | Load these skills (mode) |
35
35
  |---|---|
36
- | Backend / Node app (no React) using `@sodax/sdk` | `sodax-sdk-integration` (always) + `sodax-wallet-sdk-core-integration` (if signing) |
37
- | React dapp using `@sodax/dapp-kit` | `sodax-dapp-kit-integration` + `sodax-wallet-sdk-react-integration` (always) + `sodax-sdk-integration` (for any unwrapped operations) |
38
- | React app calling the SDK directly (no `dapp-kit`) | `sodax-sdk-integration` + `sodax-wallet-sdk-react-integration` |
39
- | **Porting v1 code** | Add the corresponding `*-migration` skill alongside each `*-integration` you'd use. |
36
+ | Backend / Node app (no React) using `@sodax/sdk` | `sodax-sdk` (integration) + `sodax-wallet-sdk-core` (integration; if signing) |
37
+ | React dapp using `@sodax/dapp-kit` | `sodax-dapp-kit` (integration) + `sodax-wallet-sdk-react` (integration; always) + `sodax-sdk` (integration; for any unwrapped operations) |
38
+ | React app calling the SDK directly (no `dapp-kit`) | `sodax-sdk` (integration) + `sodax-wallet-sdk-react` (integration) |
39
+ | **Porting v1 code** | Same skills, switched to migration mode (each SKILL.md mode-gates by consumer signal). |
40
40
 
41
41
  `AGENTS.md` says the same thing in router form — your agent reads it first and picks.
42
42
 
@@ -46,4 +46,4 @@ LLM training data drifts: snippets from chat often use stale method names, resha
46
46
 
47
47
  ## Feedback
48
48
 
49
- If your agent generates wrong code despite reading the docs, that's a doc bug — please open an issue on the [Sodax SDKs repo](https://github.com/icon-project/sodax-sdks/issues) with the prompt and the incorrect output. The `knowledge/` tree is structurally CI-guarded (frontmatter, link resolution); prose claims benefit from real-world feedback.
49
+ If your agent generates wrong code despite reading the docs, that's a doc bug — please open an issue on the [Sodax SDKs repo](https://github.com/icon-project/sodax-sdks/issues) with the prompt and the incorrect output. The per-skill `knowledge/` subtrees are structurally CI-guarded (frontmatter, link resolution); prose claims benefit from real-world feedback.
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "2.0.0-rc.4",
7
+ "version": "2.0.0-rc.6",
8
8
  "license": "MIT",
9
9
  "description": "AI-agent skills and knowledge for consumers of @sodax/* SDKs (Claude Code, Codex, Cursor, …)",
10
10
  "keywords": [
@@ -29,7 +29,6 @@
29
29
  "files": [
30
30
  ".claude-plugin",
31
31
  "skills",
32
- "knowledge",
33
32
  "AGENTS.md",
34
33
  "README.md"
35
34
  ],
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: sodax-dapp-kit
3
+ description: 'INTEGRATION (write NEW code) — @sodax/dapp-kit is React hooks wrapping @sodax/sdk with React Query across 11 feature domains (swap, money market, staking, bridge, dex, migration, partner, recovery, bitcoin/Radfi, backend queries, shared). React-only — Node and backend code uses `@sodax/sdk` directly. Use whenever a React dapp needs SODAX feature hooks. Triggers on "use @sodax/dapp-kit", "useSwap", "useMoneyMarket", "useStake", "useBridge", "useDex", "useMigrate", any `use<Feature>` hook name from dapp-kit, "Sodax React hooks", "dapp-kit query / mutation". v2 hook shape: mutation hooks return `SafeUseMutationResult` with `mutateAsyncSafe(vars): Promise<Result<TData>>`. mutationFn unwraps SDK Result<T> and throws on `!ok` so React Query''s native error model engages. Hook-owned invalidations — consumer onSuccess runs after. MIGRATION (port v1 → v2) — a deep canonicalization pass: single-object hook params, mandatory `mutateAsyncSafe`, hook-owned invalidations, throw-on-`Result.!ok` inside `mutationFn`, canonical queryKey/mutationKey conventions. Plus the SDK underneath was reshaped (chain-key-driven routing, `Result<T>` everywhere, `WalletProviderSlot<K, Raw>`). v1 dapp-kit code will not compile against v2. Triggers on "migrate @sodax/dapp-kit", "useSpokeProvider gone", "dapp-kit v1 → v2", "invalidateMmQueries broken", "dapp-kit hook signatures changed", v1 fingerprints (positional args, hook-init `spokeProvider`, `useSpokeProvider`, `invalidateMmQueries`, legacy `useMigrate`, `*_MAINNET_CHAIN_ID`). Load this skill if EITHER applies; the body gates by mode.'
4
+ ---
5
+
6
+ # When to use this skill
7
+
8
+ AGENTS.md routes you here when you're working with `@sodax/dapp-kit` v2 — either writing new code or porting from v1.
9
+
10
+ **Pick your mode:**
11
+
12
+ - Writing NEW v2 code (greenfield dapp-kit usage, no v1 hooks)? → § **Integration mode** below.
13
+ - Porting EXISTING v1 code to v2 (grep finds `useSpokeProvider`, `invalidateMmQueries`, legacy `useMigrate`, `*_MAINNET_CHAIN_ID`)? → § **Migration mode** below.
14
+ - Both? → migration first, then integration. Stale v1 patterns leak into new code if you skip it.
15
+
16
+ For backend / Node → use `sodax-sdk` (dapp-kit is React-only).
17
+ Every dapp-kit consumer also needs wallet connectivity — also load `sodax-wallet-sdk-react`.
18
+
19
+ ---
20
+
21
+ ## Integration mode (writing new v2 code)
22
+
23
+ Pick this mode when the consumer is a React dapp using `@sodax/dapp-kit` hooks. Common signals:
24
+
25
+ - Any feature hook: `useSwap`, `useMoneyMarket*`, `useStake`, `useBridge`, `useDex*`, `useMigrate*`, `useRadfi*`, `usePartner*`, `useRecovery*`.
26
+ - "Wire React Query for SODAX" — `SodaxProvider`, `createSodaxQueryClient`.
27
+ - "Branch on mutation result without try/catch" — `mutateAsyncSafe`.
28
+ - "Custom invalidation on success" — consumer-provided `onSuccess` (note: hook-owned invalidations already run; yours runs *after*).
29
+
30
+ ### Workflow
31
+
32
+ 1. Read [`integration/knowledge/ai-rules.md`](./integration/knowledge/ai-rules.md) — DO / DO NOT / workflow / stop conditions.
33
+ 2. Read [`integration/knowledge/quickstart.md`](./integration/knowledge/quickstart.md) — install + wire providers + first feature.
34
+ 3. Read [`integration/knowledge/architecture.md`](./integration/knowledge/architecture.md) — hook shapes, queryKey conventions, `useSafeMutation`, `unwrapResult`, `Result<T>`.
35
+ 4. For each feature you use, read [`integration/knowledge/features/`](./integration/knowledge/features/) — `swap.md`, `money-market.md`, `staking.md`, `bridge.md`, `dex.md`, `migration.md`, `bitcoin.md` (Radfi, dapp-kit-unique), `auxiliary-services.md` (partner + recovery + backend + shared).
36
+ 5. Recipes → [`integration/knowledge/recipes/`](./integration/knowledge/recipes/) — `setup.md`, `wallet-connectivity.md`, per-feature, `mutation-error-handling.md`, `observability.md`, `invalidations.md`.
37
+ 6. Lookups → [`integration/knowledge/reference/`](./integration/knowledge/reference/) — `hooks-index.md`, `querykey-conventions.md`, `public-api.md`, `glossary.md`.
38
+
39
+ ### v2 in one minute
40
+
41
+ 1. **Hooks accept a single object with one or two top-level keys.** Mutation hooks take only `{ mutationOptions }` at hook-init; query hooks take `{ params, queryOptions }`. ALL domain inputs (`params`, `walletProvider`, per-call config) flow through `mutate(vars)` for mutations.
42
+ 2. **Every mutation hook returns `SafeUseMutationResult`** — extends React Query's `UseMutationResult` with `mutateAsyncSafe(vars): Promise<Result<TData>>` (never rejects). Use `mutateAsyncSafe` for sequenced flows; `mutateAsync` for try/catch flows; `mutate` for fire-and-forget render-driven flows.
43
+ 3. **`mutationFn` throws on SDK `!ok`.** dapp-kit calls `unwrapResult` on the SDK's `Result<T>`, throwing on failure. This makes React Query's native error model engage (`isError`, `error`, `onError`, `retry`, devtools). `mutateAsyncSafe` packages the throw back into `Result<T>` for ergonomic branching.
44
+ 4. **Hook-owned invalidations.** Each mutation hook invalidates the relevant query keys in its `onSuccess`, derived from `vars`. Consumer-provided `onSuccess` runs after. v1's manual `invalidateMmQueries` utilities are gone.
45
+ 5. **Canonical queryKey shape.** `[feature, action, ...identifiers]`. First segment matches the directory name (`swap`, `mm`, `bridge`, `staking`, `dex`, `bitcoin`, `partner`, `recovery`, `backend`, `shared`, `migrate`). camelCase. Bigints stringified.
46
+
47
+ ### Conventions agents must follow (integration)
48
+
49
+ - **Use dapp-kit's exported hooks.** Don't wrap with React Query's `useMutation` directly — consumers depend on `mutateAsyncSafe`.
50
+ - **Branch on `mutateAsyncSafe`'s `Result.ok` for sequenced flows.** The user-reject case is modal, not exceptional.
51
+ - **`ChainKeys.*` over hard-coded chain strings.** The set evolves per release.
52
+ - **Drop `spokeProvider`.** It's not a v2 concept. `walletProvider` flows through `mutate(vars)` for signed flows.
53
+ - **Don't recreate hook-owned invalidations.** Each mutation hook already invalidates the relevant keys; consumer `onSuccess` runs after for any extra logic.
54
+ - Import only from the package root: `import { useSwap, SodaxProvider, createSodaxQueryClient } from '@sodax/dapp-kit'`. dapp-kit re-exports `@sodax/sdk`'s public surface (`ChainKeys`, `SodaxConfig`, types) — you can import them from dapp-kit directly.
55
+ - Don't add `@sodax/types` as a dependency — re-exported via `@sodax/sdk`.
56
+
57
+ ### Top traps to avoid (integration)
58
+
59
+ 1. **Reaching for `useSpokeProvider`.** Deleted. Pass `walletProvider` from `useWalletProvider({ xChainId: chainKey })` (`@sodax/wallet-sdk-react`) directly into `mutate(vars)`.
60
+ 2. **Treating mutation `data` as `Result<T>`.** v2's `mutationFn` unwraps before resolving — `data` is the unwrapped success value (e.g. `SwapResponse`, `TxHashPair`). For SDK failures, look at `mutation.error` or use `mutateAsyncSafe` for the `Result<T>` shape.
61
+ 3. **Forgetting `try/catch` on `mutateAsync`.** v2's `mutateAsync` rejects on SDK `!ok`. Prefer `mutateAsyncSafe` (never rejects).
62
+ 4. **Hook-level `spokeProvider` / `params`.** v1 hooks took these positionally or at hook-init. v2 hooks take only `{ mutationOptions }` (mutations) or `{ params, queryOptions }` (queries). All domain inputs live in `mutate(vars)` for mutations.
63
+ 5. **Reading `xToken.xChainId` or hard-coding `*_MAINNET_CHAIN_ID`.** SDK leakage — these were renamed: `XToken.chainKey`, `ChainKeys.X_MAINNET`.
64
+
65
+ ### Verification (integration)
66
+
67
+ ```bash
68
+ pnpm tsc --noEmit # must exit clean
69
+ ```
70
+
71
+ In browser:
72
+ - Successful mutations populate `data` with the unwrapped success value.
73
+ - SDK `!ok` errors arrive via `mutation.error` (when using `mutate` / `mutateAsync`) or as `result.ok === false` (when using `mutateAsyncSafe`).
74
+ - React Query devtools show hook-owned invalidations firing on success.
75
+
76
+ ---
77
+
78
+ ## Migration mode (v1 → v2 porting)
79
+
80
+ Pick this mode when the consumer has v1 dapp-kit patterns. Grep signals:
81
+
82
+ ```bash
83
+ grep -rE 'useSpokeProvider|invalidateMmQueries|useMigrate\b' src/
84
+ grep -rE '_MAINNET_CHAIN_ID\b|\bxChainId\b' src/
85
+ ```
86
+
87
+ If the project has both v1 patterns AND wants new features: **migration first, then integration**. Stale v1 patterns leak into new code if you skip it.
88
+
89
+ The SDK underneath also changed — load the `sodax-sdk` skill (migration mode) alongside this one (the migration trees cross-link).
90
+
91
+ ### Workflow
92
+
93
+ 1. Read [`migration-v1-to-v2/knowledge/ai-rules.md`](./migration-v1-to-v2/knowledge/ai-rules.md) — DO / DO NOT / workflow / stop conditions.
94
+ 2. Read [`migration-v1-to-v2/knowledge/README.md`](./migration-v1-to-v2/knowledge/README.md) — overview, reading order, glossary.
95
+ 3. Walk [`checklist.md`](./migration-v1-to-v2/knowledge/checklist.md) — top-down cross-cutting steps.
96
+ 4. **Cross-cutting breaking changes** in order:
97
+ - [`breaking-changes/hook-signatures.md`](./migration-v1-to-v2/knowledge/breaking-changes/hook-signatures.md) — single-arg policy + `ReadHookParams` / `MutationHookParams`.
98
+ - [`breaking-changes/result-handling.md`](./migration-v1-to-v2/knowledge/breaking-changes/result-handling.md) — `Result<T>` success-path → throws; `mutateAsyncSafe`.
99
+ - [`breaking-changes/querykey-conventions.md`](./migration-v1-to-v2/knowledge/breaking-changes/querykey-conventions.md) — camelCase + default mutationKey.
100
+ - [`breaking-changes/sdk-leakage.md`](./migration-v1-to-v2/knowledge/breaking-changes/sdk-leakage.md) — cross-links to SDK migration tree.
101
+ 5. **Per-feature playbooks** under [`features/`](./migration-v1-to-v2/knowledge/features/) — `swap.md`, `money-market.md`, `staking.md`, `bridge.md`, `dex.md`, `migration.md`, `bitcoin.md`, `auxiliary-services.md`.
102
+ 6. **Codemods + adapters** → [`recipes.md`](./migration-v1-to-v2/knowledge/recipes.md).
103
+ 7. **Reference** → [`reference/`](./migration-v1-to-v2/knowledge/reference/) — `deleted-hooks.md` (e.g. `useSpokeProvider`, `invalidateMmQueries`, legacy `useMigrate`), `renamed-hooks.md`, `error-shape-crosswalk.md`.
104
+
105
+ ### Top traps to avoid (migration)
106
+
107
+ 1. **Reaching for `useSpokeProvider`.** Deleted. Pass `walletProvider` from `useWalletProvider({ xChainId: chainKey })` (`@sodax/wallet-sdk-react`) directly into `mutate(vars)`.
108
+ 2. **Treating mutation `data` as `Result<T>`.** v2's `mutationFn` unwraps before resolving — `data` is the unwrapped success value.
109
+ 3. **Forgetting `try/catch` on `mutateAsync`.** v2's `mutateAsync` rejects on SDK `!ok`. Prefer `mutateAsyncSafe` (never rejects).
110
+ 4. **Hook-level `spokeProvider` / `params`.** v1 hooks took these positionally or at hook-init. v2 hooks take only `{ mutationOptions }` (mutations) or `{ params, queryOptions }` (queries). All domain inputs live in `mutate(vars)` for mutations.
111
+ 5. **Reading `xToken.xChainId` or hard-coding `*_MAINNET_CHAIN_ID`.** SDK leakage. Renamed: `XToken.chainKey`, `ChainKeys.X_MAINNET`.
112
+
113
+ ### Verification (migration)
114
+
115
+ ```bash
116
+ pnpm tsc --noEmit # must exit clean
117
+ grep -rE 'useSpokeProvider|invalidateMmQueries\b' src/ # empty
118
+ ```
119
+
120
+ Manual:
121
+ - Sequenced flows use `mutateAsyncSafe` and branch on `result.ok`.
122
+ - React Query devtools show hook-owned invalidations on success (consumer `onSuccess` runs after, doesn't duplicate them).
123
+
124
+ ---
125
+
126
+ # Related skills
127
+
128
+ - `sodax-wallet-sdk-react` — wire the wallet, get the `walletProvider` to feed into dapp-kit `mutate(vars)`.
129
+ - `sodax-sdk` — for any direct SDK call alongside dapp-kit hooks (and where the SDK-level v1 → v2 work happens).
@@ -1,6 +1,6 @@
1
1
  # Integration — `@sodax/dapp-kit` v2
2
2
 
3
- This tree documents v2 of the dapp-kit React hooks for **new consumers** building against it. If you're porting v1 code, start at [`../migration/README.md`](../migration/README.md) instead.
3
+ This tree documents v2 of the dapp-kit React hooks for **new consumers** building against it. If you're porting v1 code, start at [`README.md`](../../migration-v1-to-v2/knowledge/README.md) instead.
4
4
 
5
5
  ## Files in this tree
6
6
 
@@ -33,17 +33,17 @@ This tree documents v2 of the dapp-kit React hooks for **new consumers** buildin
33
33
 
34
34
  If your project also has v1 dapp-kit call sites, port them first using:
35
35
 
36
- - [`../migration/README.md`](../migration/README.md) — overview, reading order, and v1↔v2 glossary.
37
- - [`../migration/checklist.md`](../migration/checklist.md) — top-down cross-cutting checklist.
38
- - [`../migration/breaking-changes/`](../migration/breaking-changes/) — the four cross-cutting changes (hook-signatures, result-handling, queryKey-conventions, sdk-leakage).
39
- - [`../migration/features/`](../migration/features/) — per-feature playbooks in lockstep with `integration/features/` here.
36
+ - [`README.md`](../../migration-v1-to-v2/knowledge/README.md) — overview, reading order, and v1↔v2 glossary.
37
+ - [`checklist.md`](../../migration-v1-to-v2/knowledge/checklist.md) — top-down cross-cutting checklist.
38
+ - [`breaking-changes/`](../../migration-v1-to-v2/knowledge/breaking-changes/) — the four cross-cutting changes (hook-signatures, result-handling, queryKey-conventions, sdk-leakage).
39
+ - [`features/`](../../migration-v1-to-v2/knowledge/features/) — per-feature playbooks in lockstep with `integration/features/` here.
40
40
 
41
41
  The naming rule: **every file in `integration/features/` has a sibling in `migration/features/` with the same filename.** When you're deep in one, the other is one path-swap away.
42
42
 
43
43
  ## Cross-references to the underlying SDK
44
44
 
45
- `@sodax/dapp-kit` re-exports `@sodax/sdk` at the package root, so most types you'd reach for (`ChainKeys`, `SodaxConfig`, `CreateIntentParams`, `XToken`, `Result`, `SodaxError`) are available from `@sodax/dapp-kit` directly. The Core SDK has its own knowledge tree at [`@sodax/sdk` knowledge tree](https://github.com/icon-project/sodax-sdks/tree/main/packages/skills/knowledge/sdk/) (sibling under `@sodax/skills`). Useful for:
45
+ `@sodax/dapp-kit` re-exports `@sodax/sdk` at the package root, so most types you'd reach for (`ChainKeys`, `SodaxConfig`, `CreateIntentParams`, `XToken`, `Result`, `SodaxError`) are available from `@sodax/dapp-kit` directly. The Core SDK has its own skill load `sodax-sdk` (integration mode) (sibling under `@sodax/skills`). Useful for:
46
46
 
47
- - The full SDK migration playbook for v1→v2 (chain-key terminology, `Result<T>` semantics, ConfigService) — referenced from [`../migration/breaking-changes/sdk-leakage.md`](../migration/breaking-changes/sdk-leakage.md).
47
+ - The full SDK migration playbook for v1→v2 (chain-key terminology, `Result<T>` semantics, ConfigService) — referenced from [`breaking-changes/sdk-leakage.md`](../../migration-v1-to-v2/knowledge/breaking-changes/sdk-leakage.md).
48
48
  - Architectural concepts that surface through hook signatures (`SodaxError<C>` vocabulary, `WalletProviderSlot<K, Raw>` discriminator semantics).
49
49
  - Backend / Node.js usage patterns (where dapp-kit isn't applicable).
@@ -47,7 +47,7 @@ DO / DO NOT / workflow / stop conditions for AI agents writing v2 dapp-kit code.
47
47
  |---|---|
48
48
  | User wants a chain not in `ChainKeys.*` | Adding a new chain requires SDK-level changes — out of scope for consumer code. |
49
49
  | User wants to use React Server Components / RSC patterns | dapp-kit is client-side React (uses React Query, hooks, browser APIs). Server Components don't run hooks. Tell the user the dapp-kit code goes in client components. |
50
- | User wants to skip the wallet-sdk-react integration | If they have their own wallet abstraction, it's possible — they need to construct objects satisfying `I*WalletProvider` interfaces from `@sodax/sdk`. Refer them to the `sodax-sdk-integration` skill (sibling under `@sodax/skills`) for non-React patterns. |
50
+ | User wants to skip the wallet-sdk-react integration | If they have their own wallet abstraction, it's possible — they need to construct objects satisfying `I*WalletProvider` interfaces from `@sodax/sdk`. Refer them to the `sodax-sdk` (integration mode) skill (sibling under `@sodax/skills`) for non-React patterns. |
51
51
  | User wants to use v1 dapp-kit (positional args, `useSpokeProvider`, `Result<T>` in success path) | Tell them to either upgrade or stay on v1. The shapes are not compatible. |
52
52
 
53
53
  ## Verification protocol
@@ -273,4 +273,4 @@ Every mutation hook returns `SafeUseMutationResult` and is registered in `_mutat
273
273
  - [`recipes/invalidations.md`](recipes/invalidations.md) — composing your own `onSuccess`.
274
274
  - [`reference/querykey-conventions.md`](reference/querykey-conventions.md) — full key tables.
275
275
  - [`features/`](features/) — per-feature reference (hook tables, types, gotchas).
276
- - [`@sodax/sdk`: `integration/architecture.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/architecture.md) — the underlying SDK architecture (`Result<T>`, `SodaxError<C>`, `WalletProviderSlot<K, Raw>`).
276
+ - `sodax-sdk`: `integration/knowledge/architecture.md` — the underlying SDK architecture (`Result<T>`, `SodaxError<C>`, `WalletProviderSlot<K, Raw>`).
@@ -20,7 +20,7 @@ Per-feature reference docs. Each file documents the hooks, params types, return
20
20
 
21
21
  ## Pair-completeness
22
22
 
23
- Every file in this directory has a sibling in [`../../migration/features/`](../../migration/features/) with the same filename — the v1→v2 porting playbook for that feature. When you're deep in one, the other is one path-swap away.
23
+ Every file in this directory has a sibling in [`features/`](../../../migration-v1-to-v2/knowledge/features/) with the same filename — the v1→v2 porting playbook for that feature. When you're deep in one, the other is one path-swap away.
24
24
 
25
25
  ## Cross-references
26
26
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Smaller surfaces grouped together: partner fee claiming, recovery, backend queries (read-only data hooks), and shared utilities.
4
4
 
5
- Pair: [`../../migration/features/auxiliary-services.md`](../../migration/features/auxiliary-services.md).
5
+ Pair: [`features/auxiliary-services.md`](../../../migration-v1-to-v2/knowledge/features/auxiliary-services.md).
6
6
 
7
7
  ## Partner
8
8
 
@@ -165,5 +165,5 @@ All overridable via `queryOptions.refetchInterval`.
165
165
 
166
166
  - [`../recipes/backend-queries.md`](../recipes/backend-queries.md) — worked examples for intent tracking, orderbook, MM data.
167
167
  - [`../recipes/wallet-connectivity.md`](../recipes/wallet-connectivity.md) — `useXBalances` worked example.
168
- - [`../../migration/features/auxiliary-services.md`](../../migration/features/auxiliary-services.md) — v1 → v2 porting.
169
- - [`@sodax/sdk`: `integration/features/auxiliary-services.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/features/auxiliary-services.md) — underlying SDK auxiliary surfaces (partner, recovery, backendApi).
168
+ - [`features/auxiliary-services.md`](../../../migration-v1-to-v2/knowledge/features/auxiliary-services.md) — v1 → v2 porting.
169
+ - `sodax-sdk`: `integration/knowledge/features/auxiliary-services.md` — underlying SDK auxiliary surfaces (partner, recovery, backendApi).
@@ -2,7 +2,7 @@
2
2
 
3
3
  Bitcoin trading via the Radfi protocol — authenticate, fund a trading wallet, withdraw, manage UTXOs. **Dapp-kit-unique surface** (no SDK equivalent — these flows are React-shaped).
4
4
 
5
- Pair: [`../../migration/features/bitcoin.md`](../../migration/features/bitcoin.md).
5
+ Pair: [`features/bitcoin.md`](../../../migration-v1-to-v2/knowledge/features/bitcoin.md).
6
6
 
7
7
  ## Hook surface
8
8
 
@@ -84,4 +84,4 @@ type RenewUtxosVars = { txIdVouts: string[]; walletProvider: IBitcoinWalletProvi
84
84
  ## Cross-references
85
85
 
86
86
  - [`../recipes/bitcoin.md`](../recipes/bitcoin.md) — full worked examples (session, fund, withdraw, UTXO management).
87
- - [`../../migration/features/bitcoin.md`](../../migration/features/bitcoin.md) — v1 → v2 porting (mostly hook signature shape changes; flow stays the same).
87
+ - [`features/bitcoin.md`](../../../migration-v1-to-v2/knowledge/features/bitcoin.md) — v1 → v2 porting (mostly hook signature shape changes; flow stays the same).
@@ -2,7 +2,7 @@
2
2
 
3
3
  Cross-chain token transfers via the hub-and-spoke vault architecture.
4
4
 
5
- Pair: [`../../migration/features/bridge.md`](../../migration/features/bridge.md).
5
+ Pair: [`features/bridge.md`](../../../migration-v1-to-v2/knowledge/features/bridge.md).
6
6
 
7
7
  ## Hook surface
8
8
 
@@ -87,5 +87,5 @@ type UseGetBridgeableTokensParams = ReadHookParams<XToken[], {
87
87
  ## Cross-references
88
88
 
89
89
  - [`../recipes/bridge.md`](../recipes/bridge.md) — full worked example.
90
- - [`../../migration/features/bridge.md`](../../migration/features/bridge.md) — v1 → v2 porting.
91
- - [`@sodax/sdk`: `integration/features/bridge.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/features/bridge.md) — underlying SDK bridge surface.
90
+ - [`features/bridge.md`](../../../migration-v1-to-v2/knowledge/features/bridge.md) — v1 → v2 porting.
91
+ - `sodax-sdk`: `integration/knowledge/features/bridge.md` — underlying SDK bridge surface.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Concentrated-liquidity DEX (similar to Uniswap V3). Two-step flow: deposit assets to mint pool tokens, then supply liquidity to a position.
4
4
 
5
- Pair: [`../../migration/features/dex.md`](../../migration/features/dex.md).
5
+ Pair: [`features/dex.md`](../../../migration-v1-to-v2/knowledge/features/dex.md).
6
6
 
7
7
  ## Hook surface
8
8
 
@@ -148,5 +148,5 @@ if (supplyResult && walletProvider) {
148
148
  ## Cross-references
149
149
 
150
150
  - [`../recipes/dex.md`](../recipes/dex.md) — full worked examples.
151
- - [`../../migration/features/dex.md`](../../migration/features/dex.md) — v1 → v2 porting.
152
- - [`@sodax/sdk`: `integration/features/dex.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/features/dex.md) — underlying SDK DEX surface.
151
+ - [`features/dex.md`](../../../migration-v1-to-v2/knowledge/features/dex.md) — v1 → v2 porting.
152
+ - `sodax-sdk`: `integration/knowledge/features/dex.md` — underlying SDK DEX surface.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Token migration: ICX/wICX → SODA, BALN → SODA, legacy bnUSD ↔ new bnUSD. Six per-action hooks plus shared allowance/approve.
4
4
 
5
- Pair: [`../../migration/features/migration.md`](../../migration/features/migration.md).
5
+ Pair: [`features/migration.md`](../../../migration-v1-to-v2/knowledge/features/migration.md).
6
6
 
7
7
  ## Hook surface
8
8
 
@@ -114,5 +114,5 @@ await approve({ params: bnUSDParams, walletProvider, action: 'migrate' });
114
114
  ## Cross-references
115
115
 
116
116
  - [`../recipes/migration.md`](../recipes/migration.md) — full worked examples.
117
- - [`../../migration/features/migration.md`](../../migration/features/migration.md) — v1 → v2 porting (the v1 dapp-kit had a single `useMigrate(spokeProvider)`-style hook; v2 split into 6).
118
- - [`@sodax/sdk`: `integration/features/icx-bnusd-baln.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/features/icx-bnusd-baln.md) — underlying SDK migration surface.
117
+ - [`features/migration.md`](../../../migration-v1-to-v2/knowledge/features/migration.md) — v1 → v2 porting (the v1 dapp-kit had a single `useMigrate(spokeProvider)`-style hook; v2 split into 6).
118
+ - `sodax-sdk`: `integration/knowledge/features/icx-bnusd-baln.md` — underlying SDK migration surface.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Cross-chain lending and borrowing.
4
4
 
5
- Pair: [`../../migration/features/money-market.md`](../../migration/features/money-market.md).
5
+ Pair: [`features/money-market.md`](../../../migration-v1-to-v2/knowledge/features/money-market.md).
6
6
 
7
7
  ## Hook surface
8
8
 
@@ -140,5 +140,5 @@ if (!isApproved) await approve({ params: supplyParams, walletProvider });
140
140
  ## Cross-references
141
141
 
142
142
  - [`../recipes/money-market.md`](../recipes/money-market.md) — full worked examples.
143
- - [`../../migration/features/money-market.md`](../../migration/features/money-market.md) — v1 → v2 porting.
144
- - [`@sodax/sdk`: `integration/features/money-market.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/features/money-market.md) — underlying SDK MM surface.
143
+ - [`features/money-market.md`](../../../migration-v1-to-v2/knowledge/features/money-market.md) — v1 → v2 porting.
144
+ - `sodax-sdk`: `integration/knowledge/features/money-market.md` — underlying SDK MM surface.
@@ -2,7 +2,7 @@
2
2
 
3
3
  SODA → xSODA staking via ERC-4626 vault. Five user actions plus reads.
4
4
 
5
- Pair: [`../../migration/features/staking.md`](../../migration/features/staking.md).
5
+ Pair: [`features/staking.md`](../../../migration-v1-to-v2/knowledge/features/staking.md).
6
6
 
7
7
  ## Hook surface
8
8
 
@@ -119,5 +119,5 @@ All read hooks here are **already unwrapped** — they call `unwrapResult` inter
119
119
  ## Cross-references
120
120
 
121
121
  - [`../recipes/staking.md`](../recipes/staking.md) — full worked examples.
122
- - [`../../migration/features/staking.md`](../../migration/features/staking.md) — v1 → v2 porting.
123
- - [`@sodax/sdk`: `integration/features/staking.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/features/staking.md) — underlying SDK staking surface.
122
+ - [`features/staking.md`](../../../migration-v1-to-v2/knowledge/features/staking.md) — v1 → v2 porting.
123
+ - `sodax-sdk`: `integration/knowledge/features/staking.md` — underlying SDK staking surface.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Cross-chain token swaps via the intent-based solver.
4
4
 
5
- Pair: [`../../migration/features/swap.md`](../../migration/features/swap.md).
5
+ Pair: [`features/swap.md`](../../../migration-v1-to-v2/knowledge/features/swap.md).
6
6
 
7
7
  ## Hook surface
8
8
 
@@ -97,5 +97,5 @@ type UseStatusParams = ReadHookParams<
97
97
 
98
98
  - [`../recipes/swap.md`](../recipes/swap.md) — full worked example.
99
99
  - [`../recipes/mutation-error-handling.md`](../recipes/mutation-error-handling.md) — call-shape patterns.
100
- - [`../../migration/features/swap.md`](../../migration/features/swap.md) — v1 → v2 porting.
101
- - [`@sodax/sdk`: `integration/features/swap.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/features/swap.md) — underlying SDK swap surface.
100
+ - [`features/swap.md`](../../../migration-v1-to-v2/knowledge/features/swap.md) — v1 → v2 porting.
101
+ - `sodax-sdk`: `integration/knowledge/features/swap.md` — underlying SDK swap surface.
@@ -172,7 +172,7 @@ Some query hooks return `Result<T>` as their `data` (the underlying SDK method r
172
172
  | `Type ... is missing the following properties from type 'MoneyMarketSupplyParams': srcChainKey, srcAddress` | SDK-leakage: v2 added required `srcChainKey` + `srcAddress` to action params. | Add both to your `params` payload. See [`features/money-market.md`](features/money-market.md). |
173
173
  | `Cannot read properties of undefined (reading 'sodax')` | `useSodaxContext` (or any dapp-kit hook) called outside `<SodaxProvider>`. | Wrap your component tree in `<SodaxProvider>` from this package. |
174
174
 
175
- For broader v1 → v2 migration, see [`../migration/README.md`](../migration/README.md).
175
+ For broader v1 → v2 migration, see [`README.md`](../../migration-v1-to-v2/knowledge/README.md).
176
176
 
177
177
  ## What to read next
178
178
 
@@ -184,5 +184,5 @@ For broader v1 → v2 migration, see [`../migration/README.md`](../migration/REA
184
184
 
185
185
  ## Cross-references
186
186
 
187
- - [`@sodax/sdk`: `AGENTS.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/AGENTS.md) — the underlying Core SDK's knowledge tree (sibling under `@sodax/skills`). Useful when you hit SDK-level types or behaviors leaking through hook signatures.
187
+ - `sodax-sdk` (integration mode) skill — the underlying Core SDK's knowledge tree (sibling under `@sodax/skills`). Load it when you hit SDK-level types or behaviors leaking through hook signatures.
188
188
 
@@ -40,7 +40,7 @@ Copy-paste patterns for adding SODAX features to a React app. Each recipe is sel
40
40
 
41
41
  ## Hook conventions (mandatory)
42
42
 
43
- These rules are enforced across every dapp-kit hook by [`packages/dapp-kit/src/hooks/_mutationContract.test.ts`](../../../src/hooks/_mutationContract.test.ts) and apply to everything you write against this package.
43
+ These rules are enforced across every dapp-kit hook by a contract test in the `@sodax/dapp-kit` source (`src/hooks/_mutationContract.test.ts`) and apply to everything you write against this package.
44
44
 
45
45
  ### Single-object params
46
46
 
@@ -129,8 +129,8 @@ const display = formatUnits(amount, 18); // '1.5'
129
129
 
130
130
  ## Backend / non-React consumers
131
131
 
132
- If you're building a backend (API server, bot, script), you don't need `@sodax/dapp-kit` at all — use `@sodax/sdk` directly. The SDK has its own knowledge tree shipped via `@sodax/skills` — load the `sodax-sdk-integration` skill or read `node_modules/@sodax/skills/knowledge/sdk/AGENTS.md` directly.
132
+ If you're building a backend (API server, bot, script), you don't need `@sodax/dapp-kit` at all — use `@sodax/sdk` directly. The SDK has its own knowledge tree shipped via `@sodax/skills` — load the `sodax-sdk` (integration mode) skill.
133
133
 
134
134
  ## Migration pointer
135
135
 
136
- If you're porting v1 dapp-kit code to v2, start at [`../../migration/README.md`](../../migration/README.md). It covers: hook signatures (single-arg policy), `Result<T>` handling shift, deleted `useSpokeProvider`, queryKey conventions, and SDK leakage.
136
+ If you're porting v1 dapp-kit code to v2, start at [`README.md`](../../../migration-v1-to-v2/knowledge/README.md). It covers: hook signatures (single-arg policy), `Result<T>` handling shift, deleted `useSpokeProvider`, queryKey conventions, and SDK leakage.
@@ -107,7 +107,7 @@ The order is unchanged: hook invalidations → consumer `onSuccess` → per-call
107
107
 
108
108
  In v1 dapp-kit, consumers managed invalidations themselves — most apps had a `lib/invalidate*Queries.ts` utility that fired `queryClient.invalidateQueries(...)` after each mutation. Those utilities are no longer needed in v2; delete them.
109
109
 
110
- If you're migrating v1 code, see [`../../migration/breaking-changes/hook-signatures.md`](../../migration/breaking-changes/hook-signatures.md) for the full delta.
110
+ If you're migrating v1 code, see [`breaking-changes/hook-signatures.md`](../../../migration-v1-to-v2/knowledge/breaking-changes/hook-signatures.md) for the full delta.
111
111
 
112
112
  ## Cross-references
113
113
 
@@ -9,4 +9,4 @@ Lookup tables. Read while writing code; not a tutorial.
9
9
  | [`public-api.md`](public-api.md) | What `@sodax/dapp-kit` exports + import rules. |
10
10
  | [`glossary.md`](glossary.md) | Type aliases (`ReadHookParams`, `MutationHookParams`, `SafeUseMutationResult`, `MutationHookOptions`, etc.). |
11
11
 
12
- For full SDK reference (chain keys, error codes, `Sodax` class surface, wallet provider interfaces), see [`@sodax/sdk`: `integration/reference/`](https://github.com/icon-project/sodax-sdks/tree/main/packages/skills/knowledge/sdk/integration/reference/) — `@sodax/dapp-kit` re-exports the SDK's public surface, so those types are reachable from `@sodax/dapp-kit` directly.
12
+ For full SDK reference (chain keys, error codes, `Sodax` class surface, wallet provider interfaces), see `sodax-sdk`: `integration/knowledge/reference/` — `@sodax/dapp-kit` re-exports the SDK's public surface, so those types are reachable from `@sodax/dapp-kit` directly.
@@ -1,6 +1,6 @@
1
1
  # Glossary — `@sodax/dapp-kit` v2
2
2
 
3
- Type aliases, conventions, and domain terms specific to dapp-kit. SDK-side terms (Hub, Spoke, Intent, ChainKey, SodaxError, etc.) are documented in [`@sodax/sdk`: `integration/reference/glossary.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/reference/glossary.md).
3
+ Type aliases, conventions, and domain terms specific to dapp-kit. SDK-side terms (Hub, Spoke, Intent, ChainKey, SodaxError, etc.) are documented in `sodax-sdk`: `integration/knowledge/reference/glossary.md`.
4
4
 
5
5
  ## Hook shape types
6
6
 
@@ -187,4 +187,4 @@ When porting v1 code, these shifts are pervasive:
187
187
  - [`../architecture.md`](../architecture.md) — full design rationale for these types and conventions.
188
188
  - [`querykey-conventions.md`](querykey-conventions.md) — queryKey/mutationKey rules.
189
189
  - [`public-api.md`](public-api.md) — what's exported.
190
- - [`@sodax/sdk`: `integration/reference/glossary.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/reference/glossary.md) — SDK-side terms (Hub, Spoke, Intent, ChainKey, SodaxError).
190
+ - `sodax-sdk`: `integration/knowledge/reference/glossary.md` — SDK-side terms (Hub, Spoke, Intent, ChainKey, SodaxError).
@@ -107,4 +107,4 @@ Don't rely on any other path being present. Consumer-facing AI docs (this knowle
107
107
 
108
108
  - [`../architecture.md`](../architecture.md) — design rationale for the canonical hook shapes.
109
109
  - [`hooks-index.md`](hooks-index.md) — full hook list.
110
- - [`@sodax/sdk`: `integration/reference/public-api.md`](https://github.com/icon-project/sodax-sdks/blob/main/packages/skills/knowledge/sdk/integration/reference/public-api.md) — underlying SDK's public API surface.
110
+ - `sodax-sdk`: `integration/knowledge/reference/public-api.md` — underlying SDK's public API surface.