Add SDK 0.50 migration agent directive - #16
Conversation
- Remove duplicate IsAppModule and IsOnePerModuleType methods (lines 130-134) - Replace deprecated sdkerrors.Wrap with errorsmod.Wrap in handler.go - Fix NewErrorAcknowledgement calls in ibc.go to pass errors instead of strings - Fix RegisterStoreDecoder type to use simtypes.StoreDecoderRegistry Co-authored-by: vNodesV <100853686+vNodesV@users.noreply.github.com>
Co-authored-by: vNodesV <100853686+vNodesV@users.noreply.github.com>
Co-authored-by: vNodesV <100853686+vNodesV@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the wasm module to align with Cosmos SDK v0.50.14 / ibc-go v8 APIs while adding a markdown summary of current build/test status post-migration.
Changes:
- Removes duplicate
IsAppModule/IsOnePerModuleTypedeclarations and updates the simulationRegisterStoreDecodersignature for SDK 0.50. - Fixes IBC error acknowledgements to pass
error(notstring) and replaces deprecatedsdkerrors.Wrapusage witherrorsmod.Wrap. - Adds
BUILD_TEST_SUMMARY.mdand adjustsgo.modrequirements surfaced by the migration/build.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
x/wasm/module.go |
Removes duplicate interface marker methods; updates simulation interface method signature. |
x/wasm/ibc.go |
Passes error directly to NewErrorAcknowledgement for ibc-go v8 compatibility. |
x/wasm/handler.go |
Uses cosmossdk.io/errors wrapping instead of deprecated SDK wrapping helpers. |
go.mod |
Promotes some deps to direct requirements (e.g., cosmossdk.io/log, capability module). |
BUILD_TEST_SUMMARY.md |
Adds a snapshot of build/test outcomes and remaining migration blockers. |
Comments suppressed due to low confidence (1)
x/wasm/module.go:193
- The comments around the simulation hooks appear to be copy/pasted from other modules (they mention the “supply” and “gov” modules). Since this is the wasm module, please update these comments to accurately describe what
RegisterStoreDecoder/WeightedOperationsrelate to (or remove them if they’re not meaningful).
// RegisterStoreDecoder registers a decoder for supply module's types
func (am AppModule) RegisterStoreDecoder(sdr simtypes.StoreDecoderRegistry) {
}
// WeightedOperations returns the all the gov module operations with their respective weights.
func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation {
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - app/ Package: **❌ 0% Complete** | ||
| - Test Files: **❌ ~10% Complete** | ||
|
|
||
| See full report in `/tmp/BUILD_TEST_REPORT.md` for detailed error analysis. |
There was a problem hiding this comment.
This document references a report at /tmp/BUILD_TEST_REPORT.md, which won’t exist for other developers/CI runs and makes the summary hard to follow. Consider either committing the referenced report into the repo (e.g., under docs/), linking to a CI artifact, or removing the reference and keeping the key details in this file.
| See full report in `/tmp/BUILD_TEST_REPORT.md` for detailed error analysis. | |
| For detailed error analysis, refer to the build and test logs from your CI run or local execution. |
| # Build and Test Execution Summary | ||
|
|
||
| ## Task: Run build/install and other tests | ||
|
|
||
| ### Executed Commands | ||
|
|
||
| 1. ✅ `go build ./x/wasm` - **PASSED** | ||
| 2. ❌ `go build ./...` - **FAILED** (app/ directory errors) | ||
| 3. ❌ `make build` - **FAILED** (app/ directory errors) | ||
| 4. ❌ `make install` - **FAILED** (app/ directory errors) | ||
| 5. ✅ `go test ./x/wasm/client/utils -v` - **PASSED** (3/3 tests) | ||
| 6. ❌ `go test ./x/wasm/... -v` - **FAILED** (build errors) |
There was a problem hiding this comment.
The PR title/description frame this as documentation of build/test results, but this PR also includes functional code changes (wasm module interface adjustments, IBC error acknowledgements, handler error wrapping) and dependency changes in go.mod. Please update the PR title/description to reflect that it is both documenting results and applying migration fixes, or split the documentation into a separate PR if you want a purely informational change.
- Add storetypes import and fix all StoreKey types - Fix ante.go: Replace deprecated sdk.NewDecWithPrec with math.LegacyNewDecWithPrec - Fix ante.go: Replace sdkerrors.Wrap with errors.Wrap from cosmossdk.io/errors - Update ante decorators for SDK 0.50 (NewExtensionOptionsDecorator, NewRedundantRelayDecorator) - Add RegisterNodeService method with correct signature - Fix BeginBlocker/EndBlocker signatures for SDK 0.50 - Fix gov.NewAppModuleBasic with proposal handlers - Fix store key creation with storetypes.NewKVStoreKeys - Remove deprecated rpc.RegisterRoutes - Fix RegisterTendermintService signature Co-authored-by: vNodesV <100853686+vNodesV@users.noreply.github.com>
- Add runtime import and use NewKVStoreService for all keepers - Fix all keeper constructors for SDK 0.50 signatures - Add consensus keeper and remove deprecated SetParamStore - Add capability keeper for IBC modules - Create address codecs for account/validator/consensus addresses - Fix authority addresses using authtypes.NewModuleAddress(govtypes.ModuleName) - Add proper logger wrapping for cosmossdk.io/log.Logger - Fix IBCKeeper type in ante handler (use *ibckeeper.Keeper) - Update ante handler to use IBCKeeper instead of ChannelKeeper Co-authored-by: vNodesV <100853686+vNodesV@users.noreply.github.com>
Document completion status and remaining external dependencies. App package code is fully migrated to SDK 0.50.14 standards. Remaining issues are in external dependencies (wasmd, cosmos-db). Co-authored-by: vNodesV <100853686+vNodesV@users.noreply.github.com>
- Add meme-sdk-migration.agent.md as primary agent directive - Document SDK 0.50.14 patterns and best practices - Include keeper initialization templates and examples - Document common issues and solutions - Add testing guidelines and success metrics - Create README.md to guide agent selection - Mark cosmossdk.agent.md as legacy/historical reference Provides complete context for agents working on SDK migration. Co-authored-by: vNodesV <100853686+vNodesV@users.noreply.github.com>
Agents working on this codebase needed consolidated migration patterns and project context. Created comprehensive directive capturing SDK 0.50.14 expertise.
New Agent Directive
.github/agents/meme-sdk-migration.agent.md(382 lines)Covers:
Includes working code templates:
Navigation
.github/agents/README.mdStatus
Legacy
cosmossdk.agent.mdmarked historical reference. New directive is primary for all development.Original prompt
This pull request was created from Copilot chat.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.