@ardier16/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
68 lines • 2.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParamVotingHelper = void 0;
const types_1 = require("../types");
/**
* Helps work with Parameters voting instances
*/
class ParamVotingHelper {
mapParameterToOnChainJson(parameter) {
const value = parameter.paramValue;
const rawParameter = {
paramKey: parameter.paramKey,
paramType: parameter.paramType,
addrValue: '0x0000000000000000000000000000000000000000',
boolValue: false,
bytes32value: '0x0000000000000000000000000000000000000000000000000000000000000000',
strValue: '',
uintValue: '0',
};
switch (parameter.paramType) {
case types_1.ParameterType.ADDRESS:
rawParameter.addrValue = value;
break;
case types_1.ParameterType.BOOL:
rawParameter.boolValue = (value.toLowerCase() === 'true');
break;
case types_1.ParameterType.BYTE:
rawParameter.bytes32value = value;
break;
case types_1.ParameterType.STRING:
rawParameter.strValue = value;
break;
case types_1.ParameterType.UINT:
rawParameter.uintValue = value;
break;
}
const parameterAsArray = [rawParameter.paramKey, rawParameter.paramType, rawParameter.addrValue, rawParameter.boolValue, rawParameter.bytes32value, rawParameter.strValue, rawParameter.uintValue];
const mappedParameter = Object.assign(parameterAsArray, rawParameter);
return mappedParameter;
}
mapOnChainJsonToParameter(rawParameter) {
let paramValue;
switch (rawParameter.paramType) {
case types_1.ParameterType.ADDRESS:
paramValue = rawParameter.addrValue;
break;
case types_1.ParameterType.BOOL:
paramValue = rawParameter.boolValue.toString();
break;
case types_1.ParameterType.BYTE:
paramValue = rawParameter.bytes32value;
break;
case types_1.ParameterType.STRING:
paramValue = rawParameter.strValue;
break;
case types_1.ParameterType.UINT:
paramValue = rawParameter.uintValue;
break;
}
return {
paramKey: rawParameter.paramKey,
paramType: rawParameter.paramType,
paramValue
};
}
}
exports.ParamVotingHelper = ParamVotingHelper;
//# sourceMappingURL=param-voting-helper.js.map