Skip to content

feat(contracts): add storage key collision detector and CI workflow - #1

Open
dev-fatima-24 wants to merge 2 commits into
mainfrom
issue-150
Open

feat(contracts): add storage key collision detector and CI workflow#1
dev-fatima-24 wants to merge 2 commits into
mainfrom
issue-150

Conversation

@dev-fatima-24

Copy link
Copy Markdown
Owner

Description

Resolves Nova-reward#150 by implementing automated multi-contract storage key collision detection, storage namespacing verification, and CI automation for InvoiceFi smart contracts on Stellar.

Key Changes

  • Storage Collision Test Suite: Added contracts/integration-tests/tests/storage_key_collision_test.rs to verify that all DataKey and StorageKey variants across access-control, invoice, financing-pool, and settlement produce unique raw payloads and preserve storage isolation in a shared environment context.
  • Verification Automation: Created ./scripts/check-storage-keys.sh and added make check-storage-keys shortcut to dynamically enumerate contract prefixes and run storage tests.
  • Continuous Integration: Added .github/workflows/storage-collision-check.yml to automatically enforce storage key collision checks on PRs and pushes.
  • Documentation: Documented the tuple namespacing strategy (Symbol, DataKey) in docs/storage-namespacing.md and updated README.md.

Verification

Ran ./scripts/check-storage-keys.sh and cargo test -p integration-tests - all tests pass cleanly.

Closes Nova-reward#150

ellaevans2323-pixel and others added 2 commits August 24, 2026 16:32
Closes Nova-reward#150

- Add integration tests verifying DataKey and StorageKey isolation across contracts
- Add scripts/check-storage-keys.sh to check CONTRACT_PREFIX namespacing and run collision tests
- Add GitHub action workflow for automated CI checking
- Document key namespacing strategy in docs/storage-namespacing.md
- Add Makefile shortcut check-storage-keys
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.

Storage key collision analysis and hardening across all four Soroban contracts

1 participant