pub trait GlobalStateInterface {
type Ledger;
type W: WitnessGenerator<Fp>;
type Bool: BoolInterface;
type SignedAmount: SignedAmountInterface;
type GlobalSlotSinceGenesis: GlobalSlotSinceGenesisInterface;
// Required methods
fn first_pass_ledger(&self) -> Self::Ledger;
fn set_first_pass_ledger(
&mut self,
should_update: Self::Bool,
ledger: &Self::Ledger,
w: &mut Self::W,
);
fn second_pass_ledger(&self) -> Self::Ledger;
fn set_second_pass_ledger(
&mut self,
should_update: Self::Bool,
ledger: &Self::Ledger,
w: &mut Self::W,
);
fn fee_excess(&self) -> Self::SignedAmount;
fn set_fee_excess(&mut self, fee_excess: Self::SignedAmount);
fn supply_increase(&self) -> Self::SignedAmount;
fn set_supply_increase(&mut self, supply_increase: Self::SignedAmount);
fn block_global_slot(&self) -> Self::GlobalSlotSinceGenesis;
}Required Associated Types§
type Ledger
type W: WitnessGenerator<Fp>
type Bool: BoolInterface
type SignedAmount: SignedAmountInterface
type GlobalSlotSinceGenesis: GlobalSlotSinceGenesisInterface
Required Methods§
fn first_pass_ledger(&self) -> Self::Ledger
fn set_first_pass_ledger( &mut self, should_update: Self::Bool, ledger: &Self::Ledger, w: &mut Self::W, )
fn second_pass_ledger(&self) -> Self::Ledger
fn set_second_pass_ledger( &mut self, should_update: Self::Bool, ledger: &Self::Ledger, w: &mut Self::W, )
fn fee_excess(&self) -> Self::SignedAmount
fn set_fee_excess(&mut self, fee_excess: Self::SignedAmount)
fn supply_increase(&self) -> Self::SignedAmount
fn set_supply_increase(&mut self, supply_increase: Self::SignedAmount)
fn block_global_slot(&self) -> Self::GlobalSlotSinceGenesis
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".