@coolwallet/sol
Version:
Coolwallet Solana sdk
36 lines (33 loc) • 4.26 kB
JavaScript
;
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=