Area: Upgrade compatibility · Estimated effort: 8–12 h
Problem
contracts/grainlify-core/MIGRATION.md and storage-layout tests cover known migrations, but compatibility with legacy and forward-added keys is not explicit.
Design decision required
Decide whether unknown keys are ignored, preserved, or rejected and how migrations signal unsupported versions.
Requirements
- Seed old layouts
- run each migration
- add an unknown key
- assert values, TTL, and version markers after migration.
Acceptance criteria
Out of scope
- Unrelated refactors, dependency upgrades, or behavior changes outside the stated scope.
- Closing, deleting, or weakening existing tests to make the change pass.
Verification
cargo test --manifest-path contracts/bounty_escrow/Cargo.toml -p grainlify-core migration -- --nocapture
PR requirements
- Explain the before/after behavior and include the evidence requested above.
- Add regression tests for the changed behavior and report relevant build, test, lint, and artifact results.
- Keep the PR focused and reference this issue.
- Please open the PR within 48 hours of assignment so the work remains active; ask a question in the issue if the scope needs clarification.
Good luck, and please join the contributor Telegram group if you want to discuss the work: https://t.me/+u5qmu35nZ7I0OTU1
Area: Upgrade compatibility · Estimated effort: 8–12 h
Problem
contracts/grainlify-core/MIGRATION.mdand storage-layout tests cover known migrations, but compatibility with legacy and forward-added keys is not explicit.Design decision required
Decide whether unknown keys are ignored, preserved, or rejected and how migrations signal unsupported versions.
Requirements
Acceptance criteria
Out of scope
Verification
cargo test --manifest-path contracts/bounty_escrow/Cargo.toml -p grainlify-core migration -- --nocapturePR requirements
Good luck, and please join the contributor Telegram group if you want to discuss the work: https://t.me/+u5qmu35nZ7I0OTU1