[Feature Request] Move signature enforcement for script functions from VM -> adapter(s) · Issue #76 · diem/move · GitHub
More Web Proxy on the site http://driver.im/
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, public(script) visibility is the only way to declare an entrypoint in Move. The VM/verifier enforce two things about such functions:
They can only be called by other public(script) functions
There are restrictions on the structure of the function signature described here
This feature suggestion proposes to keep (1) and drop (2). The reason is that every adapter has the concept of “entrypoint” and benefits from the enforcement of (1), but the restrictions in (2) are specific to Diem-like adapters. Thus, it makes sense to move those checks there–let each adapter decide what sorts of entrypoints are valid for its clients.
This is actually eliminating a feature that limits the design space of adapters, not adding a new one. All we need to do is gate the relevant code in the verifier and source language by the relevant bytecode version.
The text was updated successfully, but these errors were encountered:
Currently,
public(script)
visibility is the only way to declare an entrypoint in Move. The VM/verifier enforce two things about such functions:public(script)
functionsThis feature suggestion proposes to keep (1) and drop (2). The reason is that every adapter has the concept of “entrypoint” and benefits from the enforcement of (1), but the restrictions in (2) are specific to Diem-like adapters. Thus, it makes sense to move those checks there–let each adapter decide what sorts of entrypoints are valid for its clients.
This is actually eliminating a feature that limits the design space of adapters, not adding a new one. All we need to do is gate the relevant code in the verifier and source language by the relevant bytecode version.
The text was updated successfully, but these errors were encountered: