pub trait DaSpec: 'static + Debug + PartialEq<Self> + Eq {
    type SlotHash: BlockHashTrait;
    type BlockHeader: BlockHeaderTrait<Hash = Self::SlotHash>;
    type BlobTransaction: BlobReaderTrait<Address = Self::Address>;
    type Address: BasicAddress;
    type ValidityCondition: ValidityCondition;
    type InclusionMultiProof: Serialize + DeserializeOwned;
    type CompletenessProof: Serialize + DeserializeOwned;
    type ChainParams;
}
Expand description

A specification for the types used by a DA layer.

Required Associated Types§

source

type SlotHash: BlockHashTrait

The hash of a DA layer block

source

type BlockHeader: BlockHeaderTrait<Hash = Self::SlotHash>

The block header type used by the DA layer

source

type BlobTransaction: BlobReaderTrait<Address = Self::Address>

The transaction type used by the DA layer.

source

type Address: BasicAddress

The type used to represent addresses on the DA layer.

source

type ValidityCondition: ValidityCondition

Any conditions imposed by the DA layer which need to be checked outside of the SNARK

source

type InclusionMultiProof: Serialize + DeserializeOwned

A proof that each tx in a set of blob transactions is included in a given block.

source

type CompletenessProof: Serialize + DeserializeOwned

A proof that a claimed set of transactions is complete. For example, this could be a range proof demonstrating that the provided BlobTransactions represent the entire contents of Celestia namespace in a given block

source

type ChainParams

The parameters of the rollup which are baked into the state-transition function. For example, this could include the namespace of the rollup on Celestia.

Implementors§