UNPKG

@ledgerhq/coin-internet_computer

Version:
21 lines 1.02 kB
import { broadcastTxn } from "../api"; import { log } from "@ledgerhq/logs"; import invariant from "invariant"; import { MAINNET_LEDGER_CANISTER_ID } from "../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 export const broadcast = async ({ signedOperation: { operation, rawData }, }) => { log("debug", "[broadcast] Internet Computer transaction broadcast initiated"); // Validate rawData with type guard invariant(isBroadcastRawData(rawData), "[ICP](broadcast) Invalid rawData format"); invariant(operation.extra, "[ICP](broadcast) Missing operation extra"); await broadcastTxn(Buffer.from(rawData.encodedSignedCallBlob, "hex"), MAINNET_LEDGER_CANISTER_ID, "call"); return operation; }; //# sourceMappingURL=broadcast.js.map