fork from source https://www.npmjs.com/package/solidity-json-schema
Convert Solidity ABI into a JSON schema.
const convert = require('abi2schema');
const abi = require('./PathToTruffleArtifact.json').abi;
const all = convert(abi);
const schema1 = convert(abi, {
type: 'constructor',
for: 'inputs',
as: 'object'
});
// {
// "type": "object",
// "required": ["tokenName", "maxAmount"],
// "properties": {
// "tokenName": {
// "type": "string"
// },
// "maxAmount": {
// "type": "integer"
// }
// }
// }
const schema2 = convert(abi, {
name: 'fiatMaximum',
for: 'outputs',
as: 'array'
});
// {
// "type": "object",
// "required": ["tokenName", "maxAmount"],
// "properties": {
// "tokenName": {
// "type": "string"
// },
// "maxAmount": {
// "type": "integer"
// }
// }
// }
- Does not de-references imported contracts
- Not found returns undefined