@tronlink/core
Version:
The library serves as a core module within TronLink Extension, which provides low-level wallet functionality for both Tron and Ethereum networks, primary features includes account generation and transaction signing
41 lines • 1.25 kB
JavaScript
import AppTrx from '@ledgerhq/hw-app-trx';
import TransportWebHID from '@ledgerhq/hw-transport-webhid';
import { LedgerWebHid } from '../../base_wallet/ledger';
import { TronWallet } from '../TronWallet';
export class LedgerTrxWebHid extends LedgerWebHid {
_transport;
_app;
getWallet() {
return new TronWallet();
}
async signTransaction(transaction, path) {
try {
const app = await this.makeApp();
const response = await app.signTransaction(path, transaction.hex, transaction.info);
return response;
}
finally {
await this.cleanUp();
}
}
async signTransactionHash(path, rawTxHashHex) {
try {
const app = await this.makeApp();
const response = await app.signTransactionHash(path, rawTxHashHex);
return response;
}
finally {
await this.cleanUp();
}
}
async makeApp() {
this._transport = await TransportWebHID.create();
this._app = new AppTrx(this._transport);
return this._app;
}
async cleanUp() {
this._app = undefined;
await this._transport?.close();
}
}
//# sourceMappingURL=LedgerTrxWebHid.js.map