UNPKG

@signumjs/core

Version:

Principal package with functions and models for building Signum Network applications.

27 lines 1.27 kB
"use strict"; /** * Copyright (c) 2019 Burst Apps Team */ Object.defineProperty(exports, "__esModule", { value: true }); exports.signAndBroadcastTransaction = void 0; const crypto_1 = require("@signumjs/crypto"); const broadcastTransaction_1 = require("./broadcastTransaction"); /** * Use with {@link ApiComposer} and belongs to {@link TransactionApi}. * * See details at {@link TransactionApi.signAndBroadcastTransaction} * * @category factories */ const signAndBroadcastTransaction = (chainService) => async (unsignedTransaction) => { const { unsignedHexMessage, senderPrivateKey, senderPublicKey } = unsignedTransaction; const signature = (0, crypto_1.generateSignature)(unsignedHexMessage, senderPrivateKey); const isValid = (0, crypto_1.verifySignature)(signature, unsignedHexMessage, senderPublicKey); if (!isValid) { throw new Error('The signed message could not be verified! Transaction not broadcasted!'); } const signedMessage = (0, crypto_1.generateSignedTransactionBytes)(unsignedHexMessage, signature); return (0, broadcastTransaction_1.broadcastTransaction)(chainService)(signedMessage); }; exports.signAndBroadcastTransaction = signAndBroadcastTransaction; //# sourceMappingURL=signAndBroadcastTransaction.js.map