@ledgerhq/live-common 21.5.1-btcjs.3 → 21.7.1

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 (489) hide show
  1. package/lib/__tests__/test-helpers/bridge.js +2 -2
  2. package/lib/__tests__/test-helpers/bridge.js.map +1 -1
  3. package/lib/account/addAccounts.d.ts.map +1 -1
  4. package/lib/account/addAccounts.js +1 -2
  5. package/lib/account/addAccounts.js.map +1 -1
  6. package/lib/account/formatters.js +2 -2
  7. package/lib/account/formatters.js.map +1 -1
  8. package/lib/account/support.d.ts.map +1 -1
  9. package/lib/account/support.js +1 -24
  10. package/lib/account/support.js.map +1 -1
  11. package/lib/api/explorerConfig/index.d.ts.map +1 -1
  12. package/lib/api/explorerConfig/index.js +0 -43
  13. package/lib/api/explorerConfig/index.js.map +1 -1
  14. package/lib/bot/engine.js +1 -1
  15. package/lib/bot/index.d.ts +1 -2
  16. package/lib/bot/index.d.ts.map +1 -1
  17. package/lib/bot/index.js +38 -21
  18. package/lib/bot/index.js.map +1 -1
  19. package/lib/bot/test.bot.js +1 -4
  20. package/lib/bot/test.bot.js.map +1 -1
  21. package/lib/bridge/jsHelpers.d.ts +2 -6
  22. package/lib/bridge/jsHelpers.d.ts.map +1 -1
  23. package/lib/bridge/jsHelpers.js +9 -22
  24. package/lib/bridge/jsHelpers.js.map +1 -1
  25. package/lib/cross.d.ts.map +1 -1
  26. package/lib/cross.js +2 -28
  27. package/lib/cross.js.map +1 -1
  28. package/lib/env.d.ts +10 -5
  29. package/lib/env.d.ts.map +1 -1
  30. package/lib/env.js +5 -0
  31. package/lib/env.js.map +1 -1
  32. package/lib/env.react.d.ts +1 -1
  33. package/lib/env.react.d.ts.map +1 -1
  34. package/lib/exchange/swap/getKYCStatus.d.ts.map +1 -1
  35. package/lib/exchange/swap/getKYCStatus.js +11 -5
  36. package/lib/exchange/swap/getKYCStatus.js.map +1 -1
  37. package/lib/exchange/swap/mock.d.ts +2 -1
  38. package/lib/exchange/swap/mock.d.ts.map +1 -1
  39. package/lib/exchange/swap/mock.js +15 -1
  40. package/lib/exchange/swap/mock.js.map +1 -1
  41. package/lib/families/bitcoin/account.d.ts.map +1 -1
  42. package/lib/families/bitcoin/account.js +2 -3
  43. package/lib/families/bitcoin/account.js.map +1 -1
  44. package/lib/families/bitcoin/datasets/bitcoin.js +6 -6
  45. package/lib/families/bitcoin/datasets/bitcoin.js.map +1 -1
  46. package/lib/families/bitcoin/datasets/litecoin.js +3 -3
  47. package/lib/families/bitcoin/datasets/litecoin.js.map +1 -1
  48. package/lib/families/bitcoin/serialization.d.ts +2 -2
  49. package/lib/families/bitcoin/serialization.d.ts.map +1 -1
  50. package/lib/families/bitcoin/serialization.js +4 -8
  51. package/lib/families/bitcoin/serialization.js.map +1 -1
  52. package/lib/families/bitcoin/specs.d.ts +2 -0
  53. package/lib/families/bitcoin/specs.d.ts.map +1 -1
  54. package/lib/families/bitcoin/specs.js +34 -28
  55. package/lib/families/bitcoin/specs.js.map +1 -1
  56. package/lib/families/bitcoin/speculos-deviceActions.js +2 -2
  57. package/lib/families/bitcoin/speculos-deviceActions.js.map +1 -1
  58. package/lib/families/bitcoin/test-dataset.js +1 -1
  59. package/lib/families/bitcoin/test-dataset.js.map +1 -1
  60. package/lib/families/bitcoin/transaction.d.ts +3 -3
  61. package/lib/families/bitcoin/transaction.d.ts.map +1 -1
  62. package/lib/families/bitcoin/transaction.js +61 -64
  63. package/lib/families/bitcoin/transaction.js.map +1 -1
  64. package/lib/families/bitcoin/types.d.ts +36 -66
  65. package/lib/families/bitcoin/types.d.ts.map +1 -1
  66. package/lib/families/bitcoin/types.js +1 -16
  67. package/lib/families/bitcoin/types.js.map +1 -1
  68. package/lib/families/crypto_org/js-synchronisation.d.ts.map +1 -1
  69. package/lib/families/crypto_org/js-synchronisation.js +5 -13
  70. package/lib/families/crypto_org/js-synchronisation.js.map +1 -1
  71. package/lib/families/elrond/js-synchronisation.d.ts.map +1 -1
  72. package/lib/families/elrond/js-synchronisation.js +4 -12
  73. package/lib/families/elrond/js-synchronisation.js.map +1 -1
  74. package/lib/families/elrond/logic.js +22 -3
  75. package/lib/families/elrond/logic.js.map +1 -1
  76. package/lib/families/elrond/test-dataset.d.ts.map +1 -1
  77. package/lib/families/elrond/test-dataset.js +79 -76
  78. package/lib/families/elrond/test-dataset.js.map +1 -1
  79. package/lib/families/ethereum/synchronisation.d.ts.map +1 -1
  80. package/lib/families/ethereum/synchronisation.js +5 -14
  81. package/lib/families/ethereum/synchronisation.js.map +1 -1
  82. package/lib/families/ethereum/test-dataset.d.ts.map +1 -1
  83. package/lib/families/ethereum/test-dataset.js +2 -3
  84. package/lib/families/ethereum/test-dataset.js.map +1 -1
  85. package/lib/families/polkadot/js-synchronisation.d.ts.map +1 -1
  86. package/lib/families/polkadot/js-synchronisation.js +4 -12
  87. package/lib/families/polkadot/js-synchronisation.js.map +1 -1
  88. package/lib/families/stellar/js-synchronization.d.ts.map +1 -1
  89. package/lib/families/stellar/js-synchronization.js +4 -12
  90. package/lib/families/stellar/js-synchronization.js.map +1 -1
  91. package/lib/families/tezos/synchronisation.d.ts.map +1 -1
  92. package/lib/families/tezos/synchronisation.js +7 -19
  93. package/lib/families/tezos/synchronisation.js.map +1 -1
  94. package/lib/generated/bridge/js.d.ts +0 -4
  95. package/lib/generated/bridge/js.d.ts.map +1 -1
  96. package/lib/generated/bridge/js.js +18 -20
  97. package/lib/generated/bridge/js.js.map +1 -1
  98. package/lib/generated/specs.d.ts +2 -0
  99. package/lib/generated/specs.d.ts.map +1 -1
  100. package/lib/migrations/accounts-dataset.d.ts.map +1 -1
  101. package/lib/migrations/accounts-dataset.js +2 -4
  102. package/lib/migrations/accounts-dataset.js.map +1 -1
  103. package/lib/migrations/accounts.d.ts.map +1 -1
  104. package/lib/migrations/accounts.js +0 -17
  105. package/lib/migrations/accounts.js.map +1 -1
  106. package/lib/mock/account.d.ts.map +1 -1
  107. package/lib/mock/account.js +1 -2
  108. package/lib/mock/account.js.map +1 -1
  109. package/lib/network.d.ts +3 -1
  110. package/lib/network.d.ts.map +1 -1
  111. package/lib/network.js +2 -13
  112. package/lib/network.js.map +1 -1
  113. package/package.json +2 -30
  114. package/src/.DS_Store +0 -0
  115. package/src/__tests__/.DS_Store +0 -0
  116. package/src/__tests__/__snapshots__/.DS_Store +0 -0
  117. package/src/__tests__/__snapshots__/all.libcore.ts.snap +27169 -487
  118. package/src/__tests__/__snapshots__/portfolio.v2.ts.snap +0 -3
  119. package/src/__tests__/test-helpers/bridge.ts +2 -2
  120. package/src/account/addAccounts.ts +1 -2
  121. package/src/account/formatters.ts +2 -2
  122. package/src/account/support.ts +1 -24
  123. package/src/api/explorerConfig/index.ts +4 -35
  124. package/src/bot/engine.ts +1 -1
  125. package/src/bot/index.ts +25 -10
  126. package/src/bot/test.bot.ts +1 -6
  127. package/src/bridge/jsHelpers.ts +8 -37
  128. package/src/cross.ts +2 -30
  129. package/src/env.ts +5 -0
  130. package/src/exchange/swap/getKYCStatus.ts +5 -1
  131. package/src/exchange/swap/mock.ts +11 -0
  132. package/src/families/bitcoin/account.ts +1 -2
  133. package/src/families/bitcoin/datasets/bitcoin.ts +6 -6
  134. package/src/families/bitcoin/datasets/litecoin.ts +6 -6
  135. package/src/families/bitcoin/serialization.ts +0 -6
  136. package/src/families/bitcoin/specs.ts +36 -28
  137. package/src/families/bitcoin/speculos-deviceActions.ts +1 -1
  138. package/src/families/bitcoin/test-dataset.ts +1 -1
  139. package/src/families/bitcoin/transaction.ts +93 -98
  140. package/src/families/bitcoin/types.ts +37 -95
  141. package/src/families/crypto_org/js-synchronisation.ts +4 -22
  142. package/src/families/elrond/js-synchronisation.ts +3 -11
  143. package/src/families/elrond/logic.ts +1 -1
  144. package/src/families/elrond/test-dataset.ts +89 -84
  145. package/src/families/ethereum/synchronisation.ts +4 -13
  146. package/src/families/ethereum/test-dataset.ts +2 -3
  147. package/src/families/polkadot/js-synchronisation.ts +3 -11
  148. package/src/families/stellar/js-synchronization.ts +4 -12
  149. package/src/families/tezos/synchronisation.ts +3 -15
  150. package/src/generated/bridge/js.ts +0 -3
  151. package/src/migrations/accounts-dataset.ts +0 -3
  152. package/src/migrations/accounts.ts +0 -18
  153. package/src/mock/account.ts +0 -2
  154. package/src/network.ts +9 -10
  155. package/lib/__tests__/families/bitcoin/logic.d.ts +0 -2
  156. package/lib/__tests__/families/bitcoin/logic.d.ts.map +0 -1
  157. package/lib/__tests__/families/bitcoin/logic.js +0 -39
  158. package/lib/__tests__/families/bitcoin/logic.js.map +0 -1
  159. package/lib/__tests__/families/bitcoin/wallet-btc/bitcoin.test.d.ts +0 -2
  160. package/lib/__tests__/families/bitcoin/wallet-btc/bitcoin.test.d.ts.map +0 -1
  161. package/lib/__tests__/families/bitcoin/wallet-btc/bitcoin.test.js +0 -85
  162. package/lib/__tests__/families/bitcoin/wallet-btc/bitcoin.test.js.map +0 -1
  163. package/lib/__tests__/families/bitcoin/wallet-btc/utils.test.d.ts +0 -2
  164. package/lib/__tests__/families/bitcoin/wallet-btc/utils.test.d.ts.map +0 -1
  165. package/lib/__tests__/families/bitcoin/wallet-btc/utils.test.js +0 -134
  166. package/lib/__tests__/families/bitcoin/wallet-btc/utils.test.js.map +0 -1
  167. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.d.ts +0 -2
  168. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.d.ts.map +0 -1
  169. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js +0 -119
  170. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js.map +0 -1
  171. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.d.ts +0 -2
  172. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.d.ts.map +0 -1
  173. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js +0 -196
  174. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js.map +0 -1
  175. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.pickingStrategies.integration.test.d.ts +0 -2
  176. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.pickingStrategies.integration.test.d.ts.map +0 -1
  177. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.pickingStrategies.integration.test.js +0 -376
  178. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.pickingStrategies.integration.test.js.map +0 -1
  179. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.reorg.integration.test.d.ts +0 -2
  180. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.reorg.integration.test.d.ts.map +0 -1
  181. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.reorg.integration.test.js +0 -250
  182. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.reorg.integration.test.js.map +0 -1
  183. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.synced.unit.test.d.ts +0 -2
  184. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.synced.unit.test.d.ts.map +0 -1
  185. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.synced.unit.test.js +0 -128
  186. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.synced.unit.test.js.map +0 -1
  187. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.d.ts +0 -2
  188. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.d.ts.map +0 -1
  189. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +0 -396
  190. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js.map +0 -1
  191. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.d.ts +0 -2
  192. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.d.ts.map +0 -1
  193. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.js +0 -286
  194. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.js.map +0 -1
  195. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.d.ts +0 -2
  196. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.d.ts.map +0 -1
  197. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.js +0 -276
  198. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.js.map +0 -1
  199. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.d.ts +0 -2
  200. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.d.ts.map +0 -1
  201. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.js +0 -414
  202. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.js.map +0 -1
  203. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.d.ts +0 -2
  204. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.d.ts.map +0 -1
  205. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.js +0 -269
  206. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.js.map +0 -1
  207. package/lib/families/bitcoin/bridge/js.d.ts +0 -8
  208. package/lib/families/bitcoin/bridge/js.d.ts.map +0 -1
  209. package/lib/families/bitcoin/bridge/js.js +0 -149
  210. package/lib/families/bitcoin/bridge/js.js.map +0 -1
  211. package/lib/families/bitcoin/cache.d.ts +0 -28
  212. package/lib/families/bitcoin/cache.d.ts.map +0 -1
  213. package/lib/families/bitcoin/cache.js +0 -109
  214. package/lib/families/bitcoin/cache.js.map +0 -1
  215. package/lib/families/bitcoin/getAccountNetworkInfo.d.ts +0 -6
  216. package/lib/families/bitcoin/getAccountNetworkInfo.d.ts.map +0 -1
  217. package/lib/families/bitcoin/getAccountNetworkInfo.js +0 -124
  218. package/lib/families/bitcoin/getAccountNetworkInfo.js.map +0 -1
  219. package/lib/families/bitcoin/getAccountNetworkInfo.test.d.ts +0 -2
  220. package/lib/families/bitcoin/getAccountNetworkInfo.test.d.ts.map +0 -1
  221. package/lib/families/bitcoin/getAccountNetworkInfo.test.js +0 -71
  222. package/lib/families/bitcoin/getAccountNetworkInfo.test.js.map +0 -1
  223. package/lib/families/bitcoin/js-broadcast.d.ts +0 -11
  224. package/lib/families/bitcoin/js-broadcast.d.ts.map +0 -1
  225. package/lib/families/bitcoin/js-broadcast.js +0 -73
  226. package/lib/families/bitcoin/js-broadcast.js.map +0 -1
  227. package/lib/families/bitcoin/js-buildTransaction.d.ts +0 -5
  228. package/lib/families/bitcoin/js-buildTransaction.d.ts.map +0 -1
  229. package/lib/families/bitcoin/js-buildTransaction.js +0 -106
  230. package/lib/families/bitcoin/js-buildTransaction.js.map +0 -1
  231. package/lib/families/bitcoin/js-createTransaction.d.ts +0 -9
  232. package/lib/families/bitcoin/js-createTransaction.d.ts.map +0 -1
  233. package/lib/families/bitcoin/js-createTransaction.js +0 -27
  234. package/lib/families/bitcoin/js-createTransaction.js.map +0 -1
  235. package/lib/families/bitcoin/js-estimateMaxSpendable.d.ts +0 -15
  236. package/lib/families/bitcoin/js-estimateMaxSpendable.d.ts.map +0 -1
  237. package/lib/families/bitcoin/js-estimateMaxSpendable.js +0 -95
  238. package/lib/families/bitcoin/js-estimateMaxSpendable.js.map +0 -1
  239. package/lib/families/bitcoin/js-getFeesForTransaction.d.ts +0 -26
  240. package/lib/families/bitcoin/js-getFeesForTransaction.d.ts.map +0 -1
  241. package/lib/families/bitcoin/js-getFeesForTransaction.js +0 -100
  242. package/lib/families/bitcoin/js-getFeesForTransaction.js.map +0 -1
  243. package/lib/families/bitcoin/js-getTransactionStatus.d.ts +0 -5
  244. package/lib/families/bitcoin/js-getTransactionStatus.d.ts.map +0 -1
  245. package/lib/families/bitcoin/js-getTransactionStatus.js +0 -131
  246. package/lib/families/bitcoin/js-getTransactionStatus.js.map +0 -1
  247. package/lib/families/bitcoin/js-prepareTransaction.d.ts +0 -5
  248. package/lib/families/bitcoin/js-prepareTransaction.d.ts.map +0 -1
  249. package/lib/families/bitcoin/js-prepareTransaction.js +0 -80
  250. package/lib/families/bitcoin/js-prepareTransaction.js.map +0 -1
  251. package/lib/families/bitcoin/js-signOperation.d.ts +0 -10
  252. package/lib/families/bitcoin/js-signOperation.d.ts.map +0 -1
  253. package/lib/families/bitcoin/js-signOperation.js +0 -212
  254. package/lib/families/bitcoin/js-signOperation.js.map +0 -1
  255. package/lib/families/bitcoin/js-synchronisation.d.ts +0 -10
  256. package/lib/families/bitcoin/js-synchronisation.d.ts.map +0 -1
  257. package/lib/families/bitcoin/js-synchronisation.js +0 -431
  258. package/lib/families/bitcoin/js-synchronisation.js.map +0 -1
  259. package/lib/families/bitcoin/logic.d.ts +0 -34
  260. package/lib/families/bitcoin/logic.d.ts.map +0 -1
  261. package/lib/families/bitcoin/logic.js +0 -290
  262. package/lib/families/bitcoin/logic.js.map +0 -1
  263. package/lib/families/bitcoin/networks.d.ts +0 -3
  264. package/lib/families/bitcoin/networks.d.ts.map +0 -1
  265. package/lib/families/bitcoin/networks.js +0 -379
  266. package/lib/families/bitcoin/networks.js.map +0 -1
  267. package/lib/families/bitcoin/wallet-btc/account.d.ts +0 -35
  268. package/lib/families/bitcoin/wallet-btc/account.d.ts.map +0 -1
  269. package/lib/families/bitcoin/wallet-btc/account.js +0 -3
  270. package/lib/families/bitcoin/wallet-btc/account.js.map +0 -1
  271. package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts +0 -19
  272. package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts.map +0 -1
  273. package/lib/families/bitcoin/wallet-btc/crypto/base.js +0 -136
  274. package/lib/families/bitcoin/wallet-btc/crypto/base.js.map +0 -1
  275. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.d.ts +0 -10
  276. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.d.ts.map +0 -1
  277. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js +0 -177
  278. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js.map +0 -1
  279. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts +0 -16
  280. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts.map +0 -1
  281. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js +0 -84
  282. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js.map +0 -1
  283. package/lib/families/bitcoin/wallet-btc/crypto/bitcoingold.d.ts +0 -8
  284. package/lib/families/bitcoin/wallet-btc/crypto/bitcoingold.d.ts.map +0 -1
  285. package/lib/families/bitcoin/wallet-btc/crypto/bitcoingold.js +0 -36
  286. package/lib/families/bitcoin/wallet-btc/crypto/bitcoingold.js.map +0 -1
  287. package/lib/families/bitcoin/wallet-btc/crypto/dash.d.ts +0 -8
  288. package/lib/families/bitcoin/wallet-btc/crypto/dash.d.ts.map +0 -1
  289. package/lib/families/bitcoin/wallet-btc/crypto/dash.js +0 -44
  290. package/lib/families/bitcoin/wallet-btc/crypto/dash.js.map +0 -1
  291. package/lib/families/bitcoin/wallet-btc/crypto/digibyte.d.ts +0 -9
  292. package/lib/families/bitcoin/wallet-btc/crypto/digibyte.d.ts.map +0 -1
  293. package/lib/families/bitcoin/wallet-btc/crypto/digibyte.js +0 -56
  294. package/lib/families/bitcoin/wallet-btc/crypto/digibyte.js.map +0 -1
  295. package/lib/families/bitcoin/wallet-btc/crypto/doge.d.ts +0 -8
  296. package/lib/families/bitcoin/wallet-btc/crypto/doge.d.ts.map +0 -1
  297. package/lib/families/bitcoin/wallet-btc/crypto/doge.js +0 -36
  298. package/lib/families/bitcoin/wallet-btc/crypto/doge.js.map +0 -1
  299. package/lib/families/bitcoin/wallet-btc/crypto/factory.d.ts +0 -3
  300. package/lib/families/bitcoin/wallet-btc/crypto/factory.d.ts.map +0 -1
  301. package/lib/families/bitcoin/wallet-btc/crypto/factory.js +0 -130
  302. package/lib/families/bitcoin/wallet-btc/crypto/factory.js.map +0 -1
  303. package/lib/families/bitcoin/wallet-btc/crypto/index.d.ts +0 -18
  304. package/lib/families/bitcoin/wallet-btc/crypto/index.d.ts.map +0 -1
  305. package/lib/families/bitcoin/wallet-btc/crypto/index.js +0 -45
  306. package/lib/families/bitcoin/wallet-btc/crypto/index.js.map +0 -1
  307. package/lib/families/bitcoin/wallet-btc/crypto/komodo.d.ts +0 -8
  308. package/lib/families/bitcoin/wallet-btc/crypto/komodo.d.ts.map +0 -1
  309. package/lib/families/bitcoin/wallet-btc/crypto/komodo.js +0 -39
  310. package/lib/families/bitcoin/wallet-btc/crypto/komodo.js.map +0 -1
  311. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts +0 -19
  312. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts.map +0 -1
  313. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js +0 -135
  314. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js.map +0 -1
  315. package/lib/families/bitcoin/wallet-btc/crypto/peercoin.d.ts +0 -8
  316. package/lib/families/bitcoin/wallet-btc/crypto/peercoin.d.ts.map +0 -1
  317. package/lib/families/bitcoin/wallet-btc/crypto/peercoin.js +0 -38
  318. package/lib/families/bitcoin/wallet-btc/crypto/peercoin.js.map +0 -1
  319. package/lib/families/bitcoin/wallet-btc/crypto/pivx.d.ts +0 -8
  320. package/lib/families/bitcoin/wallet-btc/crypto/pivx.d.ts.map +0 -1
  321. package/lib/families/bitcoin/wallet-btc/crypto/pivx.js +0 -40
  322. package/lib/families/bitcoin/wallet-btc/crypto/pivx.js.map +0 -1
  323. package/lib/families/bitcoin/wallet-btc/crypto/qtum.d.ts +0 -8
  324. package/lib/families/bitcoin/wallet-btc/crypto/qtum.d.ts.map +0 -1
  325. package/lib/families/bitcoin/wallet-btc/crypto/qtum.js +0 -36
  326. package/lib/families/bitcoin/wallet-btc/crypto/qtum.js.map +0 -1
  327. package/lib/families/bitcoin/wallet-btc/crypto/stakenet.d.ts +0 -8
  328. package/lib/families/bitcoin/wallet-btc/crypto/stakenet.d.ts.map +0 -1
  329. package/lib/families/bitcoin/wallet-btc/crypto/stakenet.js +0 -40
  330. package/lib/families/bitcoin/wallet-btc/crypto/stakenet.js.map +0 -1
  331. package/lib/families/bitcoin/wallet-btc/crypto/stealth.d.ts +0 -8
  332. package/lib/families/bitcoin/wallet-btc/crypto/stealth.d.ts.map +0 -1
  333. package/lib/families/bitcoin/wallet-btc/crypto/stealth.js +0 -40
  334. package/lib/families/bitcoin/wallet-btc/crypto/stealth.js.map +0 -1
  335. package/lib/families/bitcoin/wallet-btc/crypto/stratis.d.ts +0 -8
  336. package/lib/families/bitcoin/wallet-btc/crypto/stratis.d.ts.map +0 -1
  337. package/lib/families/bitcoin/wallet-btc/crypto/stratis.js +0 -37
  338. package/lib/families/bitcoin/wallet-btc/crypto/stratis.js.map +0 -1
  339. package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts +0 -15
  340. package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts.map +0 -1
  341. package/lib/families/bitcoin/wallet-btc/crypto/types.js +0 -3
  342. package/lib/families/bitcoin/wallet-btc/crypto/types.js.map +0 -1
  343. package/lib/families/bitcoin/wallet-btc/crypto/via.d.ts +0 -8
  344. package/lib/families/bitcoin/wallet-btc/crypto/via.d.ts.map +0 -1
  345. package/lib/families/bitcoin/wallet-btc/crypto/via.js +0 -36
  346. package/lib/families/bitcoin/wallet-btc/crypto/via.js.map +0 -1
  347. package/lib/families/bitcoin/wallet-btc/crypto/vtc.d.ts +0 -8
  348. package/lib/families/bitcoin/wallet-btc/crypto/vtc.d.ts.map +0 -1
  349. package/lib/families/bitcoin/wallet-btc/crypto/vtc.js +0 -36
  350. package/lib/families/bitcoin/wallet-btc/crypto/vtc.js.map +0 -1
  351. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +0 -18
  352. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +0 -1
  353. package/lib/families/bitcoin/wallet-btc/crypto/zec.js +0 -72
  354. package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +0 -1
  355. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +0 -18
  356. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +0 -1
  357. package/lib/families/bitcoin/wallet-btc/crypto/zen.js +0 -97
  358. package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +0 -1
  359. package/lib/families/bitcoin/wallet-btc/explorer/index.d.ts +0 -31
  360. package/lib/families/bitcoin/wallet-btc/explorer/index.d.ts.map +0 -1
  361. package/lib/families/bitcoin/wallet-btc/explorer/index.js +0 -393
  362. package/lib/families/bitcoin/wallet-btc/explorer/index.js.map +0 -1
  363. package/lib/families/bitcoin/wallet-btc/explorer/types.d.ts +0 -13
  364. package/lib/families/bitcoin/wallet-btc/explorer/types.d.ts.map +0 -1
  365. package/lib/families/bitcoin/wallet-btc/explorer/types.js +0 -3
  366. package/lib/families/bitcoin/wallet-btc/explorer/types.js.map +0 -1
  367. package/lib/families/bitcoin/wallet-btc/index.d.ts +0 -15
  368. package/lib/families/bitcoin/wallet-btc/index.d.ts.map +0 -1
  369. package/lib/families/bitcoin/wallet-btc/index.js +0 -80
  370. package/lib/families/bitcoin/wallet-btc/index.js.map +0 -1
  371. package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.d.ts +0 -13
  372. package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.d.ts.map +0 -1
  373. package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.js +0 -237
  374. package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.js.map +0 -1
  375. package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.d.ts +0 -13
  376. package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.d.ts.map +0 -1
  377. package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.js +0 -146
  378. package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.js.map +0 -1
  379. package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.d.ts +0 -13
  380. package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.d.ts.map +0 -1
  381. package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.js +0 -146
  382. package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.js.map +0 -1
  383. package/lib/families/bitcoin/wallet-btc/pickingstrategies/types.d.ts +0 -23
  384. package/lib/families/bitcoin/wallet-btc/pickingstrategies/types.d.ts.map +0 -1
  385. package/lib/families/bitcoin/wallet-btc/pickingstrategies/types.js +0 -13
  386. package/lib/families/bitcoin/wallet-btc/pickingstrategies/types.js.map +0 -1
  387. package/lib/families/bitcoin/wallet-btc/storage/index.d.ts +0 -58
  388. package/lib/families/bitcoin/wallet-btc/storage/index.d.ts.map +0 -1
  389. package/lib/families/bitcoin/wallet-btc/storage/index.js +0 -228
  390. package/lib/families/bitcoin/wallet-btc/storage/index.js.map +0 -1
  391. package/lib/families/bitcoin/wallet-btc/storage/mock.d.ts +0 -58
  392. package/lib/families/bitcoin/wallet-btc/storage/mock.d.ts.map +0 -1
  393. package/lib/families/bitcoin/wallet-btc/storage/mock.js +0 -228
  394. package/lib/families/bitcoin/wallet-btc/storage/mock.js.map +0 -1
  395. package/lib/families/bitcoin/wallet-btc/storage/types.d.ts +0 -63
  396. package/lib/families/bitcoin/wallet-btc/storage/types.d.ts.map +0 -1
  397. package/lib/families/bitcoin/wallet-btc/storage/types.js +0 -3
  398. package/lib/families/bitcoin/wallet-btc/storage/types.js.map +0 -1
  399. package/lib/families/bitcoin/wallet-btc/types.d.ts +0 -25
  400. package/lib/families/bitcoin/wallet-btc/types.d.ts.map +0 -1
  401. package/lib/families/bitcoin/wallet-btc/types.js +0 -10
  402. package/lib/families/bitcoin/wallet-btc/types.js.map +0 -1
  403. package/lib/families/bitcoin/wallet-btc/utils/eventemitter.d.ts +0 -6
  404. package/lib/families/bitcoin/wallet-btc/utils/eventemitter.d.ts.map +0 -1
  405. package/lib/families/bitcoin/wallet-btc/utils/eventemitter.js +0 -64
  406. package/lib/families/bitcoin/wallet-btc/utils/eventemitter.js.map +0 -1
  407. package/lib/families/bitcoin/wallet-btc/utils.d.ts +0 -12
  408. package/lib/families/bitcoin/wallet-btc/utils.d.ts.map +0 -1
  409. package/lib/families/bitcoin/wallet-btc/utils.js +0 -166
  410. package/lib/families/bitcoin/wallet-btc/utils.js.map +0 -1
  411. package/lib/families/bitcoin/wallet-btc/wallet.d.ts +0 -73
  412. package/lib/families/bitcoin/wallet-btc/wallet.d.ts.map +0 -1
  413. package/lib/families/bitcoin/wallet-btc/wallet.js +0 -464
  414. package/lib/families/bitcoin/wallet-btc/wallet.js.map +0 -1
  415. package/lib/families/bitcoin/wallet-btc/xpub.d.ts +0 -55
  416. package/lib/families/bitcoin/wallet-btc/xpub.d.ts.map +0 -1
  417. package/lib/families/bitcoin/wallet-btc/xpub.js +0 -585
  418. package/lib/families/bitcoin/wallet-btc/xpub.js.map +0 -1
  419. package/lib/mock/Btc.d.ts +0 -16
  420. package/lib/mock/Btc.d.ts.map +0 -1
  421. package/lib/mock/Btc.js +0 -104
  422. package/lib/mock/Btc.js.map +0 -1
  423. package/src/__tests__/families/bitcoin/logic.ts +0 -40
  424. package/src/__tests__/families/bitcoin/wallet-btc/bitcoin.test.ts +0 -83
  425. package/src/__tests__/families/bitcoin/wallet-btc/utils.test.ts +0 -210
  426. package/src/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.ts +0 -56
  427. package/src/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.ts +0 -107
  428. package/src/__tests__/families/bitcoin/wallet-btc/xpub.pickingStrategies.integration.test.ts +0 -366
  429. package/src/__tests__/families/bitcoin/wallet-btc/xpub.reorg.integration.test.ts +0 -135
  430. package/src/__tests__/families/bitcoin/wallet-btc/xpub.synced.unit.test.ts +0 -74
  431. package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +0 -330
  432. package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.NP2WPKH.integration.test.ts +0 -193
  433. package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.P2WPKH.integration.test.ts +0 -183
  434. package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.integration.test.ts +0 -294
  435. package/src/__tests__/families/bitcoin/wallet-btc/xpub.txs.litecoin.test.ts +0 -167
  436. package/src/families/bitcoin/bridge/js.ts +0 -76
  437. package/src/families/bitcoin/cache.ts +0 -76
  438. package/src/families/bitcoin/getAccountNetworkInfo.test.ts +0 -27
  439. package/src/families/bitcoin/getAccountNetworkInfo.ts +0 -61
  440. package/src/families/bitcoin/js-broadcast.ts +0 -26
  441. package/src/families/bitcoin/js-buildTransaction.ts +0 -57
  442. package/src/families/bitcoin/js-createTransaction.ts +0 -27
  443. package/src/families/bitcoin/js-estimateMaxSpendable.ts +0 -36
  444. package/src/families/bitcoin/js-getFeesForTransaction.ts +0 -59
  445. package/src/families/bitcoin/js-getTransactionStatus.ts +0 -118
  446. package/src/families/bitcoin/js-prepareTransaction.ts +0 -35
  447. package/src/families/bitcoin/js-signOperation.ts +0 -164
  448. package/src/families/bitcoin/js-synchronisation.ts +0 -388
  449. package/src/families/bitcoin/logic.ts +0 -251
  450. package/src/families/bitcoin/networks.ts +0 -360
  451. package/src/families/bitcoin/wallet-btc/account.ts +0 -42
  452. package/src/families/bitcoin/wallet-btc/crypto/base.ts +0 -131
  453. package/src/families/bitcoin/wallet-btc/crypto/bitcoin.ts +0 -147
  454. package/src/families/bitcoin/wallet-btc/crypto/bitcoincash.ts +0 -78
  455. package/src/families/bitcoin/wallet-btc/crypto/bitcoingold.ts +0 -13
  456. package/src/families/bitcoin/wallet-btc/crypto/dash.ts +0 -21
  457. package/src/families/bitcoin/wallet-btc/crypto/digibyte.ts +0 -34
  458. package/src/families/bitcoin/wallet-btc/crypto/doge.ts +0 -13
  459. package/src/families/bitcoin/wallet-btc/crypto/factory.ts +0 -106
  460. package/src/families/bitcoin/wallet-btc/crypto/index.ts +0 -17
  461. package/src/families/bitcoin/wallet-btc/crypto/komodo.ts +0 -16
  462. package/src/families/bitcoin/wallet-btc/crypto/litecoin.ts +0 -113
  463. package/src/families/bitcoin/wallet-btc/crypto/peercoin.ts +0 -15
  464. package/src/families/bitcoin/wallet-btc/crypto/pivx.ts +0 -17
  465. package/src/families/bitcoin/wallet-btc/crypto/qtum.ts +0 -13
  466. package/src/families/bitcoin/wallet-btc/crypto/stakenet.ts +0 -17
  467. package/src/families/bitcoin/wallet-btc/crypto/stealth.ts +0 -17
  468. package/src/families/bitcoin/wallet-btc/crypto/stratis.ts +0 -14
  469. package/src/families/bitcoin/wallet-btc/crypto/types.ts +0 -42
  470. package/src/families/bitcoin/wallet-btc/crypto/via.ts +0 -13
  471. package/src/families/bitcoin/wallet-btc/crypto/vtc.ts +0 -13
  472. package/src/families/bitcoin/wallet-btc/crypto/zec.ts +0 -85
  473. package/src/families/bitcoin/wallet-btc/crypto/zen.ts +0 -112
  474. package/src/families/bitcoin/wallet-btc/explorer/index.ts +0 -305
  475. package/src/families/bitcoin/wallet-btc/explorer/types.ts +0 -20
  476. package/src/families/bitcoin/wallet-btc/index.ts +0 -54
  477. package/src/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.ts +0 -229
  478. package/src/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.ts +0 -81
  479. package/src/families/bitcoin/wallet-btc/pickingstrategies/Merge.ts +0 -81
  480. package/src/families/bitcoin/wallet-btc/pickingstrategies/types.ts +0 -41
  481. package/src/families/bitcoin/wallet-btc/storage/index.ts +0 -186
  482. package/src/families/bitcoin/wallet-btc/storage/mock.ts +0 -186
  483. package/src/families/bitcoin/wallet-btc/storage/types.ts +0 -66
  484. package/src/families/bitcoin/wallet-btc/types.ts +0 -26
  485. package/src/families/bitcoin/wallet-btc/utils/eventemitter.ts +0 -9
  486. package/src/families/bitcoin/wallet-btc/utils.ts +0 -153
  487. package/src/families/bitcoin/wallet-btc/wallet.ts +0 -396
  488. package/src/families/bitcoin/wallet-btc/xpub.ts +0 -470
  489. package/src/mock/Btc.ts +0 -47
