Struct sov_prover_incentives::ProverIncentives
source · pub struct ProverIncentives<C: Context, Vm: Zkvm> {
pub address: C::Address,
pub bonding_token_address: StateValue<C::Address>,
pub commitment_of_allowed_verifier_method: StateValue<Vm::CodeCommitment, BcsCodec>,
pub bonded_provers: StateMap<C::Address, u64>,
pub minimum_bond: StateValue<u64>,
/* private fields */
}
Expand description
A new module:
- Must derive
ModuleInfo
- Must contain
[address]
field - Can contain any number of
#[state]
or[module]
fields
Fields§
§address: C::Address
Address of the module.
bonding_token_address: StateValue<C::Address>
The address of the token used for bonding provers
commitment_of_allowed_verifier_method: StateValue<Vm::CodeCommitment, BcsCodec>
The code commitment to be used for verifying proofs
bonded_provers: StateMap<C::Address, u64>
The set of registered provers and their bonded amount.
minimum_bond: StateValue<u64>
The minimum bond for a prover to be eligible for onchain verification
Trait Implementations§
source§impl<C: Context, Vm: Zkvm> Default for ProverIncentives<C, Vm>
impl<C: Context, Vm: Zkvm> Default for ProverIncentives<C, Vm>
source§impl<C: Context, Vm: Zkvm> Module for ProverIncentives<C, Vm>
impl<C: Context, Vm: Zkvm> Module for ProverIncentives<C, Vm>
§type Config = ProverIncentivesConfig<C, Vm>
type Config = ProverIncentivesConfig<C, Vm>
Configuration for the genesis method.
§type CallMessage = CallMessage
type CallMessage = CallMessage
Module defined argument to the call method.
source§fn genesis(
&self,
config: &Self::Config,
working_set: &mut WorkingSet<C::Storage>
) -> Result<(), Error>
fn genesis( &self, config: &Self::Config, working_set: &mut WorkingSet<C::Storage> ) -> Result<(), Error>
Genesis is called when a rollup is deployed and can be used to set initial state values in the module.
source§fn call(
&self,
msg: Self::CallMessage,
context: &Self::Context,
working_set: &mut WorkingSet<C::Storage>
) -> Result<CallResponse, Error>
fn call( &self, msg: Self::CallMessage, context: &Self::Context, working_set: &mut WorkingSet<C::Storage> ) -> Result<CallResponse, Error>
Call allows interaction with the module and invokes state changes.
It takes a module defined type and a context as parameters.
source§impl<C: Context, Vm: Zkvm> ModuleInfo for ProverIncentives<C, Vm>
impl<C: Context, Vm: Zkvm> ModuleInfo for ProverIncentives<C, Vm>
Auto Trait Implementations§
impl<C, Vm> RefUnwindSafe for ProverIncentives<C, Vm>where <C as Spec>::Address: RefUnwindSafe, <Vm as Zkvm>::CodeCommitment: RefUnwindSafe,
impl<C, Vm> Send for ProverIncentives<C, Vm>where <Vm as Zkvm>::CodeCommitment: Send,
impl<C, Vm> Sync for ProverIncentives<C, Vm>where <Vm as Zkvm>::CodeCommitment: Sync,
impl<C, Vm> Unpin for ProverIncentives<C, Vm>where <C as Spec>::Address: Unpin, <Vm as Zkvm>::CodeCommitment: Unpin,
impl<C, Vm> UnwindSafe for ProverIncentives<C, Vm>where <C as Spec>::Address: UnwindSafe, <Vm as Zkvm>::CodeCommitment: UnwindSafe,
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
Mutably borrows from an owned value. Read more