@ledgerhq/live-common 27.0.0-next.2 → 27.0.1-next.0

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 (423) hide show
  1. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +2 -2
  2. package/lib/__tests__/test-helpers/environment.d.ts +2 -0
  3. package/lib/__tests__/test-helpers/environment.d.ts.map +1 -0
  4. package/lib/__tests__/test-helpers/environment.js +107 -0
  5. package/lib/__tests__/test-helpers/environment.js.map +1 -0
  6. package/lib/__tests__/test-helpers/setup.d.ts +1 -1
  7. package/lib/__tests__/test-helpers/setup.d.ts.map +1 -1
  8. package/lib/__tests__/test-helpers/setup.js +1 -101
  9. package/lib/__tests__/test-helpers/setup.js.map +1 -1
  10. package/lib/account/importAccounts.d.ts +35 -2
  11. package/lib/account/importAccounts.d.ts.map +1 -1
  12. package/lib/account/importAccounts.integration.test.d.ts +2 -0
  13. package/lib/account/importAccounts.integration.test.d.ts.map +1 -0
  14. package/lib/account/importAccounts.integration.test.js +219 -0
  15. package/lib/account/importAccounts.integration.test.js.map +1 -0
  16. package/lib/account/importAccounts.js +130 -12
  17. package/lib/account/importAccounts.js.map +1 -1
  18. package/lib/account/importAccounts.test.d.ts +2 -0
  19. package/lib/account/importAccounts.test.d.ts.map +1 -0
  20. package/lib/{__tests__/accounts/importAccounts.js → account/importAccounts.test.js} +44 -64
  21. package/lib/account/importAccounts.test.js.map +1 -0
  22. package/lib/account/serialization.d.ts.map +1 -1
  23. package/lib/account/serialization.js +83 -40
  24. package/lib/account/serialization.js.map +1 -1
  25. package/lib/bot/bot-test-context.d.ts +3 -0
  26. package/lib/bot/bot-test-context.d.ts.map +1 -0
  27. package/lib/bot/bot-test-context.js +26 -0
  28. package/lib/bot/bot-test-context.js.map +1 -0
  29. package/lib/bot/bot-test-context.test.d.ts +2 -0
  30. package/lib/bot/bot-test-context.test.d.ts.map +1 -0
  31. package/lib/bot/bot-test-context.test.js +41 -0
  32. package/lib/bot/bot-test-context.test.js.map +1 -0
  33. package/lib/bot/cli.d.ts +2 -0
  34. package/lib/bot/cli.d.ts.map +1 -0
  35. package/lib/bot/cli.js +14 -0
  36. package/lib/bot/cli.js.map +1 -0
  37. package/lib/bot/engine.d.ts +5 -5
  38. package/lib/bot/engine.d.ts.map +1 -1
  39. package/lib/bot/engine.js +161 -112
  40. package/lib/bot/engine.js.map +1 -1
  41. package/lib/bot/formatters.d.ts +2 -2
  42. package/lib/bot/formatters.d.ts.map +1 -1
  43. package/lib/bot/formatters.js +41 -15
  44. package/lib/bot/formatters.js.map +1 -1
  45. package/lib/bot/index.d.ts +1 -1
  46. package/lib/bot/index.d.ts.map +1 -1
  47. package/lib/bot/index.js +90 -15
  48. package/lib/bot/index.js.map +1 -1
  49. package/lib/bot/specs.d.ts +2 -1
  50. package/lib/bot/specs.d.ts.map +1 -1
  51. package/lib/bot/specs.js +13 -9
  52. package/lib/bot/specs.js.map +1 -1
  53. package/lib/bot/types.d.ts +5 -2
  54. package/lib/bot/types.d.ts.map +1 -1
  55. package/lib/countervalues/logic.integration.test.js +65 -0
  56. package/lib/countervalues/logic.integration.test.js.map +1 -1
  57. package/lib/countervalues/modules/weth.d.ts.map +1 -1
  58. package/lib/countervalues/modules/weth.js +5 -10
  59. package/lib/countervalues/modules/weth.js.map +1 -1
  60. package/lib/currencies/sortByMarketcap.d.ts +0 -2
  61. package/lib/currencies/sortByMarketcap.d.ts.map +1 -1
  62. package/lib/currencies/sortByMarketcap.js +3 -17
  63. package/lib/currencies/sortByMarketcap.js.map +1 -1
  64. package/lib/currencies/sortByMarketcap.test.js +0 -5
  65. package/lib/currencies/sortByMarketcap.test.js.map +1 -1
  66. package/lib/env.js +1 -1
  67. package/lib/families/algorand/specs.d.ts.map +1 -1
  68. package/lib/families/algorand/specs.js +18 -10
  69. package/lib/families/algorand/specs.js.map +1 -1
  70. package/lib/families/algorand/speculos-deviceActions.d.ts +1 -4
  71. package/lib/families/algorand/speculos-deviceActions.d.ts.map +1 -1
  72. package/lib/families/algorand/speculos-deviceActions.js +25 -8
  73. package/lib/families/algorand/speculos-deviceActions.js.map +1 -1
  74. package/lib/families/bitcoin/bridge/mock.d.ts.map +1 -1
  75. package/lib/families/bitcoin/bridge/mock.js +6 -1
  76. package/lib/families/bitcoin/bridge/mock.js.map +1 -1
  77. package/lib/families/bitcoin/datasets/bitcoin_cash.d.ts.map +1 -1
  78. package/lib/families/bitcoin/datasets/bitcoin_cash.js +1 -1
  79. package/lib/families/bitcoin/datasets/bitcoin_cash.js.map +1 -1
  80. package/lib/families/bitcoin/datasets/dash.d.ts.map +1 -1
  81. package/lib/families/bitcoin/datasets/dash.js +1 -1
  82. package/lib/families/bitcoin/datasets/dash.js.map +1 -1
  83. package/lib/families/bitcoin/datasets/decred.d.ts.map +1 -1
  84. package/lib/families/bitcoin/datasets/decred.js +1 -1
  85. package/lib/families/bitcoin/datasets/decred.js.map +1 -1
  86. package/lib/families/bitcoin/datasets/digibyte.d.ts.map +1 -1
  87. package/lib/families/bitcoin/datasets/digibyte.js +8 -2
  88. package/lib/families/bitcoin/datasets/digibyte.js.map +1 -1
  89. package/lib/families/bitcoin/datasets/dogecoin.d.ts.map +1 -1
  90. package/lib/families/bitcoin/datasets/dogecoin.js +1 -1
  91. package/lib/families/bitcoin/datasets/dogecoin.js.map +1 -1
  92. package/lib/families/bitcoin/datasets/komodo.js +1 -1
  93. package/lib/families/bitcoin/datasets/komodo.js.map +1 -1
  94. package/lib/families/bitcoin/datasets/litecoin.d.ts.map +1 -1
  95. package/lib/families/bitcoin/datasets/litecoin.js +8 -2
  96. package/lib/families/bitcoin/datasets/litecoin.js.map +1 -1
  97. package/lib/families/bitcoin/datasets/peercoin.js +1 -1
  98. package/lib/families/bitcoin/datasets/peercoin.js.map +1 -1
  99. package/lib/families/bitcoin/datasets/pivx.js +1 -1
  100. package/lib/families/bitcoin/datasets/pivx.js.map +1 -1
  101. package/lib/families/bitcoin/datasets/qtum.js +1 -1
  102. package/lib/families/bitcoin/datasets/qtum.js.map +1 -1
  103. package/lib/families/bitcoin/datasets/stakenet.d.ts.map +1 -1
  104. package/lib/families/bitcoin/datasets/stakenet.js +1 -1
  105. package/lib/families/bitcoin/datasets/stakenet.js.map +1 -1
  106. package/lib/families/bitcoin/datasets/vertcoin.d.ts.map +1 -1
  107. package/lib/families/bitcoin/datasets/vertcoin.js +1 -1
  108. package/lib/families/bitcoin/datasets/vertcoin.js.map +1 -1
  109. package/lib/families/bitcoin/datasets/viacoin.d.ts.map +1 -1
  110. package/lib/families/bitcoin/datasets/viacoin.js +1 -1
  111. package/lib/families/bitcoin/datasets/viacoin.js.map +1 -1
  112. package/lib/families/bitcoin/datasets/zcash.d.ts.map +1 -1
  113. package/lib/families/bitcoin/datasets/zcash.js +1 -1
  114. package/lib/families/bitcoin/datasets/zcash.js.map +1 -1
  115. package/lib/families/bitcoin/datasets/zencash.d.ts.map +1 -1
  116. package/lib/families/bitcoin/datasets/zencash.js +1 -1
  117. package/lib/families/bitcoin/datasets/zencash.js.map +1 -1
  118. package/lib/families/bitcoin/platformAdapter.test.d.ts +2 -0
  119. package/lib/families/bitcoin/platformAdapter.test.d.ts.map +1 -0
  120. package/lib/families/bitcoin/platformAdapter.test.js +48 -0
  121. package/lib/families/bitcoin/platformAdapter.test.js.map +1 -0
  122. package/lib/families/bitcoin/specs.d.ts.map +1 -1
  123. package/lib/families/bitcoin/specs.js +62 -24
  124. package/lib/families/bitcoin/specs.js.map +1 -1
  125. package/lib/families/bitcoin/speculos-deviceActions.d.ts +1 -4
  126. package/lib/families/bitcoin/speculos-deviceActions.d.ts.map +1 -1
  127. package/lib/families/bitcoin/speculos-deviceActions.js +2 -4
  128. package/lib/families/bitcoin/speculos-deviceActions.js.map +1 -1
  129. package/lib/families/cardano/js-estimateMaxSpendable.js +1 -1
  130. package/lib/families/cardano/js-estimateMaxSpendable.js.map +1 -1
  131. package/lib/families/cardano/specs.d.ts.map +1 -1
  132. package/lib/families/cardano/specs.js +19 -8
  133. package/lib/families/cardano/specs.js.map +1 -1
  134. package/lib/families/cardano/speculos-deviceActions.d.ts +1 -4
  135. package/lib/families/cardano/speculos-deviceActions.d.ts.map +1 -1
  136. package/lib/families/cardano/speculos-deviceActions.js +2 -2
  137. package/lib/families/cardano/speculos-deviceActions.js.map +1 -1
  138. package/lib/families/celo/specs.d.ts.map +1 -1
  139. package/lib/families/celo/specs.js +2 -0
  140. package/lib/families/celo/specs.js.map +1 -1
  141. package/lib/families/celo/speculos-deviceActions.d.ts +1 -4
  142. package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -1
  143. package/lib/families/celo/speculos-deviceActions.js +2 -4
  144. package/lib/families/celo/speculos-deviceActions.js.map +1 -1
  145. package/lib/families/cosmos/specs.d.ts.map +1 -1
  146. package/lib/families/cosmos/specs.js +41 -25
  147. package/lib/families/cosmos/specs.js.map +1 -1
  148. package/lib/families/cosmos/speculos-deviceActions.d.ts +1 -4
  149. package/lib/families/cosmos/speculos-deviceActions.d.ts.map +1 -1
  150. package/lib/families/cosmos/speculos-deviceActions.js +2 -4
  151. package/lib/families/cosmos/speculos-deviceActions.js.map +1 -1
  152. package/lib/families/crypto_org/specs.d.ts.map +1 -1
  153. package/lib/families/crypto_org/specs.js +3 -0
  154. package/lib/families/crypto_org/specs.js.map +1 -1
  155. package/lib/families/crypto_org/speculos-deviceActions.d.ts +1 -4
  156. package/lib/families/crypto_org/speculos-deviceActions.d.ts.map +1 -1
  157. package/lib/families/crypto_org/speculos-deviceActions.js +2 -2
  158. package/lib/families/crypto_org/speculos-deviceActions.js.map +1 -1
  159. package/lib/families/elrond/specs.d.ts.map +1 -1
  160. package/lib/families/elrond/specs.js +15 -2
  161. package/lib/families/elrond/specs.js.map +1 -1
  162. package/lib/families/elrond/speculos-deviceActions.d.ts +1 -4
  163. package/lib/families/elrond/speculos-deviceActions.d.ts.map +1 -1
  164. package/lib/families/elrond/speculos-deviceActions.js +2 -4
  165. package/lib/families/elrond/speculos-deviceActions.js.map +1 -1
  166. package/lib/families/ethereum/platformAdapter.test.d.ts +2 -0
  167. package/lib/families/ethereum/platformAdapter.test.d.ts.map +1 -0
  168. package/lib/families/ethereum/platformAdapter.test.js +88 -0
  169. package/lib/families/ethereum/platformAdapter.test.js.map +1 -0
  170. package/lib/families/ethereum/specs.d.ts.map +1 -1
  171. package/lib/families/ethereum/specs.js +36 -12
  172. package/lib/families/ethereum/specs.js.map +1 -1
  173. package/lib/families/ethereum/speculos-deviceActions.d.ts +1 -4
  174. package/lib/families/ethereum/speculos-deviceActions.d.ts.map +1 -1
  175. package/lib/families/ethereum/speculos-deviceActions.js +2 -4
  176. package/lib/families/ethereum/speculos-deviceActions.js.map +1 -1
  177. package/lib/families/filecoin/specs.d.ts.map +1 -1
  178. package/lib/families/filecoin/specs.js +2 -0
  179. package/lib/families/filecoin/specs.js.map +1 -1
  180. package/lib/families/filecoin/speculos-deviceActions.d.ts +1 -4
  181. package/lib/families/filecoin/speculos-deviceActions.d.ts.map +1 -1
  182. package/lib/families/filecoin/speculos-deviceActions.js +2 -2
  183. package/lib/families/filecoin/speculos-deviceActions.js.map +1 -1
  184. package/lib/families/hedera/specs.d.ts.map +1 -1
  185. package/lib/families/hedera/specs.js +11 -3
  186. package/lib/families/hedera/specs.js.map +1 -1
  187. package/lib/families/hedera/speculos-deviceActions.d.ts +1 -4
  188. package/lib/families/hedera/speculos-deviceActions.d.ts.map +1 -1
  189. package/lib/families/hedera/speculos-deviceActions.js +4 -4
  190. package/lib/families/hedera/speculos-deviceActions.js.map +1 -1
  191. package/lib/families/osmosis/specs.d.ts.map +1 -1
  192. package/lib/families/osmosis/specs.js +13 -5
  193. package/lib/families/osmosis/specs.js.map +1 -1
  194. package/lib/families/osmosis/speculos-deviceActions.d.ts +1 -4
  195. package/lib/families/osmosis/speculos-deviceActions.d.ts.map +1 -1
  196. package/lib/families/osmosis/speculos-deviceActions.js +2 -4
  197. package/lib/families/osmosis/speculos-deviceActions.js.map +1 -1
  198. package/lib/families/polkadot/platformAdapter.test.d.ts +2 -0
  199. package/lib/families/polkadot/platformAdapter.test.d.ts.map +1 -0
  200. package/lib/families/polkadot/platformAdapter.test.js +51 -0
  201. package/lib/families/polkadot/platformAdapter.test.js.map +1 -0
  202. package/lib/families/polkadot/specs.d.ts.map +1 -1
  203. package/lib/families/polkadot/specs.js +12 -1
  204. package/lib/families/polkadot/specs.js.map +1 -1
  205. package/lib/families/polkadot/speculos-deviceActions.d.ts +1 -4
  206. package/lib/families/polkadot/speculos-deviceActions.d.ts.map +1 -1
  207. package/lib/families/polkadot/speculos-deviceActions.js +2 -4
  208. package/lib/families/polkadot/speculos-deviceActions.js.map +1 -1
  209. package/lib/families/ripple/platformAdapter.test.d.ts +2 -0
  210. package/lib/families/ripple/platformAdapter.test.d.ts.map +1 -0
  211. package/lib/families/ripple/platformAdapter.test.js +51 -0
  212. package/lib/families/ripple/platformAdapter.test.js.map +1 -0
  213. package/lib/families/ripple/specs.d.ts.map +1 -1
  214. package/lib/families/ripple/specs.js +9 -4
  215. package/lib/families/ripple/specs.js.map +1 -1
  216. package/lib/families/ripple/speculos-deviceActions.d.ts +1 -4
  217. package/lib/families/ripple/speculos-deviceActions.d.ts.map +1 -1
  218. package/lib/families/ripple/speculos-deviceActions.js +2 -4
  219. package/lib/families/ripple/speculos-deviceActions.js.map +1 -1
  220. package/lib/families/solana/specs.d.ts.map +1 -1
  221. package/lib/families/solana/specs.js +29 -11
  222. package/lib/families/solana/specs.js.map +1 -1
  223. package/lib/families/solana/speculos-deviceActions.d.ts +0 -5
  224. package/lib/families/solana/speculos-deviceActions.d.ts.map +1 -1
  225. package/lib/families/solana/speculos-deviceActions.js +0 -4
  226. package/lib/families/solana/speculos-deviceActions.js.map +1 -1
  227. package/lib/families/stellar/api/horizon.d.ts.map +1 -1
  228. package/lib/families/stellar/api/horizon.js +15 -10
  229. package/lib/families/stellar/api/horizon.js.map +1 -1
  230. package/lib/families/stellar/specs.d.ts.map +1 -1
  231. package/lib/families/stellar/specs.js +30 -12
  232. package/lib/families/stellar/specs.js.map +1 -1
  233. package/lib/families/stellar/speculos-deviceActions.d.ts +1 -4
  234. package/lib/families/stellar/speculos-deviceActions.d.ts.map +1 -1
  235. package/lib/families/stellar/speculos-deviceActions.js +2 -4
  236. package/lib/families/stellar/speculos-deviceActions.js.map +1 -1
  237. package/lib/families/tezos/bakers.whitelist-default.d.ts.map +1 -1
  238. package/lib/families/tezos/bakers.whitelist-default.js +1 -1
  239. package/lib/families/tezos/bakers.whitelist-default.js.map +1 -1
  240. package/lib/families/tezos/specs.d.ts.map +1 -1
  241. package/lib/families/tezos/specs.js +2 -0
  242. package/lib/families/tezos/specs.js.map +1 -1
  243. package/lib/families/tezos/speculos-deviceActions.d.ts +1 -4
  244. package/lib/families/tezos/speculos-deviceActions.d.ts.map +1 -1
  245. package/lib/families/tezos/speculos-deviceActions.js +2 -2
  246. package/lib/families/tezos/speculos-deviceActions.js.map +1 -1
  247. package/lib/families/tron/specs.d.ts.map +1 -1
  248. package/lib/families/tron/specs.js +49 -17
  249. package/lib/families/tron/specs.js.map +1 -1
  250. package/lib/families/tron/speculos-deviceActions.d.ts +1 -4
  251. package/lib/families/tron/speculos-deviceActions.d.ts.map +1 -1
  252. package/lib/families/tron/speculos-deviceActions.js +2 -4
  253. package/lib/families/tron/speculos-deviceActions.js.map +1 -1
  254. package/lib/hw/getGenuineCheckFromDeviceId.d.ts +22 -0
  255. package/lib/hw/getGenuineCheckFromDeviceId.d.ts.map +1 -0
  256. package/lib/hw/getGenuineCheckFromDeviceId.js +49 -0
  257. package/lib/hw/getGenuineCheckFromDeviceId.js.map +1 -0
  258. package/lib/hw/getGenuineCheckFromDeviceId.test.d.ts +2 -0
  259. package/lib/hw/getGenuineCheckFromDeviceId.test.d.ts.map +1 -0
  260. package/lib/hw/getGenuineCheckFromDeviceId.test.js +84 -0
  261. package/lib/hw/getGenuineCheckFromDeviceId.test.js.map +1 -0
  262. package/lib/hw/getLatestAvailableFirmwareFromDeviceId.d.ts +17 -0
  263. package/lib/hw/getLatestAvailableFirmwareFromDeviceId.d.ts.map +1 -0
  264. package/lib/hw/getLatestAvailableFirmwareFromDeviceId.js +27 -0
  265. package/lib/hw/getLatestAvailableFirmwareFromDeviceId.js.map +1 -0
  266. package/lib/hw/hooks/useGenuineCheck.d.ts +34 -0
  267. package/lib/hw/hooks/useGenuineCheck.d.ts.map +1 -0
  268. package/lib/hw/hooks/useGenuineCheck.js +115 -0
  269. package/lib/hw/hooks/useGenuineCheck.js.map +1 -0
  270. package/lib/hw/hooks/useGenuineCheck.test.d.ts +2 -0
  271. package/lib/hw/hooks/useGenuineCheck.test.d.ts.map +1 -0
  272. package/lib/hw/hooks/useGenuineCheck.test.js +316 -0
  273. package/lib/hw/hooks/useGenuineCheck.test.js.map +1 -0
  274. package/lib/hw/hooks/useGetLatestAvailableFirmware.d.ts +29 -0
  275. package/lib/hw/hooks/useGetLatestAvailableFirmware.d.ts.map +1 -0
  276. package/lib/hw/hooks/useGetLatestAvailableFirmware.js +72 -0
  277. package/lib/hw/hooks/useGetLatestAvailableFirmware.js.map +1 -0
  278. package/lib/hw/hooks/useGetLatestAvailableFirmware.test.d.ts +2 -0
  279. package/lib/hw/hooks/useGetLatestAvailableFirmware.test.d.ts.map +1 -0
  280. package/lib/hw/hooks/useGetLatestAvailableFirmware.test.js +155 -0
  281. package/lib/hw/hooks/useGetLatestAvailableFirmware.test.js.map +1 -0
  282. package/lib/load/speculos.d.ts +1 -0
  283. package/lib/load/speculos.d.ts.map +1 -1
  284. package/lib/load/speculos.js +2 -1
  285. package/lib/load/speculos.js.map +1 -1
  286. package/lib/mock/fixtures/cryptoCurrencies.d.ts +5 -0
  287. package/lib/mock/fixtures/cryptoCurrencies.d.ts.map +1 -0
  288. package/lib/mock/fixtures/cryptoCurrencies.js +91 -0
  289. package/lib/mock/fixtures/cryptoCurrencies.js.map +1 -0
  290. package/lib/platform/converters.test.js +44 -218
  291. package/lib/platform/converters.test.js.map +1 -1
  292. package/lib/platform/logic.d.ts +44 -0
  293. package/lib/platform/logic.d.ts.map +1 -1
  294. package/lib/platform/logic.js +147 -1
  295. package/lib/platform/logic.js.map +1 -1
  296. package/lib/platform/logic.test.d.ts +2 -0
  297. package/lib/platform/logic.test.d.ts.map +1 -0
  298. package/lib/platform/logic.test.js +903 -0
  299. package/lib/platform/logic.test.js.map +1 -0
  300. package/lib/platform/react.d.ts +6 -0
  301. package/lib/platform/react.d.ts.map +1 -1
  302. package/lib/platform/react.js +6 -0
  303. package/lib/platform/react.js.map +1 -1
  304. package/lib/platform/tracking.d.ts +1 -1
  305. package/lib/platform/tracking.d.ts.map +1 -1
  306. package/lib/platform/tracking.test.js +14 -41
  307. package/lib/platform/tracking.test.js.map +1 -1
  308. package/lib/reconciliation.d.ts.map +1 -1
  309. package/lib/reconciliation.js +28 -10
  310. package/lib/reconciliation.js.map +1 -1
  311. package/package.json +19 -20
  312. package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +2 -2
  313. package/src/__tests__/test-helpers/environment.ts +91 -0
  314. package/src/__tests__/test-helpers/setup.ts +2 -91
  315. package/src/account/importAccounts.integration.test.ts +193 -0
  316. package/src/{__tests__/accounts/importAccounts.ts → account/importAccounts.test.ts} +39 -59
  317. package/src/account/importAccounts.ts +103 -12
  318. package/src/account/serialization.ts +103 -64
  319. package/src/bot/bot-test-context.test.ts +37 -0
  320. package/src/bot/bot-test-context.ts +24 -0
  321. package/src/bot/cli.ts +18 -0
  322. package/src/bot/engine.ts +109 -73
  323. package/src/bot/formatters.ts +40 -14
  324. package/src/bot/index.ts +124 -18
  325. package/src/bot/specs.ts +10 -5
  326. package/src/bot/types.ts +7 -3
  327. package/src/countervalues/logic.integration.test.ts +50 -0
  328. package/src/countervalues/modules/weth.ts +9 -12
  329. package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +59 -1
  330. package/src/currencies/sortByMarketcap.test.ts +1 -12
  331. package/src/currencies/sortByMarketcap.ts +2 -22
  332. package/src/env.ts +1 -1
  333. package/src/families/algorand/__snapshots__/bridge.integration.test.ts.snap +733 -8
  334. package/src/families/algorand/specs.ts +26 -16
  335. package/src/families/algorand/speculos-deviceActions.ts +31 -10
  336. package/src/families/bitcoin/__snapshots__/bridge.integration.test.ts.snap +43309 -7957
  337. package/src/families/bitcoin/bridge/mock.ts +7 -1
  338. package/src/families/bitcoin/datasets/bitcoin_cash.ts +73 -13
  339. package/src/families/bitcoin/datasets/dash.ts +29 -17
  340. package/src/families/bitcoin/datasets/decred.ts +42 -12
  341. package/src/families/bitcoin/datasets/digibyte.ts +9 -3
  342. package/src/families/bitcoin/datasets/dogecoin.ts +29 -17
  343. package/src/families/bitcoin/datasets/komodo.ts +22 -22
  344. package/src/families/bitcoin/datasets/litecoin.ts +9 -3
  345. package/src/families/bitcoin/datasets/peercoin.ts +17 -17
  346. package/src/families/bitcoin/datasets/pivx.ts +17 -17
  347. package/src/families/bitcoin/datasets/qtum.ts +40 -40
  348. package/src/families/bitcoin/datasets/stakenet.ts +56 -26
  349. package/src/families/bitcoin/datasets/vertcoin.ts +43 -55
  350. package/src/families/bitcoin/datasets/viacoin.ts +35 -23
  351. package/src/families/bitcoin/datasets/zcash.ts +78 -12
  352. package/src/families/bitcoin/datasets/zencash.ts +56 -10
  353. package/src/families/bitcoin/platformAdapter.test.ts +58 -0
  354. package/src/families/bitcoin/specs.ts +81 -41
  355. package/src/families/bitcoin/speculos-deviceActions.ts +68 -69
  356. package/src/families/cardano/js-estimateMaxSpendable.ts +1 -1
  357. package/src/families/cardano/specs.ts +28 -11
  358. package/src/families/cardano/speculos-deviceActions.ts +65 -66
  359. package/src/families/celo/specs.ts +2 -0
  360. package/src/families/celo/speculos-deviceActions.ts +42 -43
  361. package/src/families/cosmos/__snapshots__/bridge.integration.test.ts.snap +246 -5
  362. package/src/families/cosmos/specs.ts +44 -28
  363. package/src/families/cosmos/speculos-deviceActions.ts +82 -83
  364. package/src/families/crypto_org/specs.ts +3 -0
  365. package/src/families/crypto_org/speculos-deviceActions.ts +58 -59
  366. package/src/families/elrond/specs.ts +21 -4
  367. package/src/families/elrond/speculos-deviceActions.ts +41 -42
  368. package/src/families/ethereum/__snapshots__/bridge.integration.test.ts.snap +90 -90
  369. package/src/families/ethereum/platformAdapter.test.ts +112 -0
  370. package/src/families/ethereum/specs.ts +47 -23
  371. package/src/families/ethereum/speculos-deviceActions.ts +93 -95
  372. package/src/families/filecoin/specs.ts +2 -1
  373. package/src/families/filecoin/speculos-deviceActions.ts +61 -62
  374. package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +57 -2
  375. package/src/families/hedera/specs.ts +13 -5
  376. package/src/families/hedera/speculos-deviceActions.ts +59 -60
  377. package/src/families/osmosis/specs.ts +15 -7
  378. package/src/families/osmosis/speculos-deviceActions.ts +82 -83
  379. package/src/families/polkadot/platformAdapter.test.ts +61 -0
  380. package/src/families/polkadot/specs.ts +20 -2
  381. package/src/families/polkadot/speculos-deviceActions.ts +83 -82
  382. package/src/families/ripple/platformAdapter.test.ts +54 -0
  383. package/src/families/ripple/specs.ts +14 -7
  384. package/src/families/ripple/speculos-deviceActions.ts +72 -73
  385. package/src/families/solana/specs.ts +33 -14
  386. package/src/families/solana/speculos-deviceActions.ts +0 -5
  387. package/src/families/stellar/api/horizon.ts +10 -6
  388. package/src/families/stellar/specs.ts +37 -19
  389. package/src/families/stellar/speculos-deviceActions.ts +85 -87
  390. package/src/families/tezos/bakers.whitelist-default.ts +0 -1
  391. package/src/families/tezos/specs.ts +2 -0
  392. package/src/families/tezos/speculos-deviceActions.ts +76 -77
  393. package/src/families/tron/specs.ts +67 -30
  394. package/src/families/tron/speculos-deviceActions.ts +81 -84
  395. package/src/hw/getGenuineCheckFromDeviceId.test.ts +98 -0
  396. package/src/hw/getGenuineCheckFromDeviceId.ts +61 -0
  397. package/src/hw/getLatestAvailableFirmwareFromDeviceId.ts +37 -0
  398. package/src/hw/hooks/useGenuineCheck.test.ts +232 -0
  399. package/src/hw/hooks/useGenuineCheck.ts +138 -0
  400. package/src/hw/hooks/useGetLatestAvailableFirmware.test.ts +111 -0
  401. package/src/hw/hooks/useGetLatestAvailableFirmware.ts +90 -0
  402. package/src/load/speculos.ts +2 -0
  403. package/src/mock/fixtures/cryptoCurrencies.ts +88 -0
  404. package/src/platform/converters.test.ts +49 -282
  405. package/src/platform/logic.test.ts +756 -0
  406. package/src/platform/logic.ts +285 -0
  407. package/src/platform/react.ts +6 -0
  408. package/src/platform/tracking.test.ts +6 -7
  409. package/src/platform/tracking.ts +1 -1
  410. package/src/reconciliation.ts +66 -43
  411. package/lib/__tests__/accounts/importAccounts.d.ts +0 -2
  412. package/lib/__tests__/accounts/importAccounts.d.ts.map +0 -1
  413. package/lib/__tests__/accounts/importAccounts.js.map +0 -1
  414. package/lib/bot/test.bot.d.ts +0 -2
  415. package/lib/bot/test.bot.d.ts.map +0 -1
  416. package/lib/bot/test.bot.js +0 -62
  417. package/lib/bot/test.bot.js.map +0 -1
  418. package/lib/generated/speculos-deviceActions.d.ts +0 -56
  419. package/lib/generated/speculos-deviceActions.d.ts.map +0 -1
  420. package/lib/generated/speculos-deviceActions.js +0 -42
  421. package/lib/generated/speculos-deviceActions.js.map +0 -1
  422. package/src/bot/test.bot.ts +0 -21
  423. package/src/generated/speculos-deviceActions.ts +0 -37
