decodeTx.spec.ts 817 B
Newer Older
Amaury Martiny's avatar
Amaury Martiny committed
import { balanceTransfer } from './balanceTransfer';
import { createSignedTx } from './createSignedTx';
import { createSigningPayload } from './createSigningPayload';
import { decodeTx } from './decodeTx';
Amaury Martiny's avatar
Amaury Martiny committed
import { metadataRpc, signWithAlice, TEST_TX_INFO } from './util/testUtil';
Amaury Martiny's avatar
Amaury Martiny committed
describe('decodeTx', () => {
  it('should work', async done => {
    const unsigned = balanceTransfer(TEST_TX_INFO);
    const signingPayload = createSigningPayload(unsigned);
Amaury Martiny's avatar
Amaury Martiny committed
    const signature = await signWithAlice(signingPayload);
    const tx = createSignedTx(unsigned, signature);
Amaury Martiny's avatar
Amaury Martiny committed
    const txInfo = decodeTx(tx, metadataRpc);
Amaury Martiny's avatar
Amaury Martiny committed
    ([
      'address',
      'amount',
      'keepAlive',
      'nonce',
      'tip',
      'to'
    ] as const).forEach(key => expect(txInfo[key]).toBe(TEST_TX_INFO[key]));
Amaury Martiny's avatar
Amaury Martiny committed
    done();