Skip to main content

ZkappApplication

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".

Implementors§

Source§

impl ZkappApplication for ZkappSnark

Source§

type Ledger = LedgerWithHash

Source§

type SignedAmount = CheckedSigned<Fp<MontBackend<FqConfig, 4>, 4>, CheckedAmount<Fp<MontBackend<FqConfig, 4>, 4>>>

Source§

type Amount = CheckedAmount<Fp<MontBackend<FqConfig, 4>, 4>>

Source§

type Balance = CheckedBalance<Fp<MontBackend<FqConfig, 4>, 4>>

Source§

type Index = CheckedIndex<Fp<MontBackend<FqConfig, 4>, 4>>

Source§

type GlobalSlotSinceGenesis = CheckedSlot<Fp<MontBackend<FqConfig, 4>, 4>>

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<Fp<MontBackend<FqConfig, 4>, 4>, CheckedAmount<Fp<MontBackend<FqConfig, 4>, 4>>>, CheckedSlot<Fp<MontBackend<FqConfig, 4>, 4>>>

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<Fp<MontBackend<FqConfig, 4>, 4>>

Source§

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