Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Empty stack pre- and post-condition notation does not allow for abstract big_map, contract, and operation literals #87

Open
sskeirik opened this issue Jul 8, 2020 · 0 comments

Comments

@sskeirik
Copy link
Collaborator

sskeirik commented Jul 8, 2020

Currently, we execute pre- and post-conditions in an environment starting with an empty stack and PUSHing on all needed values on the stack. The problem comes when we want pre- and post-conditions to constrain abstract values of type big_map, contract, and operation.

Because these values are not PUSHable by Michelson, we should not use the PUSH instruction to put them on the stack. However, since our pre- and post-conditions execute in an environment with no initial stack, it is impossible to refer to these abstract values.

NOTE: it may be that K-Michelson can push them, but that syntax will not be interoperable with the reference client or other clients.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant