Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

fix: port Shasta hotfix soundness checks to main - #702

Merged
davidtaikocha merged 5 commits into
mainfrom
port/hotfix-soundness-to-main
Jun 29, 2026
Merged

fix: port Shasta hotfix soundness checks to main#702
davidtaikocha merged 5 commits into
mainfrom
port/hotfix-soundness-to-main

Conversation

@smtmfft

@smtmfft smtmfft commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Test Plan

  • cargo fmt -p raiko-lib -- --check
  • cargo test -p raiko-lib --lib
  • cargo check -p raiko-core
  • go test ./internal/witness -count=1
  • git diff --check origin/main...HEAD

smtmfft and others added 4 commits June 29, 2026 09:03
* fix: harden shasta guest soundness checks

* chore: update devnet SGX verifiers

* fix: align devnet shasta preflight
* fix: bind stalled anchor checkpoint to parent state

* fix: verify stalled checkpoint parent state linkage

* fix: always include Shasta parent checkpoint proof

* chore: bump gaiko devnet Shasta chainspec

* chore: bump gaiko stalled Shasta replay fix
* fix: bind chain spec name in guest validation

* chore: update gaiko submodule
Copilot AI review requested due to automatic review settings June 29, 2026 01:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Ports remaining Shasta hotfix “soundness” validations to main by tightening fork selection and binding additional Shasta-specific inputs (anchor tx calldata, parent SignalService checkpoint storage, and known chain spec identity) so the guest cannot be driven with inconsistent witnesses/config.

Changes:

  • Harden Shasta execution/validation by binding manifest anchor block numbers to decoded anchor tx calldata and tightening stalled-anchor bypass constraints.
  • Add parent SignalService checkpoint storage-slot derivation + loading path to bind stalled-anchor calldata to parent state witness data.
  • Validate recognized chain specs more strictly (including name and is_taiko) and update devnet chain spec fork/verifier config.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
lib/src/utils/shasta.rs Updates Shasta transaction generation validation to pass full GuestInput into manifest checks.
lib/src/utils/shasta_rules.rs Extends input validation to require/validate Shasta anchor tx calldata and adds regression tests.
lib/src/protocol_instance.rs Binds known chain-spec name/is_taiko and implements stalled-anchor bypass binding to parent SignalService checkpoint storage.
lib/src/builder.rs Adds SHASTA-only Taiko fork guard during transaction execution and corresponding tests.
host/config/chain_spec_list_devnet.json Simplifies devnet fork config to SHASTA and updates verifier addresses.
core/src/provider/db.rs Adds helper to eagerly load initial account+storage slot values into the proof DB.
core/src/preflight/mod.rs Loads parent SignalService checkpoint storage slots during Shasta batch preflight and wires anchor tx into guest inputs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lib/src/builder.rs
Comment thread lib/src/protocol_instance.rs Outdated
Comment thread core/src/preflight/mod.rs
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
@davidtaikocha
davidtaikocha enabled auto-merge June 29, 2026 04:42
@davidtaikocha
davidtaikocha added this pull request to the merge queue Jun 29, 2026
Merged via the queue into main with commit 27868f3 Jun 29, 2026
12 of 13 checks passed
@davidtaikocha
davidtaikocha deleted the port/hotfix-soundness-to-main branch June 29, 2026 04:43
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants