Crate sov_rollup_interface

Source
Expand description

This crate defines the core traits and types used by all Sovereign SDK rollups. It specifies the interfaces which allow the same “business logic” to run on different DA layers and be proven with different zkVMS, all while retaining compatibility with the same basic full node implementation.

Re-exports§

pub use anyhow;
pub use digest;

Modules§

crypto
Defines useful cryptographic primitives that are needed by all sovereign-sdk rollups.
da
Defines traits and types used by the rollup to verify claims about the DA layer.
maybestd
A facade around all the types we need from the std, core, and alloc crates. This avoids elaborate import wrangling having to happen in every module.
optimistic
Utilities for building an optimistic state machine
rpc
The rpc module defines types and traits for querying chain history via an RPC interface.
services
The services module contains traits for the long-lived services which the full node uses to run the state transition function and serve user requests.
stf
This module is the core of the Sovereign SDK. It defines the traits and types that allow the SDK to run the “business logic” of any application generically.
zk
Defines the traits that must be implemented by zkVMs. A zkVM like Risc0 consists of two components, a “guest” and a “host”. The guest is the zkVM program itself, and the host is the physical machine on which the zkVM is running. Both the guest and the host are required to implement the Zkvm trait, in addition to the specialized ZkvmGuest and ZkvmHost trait which is appropriate to that environment.

Structs§

Bytes
A cheaply cloneable and sliceable chunk of contiguous memory.
BytesMut
A unique reference to a contiguous slice of memory.

Traits§

BasicAddress
A marker trait for general addresses.
Buf
Read bytes from a buffer.
BufMut
A trait for values that provide sequential write access to bytes.
RollupAddress
An address used inside rollup