magicblock-labs / magicblock-labs/magicblock-validator

Extract the outbox intent lifecycle into a dedicated builtin

Open
#1,703 0 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
58
Forks
58
Avg merge
22h 1m
Merged PRs (30d)
53

Description

Scope

Accepting a scheduled intent and managing its outbox are separate responsibilities. Give the outbox lifecycle its own builtin and OutboxIntentInstruction interface, while keeping acceptance in Magic Program.

Register the builtin and update instruction builders, callers, PDA derivation, and recovery scans to use its program ID and account owner.

Existing outboxes need attention before rollout: their owner and derived address change, and legacy lifecycle instructions will no longer be accepted. We still need to decide whether to migrate those accounts or drain them first.

Outcome

The builtin creates outboxes, updates execution stages, handles commit-sent notifications, and closes completed outboxes. Magic Program still accepts scheduled intents and creates their outboxes through CPI.

Moving this code must not weaken the checks around it. Validator authorization, CPI/account validation, and account protection stay enforced, including notification and closure. Callers and recovery scans use the same program ID, account owner, and PDA derivation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.