@@ -1,366 +0,0 @@
1
- import * as bip32 from "bip32";
2
- import * as bip39 from "bip39";
3
- import * as bitcoin from "bitcoinjs-lib";
4
- import coininfo from "coininfo";
5
- import BigNumber from "bignumber.js";
6
- import { DerivationModes } from "../../../../families/bitcoin/wallet-btc/types";
7
- import Xpub from "../../../../families/bitcoin/wallet-btc/xpub";
8
- import BitcoinLikeExplorer from "../../../../families/bitcoin/wallet-btc/explorer";
9
- import Crypto from "../../../../families/bitcoin/wallet-btc/crypto/bitcoin";
10
- import BitcoinLikeStorage from "../../../../families/bitcoin/wallet-btc/storage";
11
- import { Merge } from "../../../../families/bitcoin/wallet-btc/pickingstrategies/Merge";
12
- import { DeepFirst } from "../../../../families/bitcoin/wallet-btc/pickingstrategies/DeepFirst";
13
- import { CoinSelect } from "../../../../families/bitcoin/wallet-btc/pickingstrategies/CoinSelect";
14
-
15
- describe("testing xpub legacy transactions", () => {
16
- const network = coininfo.bitcoin.test.toBitcoinJS();
17
-
18
- const crypto = new Crypto({
19
- network,
20
- });
21
-
22
- const storage = new BitcoinLikeStorage();
23
- const seed = bip39.mnemonicToSeedSync("test1 test1 test1");
24
- const node = bip32.fromSeed(seed, network);
25
- const signer = (account: number, index: number) =>
26
- bitcoin.ECPair.fromWIF(node.derive(account).derive(index).toWIF(), network);
27
- const xpub = new Xpub({
28
- storage,
29
- explorer: new BitcoinLikeExplorer({
30
- explorerURI: "https://explorers.api.live.ledger.com/blockchain/v3/btc",
31
- explorerVersion: "v3",
32
- }),
33
- crypto,
34
- xpub: node.neutered().toBase58(),
35
- derivationMode: DerivationModes.LEGACY,
36
- });
37
- const dataset = {
38
- storage,
39
- seed,
40
- node,
41
- signer,
42
- xpub,
43
- };
44
-
45
- it("merge output strategy should be correct", async () => {
46
- // Initialize the xpub with 2 txs. So that it has 2 utxo
47
- dataset.xpub.storage.appendTxs([
48
- {
49
- hash: "9e1b337875c21f751e70ee2c2c6ee93d8a6733d0f3ba6d139ae6a0479ebcefb0",
50
- inputs: [],
51
- outputs: [
52
- {
53
- output_index: 0,
54
- value: "5000000000",
55
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
56
- script_hex: "76a914af9ab6987aa41b37c8bcb7c61154165d23f09e3488ac",
57
- output_hash:
58
- "9e1b337875c21f751e70ee2c2c6ee93d8a6733d0f3ba6d139ae6a0479ebcefb0",
59
- block_height: 1,
60
- rbf: false,
61
- },
62
- {
63
- output_index: 1,
64
- value: "0",
65
- address: "<unknown>",
66
- script_hex:
67
- "6a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf9",
68
- output_hash:
69
- "9e1b337875c21f751e70ee2c2c6ee93d8a6733d0f3ba6d139ae6a0479ebcefb0",
70
- block_height: 1,
71
- rbf: false,
72
- },
73
- ],
74
- block: {
75
- hash: "73c565a6f226978df23480e440b27eb02f307855f50aa3bc72ebb586938f23e0",
76
- height: 1,
77
- time: "2021-07-28T13:34:17Z",
78
- },
79
- account: 0,
80
- index: 0,
81
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
82
- received_at: "2021-07-28T13:34:17Z",
83
- },
84
- {
85
- hash: "0b9f98d07eb418fa20573112d3cba6b871d429a06c724a7888ff0886be5213d1",
86
- inputs: [
87
- {
88
- output_hash:
89
- "2772f3963856f3eb38cb706ec8c2b62fcdeb2ce10f32cf7160afb3873be6f60d",
90
- output_index: 0,
91
- value: "5000000000",
92
- address: "2NCDBM9DAuMrD1T8XDHMxvbTmLutP7at4AB",
93
- sequence: 4294967294,
94
- },
95
- ],
96
- outputs: [
97
- {
98
- output_index: 0,
99
- value: "300000000",
100
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
101
- script_hex: "76a914af9ab6987aa41b37c8bcb7c61154165d23f09e3488ac",
102
- output_hash:
103
- "0b9f98d07eb418fa20573112d3cba6b871d429a06c724a7888ff0886be5213d1",
104
- block_height: 120,
105
- rbf: false,
106
- },
107
- {
108
- output_index: 1,
109
- value: "4699983200",
110
- address: "2MynSTpze5SDcuLr1DekSV7RVrFpQCo3LeP",
111
- script_hex: "a91447b810238a31777fc4e4de474419464c46aadf8187",
112
- output_hash:
113
- "0b9f98d07eb418fa20573112d3cba6b871d429a06c724a7888ff0886be5213d1",
114
- block_height: 120,
115
- rbf: false,
116
- },
117
- ],
118
- block: {
119
- hash: "305d4b8d4a6d6ecca0a3dd0216f8ecd090978ed346d1845883c8aa4529d72fc8",
120
- height: 120,
121
- time: "2021-07-28T13:34:38Z",
122
- },
123
- account: 0,
124
- index: 0,
125
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
126
- received_at: "2021-07-28T13:34:38Z",
127
- },
128
- ]);
129
- // this account has one utxo 500000000 and one utxo 300000000
130
- const utxoPickingStrategy = new Merge(
131
- dataset.xpub.crypto,
132
- dataset.xpub.derivationMode,
133
- []
134
- );
135
- let res = await utxoPickingStrategy.selectUnspentUtxosToUse(
136
- dataset.xpub,
137
- new BigNumber(10000),
138
- 0,
139
- 1
140
- );
141
- expect(res.unspentUtxos.length).toEqual(1); // only 1 utxo is enough
142
- expect(Number(res.unspentUtxos[0].value)).toEqual(300000000); // use cheaper utxo first
143
- res = await utxoPickingStrategy.selectUnspentUtxosToUse(
144
- dataset.xpub,
145
- new BigNumber(500000000),
146
- 0,
147
- 1
148
- );
149
- expect(res.unspentUtxos.length).toEqual(2); // need 2 utxo
150
- expect(
151
- Number(res.unspentUtxos[0].value) + Number(res.unspentUtxos[1].value)
152
- ).toEqual(300000000 + 5000000000);
153
- }, 100000);
154
-
155
- it("deep first output strategy should be correct", async () => {
156
- // this account has one utxo 500000000 and one utxo 300000000
157
- const utxoPickingStrategy = new DeepFirst(
158
- dataset.xpub.crypto,
159
- dataset.xpub.derivationMode,
160
- []
161
- );
162
- let res = await utxoPickingStrategy.selectUnspentUtxosToUse(
163
- dataset.xpub,
164
- new BigNumber(10000),
165
- 0,
166
- 1
167
- );
168
- expect(res.unspentUtxos.length).toEqual(1); // only 1 utxo is enough
169
- expect(Number(res.unspentUtxos[0].value)).toEqual(5000000000); // use old utxo first
170
- res = await utxoPickingStrategy.selectUnspentUtxosToUse(
171
- dataset.xpub,
172
- new BigNumber(5200000000),
173
- 0,
174
- 1
175
- );
176
- expect(res.unspentUtxos.length).toEqual(2); // need 2 utxo
177
- expect(
178
- Number(res.unspentUtxos[0].value) + Number(res.unspentUtxos[1].value)
179
- ).toEqual(300000000 + 5000000000);
180
- }, 100000);
181
-
182
- it("coin select strategy should be correct", async () => {
183
- // Add 3 txs for the xpub. So that it has 5 utxo
184
- dataset.xpub.storage.appendTxs([
185
- {
186
- hash: "8f30fe84da5a5846d668b4bad260730f2b0125fa66fb2633fa1cee23c6b11053",
187
- inputs: [
188
- {
189
- output_hash:
190
- "06dedd72cd68c036070fbd2453dfc1c6c1dd48ac899b175680db8f1417952ffd",
191
- output_index: 1,
192
- value: "4699983200",
193
- address: "2MuiiwsWDJZETrMWR43VhM2FDvTsvHNn8oZ",
194
- sequence: 4294967294,
195
- },
196
- ],
197
- outputs: [
198
- {
199
- output_index: 0,
200
- value: "4599966400",
201
- address: "2NCSYYp4bWdHDYf9nYP1NDKb1GMBqa8e57H",
202
- script_hex: "a914d28e7592fc2657433296eafc89e4a8d29289ebf087",
203
- output_hash:
204
- "8f30fe84da5a5846d668b4bad260730f2b0125fa66fb2633fa1cee23c6b11053",
205
- block_height: 122,
206
- rbf: false,
207
- },
208
- {
209
- output_index: 1,
210
- value: "100000000",
211
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
212
- script_hex: "76a914af9ab6987aa41b37c8bcb7c61154165d23f09e3488ac",
213
- output_hash:
214
- "8f30fe84da5a5846d668b4bad260730f2b0125fa66fb2633fa1cee23c6b11053",
215
- block_height: 122,
216
- rbf: false,
217
- },
218
- ],
219
- block: {
220
- hash: "07b88745bbec95383dd8588501bf21a72c3f48537860ca0c1e2ac646e124885c",
221
- height: 122,
222
- time: "2021-07-28T14:46:51Z",
223
- },
224
- account: 0,
225
- index: 0,
226
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
227
- received_at: "2021-07-28T14:46:51Z",
228
- },
229
- {
230
- hash: "2f90f3312ffd4dce490cb2f7429c586a43ef68c99fc2f8e549127b72af7b4209",
231
- inputs: [
232
- {
233
- output_hash:
234
- "8f30fe84da5a5846d668b4bad260730f2b0125fa66fb2633fa1cee23c6b11053",
235
- output_index: 0,
236
- value: "4599966400",
237
- address: "2NCSYYp4bWdHDYf9nYP1NDKb1GMBqa8e57H",
238
- sequence: 4294967294,
239
- },
240
- ],
241
- outputs: [
242
- {
243
- output_index: 0,
244
- value: "4399949600",
245
- address: "2NFToPiLBtuKiqzZj43nPXknN8d4xNySe3o",
246
- script_hex: "a914f3b3a49bd90e6e9ae30882a2b7e9b7edfe579a8c87",
247
- output_hash:
248
- "2f90f3312ffd4dce490cb2f7429c586a43ef68c99fc2f8e549127b72af7b4209",
249
- block_height: 123,
250
- rbf: false,
251
- },
252
- {
253
- output_index: 1,
254
- value: "200000000",
255
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
256
- script_hex: "76a914af9ab6987aa41b37c8bcb7c61154165d23f09e3488ac",
257
- output_hash:
258
- "2f90f3312ffd4dce490cb2f7429c586a43ef68c99fc2f8e549127b72af7b4209",
259
- block_height: 123,
260
- rbf: false,
261
- },
262
- ],
263
- block: {
264
- hash: "0060d6a1632cf380b9262790e4646e5a48e7f9e099a089640837ec1ef3614159",
265
- height: 123,
266
- time: "2021-07-28T14:46:51Z",
267
- },
268
- account: 0,
269
- index: 0,
270
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
271
- received_at: "2021-07-28T14:46:51Z",
272
- },
273
- {
274
- hash: "2fee0c4b55e08583aa5bc565d7e428f7cdcbd2b73262f62208a6a72a74e2c945",
275
- inputs: [
276
- {
277
- output_hash:
278
- "2f90f3312ffd4dce490cb2f7429c586a43ef68c99fc2f8e549127b72af7b4209",
279
- output_index: 0,
280
- value: "4399949600",
281
- address: "2NFToPiLBtuKiqzZj43nPXknN8d4xNySe3o",
282
- sequence: 4294967294,
283
- },
284
- ],
285
- outputs: [
286
- {
287
- output_index: 0,
288
- value: "600000000",
289
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
290
- script_hex: "76a914af9ab6987aa41b37c8bcb7c61154165d23f09e3488ac",
291
- output_hash:
292
- "2fee0c4b55e08583aa5bc565d7e428f7cdcbd2b73262f62208a6a72a74e2c945",
293
- block_height: 124,
294
- rbf: false,
295
- },
296
- {
297
- output_index: 1,
298
- value: "3799932800",
299
- address: "2N53XuFRxqbShpK4XKwC1VXT4zu1wCzbAMU",
300
- script_hex: "a914816b7896ce2c4f21c39c865030fe07e7a042a9c687",
301
- output_hash:
302
- "2fee0c4b55e08583aa5bc565d7e428f7cdcbd2b73262f62208a6a72a74e2c945",
303
- block_height: 124,
304
- rbf: false,
305
- },
306
- ],
307
- block: {
308
- hash: "0ba663caf7775546cec9dfbdfd7e7d43d7ed576bb87c619271cccbcb572b328e",
309
- height: 124,
310
- time: "2021-07-28T14:46:51Z",
311
- },
312
- account: 0,
313
- index: 0,
314
- address: "mwXTtHo8Yy3aNKUUZLkBDrTcKT9qG9TqLb",
315
- received_at: "2021-07-28T14:46:51Z",
316
- },
317
- ]);
318
- // we have 5 utxo now. 100000000, 200000000, 300000000, 600000000 and 5000000000
319
- const utxoPickingStrategy = new CoinSelect(
320
- dataset.xpub.crypto,
321
- dataset.xpub.derivationMode,
322
- []
323
- );
324
- let res = await utxoPickingStrategy.selectUnspentUtxosToUse(
325
- dataset.xpub,
326
- new BigNumber(10000),
327
- 0,
328
- 1
329
- );
330
- expect(res.unspentUtxos.length).toEqual(1);
331
- expect(Number(res.unspentUtxos[0].value)).toEqual(100000000);
332
-
333
- res = await utxoPickingStrategy.selectUnspentUtxosToUse(
334
- dataset.xpub,
335
- new BigNumber(290000000),
336
- 10,
337
- 1
338
- );
339
- expect(res.unspentUtxos.length).toEqual(2);
340
- expect(
341
- Number(res.unspentUtxos[0].value) + Number(res.unspentUtxos[1].value)
342
- ).toEqual(100000000 + 200000000);
343
-
344
- res = await utxoPickingStrategy.selectUnspentUtxosToUse(
345
- dataset.xpub,
346
- new BigNumber(500000000),
347
- 0,
348
- 1
349
- );
350
- expect(res.unspentUtxos.length).toEqual(2);
351
- expect(
352
- Number(res.unspentUtxos[0].value) + Number(res.unspentUtxos[1].value)
353
- ).toEqual(200000000 + 300000000);
354
-
355
- res = await utxoPickingStrategy.selectUnspentUtxosToUse(
356
- dataset.xpub,
357
- new BigNumber(800000000),
358
- 0,
359
- 1
360
- );
361
- expect(res.unspentUtxos.length).toEqual(2);
362
- expect(
363
- Number(res.unspentUtxos[0].value) + Number(res.unspentUtxos[1].value)
364
- ).toEqual(200000000 + 600000000);
365
- }, 180000);
366
- });
@@ -1,135 +0,0 @@
1
- import * as bip32 from "bip32";
2
- import * as bip39 from "bip39";
3
- import * as bitcoin from "bitcoinjs-lib";
4
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
5
- // @ts-ignore
6
- import coininfo from "coininfo";
7
- import axios from "axios";
8
- import { DerivationModes } from "../../../../families/bitcoin/wallet-btc/types";
9
- import Xpub from "../../../../families/bitcoin/wallet-btc/xpub";
10
- import Crypto from "../../../../families/bitcoin/wallet-btc/crypto/bitcoin";
11
- import Explorer from "../../../../families/bitcoin/wallet-btc/explorer";
12
- import BitcoinLikeStorage from "../../../../families/bitcoin/wallet-btc/storage";
13
-
14
- const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
15
-
16
- // FIXME Skipped because Praline required on CI
17
- describe.skip("testing xpub reorg management", () => {
18
- const network = coininfo.bitcoin.test.toBitcoinJS();
19
-
20
- const explorer = new Explorer({
21
- explorerURI: "http://localhost:20000/blockchain/v3",
22
- explorerVersion: "v3",
23
- disableBatchSize: true, // https://ledgerhq.atlassian.net/browse/BACK-2191
24
- });
25
- const crypto = new Crypto({
26
- network,
27
- });
28
-
29
- const xpubs = [1].map((i) => {
30
- const storage = new BitcoinLikeStorage();
31
- const seed = bip39.mnemonicToSeedSync(`test${i} test${i} test${i}`);
32
- const node = bip32.fromSeed(seed, network);
33
- const signer = (account: number, index: number) =>
34
- bitcoin.ECPair.fromWIF(
35
- node.derive(account).derive(index).toWIF(),
36
- network
37
- );
38
- const xpub = new Xpub({
39
- storage,
40
- explorer,
41
- crypto,
42
- xpub: node.neutered().toBase58(),
43
- derivationMode: DerivationModes.LEGACY,
44
- });
45
-
46
- return {
47
- storage,
48
- seed,
49
- node,
50
- signer,
51
- xpub,
52
- };
53
- });
54
-
55
- beforeAll(async () => {
56
- const { address } = await xpubs[0].xpub.getNewAddress(0, 0);
57
-
58
- try {
59
- await axios.post("http://localhost:28443/chain/clear/all");
60
- await axios.post(`http://localhost:28443/chain/mine/${address}/1`);
61
- await axios.post(`http://localhost:28443/chain/faucet/${address}/7.0`);
62
- } catch (e) {
63
- // eslint-disable-next-line no-console
64
- console.log("praline setup error", e);
65
- throw e;
66
- }
67
-
68
- // time for explorer to sync
69
- await sleep(80000);
70
-
71
- try {
72
- await xpubs[0].xpub.sync();
73
- } catch (e) {
74
- // eslint-disable-next-line no-console
75
- console.log("praline explorer setup error", e);
76
- throw e;
77
- }
78
- }, 160000);
79
-
80
- it("should be setup correctly", async () => {
81
- const balance1 = await xpubs[0].xpub.getXpubBalance();
82
-
83
- expect(balance1.toNumber()).toEqual(5700000000);
84
- });
85
-
86
- it("should show 7btc balance now", async () => {
87
- const { address } = await xpubs[0].xpub.getNewAddress(0, 0);
88
-
89
- try {
90
- await axios.post("http://localhost:28443/chain/clear/all");
91
- await axios.post(
92
- `http://localhost:28443/chain/mine/2N1MYgVbjLgveWPSicdScTAsYSDYEzyg7vd/1`
93
- );
94
- await axios.post(`http://localhost:28443/chain/faucet/${address}/7.0`);
95
- } catch (e) {
96
- // eslint-disable-next-line no-console
97
- console.log("praline setup error", e);
98
- throw e;
99
- }
100
-
101
- // time for explorer to sync
102
- await sleep(80000);
103
-
104
- try {
105
- await xpubs[0].xpub.sync();
106
- } catch (e) {
107
- // eslint-disable-next-line no-console
108
- console.log("praline explorer setup error", e);
109
- throw e;
110
- }
111
-
112
- const balance1 = await xpubs[0].xpub.getXpubBalance();
113
- expect(balance1.toNumber()).toEqual(700000000);
114
- }, 160000);
115
-
116
- it("should not remove any txs if there is no reorg", async () => {
117
- const old = xpubs[0].xpub.storage.removeTxs;
118
- xpubs[0].xpub.storage.removeTxs = async () => {
119
- throw new Error("Should not be called");
120
- };
121
-
122
- try {
123
- await xpubs[0].xpub.sync();
124
- } catch (e) {
125
- // eslint-disable-next-line no-console
126
- console.log("praline explorer setup error", e);
127
- throw e;
128
- }
129
-
130
- const balance1 = await xpubs[0].xpub.getXpubBalance();
131
- expect(balance1.toNumber()).toEqual(700000000);
132
-
133
- xpubs[0].xpub.storage.removeTxs = old;
134
- }, 60000);
135
- });
@@ -1,74 +0,0 @@
1
- // import path from 'path';
2
- // import fs from 'fs';
3
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
4
- // @ts-ignore
5
- import coininfo from "coininfo";
6
- import { zipObject } from "lodash";
7
- import { DerivationModes } from "../../../../families/bitcoin/wallet-btc/types";
8
- import BitcoinLikeStorage from "../../../../families/bitcoin/wallet-btc/storage";
9
- import BitcoinLikeExplorer from "../../../../families/bitcoin/wallet-btc/explorer";
10
- import Crypto from "../../../../families/bitcoin/wallet-btc/crypto/bitcoin";
11
- import Xpub from "../../../../families/bitcoin/wallet-btc/xpub";
12
-
13
- describe("synced xpub utilites functions", () => {
14
- const explorer = new BitcoinLikeExplorer({
15
- explorerURI: "https://explorers.api.vault.ledger.com/blockchain/v3/btc",
16
- explorerVersion: "v3",
17
- });
18
- const crypto = new Crypto({
19
- network: coininfo.bitcoin.main.toBitcoinJS(),
20
- });
21
-
22
- describe("xpub xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz Legacy", () => {
23
- const xpubraw =
24
- "xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz";
25
- // const truthDump = path.join(__dirname, 'data', 'sync', `${xpubraw}.json`);
26
- const storage = new BitcoinLikeStorage();
27
- const xpub = new Xpub({
28
- storage,
29
- explorer,
30
- crypto,
31
- xpub: xpubraw,
32
- derivationMode: DerivationModes.LEGACY,
33
- });
34
-
35
- beforeAll(async () => {
36
- await xpub.sync();
37
- }, 30000);
38
-
39
- it("should compute accounts/addresses/balances correctly", async () => {
40
- const addresses = await xpub.getXpubAddresses();
41
- expect(addresses.length).toEqual(15);
42
-
43
- expect((await xpub.getAccountAddresses(0)).length).toEqual(15);
44
-
45
- expect((await xpub.getXpubBalance()).toNumber()).toEqual(12688908);
46
- expect((await xpub.getAccountBalance(0)).toNumber()).toEqual(12688908);
47
- const addressesBalances = await Promise.all(
48
- addresses.map((address) => xpub.getAddressBalance(address))
49
- );
50
- expect(
51
- zipObject(
52
- addresses.map((address) => address.address),
53
- addressesBalances.map((balance) => balance.toNumber())
54
- )
55
- ).toEqual({
56
- "12iNxzdF6KFZ14UyRTYCRuptxkKSSVHzqF": 0,
57
- "15NvG6YpVh2aUc3DroVttEcWa1Z99qhACP": 1000,
58
- "15xANZb5vJv5RGL263NFuh8UGgHT7noXeZ": 100000,
59
- "1687EJf5YEmeEtcscnuJPiV5b8HkM1o98q": 40160,
60
- "16HH35ASv5rL8ZaaqdzvrJKTAKTucdKKNP": 656,
61
- "16ZBYSHkLkRFHAuZvyzosXYgU1UDJxRV1R": 100000,
62
- "1Ahipz531XtbzGC1bEKbhHZXmyfWKPNy32": 1000,
63
- "1CcEugXu9Yf9Qw5cpB8gHUK4X9683WyghM": 8747,
64
- "1EHeVKfjjq6FJpix86G2yzFeRbZ6RNg2Zm": 100000,
65
- "1EfgV2Hr5CDjXPavHDpDMjmU33BA2veHy6": 10665,
66
- "1HqsYkwczwvkMXCobk5WPZmhj2S2TK613Z": 40161,
67
- "1KhVznhEQHumfmMQWnkgXLT4BmvtNpwLN9": 12183719,
68
- "1LDPJCMZhYZjTvTGYahdhMXLuMfjfi6Kua": 1000,
69
- "1MS6eGqD4iUGyJPbEsjqmoNaRhApgtmF8J": 1800,
70
- "1PJMBXKBYEBMRDmpAoBRbDff26gHJrawSp": 100000,
71
- });
72
- });
73
- });
74
- });