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:52

Properties​

abi​

• abi: Abi

Defined in​

src/utils/calldata/index.ts:44


parser​

• parser: AbiParserInterface

Defined in​

src/utils/calldata/index.ts:46


structs​

• Protected Readonly structs: AbiStructs

Defined in​

src/utils/calldata/index.ts:48


enums​

• Protected Readonly enums: AbiEnums

Defined in​

src/utils/calldata/index.ts:50

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:165


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:283


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:300


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:319


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:328


validate​

â–¸ validate(type, method, args?): void

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

Parameters​

NameTypeDefault valueDescription
type"CALL" | "DEPLOY" | "INVOKE"undefinedValidateType - 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:65


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:118


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:249


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:273


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:343