PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-coin-osmo/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/osmo"));
const sdk_test_1 = require("@bitgo/sdk-test");
const sdk_api_1 = require("@bitgo/sdk-api");
const src_1 = require("../../../src");
describe('Osmo Transaction Builder', async () => {
let bitgo;
let basecoin;
let factory;
let data;
before(function () {
bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'mock' });
bitgo.safeRegister('osmo', src_1.Osmo.createInstance);
bitgo.safeRegister('tosmo', src_1.Tosmo.createInstance);
bitgo.initializeTestVars();
basecoin = bitgo.coin('tosmo');
factory = basecoin.getBuilder();
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(),
},
{
type: sdk_core_1.TransactionType.ContractCall,
testTx: testData.TEST_EXECUTE_CONTRACT_TRANSACTION,
builder: factory.getContractCallBuilder(),
},
];
});
it('should build a signed tx from signed tx data', async function () {
for (const { type, testTx } of data) {
const txBuilder = factory.from(testTx.signedTxBase64);
const tx = await txBuilder.build();
should_1.default.equal(tx.type, type);
const rawTx = tx.toBroadcastFormat();
should_1.default.equal(rawTx, testTx.signedTxBase64);
}
});
it('should succeed for valid gasBudget', function () {
for (const { testTx, builder } of data) {
should_1.default.doesNotThrow(() => builder.gasBudget(testTx.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 { testTx, builder } of data) {
should_1.default.doesNotThrow(() => builder.validateAddress({ address: testTx.from }));
(0, should_1.default)(() => builder.validateAddress(invalidAddress)).throwError('transactionBuilder: address isValidAddress check failed: ' + invalidAddress.address);
}
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBa0Q7QUFDbEQsb0RBQTRCO0FBRTVCLCtEQUFpRDtBQUNqRCw4Q0FBMEQ7QUFDMUQsNENBQTBDO0FBQzFDLHNDQUEyQztBQUUzQyxRQUFRLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDOUMsSUFBSSxLQUFtQixDQUFDO0lBQ3hCLElBQUksUUFBUSxDQUFDO0lBQ2IsSUFBSSxPQUFPLENBQUM7SUFDWixJQUFJLElBQUksQ0FBQztJQUNULE1BQU0sQ0FBQztRQUNMLEtBQUssR0FBRyxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFdBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixPQUFPLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLElBQUksR0FBRztZQUNMO2dCQUNFLElBQUksRUFBRSwwQkFBZSxDQUFDLElBQUk7Z0JBQzFCLE1BQU0sRUFBRSxRQUFRLENBQUMsWUFBWTtnQkFDN0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTthQUN0QztZQUNEO2dCQUNFLElBQUksRUFBRSwwQkFB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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uLy4uL3Jlc291cmNlcy9vc21vJztcbmltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay1hcGknO1xuaW1wb3J0IHsgT3NtbywgVG9zbW8gfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuXG5kZXNjcmliZSgnT3NtbyBUcmFuc2FjdGlvbiBCdWlsZGVyJywgYXN5bmMgKCkgPT4ge1xuICBsZXQgYml0Z286IFRlc3RCaXRHb0FQSTtcbiAgbGV0IGJhc2Vjb2luO1xuICBsZXQgZmFjdG9yeTtcbiAgbGV0IGRhdGE7XG4gIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgYml0Z28gPSBUZXN0Qml0R28uZGVjb3JhdGUoQml0R29BUEksIHsgZW52OiAnbW9jaycgfSk7XG4gICAgYml0Z28uc2FmZVJlZ2lzdGVyKCdvc21vJywgT3Ntby5jcmVhdGVJbnN0YW5jZSk7XG4gICAgYml0Z28uc2FmZVJlZ2lzdGVyKCd0b3NtbycsIFRvc21vLmNyZWF0ZUluc3RhbmNlKTtcbiAgICBiaXRnby5pbml0aWFsaXplVGVzdFZhcnMoKTtcbiAgICBiYXNlY29pbiA9IGJpdGdvLmNvaW4oJ3Rvc21vJyk7XG4gICAgZmFjdG9yeSA9IGJhc2Vjb2luLmdldEJ1aWxkZXIoKTtcbiAgICBkYXRhID0gW1xuICAgICAge1xuICAgICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGUuU2VuZCxcbiAgICAgICAgdGVzdFR4OiB0ZXN0RGF0YS5URVNUX1NFTkRfVFgsXG4gICAgICAgIGJ1aWxkZXI6IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlLFxuICAgICAgICB0ZXN0VHg6IHRlc3REYXRhLlRFU1RfREVMRUdBVEVfVFgsXG4gICAgICAgIGJ1aWxkZXI6IGZhY3RvcnkuZ2V0U3Rha2luZ0FjdGl2YXRlQnVpbGRlcigpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlLFxuICAgICAgICB0ZXN0VHg6IHRlc3REYXRhLlRFU1RfVU5ERUxFR0FURV9UWCxcbiAgICAgICAgYnVpbGRlcjogZmFjdG9yeS5nZXRTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIoKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXcsXG4gICAgICAgIHRlc3RUeDogdGVzdERhdGEuVEVTVF9XSVRIRFJBV19SRVdBUkRTX1RYLFxuICAgICAgICBidWlsZGVyOiBmYWN0b3J5LmdldFN0YWtpbmdXaXRoZHJhd1Jld2FyZHNCdWlsZGVyKCksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGUuQ29udHJhY3RDYWxsLFxuICAgICAgICB0ZXN0VHg6IHRlc3REYXRhLlRFU1RfRVhFQ1VURV9DT05UUkFDVF9UUkFOU0FDVElPTixcbiAgICAgICAgYnVpbGRlcjogZmFjdG9yeS5nZXRDb250cmFjdENhbGxCdWlsZGVyKCksXG4gICAgICB9LFxuICAgIF07XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgYSBzaWduZWQgdHggZnJvbSBzaWduZWQgdHggZGF0YScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBmb3IgKGNvbnN0IHsgdHlwZSwgdGVzdFR4IH0gb2YgZGF0YSkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5mcm9tKHRlc3RUeC5zaWduZWRUeEJhc2U2NCk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnR5cGUsIHR5cGUpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgc2hvdWxkLmVxdWFsKHJhd1R4LCB0ZXN0VHguc2lnbmVkVHhCYXNlNjQpO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzdWNjZWVkIGZvciB2YWxpZCBnYXNCdWRnZXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgZm9yIChjb25zdCB7IHRlc3RUeCwgYnVpbGRlciB9IG9mIGRhdGEpIHtcbiAgICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gYnVpbGRlci5nYXNCdWRnZXQodGVzdFR4Lmdhc0J1ZGdldCkpO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBmb3IgaW52YWxpZCBnYXNCdWRnZXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgaW52YWxpZEdhc0J1ZGdldCA9IDA7XG4gICAgZm9yIChjb25zdCB7IGJ1aWxkZXIgfSBvZiBkYXRhKSB7XG4gICAgICBzaG91bGQoKCkgPT4gYnVpbGRlci5nYXNCdWRnZXQoeyBnYXNMaW1pdDogaW52YWxpZEdhc0J1ZGdldCB9KSkudGhyb3coJ0ludmFsaWQgZ2FzIGxpbWl0ICcgKyBpbnZhbGlkR2FzQnVkZ2V0KTtcbiAgICB9XG4gIH0pO1xuXG4gIGl0KCd2YWxpZGF0ZUFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgaW52YWxpZEFkZHJlc3MgPSB7IGFkZHJlc3M6ICdyYW5kb21TdHJpbmcnIH07XG4gICAgZm9yIChjb25zdCB7IHRlc3RUeCwgYnVpbGRlciB9IG9mIGRhdGEpIHtcbiAgICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gYnVpbGRlci52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiB0ZXN0VHguZnJvbSB9KSk7XG4gICAgICBzaG91bGQoKCkgPT4gYnVpbGRlci52YWxpZGF0ZUFkZHJlc3MoaW52YWxpZEFkZHJlc3MpKS50aHJvd0Vycm9yKFxuICAgICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiBhZGRyZXNzIGlzVmFsaWRBZGRyZXNzIGNoZWNrIGZhaWxlZDogJyArIGludmFsaWRBZGRyZXNzLmFkZHJlc3NcbiAgICAgICk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19Выполнить команду
Для локальной разработки. Не используйте в интернете!