UNPKG

@q-dev/gdk-sdk

Version:

Typescript Library to interact with GDK Contracts

63 lines 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.filterParameter = exports.getABINameFromSituationName = exports.getParameter = void 0; const ethers_1 = require("ethers"); const types_1 = require("../types"); function getParameter(name, value, type) { const parameter = { name: name, value: "", solidityType: type, }; const coder = new ethers_1.ethers.utils.AbiCoder(); if (type === types_1.ParameterType.ADDRESS) { parameter.value = coder.encode(["address"], [value]); return parameter; } else if (type === types_1.ParameterType.UINT256) { parameter.value = coder.encode(["uint256"], [value]); return parameter; } else if (type === types_1.ParameterType.STRING) { parameter.value = coder.encode(["string"], [value]); return parameter; } else if (type === types_1.ParameterType.BYTES) { parameter.value = value; return parameter; } else if (type === types_1.ParameterType.BOOL) { parameter.value = coder.encode(["bool"], [value]); return parameter; } return parameter; } exports.getParameter = getParameter; const getABINameFromSituationName = (situationName) => { switch (situationName) { case "GeneralSituation": return "DAOVoting"; case "ParameterSituation": return "DAOParameterStorage"; case "MembershipSituation": return "DAOMemberStorage"; case "ConstitutionSituation": return "DAOParameterStorage"; default: return null; } }; exports.getABINameFromSituationName = getABINameFromSituationName; const filterParameter = (parameters, type, name = "") => { return parameters.filter((parameter) => { if (String(parameter.solidityType) === String(types_1.ParameterType.NONE)) { return parameter.name === name; } if (name === "") { return String(parameter.solidityType) === type.toString(); } return String(parameter.solidityType) === type.toString() && parameter.name === name; }); }; exports.filterParameter = filterParameter; //# sourceMappingURL=create-proposal-helper.js.map