Thanks to visit codestin.com
Credit goes to github.com

Skip to content

blockchain-samples/abi2solidity

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

abi2solidity

Convert an ABI to a Solidity interface

Install

$ npm install --save abi2solidity
# OR
$ yarn add abi2solidity

If you want to use the cli, you can install it globally:

$ npm install --global abi2solidity
# OR
$ yarn global add abi2solidity

CLI Usage

$ abi2solidity -h
Usage: abi2solidity [options]

Options:
  -V, --version        output the version number
  -i, --input <file>   JSON ABI Input file (default: "")
  -o, --output <file>  Solidity output file (default: "")
  -h, --help           output usage information

# Example
$ abi2solidity -i abi.json -o export.sol

Code Usage

import ABI2solidity from "abi2solidity";

const ABI = `
[
  {
    "constant": false,
    "inputs": [],
    "name": "f",
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "payable": false,
    "stateMutability": "nonpayable",
    "type": "function"
  }
]
`;

const solidity = ABI2solidity(ABI);
console.log(solidity);
// Will print out:
// interface GeneratedInterface {
//   function f (  ) external returns ( uint256 );
// }

Alternative usage with files:

import { ABI2solidityFiles } from "abi2solidity";

ABI2solidityFiles(inputFileABI, outputFileSolidity);

Development

Run tests

$ yarn test

License

MIT

About

Convert an ABI to a solidity interface

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%