bitbadgesjs-sdk - v0.27.2
    Preparing search index...

    Class ApprovalCriteria

    ApprovalCriteria defines the criteria for approving transfers. All criteria must be satisfied for the approval to be considered valid.

    from message badges.ApprovalCriteria

    Hierarchy

    Index

    Constructors

    Properties

    altTimeChecks?: badges.AltTimeChecks

    Alternative time-based checks for approval denial (offline hours/days). Defines time periods during which this approval should be denied, such as specific hours of the day or days of the week.

    from field: badges.AltTimeChecks altTimeChecks = 20;

    approvalAmounts?: badges.ApprovalAmounts

    Threshold limit of amounts that can be transferred using this approval. Tracks cumulative amounts transferred and enforces maximum limits per approval.

    from field: badges.ApprovalAmounts approvalAmounts = 3;

    autoDeletionOptions?: badges.AutoDeletionOptions

    Auto-deletion options for this approval. Defines conditions under which this approval should be automatically deleted (e.g., after a certain number of uses or time period).

    from field: badges.AutoDeletionOptions autoDeletionOptions = 12;

    coinTransfers: badges.CoinTransfer[] = []

    The sdk.Coins that need to be transferred for approval. Defines required coin transfers (e.g., fees, royalties) that must be executed alongside the badge transfer for the approval to be valid.

    from field: repeated badges.CoinTransfer coinTransfers = 5;

    dynamicStoreChallenges: badges.DynamicStoreChallenge[] = []

    Dynamic store challenges that the initiator must pass for approval. The initiator must provide valid proofs that satisfy all specified dynamic store challenges (e.g., key-value store lookups).

    from field: repeated badges.DynamicStoreChallenge dynamicStoreChallenges = 15;

    ethSignatureChallenges: badges.ETHSignatureChallenge[] = []

    ETH signature challenges that the initiator must pass for approval. The initiator must provide valid Ethereum signatures for all specified challenges. Each signature can only be used once.

    from field: repeated badges.ETHSignatureChallenge ethSignatureChallenges = 16;

    initiatorChecks?: badges.AddressChecks

    Address checks for the initiator of the transfer. Validates that the initiator address meets the specified criteria (e.g., whitelist, blacklist, protocol address requirements).

    from field: badges.AddressChecks initiatorChecks = 19;

    maxNumTransfers?: badges.MaxNumTransfers

    Maximum number of transfers that can be processed using this approval. Tracks the count of transfers and enforces the limit to prevent exceeding the allowed number of uses.

    from field: badges.MaxNumTransfers maxNumTransfers = 4;

    merkleChallenges: badges.MerkleChallenge[] = []

    Merkle challenges that must be satisfied for approval. The initiator must provide valid Merkle proofs that satisfy all specified challenges. Each challenge requires a proof that leads to a specific root hash.

    from field: repeated badges.MerkleChallenge merkleChallenges = 1;

    mustOwnTokens: badges.MustOwnTokens[] = []

    Must own tokens for approval. Defines token ownership requirements that must be satisfied for the approval to be valid. The initiator must own the specified tokens at the specified ownership times.

    from field: repeated badges.MustOwnTokens mustOwnTokens = 14;

    mustPrioritize: boolean = false

    If true, this approval must be explicitly prioritized in PrioritizedApprovals to be used. This allows fine-grained control over which approvals are applied when multiple approvals could match.

    from field: bool mustPrioritize = 21;

    overridesFromOutgoingApprovals: boolean = false

    Overrides the user's outgoing approvals for approval. If true, this collection-level approval takes precedence over any outgoing approvals defined by the sender, allowing the collection to control outgoing transfer behavior.

    from field: bool overridesFromOutgoingApprovals = 10;

    overridesToIncomingApprovals: boolean = false

    Overrides the user's incoming approvals for approval. If true, this collection-level approval takes precedence over any incoming approvals defined by the recipient, allowing the collection to control incoming transfer behavior.

    from field: bool overridesToIncomingApprovals = 11;

    predeterminedBalances?: badges.PredeterminedBalances

    Predetermined balances that must be used for each approval. Defines the exact token amounts and IDs that can be transferred when using this approval.

    from field: badges.PredeterminedBalances predeterminedBalances = 2;

    recipientChecks?: badges.AddressChecks

    Address checks for the recipient of the transfer. Validates that the recipient address meets the specified criteria (e.g., whitelist, blacklist, protocol address requirements).

    from field: badges.AddressChecks recipientChecks = 18;

    requireFromDoesNotEqualInitiatedBy: boolean = false

    Require the "from" address to not be equal to the "initiated by" address for approval. If true, transfers where the sender equals the initiator are forbidden.

    from field: bool requireFromDoesNotEqualInitiatedBy = 9;

    requireFromEqualsInitiatedBy: boolean = false

    Require the "from" address to be equal to the "initiated by" address for approval. If true, only transfers where the sender matches the initiator are allowed.

    from field: bool requireFromEqualsInitiatedBy = 7;

    requireToDoesNotEqualInitiatedBy: boolean = false

    Require the "to" address to not be equal to the "initiated by" address for approval. If true, transfers where the recipient equals the initiator are forbidden.

    from field: bool requireToDoesNotEqualInitiatedBy = 8;

    requireToEqualsInitiatedBy: boolean = false

    Require the "to" address to be equal to the "initiated by" address for approval. If true, only transfers where the recipient matches the initiator are allowed.

    from field: bool requireToEqualsInitiatedBy = 6;

    senderChecks?: badges.AddressChecks

    Address checks for the sender of the transfer. Validates that the sender address meets the specified criteria (e.g., whitelist, blacklist, protocol address requirements).

    from field: badges.AddressChecks senderChecks = 17;

    userRoyalties?: badges.UserRoyalties

    User level royalties to apply to the transfer. Defines the percentage and payout address for royalties that should be collected when this approval is used for a transfer.

    from field: badges.UserRoyalties userRoyalties = 13;

    votingChallenges: badges.VotingChallenge[] = []

    Voting challenges that must be satisfied for approval. The initiator must provide valid votes that meet the quorum threshold for all specified challenges.

    from field: repeated badges.VotingChallenge votingChallenges = 22;

    fields: FieldList = ...
    runtime: ProtoRuntime = proto3
    typeName: "badges.ApprovalCriteria"

    Methods