Skip to content

serviceability: globalstate/globalconfig/allowlist/index/migrate instruction builders (Rust) #4024

Description

@juan-malbeclabs

Part of #4014.

Add the admin/misc builders: src/globalstate.rs, src/globalconfig.rs, src/allowlist.rs, src/index.rs, src/migrate.rs (init/set-authority/set-config/feature-flags, allowlist toggles, index, migrate).

Excluded variants (documented in lib.rs)

The enum has 116 variants (tags 0–115, contiguous); builders cover all buildable variants (~94). Excluded, with no builder emitted (no Err/panic stubs — builders are infallible):

  • Explicit placeholders kept only for discriminant stability: Deprecated95, Deprecated96, Deprecated102, Deprecated103, Deprecated111.
  • Deprecated handlers returning DoubleZeroError::Deprecated (e.g. ActivateDevice, RejectDevice, CloseAccountDevice, the corresponding link/user/multicast lifecycle variants, and several *DeviceInterface variants).

Acceptance

  • One pure builder per non-deprecated instruction in these domains; empty-arg variants pack to just the tag byte.
  • Verbatim account-layout doc-comments.
  • Unit tests + ix_* golden fixtures. After this PR all buildable variants are covered.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions