Skip to content

Fix widespread merge corruption in main and add feed-stake TTL expiration/restoration tests.#643

Merged
Sadeequ merged 1 commit into
StellarFlow-Network:mainfrom
Thomson-dev:fix/feed-stake-ttl-expiry-restoration-tests
Jul 26, 2026
Merged

Fix widespread merge corruption in main and add feed-stake TTL expiration/restoration tests.#643
Sadeequ merged 1 commit into
StellarFlow-Network:mainfrom
Thomson-dev:fix/feed-stake-ttl-expiry-restoration-tests

Conversation

@Thomson-dev

Copy link
Copy Markdown
Contributor

Closes #629

main did not compile: colliding merges over the repo's history had left duplicate/broken function bodies, missing types, and dead references across src/lib.rs, storage.rs, admin.rs, consensus.rs, validation.rs, fees.rs, and slashing.rs. Reconstructed each conflicted or dropped piece by tracing it back through git history (storage-rent-expiry #522, corridor-weight/liquidity-depth gates, escrow penalties, bundle processing) instead of guessing, and fixed two correctness bugs surfaced while testing:

  • auth::require_multisig read SIGNERS_KEY as a Map when it's actually stored as a plain u32 counter elsewhere, causing a host crash.
  • Several tuple-struct storage keys (StakeKey, SignerKey, RevokedSignerKey, NodeProfileKey) serialized identically regardless of type name, so registering a signer could make an unrelated address read back as "revoked". Converted them to namespaced enums.

Added the actual requested test coverage: dedicated tests simulating feed-stake key expiration via env.ledger().set() manipulation, and verifying that a validator profile update before expiry restores the entry and extends its TTL rather than granting permanent immunity.

234/234 tests passing.

…tion/restoration tests

main did not compile: colliding merges over the repo's history had left
duplicate/broken function bodies, missing types, and dead references
across src/lib.rs, storage.rs, admin.rs, consensus.rs, validation.rs,
fees.rs, and slashing.rs. Reconstructed each conflicted or dropped piece
by tracing it back through git history (storage-rent-expiry StellarFlow-Network#522,
corridor-weight/liquidity-depth gates, escrow penalties, bundle
processing) instead of guessing, and fixed two correctness bugs
surfaced while testing:

- auth::require_multisig read SIGNERS_KEY as a Map when it's actually
  stored as a plain u32 counter elsewhere, causing a host crash.
- Several tuple-struct storage keys (StakeKey, SignerKey,
  RevokedSignerKey, NodeProfileKey) serialized identically regardless
  of type name, so registering a signer could make an unrelated
  address read back as "revoked". Converted them to namespaced enums.

Added the actual requested test coverage: dedicated tests simulating
feed-stake key expiration via env.ledger().set() manipulation, and
verifying that a validator profile update before expiry restores the
entry and extends its TTL rather than granting permanent immunity.

234/234 tests passing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@drips-wave

drips-wave Bot commented Jul 24, 2026

Copy link
Copy Markdown

@Thomson-dev 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! 🚀

Learn more about application limits

@Sadeequ
Sadeequ merged commit 559cc2d into StellarFlow-Network:main Jul 26, 2026
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.

⌛ Expiry-Simulation | Ledger State Key Expiration and Auto-Renewal Test Scenarios

2 participants