Conversation
|
@ryzen-xp Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
These are useful registry storage tests, but no upgrade is applied and there is no old-to-new implementation boundary. Please run real pre-upgrade contracts through each supported upgrade path, then verify old reads, new writes, and rollback behavior. |
- Move stealth-registry upgrade migration tests to stealth-sender contract - Add new upgrade migration test suite for wraith-names contract - Remove duplicate test file from stealth-registry (tests now centralized) - Ensures consistent migration validation across all Stellar contracts during version upgrades - Reduces test duplication and improves maintainability of upgrade scenarioscd stellar cargo test --test upgrade_migration
|
The coverage moved to Sender and Names, but these tests still register only the current contract and write current |
- Added new packages for stealth-registry-v0, stealth-sender-v0, and wraith-names-v0 to Cargo.lock. - Updated Cargo.toml to include new migration test members for stealth-registry-v0, stealth-sender-v0, and wraith-names-v0. - Removed obsolete upgrade migration test files for stealth-sender and wraith-names to streamline testing structure.
|
Good progress on the WASM fixtures, but the tests still bypass the production upgrade path with env.as_contract. The names migration also copies storage through test-only access, not an executable contract migration. Please exercise the public timelock and multisig upgrade flow, add a real migration entry point or script, and run cargo fmt. |
Summary
Adds
tests/upgrade_migration.rsto thestealth-registrycrate. The existing upgrade auth tests prove who can (or cannot) trigger an upgrade — these new tests prove that storage state survives the v0→v1 migration and remains usable afterward.What changed
stellar/stealth-registry/tests/upgrade_migration.rswith 9 tests covering:TTL_THRESHOLDvia auto-extendpersistent()with the canonicalDataKey::MetaAddressshape and nothing leaks intoinstance()storageInvalidMetaAddressLengthWhy
The v0→v1 migration moved
DataKey::MetaAddressfrominstance()/temporary()topersistent(). The previous test suite had no coverage of what happens to data across that boundary. Without these tests there is no regression harness if the storage tier or key shape changes again in future.Testing