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

Package Sidebar

Install

npm i generate-contract-interface

Weekly Downloads

3

Version

0.1.13

License

ISC

Last publish

Collaborators

  • raine