Skip to main content
Version: Next

Class: CallData

Constructors

constructor

new CallData(abi): CallData

Parameters

NameType
abiAbi

Returns

CallData

Defined in

src/utils/calldata/index.ts:51

Properties

abi

abi: Abi

Defined in

src/utils/calldata/index.ts:43


parser

parser: AbiParserInterface

Defined in

src/utils/calldata/index.ts:45


structs

Protected Readonly structs: AbiStructs

Defined in

src/utils/calldata/index.ts:47


enums

Protected Readonly enums: AbiEnums

Defined in

src/utils/calldata/index.ts:49

Methods

compile

compile(rawArgs): Calldata

Compile contract callData without abi

Parameters

NameTypeDescription
rawArgsRawArgsRawArgs representing cairo method arguments or string array of compiled data

Returns

Calldata

Calldata

Defined in

src/utils/calldata/index.ts:164


getAbiStruct

getAbiStruct(abi): AbiStructs

Helper to extract structs from abi

Parameters

NameTypeDescription
abiAbiAbi

Returns

AbiStructs

AbiStructs - structs from abi

Defined in

src/utils/calldata/index.ts:282


getAbiEnum

getAbiEnum(abi): AbiEnums

Helper to extract enums from abi

Parameters

NameTypeDescription
abiAbiAbi

Returns

AbiEnums

AbiEnums - enums from abi

Defined in

src/utils/calldata/index.ts:299


toCalldata

toCalldata(rawCalldata?): Calldata

Helper: Compile HexCalldata | RawCalldata | RawArgs

Parameters

NameTypeDefault valueDescription
rawCalldataRawArgs[]HexCalldata | RawCalldata | RawArgs

Returns

Calldata

Calldata

Defined in

src/utils/calldata/index.ts:318


toHex

toHex(raw?): HexCalldata

Helper: Convert raw to HexCalldata

Parameters

NameTypeDefault valueDescription
rawRawArgs[]HexCalldata | RawCalldata | RawArgs

Returns

HexCalldata

HexCalldata

Defined in

src/utils/calldata/index.ts:327


validate

validate(type, method, args?): void

Validate arguments passed to the method as corresponding to the ones in the abi

Parameters

NameTypeDefault valueDescription
typeValidateTypeundefinedValidateType - type of the method
methodstringundefinedstring - name of the method
argsArgsOrCalldata[]ArgsOrCalldata - arguments that are passed to the method

Returns

void

Defined in

src/utils/calldata/index.ts:64


compile

compile(method, argsCalldata): Calldata

Compile contract callData with abi Parse the calldata by using input fields from the abi for that method

Parameters

NameTypeDescription
methodstringstring - method name
argsCalldataRawArgsRawArgs - arguments passed to the method. Can be an array of arguments (in the order of abi definition), or an object constructed in conformity with abi (in this case, the parameter can be in a wrong order).

Returns

Calldata

Calldata - parsed arguments in format that contract is expecting

Example

const calldata = myCallData.compile("constructor", ["0x34a", [1, 3n]]);
const calldata2 = myCallData.compile("constructor", {list:[1, 3n], balance:"0x34"}); // wrong order is valid

Defined in

src/utils/calldata/index.ts:117


parse

parse(method, response): Result

Parse elements of the response array and structuring them into response object

Parameters

NameTypeDescription
methodstringstring - method name
responsestring[]string[] - response from the method

Returns

Result

Result - parsed response corresponding to the abi

Defined in

src/utils/calldata/index.ts:248


format

format(method, response, format): Result

Format cairo method response data to native js values based on provided format schema

Parameters

NameTypeDescription
methodstringstring - cairo method name
responsestring[]string[] - cairo method response
formatobjectobject - formatter object schema

Returns

Result

Result - parsed and formatted response object

Defined in

src/utils/calldata/index.ts:272


decodeParameters

decodeParameters(typeCairo, response): AllowArray<Result>

Parse the elements of a contract response and structure them into one or several Result. In Cairo 0, arrays are not supported.

Parameters

NameTypeDescription
typeCairoAllowArray<string>string or string[] - Cairo type name, ex : "hello::hello::UserData"
responsestring[]string[] - serialized data corresponding to typeCairo.

Returns

AllowArray<Result>

Result or Result[] - parsed response corresponding to typeData.

Example

const res2=helloCallData.decodeParameters("hello::hello::UserData",["0x123456","0x1"]);
result = { address: 1193046n, is_claimed: true }

Defined in

src/utils/calldata/index.ts:342