Skip to content

EVMQueryChallenge defines a rule for approval via read-only EVM contract query.

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1485

EVMQueryChallenge defines a rule for approval via read-only EVM contract query.

The challenge executes a staticcall to the specified contract with the given calldata. The result is compared against the expected result (if provided) or checked for non-zero return.

Extends

Extended by

Type Parameters

T

T extends NumberType

Implements

Constructors

Constructor

new EVMQueryChallenge<T>(evmQueryChallenge): EVMQueryChallenge<T>

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1494

Parameters

evmQueryChallenge

iEVMQueryChallenge<T>

Returns

EVMQueryChallenge<T>

Overrides

BaseNumberTypeClass.constructor

Properties

calldata

calldata: string

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1487

ABI-encoded function selector + arguments (hex string). Example: "70a08231000000000000000000000000{address}" for balanceOf(address) Placeholders: $initiator, $sender, $recipient, $collectionId, $recipients

Implementation of

iEVMQueryChallenge.calldata


comparisonOperator?

optional comparisonOperator?: string

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1489

Comparison operator: "eq" (equals), "ne" (not equals), "gt" (greater than), "gte", "lt", "lte" Only "eq" and "ne" work for non-numeric types. Default is "eq".

Implementation of

iEVMQueryChallenge.comparisonOperator


contractAddress

contractAddress: string

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1486

The EVM contract address to query (0x format or bb1 format)

Implementation of

iEVMQueryChallenge.contractAddress


customData?

optional customData?: string

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1492

Arbitrary custom data

Implementation of

iEVMQueryChallenge.customData


expectedResult?

optional expectedResult?: string

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1488

Expected return value (hex string). If empty, any non-error result passes. For boolean checks, use "0000...0001" for true.

Implementation of

iEVMQueryChallenge.expectedResult


gasLimit

gasLimit: T

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1490

Gas limit for the query (default 100000, max 500000)

Implementation of

iEVMQueryChallenge.gasLimit


uri?

optional uri?: string

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1491

The URI associated with this challenge (metadata)

Implementation of

iEVMQueryChallenge.uri

Methods

clone()

clone(): EVMQueryChallenge

Defined in: packages/bitbadgesjs-sdk/src/common/base.ts:151

Deep copies the object and returns a new instance.

Returns

EVMQueryChallenge

Inherited from

BaseNumberTypeClass.clone


convert()

convert<U>(convertFunction, options?): EVMQueryChallenge<U>

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1509

Converts the object to a different NumberType equivalent.

Type Parameters

U

U extends NumberType

Parameters

convertFunction

(item) => U

options?

ConvertOptions

Returns

EVMQueryChallenge<U>

Overrides

BaseNumberTypeClass.convert


equals()

equals<U>(other, normalizeNumberTypes?): boolean

Defined in: packages/bitbadgesjs-sdk/src/common/base.ts:147

Compares this object's fields to another object's fields for equality. Equality is determined by comparing the JSON representations of the objects.

If normalizeNumberTypes is true, then all number types will be compared as strings (i.e. "1n" === "1" === 1). Else, they will be compared as their native types (i.e. 1n !== 1 !== "1").

Type Parameters

U

U extends CustomType<U>

Parameters

other

CustomType<U> | null | undefined

normalizeNumberTypes?

boolean

Returns

boolean

Inherited from

BaseNumberTypeClass.equals


getNumberFieldNames()

getNumberFieldNames(): string[]

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1505

Internal helper method to convert the number fields of the object to a different NumberType equivalent.

Returns

string[]

Overrides

BaseNumberTypeClass.getNumberFieldNames


hasNumberFields()

hasNumberFields(): boolean

Defined in: packages/bitbadgesjs-sdk/src/common/base.ts:161

Checks if the object has number fields.

Returns

boolean

Inherited from

BaseNumberTypeClass.hasNumberFields


toJson()

toJson(): JsonObject

Defined in: packages/bitbadgesjs-sdk/src/common/base.ts:139

Converts the object to a JSON object with all primitive types.

Returns

JsonObject

Inherited from

BaseNumberTypeClass.toJson


toJsonString()

toJsonString(): string

Defined in: packages/bitbadgesjs-sdk/src/common/base.ts:143

Converts the object to a JSON string.

Returns

string

Inherited from

BaseNumberTypeClass.toJsonString


toProto()

toProto(): EVMQueryChallenge

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1525

Returns

EVMQueryChallenge


fromProto()

static fromProto<U>(item, convertFunction): EVMQueryChallenge<U>

Defined in: packages/bitbadgesjs-sdk/src/core/misc.ts:1513

Type Parameters

U

U extends NumberType

Parameters

item

EVMQueryChallenge

convertFunction

(item) => U

Returns

EVMQueryChallenge<U>

Edit this page on GitHub