0 reply
0 recast
0 reaction
essentials team built out two pieces recently, declarative execution environment (essentialvm) & constraint driven language (pint)
pint contracts are composed of a persistent storage block & a series of predicates which constrain how state transitions happen. state access is made explicit in predicates, identifier (counter) may constrain existing state, identifier w single-quote suffix (counter') may constrain next state.
vm itself is a 64 bit stack machine w two execution stages, one for loading storage variables into a tx buffer, the other for constraining values in the tx buffer. isa is minimal, w a handful of logical, arithmetic, elliptic curve, sha, storage, and control flow ops
note that state is not explicitly assigned to a single value, state is arbitrarily provided by solvers, predicates only constrain the bounds of what solvers submit
obligatory counter attached: 2 replies
3 recasts
10 reactions
1 reply
0 recast
2 reactions
1 reply
0 recast
3 reactions
1 reply
0 recast
2 reactions
1 reply
1 recast
2 reactions