PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-coin-avaxp/dist/test/unit/lib
Просмотр файла: utils.js
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
require("should");
const lib_1 = require("../../../src/lib/");
const testData = __importStar(require("../../resources/avaxp"));
const statics_1 = require("@bitgo/statics");
describe('Avaxp Utils', () => {
const network = statics_1.coins.get('tavaxp').network;
const compressed = true;
it('should recover signature', () => {
const keyPair = new lib_1.KeyPair({ prv: testData.SEED_ACCOUNT.privateKeyAvax });
const prv = keyPair.getPrivateKey();
const pub = keyPair.getPublicKey({ compressed });
const message = Buffer.from('Lorem ipsum dolor sit amet. Est maxime iure et odio iusto non aspernatur...', 'hex');
const signature = lib_1.Utils.createSignature(network, message, prv);
lib_1.Utils.recoverySignature(network, message, signature).should.deepEqual(pub);
});
describe('Validation', function () {
it('should validate a public key', () => {
lib_1.Utils.isValidPublicKey(testData.SEED_ACCOUNT.publicKeyCb58).should.be.true();
lib_1.Utils.isValidPublicKey(testData.SEED_ACCOUNT.publicKey).should.be.true();
lib_1.Utils.isValidPublicKey(testData.SEED_ACCOUNT.xPublicKey).should.be.true();
});
it('should fail to validate invalid address', function () {
const address = 'fuji15jamwukfqkwhe8z26tjqxejtjd3jk9vj4kmxwa';
lib_1.Utils.isValidAddress(address).should.be.false();
});
it('should validate an address array', function () {
const validAddresses = [
'P-fuji15jamwukfqkwhe8z26tjqxejtjd3jk9vj4kmxwa',
'NodeID-MdteS9U987PY7iwA5Pcz3sKVprJAbAvE7',
'NodeID-P1KjdPNrap8LHfx5AstcXxsHjk3jbbyF',
];
lib_1.Utils.isValidAddress(validAddresses).should.be.true();
});
it('should validate an address multiSig string', function () {
const stringMultiSigAddress = 'P-fuji15jamwukfqkwhe8z26tjqxejtjd3jk9vj4kmxwa~NodeID-MdteS9U987PY7iwA5Pcz3sKVprJAbAvE7~NodeID-P1KjdPNrap8LHfx5AstcXxsHjk3jbbyF';
lib_1.Utils.isValidAddress(stringMultiSigAddress).should.be.true();
});
it('should fail to validate an invalid block id', function () {
const block = 'abcdefghijklmnopqrstuvwxyz';
lib_1.Utils.isValidBlockId(block).should.be.false();
});
it('should validate a block id', function () {
const block = 'zGC26Bagj79RBPobK8Hghk9xuqAmME53eEUtM9RJ2yadBxrch';
lib_1.Utils.isValidBlockId(block).should.be.true();
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0JBQWdCO0FBQ2hCLDJDQUFtRDtBQUNuRCxnRUFBa0Q7QUFDbEQsNENBQXlEO0FBRXpELFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO0lBQzNCLE1BQU0sT0FBTyxHQUFxQixlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQTJCLENBQUM7SUFDbEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7UUFDbEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNwQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLDZFQUE2RSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xILE1BQU0sU0FBUyxHQUFHLFdBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFJLENBQUMsQ0FBQztRQUNoRSxXQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdFLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixFQUFFLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1lBQ3RDLFdBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0UsV0FBSyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6RSxXQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlDQUF5QyxFQUFFO1lBQzVDLE1BQU0sT0FBTyxHQUFHLDZDQUE2QyxDQUFDO1lBQzlELFdBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRTtZQUNyQyxNQUFNLGNBQWMsR0FBRztnQkFDckIsK0NBQStDO2dCQUMvQywwQ0FBMEM7Z0JBQzFDLHlDQUF5QzthQUMxQyxDQUFDO1lBRUYsV0FBSyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDRDQUE0QyxFQUFFO1lBQy9DLE1BQU0scUJBQXFCLEdBQ3pCLGdJQUFnSSxDQUFDO1lBRW5JLFdBQUssQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDZDQUE2QyxFQUFFO1lBQ2hELE1BQU0sS0FBSyxHQUFHLDRCQUE0QixDQUFDO1lBQzNDLFdBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0QkFBNEIsRUFBRTtZQUMvQixNQUFNLEtBQUssR0FBRyxtREFBbUQsQ0FBQztZQUNsRSxXQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHsgVXRpbHMsIEtleVBhaXIgfSBmcm9tICcuLi8uLi8uLi9zcmMvbGliLyc7XG5pbXBvcnQgKiBhcyB0ZXN0RGF0YSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvYXZheHAnO1xuaW1wb3J0IHsgQXZhbGFuY2hlTmV0d29yaywgY29pbnMgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbmRlc2NyaWJlKCdBdmF4cCBVdGlscycsICgpID0+IHtcbiAgY29uc3QgbmV0d29yazogQXZhbGFuY2hlTmV0d29yayA9IGNvaW5zLmdldCgndGF2YXhwJykubmV0d29yayBhcyBBdmFsYW5jaGVOZXR3b3JrO1xuICBjb25zdCBjb21wcmVzc2VkID0gdHJ1ZTtcbiAgaXQoJ3Nob3VsZCByZWNvdmVyIHNpZ25hdHVyZScsICgpID0+IHtcbiAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwcnY6IHRlc3REYXRhLlNFRURfQUNDT1VOVC5wcml2YXRlS2V5QXZheCB9KTtcbiAgICBjb25zdCBwcnYgPSBrZXlQYWlyLmdldFByaXZhdGVLZXkoKTtcbiAgICBjb25zdCBwdWIgPSBrZXlQYWlyLmdldFB1YmxpY0tleSh7IGNvbXByZXNzZWQgfSk7XG4gICAgY29uc3QgbWVzc2FnZSA9IEJ1ZmZlci5mcm9tKCdMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldC4gRXN0IG1heGltZSBpdXJlIGV0IG9kaW8gaXVzdG8gbm9uIGFzcGVybmF0dXIuLi4nLCAnaGV4Jyk7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gVXRpbHMuY3JlYXRlU2lnbmF0dXJlKG5ldHdvcmssIG1lc3NhZ2UsIHBydiEpO1xuICAgIFV0aWxzLnJlY292ZXJ5U2lnbmF0dXJlKG5ldHdvcmssIG1lc3NhZ2UsIHNpZ25hdHVyZSkuc2hvdWxkLmRlZXBFcXVhbChwdWIpO1xuICB9KTtcblxuICBkZXNjcmliZSgnVmFsaWRhdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGEgcHVibGljIGtleScsICgpID0+IHtcbiAgICAgIFV0aWxzLmlzVmFsaWRQdWJsaWNLZXkodGVzdERhdGEuU0VFRF9BQ0NPVU5ULnB1YmxpY0tleUNiNTgpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgICBVdGlscy5pc1ZhbGlkUHVibGljS2V5KHRlc3REYXRhLlNFRURfQUNDT1VOVC5wdWJsaWNLZXkpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgICBVdGlscy5pc1ZhbGlkUHVibGljS2V5KHRlc3REYXRhLlNFRURfQUNDT1VOVC54UHVibGljS2V5KS5zaG91bGQuYmUudHJ1ZSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHRvIHZhbGlkYXRlIGludmFsaWQgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSAnZnVqaTE1amFtd3VrZnFrd2hlOHoyNnRqcXhlanRqZDNqazl2ajRrbXh3YSc7XG4gICAgICBVdGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKS5zaG91bGQuYmUuZmFsc2UoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYW4gYWRkcmVzcyBhcnJheScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHZhbGlkQWRkcmVzc2VzID0gW1xuICAgICAgICAnUC1mdWppMTVqYW13dWtmcWt3aGU4ejI2dGpxeGVqdGpkM2prOXZqNGtteHdhJyxcbiAgICAgICAgJ05vZGVJRC1NZHRlUzlVOTg3UFk3aXdBNVBjejNzS1ZwckpBYkF2RTcnLFxuICAgICAgICAnTm9kZUlELVAxS2pkUE5yYXA4TEhmeDVBc3RjWHhzSGprM2piYnlGJyxcbiAgICAgIF07XG5cbiAgICAgIFV0aWxzLmlzVmFsaWRBZGRyZXNzKHZhbGlkQWRkcmVzc2VzKS5zaG91bGQuYmUudHJ1ZSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhZGRyZXNzIG11bHRpU2lnIHN0cmluZycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHN0cmluZ011bHRpU2lnQWRkcmVzcyA9XG4gICAgICAgICdQLWZ1amkxNWphbXd1a2Zxa3doZTh6MjZ0anF4ZWp0amQzams5dmo0a214d2F+Tm9kZUlELU1kdGVTOVU5ODdQWTdpd0E1UGN6M3NLVnBySkFiQXZFN35Ob2RlSUQtUDFLamRQTnJhcDhMSGZ4NUFzdGNYeHNIamszamJieUYnO1xuXG4gICAgICBVdGlscy5pc1ZhbGlkQWRkcmVzcyhzdHJpbmdNdWx0aVNpZ0FkZHJlc3MpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgdG8gdmFsaWRhdGUgYW4gaW52YWxpZCBibG9jayBpZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJsb2NrID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JztcbiAgICAgIFV0aWxzLmlzVmFsaWRCbG9ja0lkKGJsb2NrKS5zaG91bGQuYmUuZmFsc2UoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYSBibG9jayBpZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJsb2NrID0gJ3pHQzI2QmFnajc5UkJQb2JLOEhnaGs5eHVxQW1NRTUzZUVVdE05UkoyeWFkQnhyY2gnO1xuICAgICAgVXRpbHMuaXNWYWxpZEJsb2NrSWQoYmxvY2spLnNob3VsZC5iZS50cnVlKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=Выполнить команду
Для локальной разработки. Не используйте в интернете!