Crate kona_derive

Source
Expand description

§kona-derive

CI Kona Derive License Codecov

A no_std compatible implementation of the OP Stack’s derivation pipeline.

§Usage

The intended way of working with kona-derive is to use the DerivationPipeline which implements the Pipeline trait. To create an instance of the DerivationPipeline, it’s recommended to use the PipelineBuilder as follows.

use std::sync::Arc;
use kona_genesis::RollupConfig;
use kona_derive::sources::EthereumDataSource;
use kona_derive::pipeline::PipelineBuilder;
use kona_derive::attributes::StatefulAttributesBuilder;

let chain_provider = todo!();
let l2_chain_provider = todo!();
let blob_provider = todo!();
let l1_origin = todo!();

let cfg = Arc::new(RollupConfig::default());
let attributes = StatefulAttributesBuilder::new(
   cfg.clone(),
   l2_chain_provider.clone(),
   chain_provider.clone(),
);
let dap = EthereumDataSource::new(
   chain_provider.clone(),
   blob_provider,
   cfg.as_ref()
);

// Construct a new derivation pipeline.
let pipeline = PipelineBuilder::new()
   .rollup_config(cfg)
   .dap_source(dap)
   .l2_chain_provider(l2_chain_provider)
   .chain_provider(chain_provider)
   .builder(attributes)
   .origin(l1_origin)
   .build();

§Features

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

Some features include the following.

  • serde: Serialization and Deserialization support for kona-derive types.
  • test-utils: Test utilities for downstream libraries.

By default, kona-derive enables the serde feature.

Modules§

attributes
Module containing the AttributesBuilder trait implementations.
errors
Error types for the kona derivation pipeline.
pipeline
Module containing the derivation pipeline.
prelude
Required types and traits for kona’s derivation pipeline.
sources
The data source module.
stages
This module contains each stage of the derivation pipeline.
traits
This module contains all of the traits describing functionality of portions of the derivation pipeline.
types
Primitive types for kona-derive.

Macros§

ensure
crate::ensure is a short-hand for bubbling up errors in the case of a condition not being met.