UNPKG

@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

49 lines 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LedgerWebHid = void 0; class LedgerWebHid { async getAddressByDefinePath(params) { try { const { path } = params; const app = await this.makeApp(); const { address } = await app.getAddress(path); return address; } finally { await this.cleanUp(); } } async getAvailableAddress(params) { let index = 0; let address; let path = ''; const wallet = this.getWallet(); const { addresses } = params; // eslint-disable-next-line no-constant-condition while (true) { path = wallet.derivePath({ accountIndex: index, addressIndex: 0 }); address = await this.getAddressByDefinePath({ path }); if (!addresses.includes(address)) { break; } index++; } return { index, address, path, }; } async signPersonalMessage(transaction, path) { try { const app = await this.makeApp(); const response = await app.signPersonalMessage(path, transaction); return response; } finally { await this.cleanUp(); } } } exports.LedgerWebHid = LedgerWebHid; //# sourceMappingURL=LedgerWebHid.js.map