sodax-dapp-kit-migration

Installation
SKILL.md

Token migration (dapp-kit granular skill)

Granular skill for the token-migration hooks of @sodax/dapp-kit v2 — ICX/wICX ↔ SODA, legacy bnUSD ↔ new bnUSD, BALN → SODA. queryKey/mutationKey first segment: migrate. React-only — backend uses @sodax/sdk directly.

Important disambiguation. This skill is about the token-migration hooks (migrating legacy ICON tokens to SODAX assets). It is NOT about porting v1 dapp-kit code to v2 — that lives under the broad sodax-dapp-kit skill (migration mode) and the ../migration-v1-to-v2/knowledge/ subtree. Same word, different concept.

Step 0 — Confirm this IS a token-protocol migration

If the user means "move/send/transfer a token from chain A to B" → that's a bridge (vault-pair, ../bridge/SKILL.md) or a swap (solver-routed, ../swap/SKILL.md). If they mean "migrate my v1 dapp-kit code to v2" → that's the SDK port; load the broad sodax-dapp-kit skill in migration mode. Only continue here for legacy ICON-ecosystem token migration.

Step 1 — Clarify with user before coding

  1. New code or v1 → v2 port (of these hooks)?
  2. Which token? ICX/wICX → SODA (useMigrateIcxToSoda), SODA → wICX revert (useRevertMigrateSodaToIcx), legacy bnUSD ↔ new bnUSD (useMigratebnUSD, bidirectional), BALN → SODA (useMigrateBaln).
  3. For BALN: lockup period? lockupPeriod is the LockupPeriod enum (values in SECONDS, not months); multiplier ranges 0.5x → 1.5x. stake: boolean is REQUIRED.
  4. Allowance gating? ICON-side migrations need none; Sonic-side (revert) and EVM bnUSD do — use useMigrationAllowance + useMigrationApprove with action: 'migrate' | 'revert'.

Integration workflow (new v2 code)

Installs
1
First Seen
Jun 10, 2026
sodax-dapp-kit-migration — icon-project/sodax-sdks