superchain-derive

Crates.iosuperchain-derive
lib.rssuperchain-derive
version0.11.0
sourcesrc
created_at2024-11-07 00:58:31.353772
updated_at2024-11-07 00:58:31.353772
descriptionAn alloy-backed derivation pipeline for the OP Stack, built on `kona-derive`
homepagehttps://github.com/anton-rs/superchain
repositoryhttps://github.com/anton-rs/superchain
max_upload_size
id1439356
size1,389,947
refcell (refcell)

documentation

README

superchain-derive

CI Kona Derive Alloy License Codecov

Notice: Requires an std environment.

An online, alloy-backed derivation pipeline, built on kona-derive.

Usage

The easiest way to use superchain-derive-alloy to construct a derivation pipeline backed by alloy providers is to use the exported new_online_pipeline method.

use std::sync::Arc;
use op_alloy_protocol::BlockInfo;
use op_alloy_genesis::RollupConfig;
use superchain_derive::prelude::*;

let rollup_config = Arc::new(RollupConfig::default());
let chain_provider =
    AlloyChainProvider::new_http("http://127.0.0.1:8545".try_into().unwrap());
let l2_chain_provider = AlloyL2ChainProvider::new_http(
    "http://127.0.0.1:9545".try_into().unwrap(),
    rollup_config.clone(),
);
let beacon_client = OnlineBeaconClient::new_http("http://127.0.0.1:5555".into());
let blob_provider = OnlineBlobProvider::new(beacon_client, None, None);
let blob_provider = OnlineBlobProviderWithFallback::new(blob_provider, None);
let dap_source =
    EthereumDataSource::new_from_parts(chain_provider.clone(), blob_provider, &rollup_config);
let builder = StatefulAttributesBuilder::new(
    rollup_config.clone(),
    l2_chain_provider.clone(),
    chain_provider.clone(),
);
let origin = BlockInfo::default();

let pipeline = new_online_pipeline(
    rollup_config.clone(),
    chain_provider,
    dap_source,
    l2_chain_provider,
    builder,
    origin,
);

assert_eq!(pipeline.rollup_config, rollup_config);
assert_eq!(pipeline.origin(), Some(origin));

Features

The most up-to-date feature list will be available on the docs.rs Feature Flags tab of the superchain-derive-alloy crate.

Some features include the following.

  • test-utils: Test utilities for downstream libraries.
Commit count: 287

cargo fmt