Skip to main content
Version: 10.8.0

Class: CairoByteArray

Defined in: src/utils/cairoDataTypes/byteArray.ts:20

Constructors​

Constructor​

new CairoByteArray(data, pendingWord, pendingWordLen): CairoByteArray

Defined in: src/utils/cairoDataTypes/byteArray.ts:41

byteArray from typed components

Parameters​

data​

CairoBytes31[]

pendingWord​

CairoFelt252

pendingWordLen​

CairoUint32

Returns​

CairoByteArray

Constructor​

new CairoByteArray(data): CairoByteArray

Defined in: src/utils/cairoDataTypes/byteArray.ts:42

Parameters​

data​

unknown

Returns​

CairoByteArray

Properties​

abiSelector​

static abiSelector: "core::byte_array::ByteArray"

Defined in: src/utils/cairoDataTypes/byteArray.ts:36


data​

data: CairoBytes31[] = []

Defined in: src/utils/cairoDataTypes/byteArray.ts:24

entire dataset


pending_word​

pending_word: CairoFelt252

Defined in: src/utils/cairoDataTypes/byteArray.ts:29

cairo specific implementation helper


pending_word_len​

pending_word_len: CairoUint32

Defined in: src/utils/cairoDataTypes/byteArray.ts:34

cairo specific implementation helper

Methods​

__processData()​

static __processData(inData): object

Defined in: src/utils/cairoDataTypes/byteArray.ts:71

Parameters​

inData​

unknown

Returns​

object

data​

data: CairoBytes31[]

pending_word​

pending_word: CairoFelt252

pending_word_len​

pending_word_len: CairoUint32


validate()​

static validate(data): void

Defined in: src/utils/cairoDataTypes/byteArray.ts:233

Parameters​

data​

unknown

Returns​

void


is()​

static is(data): boolean

Defined in: src/utils/cairoDataTypes/byteArray.ts:273

Check if the provided data is a valid CairoByteArray

Parameters​

data​

any

The data to check

Returns​

boolean

True if the data is a valid CairoByteArray, false otherwise


isAbiType()​

static isAbiType(abiType): boolean

Defined in: src/utils/cairoDataTypes/byteArray.ts:285

Check if provided abi type is this data type

Parameters​

abiType​

string

Returns​

boolean


factoryFromApiResponse()​

static factoryFromApiResponse(responseIterator): CairoByteArray

Defined in: src/utils/cairoDataTypes/byteArray.ts:289

Parameters​

responseIterator​

Iterator<string>

Returns​

CairoByteArray


toApiRequest()​

toApiRequest(): string[]

Defined in: src/utils/cairoDataTypes/byteArray.ts:128

Returns​

string[]


decodeUtf8()​

decodeUtf8(): string

Defined in: src/utils/cairoDataTypes/byteArray.ts:139

Returns​

string


toBigInt()​

toBigInt(): bigint

Defined in: src/utils/cairoDataTypes/byteArray.ts:146

Returns​

bigint


toHexString()​

toHexString(): string

Defined in: src/utils/cairoDataTypes/byteArray.ts:163

Returns​

string


toBuffer()​

toBuffer(): any

Defined in: src/utils/cairoDataTypes/byteArray.ts:170

Returns​

any


hash()​

hash(): string

Defined in: src/utils/cairoDataTypes/byteArray.ts:190

Compute the Pedersen hash of this ByteArray, following OpenZeppelin's hash_byte_array algorithm.

Serializes the ByteArray to its felt252 components (data array length, each data chunk, pending_word, pending_word_len), then chains Pedersen hash over all elements starting from 0, and finalizes with the total element count.

Returns​

string

hex-string felt252 Pedersen hash of the ByteArray

Example​

const ba = new CairoByteArray('Hello');
const result = ba.hash();
// result = 0x15d19ad651ffaf8e90a13938db2081fa3ff01de0712e00cbe69891bace66c51

toElements()​

toElements(): Uint8Array<ArrayBufferLike>[]

Defined in: src/utils/cairoDataTypes/byteArray.ts:205

returns an array of all the data chunks and the pending word when concatenated, represents the original bytes sequence

Returns​

Uint8Array<ArrayBufferLike>[]