Witness node database¶
The keccak256(node) → span index into the SSZ witness buffer, backing
node_db_lookup.
Non-normative
This page documents the model's host interface — internal contracts of the executable specification, not protocol rules.
val nodedb_reset¶
Empties the node index (start of witness indexing).
val nodedb_reset = impure { c: "nodedb_reset" } : unit -> unitval nodedb_insert¶
Indexes a witness trie node: records its (offset, length) span in
the SSZ buffer under its KECCAK-256 hash.
val nodedb_insert = impure { c: "nodedb_insert" } : (hash, stateless_input_pointer, stateless_input_length) -> unitThe common digest type used by trie, code, and block hashes.
type hash = b256A length in the immutable stateless-input envelope.
type stateless_input_length = range(0, stateless_input_region_bound)A coordinate in the immutable stateless-input envelope.
type stateless_input_pointer = range(0, stateless_input_region_bound)val nodedb_lookup¶
The complete stateless-input span recorded for a node hash; the empty slice when the node is unwitnessed. Returning the span as one value keeps its source and host-range constraint intact.
val nodedb_lookup = impure { c: "nodedb_lookup" } : hash -> StatelessInputSliceA stateless-input range with its coordinate and length packed existentially.
type StatelessInputSlice = {
'off 'len,
stateless_input_valid_range('off, 'len).
StatelessInputSliceFields('off, 'len)
}The common digest type used by trie, code, and block hashes.
type hash = b256