ox
Version:
Ethereum Standard Library
22 lines • 693 B
JavaScript
import { isStructSignature } from './runtime/signatures.js';
import { parseStructs } from './runtime/structs.js';
import { parseSignature } from './runtime/utils.js';
/**
* Parses human-readable ABI into JSON `Abi`.
*
* @param signatures - Human-Readable ABI
* @returns Parsed `Abi`.
*/
export function parseAbi(signatures) {
const structs = parseStructs(signatures);
const abi = [];
const length = signatures.length;
for (let i = 0; i < length; i++) {
const signature = signatures[i];
if (isStructSignature(signature))
continue;
abi.push(parseSignature(signature, structs));
}
return abi;
}
//# sourceMappingURL=parseAbi.js.map