0

When I'm trying to deploy contracts that contain assert and require using truffle I receive

Error: Undeclared identifier.

e.g:

pragma solidity ^0.4.8;

contract Owned{

    address public owner = msg.sender;


    modifier onlyOwner(){
        assert(msg.sender == owner);
        _;
    }

    function kill() onlyOwner{
        require(msg.sender ==owner);
        suicide(owner);
    }
}

I know that in the past truffle created its own assert.sol but surely they've updated it to be consistent with Solidity, and it doesn't explain why require also fail.

I'll highly appreciate any thoughts on how to overcome this issue.

4
  • 1
    it works perfectly on my machine. I'm able to compile and migrate the same code. which version of truffle are you using?
    – Sanchit
    Commented Jun 28, 2017 at 12:03
  • I'm using v3.2.1
    – shultz
    Commented Jun 28, 2017 at 13:26
  • 1
    I'm using truffle 3.2.5, try upgrading it.
    – Sanchit
    Commented Jun 28, 2017 at 13:58
  • added it as an answer, hope you can upvote it or accept it :P
    – Sanchit
    Commented Jun 28, 2017 at 16:14

1 Answer 1

2

The code works perfectly on my machine. I'm able to migrate and compile the given code.

The truffle version I'm using is - 3.2.5

Upgrade to this version, shall fix your issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.