Interface iApprovalCriteria<T>

interface iApprovalCriteria<T> {
    approvalAmounts?: iApprovalAmounts<T>;
    coinTransfers?: iCoinTransfer<T>[];
    maxNumTransfers?: iMaxNumTransfers<T>;
    merkleChallenges?: iMerkleChallenge<T>[];
    mustOwnBadges?: iMustOwnBadges<T>[];
    overridesFromOutgoingApprovals?: boolean;
    overridesToIncomingApprovals?: boolean;
    predeterminedBalances?: iPredeterminedBalances<T>;
    requireFromDoesNotEqualInitiatedBy?: boolean;
    requireFromEqualsInitiatedBy?: boolean;
    requireToDoesNotEqualInitiatedBy?: boolean;
    requireToEqualsInitiatedBy?: boolean;
    zkProofs?: iZkProof[];
}

Type Parameters

Hierarchy (view full)

Implemented by

Properties

approvalAmounts?: iApprovalAmounts<T>

The maximum approved amounts for this approval.

coinTransfers?: iCoinTransfer<T>[]

The $BADGE transfers to be executed upon every approval.

maxNumTransfers?: iMaxNumTransfers<T>

The max num transfers for this approval.

merkleChallenges?: iMerkleChallenge<T>[]

The list of merkle challenges that need valid proofs to be approved.

mustOwnBadges?: iMustOwnBadges<T>[]

The list of must own badges to be approved.

overridesFromOutgoingApprovals?: boolean

Whether this approval overrides the from address's approved outgoing transfers.

overridesToIncomingApprovals?: boolean

Whether this approval overrides the to address's approved incoming transfers.

predeterminedBalances?: iPredeterminedBalances<T>

The predetermined balances for each transfer.

requireFromDoesNotEqualInitiatedBy?: boolean

Whether the from address must not equal the initiatedBy address.

requireFromEqualsInitiatedBy?: boolean

Whether the from address must equal the initiatedBy address.

requireToDoesNotEqualInitiatedBy?: boolean

Whether the to address must not equal the initiatedBy address.

requireToEqualsInitiatedBy?: boolean

Whether the to address must equal the initiatedBy address.

zkProofs?: iZkProof[]

The list of ZK proofs that need to be satisfied. One use per proof solution.