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

    Class IncomingApprovalCriteria

    IncomingApprovalCriteria defines the criteria for approving incoming transfers. This is used for user-level incoming approvals and only includes fields relevant to incoming transfers. All criteria must be satisfied for the approval to be considered valid.

    from message badges.IncomingApprovalCriteria

    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 = 14;

    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 = 8;

    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 = 10;

    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 = 11;

    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 = 13;

    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 = 9;

    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 = 15;

    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;

    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 = 7;

    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 = 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). Note: No recipient checks are included for incoming approvals since the recipient is the user themselves.

    from field: badges.AddressChecks senderChecks = 12;

    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 = 16;

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

    Methods