~/bend-docscommunity

proofs/storage_tree_model.bend checks

raw source on the hub · import stelliferous@0.0.2.0/proofs/storage_tree_model.bend as Storage_tree_model

Proof-only Data model of native arrays, parameterized by element type. Addresses below intentionally retain the runtime's U32 wrap semantics.

1 import
import Base

Types

type Tree source · line 5 · raw

@-T:Data -> Data

Definitions

def pack source · line 9 · raw

@-T:Data -> @tree:Tree<T> -> Array<T>

def reflect source · line 18 · raw

@-Element:Data -> @storage:Array<Element> -> Tree<Element>

Proof observation of an existing owner, not a runtime conversion. Callers use it only in erased propositions; numeric code continues to use Array directly.

def capacity source · line 22 · raw

@-T:Data -> @tree:Tree<T> -> U32

def fresh source · line 28 · raw

@-T:Data -> @n:Nat -> @+v:T -> Tree<T>

def fetch source · line 34 · raw

@-T:Data -> @tree:Tree<T> -> @+n:U32 -> @+i:U32 -> T

def store source · line 40 · raw

@-T:Data -> @tree:Tree<T> -> @+n:U32 -> @+i:U32 -> @+v:T -> Tree<T>

def read source · line 46 · raw

@-T:Data -> @+tree:Tree<T> -> @i:U32 -> T

def write source · line 48 · raw

@-T:Data -> @+tree:Tree<T> -> @i:U32 -> @v:T -> Tree<T>

Templates

template write_sequence source · line 51 · raw

@-Element:Data -> @values:List<&2, Element> -> @+offset:U32 -> @tree:Tree<Element> -> Tree<Element>

template read_sequence source · line 57 · raw

@-Element:Data -> @count:Nat -> @+offset:U32 -> @+tree:Tree<Element> -> List<&2, Element>