For the complete documentation index, see llms.txt. This page is also available as Markdown.

Repos

This document describes how the Seismic repos are organized.

Stack Overview

Repositories

Repo
Upstream Fork
What It Does

— (original)

Consensus client (Simplex protocol via Commonware)

Full execution client with TEE, encrypted RPC, genesis builder

sforge/sanvil/scast dev tools

Compiler: adds suint, sbool, saddress shielded types

Mercury EVM: CLOAD/CSTORE, 6 precompiles, flagged storage

Seismic block execution layer

— (original)

Rust SDK: TxSeismic type, encryption-aware providers

Shielded types (suint, sbool, saddress), FlaggedStorage primitive

Merkle trie encoding for FlaggedStorage values

— (original)

ECDH + AES-GCM crypto for tx encryption/decryption

EVM tracing/debugging with Seismic support

Compiler integration for sforge

Fork DB with FlaggedStorage support

— (original)

TypeScript client (Viem actions + Wagmi hooks)

— (original)

Factory contract + CLI/SDK/Web/API for deploying SRC20 tokens without a local compiler

Fork Management

Every forked repo has:

  • A seismic branch as the default branch containing all Seismic modifications

  • An upstream tracking branch (usually main, but notably master for seismic-foundry and develop for seismic-solidity)

  • Periodic rebases or merges from upstream to stay current

To see what Seismic has changed in any repo, compare the seismic branch against the upstream base:

Dependency Flow

Changes flow bottom-up through the stack. A change in a lower layer may require updates in everything above it:

All repos use [patch.crates-io] sections in Cargo.toml to pin specific commits of their dependencies. When updating a dependency, you need to:

  1. Make the change in the upstream repo (e.g., seismic-revm)

  2. Push and note the commit hash

  3. Update the [patch] section in downstream repos (e.g., seismic-reth, seismic-foundry)

Last updated