PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-coin-xrp/test/unit/transactionBuilder
Просмотр файла: transferBuilder.ts
import should from 'should';
import utils from '../../../src/lib/utils';
import * as testData from '../../resources/xrp';
import { getBuilderFactory } from '../getBuilderFactory';
describe('XRP Transfer Builder', () => {
const factory = getBuilderFactory('txrp');
describe('Succeed', () => {
it('should build a transfer', async function () {
const txBuilder = factory.getTransferBuilder();
txBuilder.to(testData.TEST_MULTI_SIG_ACCOUNT.address);
txBuilder.amount('30000000');
txBuilder.sender(testData.TEST_SINGLE_SIG_ACCOUNT.address);
txBuilder.sequence(1545099);
txBuilder.fee('1000');
txBuilder.flags(2147483648);
const tx = await txBuilder.build();
const rawTx = tx.toBroadcastFormat();
should.equal(utils.isValidRawTransaction(rawTx), true);
rawTx.should.equal(testData.TEST_TRANSFER_TX_SINGLE_SIG.unsignedTxHex);
const rebuilder = factory.getTransferBuilder();
rebuilder.from(rawTx);
rebuilder.setSingleSig();
rebuilder.sign({ key: testData.TEST_SINGLE_SIG_ACCOUNT.privateKey });
const rebuiltTx = await rebuilder.build();
const rebuiltRawTx = rebuiltTx.toBroadcastFormat();
rebuiltRawTx.should.equal(testData.TEST_TRANSFER_TX_SINGLE_SIG.signedTxHex);
});
it('should build a multi-sig transfer', async function () {
const txBuilder = factory.getTransferBuilder();
txBuilder.to(testData.TEST_SINGLE_SIG_ACCOUNT.address);
txBuilder.amount('2000000');
txBuilder.sender(utils.getAddressDetails(testData.TEST_MULTI_SIG_ACCOUNT.address).address);
txBuilder.sequence(1546022);
txBuilder.fee('1000');
txBuilder.flags(2147483648);
const tx = await txBuilder.build();
const rawTx = tx.toBroadcastFormat();
should.equal(utils.isValidRawTransaction(rawTx), true);
rawTx.should.equal(testData.TEST_TRANSFER_TX_MULTI_SIG.unsignedTxHex);
const rebuilder = factory.getTransferBuilder();
rebuilder.from(rawTx);
rebuilder.setMultiSig();
rebuilder.sign({ key: testData.SIGNER_USER.prv });
rebuilder.sign({ key: testData.SIGNER_BITGO.prv });
const rebuiltTx = await rebuilder.build();
const rebuiltRawTx = rebuiltTx.toBroadcastFormat();
rebuiltRawTx.should.equal(testData.TEST_TRANSFER_TX_MULTI_SIG.signedTxHex);
});
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!