@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.
- package/.claude-plugin/plugin.json +4 -8
- package/AGENTS.md +27 -30
- package/README.md +10 -10
- package/package.json +1 -2
- package/skills/sodax-dapp-kit/SKILL.md +129 -0
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/README.md +7 -7
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/ai-rules.md +1 -1
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/architecture.md +1 -1
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/README.md +1 -1
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/auxiliary-services.md +3 -3
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/bitcoin.md +2 -2
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/bridge.md +3 -3
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/dex.md +3 -3
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/migration.md +3 -3
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/money-market.md +3 -3
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/staking.md +3 -3
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/features/swap.md +3 -3
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/quickstart.md +2 -2
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/README.md +3 -3
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/invalidations.md +1 -1
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/README.md +1 -1
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/glossary.md +2 -2
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/public-api.md +1 -1
- package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/querykey-conventions.md +2 -2
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/README.md +8 -8
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/ai-rules.md +3 -3
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/breaking-changes/hook-signatures.md +3 -3
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/breaking-changes/querykey-conventions.md +2 -2
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/breaking-changes/result-handling.md +3 -3
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/breaking-changes/sdk-leakage.md +11 -11
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/checklist.md +4 -4
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/README.md +1 -1
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/auxiliary-services.md +5 -5
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/bitcoin.md +3 -3
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/bridge.md +4 -4
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/dex.md +4 -4
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/migration.md +4 -4
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/money-market.md +4 -4
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/staking.md +4 -4
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/features/swap.md +4 -4
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/recipes.md +1 -1
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/reference/README.md +2 -2
- package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/reference/error-shape-crosswalk.md +4 -4
- package/skills/sodax-sdk/SKILL.md +141 -0
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/README.md +6 -6
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/architecture.md +1 -1
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/README.md +1 -1
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/auxiliary-services.md +1 -1
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/bridge.md +1 -1
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/dex.md +1 -1
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/icx-bnusd-baln.md +2 -2
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/money-market.md +1 -1
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/staking.md +1 -1
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/features/swap.md +1 -1
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/quickstart.md +3 -3
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/README.md +1 -1
- package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/README.md +1 -1
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/README.md +7 -7
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/ai-rules.md +1 -1
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/breaking-changes/architecture.md +3 -3
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/breaking-changes/result-and-errors.md +3 -3
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/breaking-changes/type-system.md +2 -2
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/README.md +1 -1
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/auxiliary-services.md +4 -4
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/bridge.md +3 -3
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/dex.md +2 -2
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/icx-bnusd-baln.md +2 -2
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/money-market.md +2 -2
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/staking.md +2 -2
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/features/swap.md +2 -2
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/recipes.md +1 -1
- package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/README.md +1 -1
- package/skills/sodax-wallet-sdk-core/SKILL.md +114 -0
- package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/README.md +1 -1
- package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/bridge-to-sdk.md +1 -1
- package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/setup-browser-extension.md +1 -1
- package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/README.md +1 -1
- package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/ai-rules.md +2 -2
- package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/defaults-config.md +1 -1
- package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/library-exports.md +2 -2
- package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/recipes/adopt-library-exports.md +1 -1
- package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/added-fields.md +1 -1
- package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/return-shapes.md +1 -1
- package/skills/sodax-wallet-sdk-react/SKILL.md +154 -0
- package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/README.md +1 -1
- package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/setup.md +2 -2
- package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/api-surface.md +1 -1
- package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/README.md +1 -1
- package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/recipes/multi-chain-modal.md +1 -1
- package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/reference/hooks.md +1 -1
- package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/reference/imports.md +1 -1
- package/knowledge/dapp-kit/AGENTS.md +0 -50
- package/knowledge/sdk/AGENTS.md +0 -41
- package/knowledge/wallet-sdk-core/AGENTS.md +0 -43
- package/knowledge/wallet-sdk-react/AGENTS.md +0 -46
- package/skills/sodax-dapp-kit-integration/SKILL.md +0 -71
- package/skills/sodax-dapp-kit-migration/SKILL.md +0 -58
- package/skills/sodax-sdk-integration/SKILL.md +0 -66
- package/skills/sodax-sdk-migration/SKILL.md +0 -75
- package/skills/sodax-wallet-sdk-core-integration/SKILL.md +0 -55
- package/skills/sodax-wallet-sdk-core-migration/SKILL.md +0 -56
- package/skills/sodax-wallet-sdk-react-integration/SKILL.md +0 -80
- package/skills/sodax-wallet-sdk-react-migration/SKILL.md +0 -71
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/backend-queries.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/bitcoin.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/bridge.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/dex.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/migration.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/money-market.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/mutation-error-handling.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/observability.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/setup.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/staking.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/swap.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/recipes/wallet-connectivity.md +0 -0
- /package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/reference/hooks-index.md +0 -0
- /package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/reference/deleted-hooks.md +0 -0
- /package/{knowledge/dapp-kit/migration → skills/sodax-dapp-kit/migration-v1-to-v2/knowledge}/reference/renamed-hooks.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/ai-rules.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/chain-specifics.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/backend-server-init.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/chain-key-narrowing.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/gas-estimation.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/initialize-sodax.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/raw-tx-flow.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/result-and-errors.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/signed-tx-flow.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/recipes/testing.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/chain-keys.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/error-codes.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/glossary.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/public-api.md +0 -0
- /package/{knowledge/sdk/integration → skills/sodax-sdk/integration/knowledge}/reference/wallet-providers.md +0 -0
- /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/checklist.md +0 -0
- /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/deleted-exports.md +0 -0
- /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/error-code-crosswalk.md +0 -0
- /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/return-shapes.md +0 -0
- /package/{knowledge/sdk/migration → skills/sodax-sdk/migration-v1-to-v2/knowledge}/reference/sodax-config.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/ai-rules.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/architecture.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/README.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/bitcoin.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/evm.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/icon.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/injective.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/near.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/solana.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/stacks.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/stellar.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/features/sui.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/quickstart.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/README.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/defaults-and-overrides.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/library-exports.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/setup-private-key.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/sign-and-broadcast.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/recipes/testing.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/README.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/chain-support.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/glossary.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/interfaces.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/provider-classes.md +0 -0
- /package/{knowledge/wallet-sdk-core/integration → skills/sodax-wallet-sdk-core/integration/knowledge}/reference/public-api.md +0 -0
- /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/README.md +0 -0
- /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/base-wallet-provider.md +0 -0
- /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/breaking-changes/folder-layout.md +0 -0
- /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/checklist.md +0 -0
- /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/recipes/README.md +0 -0
- /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/recipes/adopt-defaults.md +0 -0
- /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/README.md +0 -0
- /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/deleted-exports.md +0 -0
- /package/{knowledge/wallet-sdk-core/migration → skills/sodax-wallet-sdk-core/migration-v1-to-v2/knowledge}/reference/renamed-symbols.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/ai-rules.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/architecture.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/01-minimal-evm.tsx +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/02-multi-chain-modal.tsx +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/03-nextjs-app-router.tsx +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/04-walletconnect-setup.tsx +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/examples/README.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/batch-operations.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/bridge-to-sdk.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/chain-detection.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/connect-button.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/multi-chain-modal.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/sign-message.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/sub-path-imports.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/switch-chain.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/recipes/walletconnect-setup.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/chain-support.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/connectors.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/hooks.md +0 -0
- /package/{knowledge/wallet-sdk-react/integration → skills/sodax-wallet-sdk-react/integration/knowledge}/reference/wallet-brands.md +0 -0
- /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/ai-rules.md +0 -0
- /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/breaking-changes.md +0 -0
- /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/checklist.md +0 -0
- /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/recipes/connect-button.md +0 -0
- /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/recipes/ssr-setup.md +0 -0
- /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/recipes/walletconnect-migration.md +0 -0
- /package/{knowledge/wallet-sdk-react/migration → skills/sodax-wallet-sdk-react/migration-v1-to-v2/knowledge}/reference/components.md +0 -0
- /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
|
|
5
|
-
"./skills/sodax-sdk-
|
|
6
|
-
"./skills/sodax-wallet-sdk-
|
|
7
|
-
"./skills/sodax-
|
|
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 **
|
|
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
|
|
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
|
|
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
|
|
25
|
-
| **Building a NEW React app, no dapp-kit** (calling the SDK directly) | `sodax-wallet-sdk-react
|
|
26
|
-
| **Building a NEW Node / backend service or script** | `sodax-sdk
|
|
27
|
-
| **Building a NEW non-React browser flow** | `sodax-wallet-sdk-core
|
|
28
|
-
| **Porting an EXISTING v1 React dapp** | `sodax-wallet-sdk-react
|
|
29
|
-
| **Porting an EXISTING v1 backend** | `sodax-sdk
|
|
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
|
|
52
|
-
├── .claude-plugin/plugin.json
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
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
|
-
| **
|
|
25
|
-
| **Knowledge** under `knowledge
|
|
26
|
-
| **`AGENTS.md`** at the package root | Tool-neutral router: maps the consumer's stated task to the right
|
|
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
|
|
37
|
-
| React dapp using `@sodax/dapp-kit` | `sodax-dapp-kit
|
|
38
|
-
| React app calling the SDK directly (no `dapp-kit`) | `sodax-sdk
|
|
39
|
-
| **Porting v1 code** |
|
|
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/`
|
|
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.
|
|
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).
|
package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/README.md
RENAMED
|
@@ -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 [
|
|
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
|
-
- [
|
|
37
|
-
- [
|
|
38
|
-
- [
|
|
39
|
-
- [
|
|
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
|
|
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 [
|
|
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).
|
package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/ai-rules.md
RENAMED
|
@@ -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
|
|
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
|
-
-
|
|
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 [
|
|
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: [
|
|
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
|
-
- [
|
|
169
|
-
-
|
|
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: [
|
|
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
|
-
- [
|
|
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: [
|
|
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
|
-
- [
|
|
91
|
-
-
|
|
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: [
|
|
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
|
-
- [
|
|
152
|
-
-
|
|
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: [
|
|
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
|
-
- [
|
|
118
|
-
-
|
|
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: [
|
|
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
|
-
- [
|
|
144
|
-
-
|
|
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: [
|
|
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
|
-
- [
|
|
123
|
-
-
|
|
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: [
|
|
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
|
-
- [
|
|
101
|
-
-
|
|
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.
|
package/{knowledge/dapp-kit/integration → skills/sodax-dapp-kit/integration/knowledge}/quickstart.md
RENAMED
|
@@ -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 [
|
|
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
|
-
-
|
|
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
|
|
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
|
|
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 [
|
|
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 [
|
|
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
|
|
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
|
|
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
|
-
-
|
|
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
|
-
-
|
|
110
|
+
- `sodax-sdk`: `integration/knowledge/reference/public-api.md` — underlying SDK's public API surface.
|