Bump Chain SDK
Upgrade an Aptos / Sui / Iota SDK version inside this typemove monorepo and propagate the changes through codegen + tests + commit.
When to use
User says something like:
- "Bump Iota SDK to 1.10.0"
- "Upgrade Sui SDK to the latest"
- "Update @aptos-labs/ts-sdk to 6.1.0"
Inputs to confirm
Before doing anything, confirm with the user:
- Chain:
aptos,sui, oriota - Target version: e.g.
1.10.0, orlatestif they want you to pick
Steps
Locate the target package.json
packages/aptos/package.json→@aptos-labs/ts-sdkpackages/sui/package.json→@mysten/suipackages/iota/package.json→@iota/iota-sdk- Some upgrades also touch the root
package.json(see commit472da443for the Iota 1.10.0 precedent — rootpackage.jsonandpnpm-lock.yamlwere updated alongside the chain package).
Update the version in package.json and run
pnpm installfrom the repo root to refreshpnpm-lock.yaml.Regenerate builtin types for the affected chain. Run from the chain package directory:
cd packages/<chain> && pnpm genThis regenerates
src/builtin/0x1.ts,0x2.ts,0x3.ts(Sui/Iota) or0x1.ts,0x3.ts,0x4.ts(Aptos).Regenerate test types:
cd packages/<chain> && pnpm gen:testBuild the package to surface any breakage from SDK API changes:
pnpm --filter @typemove/<chain> buildIf TypeScript errors appear, they are almost always SDK breaking changes — fix them in
move-coder.ts,to-internal.ts,chain-adapter.ts, or the codegen output. Don't hand-editsrc/builtin/files — fix the codegen source instead.Run tests for the chain:
pnpm --filter @typemove/<chain> testCheck sibling chains for shared breakage. SDK upgrades sometimes change shared @typemove/move interfaces. If you touched anything outside
packages/<chain>/, runpnpm test:allandpnpm build:all.Stage and commit using the canonical message format from history:
chore: upgrade <Chain> SDK to <version>Examples from
git log:chore: upgrade Iota SDK to 1.10.0,chore: upgrade Sui SDK to 2.4.0. Note: these specific upgrade commits use a barechore:prefix without a scope, even thoughCLAUDE.mdrecommendschore(deps):generally. Follow the existing pattern for chain-SDK bumps.Create the PR per CLAUDE.md: this repo is PR-only, never push to main. Use
git dev <name>/bump-<chain>-<version>(custom shortcut from.github/.gitconfig) orgit checkout -b dev/<name>/bump-<chain>-<version>, thengh pr create.
Things to watch for
- GitHub Actions workflows sometimes need a matching version bump (e.g.
472da443touched all four.github/workflows/*.yamlfiles). Grep.github/workflows/for the old version string before committing. - iota
sync-from-suiscript: Iota's codegen historically mirrors Sui's. If you bump Sui you may also want to runpnpm --filter @typemove/iota sync-from-suiand re-test Iota. - Don't manually edit
packages/*/src/builtin/0x*.ts— they are codegen outputs and a PreToolUse hook will block edits.
Source: sentioxyz/typemove — distributed by TomeVault.