Skip to content

Validate ephemeral-account lifecycle and sponsorship boundaries #119

Description

@bmuddha

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions