Skip to content
This repository has been archived by the owner on Sep 27, 2023. It is now read-only.

Tutorial is made for CVL1 and needs to be updated to CVL2. #35

Open
youngDuckling opened this issue Jun 20, 2023 · 1 comment
Open

Tutorial is made for CVL1 and needs to be updated to CVL2. #35

youngDuckling opened this issue Jun 20, 2023 · 1 comment

Comments

@youngDuckling
Copy link

youngDuckling commented Jun 20, 2023

Running this script solved the issue for me.

However, having beginners to go through this process is counter productive.

Please update the repo with updated specs.

@twicek
Copy link

twicek commented Jul 25, 2023

This problem can be partially solved by changing the methods definition:

methods {
    // When a function is not using the environment (e.g., msg.sender), it can be declared as envfree 
    balanceOf(address)         returns(uint) envfree
    allowance(address,address) returns(uint) envfree
    totalSupply()              returns(uint) envfree
}

To this:

methods {
    // When a function is not using the environment (e.g., msg.sender), it can be declared as envfree 
    function balanceOf(address) external returns(uint) envfree;
    function allowance(address,address) external returns(uint) envfree;
    function totalSupply() external returns(uint) envfree;
}

This change allows at least to do ERC20Lesson1.

Reference in docs: https://docs.certora.com/en/latest/docs/cvl/cvl2/changes.html#superficial-syntax-changes

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

No branches or pull requests

2 participants