UNPKG

@spanning/utils

Version:

Javascript utility functions for the Spanning Network

25 lines 1.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.toAbi = void 0; const underscore_1 = __importDefault(require("underscore")); const ethers_1 = require("ethers"); function toAbi(functionName, types, parameters) { const functionSignature = underscore_1.default.map(types, (theType, index) => { return theType + ` parameter${index}`; }).join(", "); const parameterTypes = underscore_1.default.zip(parameters, types); const formattedValues = underscore_1.default.map(parameterTypes, (parameterType) => { const value = parameterType[0]; const theType = parameterType[1]; return value; }); let ABI = [`function ${functionName}(${functionSignature})`]; let iface = new ethers_1.ethers.utils.Interface(ABI); const payload = iface.encodeFunctionData(functionName.toString(), formattedValues); return payload; } exports.toAbi = toAbi; //# sourceMappingURL=abiHelper.js.map