Skip to content

Why is App.validTransition a pure method? #22

@MatthiasLohr

Description

@MatthiasLohr

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions