Skip to main content
Version: Next

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>[]