Skip to content

feat: verify --path solana-program — the cross-VM works-gate - #15

Merged
anil-rome merged 1 commit into
mainfrom
feat-verify-solana-program
Jul 21, 2026
Merged

feat: verify --path solana-program — the cross-VM works-gate#15
anil-rome merged 1 commit into
mainfrom
feat-verify-solana-program

Conversation

@anil-rome

Copy link
Copy Markdown
Contributor

Completes verify for the bring-a-Solana-program path: prove an EVM-lane call drives a Solana program via CPI.

What it does

rome verify <chain> --path solana-program deploys a thin CPI wrapper (CpiMemoProbe — its constructor self-provisions the contract's external-auth PDA), then an EVM-lane ping drives the SPL Memo program through the CPI precompile (0xff…08). A successful EVM receipt is the proof — a failed CPI reverts the tx.

  • EVM-lane only — needs ROME_EVM_KEY, not a Solana key (per-path key scoping; solidity still needs both).
  • --solana-rpc <url> — opt-in deep check: resolves the EVM tx to its Solana settlement (rome_solanaTxForEvmTx) and confirms the memo in the program's logs. The core gate needs no Solana RPC.

Why a wrapper (not a direct precompile call)

It mirrors the real "bring your Solana program" pattern — a deployed Solidity contract that CPIs the program — and is faithful to the SPEC's works-gate intent.

Validation

  • Funded-verified on Hadriandeploy → ping → memo confirmed in the Solana settlement logs, ok: true:
    • probe 0x206d7101…, evmTx 0x82aae391…, settlement 2TUoaZ7n…, memoConfirmed: true
  • CPI crux pre-confirmed by emulation: signer-PDA → lands; empty accounts → revert; non-signer → Memo's own MissingRequiredSignature.
  • 83 unit tests (5 new) + MCP smoke green; typecheck + build clean; verify remains absent from the MCP surface.

Notes

  • Bundled probe compiled with solc 0.8.36 (source: probe/CpiMemoProbe.sol; build artifacts git-ignored).
  • Feature PR, no version bump — pinned in a later chore(release).
  • --path from-home follows (coupled with the bridge-outbound rail; egress isn't registry-declared yet).

An EVM-lane call drives a Solana program via CPI. Deploys a thin CPI
wrapper (CpiMemoProbe — its constructor self-provisions the contract's
external-auth PDA), then pings it to CPI the SPL Memo program through the
0xff..08 precompile. A successful EVM receipt is the proof; a failed CPI
reverts the tx. EVM-lane only (ROME_EVM_KEY; no Solana key). --solana-rpc
adds an opt-in deep check that confirms the memo in the Solana settlement
logs (rome_solanaTxForEvmTx).

Funded-verified on Hadrian: deploy + ping + memo confirmed in the
program's logs. 83 unit tests + MCP smoke green.
@anil-rome
anil-rome merged commit 4a21eb4 into main Jul 21, 2026
6 checks passed
@anil-rome
anil-rome deleted the feat-verify-solana-program branch July 21, 2026 22:44
anil-rome added a commit that referenced this pull request Jul 22, 2026
Pins the released/installed surface to main. Since v0.5.0, main gained
`verify --path solana-program` (#15) — an EVM-lane call drives a Solana
program via CPI (funded-GREEN on Hadrian). Bumps package.json and the
github install pins (README, GUIDES) 0.5.0 -> 0.6.0.
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.

1 participant