PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-coin-eth/test/unit
Просмотр файла: transaction.ts
import assert from 'assert';
import should from 'should';
import { coins, EthereumNetwork } from '@bitgo/statics';
import { getCommon, Transaction, TxData } from '../../src';
import * as testData from '../resources/eth';
import { test } from 'mocha';
describe('ETH Transaction', () => {
const coinConfig = coins.get('teth');
const common = getCommon(coinConfig.network as EthereumNetwork);
/**
* @param data
*/
function getTransaction(data?: TxData) {
return new Transaction(coinConfig, common, data);
}
describe('should throw ', () => {
it('an empty transaction', () => {
const tx = getTransaction();
assert.throws(() => tx.toJson());
assert.throws(() => tx.toBroadcastFormat());
});
});
const testParams = [
['Legacy', testData.LEGACY_TXDATA, testData.UNSIGNED_LEGACY_TX, testData.ENCODED_LEGACY_TRANSACTION],
['EIP1559', testData.EIP1559_TXDATA, testData.UNSIGNED_EIP1559_TX, testData.ENCODED_EIP1559_TRANSACTION],
] as const;
describe('should return', () => {
testParams.map(([txnType, txData, unsignedTx]) => {
test(`a valid ${txnType} transaction`, () => {
const tx = getTransaction(txData);
should.deepEqual(tx.toJson(), txData);
should.deepEqual(tx.toBroadcastFormat(), unsignedTx);
});
});
});
describe('should sign', () => {
it('invalid', () => {
const tx = getTransaction();
return tx.sign(testData.KEYPAIR_PRV).should.be.rejected();
});
testParams.map(([txnType, txData]) => {
it(`should create a valid ${txnType} signature`, () => {
const tx = getTransaction(txData);
return tx.sign(testData.KEYPAIR_PRV).should.be.fulfilled();
});
});
});
describe('should return encoded tx', () => {
testParams.map(([txnType, txData, _, encodedTxData]) => {
it(`should create a valid ${txnType} encoded transaction`, async () => {
const tx = getTransaction(txData);
await tx.sign(testData.KEYPAIR_PRV);
should.equal(tx.toBroadcastFormat(), encodedTxData);
});
});
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!