generate-contract-interface

0.1.13 • Public • Published

generate-contract-interface

npm version

Generates an abstract contract in Solidity from a given contract.

Install

$ npm install --save generate-contract-interface

CLI Usage

$ generate-contract-interface < MyContract.sol

It does support inheritance, although it currently only works if you are doing one contract per file. You may specify a root directory for imports if it is different from the current working directory:

$ generate-contract-interface --importRoot ./contracts < MyContract.sol

MyContract.sol:

import './B.sol';
 
contract A is B {
  function a() {
  }
}

B.sol:

contract B {
  function b() {
  }
}

Output:

contract IA {
  function b();
  function a();
}

API Usage

const generateInterface = require('generate-contract-interface')
 
const src = `contract MyContract {
  function foo(uint a) constant public returns(uint) {
    return 0;
  }
 
  function bar(uint a, uint b) {
  }
}`
 
console.log(generateInterface(src))
 
/* Output:
 
contract IMyContract {
  function foo(uint a) constant public returns(uint);
  function bar(uint a, uint b);
}
*/
 

Issues

Before reporting, please makes sure your source is parseable via solidity-parser.

Known Issues

  • Does not handle multiple contracts per file.

License

ISC © Raine Revere

/generate-contract-interface/

    Package Sidebar

    Install

    npm i generate-contract-interface

    Weekly Downloads

    3

    Version

    0.1.13

    License

    ISC

    Last publish

    Collaborators

    • raine