Trait sov_modules_api::DaSpec
source · 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§
sourcetype SlotHash: BlockHashTrait
type SlotHash: BlockHashTrait
The hash of a DA layer block
sourcetype BlockHeader: BlockHeaderTrait<Hash = Self::SlotHash>
type BlockHeader: BlockHeaderTrait<Hash = Self::SlotHash>
The block header type used by the DA layer
sourcetype BlobTransaction: BlobReaderTrait<Address = Self::Address>
type BlobTransaction: BlobReaderTrait<Address = Self::Address>
The transaction type used by the DA layer.
sourcetype Address: BasicAddress
type Address: BasicAddress
The type used to represent addresses on the DA layer.
sourcetype ValidityCondition: ValidityCondition
type ValidityCondition: ValidityCondition
Any conditions imposed by the DA layer which need to be checked outside of the SNARK
sourcetype InclusionMultiProof: Serialize + DeserializeOwned
type InclusionMultiProof: Serialize + DeserializeOwned
A proof that each tx in a set of blob transactions is included in a given block.
sourcetype CompletenessProof: Serialize + DeserializeOwned
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
sourcetype ChainParams
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.