pub trait ZkappApplicationwhere
Self: Sized,{
Show 29 associated items
type Ledger: LedgerInterface<W = Self::WitnessGenerator, AccountUpdate = Self::AccountUpdate, Account = Self::Account, Bool = Self::Bool>;
type SignedAmount: SignedAmountInterface<W = Self::WitnessGenerator, Bool = Self::Bool, Amount = Self::Amount> + Debug + Clone;
type Amount: AmountInterface<W = Self::WitnessGenerator, Bool = Self::Bool> + Clone;
type Balance: BalanceInterface<W = Self::WitnessGenerator, Bool = Self::Bool, Amount = Self::Amount, SignedAmount = Self::SignedAmount>;
type Index: IndexInterface + Clone + ToFieldElements<Fp>;
type GlobalSlotSinceGenesis: GlobalSlotSinceGenesisInterface<W = Self::WitnessGenerator, Bool = Self::Bool>;
type StackFrame: StackFrameInterface<W = Self::WitnessGenerator, Calls = Self::CallForest, Bool = Self::Bool> + Debug + Clone;
type CallForest: CallForestInterface<W = Self::WitnessGenerator, AccountUpdate = Self::AccountUpdate, Bool = Self::Bool>;
type CallStack: CallStackInterface<W = Self::WitnessGenerator, Elt = Self::StackFrame, Bool = Self::Bool> + ToFieldElements<Fp> + Clone;
type GlobalState: GlobalStateInterface<Ledger = Self::Ledger, W = Self::WitnessGenerator, SignedAmount = Self::SignedAmount, GlobalSlotSinceGenesis = Self::GlobalSlotSinceGenesis, Bool = Self::Bool>;
type AccountUpdate: AccountUpdateInterface<W = Self::WitnessGenerator, CallForest = Self::CallForest, SingleData = Self::SingleData, Bool = Self::Bool, SignedAmount = Self::SignedAmount, VerificationKeyHash = Self::VerificationKeyHash>;
type AccountId: AccountIdInterface<W = Self::WitnessGenerator>;
type TokenId: TokenIdInterface<W = Self::WitnessGenerator, Bool = Self::Bool>;
type Bool: BoolInterface<W = Self::WitnessGenerator, FailureStatusTable = Self::FailureStatusTable> + ToFieldElements<Fp> + Clone + Copy + Debug;
type TransactionCommitment: TransactionCommitmentInterface<W = Self::WitnessGenerator, AccountUpdate = Self::AccountUpdate, CallForest = Self::CallForest>;
type FailureStatusTable;
type LocalState: LocalStateInterface<W = Self::WitnessGenerator, Z = Self, Bool = Self::Bool>;
type Account: AccountInterface<W = Self::WitnessGenerator, D = Self::SingleData, Bool = Self::Bool, Balance = Self::Balance, GlobalSlot = Self::GlobalSlotSinceGenesis, VerificationKeyHash = Self::VerificationKeyHash>;
type VerificationKeyHash: VerificationKeyHashInterface<W = Self::WitnessGenerator, Bool = Self::Bool>;
type Controller: ControllerInterface<W = Self::WitnessGenerator, Bool = Self::Bool, SingleData = Self::SingleData>;
type TxnVersion: TxnVersionInterface<W = Self::WitnessGenerator, Bool = Self::Bool>;
type SetOrKeep: SetOrKeepInterface<Bool = Self::Bool>;
type GlobalSlotSpan: GlobalSlotSpanInterface<W = Self::WitnessGenerator, Bool = Self::Bool, SlotSpan = SlotSpan>;
type Actions: ActionsInterface<W = Self::WitnessGenerator, Bool = Self::Bool>;
type ReceiptChainHash: ReceiptChainHashInterface<W = Self::WitnessGenerator, Index = Self::Index>;
type SingleData;
type Handler: ZkappHandler<Z = Self, AccountUpdate = Self::AccountUpdate, Account = Self::Account, Bool = Self::Bool, W = Self::WitnessGenerator, GlobalState = Self::GlobalState>;
type Branch: BranchInterface<W = Self::WitnessGenerator>;
type WitnessGenerator: WitnessGenerator<Fp, Bool = Self::Bool>;
}
Required Associated Types§
type Ledger: LedgerInterface<W = Self::WitnessGenerator, AccountUpdate = Self::AccountUpdate, Account = Self::Account, Bool = Self::Bool>
type SignedAmount: SignedAmountInterface<W = Self::WitnessGenerator, Bool = Self::Bool, Amount = Self::Amount> + Debug + Clone
type Amount: AmountInterface<W = Self::WitnessGenerator, Bool = Self::Bool> + Clone
type Balance: BalanceInterface<W = Self::WitnessGenerator, Bool = Self::Bool, Amount = Self::Amount, SignedAmount = Self::SignedAmount>
type Index: IndexInterface + Clone + ToFieldElements<Fp>
type GlobalSlotSinceGenesis: GlobalSlotSinceGenesisInterface<W = Self::WitnessGenerator, Bool = Self::Bool>
type StackFrame: StackFrameInterface<W = Self::WitnessGenerator, Calls = Self::CallForest, Bool = Self::Bool> + Debug + Clone
type CallForest: CallForestInterface<W = Self::WitnessGenerator, AccountUpdate = Self::AccountUpdate, Bool = Self::Bool>
type CallStack: CallStackInterface<W = Self::WitnessGenerator, Elt = Self::StackFrame, Bool = Self::Bool> + ToFieldElements<Fp> + Clone
type GlobalState: GlobalStateInterface<Ledger = Self::Ledger, W = Self::WitnessGenerator, SignedAmount = Self::SignedAmount, GlobalSlotSinceGenesis = Self::GlobalSlotSinceGenesis, Bool = Self::Bool>
type AccountUpdate: AccountUpdateInterface<W = Self::WitnessGenerator, CallForest = Self::CallForest, SingleData = Self::SingleData, Bool = Self::Bool, SignedAmount = Self::SignedAmount, VerificationKeyHash = Self::VerificationKeyHash>
type AccountId: AccountIdInterface<W = Self::WitnessGenerator>
type TokenId: TokenIdInterface<W = Self::WitnessGenerator, Bool = Self::Bool>
type Bool: BoolInterface<W = Self::WitnessGenerator, FailureStatusTable = Self::FailureStatusTable> + ToFieldElements<Fp> + Clone + Copy + Debug
type TransactionCommitment: TransactionCommitmentInterface<W = Self::WitnessGenerator, AccountUpdate = Self::AccountUpdate, CallForest = Self::CallForest>
type FailureStatusTable
type LocalState: LocalStateInterface<W = Self::WitnessGenerator, Z = Self, Bool = Self::Bool>
type Account: AccountInterface<W = Self::WitnessGenerator, D = Self::SingleData, Bool = Self::Bool, Balance = Self::Balance, GlobalSlot = Self::GlobalSlotSinceGenesis, VerificationKeyHash = Self::VerificationKeyHash>
type VerificationKeyHash: VerificationKeyHashInterface<W = Self::WitnessGenerator, Bool = Self::Bool>
type Controller: ControllerInterface<W = Self::WitnessGenerator, Bool = Self::Bool, SingleData = Self::SingleData>
type TxnVersion: TxnVersionInterface<W = Self::WitnessGenerator, Bool = Self::Bool>
type SetOrKeep: SetOrKeepInterface<Bool = Self::Bool>
type GlobalSlotSpan: GlobalSlotSpanInterface<W = Self::WitnessGenerator, Bool = Self::Bool, SlotSpan = SlotSpan>
type Actions: ActionsInterface<W = Self::WitnessGenerator, Bool = Self::Bool>
type ReceiptChainHash: ReceiptChainHashInterface<W = Self::WitnessGenerator, Index = Self::Index>
type SingleData
type Handler: ZkappHandler<Z = Self, AccountUpdate = Self::AccountUpdate, Account = Self::Account, Bool = Self::Bool, W = Self::WitnessGenerator, GlobalState = Self::GlobalState>
type Branch: BranchInterface<W = Self::WitnessGenerator>
type WitnessGenerator: WitnessGenerator<Fp, Bool = Self::Bool>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.