@ledgerhq/live-common 21.8.2 → 21.10.0-btcjs.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/currencies.js +1 -0
- package/lib/__tests__/currencies.js.map +1 -1
- package/lib/__tests__/families/bitcoin/logic.js +7 -7
- package/lib/__tests__/families/bitcoin/logic.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js +1 -2
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js +5 -3
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +9 -7
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.js +2 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.js +2 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.js +4 -2
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.js.map +1 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.js +2 -1
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.js.map +1 -1
- package/lib/account/helpers.d.ts.map +1 -1
- package/lib/account/helpers.js +8 -1
- package/lib/account/helpers.js.map +1 -1
- package/lib/account/pending.d.ts +1 -1
- package/lib/account/support.d.ts.map +1 -1
- package/lib/account/support.js +2 -1
- package/lib/account/support.js.map +1 -1
- package/lib/api/explorerConfig/index.d.ts.map +1 -1
- package/lib/api/explorerConfig/index.js +0 -36
- package/lib/api/explorerConfig/index.js.map +1 -1
- package/lib/bridge/jsHelpers.d.ts +2 -1
- package/lib/bridge/jsHelpers.d.ts.map +1 -1
- package/lib/bridge/jsHelpers.js +56 -43
- package/lib/bridge/jsHelpers.js.map +1 -1
- package/lib/derivation.d.ts +12 -0
- package/lib/derivation.d.ts.map +1 -1
- package/lib/derivation.js +32 -4
- package/lib/derivation.js.map +1 -1
- package/lib/env.d.ts +5 -10
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +2 -7
- package/lib/env.js.map +1 -1
- package/lib/env.react.d.ts +1 -1
- package/lib/env.react.d.ts.map +1 -1
- package/lib/errors.d.ts +3 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +2 -1
- package/lib/errors.js.map +1 -1
- package/lib/exchange/swap/hooks/usePickDefaultAccount.d.ts.map +1 -1
- package/lib/exchange/swap/hooks/usePickDefaultAccount.js +48 -26
- package/lib/exchange/swap/hooks/usePickDefaultAccount.js.map +1 -1
- package/lib/exchange/swap/hooks/usePickDefaultAccount.test.js +20 -37
- package/lib/exchange/swap/hooks/usePickDefaultAccount.test.js.map +1 -1
- package/lib/families/bitcoin/bridge/libcore.d.ts.map +1 -1
- package/lib/families/bitcoin/bridge/libcore.js +8 -1
- package/lib/families/bitcoin/bridge/libcore.js.map +1 -1
- package/lib/families/bitcoin/bridge/mock.d.ts.map +1 -1
- package/lib/families/bitcoin/bridge/mock.js +3 -1
- package/lib/families/bitcoin/bridge/mock.js.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin.scanAccounts.1.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin.scanAccounts.1.js +1 -1
- package/lib/families/bitcoin/datasets/bitcoin.scanAccounts.1.js.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_cash.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_cash.js +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_cash.js.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_gold.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_gold.js +1 -1
- package/lib/families/bitcoin/datasets/bitcoin_gold.js.map +1 -1
- package/lib/families/bitcoin/datasets/dash.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/dash.js +1 -1
- package/lib/families/bitcoin/datasets/dash.js.map +1 -1
- package/lib/families/bitcoin/datasets/decred.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/decred.js +1 -1
- package/lib/families/bitcoin/datasets/decred.js.map +1 -1
- package/lib/families/bitcoin/datasets/digibyte.scanAccounts.1.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/digibyte.scanAccounts.1.js +1 -1
- package/lib/families/bitcoin/datasets/digibyte.scanAccounts.1.js.map +1 -1
- package/lib/families/bitcoin/datasets/dogecoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/dogecoin.js +1 -1
- package/lib/families/bitcoin/datasets/dogecoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/komodo.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/komodo.js +1 -1
- package/lib/families/bitcoin/datasets/komodo.js.map +1 -1
- package/lib/families/bitcoin/datasets/litecoin.scanAccounts.1.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/litecoin.scanAccounts.1.js +1 -1
- package/lib/families/bitcoin/datasets/litecoin.scanAccounts.1.js.map +1 -1
- package/lib/families/bitcoin/datasets/peercoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/peercoin.js +1 -1
- package/lib/families/bitcoin/datasets/peercoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/pivx.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/pivx.js +1 -1
- package/lib/families/bitcoin/datasets/pivx.js.map +1 -1
- package/lib/families/bitcoin/datasets/qtum.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/qtum.js +1 -1
- package/lib/families/bitcoin/datasets/qtum.js.map +1 -1
- package/lib/families/bitcoin/datasets/stakenet.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/stakenet.js +1 -1
- package/lib/families/bitcoin/datasets/stakenet.js.map +1 -1
- package/lib/families/bitcoin/datasets/vertcoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/vertcoin.js +1 -1
- package/lib/families/bitcoin/datasets/vertcoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/viacoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/viacoin.js +1 -1
- package/lib/families/bitcoin/datasets/viacoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/zcash.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/zcash.js +1 -1
- package/lib/families/bitcoin/datasets/zcash.js.map +1 -1
- package/lib/families/bitcoin/datasets/zencash.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/zencash.js +1 -1
- package/lib/families/bitcoin/datasets/zencash.js.map +1 -1
- package/lib/families/bitcoin/exchange.d.ts +1 -1
- package/lib/families/bitcoin/exchange.d.ts.map +1 -1
- package/lib/families/bitcoin/exchange.js +2 -1
- package/lib/families/bitcoin/exchange.js.map +1 -1
- package/lib/families/bitcoin/hw-getAddress.d.ts +5 -1
- package/lib/families/bitcoin/hw-getAddress.d.ts.map +1 -1
- package/lib/families/bitcoin/hw-getAddress.js +34 -18
- package/lib/families/bitcoin/hw-getAddress.js.map +1 -1
- package/lib/families/bitcoin/js-signOperation.d.ts.map +1 -1
- package/lib/families/bitcoin/js-signOperation.js +3 -0
- package/lib/families/bitcoin/js-signOperation.js.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.d.ts +2 -2
- package/lib/families/bitcoin/js-synchronisation.d.ts.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.js +24 -16
- package/lib/families/bitcoin/js-synchronisation.js.map +1 -1
- package/lib/families/bitcoin/logic.d.ts.map +1 -1
- package/lib/families/bitcoin/logic.js +4 -2
- package/lib/families/bitcoin/logic.js.map +1 -1
- package/lib/families/bitcoin/specs.d.ts.map +1 -1
- package/lib/families/bitcoin/specs.js +1 -1
- package/lib/families/bitcoin/specs.js.map +1 -1
- package/lib/families/bitcoin/types.d.ts +3 -0
- package/lib/families/bitcoin/types.d.ts.map +1 -1
- package/lib/families/bitcoin/types.js +4 -1
- package/lib/families/bitcoin/types.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts +1 -2
- package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/base.js +6 -11
- package/lib/families/bitcoin/wallet-btc/crypto/base.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts +1 -2
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js +1 -4
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts +2 -3
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js +6 -11
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts +0 -5
- package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +1 -2
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js +1 -4
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +1 -2
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js +1 -4
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/explorer/index.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/explorer/index.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.js +3 -0
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.js +2 -0
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.js +2 -0
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/storage/types.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/storage/types.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/utils.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/utils.js +6 -0
- package/lib/families/bitcoin/wallet-btc/utils.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts +2 -4
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.js +24 -75
- package/lib/families/bitcoin/wallet-btc/wallet.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.js +1 -3
- package/lib/families/bitcoin/wallet-btc/xpub.js.map +1 -1
- package/lib/families/crypto_org/js-synchronisation.d.ts +2 -2
- package/lib/families/elrond/js-synchronisation.d.ts +2 -2
- package/lib/families/elrond/js-synchronisation.d.ts.map +1 -1
- package/lib/families/elrond/js-synchronisation.js +1 -3
- package/lib/families/elrond/js-synchronisation.js.map +1 -1
- package/lib/families/elrond/test-dataset.js +4 -4
- package/lib/families/elrond/test-dataset.js.map +1 -1
- package/lib/families/polkadot/js-synchronisation.d.ts +2 -2
- package/lib/families/polkadot/test-dataset.d.ts.map +1 -1
- package/lib/families/polkadot/test-dataset.js +606 -604
- package/lib/families/polkadot/test-dataset.js.map +1 -1
- package/lib/families/stellar/js-synchronization.d.ts +2 -2
- package/lib/families/tezos/bakers.whitelist-default.d.ts.map +1 -1
- package/lib/families/tezos/bakers.whitelist-default.js +1 -1
- package/lib/families/tezos/bakers.whitelist-default.js.map +1 -1
- package/lib/families/tron/bridge/js.d.ts.map +1 -1
- package/lib/families/tron/bridge/js.js +14 -5
- package/lib/families/tron/bridge/js.js.map +1 -1
- package/lib/generated/exchange.d.ts +1 -1
- package/lib/hw/getAddress/types.d.ts +2 -10
- package/lib/hw/getAddress/types.d.ts.map +1 -1
- package/lib/libcore/createAccountFromDevice.d.ts +2 -2
- package/lib/libcore/createAccountFromDevice.d.ts.map +1 -1
- package/lib/libcore/createAccountFromDevice.js +2 -6
- package/lib/libcore/createAccountFromDevice.js.map +1 -1
- package/lib/libcore/scanAccounts.d.ts +4 -1
- package/lib/libcore/scanAccounts.d.ts.map +1 -1
- package/lib/libcore/scanAccounts.js +35 -32
- package/lib/libcore/scanAccounts.js.map +1 -1
- package/lib/network.d.ts.map +1 -1
- package/lib/network.js +7 -7
- package/lib/network.js.map +1 -1
- package/package.json +31 -31
- package/src/__tests__/__snapshots__/all.libcore.ts.snap +352 -527
- package/src/__tests__/__snapshots__/csvExport.ts.snap +237 -237
- package/src/__tests__/__snapshots__/portfolio.ts.snap +12 -12
- package/src/__tests__/currencies.ts +1 -0
- package/src/__tests__/families/bitcoin/logic.ts +14 -21
- package/src/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.ts +1 -2
- package/src/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.ts +3 -1
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +2 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.ts +1 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.ts +1 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.ts +2 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.ts +1 -0
- package/src/account/helpers.ts +13 -6
- package/src/account/support.ts +2 -1
- package/src/api/explorerConfig/index.ts +0 -36
- package/src/bridge/jsHelpers.ts +28 -8
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +2897 -68
- package/src/derivation.ts +33 -2
- package/src/env.ts +2 -7
- package/src/errors.ts +5 -0
- package/src/exchange/swap/hooks/usePickDefaultAccount.test.ts +20 -45
- package/src/exchange/swap/hooks/usePickDefaultAccount.ts +23 -35
- package/src/families/bitcoin/bridge/libcore.ts +11 -1
- package/src/families/bitcoin/bridge/mock.ts +3 -1
- package/src/families/bitcoin/datasets/bitcoin.scanAccounts.1.ts +100 -20
- package/src/families/bitcoin/datasets/bitcoin_cash.ts +22 -8
- package/src/families/bitcoin/datasets/bitcoin_gold.ts +92 -18
- package/src/families/bitcoin/datasets/dash.ts +32 -2
- package/src/families/bitcoin/datasets/decred.ts +12 -2
- package/src/families/bitcoin/datasets/digibyte.scanAccounts.1.ts +84 -18
- package/src/families/bitcoin/datasets/dogecoin.ts +32 -2
- package/src/families/bitcoin/datasets/komodo.ts +42 -2
- package/src/families/bitcoin/datasets/litecoin.scanAccounts.1.ts +83 -19
- package/src/families/bitcoin/datasets/peercoin.ts +32 -2
- package/src/families/bitcoin/datasets/pivx.ts +33 -3
- package/src/families/bitcoin/datasets/qtum.ts +70 -12
- package/src/families/bitcoin/datasets/stakenet.ts +20 -4
- package/src/families/bitcoin/datasets/vertcoin.ts +86 -20
- package/src/families/bitcoin/datasets/viacoin.ts +48 -10
- package/src/families/bitcoin/datasets/zcash.ts +12 -2
- package/src/families/bitcoin/datasets/zencash.ts +10 -2
- package/src/families/bitcoin/exchange.ts +1 -0
- package/src/families/bitcoin/hw-getAddress.ts +41 -19
- package/src/families/bitcoin/js-signOperation.ts +4 -0
- package/src/families/bitcoin/js-synchronisation.ts +32 -22
- package/src/families/bitcoin/logic.ts +4 -2
- package/src/families/bitcoin/specs.ts +2 -1
- package/src/families/bitcoin/types.ts +4 -0
- package/src/families/bitcoin/wallet-btc/crypto/base.ts +7 -13
- package/src/families/bitcoin/wallet-btc/crypto/bitcoin.ts +1 -5
- package/src/families/bitcoin/wallet-btc/crypto/bitcoincash.ts +2 -6
- package/src/families/bitcoin/wallet-btc/crypto/litecoin.ts +7 -13
- package/src/families/bitcoin/wallet-btc/crypto/types.ts +0 -8
- package/src/families/bitcoin/wallet-btc/crypto/zec.ts +3 -6
- package/src/families/bitcoin/wallet-btc/crypto/zen.ts +2 -6
- package/src/families/bitcoin/wallet-btc/explorer/index.ts +2 -2
- package/src/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.ts +3 -1
- package/src/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.ts +2 -0
- package/src/families/bitcoin/wallet-btc/pickingstrategies/Merge.ts +2 -0
- package/src/families/bitcoin/wallet-btc/storage/types.ts +1 -1
- package/src/families/bitcoin/wallet-btc/utils.ts +6 -1
- package/src/families/bitcoin/wallet-btc/wallet.ts +14 -82
- package/src/families/bitcoin/wallet-btc/xpub.ts +2 -5
- package/src/families/elrond/js-synchronisation.ts +2 -4
- package/src/families/elrond/test-dataset.ts +3 -3
- package/src/families/polkadot/test-dataset.ts +627 -623
- package/src/families/tezos/bakers.whitelist-default.ts +0 -1
- package/src/families/tron/bridge/js.ts +18 -6
- package/src/hw/getAddress/types.ts +3 -11
- package/src/libcore/createAccountFromDevice.ts +4 -5
- package/src/libcore/scanAccounts.ts +20 -9
- package/src/network.ts +13 -11
- package/lib/families/bitcoin/datasets/stratis.d.ts +0 -5
- package/lib/families/bitcoin/datasets/stratis.d.ts.map +0 -1
- package/lib/families/bitcoin/datasets/stratis.js +0 -12
- package/lib/families/bitcoin/datasets/stratis.js.map +0 -1
- package/src/families/bitcoin/datasets/stratis.ts +0 -24
|
@@ -6,13 +6,13 @@ Array [
|
|
|
6
6
|
"ETH",
|
|
7
7
|
"45576946679992284984",
|
|
8
8
|
"1100615410442982129.195708479262007296",
|
|
9
|
-
0.
|
|
9
|
+
0.525103437046938,
|
|
10
10
|
],
|
|
11
11
|
Array [
|
|
12
12
|
"ETC",
|
|
13
13
|
"1.308866527562764971671e+21",
|
|
14
14
|
"995381933382484927.8290468148470691773",
|
|
15
|
-
0.
|
|
15
|
+
0.4748965619000359,
|
|
16
16
|
],
|
|
17
17
|
Array [
|
|
18
18
|
"BTC",
|
|
@@ -87,22 +87,22 @@ Array [
|
|
|
87
87
|
1.740995e-14,
|
|
88
88
|
],
|
|
89
89
|
Array [
|
|
90
|
-
"
|
|
90
|
+
"NEXO",
|
|
91
91
|
"58162293",
|
|
92
|
-
"
|
|
93
|
-
|
|
92
|
+
"733.585353638926575070494",
|
|
93
|
+
3.4999e-16,
|
|
94
94
|
],
|
|
95
95
|
Array [
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
3.
|
|
96
|
+
"NAS",
|
|
97
|
+
"21465930",
|
|
98
|
+
"729.0785285713875558984",
|
|
99
|
+
3.4784e-16,
|
|
100
100
|
],
|
|
101
101
|
Array [
|
|
102
102
|
"ONE",
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
|
|
103
|
+
"43091467",
|
|
104
|
+
"12.3528125785257375005604",
|
|
105
|
+
5.89e-18,
|
|
106
106
|
],
|
|
107
107
|
]
|
|
108
108
|
`;
|
|
@@ -15,26 +15,19 @@ describe("Test isValidRecipient", () => {
|
|
|
15
15
|
).rejects.toBeInstanceOf(InvalidAddress);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
test("Fail on non-existing currency", () =>
|
|
19
|
-
t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "ontology", false);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
test("Success on valid address", () =>
|
|
25
|
-
t("
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
test("Fail on invalid qtum address", () => {
|
|
31
|
-
t("xCREYTgvdk3XzFNpdXkj35fZX4hJK2Ckpe", "qtum", false);
|
|
32
|
-
});
|
|
33
|
-
test("Fail on invalid bch address", () => {
|
|
34
|
-
t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg3", "bitcoin_cash", false);
|
|
35
|
-
});
|
|
18
|
+
test("Fail on non-existing currency", () =>
|
|
19
|
+
t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "ontology", false));
|
|
20
|
+
test("Fail on mainnet addr on bitcoin_testnet", () =>
|
|
21
|
+
t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin_testnet", false));
|
|
22
|
+
test("Success on valid address", () =>
|
|
23
|
+
t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin", true));
|
|
24
|
+
test("Success on valid qtum address", () =>
|
|
25
|
+
t("xCREYTgvdk3XzFNpdXkj35fZX4hJK2Ckpd", "qtum", true));
|
|
26
|
+
test("Fail on invalid qtum address", () =>
|
|
27
|
+
t("xCREYTgvdk3XzFNpdXkj35fZX4hJK2Ckpe", "qtum", false));
|
|
28
|
+
test("Fail on invalid bch address", () =>
|
|
29
|
+
t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg3", "bitcoin_cash", false));
|
|
36
30
|
// TODO Enable once fixed in wallet-btc
|
|
37
|
-
test.skip("Success on valid bch address", () =>
|
|
38
|
-
t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg2", "bitcoin_cash", true);
|
|
39
|
-
});
|
|
31
|
+
test.skip("Success on valid bch address", () =>
|
|
32
|
+
t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg2", "bitcoin_cash", true));
|
|
40
33
|
});
|
|
@@ -2,14 +2,13 @@ import { DerivationModes } from "../../../../families/bitcoin/wallet-btc/types";
|
|
|
2
2
|
import BitcoinLikeWallet from "../../../../families/bitcoin/wallet-btc/wallet";
|
|
3
3
|
import * as utils from "../../../../families/bitcoin/wallet-btc/utils";
|
|
4
4
|
import { Account } from "../../../../families/bitcoin/wallet-btc/account";
|
|
5
|
-
import MockBtc from "../../../../mock/Btc";
|
|
6
5
|
|
|
7
6
|
describe("testing estimateMaxSpendable", () => {
|
|
8
7
|
const wallet = new BitcoinLikeWallet();
|
|
9
8
|
let account: Account;
|
|
10
9
|
it("should generate an account", async () => {
|
|
11
10
|
account = await wallet.generateAccount({
|
|
12
|
-
|
|
11
|
+
xpub: "xpub6CV2NfQJYxHn7MbSQjQip3JMjTZGUbeoKz5xqkBftSZZPc7ssVPdjKrgh6N8U1zoQDxtSo6jLarYAQahpd35SJoUKokfqf1DZgdJWZhSMqP",
|
|
13
12
|
path: "44'/0'",
|
|
14
13
|
index: 0,
|
|
15
14
|
currency: "bitcoin",
|
|
@@ -10,7 +10,7 @@ describe("testing wallet", () => {
|
|
|
10
10
|
let account: Account;
|
|
11
11
|
it("should generate an account", async () => {
|
|
12
12
|
account = await wallet.generateAccount({
|
|
13
|
-
|
|
13
|
+
xpub: "xpub6CV2NfQJYxHn7MbSQjQip3JMjTZGUbeoKz5xqkBftSZZPc7ssVPdjKrgh6N8U1zoQDxtSo6jLarYAQahpd35SJoUKokfqf1DZgdJWZhSMqP",
|
|
14
14
|
path: "44'/0'",
|
|
15
15
|
index: 0,
|
|
16
16
|
currency: "bitcoin",
|
|
@@ -56,6 +56,7 @@ describe("testing wallet", () => {
|
|
|
56
56
|
amount: new BigNumber(100000),
|
|
57
57
|
feePerByte: 5,
|
|
58
58
|
utxoPickingStrategy,
|
|
59
|
+
sequence: 0,
|
|
59
60
|
});
|
|
60
61
|
const tx = await wallet.signAccountTx({
|
|
61
62
|
btc: new MockBtc(),
|
|
@@ -79,6 +80,7 @@ describe("testing wallet", () => {
|
|
|
79
80
|
amount: new BigNumber(100000),
|
|
80
81
|
feePerByte: 5,
|
|
81
82
|
utxoPickingStrategy,
|
|
83
|
+
sequence: 0,
|
|
82
84
|
});
|
|
83
85
|
const tx = await wallet.signAccountTx({
|
|
84
86
|
btc: new MockBtc(),
|
|
@@ -89,6 +89,7 @@ describe("xpub integration sync", () => {
|
|
|
89
89
|
coin: "bch",
|
|
90
90
|
explorerVersion: "v3",
|
|
91
91
|
},
|
|
92
|
+
/*
|
|
92
93
|
{
|
|
93
94
|
xpub: "xpub6CThYZbX4PTeA7KRYZ8YXP3F6HwT2eVKPQap3Avieds3p1eos35UzSsJtTbJ3vQ8d3fjRwk4bCEz4m4H6mkFW49q29ZZ6gS8tvahs4WCZ9X", // 138sec,
|
|
94
95
|
derivationMode: DerivationModes.LEGACY,
|
|
@@ -98,6 +99,7 @@ describe("xpub integration sync", () => {
|
|
|
98
99
|
coin: "btc",
|
|
99
100
|
explorerVersion: "v3",
|
|
100
101
|
},
|
|
102
|
+
*/
|
|
101
103
|
{
|
|
102
104
|
xpub: "Ltub2ZgHGhWdGi2jacCdKEy3qddYxH4bpDtmueiPWkG8267Z9K8yQEExapyNi1y4Qp7f79JN8468uE9V3nizpPU27WEDfXrtqpkp84MyhhCDTNk",
|
|
103
105
|
addresses: 5,
|
|
@@ -108,6 +108,7 @@ describe.skip("testing xpub legacy transactions", () => {
|
|
|
108
108
|
feePerByte: 100,
|
|
109
109
|
changeAddress,
|
|
110
110
|
utxoPickingStrategy,
|
|
111
|
+
sequence: 0,
|
|
111
112
|
});
|
|
112
113
|
|
|
113
114
|
inputs.forEach((i: InputInfo) => {
|
|
@@ -225,6 +226,7 @@ describe.skip("testing xpub legacy transactions", () => {
|
|
|
225
226
|
feePerByte: 100,
|
|
226
227
|
changeAddress,
|
|
227
228
|
utxoPickingStrategy,
|
|
229
|
+
sequence: 0,
|
|
228
230
|
});
|
|
229
231
|
|
|
230
232
|
inputs.forEach((i) => {
|
package/src/account/helpers.ts
CHANGED
|
@@ -13,6 +13,8 @@ import { getEnv } from "../env";
|
|
|
13
13
|
import { encodeTokenAccountId } from "./accountId";
|
|
14
14
|
import { emptyHistoryCache } from "./balanceHistoryCache";
|
|
15
15
|
import { isAccountDelegating } from "../families/tezos/bakers";
|
|
16
|
+
import { initialBitcoinResourcesValue } from "../families/bitcoin/types";
|
|
17
|
+
|
|
16
18
|
// by convention, a main account is the top level account
|
|
17
19
|
// in case of an Account is the account itself
|
|
18
20
|
// in case of a TokenAccount it's the parentAccount
|
|
@@ -128,13 +130,9 @@ export function clearAccount<T extends AccountLike>(account: T): T {
|
|
|
128
130
|
};
|
|
129
131
|
}
|
|
130
132
|
|
|
131
|
-
const copy = {
|
|
133
|
+
const copy: Account = {
|
|
132
134
|
...account,
|
|
133
135
|
balanceHistoryCache: emptyHistoryCache,
|
|
134
|
-
tronResources: (account as Account).tronResources && {
|
|
135
|
-
...(account as Account).tronResources,
|
|
136
|
-
cacheTransactionInfoById: {},
|
|
137
|
-
},
|
|
138
136
|
lastSyncDate: new Date(0),
|
|
139
137
|
operations: [],
|
|
140
138
|
pendingOperations: [],
|
|
@@ -142,8 +140,17 @@ export function clearAccount<T extends AccountLike>(account: T): T {
|
|
|
142
140
|
(account as Account).subAccounts &&
|
|
143
141
|
(account as Account).subAccounts?.map(clearAccount),
|
|
144
142
|
};
|
|
143
|
+
if (copy.tronResources) {
|
|
144
|
+
copy.tronResources = {
|
|
145
|
+
...copy.tronResources,
|
|
146
|
+
cacheTransactionInfoById: {},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
if (copy.bitcoinResources) {
|
|
150
|
+
copy.bitcoinResources = initialBitcoinResourcesValue;
|
|
151
|
+
}
|
|
145
152
|
delete copy.balanceHistory;
|
|
146
|
-
return copy;
|
|
153
|
+
return copy as T;
|
|
147
154
|
}
|
|
148
155
|
export function findSubAccountById(
|
|
149
156
|
account: Account,
|
package/src/account/support.ts
CHANGED
|
@@ -74,7 +74,8 @@ export const shouldShowNewAccount = (
|
|
|
74
74
|
// native segwit being not yet supported everywhere, segwit is always available for creation
|
|
75
75
|
if (
|
|
76
76
|
derivationMode === "segwit" ||
|
|
77
|
-
(currency.family === "bitcoin" &&
|
|
77
|
+
(currency.family === "bitcoin" &&
|
|
78
|
+
(derivationMode === "native_segwit" || derivationMode === "taproot"))
|
|
78
79
|
)
|
|
79
80
|
return true;
|
|
80
81
|
return false;
|
|
@@ -27,10 +27,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
27
27
|
bitcoin_gold: {
|
|
28
28
|
id: "btg",
|
|
29
29
|
stable: {
|
|
30
|
-
base: "EXPLORER",
|
|
31
|
-
version: "v2",
|
|
32
|
-
},
|
|
33
|
-
experimental: {
|
|
34
30
|
base: "EXPLORER",
|
|
35
31
|
version: "v3",
|
|
36
32
|
},
|
|
@@ -60,10 +56,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
60
56
|
digibyte: {
|
|
61
57
|
id: "dgb",
|
|
62
58
|
stable: {
|
|
63
|
-
base: "EXPLORER",
|
|
64
|
-
version: "v2",
|
|
65
|
-
},
|
|
66
|
-
experimental: {
|
|
67
59
|
base: "EXPLORER",
|
|
68
60
|
version: "v3",
|
|
69
61
|
},
|
|
@@ -108,10 +100,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
108
100
|
peercoin: {
|
|
109
101
|
id: "ppc",
|
|
110
102
|
stable: {
|
|
111
|
-
base: "EXPLORER",
|
|
112
|
-
version: "v2",
|
|
113
|
-
},
|
|
114
|
-
experimental: {
|
|
115
103
|
base: "EXPLORER",
|
|
116
104
|
version: "v3",
|
|
117
105
|
},
|
|
@@ -119,10 +107,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
119
107
|
pivx: {
|
|
120
108
|
id: "pivx",
|
|
121
109
|
stable: {
|
|
122
|
-
base: "EXPLORER",
|
|
123
|
-
version: "v2",
|
|
124
|
-
},
|
|
125
|
-
experimental: {
|
|
126
110
|
base: "EXPLORER",
|
|
127
111
|
version: "v3",
|
|
128
112
|
},
|
|
@@ -138,10 +122,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
138
122
|
qtum: {
|
|
139
123
|
id: "qtum",
|
|
140
124
|
stable: {
|
|
141
|
-
base: "EXPLORER",
|
|
142
|
-
version: "v2",
|
|
143
|
-
},
|
|
144
|
-
experimental: {
|
|
145
125
|
base: "EXPLORER",
|
|
146
126
|
version: "v3",
|
|
147
127
|
},
|
|
@@ -174,10 +154,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
174
154
|
vertcoin: {
|
|
175
155
|
id: "vtc",
|
|
176
156
|
stable: {
|
|
177
|
-
base: "EXPLORER",
|
|
178
|
-
version: "v2",
|
|
179
|
-
},
|
|
180
|
-
experimental: {
|
|
181
157
|
base: "EXPLORER",
|
|
182
158
|
version: "v3",
|
|
183
159
|
},
|
|
@@ -185,10 +161,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
185
161
|
viacoin: {
|
|
186
162
|
id: "via",
|
|
187
163
|
stable: {
|
|
188
|
-
base: "EXPLORER",
|
|
189
|
-
version: "v2",
|
|
190
|
-
},
|
|
191
|
-
experimental: {
|
|
192
164
|
base: "EXPLORER",
|
|
193
165
|
version: "v3",
|
|
194
166
|
},
|
|
@@ -196,10 +168,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
196
168
|
zcash: {
|
|
197
169
|
id: "zec",
|
|
198
170
|
stable: {
|
|
199
|
-
base: "EXPLORER",
|
|
200
|
-
version: "v2",
|
|
201
|
-
},
|
|
202
|
-
experimental: {
|
|
203
171
|
base: "EXPLORER",
|
|
204
172
|
version: "v3",
|
|
205
173
|
},
|
|
@@ -207,10 +175,6 @@ const initialExplorerConfig: FullConfig = {
|
|
|
207
175
|
zencash: {
|
|
208
176
|
id: "zen",
|
|
209
177
|
stable: {
|
|
210
|
-
base: "EXPLORER",
|
|
211
|
-
version: "v2",
|
|
212
|
-
},
|
|
213
|
-
experimental: {
|
|
214
178
|
base: "EXPLORER",
|
|
215
179
|
version: "v3",
|
|
216
180
|
},
|
package/src/bridge/jsHelpers.ts
CHANGED
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
recalculateAccountBalanceHistories,
|
|
27
27
|
encodeAccountId,
|
|
28
28
|
} from "../account";
|
|
29
|
-
import { FreshAddressIndexInvalid } from "../errors";
|
|
29
|
+
import { FreshAddressIndexInvalid, UnsupportedDerivation } from "../errors";
|
|
30
30
|
import type {
|
|
31
31
|
Operation,
|
|
32
32
|
Account,
|
|
@@ -37,6 +37,7 @@ import type {
|
|
|
37
37
|
} from "../types";
|
|
38
38
|
import type { CurrencyBridge, AccountBridge } from "../types/bridge";
|
|
39
39
|
import getAddress from "../hw/getAddress";
|
|
40
|
+
import type { Result, GetAddressOptions } from "../hw/getAddress/types";
|
|
40
41
|
import { open, close } from "../hw";
|
|
41
42
|
import { withDevice } from "../hw/deviceAccess";
|
|
42
43
|
|
|
@@ -183,7 +184,12 @@ export const makeSync =
|
|
|
183
184
|
});
|
|
184
185
|
|
|
185
186
|
export const makeScanAccounts =
|
|
186
|
-
(
|
|
187
|
+
(
|
|
188
|
+
getAccountShape: GetAccountShape,
|
|
189
|
+
getAddressFn?: (
|
|
190
|
+
transport: Transport
|
|
191
|
+
) => (opts: GetAddressOptions) => Promise<Result>
|
|
192
|
+
): CurrencyBridge["scanAccounts"] =>
|
|
187
193
|
({ currency, deviceId, syncConfig }): Observable<ScanAccountEvent> =>
|
|
188
194
|
Observable.create((o) => {
|
|
189
195
|
let finished = false;
|
|
@@ -282,6 +288,9 @@ export const makeScanAccounts =
|
|
|
282
288
|
|
|
283
289
|
try {
|
|
284
290
|
transport = await open(deviceId);
|
|
291
|
+
const getAddr = getAddressFn
|
|
292
|
+
? getAddressFn(transport)
|
|
293
|
+
: (opts) => getAddress(transport, opts);
|
|
285
294
|
const derivationModes = getDerivationModesForCurrency(currency);
|
|
286
295
|
|
|
287
296
|
for (const derivationMode of derivationModes) {
|
|
@@ -294,12 +303,23 @@ export const makeScanAccounts =
|
|
|
294
303
|
let result = derivationsCache[path];
|
|
295
304
|
|
|
296
305
|
if (!result) {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
306
|
+
try {
|
|
307
|
+
result = await getAddr({
|
|
308
|
+
currency,
|
|
309
|
+
path,
|
|
310
|
+
derivationMode,
|
|
311
|
+
});
|
|
312
|
+
derivationsCache[path] = result;
|
|
313
|
+
} catch (e) {
|
|
314
|
+
if (e instanceof UnsupportedDerivation) {
|
|
315
|
+
log(
|
|
316
|
+
"scanAccounts",
|
|
317
|
+
"ignore derivationMode=" + derivationMode
|
|
318
|
+
);
|
|
319
|
+
continue;
|
|
320
|
+
}
|
|
321
|
+
throw e;
|
|
322
|
+
}
|
|
303
323
|
}
|
|
304
324
|
|
|
305
325
|
if (!result) continue;
|