UNPKG

@coolwallet/sol

Version:
37 lines (34 loc) 4.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VersionedMessage = void 0; var _params = require("../config/params"); var _legacy = require("./legacy"); var _v = require("./v0"); // eslint-disable-next-line no-redeclare var VersionedMessage = { deserializeMessageVersion: function deserializeMessageVersion(serializedMessage) { var prefix = serializedMessage[0]; var maskedPrefix = prefix & _params.VERSION_PREFIX_MASK; // if the highest bit of the prefix is not set, the message is not versioned if (maskedPrefix === prefix) { return 'legacy'; } // the lower 7 bits of the prefix indicate the message version return maskedPrefix; }, deserialize: function deserialize(serializedMessage) { var version = VersionedMessage.deserializeMessageVersion(serializedMessage); if (version === 'legacy') { return _legacy.Message.from(serializedMessage); } if (version === 0) { return _v.MessageV0.deserialize(serializedMessage); } else { throw new Error("Transaction message version ".concat(version, " deserialization is not supported")); } } }; exports.VersionedMessage = VersionedMessage; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGFyYW1zIiwicmVxdWlyZSIsIl9sZWdhY3kiLCJfdiIsIlZlcnNpb25lZE1lc3NhZ2UiLCJkZXNlcmlhbGl6ZU1lc3NhZ2VWZXJzaW9uIiwic2VyaWFsaXplZE1lc3NhZ2UiLCJwcmVmaXgiLCJtYXNrZWRQcmVmaXgiLCJWRVJTSU9OX1BSRUZJWF9NQVNLIiwiZGVzZXJpYWxpemUiLCJ2ZXJzaW9uIiwiTWVzc2FnZSIsImZyb20iLCJNZXNzYWdlVjAiLCJFcnJvciIsImNvbmNhdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVzc2FnZS92ZXJzaW9uZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkVSU0lPTl9QUkVGSVhfTUFTSyB9IGZyb20gJy4uL2NvbmZpZy9wYXJhbXMnO1xuaW1wb3J0IHsgTWVzc2FnZSB9ICAgIGZyb20gJy4vbGVnYWN5JztcbmltcG9ydCB7IE1lc3NhZ2VWMCB9IGZyb20gJy4vdjAnO1xuXG5leHBvcnQgdHlwZSBWZXJzaW9uZWRNZXNzYWdlID0gTWVzc2FnZSB8IE1lc3NhZ2VWMDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmV4cG9ydCBjb25zdCBWZXJzaW9uZWRNZXNzYWdlID0ge1xuICBkZXNlcmlhbGl6ZU1lc3NhZ2VWZXJzaW9uKHNlcmlhbGl6ZWRNZXNzYWdlOiBVaW50OEFycmF5KTogJ2xlZ2FjeScgfCBudW1iZXIge1xuICAgIGNvbnN0IHByZWZpeCA9IHNlcmlhbGl6ZWRNZXNzYWdlWzBdO1xuICAgIGNvbnN0IG1hc2tlZFByZWZpeCA9IHByZWZpeCAmIFZFUlNJT05fUFJFRklYX01BU0s7XG5cbiAgICAvLyBpZiB0aGUgaGlnaGVzdCBiaXQgb2YgdGhlIHByZWZpeCBpcyBub3Qgc2V0LCB0aGUgbWVzc2FnZSBpcyBub3QgdmVyc2lvbmVkXG4gICAgaWYgKG1hc2tlZFByZWZpeCA9PT0gcHJlZml4KSB7XG4gICAgICByZXR1cm4gJ2xlZ2FjeSc7XG4gICAgfVxuXG4gICAgLy8gdGhlIGxvd2VyIDcgYml0cyBvZiB0aGUgcHJlZml4IGluZGljYXRlIHRoZSBtZXNzYWdlIHZlcnNpb25cbiAgICByZXR1cm4gbWFza2VkUHJlZml4O1xuICB9LFxuXG4gIGRlc2VyaWFsaXplOiAoc2VyaWFsaXplZE1lc3NhZ2U6IFVpbnQ4QXJyYXkpOiBWZXJzaW9uZWRNZXNzYWdlID0+IHtcbiAgICBjb25zdCB2ZXJzaW9uID1cbiAgICAgIFZlcnNpb25lZE1lc3NhZ2UuZGVzZXJpYWxpemVNZXNzYWdlVmVyc2lvbihzZXJpYWxpemVkTWVzc2FnZSk7XG4gICAgaWYgKHZlcnNpb24gPT09ICdsZWdhY3knKSB7XG4gICAgICByZXR1cm4gTWVzc2FnZS5mcm9tKHNlcmlhbGl6ZWRNZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAodmVyc2lvbiA9PT0gMCkge1xuICAgICAgcmV0dXJuIE1lc3NhZ2VWMC5kZXNlcmlhbGl6ZShzZXJpYWxpemVkTWVzc2FnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRyYW5zYWN0aW9uIG1lc3NhZ2UgdmVyc2lvbiAke3ZlcnNpb259IGRlc2VyaWFsaXphdGlvbiBpcyBub3Qgc3VwcG9ydGVkYCxcbiAgICAgICk7XG4gICAgfVxuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsRUFBQSxHQUFBRixPQUFBO0FBR0E7QUFDTyxJQUFNRyxnQkFBZ0IsR0FBRztFQUM5QkMseUJBQXlCLFdBQUFBLDBCQUFDQyxpQkFBNkIsRUFBcUI7SUFDMUUsSUFBTUMsTUFBTSxHQUFHRCxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDbkMsSUFBTUUsWUFBWSxHQUFHRCxNQUFNLEdBQUdFLDJCQUFtQjs7SUFFakQ7SUFDQSxJQUFJRCxZQUFZLEtBQUtELE1BQU0sRUFBRTtNQUMzQixPQUFPLFFBQVE7SUFDakI7O0lBRUE7SUFDQSxPQUFPQyxZQUFZO0VBQ3JCLENBQUM7RUFFREUsV0FBVyxFQUFFLFNBQUFBLFlBQUNKLGlCQUE2QixFQUF1QjtJQUNoRSxJQUFNSyxPQUFPLEdBQ1hQLGdCQUFnQixDQUFDQyx5QkFBeUIsQ0FBQ0MsaUJBQWlCLENBQUM7SUFDL0QsSUFBSUssT0FBTyxLQUFLLFFBQVEsRUFBRTtNQUN4QixPQUFPQyxlQUFPLENBQUNDLElBQUksQ0FBQ1AsaUJBQWlCLENBQUM7SUFDeEM7SUFFQSxJQUFJSyxPQUFPLEtBQUssQ0FBQyxFQUFFO01BQ2pCLE9BQU9HLFlBQVMsQ0FBQ0osV0FBVyxDQUFDSixpQkFBaUIsQ0FBQztJQUNqRCxDQUFDLE1BQU07TUFDTCxNQUFNLElBQUlTLEtBQUssZ0NBQUFDLE1BQUEsQ0FDa0JMLE9BQU8sc0NBQ3hDLENBQUM7SUFDSDtFQUNGO0FBQ0YsQ0FBQztBQUFDTSxPQUFBLENBQUFiLGdCQUFBLEdBQUFBLGdCQUFBIiwiaWdub3JlTGlzdCI6W119