magicblock-labs / magicblock-labs/redsuite
Validate ephemeral-account lifecycle and sponsorship boundaries
@bzawisto is already working on this.
Since Sep 11, 2026.
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 3h 58m
- Merged PRs (30d)
- 48
Description
## Outcome
Ephemeral-account creation, resizing, and closure must enforce caller authority and move sponsor/vault lamports correctly.
These operations have different rules from ordinary delegated accounts, and the current security scenarios do not cover their complete lifecycle.
## Scope
Through an authorized fixture program, create an ephemeral account, grow and shrink it, close it, and recreate it. Record account owner, size, lamports, and sponsor/vault balances before and after each operation.
Submit conflicting resize/close/recreate transactions against the same address. Add negative cases using a foreign caller, missing sponsor signature, substituted vault, occupied address, and prohibited direct top-level invocation.
Use an independent payer where needed so transaction fees do not obscure sponsor/refund accounting.
## Acceptance criteria
- [ ] Valid operations produce the expected account state and sponsor/vault balance changes.
- [ ] Invalid calls fail without unauthorized account or sponsor/vault changes, apart from separately accounted permitted transaction fees.
- [ ] Conflicting operations resolve to a valid serialized outcome without duplicate refunds.
- [ ] Closure and recreation do not retain unauthorized ownership or stale account contents.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.