UNPKG

@coolwallet/sol

Version:
36 lines (33 loc) 4.26 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 = exports.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")); } } }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGFyYW1zIiwicmVxdWlyZSIsIl9sZWdhY3kiLCJfdiIsIlZlcnNpb25lZE1lc3NhZ2UiLCJleHBvcnRzIiwiZGVzZXJpYWxpemVNZXNzYWdlVmVyc2lvbiIsInNlcmlhbGl6ZWRNZXNzYWdlIiwicHJlZml4IiwibWFza2VkUHJlZml4IiwiVkVSU0lPTl9QUkVGSVhfTUFTSyIsImRlc2VyaWFsaXplIiwidmVyc2lvbiIsIk1lc3NhZ2UiLCJmcm9tIiwiTWVzc2FnZVYwIiwiRXJyb3IiLCJjb25jYXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVzc2FnZS92ZXJzaW9uZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkVSU0lPTl9QUkVGSVhfTUFTSyB9IGZyb20gJy4uL2NvbmZpZy9wYXJhbXMnO1xuaW1wb3J0IHsgTWVzc2FnZSB9ICAgIGZyb20gJy4vbGVnYWN5JztcbmltcG9ydCB7IE1lc3NhZ2VWMCB9IGZyb20gJy4vdjAnO1xuXG5leHBvcnQgdHlwZSBWZXJzaW9uZWRNZXNzYWdlID0gTWVzc2FnZSB8IE1lc3NhZ2VWMDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmV4cG9ydCBjb25zdCBWZXJzaW9uZWRNZXNzYWdlID0ge1xuICBkZXNlcmlhbGl6ZU1lc3NhZ2VWZXJzaW9uKHNlcmlhbGl6ZWRNZXNzYWdlOiBVaW50OEFycmF5KTogJ2xlZ2FjeScgfCBudW1iZXIge1xuICAgIGNvbnN0IHByZWZpeCA9IHNlcmlhbGl6ZWRNZXNzYWdlWzBdO1xuICAgIGNvbnN0IG1hc2tlZFByZWZpeCA9IHByZWZpeCAmIFZFUlNJT05fUFJFRklYX01BU0s7XG5cbiAgICAvLyBpZiB0aGUgaGlnaGVzdCBiaXQgb2YgdGhlIHByZWZpeCBpcyBub3Qgc2V0LCB0aGUgbWVzc2FnZSBpcyBub3QgdmVyc2lvbmVkXG4gICAgaWYgKG1hc2tlZFByZWZpeCA9PT0gcHJlZml4KSB7XG4gICAgICByZXR1cm4gJ2xlZ2FjeSc7XG4gICAgfVxuXG4gICAgLy8gdGhlIGxvd2VyIDcgYml0cyBvZiB0aGUgcHJlZml4IGluZGljYXRlIHRoZSBtZXNzYWdlIHZlcnNpb25cbiAgICByZXR1cm4gbWFza2VkUHJlZml4O1xuICB9LFxuXG4gIGRlc2VyaWFsaXplOiAoc2VyaWFsaXplZE1lc3NhZ2U6IFVpbnQ4QXJyYXkpOiBWZXJzaW9uZWRNZXNzYWdlID0+IHtcbiAgICBjb25zdCB2ZXJzaW9uID1cbiAgICAgIFZlcnNpb25lZE1lc3NhZ2UuZGVzZXJpYWxpemVNZXNzYWdlVmVyc2lvbihzZXJpYWxpemVkTWVzc2FnZSk7XG4gICAgaWYgKHZlcnNpb24gPT09ICdsZWdhY3knKSB7XG4gICAgICByZXR1cm4gTWVzc2FnZS5mcm9tKHNlcmlhbGl6ZWRNZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAodmVyc2lvbiA9PT0gMCkge1xuICAgICAgcmV0dXJuIE1lc3NhZ2VWMC5kZXNlcmlhbGl6ZShzZXJpYWxpemVkTWVzc2FnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRyYW5zYWN0aW9uIG1lc3NhZ2UgdmVyc2lvbiAke3ZlcnNpb259IGRlc2VyaWFsaXphdGlvbiBpcyBub3Qgc3VwcG9ydGVkYCxcbiAgICAgICk7XG4gICAgfVxuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsRUFBQSxHQUFBRixPQUFBO0FBR0E7QUFDTyxJQUFNRyxnQkFBZ0IsR0FBQUMsT0FBQSxDQUFBRCxnQkFBQSxHQUFHO0VBQzlCRSx5QkFBeUIsV0FBekJBLHlCQUF5QkEsQ0FBQ0MsaUJBQTZCLEVBQXFCO0lBQzFFLElBQU1DLE1BQU0sR0FBR0QsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ25DLElBQU1FLFlBQVksR0FBR0QsTUFBTSxHQUFHRSwyQkFBbUI7O0lBRWpEO0lBQ0EsSUFBSUQsWUFBWSxLQUFLRCxNQUFNLEVBQUU7TUFDM0IsT0FBTyxRQUFRO0lBQ2pCOztJQUVBO0lBQ0EsT0FBT0MsWUFBWTtFQUNyQixDQUFDO0VBRURFLFdBQVcsRUFBRSxTQUFiQSxXQUFXQSxDQUFHSixpQkFBNkIsRUFBdUI7SUFDaEUsSUFBTUssT0FBTyxHQUNYUixnQkFBZ0IsQ0FBQ0UseUJBQXlCLENBQUNDLGlCQUFpQixDQUFDO0lBQy9ELElBQUlLLE9BQU8sS0FBSyxRQUFRLEVBQUU7TUFDeEIsT0FBT0MsZUFBTyxDQUFDQyxJQUFJLENBQUNQLGlCQUFpQixDQUFDO0lBQ3hDO0lBRUEsSUFBSUssT0FBTyxLQUFLLENBQUMsRUFBRTtNQUNqQixPQUFPRyxZQUFTLENBQUNKLFdBQVcsQ0FBQ0osaUJBQWlCLENBQUM7SUFDakQsQ0FBQyxNQUFNO01BQ0wsTUFBTSxJQUFJUyxLQUFLLGdDQUFBQyxNQUFBLENBQ2tCTCxPQUFPLHNDQUN4QyxDQUFDO0lBQ0g7RUFDRjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=