@coolwallet/sol
Version:
Coolwallet Solana sdk
59 lines (58 loc) • 12.3 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.VersionedTransaction = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var BufferLayout = _interopRequireWildcard(require("@solana/buffer-layout"));
var _assert = _interopRequireDefault(require("./assert"));
var _message = require("../message");
var shortvec = _interopRequireWildcard(require("./shortvec-encoding"));
var _commonLayout = require("./commonLayout");
var _params = require("../config/params");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var VersionedTransaction = exports.VersionedTransaction = /*#__PURE__*/function () {
function VersionedTransaction(message, signatures) {
(0, _classCallCheck2["default"])(this, VersionedTransaction);
if (signatures === undefined) {
throw new Error('Signatures are required');
}
(0, _assert["default"])(signatures.length === message.header.numRequiredSignatures, 'Expected signatures length to be equal to the number of required signatures');
this.signatures = signatures;
this.message = message;
}
return (0, _createClass2["default"])(VersionedTransaction, [{
key: "serialize",
value: function serialize() {
var serializedMessage = this.message.serialize();
var encodedSignaturesLength = Array();
shortvec.encodeLength(encodedSignaturesLength, this.signatures.length);
var transactionLayout = BufferLayout.struct([BufferLayout.blob(encodedSignaturesLength.length, 'encodedSignaturesLength'), BufferLayout.seq((0, _commonLayout.SignatureLayout)(), this.signatures.length, 'signatures'), BufferLayout.blob(serializedMessage.length, 'serializedMessage')]);
var serializedTransaction = new Uint8Array(2048);
var serializedTransactionLength = transactionLayout.encode({
encodedSignaturesLength: new Uint8Array(encodedSignaturesLength),
signatures: this.signatures,
serializedMessage: serializedMessage
}, serializedTransaction);
return serializedTransaction.slice(0, serializedTransactionLength);
}
}], [{
key: "deserialize",
value: function deserialize(serializedTransaction) {
var byteArray = (0, _toConsumableArray2["default"])(serializedTransaction);
var signatures = [];
var signaturesLength = shortvec.decodeLength(byteArray);
for (var i = 0; i < signaturesLength; i++) {
signatures.push(new Uint8Array(byteArray.splice(0, _params.SIGNATURE_LENGTH_IN_BYTES)));
}
var message = _message.VersionedMessage.deserialize(new Uint8Array(byteArray));
return new VersionedTransaction(message, signatures);
}
}]);
}();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWZmZXJMYXlvdXQiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9tZXNzYWdlIiwic2hvcnR2ZWMiLCJfY29tbW9uTGF5b3V0IiwiX3BhcmFtcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlZlcnNpb25lZFRyYW5zYWN0aW9uIiwiZXhwb3J0cyIsIm1lc3NhZ2UiLCJzaWduYXR1cmVzIiwiX2NsYXNzQ2FsbENoZWNrMiIsInVuZGVmaW5lZCIsIkVycm9yIiwiYXNzZXJ0IiwibGVuZ3RoIiwiaGVhZGVyIiwibnVtUmVxdWlyZWRTaWduYXR1cmVzIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwic2VyaWFsaXplIiwic2VyaWFsaXplZE1lc3NhZ2UiLCJlbmNvZGVkU2lnbmF0dXJlc0xlbmd0aCIsIkFycmF5IiwiZW5jb2RlTGVuZ3RoIiwidHJhbnNhY3Rpb25MYXlvdXQiLCJzdHJ1Y3QiLCJibG9iIiwic2VxIiwiU2lnbmF0dXJlTGF5b3V0Iiwic2VyaWFsaXplZFRyYW5zYWN0aW9uIiwiVWludDhBcnJheSIsInNlcmlhbGl6ZWRUcmFuc2FjdGlvbkxlbmd0aCIsImVuY29kZSIsInNsaWNlIiwiZGVzZXJpYWxpemUiLCJieXRlQXJyYXkiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwic2lnbmF0dXJlc0xlbmd0aCIsImRlY29kZUxlbmd0aCIsInB1c2giLCJzcGxpY2UiLCJTSUdOQVRVUkVfTEVOR1RIX0lOX0JZVEVTIiwiVmVyc2lvbmVkTWVzc2FnZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy92ZXJzaW9uZWRUcmFuc2FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBCdWZmZXJMYXlvdXQgZnJvbSAnQHNvbGFuYS9idWZmZXItbGF5b3V0JztcbmltcG9ydCBhc3NlcnQgZnJvbSAnLi9hc3NlcnQnO1xuaW1wb3J0IHsgVmVyc2lvbmVkTWVzc2FnZSB9IGZyb20gJy4uL21lc3NhZ2UnO1xuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25WZXJzaW9uID0gJ2xlZ2FjeScgfCAwO1xuaW1wb3J0ICogYXMgc2hvcnR2ZWMgZnJvbSAnLi9zaG9ydHZlYy1lbmNvZGluZyc7XG5pbXBvcnQgeyBTaWduYXR1cmVMYXlvdXQgfSBmcm9tICcuL2NvbW1vbkxheW91dCc7XG5pbXBvcnQgeyBTSUdOQVRVUkVfTEVOR1RIX0lOX0JZVEVTIH0gZnJvbSAnLi4vY29uZmlnL3BhcmFtcyc7XG5cbmV4cG9ydCBjbGFzcyBWZXJzaW9uZWRUcmFuc2FjdGlvbiB7XG4gIHNpZ25hdHVyZXM6IEFycmF5PFVpbnQ4QXJyYXk+O1xuICBtZXNzYWdlOiBWZXJzaW9uZWRNZXNzYWdlO1xuXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IFZlcnNpb25lZE1lc3NhZ2UsIHNpZ25hdHVyZXM6IEFycmF5PFVpbnQ4QXJyYXk+KSB7XG4gICAgaWYgKHNpZ25hdHVyZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaWduYXR1cmVzIGFyZSByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBhc3NlcnQoXG4gICAgICBzaWduYXR1cmVzLmxlbmd0aCA9PT0gbWVzc2FnZS5oZWFkZXIubnVtUmVxdWlyZWRTaWduYXR1cmVzLFxuICAgICAgJ0V4cGVjdGVkIHNpZ25hdHVyZXMgbGVuZ3RoIHRvIGJlIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgcmVxdWlyZWQgc2lnbmF0dXJlcycsXG4gICAgKTtcbiAgICB0aGlzLnNpZ25hdHVyZXMgPSBzaWduYXR1cmVzO1xuICAgIFxuICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gIH1cblxuICBzdGF0aWMgZGVzZXJpYWxpemUoc2VyaWFsaXplZFRyYW5zYWN0aW9uOiBVaW50OEFycmF5KTogVmVyc2lvbmVkVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGJ5dGVBcnJheSA9IFsuLi5zZXJpYWxpemVkVHJhbnNhY3Rpb25dO1xuXG4gICAgY29uc3Qgc2lnbmF0dXJlcyA9IFtdO1xuICAgIGNvbnN0IHNpZ25hdHVyZXNMZW5ndGggPSBzaG9ydHZlYy5kZWNvZGVMZW5ndGgoYnl0ZUFycmF5KTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpZ25hdHVyZXNMZW5ndGg7IGkrKykge1xuICAgICAgc2lnbmF0dXJlcy5wdXNoKFxuICAgICAgICBuZXcgVWludDhBcnJheShieXRlQXJyYXkuc3BsaWNlKDAsIFNJR05BVFVSRV9MRU5HVEhfSU5fQllURVMpKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbWVzc2FnZSA9IFZlcnNpb25lZE1lc3NhZ2UuZGVzZXJpYWxpemUobmV3IFVpbnQ4QXJyYXkoYnl0ZUFycmF5KSk7XG4gICAgcmV0dXJuIG5ldyBWZXJzaW9uZWRUcmFuc2FjdGlvbihtZXNzYWdlLCBzaWduYXR1cmVzKTtcbiAgfVxuICBcbiAgc2VyaWFsaXplKCk6IFVpbnQ4QXJyYXkge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRNZXNzYWdlID0gdGhpcy5tZXNzYWdlLnNlcmlhbGl6ZSgpO1xuXG4gICAgY29uc3QgZW5jb2RlZFNpZ25hdHVyZXNMZW5ndGggPSBBcnJheTxudW1iZXI+KCk7XG4gICAgc2hvcnR2ZWMuZW5jb2RlTGVuZ3RoKGVuY29kZWRTaWduYXR1cmVzTGVuZ3RoLCB0aGlzLnNpZ25hdHVyZXMubGVuZ3RoKTtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uTGF5b3V0ID0gQnVmZmVyTGF5b3V0LnN0cnVjdDx7XG4gICAgICBlbmNvZGVkU2lnbmF0dXJlc0xlbmd0aDogVWludDhBcnJheTtcbiAgICAgIHNpZ25hdHVyZXM6IEFycmF5PFVpbnQ4QXJyYXk+O1xuICAgICAgc2VyaWFsaXplZE1lc3NhZ2U6IFVpbnQ4QXJyYXk7XG4gICAgfT4oW1xuICAgICAgQnVmZmVyTGF5b3V0LmJsb2IoXG4gICAgICAgIGVuY29kZWRTaWduYXR1cmVzTGVuZ3RoLmxlbmd0aCxcbiAgICAgICAgJ2VuY29kZWRTaWduYXR1cmVzTGVuZ3RoJyxcbiAgICAgICksXG4gICAgICBCdWZmZXJMYXlvdXQuc2VxKFxuICAgICAgICBTaWduYXR1cmVMYXlvdXQoKSxcbiAgICAgICAgdGhpcy5zaWduYXR1cmVzLmxlbmd0aCxcbiAgICAgICAgJ3NpZ25hdHVyZXMnLFxuICAgICAgKSxcbiAgICAgIEJ1ZmZlckxheW91dC5ibG9iKHNlcmlhbGl6ZWRNZXNzYWdlLmxlbmd0aCwgJ3NlcmlhbGl6ZWRNZXNzYWdlJyksXG4gICAgXSk7XG5cbiAgICBjb25zdCBzZXJpYWxpemVkVHJhbnNhY3Rpb24gPSBuZXcgVWludDhBcnJheSgyMDQ4KTtcbiAgICBjb25zdCBzZXJpYWxpemVkVHJhbnNhY3Rpb25MZW5ndGggPSB0cmFuc2FjdGlvbkxheW91dC5lbmNvZGUoXG4gICAgICB7XG4gICAgICAgIGVuY29kZWRTaWduYXR1cmVzTGVuZ3RoOiBuZXcgVWludDhBcnJheShlbmNvZGVkU2lnbmF0dXJlc0xlbmd0aCksXG4gICAgICAgIHNpZ25hdHVyZXM6IHRoaXMuc2lnbmF0dXJlcyxcbiAgICAgICAgc2VyaWFsaXplZE1lc3NhZ2UsXG4gICAgICB9LFxuICAgICAgc2VyaWFsaXplZFRyYW5zYWN0aW9uLFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VyaWFsaXplZFRyYW5zYWN0aW9uLnNsaWNlKDAsIHNlcmlhbGl6ZWRUcmFuc2FjdGlvbkxlbmd0aCk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxZQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFDLHNCQUFB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
;