UNPKG

@ledgerhq/coin-internet_computer

Version:
28 lines 1.36 kB
"use strict"; 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 api_1 = require("../api"); const logs_1 = require("@ledgerhq/logs"); const invariant_1 = __importDefault(require("invariant")); const consts_1 = require("../consts"); // Type guard to validate rawData shape function isBroadcastRawData(data) { return (typeof data === "object" && data !== null && "encodedSignedCallBlob" in data && typeof data.encodedSignedCallBlob === "string"); } // Main broadcast function for handling Internet Computer transactions const broadcast = async ({ signedOperation: { operation, rawData }, }) => { (0, logs_1.log)("debug", "[broadcast] Internet Computer transaction broadcast initiated"); // Validate rawData with type guard (0, invariant_1.default)(isBroadcastRawData(rawData), "[ICP](broadcast) Invalid rawData format"); (0, invariant_1.default)(operation.extra, "[ICP](broadcast) Missing operation extra"); await (0, api_1.broadcastTxn)(Buffer.from(rawData.encodedSignedCallBlob, "hex"), consts_1.MAINNET_LEDGER_CANISTER_ID, "call"); return operation; }; exports.broadcast = broadcast; //# sourceMappingURL=broadcast.js.map