@spanning/utils
Version:
Javascript utility functions for the Spanning Network
25 lines • 1.1 kB
JavaScript
;
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