-
Notifications
You must be signed in to change notification settings - Fork 5
Description
The title already has already the question: Why is App.validTransition a pure
method?
I'm currently working on a research paper with an app using Perun. The app is intended to allow a certain dispute transition only of some "prerequisites" are fullfilled in the app contract, which can be set by other methods. However, having the pure
keyword, the validTransition
method is not allowed to read any state from the app contract implementation, which raises a huge problem for me, because it makes a solution much harder to implement with significantly increased Gas cost.
Is there any (e.g. security-related) reason, why this method has to be pure
? Or would it from the conceptual and security point of view (and all other point of views which might be important here) be conceivable to declare it as view method or even leave it open to the implementation?
In solidity a method C overriding a method P can only modify this to more strict (e.g., from view to pure), but not the opposite.