Skip to content

erc4626-tests #34

@K2

Description

@K2

Thx for the lib, I was looking at parsing some code and came across some issues in handling the erc4626-tests, roughly here ERC4626.test.sol

I tried looking through pretty much wherever I can under any *Definition including up to FileDefinition's and pretty much the entire scope....

Not sure if it's due to the abstract, etc... I usually wind up hitting the ValueError in StaticVarLoad whenever a process_all()/refine_stmt is being performed to locate the part associated with 'N'... that goes unfounded.

When I walk the scopes I can see the contract and function's, but not sure how to coerce the abstract local/unassociated const out... thanks again.

// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.0 <0.9.0;

import "./ERC4626.prop.sol";

interface IMockERC20 is IERC20 {
    function mint(address to, uint value) external;
    function burn(address from, uint value) external;
}

abstract contract ERC4626Test is ERC4626Prop {
    function setUp() public virtual;

    uint constant N = 4;  // <---- Can't seem to locate this const

    struct Init {
        address[N] user;
        uint[N] share;
        uint[N] asset;
        int yield;
    }

    // setup initial vault state as follows:
    //
    // totalAssets == sum(init.share) + init.yield
    // totalShares == sum(init.share)
    //
    // init.user[i]'s assets == init.asset[i]
    // init.user[i]'s shares == init.share[i]
    function setUpVault(Init memory init) public virtual {
        // setup initial shares and assets for individual users

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions