Trait ZkappApplication

Source
pub trait ZkappApplication
where 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§

Source

type Ledger: LedgerInterface<W = Self::WitnessGenerator, AccountUpdate = Self::AccountUpdate, Account = Self::Account, Bool = Self::Bool>

Source

type SignedAmount: SignedAmountInterface<W = Self::WitnessGenerator, Bool = Self::Bool, Amount = Self::Amount> + Debug + Clone

Source

type Amount: AmountInterface<W = Self::WitnessGenerator, Bool = Self::Bool> + Clone

Source

type Balance: BalanceInterface<W = Self::WitnessGenerator, Bool = Self::Bool, Amount = Self::Amount, SignedAmount = Self::SignedAmount>

Source

type Index: IndexInterface + Clone + ToFieldElements<Fp>

Source

type GlobalSlotSinceGenesis: GlobalSlotSinceGenesisInterface<W = Self::WitnessGenerator, Bool = Self::Bool>

Source

type StackFrame: StackFrameInterface<W = Self::WitnessGenerator, Calls = Self::CallForest, Bool = Self::Bool> + Debug + Clone

Source

type CallForest: CallForestInterface<W = Self::WitnessGenerator, AccountUpdate = Self::AccountUpdate, Bool = Self::Bool>

Source

type CallStack: CallStackInterface<W = Self::WitnessGenerator, Elt = Self::StackFrame, Bool = Self::Bool> + ToFieldElements<Fp> + Clone

Source

type GlobalState: GlobalStateInterface<Ledger = Self::Ledger, W = Self::WitnessGenerator, SignedAmount = Self::SignedAmount, GlobalSlotSinceGenesis = Self::GlobalSlotSinceGenesis, Bool = Self::Bool>

Source

type AccountUpdate: AccountUpdateInterface<W = Self::WitnessGenerator, CallForest = Self::CallForest, SingleData = Self::SingleData, Bool = Self::Bool, SignedAmount = Self::SignedAmount, VerificationKeyHash = Self::VerificationKeyHash>

Source

type AccountId: AccountIdInterface<W = Self::WitnessGenerator>

Source

type TokenId: TokenIdInterface<W = Self::WitnessGenerator, Bool = Self::Bool>

Source

type Bool: BoolInterface<W = Self::WitnessGenerator, FailureStatusTable = Self::FailureStatusTable> + ToFieldElements<Fp> + Clone + Copy + Debug

Source

type TransactionCommitment: TransactionCommitmentInterface<W = Self::WitnessGenerator, AccountUpdate = Self::AccountUpdate, CallForest = Self::CallForest>

Source

type FailureStatusTable

Source

type LocalState: LocalStateInterface<W = Self::WitnessGenerator, Z = Self, Bool = Self::Bool>

Source

type Account: AccountInterface<W = Self::WitnessGenerator, D = Self::SingleData, Bool = Self::Bool, Balance = Self::Balance, GlobalSlot = Self::GlobalSlotSinceGenesis, VerificationKeyHash = Self::VerificationKeyHash>

Source

type VerificationKeyHash: VerificationKeyHashInterface<W = Self::WitnessGenerator, Bool = Self::Bool>

Source

type Controller: ControllerInterface<W = Self::WitnessGenerator, Bool = Self::Bool, SingleData = Self::SingleData>

Source

type TxnVersion: TxnVersionInterface<W = Self::WitnessGenerator, Bool = Self::Bool>

Source

type SetOrKeep: SetOrKeepInterface<Bool = Self::Bool>

Source

type GlobalSlotSpan: GlobalSlotSpanInterface<W = Self::WitnessGenerator, Bool = Self::Bool, SlotSpan = SlotSpan>

Source

type Actions: ActionsInterface<W = Self::WitnessGenerator, Bool = Self::Bool>

Source

type ReceiptChainHash: ReceiptChainHashInterface<W = Self::WitnessGenerator, Index = Self::Index>

Source

type SingleData

Source

type Handler: ZkappHandler<Z = Self, AccountUpdate = Self::AccountUpdate, Account = Self::Account, Bool = Self::Bool, W = Self::WitnessGenerator, GlobalState = Self::GlobalState>

Source

type Branch: BranchInterface<W = Self::WitnessGenerator>

Source

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.

Implementors§

Source§

impl ZkappApplication for ZkappSnark

Source§

type Ledger = LedgerWithHash

Source§

type SignedAmount = CheckedSigned<Fp256<FpParameters>, CheckedAmount<Fp256<FpParameters>>>

Source§

type Amount = CheckedAmount<Fp256<FpParameters>>

Source§

type Balance = CheckedBalance<Fp256<FpParameters>>

Source§

type Index = CheckedIndex<Fp256<FpParameters>>

Source§

type GlobalSlotSinceGenesis = CheckedSlot<Fp256<FpParameters>>

Source§

type StackFrame = WithLazyHash<StackFrameCheckedFrame>

Source§

type CallForest = WithHash<CallForest<AccountUpdateSkeleton<Body>>>

Source§

type CallStack = WithHash<Vec<WithStackHash<WithHash<StackFrame>>>>

Source§

type GlobalState = GlobalStateSkeleton<LedgerWithHash, CheckedSigned<Fp256<FpParameters>, CheckedAmount<Fp256<FpParameters>>>, CheckedSlot<Fp256<FpParameters>>>

Source§

type AccountUpdate = AccountUpdateSkeleton<WithHash<Body>>

Source§

type AccountId = SnarkAccountId

Source§

type TokenId = SnarkTokenId

Source§

type Bool = CircuitVar<Boolean>

Source§

type TransactionCommitment = SnarkTransactionCommitment

Source§

type FailureStatusTable = ()

Source§

type LocalState = LocalState<ZkappSnark>

Source§

type Account = WithLazyHash<Box<Account>>

Source§

type VerificationKeyHash = SnarkVerificationKeyHash

Source§

type SingleData = ZkappSingleData

Source§

type Controller = SnarkController

Source§

type TxnVersion = SnarkTxnVersion

Source§

type SetOrKeep = SnarkSetOrKeep

Source§

type GlobalSlotSpan = SnarkGlobalSlotSpan

Source§

type Actions = SnarkActions

Source§

type ReceiptChainHash = SnarkReceiptChainHash

Source§

type Handler = SnarkHandler

Source§

type Branch = SnarkBranch

Source§

type WitnessGenerator = Witness<Fp256<FpParameters>>

Source§

impl<L: LedgerNonSnark> ZkappApplication for ZkappNonSnark<L>