@ledgerhq/coin-tron
Version:
Ledger Tron Coin integration
25 lines (19 loc) • 735 B
text/typescript
import { broadcastTron } from "../network";
import { decodeTransaction } from "./utils";
export async function broadcast(transaction: string): Promise<string> {
const { rawTx, signature } = extractTxAndSignature(transaction);
const { txID, raw_data } = await decodeTransaction(rawTx);
const signedTxPayload = {
txID,
raw_data,
raw_data_hex: rawTx,
signature: [signature],
};
return broadcastTron(signedTxPayload);
}
function extractTxAndSignature(transaction: string): { rawTx: string; signature: string } {
const txLength = parseInt(transaction.slice(0, 4), 16);
const rawTx = transaction.slice(4, txLength + 4);
const signature = transaction.slice(4 + txLength);
return { rawTx, signature };
}