@ledgerhq/coin-casper
Version:
Ledger Casper integration
21 lines • 1.11 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.broadcast = void 0;
const casper_js_sdk_1 = require("casper-js-sdk");
const operation_1 = require("@ledgerhq/coin-framework/operation");
const api_1 = require("../api");
const invariant_1 = __importDefault(require("invariant"));
const broadcast = async ({ account, signedOperation: { signature, operation, rawData }, }) => {
(0, invariant_1.default)(rawData, "casper: rawData is required");
const tx = casper_js_sdk_1.Transaction.fromJSON(rawData.tx);
tx.setSignature(Buffer.from(signature, "hex"), casper_js_sdk_1.PublicKey.fromHex(account.freshAddress));
const hash = await (0, api_1.broadcastTx)(tx);
(0, invariant_1.default)(hash, "casper: failed to broadcast transaction and get transaction hash");
const result = (0, operation_1.patchOperationWithHash)(operation, hash);
return result;
};
exports.broadcast = broadcast;
//# sourceMappingURL=broadcast.js.map