PHP WebShell

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

Просмотр файла: transactionBuilder.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 sdk_core_1 = require("@bitgo/sdk-core");
const should_1 = __importDefault(require("should"));
const testData = __importStar(require("../../resources/atom"));
const getBuilderFactory_1 = require("../getBuilderFactory");
describe('Atom Transaction Builder', async () => {
    const factory = (0, getBuilderFactory_1.getBuilderFactory)('tatom');
    const testTxData = testData.TEST_SEND_TX;
    let data;
    beforeEach(() => {
        data = [
            {
                type: sdk_core_1.TransactionType.Send,
                testTx: testData.TEST_SEND_TX,
                builder: factory.getTransferBuilder(),
            },
            {
                type: sdk_core_1.TransactionType.StakingActivate,
                testTx: testData.TEST_DELEGATE_TX,
                builder: factory.getStakingActivateBuilder(),
            },
            {
                type: sdk_core_1.TransactionType.StakingDeactivate,
                testTx: testData.TEST_UNDELEGATE_TX,
                builder: factory.getStakingDeactivateBuilder(),
            },
            {
                type: sdk_core_1.TransactionType.StakingWithdraw,
                testTx: testData.TEST_WITHDRAW_REWARDS_TX,
                builder: factory.getStakingWithdrawRewardsBuilder(),
            },
        ];
    });
    it('should build a signed tx from signed tx data', async function () {
        const txBuilder = factory.from(testTxData.signedTxBase64);
        const tx = await txBuilder.build();
        should_1.default.equal(tx.type, sdk_core_1.TransactionType.Send);
        // Should recreate the same raw tx data when re-build and turned to broadcast format
        const rawTx = tx.toBroadcastFormat();
        should_1.default.equal(rawTx, testTxData.signedTxBase64);
    });
    describe('gasBudget tests', async () => {
        it('should succeed for valid gasBudget', function () {
            for (const { builder } of data) {
                should_1.default.doesNotThrow(() => builder.gasBudget(testTxData.gasBudget));
            }
        });
        it('should throw for invalid gasBudget', function () {
            const invalidGasBudget = 0;
            for (const { builder } of data) {
                (0, should_1.default)(() => builder.gasBudget({ gasLimit: invalidGasBudget })).throw('Invalid gas limit ' + invalidGasBudget);
            }
        });
    });
    it('validateAddress', function () {
        const invalidAddress = { address: 'randomString' };
        for (const { builder } of data) {
            should_1.default.doesNotThrow(() => builder.validateAddress({ address: testTxData.sender }));
            (0, should_1.default)(() => builder.validateAddress(invalidAddress)).throwError('transactionBuilder: address isValidAddress check failed: ' + invalidAddress.address);
        }
    });
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBa0Q7QUFDbEQsb0RBQTRCO0FBRTVCLCtEQUFpRDtBQUNqRCw0REFBeUQ7QUFFekQsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEtBQUssSUFBSSxFQUFFO0lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUEscUNBQWlCLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0MsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztJQUN6QyxJQUFJLElBQUksQ0FBQztJQUVULFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxJQUFJLEdBQUc7WUFDTDtnQkFDRSxJQUFJLEVBQUUsMEJBQWUsQ0FBQyxJQUFJO2dCQUMxQixNQUFNLEVBQUUsUUFBUSxDQUFDLFlBQVk7Z0JBQzdCLE9BQU8sRUFBRSxPQUFPLENBQUMsa0JBQWtCLEVBQUU7YUFDdEM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsMEJBQWUsQ0FBQyxlQUFlO2dCQUNyQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjtnQkFDakMsT0FBTyxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRTthQUM3QztZQUNEO2dCQUNFLElBQUksRUFBRSwwQkFBZSxDQUFDLGlCQUFpQjtnQkFDdkMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0I7Z0JBQ25DLE9BQU8sRUFBRSxPQUFPLENBQUMsMkJBQTJCLEVBQUU7YUFDL0M7WUFDRDtnQkFDRSxJQUFJLEVBQUUsMEJBQWUsQ0FBQyxlQUFlO2dCQUNyQyxNQUFNLEVBQUUsUUFBUSxDQUFDLHdCQUF3QjtnQkFDekMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxnQ0FBZ0MsRUFBRTthQUNwRDtTQUNGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxLQUFLO1FBQ3RELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25DLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsMEJBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxvRkFBb0Y7UUFDcEYsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDckMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNyQyxFQUFFLENBQUMsb0NBQW9DLEVBQUU7WUFDdkMsS0FBSyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQy9CLGdCQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDckUsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFO1lBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLEtBQUssTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUMvQixJQUFBLGdCQUFNLEVBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztZQUNqSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpQkFBaUIsRUFBRTtRQUNwQixNQUFNLGNBQWMsR0FBRyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQztRQUNuRCxLQUFLLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMvQixnQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkYsSUFBQSxnQkFBTSxFQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQzlELDJEQUEyRCxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQ3JGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uLy4uL3Jlc291cmNlcy9hdG9tJztcbmltcG9ydCB7IGdldEJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vZ2V0QnVpbGRlckZhY3RvcnknO1xuXG5kZXNjcmliZSgnQXRvbSBUcmFuc2FjdGlvbiBCdWlsZGVyJywgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBmYWN0b3J5ID0gZ2V0QnVpbGRlckZhY3RvcnkoJ3RhdG9tJyk7XG4gIGNvbnN0IHRlc3RUeERhdGEgPSB0ZXN0RGF0YS5URVNUX1NFTkRfVFg7XG4gIGxldCBkYXRhO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGRhdGEgPSBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZS5TZW5kLFxuICAgICAgICB0ZXN0VHg6IHRlc3REYXRhLlRFU1RfU0VORF9UWCxcbiAgICAgICAgYnVpbGRlcjogZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGUsXG4gICAgICAgIHRlc3RUeDogdGVzdERhdGEuVEVTVF9ERUxFR0FURV9UWCxcbiAgICAgICAgYnVpbGRlcjogZmFjdG9yeS5nZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKCksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGUsXG4gICAgICAgIHRlc3RUeDogdGVzdERhdGEuVEVTVF9VTkRFTEVHQVRFX1RYLFxuICAgICAgICBidWlsZGVyOiBmYWN0b3J5LmdldFN0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcigpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdyxcbiAgICAgICAgdGVzdFR4OiB0ZXN0RGF0YS5URVNUX1dJVEhEUkFXX1JFV0FSRFNfVFgsXG4gICAgICAgIGJ1aWxkZXI6IGZhY3RvcnkuZ2V0U3Rha2luZ1dpdGhkcmF3UmV3YXJkc0J1aWxkZXIoKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBidWlsZCBhIHNpZ25lZCB0eCBmcm9tIHNpZ25lZCB0eCBkYXRhJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZnJvbSh0ZXN0VHhEYXRhLnNpZ25lZFR4QmFzZTY0KTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIHNob3VsZC5lcXVhbCh0eC50eXBlLCBUcmFuc2FjdGlvblR5cGUuU2VuZCk7XG4gICAgLy8gU2hvdWxkIHJlY3JlYXRlIHRoZSBzYW1lIHJhdyB0eCBkYXRhIHdoZW4gcmUtYnVpbGQgYW5kIHR1cm5lZCB0byBicm9hZGNhc3QgZm9ybWF0XG4gICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgIHNob3VsZC5lcXVhbChyYXdUeCwgdGVzdFR4RGF0YS5zaWduZWRUeEJhc2U2NCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnYXNCdWRnZXQgdGVzdHMnLCBhc3luYyAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzdWNjZWVkIGZvciB2YWxpZCBnYXNCdWRnZXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKGNvbnN0IHsgYnVpbGRlciB9IG9mIGRhdGEpIHtcbiAgICAgICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBidWlsZGVyLmdhc0J1ZGdldCh0ZXN0VHhEYXRhLmdhc0J1ZGdldCkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBmb3IgaW52YWxpZCBnYXNCdWRnZXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBpbnZhbGlkR2FzQnVkZ2V0ID0gMDtcbiAgICAgIGZvciAoY29uc3QgeyBidWlsZGVyIH0gb2YgZGF0YSkge1xuICAgICAgICBzaG91bGQoKCkgPT4gYnVpbGRlci5nYXNCdWRnZXQoeyBnYXNMaW1pdDogaW52YWxpZEdhc0J1ZGdldCB9KSkudGhyb3coJ0ludmFsaWQgZ2FzIGxpbWl0ICcgKyBpbnZhbGlkR2FzQnVkZ2V0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3ZhbGlkYXRlQWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBpbnZhbGlkQWRkcmVzcyA9IHsgYWRkcmVzczogJ3JhbmRvbVN0cmluZycgfTtcbiAgICBmb3IgKGNvbnN0IHsgYnVpbGRlciB9IG9mIGRhdGEpIHtcbiAgICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gYnVpbGRlci52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiB0ZXN0VHhEYXRhLnNlbmRlciB9KSk7XG4gICAgICBzaG91bGQoKCkgPT4gYnVpbGRlci52YWxpZGF0ZUFkZHJlc3MoaW52YWxpZEFkZHJlc3MpKS50aHJvd0Vycm9yKFxuICAgICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiBhZGRyZXNzIGlzVmFsaWRBZGRyZXNzIGNoZWNrIGZhaWxlZDogJyArIGludmFsaWRBZGRyZXNzLmFkZHJlc3NcbiAgICAgICk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19

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


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