@coolwallet/xrp
Version:
Coolwallet Ripple App
51 lines (36 loc) • 6.94 kB
JavaScript
;
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getAccount = exports.pubKeyToAddress = exports.generateRawTx = void 0;
var cryptoUtil = _interopRequireWildcard(require("./cryptoUtil"));
var params = _interopRequireWildcard(require("../config/params"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var base58 = require("base-x")(params.R_B58_DICT);
var codec = require("ripple-binary-codec");
var generateRawTx = function generateRawTx(signature, payment) {
/* eslint-disable-next-line no-param-reassign */
payment.TxnSignature = signature.toUpperCase();
return codec.encode(payment);
}; // eslint-disable-next-line import/prefer-default-export
exports.generateRawTx = generateRawTx;
var pubKeyToAddress = function pubKeyToAddress(publicKey) {
var pubKeyBuf = Buffer.from(publicKey, "hex");
var pubkeyHash = cryptoUtil.sha256(pubKeyBuf);
var accountId = cryptoUtil.ripemd160(pubkeyHash);
var addressTypePrefix = Buffer.from("00", "hex");
var payload = Buffer.concat([addressTypePrefix, accountId]);
var checksum = cryptoUtil.sha256(cryptoUtil.sha256(payload)).slice(0, 4);
var address = base58.encode(Buffer.concat([payload, checksum]));
return address;
};
exports.pubKeyToAddress = pubKeyToAddress;
var getAccount = function getAccount(address) {
var addressBuf = base58.decode(address);
var accountBuf = addressBuf.slice(1, 21);
return accountBuf.toString("hex");
};
exports.getAccount = getAccount;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90cmFjc2FjdGlvblV0aWwudHMiXSwibmFtZXMiOlsiYmFzZTU4IiwicmVxdWlyZSIsInBhcmFtcyIsIlJfQjU4X0RJQ1QiLCJjb2RlYyIsImdlbmVyYXRlUmF3VHgiLCJzaWduYXR1cmUiLCJwYXltZW50IiwiVHhuU2lnbmF0dXJlIiwidG9VcHBlckNhc2UiLCJlbmNvZGUiLCJwdWJLZXlUb0FkZHJlc3MiLCJwdWJsaWNLZXkiLCJwdWJLZXlCdWYiLCJCdWZmZXIiLCJmcm9tIiwicHVia2V5SGFzaCIsImNyeXB0b1V0aWwiLCJzaGEyNTYiLCJhY2NvdW50SWQiLCJyaXBlbWQxNjAiLCJhZGRyZXNzVHlwZVByZWZpeCIsInBheWxvYWQiLCJjb25jYXQiLCJjaGVja3N1bSIsInNsaWNlIiwiYWRkcmVzcyIsImdldEFjY291bnQiLCJhZGRyZXNzQnVmIiwiZGVjb2RlIiwiYWNjb3VudEJ1ZiIsInRvU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsTUFBTSxHQUFHQyxPQUFPLENBQUMsUUFBRCxDQUFQLENBQWtCQyxNQUFNLENBQUNDLFVBQXpCLENBQWY7O0FBQ0EsSUFBTUMsS0FBSyxHQUFHSCxPQUFPLENBQUMscUJBQUQsQ0FBckI7O0FBRU8sSUFBTUksYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxTQUFELEVBQW9CQyxPQUFwQixFQUF1RDtBQUNsRjtBQUNBQSxFQUFBQSxPQUFPLENBQUNDLFlBQVIsR0FBdUJGLFNBQVMsQ0FBQ0csV0FBVixFQUF2QjtBQUNBLFNBQU9MLEtBQUssQ0FBQ00sTUFBTixDQUFhSCxPQUFiLENBQVA7QUFDRCxDQUpNLEMsQ0FNUDs7Ozs7QUFDTyxJQUFNSSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLFNBQUQsRUFBK0I7QUFDNUQsTUFBTUMsU0FBUyxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsU0FBWixFQUF1QixLQUF2QixDQUFsQjtBQUNBLE1BQU1JLFVBQVUsR0FBR0MsVUFBVSxDQUFDQyxNQUFYLENBQWtCTCxTQUFsQixDQUFuQjtBQUNBLE1BQU1NLFNBQVMsR0FBR0YsVUFBVSxDQUFDRyxTQUFYLENBQXFCSixVQUFyQixDQUFsQjtBQUVBLE1BQU1LLGlCQUFpQixHQUFHUCxNQUFNLENBQUNDLElBQVAsQ0FBWSxJQUFaLEVBQWtCLEtBQWxCLENBQTFCO0FBQ0EsTUFBTU8sT0FBTyxHQUFHUixNQUFNLENBQUNTLE1BQVAsQ0FBYyxDQUFDRixpQkFBRCxFQUFvQkYsU0FBcEIsQ0FBZCxDQUFoQjtBQUNBLE1BQU1LLFFBQVEsR0FBR1AsVUFBVSxDQUFDQyxNQUFYLENBQWtCRCxVQUFVLENBQUNDLE1BQVgsQ0FBa0JJLE9BQWxCLENBQWxCLEVBQThDRyxLQUE5QyxDQUFvRCxDQUFwRCxFQUF1RCxDQUF2RCxDQUFqQjtBQUNBLE1BQU1DLE9BQU8sR0FBRzFCLE1BQU0sQ0FBQ1UsTUFBUCxDQUFjSSxNQUFNLENBQUNTLE1BQVAsQ0FBYyxDQUFDRCxPQUFELEVBQVVFLFFBQVYsQ0FBZCxDQUFkLENBQWhCO0FBQ0EsU0FBT0UsT0FBUDtBQUNELENBVk07Ozs7QUFZQSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDRCxPQUFELEVBQTZCO0FBQ3JELE1BQU1FLFVBQVUsR0FBRzVCLE1BQU0sQ0FBQzZCLE1BQVAsQ0FBY0gsT0FBZCxDQUFuQjtBQUNBLE1BQU1JLFVBQVUsR0FBR0YsVUFBVSxDQUFDSCxLQUFYLENBQWlCLENBQWpCLEVBQW9CLEVBQXBCLENBQW5CO0FBQ0EsU0FBT0ssVUFBVSxDQUFDQyxRQUFYLENBQW9CLEtBQXBCLENBQVA7QUFDRCxDQUpNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdHlwZXMgZnJvbSBcIi4uL2NvbmZpZy90eXBlc1wiO1xuaW1wb3J0ICogYXMgY3J5cHRvVXRpbCBmcm9tIFwiLi9jcnlwdG9VdGlsXCI7XG5pbXBvcnQgKiBhcyBwYXJhbXMgZnJvbSBcIi4uL2NvbmZpZy9wYXJhbXNcIjtcblxuY29uc3QgYmFzZTU4ID0gcmVxdWlyZShcImJhc2UteFwiKShwYXJhbXMuUl9CNThfRElDVCk7XG5jb25zdCBjb2RlYyA9IHJlcXVpcmUoXCJyaXBwbGUtYmluYXJ5LWNvZGVjXCIpO1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVSYXdUeCA9IChzaWduYXR1cmU6IHN0cmluZywgcGF5bWVudDogdHlwZXMuUGF5bWVudCk6IHN0cmluZyA9PiB7XG4gIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuICBwYXltZW50LlR4blNpZ25hdHVyZSA9IHNpZ25hdHVyZS50b1VwcGVyQ2FzZSgpO1xuICByZXR1cm4gY29kZWMuZW5jb2RlKHBheW1lbnQpO1xufTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9wcmVmZXItZGVmYXVsdC1leHBvcnRcbmV4cG9ydCBjb25zdCBwdWJLZXlUb0FkZHJlc3MgPSAocHVibGljS2V5OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBwdWJLZXlCdWYgPSBCdWZmZXIuZnJvbShwdWJsaWNLZXksIFwiaGV4XCIpO1xuICBjb25zdCBwdWJrZXlIYXNoID0gY3J5cHRvVXRpbC5zaGEyNTYocHViS2V5QnVmKTtcbiAgY29uc3QgYWNjb3VudElkID0gY3J5cHRvVXRpbC5yaXBlbWQxNjAocHVia2V5SGFzaCk7XG5cbiAgY29uc3QgYWRkcmVzc1R5cGVQcmVmaXggPSBCdWZmZXIuZnJvbShcIjAwXCIsIFwiaGV4XCIpO1xuICBjb25zdCBwYXlsb2FkID0gQnVmZmVyLmNvbmNhdChbYWRkcmVzc1R5cGVQcmVmaXgsIGFjY291bnRJZF0pO1xuICBjb25zdCBjaGVja3N1bSA9IGNyeXB0b1V0aWwuc2hhMjU2KGNyeXB0b1V0aWwuc2hhMjU2KHBheWxvYWQpKS5zbGljZSgwLCA0KTtcbiAgY29uc3QgYWRkcmVzcyA9IGJhc2U1OC5lbmNvZGUoQnVmZmVyLmNvbmNhdChbcGF5bG9hZCwgY2hlY2tzdW1dKSk7XG4gIHJldHVybiBhZGRyZXNzO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFjY291bnQgPSAoYWRkcmVzczogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgYWRkcmVzc0J1ZiA9IGJhc2U1OC5kZWNvZGUoYWRkcmVzcyk7XG4gIGNvbnN0IGFjY291bnRCdWYgPSBhZGRyZXNzQnVmLnNsaWNlKDEsIDIxKTtcbiAgcmV0dXJuIGFjY291bnRCdWYudG9TdHJpbmcoXCJoZXhcIik7XG59O1xuIl19