All files / src/heartbeat pulse.js

100% Statements 10/10
100% Branches 2/2
100% Functions 1/1
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 293x 3x 3x   3x 2x           2x 1x                   1x 1x   1x      
const { logNode } = require('../utils/debug');
const { Tx, Input, Outpoint, Output } = require('leap-core');
const getUnspent = require('../api/methods/getUnspent');
 
module.exports = async (bridgeState, { send }) => {
  const [nft] = await getUnspent(
    bridgeState,
    bridgeState.account.address,
    bridgeState.config.heartbeat.color
  );
 
  if (nft) {
    const transfer = Tx.transfer(
      [new Input(Outpoint.fromRaw(nft.outpoint))],
      [
        new Output(
          nft.output.value,
          bridgeState.account.address,
          bridgeState.config.heartbeat.color
        ),
      ]
    );
    transfer.signAll(bridgeState.account.privateKey);
    await send(transfer);
  } else {
    logNode('Cannot find Heartbeat NFT in UTXO.');
  }
};