jtriley.eth
@jtriley
1 reply
0 recast
0 reaction
4 replies
0 recast
28 reactions
1 reply
2 recasts
10 reactions
0 reply
0 recast
1 reaction
1 reply
0 recast
24 reactions
1 reply
0 recast
0 reaction
1 reply
1 recast
1 reaction
1 reply
0 recast
2 reactions
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
17 replies
3 recasts
258 reactions
0 reply
0 recast
1 reaction
0 reply
0 recast
2 reactions
1 reply
0 recast
7 reactions
3 replies
5 recasts
51 reactions
3 replies
6 recasts
50 reactions
0 reply
0 recast
1 reaction
7 replies
1 recast
88 reactions
3 replies
9 recasts
385 reactions
3 replies
0 recast
2 reactions