pub struct Config<C, M, X, P, SS, T, BV, S, MV, R>where
C: Signer,
X: Blocker<PublicKey = C::PublicKey>,
S: Scheme + SimplexScheme<MV::Commitment, PublicKey = C::PublicKey>,
MV: MarshalVariant,
MV::ApplicationBlock: ReshareBlock,
<MV::ApplicationBlock as ReshareBlock>::Signer: Signer<PublicKey = C::PublicKey>,
R: Registrar<PublicKey = C::PublicKey>,{Show 18 fields
pub signer: C,
pub manager: M,
pub blocker: X,
pub participants_provider: P,
pub secret_store: SS,
pub strategy: T,
pub registrar: R,
pub marshal: Mailbox<S, MV>,
pub state_sync: Plan<S, MV::Commitment, R::Variant, <MV::ApplicationBlock as ReshareBlock>::Directory>,
pub fence: Fence,
pub namespace: &'static [u8],
pub sharing_mode: Mode,
pub reveal: Reveal,
pub mailbox_size: NonZeroUsize,
pub partition_prefix: String,
pub max_participants: NonZeroU32,
pub blocks_per_epoch: NonZeroU64,
pub batch_verifier: PhantomData<BV>,
}Expand description
Configuration for Actor.
Fields§
§signer: CSigner for player acknowledgments and dealer logs.
manager: MP2P manager used to track peers during one-shot DKG.
Continuous reshare peer tracking is owned by
orchestrator.
blocker: XBlocker used to block peers that send invalid protocol messages.
participants_provider: PProvider of participant policy.
secret_store: SSStore for private share material.
strategy: TParallel strategy for cryptographic verification.
registrar: RRegistrar for configuring signing scheme providers.
marshal: Mailbox<S, MV>Marshal mailbox used to read canonical public epoch state from finalized boundary blocks.
state_sync: Plan<S, MV::Commitment, R::Variant, <MV::ApplicationBlock as ReshareBlock>::Directory>Shared DKG state-sync startup recovery plan.
fence: FenceEpoch readiness fence.
namespace: &'static [u8]Application namespace for transcript separation.
sharing_mode: ModeSharing mode used for newly generated threshold outputs.
reveal: RevealRevealed-share calculation used for each newly prepared ceremony.
mailbox_size: NonZeroUsizeActor mailbox capacity.
partition_prefix: StringRuntime-storage partition prefix.
max_participants: NonZeroU32Maximum entries accepted in each decoded or provider-supplied participant set.
blocks_per_epoch: NonZeroU64Epoch schedule used to interpret finalized block heights.
batch_verifier: PhantomData<BV>Batch verifier marker.
Auto Trait Implementations§
impl<C, M, X, P, SS, T, BV, S, MV, R> !RefUnwindSafe for Config<C, M, X, P, SS, T, BV, S, MV, R>
impl<C, M, X, P, SS, T, BV, S, MV, R> !UnwindSafe for Config<C, M, X, P, SS, T, BV, S, MV, R>
impl<C, M, X, P, SS, T, BV, S, MV, R> Freeze for Config<C, M, X, P, SS, T, BV, S, MV, R>where
<<MV as Variant>::ApplicationBlock as ReshareBlock>::Signer: Sized,
<MV as Variant>::ApplicationBlock: Sized,
C: Freeze,
M: Freeze,
X: Freeze,
P: Freeze,
SS: Freeze,
T: Freeze,
R: Freeze,
Mailbox<S, MV>: Freeze,
Plan<S, <MV as Variant>::Commitment, <R as Registrar>::Variant, <<MV as Variant>::ApplicationBlock as ReshareBlock>::Directory>: Freeze,
PhantomData<BV>: Freeze,
impl<C, M, X, P, SS, T, BV, S, MV, R> Send for Config<C, M, X, P, SS, T, BV, S, MV, R>where
<<MV as Variant>::ApplicationBlock as ReshareBlock>::Signer: Sized,
<MV as Variant>::ApplicationBlock: Sized,
M: Send,
P: Send,
SS: Send,
T: Send,
Mailbox<S, MV>: Send,
Plan<S, <MV as Variant>::Commitment, <R as Registrar>::Variant, <<MV as Variant>::ApplicationBlock as ReshareBlock>::Directory>: Send,
PhantomData<BV>: Send,
impl<C, M, X, P, SS, T, BV, S, MV, R> Sync for Config<C, M, X, P, SS, T, BV, S, MV, R>where
<<MV as Variant>::ApplicationBlock as ReshareBlock>::Signer: Sized,
<MV as Variant>::ApplicationBlock: Sized,
M: Sync,
X: Sync,
P: Sync,
SS: Sync,
T: Sync,
Mailbox<S, MV>: Sync,
Plan<S, <MV as Variant>::Commitment, <R as Registrar>::Variant, <<MV as Variant>::ApplicationBlock as ReshareBlock>::Directory>: Sync,
PhantomData<BV>: Sync,
impl<C, M, X, P, SS, T, BV, S, MV, R> Unpin for Config<C, M, X, P, SS, T, BV, S, MV, R>where
<<MV as Variant>::ApplicationBlock as ReshareBlock>::Signer: Sized,
<MV as Variant>::ApplicationBlock: Sized,
C: Unpin,
M: Unpin,
X: Unpin,
P: Unpin,
SS: Unpin,
T: Unpin,
R: Unpin,
Mailbox<S, MV>: Unpin,
Plan<S, <MV as Variant>::Commitment, <R as Registrar>::Variant, <<MV as Variant>::ApplicationBlock as ReshareBlock>::Directory>: Unpin,
PhantomData<BV>: Unpin,
impl<C, M, X, P, SS, T, BV, S, MV, R> UnsafeUnpin for Config<C, M, X, P, SS, T, BV, S, MV, R>where
<<MV as Variant>::ApplicationBlock as ReshareBlock>::Signer: Sized,
<MV as Variant>::ApplicationBlock: Sized,
C: UnsafeUnpin,
M: UnsafeUnpin,
X: UnsafeUnpin,
P: UnsafeUnpin,
SS: UnsafeUnpin,
T: UnsafeUnpin,
R: UnsafeUnpin,
Mailbox<S, MV>: UnsafeUnpin,
Plan<S, <MV as Variant>::Commitment, <R as Registrar>::Variant, <<MV as Variant>::ApplicationBlock as ReshareBlock>::Directory>: UnsafeUnpin,
PhantomData<BV>: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more