Skip to content

serviceability: delete migrate_interfaces processor and instruction#3675

Merged
elitegreg merged 2 commits intomainfrom
gm/issue-3662-delete-migrate-interfaces
May 5, 2026
Merged

serviceability: delete migrate_interfaces processor and instruction#3675
elitegreg merged 2 commits intomainfrom
gm/issue-3662-delete-migrate-interfaces

Conversation

@elitegreg
Copy link
Copy Markdown
Contributor

Summary

This is the cleanup step in the forward-compatible Device interfaces refactor (design: https://gist.github.com/elitegreg/e1d27c97034656a980fa8d7628ae16c5, Design #5 final bullet). Stack: #3666#3667 → this PR.

Closes #3662.

Testing Verification

  • make rust-fmt, make rust-lint, and cargo test -p doublezero-serviceability all pass; legacy-account compatibility paths (test_state_compatibility_device, test_device_legacy_account_rebuilds_new_vec, test_device_serialize_keeps_vecs_in_sync) still cover the auto-promotion behavior that replaces this instruction.
  • go build ./... and go vet ./... pass for smartcontract/sdk/go after the comment rewrites.
  • Repo-wide grep for MigrateDeviceInterfaces / migrate_device_interfaces / migrate_interfaces returns only the (intentional) historical and new CHANGELOG entries.

@elitegreg elitegreg marked this pull request as ready for review May 5, 2026 21:55
elitegreg added 2 commits May 5, 2026 21:55
Remove the `MigrateDeviceInterfaces` instruction (variant 111), its
processor, and integration tests. `Device::TryFrom<&[u8]>` (#3665)
auto-promotes legacy `interfaces` into `new_interfaces` when the
trailing vec is missing, and the next account write persists the
promoted vec, so a standalone migrate step is no longer needed.

Also rewords two stale `MigrateDeviceInterfaces` doc comments in the
Go SDK.

Closes #3662
Per review: keep variant 111 in DoubleZeroInstruction so the slot is
not reused for a future instruction. Variant 111 unpacks into
`Deprecated111()` and dispatches to a no-op (auto-promotion on read
is what actually performs the migration); name_string and get_args
return "Deprecated111" / empty string respectively.
@elitegreg elitegreg force-pushed the gm/issue-3662-delete-migrate-interfaces branch from 8c1bbee to 27a4435 Compare May 5, 2026 21:55
@elitegreg elitegreg enabled auto-merge (squash) May 5, 2026 21:55
@elitegreg elitegreg merged commit 297c6f4 into main May 5, 2026
33 checks passed
@elitegreg elitegreg deleted the gm/issue-3662-delete-migrate-interfaces branch May 5, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

serviceability: delete migrate_interfaces processor and instruction

2 participants