pub trait GpuHashScheme:
Copy
+ Clone
+ Send
+ Sync
+ 'static {
type SC: StarkProtocolConfig<F = F, EF = EF, Digest = Self::Digest>;
type Digest: Copy + Clone + PartialEq + Send + Sync + Serialize + DeserializeOwned + BatchQueryMerkle + 'static;
type Transcript: GpuFiatShamirTranscript<Self::SC> + Default + Clone + Send + Sync + 'static;
type MerkleHash: GpuMerkleHash<Digest = Self::Digest>;
// Required methods
fn default_config(params: SystemParams) -> Self::SC;
fn default_transcript() -> Self::Transcript;
}Expand description
Binding trait that couples a StarkProtocolConfig, a Merkle hash scheme,
and a transcript type into a single coherent GPU proving configuration.
Required Associated Types§
type SC: StarkProtocolConfig<F = F, EF = EF, Digest = Self::Digest>
type Digest: Copy + Clone + PartialEq + Send + Sync + Serialize + DeserializeOwned + BatchQueryMerkle + 'static
type Transcript: GpuFiatShamirTranscript<Self::SC> + Default + Clone + Send + Sync + 'static
type MerkleHash: GpuMerkleHash<Digest = Self::Digest>
Required Methods§
fn default_config(params: SystemParams) -> Self::SC
fn default_transcript() -> Self::Transcript
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".