@coolwallet/xlm
Version:
Coolwallet Stella sdk
41 lines (39 loc) • 7.92 kB
JavaScript
;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.encodeCheck = encodeCheck;
exports.encodeEd25519PublicKey = encodeEd25519PublicKey;
exports.pubKeyToAddress = pubKeyToAddress;
var _crc = _interopRequireDefault(require("crc"));
var params = _interopRequireWildcard(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; }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/* eslint-disable no-bitwise */
var base32 = require('base32.js');
function calculateChecksum(payload) {
// This code calculates CRC16-XModem checksum of payload
// and returns it as Buffer in little-endian order.
var checksum = Buffer.allocUnsafe(2);
checksum.writeUInt16LE(_crc["default"].crc16xmodem(payload), 0);
return checksum;
}
function encodeCheck(versionByteName, data) {
var versionByte = params.VERSION_BYTES[versionByteName];
var versionBuffer = Buffer.from([versionByte]);
var payload = Buffer.concat([versionBuffer, data]);
var checksum = calculateChecksum(payload);
var unencoded = Buffer.concat([payload, checksum]);
return base32.encode(unencoded);
}
function encodeEd25519PublicKey(data) {
return encodeCheck('ed25519PublicKey', data);
}
function pubKeyToAddress(publicKey) {
var pubKey = publicKey.length === 66 ? publicKey.slice(2) : publicKey;
var pubKeyBuf = Buffer.from(pubKey, 'hex');
return encodeEd25519PublicKey(pubKeyBuf);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JjIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJwYXJhbXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImJhc2UzMiIsImNhbGN1bGF0ZUNoZWNrc3VtIiwicGF5bG9hZCIsImNoZWNrc3VtIiwiQnVmZmVyIiwiYWxsb2NVbnNhZmUiLCJ3cml0ZVVJbnQxNkxFIiwiY3JjIiwiY3JjMTZ4bW9kZW0iLCJlbmNvZGVDaGVjayIsInZlcnNpb25CeXRlTmFtZSIsImRhdGEiLCJ2ZXJzaW9uQnl0ZSIsIlZFUlNJT05fQllURVMiLCJ2ZXJzaW9uQnVmZmVyIiwiZnJvbSIsImNvbmNhdCIsInVuZW5jb2RlZCIsImVuY29kZSIsImVuY29kZUVkMjU1MTlQdWJsaWNLZXkiLCJwdWJLZXlUb0FkZHJlc3MiLCJwdWJsaWNLZXkiLCJwdWJLZXkiLCJsZW5ndGgiLCJzbGljZSIsInB1YktleUJ1ZiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90cmFuc2FjdGlvblV0aWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tYml0d2lzZSAqL1xuaW1wb3J0IGNyYyBmcm9tICdjcmMnO1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi4vY29uZmlnL3R5cGVzJztcbmltcG9ydCAqIGFzIHBhcmFtcyBmcm9tICcuLi9jb25maWcvcGFyYW1zJztcblxuY29uc3QgYmFzZTMyID0gcmVxdWlyZSgnYmFzZTMyLmpzJyk7XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNoZWNrc3VtKHBheWxvYWQ6IEJ1ZmZlcikge1xuICAvLyBUaGlzIGNvZGUgY2FsY3VsYXRlcyBDUkMxNi1YTW9kZW0gY2hlY2tzdW0gb2YgcGF5bG9hZFxuICAvLyBhbmQgcmV0dXJucyBpdCBhcyBCdWZmZXIgaW4gbGl0dGxlLWVuZGlhbiBvcmRlci5cbiAgY29uc3QgY2hlY2tzdW0gPSBCdWZmZXIuYWxsb2NVbnNhZmUoMik7XG4gIGNoZWNrc3VtLndyaXRlVUludDE2TEUoY3JjLmNyYzE2eG1vZGVtKHBheWxvYWQpLCAwKTtcbiAgcmV0dXJuIGNoZWNrc3VtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlQ2hlY2sodmVyc2lvbkJ5dGVOYW1lOiB0eXBlcy52ZXJzaW9uQnl0ZU5hbWVzLCBkYXRhOiBCdWZmZXIpIHtcbiAgY29uc3QgdmVyc2lvbkJ5dGUgPSBwYXJhbXMuVkVSU0lPTl9CWVRFU1t2ZXJzaW9uQnl0ZU5hbWVdO1xuXG4gIGNvbnN0IHZlcnNpb25CdWZmZXIgPSBCdWZmZXIuZnJvbShbdmVyc2lvbkJ5dGVdKTtcbiAgY29uc3QgcGF5bG9hZCA9IEJ1ZmZlci5jb25jYXQoW3ZlcnNpb25CdWZmZXIsIGRhdGFdKTtcbiAgY29uc3QgY2hlY2tzdW0gPSBjYWxjdWxhdGVDaGVja3N1bShwYXlsb2FkKTtcbiAgY29uc3QgdW5lbmNvZGVkID0gQnVmZmVyLmNvbmNhdChbcGF5bG9hZCwgY2hlY2tzdW1dKTtcblxuICByZXR1cm4gYmFzZTMyLmVuY29kZSh1bmVuY29kZWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlRWQyNTUxOVB1YmxpY0tleShkYXRhOiBCdWZmZXIpIHtcbiAgcmV0dXJuIGVuY29kZUNoZWNrKCdlZDI1NTE5UHVibGljS2V5JywgZGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwdWJLZXlUb0FkZHJlc3MocHVibGljS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBwdWJLZXkgPSBwdWJsaWNLZXkubGVuZ3RoID09PSA2NiA/IHB1YmxpY0tleS5zbGljZSgyKSA6IHB1YmxpY0tleTtcblxuICBjb25zdCBwdWJLZXlCdWYgPSBCdWZmZXIuZnJvbShwdWJLZXksICdoZXgnKTtcbiAgcmV0dXJuIGVuY29kZUVkMjU1MTlQdWJsaWNLZXkocHViS2V5QnVmKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsSUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQTJDLFNBQUFHLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBRix3QkFBQUUsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQUFBLFNBQUFiLHVCQUFBSyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLEdBQUFKLENBQUEsZ0JBQUFBLENBQUE7QUFIM0M7O0FBS0EsSUFBTW1CLE1BQU0sR0FBR3ZCLE9BQU8sQ0FBQyxXQUFXLENBQUM7QUFFbkMsU0FBU3dCLGlCQUFpQkEsQ0FBQ0MsT0FBZSxFQUFFO0VBQzFDO0VBQ0E7RUFDQSxJQUFNQyxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsV0FBVyxDQUFDLENBQUMsQ0FBQztFQUN0Q0YsUUFBUSxDQUFDRyxhQUFhLENBQUNDLGVBQUcsQ0FBQ0MsV0FBVyxDQUFDTixPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDbkQsT0FBT0MsUUFBUTtBQUNqQjtBQUVPLFNBQVNNLFdBQVdBLENBQUNDLGVBQXVDLEVBQUVDLElBQVksRUFBRTtFQUNqRixJQUFNQyxXQUFXLEdBQUdsQyxNQUFNLENBQUNtQyxhQUFhLENBQUNILGVBQWUsQ0FBQztFQUV6RCxJQUFNSSxhQUFhLEdBQUdWLE1BQU0sQ0FBQ1csSUFBSSxDQUFDLENBQUNILFdBQVcsQ0FBQyxDQUFDO0VBQ2hELElBQU1WLE9BQU8sR0FBR0UsTUFBTSxDQUFDWSxNQUFNLENBQUMsQ0FBQ0YsYUFBYSxFQUFFSCxJQUFJLENBQUMsQ0FBQztFQUNwRCxJQUFNUixRQUFRLEdBQUdGLGlCQUFpQixDQUFDQyxPQUFPLENBQUM7RUFDM0MsSUFBTWUsU0FBUyxHQUFHYixNQUFNLENBQUNZLE1BQU0sQ0FBQyxDQUFDZCxPQUFPLEVBQUVDLFFBQVEsQ0FBQyxDQUFDO0VBRXBELE9BQU9ILE1BQU0sQ0FBQ2tCLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDO0FBQ2pDO0FBRU8sU0FBU0Usc0JBQXNCQSxDQUFDUixJQUFZLEVBQUU7RUFDbkQsT0FBT0YsV0FBVyxDQUFDLGtCQUFrQixFQUFFRSxJQUFJLENBQUM7QUFDOUM7QUFFTyxTQUFTUyxlQUFlQSxDQUFDQyxTQUFpQixFQUFVO0VBQ3pELElBQU1DLE1BQU0sR0FBR0QsU0FBUyxDQUFDRSxNQUFNLEtBQUssRUFBRSxHQUFHRixTQUFTLENBQUNHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBR0gsU0FBUztFQUV2RSxJQUFNSSxTQUFTLEdBQUdyQixNQUFNLENBQUNXLElBQUksQ0FBQ08sTUFBTSxFQUFFLEtBQUssQ0FBQztFQUM1QyxPQUFPSCxzQkFBc0IsQ0FBQ00sU0FBUyxDQUFDO0FBQzFDIiwiaWdub3JlTGlzdCI6W119