InnerSpec contains all store-specific structure info to determine if two proofs from a given store are neighbors.

This enables:

isLeftMost(spec: InnerSpec, op: InnerOp) isRightMost(spec: InnerSpec, op: InnerOp) isLeftNeighbor(spec: InnerSpec, left: InnerOp, right: InnerOp)

from message ics23.InnerSpec

Hierarchy

Constructors

Properties

childOrder: number[] = []

Child order is the ordering of the children node, must count from 0 iavl tree is [0, 1] (left then right) merk is [0, 2, 1] (left, right, here)

from field: repeated int32 child_order = 1;

childSize: number = 0

from field: int32 child_size = 2;

emptyChild: Uint8Array = ...

empty child is the prehash image that is used when one child is nil (eg. 20 bytes of 0)

from field: bytes empty_child = 5;

hash: HashOp = HashOp.NO_HASH

hash is the algorithm that must be used for each InnerOp

from field: ics23.HashOp hash = 6;

maxPrefixLength: number = 0

from field: int32 max_prefix_length = 4;

minPrefixLength: number = 0

from field: int32 min_prefix_length = 3;

fields: FieldList = ...
runtime: ProtoRuntime = proto3
typeName: "ics23.InnerSpec" = 'ics23.InnerSpec'

Methods