Skip to main content

StateBoundedMerkleTree

@midnight-ntwrk/compact-runtime v0.9.0


@midnight-ntwrk/compact-runtime / StateBoundedMerkleTree

Class: StateBoundedMerkleTree

Represents a fixed-depth Merkle tree storing hashed data, whose preimages are unknown

Constructors

Constructor

new StateBoundedMerkleTree(height): StateBoundedMerkleTree;

Create a blank tree with the given height

Parameters

height

number

Returns

StateBoundedMerkleTree

Properties

height

readonly height: number;

Methods

collapse()

collapse(start, end): StateBoundedMerkleTree;

Internal

Erases all but necessary hashes between, and inclusive of, start and end inidices

Parameters

start

bigint

end

bigint

Returns

StateBoundedMerkleTree

Throws

If the indices are out-of-bounds for the tree, or end < start


findPathForLeaf()

findPathForLeaf(leaf): AlignedValue;

Internal

Internal implementation of the finding path primitive

Parameters

leaf

AlignedValue

Returns

AlignedValue

Throws

If the leaf is not in the tree


pathForLeaf()

pathForLeaf(index, leaf): AlignedValue;

Internal

Internal implementation of the path construction primitive

Parameters

index

bigint

leaf

AlignedValue

Returns

AlignedValue

Throws

If the index is out-of-bounds for the tree


root()

root(): Value;

Internal

Internal implementation of the merkle tree root primitive

Returns

Value


toString()

toString(compact?): string;

Parameters

compact?

boolean

Returns

string


update()

update(index, leaf): StateBoundedMerkleTree;

Inserts a value into the Merkle tree, returning the updated tree

Parameters

index

bigint

leaf

AlignedValue

Returns

StateBoundedMerkleTree

Throws

If the index is out-of-bounds for the tree