PHP WebShell

Текущая директория: /opt/BitGoJS/modules/sdk-coin-hbar/dist/test/unit

Просмотр файла: transaction.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;
    };
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const assert_1 = __importDefault(require("assert"));
const should_1 = __importDefault(require("should"));
const statics_1 = require("@bitgo/statics");
const src_1 = require("../../src");
const testData = __importStar(require("../resources/hbar"));
describe('Hbar Transaction', () => {
    const coin = statics_1.coins.get('thbar');
    /**
     *
     */
    function getTransaction() {
        return new src_1.Transaction(coin);
    }
    it('should throw empty transaction', () => {
        const tx = getTransaction();
        assert_1.default.throws(() => {
            tx.toJson();
        });
        assert_1.default.throws(() => {
            tx.toBroadcastFormat();
        });
    });
    describe('should sign if transaction is', () => {
        it('invalid', function () {
            const tx = getTransaction();
            return tx.sign(testData.INVALID_KEYPAIR_PRV).should.be.rejected();
        });
        it('valid', async () => {
            const tx = getTransaction();
            tx.bodyBytes(testData.WALLET_TXDATA);
            const keypair = new src_1.KeyPair({ prv: testData.ACCOUNT_1.prvKeyWithPrefix });
            await tx.sign(keypair).should.be.fulfilled();
            should_1.default.equal(Buffer.from(tx.hederaTx.sigMap.sigPair[0].pubKeyPrefix).toString('hex'), testData.ACCOUNT_1.pubKeyWithPrefix.slice(24));
        });
        it('multiple valid', async () => {
            const tx = getTransaction();
            tx.bodyBytes(testData.WALLET_TXDATA);
            const keypair = new src_1.KeyPair({ prv: testData.ACCOUNT_1.prvKeyWithPrefix });
            const keypair2 = new src_1.KeyPair({ prv: testData.OPERATOR.privateKey });
            await tx.sign(keypair).should.be.fulfilled();
            should_1.default.equal(Buffer.from(tx.hederaTx.sigMap.sigPair[0].pubKeyPrefix).toString('hex'), testData.ACCOUNT_1.pubKeyWithPrefix.slice(24));
            await tx.sign(keypair2).should.be.fulfilled();
            should_1.default.equal(Buffer.from(tx.hederaTx.sigMap.sigPair[0].pubKeyPrefix).toString('hex'), testData.ACCOUNT_1.pubKeyWithPrefix.slice(24));
            should_1.default.equal(Buffer.from(tx.hederaTx.sigMap.sigPair[1].pubKeyPrefix).toString('hex'), testData.OPERATOR.publicKey.slice(24));
        });
    });
    describe('should return encoded tx', function () {
        it('valid sign', async function () {
            const tx = getTransaction();
            tx.bodyBytes(testData.WALLET_TXDATA);
            await tx.sign(testData.KEYPAIR_PRV);
            should_1.default.equal(tx.toBroadcastFormat(), testData.WALLET_SIGNED_TRANSACTION);
        });
    });
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsb0RBQTRCO0FBQzVCLDRDQUF1QztBQUN2QyxtQ0FBaUQ7QUFDakQsNERBQThDO0FBRTlDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7SUFDaEMsTUFBTSxJQUFJLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVoQzs7T0FFRztJQUNILFNBQVMsY0FBYztRQUNyQixPQUFPLElBQUksaUJBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsRUFBRSxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsRUFBRTtRQUN4QyxNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUM1QixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDakIsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDSCxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDakIsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7UUFDN0MsRUFBRSxDQUFDLFNBQVMsRUFBRTtZQUNaLE1BQU0sRUFBRSxHQUFHLGNBQWMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLE9B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Q0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BDLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgS2V5UGFpciwgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi4vcmVzb3VyY2VzL2hiYXInO1xuXG5kZXNjcmliZSgnSGJhciBUcmFuc2FjdGlvbicsICgpID0+IHtcbiAgY29uc3QgY29pbiA9IGNvaW5zLmdldCgndGhiYXInKTtcblxuICAvKipcbiAgICpcbiAgICovXG4gIGZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uKGNvaW4pO1xuICB9XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlbXB0eSB0cmFuc2FjdGlvbicsICgpID0+IHtcbiAgICBjb25zdCB0eCA9IGdldFRyYW5zYWN0aW9uKCk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICB0eC50b0pzb24oKTtcbiAgICB9KTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgIHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgc2lnbiBpZiB0cmFuc2FjdGlvbiBpcycsICgpID0+IHtcbiAgICBpdCgnaW52YWxpZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICAgIHJldHVybiB0eC5zaWduKHRlc3REYXRhLklOVkFMSURfS0VZUEFJUl9QUlYpLnNob3VsZC5iZS5yZWplY3RlZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3ZhbGlkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbigpO1xuICAgICAgdHguYm9keUJ5dGVzKHRlc3REYXRhLldBTExFVF9UWERBVEEpO1xuICAgICAgY29uc3Qga2V5cGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiB0ZXN0RGF0YS5BQ0NPVU5UXzEucHJ2S2V5V2l0aFByZWZpeCB9KTtcbiAgICAgIGF3YWl0IHR4LnNpZ24oa2V5cGFpcikuc2hvdWxkLmJlLmZ1bGZpbGxlZCgpO1xuICAgICAgc2hvdWxkLmVxdWFsKFxuICAgICAgICBCdWZmZXIuZnJvbSh0eC5oZWRlcmFUeC5zaWdNYXAhLnNpZ1BhaXIhWzBdLnB1YktleVByZWZpeCEpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgdGVzdERhdGEuQUNDT1VOVF8xLnB1YktleVdpdGhQcmVmaXguc2xpY2UoMjQpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ211bHRpcGxlIHZhbGlkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbigpO1xuICAgICAgdHguYm9keUJ5dGVzKHRlc3REYXRhLldBTExFVF9UWERBVEEpO1xuICAgICAgY29uc3Qga2V5cGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiB0ZXN0RGF0YS5BQ0NPVU5UXzEucHJ2S2V5V2l0aFByZWZpeCB9KTtcbiAgICAgIGNvbnN0IGtleXBhaXIyID0gbmV3IEtleVBhaXIoeyBwcnY6IHRlc3REYXRhLk9QRVJBVE9SLnByaXZhdGVLZXkgfSk7XG4gICAgICBhd2FpdCB0eC5zaWduKGtleXBhaXIpLnNob3VsZC5iZS5mdWxmaWxsZWQoKTtcbiAgICAgIHNob3VsZC5lcXVhbChcbiAgICAgICAgQnVmZmVyLmZyb20odHguaGVkZXJhVHguc2lnTWFwIS5zaWdQYWlyIVswXS5wdWJLZXlQcmVmaXghKS50b1N0cmluZygnaGV4JyksXG4gICAgICAgIHRlc3REYXRhLkFDQ09VTlRfMS5wdWJLZXlXaXRoUHJlZml4LnNsaWNlKDI0KVxuICAgICAgKTtcbiAgICAgIGF3YWl0IHR4LnNpZ24oa2V5cGFpcjIpLnNob3VsZC5iZS5mdWxmaWxsZWQoKTtcbiAgICAgIHNob3VsZC5lcXVhbChcbiAgICAgICAgQnVmZmVyLmZyb20odHguaGVkZXJhVHguc2lnTWFwIS5zaWdQYWlyIVswXS5wdWJLZXlQcmVmaXghKS50b1N0cmluZygnaGV4JyksXG4gICAgICAgIHRlc3REYXRhLkFDQ09VTlRfMS5wdWJLZXlXaXRoUHJlZml4LnNsaWNlKDI0KVxuICAgICAgKTtcbiAgICAgIHNob3VsZC5lcXVhbChcbiAgICAgICAgQnVmZmVyLmZyb20odHguaGVkZXJhVHguc2lnTWFwIS5zaWdQYWlyIVsxXS5wdWJLZXlQcmVmaXghKS50b1N0cmluZygnaGV4JyksXG4gICAgICAgIHRlc3REYXRhLk9QRVJBVE9SLnB1YmxpY0tleS5zbGljZSgyNClcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgcmV0dXJuIGVuY29kZWQgdHgnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3ZhbGlkIHNpZ24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eCA9IGdldFRyYW5zYWN0aW9uKCk7XG4gICAgICB0eC5ib2R5Qnl0ZXModGVzdERhdGEuV0FMTEVUX1RYREFUQSk7XG4gICAgICBhd2FpdCB0eC5zaWduKHRlc3REYXRhLktFWVBBSVJfUFJWKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCB0ZXN0RGF0YS5XQUxMRVRfU0lHTkVEX1RSQU5TQUNUSU9OKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==

Выполнить команду


Для локальной разработки. Не используйте в интернете!