Skip to content

fix(rt): normalize singleton-array volatile pubkey writes#984

Draft
Stevengre wants to merge 1 commit intoruntimeverification:feature/p-tokenfrom
Stevengre:jh/close-account-multisig-write-volatile-array
Draft

fix(rt): normalize singleton-array volatile pubkey writes#984
Stevengre wants to merge 1 commit intoruntimeverification:feature/p-tokenfrom
Stevengre:jh/close-account-multisig-write-volatile-array

Conversation

@Stevengre
Copy link
Contributor

Summary

Fixes the projection/writeback path used by std::ptr::write_volatile::<[u8; 32]> after pointer casts from Pubkey in AccountInfo::assign-style code.

Changes:

  • add singleton-array traversal/writeback context handling in rt/data.md
  • add cancellation rules for SingletonArray + Field(0) + ConstantIndex(0) in both projection builders
  • add integration reproducer write_volatile_pubkey_array.rs
  • register the reproducer in test_integration.py
  • document the blocker and evidence in docs/proof-issues/ISSUE-001-write-volatile-pubkey-array.md

Testing

Remote (zhaoji) standalone validation:

  • uv --project kmir run -- kmir prove-rs kmir/src/tests/integration/data/prove-rs/write_volatile_pubkey_array.rs --start-symbol repro --proof-dir <tmp> --fail-fast
    • result: PASSED, nodes=3, pending=0, failing=0, stuck=0, terminal=2
  • make test-integration TEST_ARGS="-k write_volatile_pubkey_array"
    • result: 1 passed

Reference RED baseline for the same leaf family is captured in ISSUE-001-write-volatile-pubkey-array.md.

Notes

  • This addresses the semantic blocker family seen from test_process_close_account_multisig (leaf/node 132 shape).
  • Known issue runtimeverification/solana-token#181 (uninitialized multisig OOB) remains explicitly out of scope for this patch.

@Stevengre
Copy link
Contributor Author

@codex review

1 similar comment
@Stevengre
Copy link
Contributor Author

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Keep it up!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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.

1 participant