@@ -261,7 +261,7 @@ describe("xpub integration sync", function () {
261
261
  balance: 200000000,
262
262
  network: coininfo_1["default"].bitcoin.main.toBitcoinJS(),
263
263
  coin: "kmd",
264
- explorerVersion: "v2"
264
+ explorerVersion: "v3"
265
265
  },
266
266
  {
267
267
  xpub: "ToEA6kVVodfRW2DuuMjPPMsLLukY4EsScxdHYJkTtdopPD5Z5t9gpB2zEwpschy7rFzTqxQCXQFUBnxT5MAnfkNT4dkWqtHPE2L7bG7GC24XnLy",
@@ -270,7 +270,7 @@ describe("xpub integration sync", function () {
270
270
  balance: 400000000,
271
271
  network: coininfo_1["default"].bitcoin.main.toBitcoinJS(),
272
272
  coin: "pivx",
273
- explorerVersion: "v2"
273
+ explorerVersion: "v3"
274
274
  },
275
275
  {
276
276
  xpub: "XSTpb6G8xAzX1fqbWuzTSrcwqtvtEcnVinz7EtjJ6rBxmKmJ4XWSrTbNhvabfe4FXWc7cyUUxwgzsJDFeubQEx1dZPvMncd7LycUhXSShHikr8AN",
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/environment.ts"],"names":[],"mappings":""}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ exports.__esModule = true;
28
+ var winston_1 = __importDefault(require("winston"));
29
+ var logs_1 = require("@ledgerhq/logs");
30
+ var currencies_1 = require("../../currencies");
31
+ var version_1 = require("../../platform/version");
32
+ var env_1 = require("../../env");
33
+ (0, version_1.setPlatformVersion)("1.1.0");
34
+ (0, currencies_1.setSupportedCurrencies)([
35
+ "bitcoin",
36
+ "ethereum",
37
+ "bsc",
38
+ "polygon",
39
+ "elrond",
40
+ "ripple",
41
+ "bitcoin_cash",
42
+ "litecoin",
43
+ "dash",
44
+ "ethereum_classic",
45
+ "tezos",
46
+ "qtum",
47
+ "zcash",
48
+ "bitcoin_gold",
49
+ "stratis",
50
+ "dogecoin",
51
+ "digibyte",
52
+ "komodo",
53
+ "pivx",
54
+ "zencash",
55
+ "vertcoin",
56
+ "peercoin",
57
+ "viacoin",
58
+ "stakenet",
59
+ "stealthcoin",
60
+ "decred",
61
+ "tron",
62
+ "stellar",
63
+ "cosmos",
64
+ "algorand",
65
+ "polkadot",
66
+ "bitcoin_testnet",
67
+ "ethereum_ropsten",
68
+ "ethereum_goerli",
69
+ "cosmos_testnet",
70
+ "crypto_org_croeseid",
71
+ "crypto_org",
72
+ "filecoin",
73
+ "solana",
74
+ "celo",
75
+ "hedera",
76
+ "cardano",
77
+ "cardano_testnet",
78
+ "osmosis",
79
+ "filecoin",
80
+ ]);
81
+ for (var k in process.env)
82
+ (0, env_1.setEnvUnsafe)(k, process.env[k]);
83
+ var _a = process.env, VERBOSE = _a.VERBOSE, VERBOSE_FILE = _a.VERBOSE_FILE;
84
+ var logger = winston_1["default"].createLogger({
85
+ level: "debug",
86
+ transports: []
87
+ });
88
+ var format = winston_1["default"].format;
89
+ var combine = format.combine, timestamp = format.timestamp, json = format.json;
90
+ var winstonFormat = combine(timestamp(), json());
91
+ if (VERBOSE_FILE) {
92
+ logger.add(new winston_1["default"].transports.File({
93
+ format: winstonFormat,
94
+ filename: VERBOSE_FILE,
95
+ level: "debug"
96
+ }));
97
+ }
98
+ logger.add(new winston_1["default"].transports.Console({
99
+ format: winstonFormat,
100
+ silent: !VERBOSE
101
+ }));
102
+ // eslint-disable-next-line no-unused-vars
103
+ (0, logs_1.listen)(function (_a) {
104
+ var type = _a.type, message = _a.message, rest = __rest(_a, ["type", "message"]);
105
+ logger.log("debug", __assign({ message: type + (message ? ": " + message : "") }, rest));
106
+ });
107
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/environment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA8B;AAC9B,uCAAwC;AACxC,+CAA0D;AAC1D,kDAA4D;AAC5D,iCAAkD;AAElD,IAAA,4BAAkB,EAAC,OAAO,CAAC,CAAC;AAE5B,IAAA,mCAAsB,EAAC;IACrB,SAAS;IACT,UAAU;IACV,KAAK;IACL,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,UAAU;IACV,MAAM;IACN,kBAAkB;IAClB,OAAO;IACP,MAAM;IACN,OAAO;IACP,cAAc;IACd,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,aAAa;IACb,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,UAAU;IACV,UAAU;IACV,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,iBAAiB;IACjB,SAAS;IACT,UAAU;CACX,CAAC,CAAC;AAEH,KAAK,IAAM,CAAC,IAAI,OAAO,CAAC,GAAG;IAAE,IAAA,kBAAY,EAAC,CAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,IAAA,KAA4B,OAAO,CAAC,GAAG,EAArC,OAAO,aAAA,EAAE,YAAY,kBAAgB,CAAC;AAC9C,IAAM,MAAM,GAAG,oBAAO,CAAC,YAAY,CAAC;IAClC,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,EAAE;CACf,CAAC,CAAC;AACK,IAAA,MAAM,GAAK,oBAAO,OAAZ,CAAa;AACnB,IAAA,OAAO,GAAsB,MAAM,QAA5B,EAAE,SAAS,GAAW,MAAM,UAAjB,EAAE,IAAI,GAAK,MAAM,KAAX,CAAY;AAC5C,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnD,IAAI,YAAY,EAAE;IAChB,MAAM,CAAC,GAAG,CACR,IAAI,oBAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,OAAO;KACf,CAAC,CACH,CAAC;CACH;AAED,MAAM,CAAC,GAAG,CACR,IAAI,oBAAO,CAAC,UAAU,CAAC,OAAO,CAAC;IAC7B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,CAAC,OAAO;CACjB,CAAC,CACH,CAAC;AACF,0CAA0C;AAC1C,IAAA,aAAM,EAAC,UAAC,EAA0B;IAAxB,IAAA,IAAI,UAAA,EAAE,OAAO,aAAA,EAAK,IAAI,cAAxB,mBAA0B,CAAF;IAC9B,MAAM,CAAC,GAAG,CAAC,OAAO,aAChB,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAE5C,IAAI,EACP,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- export {};
1
+ import "./environment";
2
2
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/setup.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/setup.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC"}
@@ -1,36 +1,10 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
25
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
4
  };
27
5
  exports.__esModule = true;
28
- var winston_1 = __importDefault(require("winston"));
29
- var logs_1 = require("@ledgerhq/logs");
6
+ require("./environment");
30
7
  var bignumber_js_1 = __importDefault(require("bignumber.js"));
31
- var currencies_1 = require("../../currencies");
32
- var version_1 = require("../../platform/version");
33
- var env_1 = require("../../env");
34
8
  jest.setTimeout(360000);
35
9
  expect.extend({
36
10
  toBeBigNumber: function (value) {
@@ -41,78 +15,4 @@ expect.extend({
41
15
  return { message: message, pass: pass };
42
16
  }
43
17
  });
44
- (0, version_1.setPlatformVersion)("1.1.0");
45
- (0, currencies_1.setSupportedCurrencies)([
46
- "bitcoin",
47
- "ethereum",
48
- "bsc",
49
- "polygon",
50
- "elrond",
51
- "ripple",
52
- "bitcoin_cash",
53
- "litecoin",
54
- "dash",
55
- "ethereum_classic",
56
- "tezos",
57
- "qtum",
58
- "zcash",
59
- "bitcoin_gold",
60
- "stratis",
61
- "dogecoin",
62
- "digibyte",
63
- "komodo",
64
- "pivx",
65
- "zencash",
66
- "vertcoin",
67
- "peercoin",
68
- "viacoin",
69
- "stakenet",
70
- "stealthcoin",
71
- "decred",
72
- "tron",
73
- "stellar",
74
- "cosmos",
75
- "algorand",
76
- "polkadot",
77
- "bitcoin_testnet",
78
- "ethereum_ropsten",
79
- "ethereum_goerli",
80
- "cosmos_testnet",
81
- "crypto_org_croeseid",
82
- "crypto_org",
83
- "filecoin",
84
- "solana",
85
- "celo",
86
- "hedera",
87
- "cardano",
88
- "cardano_testnet",
89
- "osmosis",
90
- "filecoin",
91
- ]);
92
- for (var k in process.env)
93
- (0, env_1.setEnvUnsafe)(k, process.env[k]);
94
- var _a = process.env, VERBOSE = _a.VERBOSE, VERBOSE_FILE = _a.VERBOSE_FILE;
95
- var logger = winston_1["default"].createLogger({
96
- level: "debug",
97
- transports: []
98
- });
99
- var format = winston_1["default"].format;
100
- var combine = format.combine, timestamp = format.timestamp, json = format.json;
101
- var winstonFormat = combine(timestamp(), json());
102
- if (VERBOSE_FILE) {
103
- logger.add(new winston_1["default"].transports.File({
104
- format: winstonFormat,
105
- filename: VERBOSE_FILE,
106
- level: "debug"
107
- }));
108
- }
109
- logger.add(new winston_1["default"].transports.Console({
110
- format: winstonFormat,
111
- silent: !VERBOSE
112
- }));
113
- // eslint-disable-next-line no-unused-vars
114
- (0, logs_1.listen)(function (_a) {
115
- var type = _a.type, message = _a.message, rest = __rest(_a, ["type", "message"]);
116
- logger.log("debug", __assign({ message: type + (message ? ": " + message : "") }, rest));
117
- });
118
18
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/setup.ts"],"names":[],"mappings":";;;;;AAAA,yBAAuB;AAEvB,8DAAqC;AAErC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAExB,MAAM,CAAC,MAAM,CAAC;IACZ,aAAa,YAAC,KAAK;QACjB,IAAM,IAAI,GAAG,yBAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAM,OAAO,GAAG,IAAI;YAClB,CAAC,CAAC,cAAM,OAAA,UAAG,KAAK,oBAAiB,EAAzB,CAAyB;YACjC,CAAC,CAAC,cAAM,OAAA,UAAG,KAAK,wBAAqB,EAA7B,CAA6B,CAAC;QAExC,OAAO,EAAE,OAAO,SAAA,EAAE,IAAI,MAAA,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { Result } from "../cross";
2
2
  import type { Account } from "@ledgerhq/types-live";
3
+ import { BridgeCacheSystem } from "../bridge/cache";
3
4
  declare const itemModeDisplaySort: {
4
5
  create: number;
5
6
  update: number;
@@ -17,9 +18,41 @@ export declare const importAccountsMakeItems: ({ result, accounts, items, }: {
17
18
  accounts: Account[];
18
19
  items?: ImportItem[] | undefined;
19
20
  }) => ImportItem[];
20
- export declare const importAccountsReduce: (existingAccounts: Account[], { items, selectedAccounts, }: {
21
+ /**
22
+ * SyncNewAccountsOutput
23
+ * - synchronized: a map of account id to account. the account id are kept as originally set in the items[].account before a possible "remap" of the ids after a sync happened
24
+ * - failed: a map of account id to errors for all possible fails that happened.
25
+ */
26
+ export declare type SyncNewAccountsOutput = {
27
+ synchronized: Record<string, Account>;
28
+ failed: Record<string, Error>;
29
+ };
30
+ export declare type SyncNewAccountsInput = {
21
31
  items: ImportItem[];
22
32
  selectedAccounts: string[];
23
- }) => Account[];
33
+ };
34
+ /**
35
+ *
36
+ * @param items: result of importAccountsMakeItems
37
+ * @param selectedAccounts: user's selected accounts
38
+ * @param bridgeCache: the bridge cache created on user land to prepare currency for a sync
39
+ * @param blacklistedTokenIds: the list of blacklisted token ids to ignore sync with
40
+ * @returns SyncNewAccountsOutput
41
+ */
42
+ export declare const syncNewAccountsToImport: ({ items, selectedAccounts }: SyncNewAccountsInput, bridgeCache: BridgeCacheSystem, blacklistedTokenIds?: string[] | undefined) => Promise<SyncNewAccountsOutput>;
43
+ export declare type ImportAccountsReduceInput = {
44
+ items: ImportItem[];
45
+ selectedAccounts: string[];
46
+ syncResult: SyncNewAccountsOutput;
47
+ };
48
+ /**
49
+ *
50
+ * @param existingAccounts
51
+ * @param items: value resulting of importAccountsMakeItems
52
+ * @params selectedAccounts: array of all account ids selected by user for import
53
+ * @param syncedNewAccounts: accounts resulting of syncNewAccountsToImport(). all accounts that would be missing from that list would be ignored to be imported (fresh sync is needed to make sure the accounts are "ready")
54
+ * @returns all accounts
55
+ */
56
+ export declare const importAccountsReduce: (existingAccounts: Account[], { items, selectedAccounts, syncResult }: ImportAccountsReduceInput) => Account[];
24
57
  export {};
25
58
  //# sourceMappingURL=importAccounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"importAccounts.d.ts","sourceRoot":"","sources":["../../src/account/importAccounts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,QAAA,MAAM,mBAAmB;;;;;CAKxB,CAAC;AACF,oBAAY,cAAc,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAC9D,oBAAY,UAAU,GAAG;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AACF,eAAO,MAAM,uBAAuB;YAK1B,MAAM;cACJ,OAAO,EAAE;;MAEjB,UAAU,EA6EO,CAAC;AACtB,eAAO,MAAM,oBAAoB,qBACb,OAAO,EAAE;WAKlB,UAAU,EAAE;sBACD,MAAM,EAAE;MAE3B,OAAO,EAwBT,CAAC"}
1
+ {"version":3,"file":"importAccounts.d.ts","sourceRoot":"","sources":["../../src/account/importAccounts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAOpD,QAAA,MAAM,mBAAmB;;;;;CAKxB,CAAC;AACF,oBAAY,cAAc,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAC9D,oBAAY,UAAU,GAAG;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AACF,eAAO,MAAM,uBAAuB;YAK1B,MAAM;cACJ,OAAO,EAAE;;MAEjB,UAAU,EA6EO,CAAC;AAEtB;;;;GAIG;AACH,oBAAY,qBAAqB,GAAG;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC/B,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,gCACL,oBAAoB,eACpC,iBAAiB,iDAE7B,QAAQ,qBAAqB,CA6B/B,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,qBACb,OAAO,EAAE,2CACc,yBAAyB,KACjE,OAAO,EAyCT,CAAC"}
@@ -0,0 +1,2 @@
1
+ import "../__tests__/test-helpers/setup";
2
+ //# sourceMappingURL=importAccounts.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importAccounts.integration.test.d.ts","sourceRoot":"","sources":["../../src/account/importAccounts.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,iCAAiC,CAAC"}
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ exports.__esModule = true;
39
+ require("../__tests__/test-helpers/setup");
40
+ var cache_1 = require("../bridge/cache");
41
+ var cross_1 = require("../cross");
42
+ var _1 = require(".");
43
+ jest.setTimeout(200000);
44
+ test("importAccounts with a set of real data", function () { return __awaiter(void 0, void 0, void 0, function () {
45
+ var accounts, localCache, bridgeCache, result, accountsState, items, selectedAccounts, syncResult, reduced;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ accounts = [
50
+ {
51
+ id: "js:2:algorand:32PI2C5HLHMVUF5KMNURLGCTYVIOVJJ2NLHLZ2PIMK567MKMS4RXBSVWQI:",
52
+ seedIdentifier: "32PI2C5HLHMVUF5KMNURLGCTYVIOVJJ2NLHLZ2PIMK567MKMS4RXBSVWQI",
53
+ name: "Algorand legacy 32PI2C5H...RXBSVWQI",
54
+ starred: true,
55
+ used: true,
56
+ derivationMode: "",
57
+ index: 0,
58
+ freshAddress: "32PI2C5HLHMVUF5KMNURLGCTYVIOVJJ2NLHLZ2PIMK567MKMS4RXBSVWQI",
59
+ freshAddressPath: "44'/283'/0'/0/0",
60
+ freshAddresses: [],
61
+ blockHeight: 23066613,
62
+ creationDate: "2022-02-04T13:12:58.000Z",
63
+ operationsCount: 184,
64
+ operations: [],
65
+ pendingOperations: [],
66
+ currencyId: "algorand",
67
+ unitMagnitude: 6,
68
+ lastSyncDate: "2022-08-26T09:24:27.076Z",
69
+ balance: "2100190",
70
+ spendableBalance: "190",
71
+ xpub: "32PI2C5HLHMVUF5KMNURLGCTYVIOVJJ2NLHLZ2PIMK567MKMS4RXBSVWQI",
72
+ subAccounts: [],
73
+ algorandResources: { rewards: "190", nbAssets: 20 },
74
+ swapHistory: []
75
+ },
76
+ {
77
+ id: "js:2:tron:TRbtdwHowocq8ThZbRnTHgK4JG5sx3fFCK:",
78
+ seedIdentifier: "TRbtdwHowocq8ThZbRnTHgK4JG5sx3fFCK",
79
+ name: "Tron legacy TRbtdwHo...5sx3fFCK",
80
+ starred: true,
81
+ used: true,
82
+ derivationMode: "",
83
+ index: 0,
84
+ freshAddress: "TRbtdwHowocq8ThZbRnTHgK4JG5sx3fFCK",
85
+ freshAddressPath: "44'/195'/0'/0/0",
86
+ freshAddresses: [],
87
+ blockHeight: 43642499,
88
+ creationDate: "2022-07-19T15:32:12.000Z",
89
+ operationsCount: 41,
90
+ operations: [],
91
+ pendingOperations: [],
92
+ currencyId: "tron",
93
+ unitMagnitude: 6,
94
+ lastSyncDate: "2022-08-26T09:24:59.492Z",
95
+ balance: "0",
96
+ spendableBalance: "0",
97
+ xpub: "TRbtdwHowocq8ThZbRnTHgK4JG5sx3fFCK",
98
+ subAccounts: [],
99
+ tronResources: {
100
+ frozen: {},
101
+ delegatedFrozen: {},
102
+ votes: [],
103
+ tronPower: 0,
104
+ energy: "0",
105
+ bandwidth: {
106
+ freeUsed: "0",
107
+ freeLimit: "1500",
108
+ gainedUsed: "0",
109
+ gainedLimit: "0"
110
+ },
111
+ unwithdrawnReward: "2730",
112
+ lastVotedDate: "2022-07-22T14:39:51.000Z",
113
+ cacheTransactionInfoById: {}
114
+ },
115
+ swapHistory: []
116
+ },
117
+ {
118
+ id: "js:2:polkadot:15jLBbe9LD6VSUYFkV5Fmo5LhZU5cns9E6g8qcDv5KrKM1eP:polkadotbip44",
119
+ seedIdentifier: "15jLBbe9LD6VSUYFkV5Fmo5LhZU5cns9E6g8qcDv5KrKM1eP",
120
+ name: "Polkadot polkadotbip44 15jLBbe9...5KrKM1eP",
121
+ starred: true,
122
+ used: true,
123
+ derivationMode: "polkadotbip44",
124
+ index: 0,
125
+ freshAddress: "15jLBbe9LD6VSUYFkV5Fmo5LhZU5cns9E6g8qcDv5KrKM1eP",
126
+ freshAddressPath: "44'/354'/0'/0'/0'",
127
+ freshAddresses: [],
128
+ blockHeight: 11771108,
129
+ creationDate: "2022-02-24T14:39:00.007Z",
130
+ operationsCount: 65,
131
+ operations: [],
132
+ pendingOperations: [],
133
+ currencyId: "polkadot",
134
+ unitMagnitude: 10,
135
+ lastSyncDate: "2022-08-26T09:25:00.713Z",
136
+ balance: "15512511464",
137
+ spendableBalance: "15512511464",
138
+ xpub: "15jLBbe9LD6VSUYFkV5Fmo5LhZU5cns9E6g8qcDv5KrKM1eP",
139
+ polkadotResources: {
140
+ controller: null,
141
+ stash: null,
142
+ nonce: 63,
143
+ lockedBalance: "0",
144
+ unlockedBalance: "0",
145
+ unlockingBalance: "0",
146
+ unlockings: [],
147
+ nominations: []
148
+ },
149
+ swapHistory: []
150
+ },
151
+ {
152
+ id: "js:2:bsc:0xa22CA840265d3C5CB1846e419B14c6a6CdD06FAB:",
153
+ seedIdentifier: "0xa22CA840265d3C5CB1846e419B14c6a6CdD06FAB",
154
+ name: "Binance Smart Chain legacy 0xa22CA8...CdD06FAB",
155
+ starred: true,
156
+ used: true,
157
+ derivationMode: "",
158
+ index: 0,
159
+ freshAddress: "0xa22CA840265d3C5CB1846e419B14c6a6CdD06FAB",
160
+ freshAddressPath: "44'/60'/0'/0/0",
161
+ freshAddresses: [],
162
+ blockHeight: 20775454,
163
+ syncHash: "[]_655",
164
+ creationDate: "2022-02-04T13:11:32.001Z",
165
+ operationsCount: 21,
166
+ operations: [],
167
+ pendingOperations: [],
168
+ currencyId: "bsc",
169
+ unitMagnitude: 18,
170
+ lastSyncDate: "2022-08-26T09:25:01.109Z",
171
+ balance: "3128019430408477",
172
+ spendableBalance: "3128019430408477",
173
+ xpub: "0xa22CA840265d3C5CB1846e419B14c6a6CdD06FAB",
174
+ subAccounts: [],
175
+ swapHistory: []
176
+ },
177
+ ].map(_1.fromAccountRaw);
178
+ localCache = {};
179
+ bridgeCache = (0, cache_1.makeBridgeCacheSystem)({
180
+ saveData: function (c, d) {
181
+ localCache[c.id] = d;
182
+ return Promise.resolve();
183
+ },
184
+ getData: function (c) {
185
+ return Promise.resolve(localCache[c.id]);
186
+ }
187
+ });
188
+ result = {
189
+ accounts: accounts.map(cross_1.accountToAccountData),
190
+ settings: { currenciesSettings: {}, pairExchanges: {} },
191
+ meta: { exporterName: "Test", exporterVersion: "0" }
192
+ };
193
+ accountsState = [];
194
+ items = (0, _1.importAccountsMakeItems)({
195
+ result: result,
196
+ accounts: accountsState
197
+ });
198
+ selectedAccounts = accounts.map(function (a) { return a.id; });
199
+ return [4 /*yield*/, (0, _1.syncNewAccountsToImport)({ items: items, selectedAccounts: selectedAccounts }, bridgeCache)];
200
+ case 1:
201
+ syncResult = _a.sent();
202
+ reduced = (0, _1.importAccountsReduce)(accountsState, {
203
+ items: items,
204
+ selectedAccounts: selectedAccounts,
205
+ syncResult: syncResult
206
+ });
207
+ expect(reduced.length).toEqual(4);
208
+ expect(reduced[0].algorandResources).toBeDefined();
209
+ expect(reduced[1].tronResources).toBeDefined();
210
+ expect(reduced[2].polkadotResources).toBeDefined();
211
+ expect(reduced[0].operations.length).toBeGreaterThan(1);
212
+ expect(reduced[1].operations.length).toBeGreaterThan(1);
213
+ expect(reduced[2].operations.length).toBeGreaterThan(1);
214
+ expect(reduced[3].operations.length).toBeGreaterThan(1);
215
+ return [2 /*return*/];
216
+ }
217
+ });
218
+ }); });
219
+ //# sourceMappingURL=importAccounts.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importAccounts.integration.test.js","sourceRoot":"","sources":["../../src/account/importAccounts.integration.test.ts"],"names":[],"mappings":"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"}