question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Handle interface contracts gracefully

See original GitHub issue

I have this unimplemented interface contract, in the same folder as a contract that inherits it.

pragma solidity ^0.4.18;
contract Interface{    
    function transfer(address _to, uint _value, bytes _data) public returns (bool);
    event Transfer(address indexed _from, address indexed _to, uint256 indexed _value, bytes _data);
}

The dir structure is something like:

contracts/
├── Interface.sol
├── Implemented.sol
├── SomethingElse.sol

So, I’d like to be able to run myth -x contracts/*.sol, but when I do, I get:

  File "/Users/primary/.pyenv/versions/3.6.1/bin/myth", line 205, in <module>
    name, bytecode = compile_solidity(solc_binary, file)
  File "/Users/primary/.pyenv/versions/3.6.1/lib/python3.6/site-packages/mythril/ether/util.py", line 36, in compile_solidity
    return [m.group(1), m.group(2)]
AttributeError: 'NoneType' object has no attribute 'group'

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
step21commented, Jan 16, 2018

@maurelian Of course, just curious when quickly looking at it. Thanks for clarifying.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Interface Contracts - LLNL Software Portal
Interface contracts consist of one or more clauses defining expected behaviors at method call boundaries. The behaviors are specified through assertions, which ...
Read more >
Don't just check errors, handle them gracefully - Dave Cheney
The Error method on the error interface exists for humans, not code. The contents of that string belong in a log file, or...
Read more >
Interface Contracts Matter. Misused abstraction causes a…
When you use an interface, depend upon only the documented contract and not an implementation of the interface.
Read more >
Service contract definition - ServiceComb Java Chassis ...
The interface contract is micro-service-version level information. When multiple micro-service instances are started, if an instance registers the contract with ...
Read more >
Contracts — ethers.js 4.0.0 documentation
The Contract object is a meta-class, which is a class that defines a Class at run-time. The Contract definition (called an Application Binary...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found