@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.
Files changed (291) hide show
  1. package/lib/__tests__/currencies.js +1 -0
  2. package/lib/__tests__/currencies.js.map +1 -1
  3. package/lib/__tests__/families/bitcoin/logic.js +7 -7
  4. package/lib/__tests__/families/bitcoin/logic.js.map +1 -1
  5. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js +1 -2
  6. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js.map +1 -1
  7. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js +5 -3
  8. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js.map +1 -1
  9. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +9 -7
  10. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js.map +1 -1
  11. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.js +2 -1
  12. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.js.map +1 -1
  13. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.js +2 -1
  14. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.js.map +1 -1
  15. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.js +4 -2
  16. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.js.map +1 -1
  17. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.js +2 -1
  18. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.js.map +1 -1
  19. package/lib/account/helpers.d.ts.map +1 -1
  20. package/lib/account/helpers.js +8 -1
  21. package/lib/account/helpers.js.map +1 -1
  22. package/lib/account/pending.d.ts +1 -1
  23. package/lib/account/support.d.ts.map +1 -1
  24. package/lib/account/support.js +2 -1
  25. package/lib/account/support.js.map +1 -1
  26. package/lib/api/explorerConfig/index.d.ts.map +1 -1
  27. package/lib/api/explorerConfig/index.js +0 -36
  28. package/lib/api/explorerConfig/index.js.map +1 -1
  29. package/lib/bridge/jsHelpers.d.ts +2 -1
  30. package/lib/bridge/jsHelpers.d.ts.map +1 -1
  31. package/lib/bridge/jsHelpers.js +56 -43
  32. package/lib/bridge/jsHelpers.js.map +1 -1
  33. package/lib/derivation.d.ts +12 -0
  34. package/lib/derivation.d.ts.map +1 -1
  35. package/lib/derivation.js +32 -4
  36. package/lib/derivation.js.map +1 -1
  37. package/lib/env.d.ts +5 -10
  38. package/lib/env.d.ts.map +1 -1
  39. package/lib/env.js +2 -7
  40. package/lib/env.js.map +1 -1
  41. package/lib/env.react.d.ts +1 -1
  42. package/lib/env.react.d.ts.map +1 -1
  43. package/lib/errors.d.ts +3 -0
  44. package/lib/errors.d.ts.map +1 -1
  45. package/lib/errors.js +2 -1
  46. package/lib/errors.js.map +1 -1
  47. package/lib/exchange/swap/hooks/usePickDefaultAccount.d.ts.map +1 -1
  48. package/lib/exchange/swap/hooks/usePickDefaultAccount.js +48 -26
  49. package/lib/exchange/swap/hooks/usePickDefaultAccount.js.map +1 -1
  50. package/lib/exchange/swap/hooks/usePickDefaultAccount.test.js +20 -37
  51. package/lib/exchange/swap/hooks/usePickDefaultAccount.test.js.map +1 -1
  52. package/lib/families/bitcoin/bridge/libcore.d.ts.map +1 -1
  53. package/lib/families/bitcoin/bridge/libcore.js +8 -1
  54. package/lib/families/bitcoin/bridge/libcore.js.map +1 -1
  55. package/lib/families/bitcoin/bridge/mock.d.ts.map +1 -1
  56. package/lib/families/bitcoin/bridge/mock.js +3 -1
  57. package/lib/families/bitcoin/bridge/mock.js.map +1 -1
  58. package/lib/families/bitcoin/datasets/bitcoin.scanAccounts.1.d.ts.map +1 -1
  59. package/lib/families/bitcoin/datasets/bitcoin.scanAccounts.1.js +1 -1
  60. package/lib/families/bitcoin/datasets/bitcoin.scanAccounts.1.js.map +1 -1
  61. package/lib/families/bitcoin/datasets/bitcoin_cash.d.ts.map +1 -1
  62. package/lib/families/bitcoin/datasets/bitcoin_cash.js +1 -1
  63. package/lib/families/bitcoin/datasets/bitcoin_cash.js.map +1 -1
  64. package/lib/families/bitcoin/datasets/bitcoin_gold.d.ts.map +1 -1
  65. package/lib/families/bitcoin/datasets/bitcoin_gold.js +1 -1
  66. package/lib/families/bitcoin/datasets/bitcoin_gold.js.map +1 -1
  67. package/lib/families/bitcoin/datasets/dash.d.ts.map +1 -1
  68. package/lib/families/bitcoin/datasets/dash.js +1 -1
  69. package/lib/families/bitcoin/datasets/dash.js.map +1 -1
  70. package/lib/families/bitcoin/datasets/decred.d.ts.map +1 -1
  71. package/lib/families/bitcoin/datasets/decred.js +1 -1
  72. package/lib/families/bitcoin/datasets/decred.js.map +1 -1
  73. package/lib/families/bitcoin/datasets/digibyte.scanAccounts.1.d.ts.map +1 -1
  74. package/lib/families/bitcoin/datasets/digibyte.scanAccounts.1.js +1 -1
  75. package/lib/families/bitcoin/datasets/digibyte.scanAccounts.1.js.map +1 -1
  76. package/lib/families/bitcoin/datasets/dogecoin.d.ts.map +1 -1
  77. package/lib/families/bitcoin/datasets/dogecoin.js +1 -1
  78. package/lib/families/bitcoin/datasets/dogecoin.js.map +1 -1
  79. package/lib/families/bitcoin/datasets/komodo.d.ts.map +1 -1
  80. package/lib/families/bitcoin/datasets/komodo.js +1 -1
  81. package/lib/families/bitcoin/datasets/komodo.js.map +1 -1
  82. package/lib/families/bitcoin/datasets/litecoin.scanAccounts.1.d.ts.map +1 -1
  83. package/lib/families/bitcoin/datasets/litecoin.scanAccounts.1.js +1 -1
  84. package/lib/families/bitcoin/datasets/litecoin.scanAccounts.1.js.map +1 -1
  85. package/lib/families/bitcoin/datasets/peercoin.d.ts.map +1 -1
  86. package/lib/families/bitcoin/datasets/peercoin.js +1 -1
  87. package/lib/families/bitcoin/datasets/peercoin.js.map +1 -1
  88. package/lib/families/bitcoin/datasets/pivx.d.ts.map +1 -1
  89. package/lib/families/bitcoin/datasets/pivx.js +1 -1
  90. package/lib/families/bitcoin/datasets/pivx.js.map +1 -1
  91. package/lib/families/bitcoin/datasets/qtum.d.ts.map +1 -1
  92. package/lib/families/bitcoin/datasets/qtum.js +1 -1
  93. package/lib/families/bitcoin/datasets/qtum.js.map +1 -1
  94. package/lib/families/bitcoin/datasets/stakenet.d.ts.map +1 -1
  95. package/lib/families/bitcoin/datasets/stakenet.js +1 -1
  96. package/lib/families/bitcoin/datasets/stakenet.js.map +1 -1
  97. package/lib/families/bitcoin/datasets/vertcoin.d.ts.map +1 -1
  98. package/lib/families/bitcoin/datasets/vertcoin.js +1 -1
  99. package/lib/families/bitcoin/datasets/vertcoin.js.map +1 -1
  100. package/lib/families/bitcoin/datasets/viacoin.d.ts.map +1 -1
  101. package/lib/families/bitcoin/datasets/viacoin.js +1 -1
  102. package/lib/families/bitcoin/datasets/viacoin.js.map +1 -1
  103. package/lib/families/bitcoin/datasets/zcash.d.ts.map +1 -1
  104. package/lib/families/bitcoin/datasets/zcash.js +1 -1
  105. package/lib/families/bitcoin/datasets/zcash.js.map +1 -1
  106. package/lib/families/bitcoin/datasets/zencash.d.ts.map +1 -1
  107. package/lib/families/bitcoin/datasets/zencash.js +1 -1
  108. package/lib/families/bitcoin/datasets/zencash.js.map +1 -1
  109. package/lib/families/bitcoin/exchange.d.ts +1 -1
  110. package/lib/families/bitcoin/exchange.d.ts.map +1 -1
  111. package/lib/families/bitcoin/exchange.js +2 -1
  112. package/lib/families/bitcoin/exchange.js.map +1 -1
  113. package/lib/families/bitcoin/hw-getAddress.d.ts +5 -1
  114. package/lib/families/bitcoin/hw-getAddress.d.ts.map +1 -1
  115. package/lib/families/bitcoin/hw-getAddress.js +34 -18
  116. package/lib/families/bitcoin/hw-getAddress.js.map +1 -1
  117. package/lib/families/bitcoin/js-signOperation.d.ts.map +1 -1
  118. package/lib/families/bitcoin/js-signOperation.js +3 -0
  119. package/lib/families/bitcoin/js-signOperation.js.map +1 -1
  120. package/lib/families/bitcoin/js-synchronisation.d.ts +2 -2
  121. package/lib/families/bitcoin/js-synchronisation.d.ts.map +1 -1
  122. package/lib/families/bitcoin/js-synchronisation.js +24 -16
  123. package/lib/families/bitcoin/js-synchronisation.js.map +1 -1
  124. package/lib/families/bitcoin/logic.d.ts.map +1 -1
  125. package/lib/families/bitcoin/logic.js +4 -2
  126. package/lib/families/bitcoin/logic.js.map +1 -1
  127. package/lib/families/bitcoin/specs.d.ts.map +1 -1
  128. package/lib/families/bitcoin/specs.js +1 -1
  129. package/lib/families/bitcoin/specs.js.map +1 -1
  130. package/lib/families/bitcoin/types.d.ts +3 -0
  131. package/lib/families/bitcoin/types.d.ts.map +1 -1
  132. package/lib/families/bitcoin/types.js +4 -1
  133. package/lib/families/bitcoin/types.js.map +1 -1
  134. package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts +1 -2
  135. package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts.map +1 -1
  136. package/lib/families/bitcoin/wallet-btc/crypto/base.js +6 -11
  137. package/lib/families/bitcoin/wallet-btc/crypto/base.js.map +1 -1
  138. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.d.ts.map +1 -1
  139. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js.map +1 -1
  140. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts +1 -2
  141. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts.map +1 -1
  142. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js +1 -4
  143. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js.map +1 -1
  144. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts +2 -3
  145. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts.map +1 -1
  146. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js +6 -11
  147. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js.map +1 -1
  148. package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts +0 -5
  149. package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts.map +1 -1
  150. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +1 -2
  151. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
  152. package/lib/families/bitcoin/wallet-btc/crypto/zec.js +1 -4
  153. package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
  154. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +1 -2
  155. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
  156. package/lib/families/bitcoin/wallet-btc/crypto/zen.js +1 -4
  157. package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
  158. package/lib/families/bitcoin/wallet-btc/explorer/index.d.ts.map +1 -1
  159. package/lib/families/bitcoin/wallet-btc/explorer/index.js.map +1 -1
  160. package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.d.ts.map +1 -1
  161. package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.js +3 -0
  162. package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.js.map +1 -1
  163. package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.d.ts.map +1 -1
  164. package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.js +2 -0
  165. package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.js.map +1 -1
  166. package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.d.ts.map +1 -1
  167. package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.js +2 -0
  168. package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.js.map +1 -1
  169. package/lib/families/bitcoin/wallet-btc/storage/types.d.ts +1 -1
  170. package/lib/families/bitcoin/wallet-btc/storage/types.d.ts.map +1 -1
  171. package/lib/families/bitcoin/wallet-btc/utils.d.ts.map +1 -1
  172. package/lib/families/bitcoin/wallet-btc/utils.js +6 -0
  173. package/lib/families/bitcoin/wallet-btc/utils.js.map +1 -1
  174. package/lib/families/bitcoin/wallet-btc/wallet.d.ts +2 -4
  175. package/lib/families/bitcoin/wallet-btc/wallet.d.ts.map +1 -1
  176. package/lib/families/bitcoin/wallet-btc/wallet.js +24 -75
  177. package/lib/families/bitcoin/wallet-btc/wallet.js.map +1 -1
  178. package/lib/families/bitcoin/wallet-btc/xpub.d.ts +1 -1
  179. package/lib/families/bitcoin/wallet-btc/xpub.d.ts.map +1 -1
  180. package/lib/families/bitcoin/wallet-btc/xpub.js +1 -3
  181. package/lib/families/bitcoin/wallet-btc/xpub.js.map +1 -1
  182. package/lib/families/crypto_org/js-synchronisation.d.ts +2 -2
  183. package/lib/families/elrond/js-synchronisation.d.ts +2 -2
  184. package/lib/families/elrond/js-synchronisation.d.ts.map +1 -1
  185. package/lib/families/elrond/js-synchronisation.js +1 -3
  186. package/lib/families/elrond/js-synchronisation.js.map +1 -1
  187. package/lib/families/elrond/test-dataset.js +4 -4
  188. package/lib/families/elrond/test-dataset.js.map +1 -1
  189. package/lib/families/polkadot/js-synchronisation.d.ts +2 -2
  190. package/lib/families/polkadot/test-dataset.d.ts.map +1 -1
  191. package/lib/families/polkadot/test-dataset.js +606 -604
  192. package/lib/families/polkadot/test-dataset.js.map +1 -1
  193. package/lib/families/stellar/js-synchronization.d.ts +2 -2
  194. package/lib/families/tezos/bakers.whitelist-default.d.ts.map +1 -1
  195. package/lib/families/tezos/bakers.whitelist-default.js +1 -1
  196. package/lib/families/tezos/bakers.whitelist-default.js.map +1 -1
  197. package/lib/families/tron/bridge/js.d.ts.map +1 -1
  198. package/lib/families/tron/bridge/js.js +14 -5
  199. package/lib/families/tron/bridge/js.js.map +1 -1
  200. package/lib/generated/exchange.d.ts +1 -1
  201. package/lib/hw/getAddress/types.d.ts +2 -10
  202. package/lib/hw/getAddress/types.d.ts.map +1 -1
  203. package/lib/libcore/createAccountFromDevice.d.ts +2 -2
  204. package/lib/libcore/createAccountFromDevice.d.ts.map +1 -1
  205. package/lib/libcore/createAccountFromDevice.js +2 -6
  206. package/lib/libcore/createAccountFromDevice.js.map +1 -1
  207. package/lib/libcore/scanAccounts.d.ts +4 -1
  208. package/lib/libcore/scanAccounts.d.ts.map +1 -1
  209. package/lib/libcore/scanAccounts.js +35 -32
  210. package/lib/libcore/scanAccounts.js.map +1 -1
  211. package/lib/network.d.ts.map +1 -1
  212. package/lib/network.js +7 -7
  213. package/lib/network.js.map +1 -1
  214. package/package.json +31 -31
  215. package/src/__tests__/__snapshots__/all.libcore.ts.snap +352 -527
  216. package/src/__tests__/__snapshots__/csvExport.ts.snap +237 -237
  217. package/src/__tests__/__snapshots__/portfolio.ts.snap +12 -12
  218. package/src/__tests__/currencies.ts +1 -0
  219. package/src/__tests__/families/bitcoin/logic.ts +14 -21
  220. package/src/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.ts +1 -2
  221. package/src/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.ts +3 -1
  222. package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +2 -0
  223. package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.ts +1 -0
  224. package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.ts +1 -0
  225. package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.ts +2 -0
  226. package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.ts +1 -0
  227. package/src/account/helpers.ts +13 -6
  228. package/src/account/support.ts +2 -1
  229. package/src/api/explorerConfig/index.ts +0 -36
  230. package/src/bridge/jsHelpers.ts +28 -8
  231. package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +2897 -68
  232. package/src/derivation.ts +33 -2
  233. package/src/env.ts +2 -7
  234. package/src/errors.ts +5 -0
  235. package/src/exchange/swap/hooks/usePickDefaultAccount.test.ts +20 -45
  236. package/src/exchange/swap/hooks/usePickDefaultAccount.ts +23 -35
  237. package/src/families/bitcoin/bridge/libcore.ts +11 -1
  238. package/src/families/bitcoin/bridge/mock.ts +3 -1
  239. package/src/families/bitcoin/datasets/bitcoin.scanAccounts.1.ts +100 -20
  240. package/src/families/bitcoin/datasets/bitcoin_cash.ts +22 -8
  241. package/src/families/bitcoin/datasets/bitcoin_gold.ts +92 -18
  242. package/src/families/bitcoin/datasets/dash.ts +32 -2
  243. package/src/families/bitcoin/datasets/decred.ts +12 -2
  244. package/src/families/bitcoin/datasets/digibyte.scanAccounts.1.ts +84 -18
  245. package/src/families/bitcoin/datasets/dogecoin.ts +32 -2
  246. package/src/families/bitcoin/datasets/komodo.ts +42 -2
  247. package/src/families/bitcoin/datasets/litecoin.scanAccounts.1.ts +83 -19
  248. package/src/families/bitcoin/datasets/peercoin.ts +32 -2
  249. package/src/families/bitcoin/datasets/pivx.ts +33 -3
  250. package/src/families/bitcoin/datasets/qtum.ts +70 -12
  251. package/src/families/bitcoin/datasets/stakenet.ts +20 -4
  252. package/src/families/bitcoin/datasets/vertcoin.ts +86 -20
  253. package/src/families/bitcoin/datasets/viacoin.ts +48 -10
  254. package/src/families/bitcoin/datasets/zcash.ts +12 -2
  255. package/src/families/bitcoin/datasets/zencash.ts +10 -2
  256. package/src/families/bitcoin/exchange.ts +1 -0
  257. package/src/families/bitcoin/hw-getAddress.ts +41 -19
  258. package/src/families/bitcoin/js-signOperation.ts +4 -0
  259. package/src/families/bitcoin/js-synchronisation.ts +32 -22
  260. package/src/families/bitcoin/logic.ts +4 -2
  261. package/src/families/bitcoin/specs.ts +2 -1
  262. package/src/families/bitcoin/types.ts +4 -0
  263. package/src/families/bitcoin/wallet-btc/crypto/base.ts +7 -13
  264. package/src/families/bitcoin/wallet-btc/crypto/bitcoin.ts +1 -5
  265. package/src/families/bitcoin/wallet-btc/crypto/bitcoincash.ts +2 -6
  266. package/src/families/bitcoin/wallet-btc/crypto/litecoin.ts +7 -13
  267. package/src/families/bitcoin/wallet-btc/crypto/types.ts +0 -8
  268. package/src/families/bitcoin/wallet-btc/crypto/zec.ts +3 -6
  269. package/src/families/bitcoin/wallet-btc/crypto/zen.ts +2 -6
  270. package/src/families/bitcoin/wallet-btc/explorer/index.ts +2 -2
  271. package/src/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.ts +3 -1
  272. package/src/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.ts +2 -0
  273. package/src/families/bitcoin/wallet-btc/pickingstrategies/Merge.ts +2 -0
  274. package/src/families/bitcoin/wallet-btc/storage/types.ts +1 -1
  275. package/src/families/bitcoin/wallet-btc/utils.ts +6 -1
  276. package/src/families/bitcoin/wallet-btc/wallet.ts +14 -82
  277. package/src/families/bitcoin/wallet-btc/xpub.ts +2 -5
  278. package/src/families/elrond/js-synchronisation.ts +2 -4
  279. package/src/families/elrond/test-dataset.ts +3 -3
  280. package/src/families/polkadot/test-dataset.ts +627 -623
  281. package/src/families/tezos/bakers.whitelist-default.ts +0 -1
  282. package/src/families/tron/bridge/js.ts +18 -6
  283. package/src/hw/getAddress/types.ts +3 -11
  284. package/src/libcore/createAccountFromDevice.ts +4 -5
  285. package/src/libcore/scanAccounts.ts +20 -9
  286. package/src/network.ts +13 -11
  287. package/lib/families/bitcoin/datasets/stratis.d.ts +0 -5
  288. package/lib/families/bitcoin/datasets/stratis.d.ts.map +0 -1
  289. package/lib/families/bitcoin/datasets/stratis.js +0 -12
  290. package/lib/families/bitcoin/datasets/stratis.js.map +0 -1
  291. 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.5251034370469378,
