xud
Version:
Exchange Union Daemon
81 lines • 3.16 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeNodeState = exports.convertNodeState = exports.validateNodeState = void 0;
const pb = __importStar(require("../../proto/xudp2p_pb"));
const utils_1 = require("../../utils/utils");
exports.validateNodeState = (nodeState) => {
// TODO: validate that pairsList does not contain duplicates
return !!(nodeState
&& nodeState.pairsList
&& nodeState.lndPubKeysMap
&& nodeState.tokenIdentifiersMap
&& nodeState.lndUrisMap
&& nodeState.addressesList.every(addr => !!addr.host));
};
exports.convertNodeState = (nodeState) => {
return utils_1.removeUndefinedProps({
pairs: nodeState.pairsList,
addresses: nodeState.addressesList,
connextIdentifier: nodeState.connextIdentifier,
lndPubKeys: utils_1.convertKvpArrayToKvps(nodeState.lndPubKeysMap),
lndUris: convertLndUris(nodeState.lndUrisMap),
tokenIdentifiers: utils_1.convertKvpArrayToKvps(nodeState.tokenIdentifiersMap),
});
};
const convertLndUris = (kvpArray) => {
const kvps = {};
kvpArray.forEach((kvp) => {
kvps[kvp[0]] = kvp[1].lndUriList;
});
return kvps;
};
const setLndUrisMap = (obj, map) => {
for (const key in obj) {
if (obj[key] !== undefined) {
const lndUris = new pb.LndUris();
lndUris.setLndUriList(obj[key]);
map.set(key, lndUris);
}
}
};
exports.serializeNodeState = (nodeState) => {
const pbNodeState = new pb.NodeState();
pbNodeState.setPairsList(nodeState.pairs);
pbNodeState.setAddressesList(nodeState.addresses.map((addr) => {
const pbAddr = new pb.Address();
pbAddr.setHost(addr.host);
pbAddr.setPort(addr.port);
return pbAddr;
}));
pbNodeState.setConnextIdentifier(nodeState.connextIdentifier);
if (nodeState.lndPubKeys) {
utils_1.setObjectToMap(nodeState.lndPubKeys, pbNodeState.getLndPubKeysMap());
}
if (nodeState.lndUris) {
setLndUrisMap(nodeState.lndUris, pbNodeState.getLndUrisMap());
}
if (nodeState.tokenIdentifiers) {
utils_1.setObjectToMap(nodeState.tokenIdentifiers, pbNodeState.getTokenIdentifiersMap());
}
return pbNodeState;
};
//# sourceMappingURL=utils.js.map