@coolwallet/sol
Version:
Coolwallet Solana sdk
37 lines (34 loc) • 4.27 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 = {
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