9
+ 0.525103437046938,
10
10
  ],
11
11
  Array [
12
12
  "ETC",
13
13
  "1.308866527562764971671e+21",
14
14
  "995381933382484927.8290468148470691773",
15
- 0.47489656190003576,
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
- "NAS",
90
+ "NEXO",
91
91
  "58162293",
92
- "1975.45035313065469060584",
93
- 9.4249e-16,
92
+ "733.585353638926575070494",
93
+ 3.4999e-16,
94
94
  ],
95
95
  Array [
96
- "MATIC",
97
- "43091467",
98
- "77.5848000790256780254232",
99
- 3.702e-17,
96
+ "NAS",
97
+ "21465930",
98
+ "729.0785285713875558984",
99
+ 3.4784e-16,
100
100
  ],
101
101
  Array [
102
102
  "ONE",
103
- "21465930",
104
- "6.153529424137567291116",
105
- 2.94e-18,
103
+ "43091467",
104
+ "12.3528125785257375005604",
105
+ 5.89e-18,
106
106
  ],
107
107
  ]
108
108
  `;
@@ -69,6 +69,7 @@ test("sort by marketcap", () => {
69
69
  "stealthcoin",
70
70
  "ethereum/erc20/hydro_protocol",
71
71
  "ethereum/erc20/xensor",
72
+ "ethereum/erc20/xstable.protocol",
72
73
  ]);
73
74
  });
74
75
  test("can format a currency unit", () => {
@@ -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
- test("Fail on mainnet addr on bitcoin_testnet", () => {
22
- t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin_testnet", false);
23
- });
24
- test("Success on valid address", () => {
25
- t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin", true);
26
- });
27
- test("Success on valid qtum address", () => {
28
- t("xCREYTgvdk3XzFNpdXkj35fZX4hJK2Ckpd", "qtum", true);
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
- btc: new MockBtc(),
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
- btc: new MockBtc(),
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,
@@ -100,6 +100,7 @@ describe.skip("testing xpub segwit transactions", () => {
100
100
  feePerByte: 100,
101
101
  changeAddress,
102
102
  utxoPickingStrategy,
103
+ sequence: 0,
103
104
  });
104
105
 
105
106
  inputs.forEach((input, i) => {
@@ -102,6 +102,7 @@ describe.skip("testing xpub native segwit transactions", () => {
102
102
  feePerByte: 100,
103
103
  changeAddress,
104
104
  utxoPickingStrategy,
105
+ sequence: 0,
105
106
  });
106
107
 
107
108
  inputs.forEach((input, i) => {
@@ -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) => {
@@ -100,6 +100,7 @@ describe.skip("testing xpub legacy litecoin transactions", () => {
100
100
  feePerByte: 100,
101
101
  changeAddress,
102
102
  utxoPickingStrategy,
103
+ sequence: 0,
103
104
  });
104
105
 
105
106
  inputs.forEach((input) => {
@@ -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,
@@ -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" && derivationMode === "native_segwit")
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
  },
@@ -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
- (getAccountShape: GetAccountShape): CurrencyBridge["scanAccounts"] =>
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
- result = await getAddress(transport, {
298
- currency,
299
- path,
300
- derivationMode,
301
- });
302
- derivationsCache[path] = result;
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;