From d0c6995f505e8e1d2fc10bb6634c3f54b6866311 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Tue, 18 May 2021 14:09:44 +0300 Subject: [PATCH 1/5] add GLEEC --- src/lib/coins.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib/coins.js b/src/lib/coins.js index 7d94fa6b..c90bf99c 100644 --- a/src/lib/coins.js +++ b/src/lib/coins.js @@ -158,6 +158,13 @@ const coins = { explorer: 'https://soulja.explorer.dexstats.info/', api: ['https://soulja.explorer.dexstats.info/insight-api-komodo/'], }, + GLEEC: { + explorer: 'https://gleec.xyz/', + api: [ + 'https://gleec.explorer.dexstats.info/insight-api-komodo/', + 'https://gleec.xyz/insight-api-komodo/', + ], + }, // DP: '', // SHARK: '', // EQL: '', From 73bd4d0bf9dfbe552bc3cc7c6abf4b82a6056890 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Mon, 31 May 2021 23:04:20 +0300 Subject: [PATCH 2/5] #209 trezor tx signing fix --- package.json | 3 ++- src/lib/account-discovery.js | 11 ++++++++++- src/lib/trezor.js | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4a68429e..4286d732 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hw-kmd-wallet", - "version": "0.2.5", + "version": "0.2.6", "author": "Luke Childs (http://lukechilds.co.uk), Komodo Platform (https://komodoplatform.com)", "repository": "pbca26/hw-kmd-wallet", "homepage": "https://pbca26.github.io/hw-kmd-wallet", @@ -35,6 +35,7 @@ "@ledgerhq/hw-transport-webhid": "^5.34.0", "@ledgerhq/hw-transport-webusb": "^5.34.1", "@ledgerhq/hw-transport-web-ble": "^4.78.0", + "@trezor/utxo-lib": "^0.1.2", "babel-polyfill": "^6.26.0", "bip32-path": "^0.4.2", "bitcoinjs-lib": "^4.0.2", diff --git a/src/lib/account-discovery.js b/src/lib/account-discovery.js index 175540ec..28ba0a3c 100755 --- a/src/lib/account-discovery.js +++ b/src/lib/account-discovery.js @@ -5,6 +5,7 @@ import bitcoin from 'bitcoinjs-lib'; import parseHistory from './history-parser'; import asyncForEach from './async'; import {airDropCoins} from './coins'; +import TrezorUtxoLib from '@trezor/utxo-lib'; let pubKeysCache = {}; let gapLimit = 20; @@ -93,7 +94,7 @@ const getAddressUtxos = async addresses => { return await Promise.all(utxos.map(async utxo => { const addressInfo = addresses.find(a => a.address === utxo.address); - const [ + let [ {rawtx}, { locktime, @@ -108,6 +109,14 @@ const getAddressUtxos = async addresses => { blockchain.getTransaction(utxo.txid) ]); + // fix for insight explorer value rounding issue + TrezorUtxoLib.Transaction.USE_STRING_VALUES = true; + const decodeFromRaw = TrezorUtxoLib.Transaction.fromHex(rawtx, TrezorUtxoLib.networks.komodo); + + for (let i = 0; i < vout.length; i++) { + vout[i].satoshis = parseInt(decodeFromRaw.outs[i].value); + } + return { id: `${utxo.txid}:${utxo.vout}`, ...addressInfo, diff --git a/src/lib/trezor.js b/src/lib/trezor.js index 0e45cb63..fb76b2a4 100644 --- a/src/lib/trezor.js +++ b/src/lib/trezor.js @@ -110,7 +110,7 @@ const createTransaction = async (utxos, outputs, isKMD) => { }), bin_outputs: refTx.outputs.map((output) => { return { - amount: Number((Number(output.value).toFixed(8) * 100000000).toFixed(0)), + amount: output.hasOwnProperty('satoshis') ? output.satoshis.toString() : output.value.replace('.', ''), script_pubkey: output.scriptPubKey.hex, }; }), From 9d38c3082e00fb65cd6ccdb9ee28a42dcd4f6105 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Mon, 31 May 2021 23:46:09 +0300 Subject: [PATCH 3/5] update config overrides es6 workaround --- config-overrides.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config-overrides.js b/config-overrides.js index 06c37106..d6fcdf29 100644 --- a/config-overrides.js +++ b/config-overrides.js @@ -20,6 +20,9 @@ module.exports = { path.resolve(paths.appNodeModules, 'lru-cache'), path.resolve(paths.appNodeModules, 'yallist'), path.resolve(paths.appNodeModules, 'u2f-api'), + path.resolve(paths.appNodeModules, 'asn1.js'), + path.resolve(paths.appNodeModules, 'bech32'), + path.resolve(paths.appNodeModules, '@trezor/utxo-lib'), path.resolve(paths.appNodeModules, '@ledgerhq/hw-app-btc'), path.resolve(paths.appNodeModules, '@ledgerhq/hw-transport/lib-es'), path.resolve(paths.appNodeModules, '@ledgerhq/hw-transport-webusb/lib-es'), From 8453593cda72f7647bcf4f0bcac1b1f4363436b9 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Tue, 1 Jun 2021 01:00:01 +0300 Subject: [PATCH 4/5] switch to ledger/hw-transport-node-hid-noevents --- electron/main.js | 2 +- electron/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/electron/main.js b/electron/main.js index 3cf5cfc8..2634885a 100755 --- a/electron/main.js +++ b/electron/main.js @@ -1,6 +1,6 @@ // Modules to control application life and create native browser window require('babel-polyfill'); -const TransportNodeHid = require('@ledgerhq/hw-transport-node-hid').default; +const TransportNodeHid = require('@ledgerhq/hw-transport-node-hid-noevents').default; const AppBtc = require('@ledgerhq/hw-app-btc').default; const { diff --git a/electron/package.json b/electron/package.json index 569805e2..36649c63 100755 --- a/electron/package.json +++ b/electron/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "@ledgerhq/hw-app-btc": "^5.16.0", - "@ledgerhq/hw-transport-node-hid": "^4.38.6", + "@ledgerhq/hw-transport-node-hid-noevents": "^5.51.1", "babel-polyfill": "^6.26.0" } } From d0ba3320576177b6f78c25998708ba0d67979f59 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Tue, 1 Jun 2021 01:33:57 +0300 Subject: [PATCH 5/5] ci possible linux fix --- .github/workflows/main.yml | 2 ++ electron/package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 615d2e07..5a2a7ba6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -119,6 +119,8 @@ jobs: - name: Build Electron App run: | + sudo apt-get install libusb-1.0-0-dev + sudo apt install libudev-dev cd electron npm install npm run dist diff --git a/electron/package.json b/electron/package.json index 36649c63..ab3d5fb8 100755 --- a/electron/package.json +++ b/electron/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "hw-kmd-wallet-electron", - "version": "0.2.5", + "version": "0.2.6", "description": "Komodo Hardware Wallet Electron App", "main": "main.js", "scripts": {