import { AccountBridge } from "@ledgerhq/types-live"; import { patchOperationWithHash } from "@ledgerhq/ledger-wallet-framework/operation"; import { getAlpacaApi } from "./alpaca"; import { GenericTransaction } from "./types"; export const genericBroadcast: ( network: string, kind: string, ) => AccountBridge["broadcast"] = (_network, kind) => async ({ signedOperation: { signature, operation }, account, broadcastConfig }) => { const api = getAlpacaApi(account.currency.id, kind); if (api.validateTransaction) { const validation = await api.validateTransaction(signature); if (validation.error !== undefined) { throw validation.error; } } const hash = await api.broadcast(signature, broadcastConfig); return patchOperationWithHash(operation, hash); };