@ledgerhq/live-common 27.2.0 → 27.3.0-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 (371) hide show
  1. package/lib/apps/logic.test.js +1 -1
  2. package/lib/apps/logic.test.js.map +1 -1
  3. package/lib/apps/polyfill.d.ts +1 -1
  4. package/lib/apps/polyfill.d.ts.map +1 -1
  5. package/lib/apps/polyfill.js +6 -3
  6. package/lib/apps/polyfill.js.map +1 -1
  7. package/lib/apps/polyfill.test.d.ts +2 -0
  8. package/lib/apps/polyfill.test.d.ts.map +1 -0
  9. package/lib/apps/polyfill.test.js +25 -0
  10. package/lib/apps/polyfill.test.js.map +1 -0
  11. package/lib/apps/support.d.ts.map +1 -1
  12. package/lib/apps/support.js +3 -2
  13. package/lib/apps/support.js.map +1 -1
  14. package/lib/bot/engine.d.ts.map +1 -1
  15. package/lib/bot/engine.js +154 -45
  16. package/lib/bot/engine.js.map +1 -1
  17. package/lib/bot/formatters.d.ts +1 -1
  18. package/lib/bot/formatters.d.ts.map +1 -1
  19. package/lib/bot/formatters.js +9 -3
  20. package/lib/bot/formatters.js.map +1 -1
  21. package/lib/bot/index.d.ts.map +1 -1
  22. package/lib/bot/index.js +29 -11
  23. package/lib/bot/index.js.map +1 -1
  24. package/lib/bot/specs.d.ts +12 -1
  25. package/lib/bot/specs.d.ts.map +1 -1
  26. package/lib/bot/specs.js +75 -1
  27. package/lib/bot/specs.js.map +1 -1
  28. package/lib/bot/types.d.ts +18 -1
  29. package/lib/bot/types.d.ts.map +1 -1
  30. package/lib/currencies/sortByMarketcap.d.ts.map +1 -1
  31. package/lib/currencies/sortByMarketcap.js +5 -1
  32. package/lib/currencies/sortByMarketcap.js.map +1 -1
  33. package/lib/currencies/support.d.ts.map +1 -1
  34. package/lib/currencies/support.js +2 -1
  35. package/lib/currencies/support.js.map +1 -1
  36. package/lib/derivation.d.ts.map +1 -1
  37. package/lib/derivation.js +2 -4
  38. package/lib/derivation.js.map +1 -1
  39. package/lib/env.js +1 -1
  40. package/lib/exchange/swap/getExchangeRates.d.ts.map +1 -1
  41. package/lib/exchange/swap/getExchangeRates.js +6 -3
  42. package/lib/exchange/swap/getExchangeRates.js.map +1 -1
  43. package/lib/exchange/swap/getProviders.d.ts.map +1 -1
  44. package/lib/exchange/swap/getProviders.js +45 -5
  45. package/lib/exchange/swap/getProviders.js.map +1 -1
  46. package/lib/exchange/swap/getProviders.test.d.ts +2 -0
  47. package/lib/exchange/swap/getProviders.test.d.ts.map +1 -0
  48. package/lib/exchange/swap/getProviders.test.js +519 -0
  49. package/lib/exchange/swap/getProviders.test.js.map +1 -0
  50. package/lib/exchange/swap/hooks/useProviderRates.d.ts +1 -0
  51. package/lib/exchange/swap/hooks/useProviderRates.d.ts.map +1 -1
  52. package/lib/exchange/swap/hooks/useProviderRates.js +19 -4
  53. package/lib/exchange/swap/hooks/useProviderRates.js.map +1 -1
  54. package/lib/exchange/swap/hooks/useProviderRates.test.js +42 -0
  55. package/lib/exchange/swap/hooks/useProviderRates.test.js.map +1 -1
  56. package/lib/exchange/swap/hooks/useSwapTransaction.d.ts +1 -0
  57. package/lib/exchange/swap/hooks/useSwapTransaction.d.ts.map +1 -1
  58. package/lib/exchange/swap/hooks/useSwapTransaction.js +2 -1
  59. package/lib/exchange/swap/hooks/useSwapTransaction.js.map +1 -1
  60. package/lib/exchange/swap/index.d.ts +2 -1
  61. package/lib/exchange/swap/index.d.ts.map +1 -1
  62. package/lib/exchange/swap/index.js +11 -1
  63. package/lib/exchange/swap/index.js.map +1 -1
  64. package/lib/exchange/swap/index.test.js +22 -0
  65. package/lib/exchange/swap/index.test.js.map +1 -1
  66. package/lib/exchange/swap/mock.js +1 -1
  67. package/lib/exchange/swap/mock.js.map +1 -1
  68. package/lib/exchange/swap/types.d.ts +14 -0
  69. package/lib/exchange/swap/types.d.ts.map +1 -1
  70. package/lib/exchange/swap/utils/index.d.ts +1 -0
  71. package/lib/exchange/swap/utils/index.d.ts.map +1 -1
  72. package/lib/exchange/swap/utils/index.js +6 -1
  73. package/lib/exchange/swap/utils/index.js.map +1 -1
  74. package/lib/exchange/swap/utils/index.test.js +12 -0
  75. package/lib/exchange/swap/utils/index.test.js.map +1 -1
  76. package/lib/families/algorand/specs.d.ts.map +1 -1
  77. package/lib/families/algorand/specs.js +2 -0
  78. package/lib/families/algorand/specs.js.map +1 -1
  79. package/lib/families/algorand/speculos-deviceActions.d.ts.map +1 -1
  80. package/lib/families/algorand/speculos-deviceActions.js +2 -29
  81. package/lib/families/algorand/speculos-deviceActions.js.map +1 -1
  82. package/lib/families/bitcoin/specs.d.ts +0 -1
  83. package/lib/families/bitcoin/specs.d.ts.map +1 -1
  84. package/lib/families/bitcoin/specs.js +65 -48
  85. package/lib/families/bitcoin/specs.js.map +1 -1
  86. package/lib/families/bitcoin/speculos-deviceActions.d.ts.map +1 -1
  87. package/lib/families/bitcoin/speculos-deviceActions.js +2 -22
  88. package/lib/families/bitcoin/speculos-deviceActions.js.map +1 -1
  89. package/lib/families/cardano/specs.d.ts.map +1 -1
  90. package/lib/families/cardano/specs.js +9 -4
  91. package/lib/families/cardano/specs.js.map +1 -1
  92. package/lib/families/cardano/speculos-deviceActions.d.ts.map +1 -1
  93. package/lib/families/cardano/speculos-deviceActions.js +2 -10
  94. package/lib/families/cardano/speculos-deviceActions.js.map +1 -1
  95. package/lib/families/celo/specs/createSendMutation.d.ts +1 -0
  96. package/lib/families/celo/specs/createSendMutation.d.ts.map +1 -1
  97. package/lib/families/celo/specs/createSendMutation.js +7 -5
  98. package/lib/families/celo/specs/createSendMutation.js.map +1 -1
  99. package/lib/families/celo/specs.d.ts.map +1 -1
  100. package/lib/families/celo/specs.js +1 -0
  101. package/lib/families/celo/specs.js.map +1 -1
  102. package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -1
  103. package/lib/families/celo/speculos-deviceActions.js +3 -10
  104. package/lib/families/celo/speculos-deviceActions.js.map +1 -1
  105. package/lib/families/cosmos/helpers.d.ts +9 -0
  106. package/lib/families/cosmos/helpers.d.ts.map +1 -0
  107. package/lib/families/cosmos/helpers.js +20 -0
  108. package/lib/families/cosmos/helpers.js.map +1 -0
  109. package/lib/families/cosmos/helpers.unit.test.d.ts +2 -0
  110. package/lib/families/cosmos/helpers.unit.test.d.ts.map +1 -0
  111. package/lib/families/cosmos/helpers.unit.test.js +56 -0
  112. package/lib/families/cosmos/helpers.unit.test.js.map +1 -0
  113. package/lib/families/cosmos/js-signOperation.d.ts.map +1 -1
  114. package/lib/families/cosmos/js-signOperation.js +5 -3
  115. package/lib/families/cosmos/js-signOperation.js.map +1 -1
  116. package/lib/families/cosmos/js-synchronisation.d.ts.map +1 -1
  117. package/lib/families/cosmos/js-synchronisation.js +99 -95
  118. package/lib/families/cosmos/js-synchronisation.js.map +1 -1
  119. package/lib/families/cosmos/specs.d.ts.map +1 -1
  120. package/lib/families/cosmos/specs.js +5 -1
  121. package/lib/families/cosmos/specs.js.map +1 -1
  122. package/lib/families/crypto_org/specs.d.ts.map +1 -1
  123. package/lib/families/crypto_org/specs.js +9 -8
  124. package/lib/families/crypto_org/specs.js.map +1 -1
  125. package/lib/families/elrond/specs.d.ts.map +1 -1
  126. package/lib/families/elrond/specs.js +1 -0
  127. package/lib/families/elrond/specs.js.map +1 -1
  128. package/lib/families/elrond/speculos-deviceActions.d.ts.map +1 -1
  129. package/lib/families/elrond/speculos-deviceActions.js +3 -8
  130. package/lib/families/elrond/speculos-deviceActions.js.map +1 -1
  131. package/lib/families/ethereum/specs.d.ts.map +1 -1
  132. package/lib/families/ethereum/specs.js +20 -8
  133. package/lib/families/ethereum/specs.js.map +1 -1
  134. package/lib/families/ethereum/speculos-deviceActions.d.ts.map +1 -1
  135. package/lib/families/ethereum/speculos-deviceActions.js +10 -33
  136. package/lib/families/ethereum/speculos-deviceActions.js.map +1 -1
  137. package/lib/families/evm/specs.d.ts.map +1 -1
  138. package/lib/families/evm/specs.js +20 -10
  139. package/lib/families/evm/specs.js.map +1 -1
  140. package/lib/families/evm/speculos-deviceActions.d.ts.map +1 -1
  141. package/lib/families/evm/speculos-deviceActions.js +5 -25
  142. package/lib/families/evm/speculos-deviceActions.js.map +1 -1
  143. package/lib/families/filecoin/specs.d.ts.map +1 -1
  144. package/lib/families/filecoin/specs.js +3 -0
  145. package/lib/families/filecoin/specs.js.map +1 -1
  146. package/lib/families/filecoin/speculos-deviceActions.d.ts.map +1 -1
  147. package/lib/families/filecoin/speculos-deviceActions.js +6 -7
  148. package/lib/families/filecoin/speculos-deviceActions.js.map +1 -1
  149. package/lib/families/hedera/specs.d.ts.map +1 -1
  150. package/lib/families/hedera/specs.js +2 -0
  151. package/lib/families/hedera/specs.js.map +1 -1
  152. package/lib/families/osmosis/specs.d.ts.map +1 -1
  153. package/lib/families/osmosis/specs.js +3 -0
  154. package/lib/families/osmosis/specs.js.map +1 -1
  155. package/lib/families/polkadot/specs.d.ts.map +1 -1
  156. package/lib/families/polkadot/specs.js +4 -1
  157. package/lib/families/polkadot/specs.js.map +1 -1
  158. package/lib/families/polkadot/speculos-deviceActions.d.ts.map +1 -1
  159. package/lib/families/polkadot/speculos-deviceActions.js +3 -10
  160. package/lib/families/polkadot/speculos-deviceActions.js.map +1 -1
  161. package/lib/families/ripple/specs.d.ts.map +1 -1
  162. package/lib/families/ripple/specs.js +2 -0
  163. package/lib/families/ripple/specs.js.map +1 -1
  164. package/lib/families/ripple/speculos-deviceActions.d.ts.map +1 -1
  165. package/lib/families/ripple/speculos-deviceActions.js +2 -22
  166. package/lib/families/ripple/speculos-deviceActions.js.map +1 -1
  167. package/lib/families/solana/specs.d.ts.map +1 -1
  168. package/lib/families/solana/specs.js +7 -3
  169. package/lib/families/solana/specs.js.map +1 -1
  170. package/lib/families/solana/speculos-deviceActions.d.ts.map +1 -1
  171. package/lib/families/solana/speculos-deviceActions.js +5 -7
  172. package/lib/families/solana/speculos-deviceActions.js.map +1 -1
  173. package/lib/families/stellar/specs.d.ts.map +1 -1
  174. package/lib/families/stellar/specs.js +1 -0
  175. package/lib/families/stellar/specs.js.map +1 -1
  176. package/lib/families/stellar/speculos-deviceActions.d.ts.map +1 -1
  177. package/lib/families/stellar/speculos-deviceActions.js +4 -8
  178. package/lib/families/stellar/speculos-deviceActions.js.map +1 -1
  179. package/lib/families/tezos/specs.d.ts.map +1 -1
  180. package/lib/families/tezos/specs.js +6 -1
  181. package/lib/families/tezos/specs.js.map +1 -1
  182. package/lib/families/tezos/speculos-deviceActions.d.ts.map +1 -1
  183. package/lib/families/tezos/speculos-deviceActions.js +6 -11
  184. package/lib/families/tezos/speculos-deviceActions.js.map +1 -1
  185. package/lib/families/tron/specs.d.ts.map +1 -1
  186. package/lib/families/tron/specs.js +16 -1
  187. package/lib/families/tron/specs.js.map +1 -1
  188. package/lib/families/tron/speculos-deviceActions.d.ts.map +1 -1
  189. package/lib/families/tron/speculos-deviceActions.js +2 -14
  190. package/lib/families/tron/speculos-deviceActions.js.map +1 -1
  191. package/lib/families/tron/synchronisation.integration.test.d.ts +2 -0
  192. package/lib/families/tron/synchronisation.integration.test.d.ts.map +1 -0
  193. package/lib/families/tron/{synchronisation.test.js → synchronisation.integration.test.js} +1 -1
  194. package/lib/families/tron/synchronisation.integration.test.js.map +1 -0
  195. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  196. package/lib/featureFlags/defaultFeatures.js +6 -0
  197. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  198. package/lib/generated/specs.d.ts +0 -1
  199. package/lib/generated/specs.d.ts.map +1 -1
  200. package/lib/hw/actions/installLanguage.js +1 -1
  201. package/lib/hw/extractOnboardingState.d.ts +5 -1
  202. package/lib/hw/extractOnboardingState.d.ts.map +1 -1
  203. package/lib/hw/extractOnboardingState.js +17 -9
  204. package/lib/hw/extractOnboardingState.js.map +1 -1
  205. package/lib/hw/extractOnboardingState.test.js +21 -11
  206. package/lib/hw/extractOnboardingState.test.js.map +1 -1
  207. package/lib/load/speculos.d.ts.map +1 -1
  208. package/lib/load/speculos.js +39 -15
  209. package/lib/load/speculos.js.map +1 -1
  210. package/lib/manager/hooks.d.ts +4 -1
  211. package/lib/manager/hooks.d.ts.map +1 -1
  212. package/lib/manager/hooks.js +4 -3
  213. package/lib/manager/hooks.js.map +1 -1
  214. package/lib/manager/localization.js +2 -2
  215. package/lib/manager/localization.js.map +1 -1
  216. package/lib/mock/account.d.ts.map +1 -1
  217. package/lib/mock/account.js +17 -19
  218. package/lib/mock/account.js.map +1 -1
  219. package/lib/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
  220. package/lib/notifications/ServiceStatusProvider/index.js +5 -1
  221. package/lib/notifications/ServiceStatusProvider/index.js.map +1 -1
  222. package/lib/postOnboarding/PostOnboardingProvider.d.ts +20 -0
  223. package/lib/postOnboarding/PostOnboardingProvider.d.ts.map +1 -0
  224. package/lib/postOnboarding/PostOnboardingProvider.js +33 -0
  225. package/lib/postOnboarding/PostOnboardingProvider.js.map +1 -0
  226. package/lib/postOnboarding/actions.d.ts +20 -0
  227. package/lib/postOnboarding/actions.d.ts.map +1 -0
  228. package/lib/postOnboarding/actions.js +37 -0
  229. package/lib/postOnboarding/actions.js.map +1 -0
  230. package/lib/postOnboarding/hooks/index.d.ts +6 -0
  231. package/lib/postOnboarding/hooks/index.d.ts.map +1 -0
  232. package/lib/postOnboarding/hooks/index.js +22 -0
  233. package/lib/postOnboarding/hooks/index.js.map +1 -0
  234. package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.d.ts +8 -0
  235. package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.d.ts.map +1 -0
  236. package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.js +16 -0
  237. package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.js.map +1 -0
  238. package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.d.ts +2 -0
  239. package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.d.ts.map +1 -0
  240. package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.js +75 -0
  241. package/lib/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.js.map +1 -0
  242. package/lib/postOnboarding/hooks/usePostOnboardingContext.d.ts +3 -0
  243. package/lib/postOnboarding/hooks/usePostOnboardingContext.d.ts.map +1 -0
  244. package/lib/postOnboarding/hooks/usePostOnboardingContext.js +10 -0
  245. package/lib/postOnboarding/hooks/usePostOnboardingContext.js.map +1 -0
  246. package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.d.ts +8 -0
  247. package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.d.ts.map +1 -0
  248. package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.js +20 -0
  249. package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.js.map +1 -0
  250. package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.d.ts +2 -0
  251. package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.d.ts.map +1 -0
  252. package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.js +64 -0
  253. package/lib/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.js.map +1 -0
  254. package/lib/postOnboarding/hooks/usePostOnboardingHubState.d.ts +12 -0
  255. package/lib/postOnboarding/hooks/usePostOnboardingHubState.d.ts.map +1 -0
  256. package/lib/postOnboarding/hooks/usePostOnboardingHubState.js +65 -0
  257. package/lib/postOnboarding/hooks/usePostOnboardingHubState.js.map +1 -0
  258. package/lib/postOnboarding/hooks/usePostOnboardingHubState.test.d.ts +2 -0
  259. package/lib/postOnboarding/hooks/usePostOnboardingHubState.test.d.ts.map +1 -0
  260. package/lib/postOnboarding/hooks/usePostOnboardingHubState.test.js +129 -0
  261. package/lib/postOnboarding/hooks/usePostOnboardingHubState.test.js.map +1 -0
  262. package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.d.ts +13 -0
  263. package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.d.ts.map +1 -0
  264. package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.js +34 -0
  265. package/lib/postOnboarding/hooks/useStartPostOnboardingCallback.js.map +1 -0
  266. package/lib/postOnboarding/mock.d.ts +8 -0
  267. package/lib/postOnboarding/mock.d.ts.map +1 -0
  268. package/lib/postOnboarding/mock.js +46 -0
  269. package/lib/postOnboarding/mock.js.map +1 -0
  270. package/lib/postOnboarding/reducer.d.ts +22 -0
  271. package/lib/postOnboarding/reducer.d.ts.map +1 -0
  272. package/lib/postOnboarding/reducer.js +71 -0
  273. package/lib/postOnboarding/reducer.js.map +1 -0
  274. package/lib/postOnboarding/reducer.test.d.ts +2 -0
  275. package/lib/postOnboarding/reducer.test.d.ts.map +1 -0
  276. package/lib/postOnboarding/reducer.test.js +251 -0
  277. package/lib/postOnboarding/reducer.test.js.map +1 -0
  278. package/package.json +24 -20
  279. package/src/__tests__/__snapshots__/portfolio.v2.ts.snap +16 -0
  280. package/src/apps/__snapshots__/logic.test.ts.snap +18 -11
  281. package/src/apps/logic.test.ts +1 -2
  282. package/src/apps/polyfill.test.ts +24 -0
  283. package/src/apps/polyfill.ts +7 -2
  284. package/src/apps/support.ts +2 -1
  285. package/src/bot/engine.ts +178 -35
  286. package/src/bot/formatters.ts +15 -2
  287. package/src/bot/index.ts +48 -19
  288. package/src/bot/specs.ts +95 -1
  289. package/src/bot/types.ts +23 -1
  290. package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +55 -6
  291. package/src/currencies/sortByMarketcap.ts +6 -1
  292. package/src/currencies/support.ts +2 -1
  293. package/src/derivation.ts +2 -4
  294. package/src/env.ts +1 -1
  295. package/src/exchange/swap/getExchangeRates.ts +12 -5
  296. package/src/exchange/swap/getProviders.test.ts +450 -0
  297. package/src/exchange/swap/getProviders.ts +31 -8
  298. package/src/exchange/swap/hooks/useProviderRates.test.ts +43 -0
  299. package/src/exchange/swap/hooks/useProviderRates.ts +22 -3
  300. package/src/exchange/swap/hooks/useSwapTransaction.ts +3 -1
  301. package/src/exchange/swap/index.test.ts +36 -1
  302. package/src/exchange/swap/index.ts +15 -0
  303. package/src/exchange/swap/mock.ts +2 -2
  304. package/src/exchange/swap/types.ts +11 -0
  305. package/src/exchange/swap/utils/index.test.ts +19 -0
  306. package/src/exchange/swap/utils/index.ts +5 -0
  307. package/src/families/algorand/specs.ts +3 -1
  308. package/src/families/algorand/speculos-deviceActions.ts +4 -35
  309. package/src/families/bitcoin/specs.ts +72 -56
  310. package/src/families/bitcoin/speculos-deviceActions.ts +3 -26
  311. package/src/families/cardano/specs.ts +9 -4
  312. package/src/families/cardano/speculos-deviceActions.ts +3 -14
  313. package/src/families/celo/specs/createSendMutation.ts +5 -3
  314. package/src/families/celo/specs.ts +2 -0
  315. package/src/families/celo/speculos-deviceActions.ts +6 -14
  316. package/src/families/cosmos/__snapshots__/bridge.integration.test.ts.snap +24 -44
  317. package/src/families/cosmos/helpers.ts +21 -0
  318. package/src/families/cosmos/helpers.unit.test.ts +63 -0
  319. package/src/families/cosmos/js-signOperation.ts +6 -3
  320. package/src/families/cosmos/js-synchronisation.ts +120 -119
  321. package/src/families/cosmos/specs.ts +11 -2
  322. package/src/families/crypto_org/specs.ts +12 -19
  323. package/src/families/elrond/specs.ts +1 -0
  324. package/src/families/elrond/speculos-deviceActions.ts +4 -9
  325. package/src/families/ethereum/specs.ts +34 -38
  326. package/src/families/ethereum/speculos-deviceActions.ts +16 -46
  327. package/src/families/evm/specs.ts +18 -8
  328. package/src/families/evm/speculos-deviceActions.ts +7 -35
  329. package/src/families/filecoin/specs.ts +4 -1
  330. package/src/families/filecoin/speculos-deviceActions.ts +7 -8
  331. package/src/families/hedera/specs.ts +3 -1
  332. package/src/families/osmosis/specs.ts +4 -1
  333. package/src/families/polkadot/specs.ts +11 -2
  334. package/src/families/polkadot/speculos-deviceActions.ts +5 -16
  335. package/src/families/ripple/specs.ts +3 -1
  336. package/src/families/ripple/speculos-deviceActions.ts +3 -28
  337. package/src/families/solana/specs.ts +15 -4
  338. package/src/families/solana/speculos-deviceActions.ts +6 -8
  339. package/src/families/stellar/specs.ts +1 -0
  340. package/src/families/stellar/speculos-deviceActions.ts +5 -11
  341. package/src/families/tezos/specs.ts +7 -5
  342. package/src/families/tezos/speculos-deviceActions.ts +9 -16
  343. package/src/families/tron/specs.ts +31 -3
  344. package/src/families/tron/speculos-deviceActions.ts +4 -12
  345. package/src/families/tron/{synchronisation.test.ts → synchronisation.integration.test.ts} +0 -0
  346. package/src/featureFlags/defaultFeatures.ts +6 -0
  347. package/src/hw/actions/installLanguage.ts +1 -1
  348. package/src/hw/extractOnboardingState.test.ts +29 -12
  349. package/src/hw/extractOnboardingState.ts +17 -9
  350. package/src/load/speculos.ts +42 -21
  351. package/src/manager/hooks.ts +6 -6
  352. package/src/manager/localization.ts +2 -2
  353. package/src/mock/account.ts +18 -20
  354. package/src/notifications/ServiceStatusProvider/index.tsx +8 -1
  355. package/src/postOnboarding/PostOnboardingProvider.tsx +49 -0
  356. package/src/postOnboarding/actions.ts +40 -0
  357. package/src/postOnboarding/hooks/index.ts +5 -0
  358. package/src/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.test.ts +82 -0
  359. package/src/postOnboarding/hooks/useAllPostOnboardingActionsCompleted.ts +12 -0
  360. package/src/postOnboarding/hooks/usePostOnboardingContext.ts +9 -0
  361. package/src/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.test.ts +83 -0
  362. package/src/postOnboarding/hooks/usePostOnboardingEntryPointVisibleOnWallet.ts +22 -0
  363. package/src/postOnboarding/hooks/usePostOnboardingHubState.test.ts +184 -0
  364. package/src/postOnboarding/hooks/usePostOnboardingHubState.ts +56 -0
  365. package/src/postOnboarding/hooks/useStartPostOnboardingCallback.ts +38 -0
  366. package/src/postOnboarding/mock.ts +53 -0
  367. package/src/postOnboarding/reducer.test.ts +247 -0
  368. package/src/postOnboarding/reducer.ts +105 -0
  369. package/lib/families/tron/synchronisation.test.d.ts +0 -2
  370. package/lib/families/tron/synchronisation.test.d.ts.map +0 -1
  371. package/lib/families/tron/synchronisation.test.js.map +0 -1
@@ -367,7 +367,7 @@ var scenarios = [
367
367
  name: "Bitcoin"
368
368
  },
369
369
  ],
370
- expectPlan: "-XRP, -Ethereum Classic, -Ethereum, -Dogecoin, -Zcash, -Bitcoin",
370
+ expectPlan: "-XRP, -Ethereum Classic, -Ethereum, -Dogecoin, -Bitcoin",
371
371
  expectInstalled: ""
372
372
  },
373
373
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"logic.test.js","sourceRoot":"","sources":["../../src/apps/logic.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logic.test.js","sourceRoot":"","sources":["../../src/apps/logic.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAA+D;AAC/D,iCAQiB;AACjB,mCAA+C;AAC/C,+BAIgB;AAChB,2CAAiE;AACjE,8BAAgC;AAGhC,IAAA,YAAM,EAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;AAEnC,IAAM,SAAS,GAAG;IAChB;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,8DAA8D;QACpE,SAAS,EAAE,oDAAoD;QAC/D,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,MAAM;iBACb;gBACD,UAAU,EAAE,yDAAyD;gBACrE,eAAe,EAAE,EAAE;aACpB;SACF;KACF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,EAAE;QACb,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,UAAU;iBACjB;gBACD,UAAU,EAAE,qBAAqB;gBACjC,eAAe,EAAE,mBAAmB;aACrC;YACD;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,UAAU;iBACjB;gBACD,UAAU,EAAE,WAAW;gBACvB,eAAe,EAAE,6BAA6B;aAC/C;SACF;KACF;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,EAAE;QACb,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,KAAK;iBACZ;gBACD,UAAU,EAAE,MAAM;gBAClB,eAAe,EAAE,KAAK;aACvB;YACD;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,KAAK;iBACZ;gBACD,UAAU,EAAE,MAAM;gBAClB,eAAe,EAAE,EAAE;aACpB;SACF;KACF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,EAAE;QACb,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,UAAU;iBACjB;gBACD,UAAU,EAAE,qBAAqB;gBACjC,eAAe,EAAE,mBAAmB;aACrC;YACD;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,UAAU;iBACjB;gBACD,UAAU,EAAE,WAAW;gBACvB,eAAe,EAAE,6BAA6B;aAC/C;SACF;KACF;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,6BAA6B;QACxC,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;gBACD,UAAU,EAAE,gCAAgC;gBAC5C,eAAe,EAAE,EAAE;aACpB;SACF;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;iBAChB;gBACD,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,SAAS;aAC3B;SACF;KACF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,EAAE;QACb,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;iBAChB;gBACD,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,EAAE;aACpB;SACF;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;iBAChB;gBACD,UAAU,EAAE,oBAAoB;gBAChC,eAAe,EAAE,SAAS;aAC3B;SACF;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,yCAAyC;QACpD,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,UAAU;iBACjB;gBACD,UAAU,EAAE,0CAA0C;gBACtD,eAAe,EAAE,mBAAmB;aACrC;SACF;KACF;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,yCAAyC;QACpD,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,UAAU;iBACjB;gBACD,UAAU,EAAE,qDAAqD;gBACjE,eAAe,EAAE,6BAA6B;aAC/C;SACF;KACF;IACD;QACE,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,yCAAyC;QACpD,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;iBAChB;gBACD,UAAU,EAAE,0CAA0C;gBACtD,eAAe,EAAE,mBAAmB;aACrC;SACF;KACF;IACD;QACE,IAAI,EAAE,wCAAwC;QAC9C,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,mDAAmD;QAC9D,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,WAAW;iBAClB;gBACD,UAAU,EAAE,0CAA0C;gBACtD,eAAe,EAAE,6BAA6B;aAC/C;SACF;KACF;IACD;QACE,IAAI,EAAE,0CAA0C;QAChD,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,4DAA4D;QACvE,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,IAAI,EAAE,WAAW;iBAClB;gBACD,UAAU,EAAE,0CAA0C;gBACtD,eAAe,EAAE,sCAAsC;aACxD;SACF;KACF;IACD;QACE,IAAI,EAAE,oDAAoD;QAC1D,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,EAAE;QACb,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,EAAE;aACpB;SACF;KACF;IACD;QACE,IAAI,EAAE,2CAA2C;QACjD,IAAI,EAAE,2DAA2D;QACjE,SAAS,EAAE,EAAE;QACb,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,KAAK;qBACZ;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,kBAAkB;qBACzB;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,UAAU;qBACjB;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;qBACd;iBACF;gBACD,UAAU,EACR,iEAAiE;gBACnE,eAAe,EACb,2DAA2D;aAC9D;SACF;KACF;IACD;QACE,IAAI,EAAE,6CAA6C;QACnD,IAAI,EAAE,2DAA2D;QACjE,SAAS,EAAE,2DAA2D;QACtE,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,KAAK;qBACZ;oBACD;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,UAAU;qBACjB;oBACD;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,UAAU;qBACjB;oBACD;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,UAAU,EAAE,yDAAyD;gBACrE,eAAe,EAAE,EAAE;aACpB;SACF;KACF;CACF,CAAC;AACF,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;IACzB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE;;;;;;oBAC7B,KAAK,GAAG,IAAA,iBAAS,EACnB,IAAA,yBAAkB,EAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,oBAAa,CAAC,CACrE,CAAC;oBACF,MAAM,CAAC,IAAA,6BAAgB,EAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;;;oBAEnC,KAAA,SAAA,QAAQ,CAAC,OAAO,CAAA;;;;oBAA1B,MAAM;oBACf,KAAK,GAAW,EAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAO,EAAE,KAAK,CAAC,CAAC;oBACnE,MAAM,CAAC,IAAA,6BAAgB,EAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACjE,eAAe,GAAG,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;oBAC9C,qBAAM,IAAA,eAAM,EAClB,KAAK,EACL,IAAA,mCAA4B,EAAC,KAAK,CAAC,SAAS,CAAC,CAC9C,CAAC,SAAS,EAAE,EAAA;;oBAHb,KAAK,GAAG,SAGK,CAAC;oBAEd,IAAI,MAAM,CAAC,eAAe,EAAE;wBAC1B,MAAM,CAAC,IAAA,4BAAe,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;qBACvE;oBACD,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBACvC,MAAM,CAAC,IAAA,6BAAgB,EAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClD,CAAC,GAAQ,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;oBACjC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,EAAqB;wBAAnB,IAAA,QAAQ,cAAA,EAAK,IAAI,cAAnB,YAAqB,CAAF;wBAAO,OAAA,uBAC1C,IAAI,KACP,UAAU,EAAE,QAAQ,IAAI,QAAQ,CAAC,EAAE,IACnC,CAAA;qBAAA,CAAC,CAAC;oBACJ,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;;;;;;;;;SAE/B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,IAAI,CAAC,eAAe,EAAE;;;QACd,KAAK,GAAG,IAAA,iBAAS,EACrB,IAAA,yBAAkB,EAChB,2DAA2D,EAC3D,gBAAgB,EAChB,oBAAa,CACd,EACD,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAC5D,CAAC;QACF,MAAM,CAAC,IAAA,6BAAgB,EAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CACjD,+CAA+C,CAChD,CAAC;;;KACH,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CE;AACF,IAAI,CAAC,iBAAiB,EAAE;;;;;gBAClB,KAAK,GAAG,IAAA,iBAAS,EACnB,IAAA,yBAAkB,EAChB,2DAA2D,EAC3D,yCAAyC,EACzC,oBAAa,CACd,CACF,CAAC;gBACF,MAAM,CAAC,IAAA,yBAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzC,KAAK,GAAG;oBACE;wBACN,IAAI,EAAE,WAAW;qBAClB;iBACF,CAAC,MAAM,CAAC,eAAO,EAAE,KAAK,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAA,yBAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAErC,CAAC,GAAG,CAAC,CAAC;gBACJ,KAAK,GAAG,CAAC,CAAC;;;qBAET,CAAC,IAAI,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;gBACzB,qBAAM,IAAA,oBAAW,EACvB,KAAK,EACL,IAAI,EACJ,IAAA,mCAA4B,EAAC,KAAK,CAAC,SAAS,CAAC,CAC9C,CAAC,SAAS,EAAE,EAAA;;gBAJb,KAAK,GAAG,SAIK,CAAC;gBACd,MAAM,CAAC,IAAA,yBAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;;;gBAGrD,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAA,yBAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;KAC1C,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { App, Application } from "@ledgerhq/types-live";
2
- export declare function declareDep(name: string, dep: string): void;
3
2
  export declare const whitelistDependencies: string[];
3
+ export declare function declareDep(name: string, dep: string): void;
4
4
  export declare const getDependencies: (appName: string) => string[];
5
5
  export declare const getDependents: (appName: string) => string[];
6
6
  export declare const polyfillApplication: (app: Application) => Application;
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.d.ts","sourceRoot":"","sources":["../../src/apps/polyfill.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAGnD;AAgBD,eAAO,MAAM,qBAAqB,UAA+B,CAAC;AAgClE,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,MAAM,EAC9B,CAAC;AAC3B,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAAM,EAC3B,CAAC;AAC5B,eAAO,MAAM,mBAAmB,QAAS,WAAW,KAAG,WAetD,CAAC;AACF,eAAO,MAAM,WAAW,QAAS,GAAG,KAAG,GAStC,CAAC"}
1
+ {"version":3,"file":"polyfill.d.ts","sourceRoot":"","sources":["../../src/apps/polyfill.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,eAAO,MAAM,qBAAqB,UAAqC,CAAC;AAExE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAMnD;AA8CD,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,MAAM,EAC9B,CAAC;AAC3B,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAAM,EAC3B,CAAC;AAC5B,eAAO,MAAM,mBAAmB,QAAS,WAAW,KAAG,WAetD,CAAC;AACF,eAAO,MAAM,WAAW,QAAS,GAAG,KAAG,GAStC,CAAC"}
@@ -30,13 +30,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  return (mod && mod.__esModule) ? mod : { "default": mod };
31
31
  };
32
32
  exports.__esModule = true;
33
- exports.polyfillApp = exports.polyfillApplication = exports.getDependents = exports.getDependencies = exports.whitelistDependencies = exports.declareDep = void 0;
33
+ exports.polyfillApp = exports.polyfillApplication = exports.getDependents = exports.getDependencies = exports.declareDep = exports.whitelistDependencies = void 0;
34
34
  // polyfill the unfinished support of apps logic
35
35
  var uniq_1 = __importDefault(require("lodash/uniq"));
36
36
  var cryptoassets_1 = require("@ledgerhq/cryptoassets");
37
37
  var directDep = {};
38
38
  var reverseDep = {};
39
+ // whitelist dependencies
40
+ exports.whitelistDependencies = ["Decred", "Decred Test", "Zcash"];
39
41
  function declareDep(name, dep) {
42
+ if (exports.whitelistDependencies.includes(name)) {
43
+ return;
44
+ }
40
45
  directDep[name] = (directDep[name] || []).concat(dep);
41
46
  reverseDep[dep] = (reverseDep[dep] || []).concat(name);
42
47
  }
@@ -54,8 +59,6 @@ exports.declareDep = declareDep;
54
59
  declareDep(a.managerAppName + " Test", dep.managerAppName);
55
60
  }
56
61
  });
57
- // whitelist dependencies
58
- exports.whitelistDependencies = ["Decred", "Decred Testnet"];
59
62
  // extra dependencies
60
63
  [
61
64
  ["ARTIS sigma1", "Ethereum"],
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../../src/apps/polyfill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../../src/apps/polyfill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=polyfill.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyfill.test.d.ts","sourceRoot":"","sources":["../../src/apps/polyfill.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var polyfill_1 = require("./polyfill");
4
+ test("polyfillApplication set ethereum currency for ethereum app", function () {
5
+ var app = {
6
+ id: 1,
7
+ name: "Ethereum",
8
+ description: undefined,
9
+ application_versions: [],
10
+ providers: [],
11
+ category: 0,
12
+ date_creation: "",
13
+ date_last_modified: "",
14
+ publisher: undefined,
15
+ currencyId: undefined,
16
+ authorName: undefined,
17
+ supportURL: undefined,
18
+ contactURL: undefined,
19
+ sourceURL: undefined,
20
+ compatibleWalletsJSON: undefined
21
+ };
22
+ var polyfilled = (0, polyfill_1.polyfillApplication)(app);
23
+ expect(polyfilled.currencyId).toEqual("ethereum");
24
+ });
25
+ //# sourceMappingURL=polyfill.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyfill.test.js","sourceRoot":"","sources":["../../src/apps/polyfill.test.ts"],"names":[],"mappings":";;AACA,uCAAiD;AAEjD,IAAI,CAAC,4DAA4D,EAAE;IACjE,IAAM,GAAG,GAAgB;QACvB,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,SAAS;QACtB,oBAAoB,EAAE,EAAE;QACxB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,EAAE;QACjB,kBAAkB,EAAE,EAAE;QACtB,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,SAAS;QACpB,qBAAqB,EAAE,SAAS;KACjC,CAAC;IACF,IAAM,UAAU,GAAG,IAAA,8BAAmB,EAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../src/apps/support.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,wBAAgB,aAAa,CAC3B,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAmBT;AAWD,wBAAgB,WAAW,CACzB,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAWT"}
1
+ {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../src/apps/support.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,wBAAgB,aAAa,CAC3B,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAmBT;AAYD,wBAAgB,WAAW,CACzB,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAWT"}
@@ -31,10 +31,11 @@ var appVersionsRequired = {
31
31
  Algorand: ">= 1.2.9",
32
32
  Polkadot: ">= 13.9250.0",
33
33
  Elrond: ">= 1.0.11",
34
- Ethereum: ">= 1.9.17",
34
+ Ethereum: ">= 1.9.20 || 1.9.20-dev",
35
35
  Solana: ">= 1.2.0",
36
36
  Celo: ">= 1.1.8",
37
- "Cardano ADA": ">= 4.1.0"
37
+ "Cardano ADA": ">= 4.1.0",
38
+ Zcash: "> 2.0.6"
38
39
  };
39
40
  function mustUpgrade(deviceModel, appName, appVersion) {
40
41
  if ((0, env_1.getEnv)("DISABLE_APP_VERSION_REQUIREMENTS"))
@@ -1 +1 @@
1
- {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/apps/support.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA4B;AAC5B,sGAAqG;AAErG,uCAA6C;AAC7C,8BAAgC;AAEhC,SAAgB,aAAa,CAC3B,WAA0B,EAC1B,OAAe,EACf,UAAkB;IAElB,IAAI,IAAA,YAAM,EAAC,kCAAkC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAM,IAAI,GAAG,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;IAEtC,IACE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvB,IAAA,+DAA8B,EAAC;YAC7B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACL,OAAO,KAAK,SAAS,EACrB;QACA,qCAAqC;QACrC,OAAO,CAAC,mBAAM,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,UAAU,EAAE;YACrD,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;KACJ;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAvBD,sCAuBC;AACD,IAAM,mBAAmB,GAAG;IAC1B,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,aAAa,EAAE,UAAU;CAC1B,CAAC;AACF,SAAgB,WAAW,CACzB,WAA0B,EAC1B,OAAe,EACf,UAAkB;IAElB,IAAI,IAAA,YAAM,EAAC,kCAAkC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,mBAAM,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,EAAE;YAChD,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;KACJ;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,kCAeC"}
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/apps/support.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA4B;AAC5B,sGAAqG;AAErG,uCAA6C;AAC7C,8BAAgC;AAEhC,SAAgB,aAAa,CAC3B,WAA0B,EAC1B,OAAe,EACf,UAAkB;IAElB,IAAI,IAAA,YAAM,EAAC,kCAAkC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAM,IAAI,GAAG,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;IAEtC,IACE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvB,IAAA,+DAA8B,EAAC;YAC7B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACL,OAAO,KAAK,SAAS,EACrB;QACA,qCAAqC;QACrC,OAAO,CAAC,mBAAM,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,UAAU,EAAE;YACrD,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;KACJ;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAvBD,sCAuBC;AACD,IAAM,mBAAmB,GAAG;IAC1B,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,aAAa,EAAE,UAAU;IACzB,KAAK,EAAE,SAAS;CACjB,CAAC;AACF,SAAgB,WAAW,CACzB,WAA0B,EAC1B,OAAe,EACf,UAAkB;IAElB,IAAI,IAAA,YAAM,EAAC,kCAAkC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,mBAAM,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,EAAE;YAChD,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;KACJ;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,kCAeC"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/bot/engine.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8B,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAuBpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrD,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EACV,cAAc,EACd,YAAY,EAIb,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EACV,OAAO,EAEP,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwBzE,wBAAsB,cAAc,CAAC,CAAC,SAAS,WAAW,EACxD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CA0MxB;AACD,wBAAsB,YAAY,CAAC,CAAC,SAAS,WAAW,EAAE,EACxD,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,aAAa,GACd,EAAE;IACD,YAAY,EAAE,GAAG,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;IACd,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,GAAG,CAAC;CACpB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CA+Q7B;AAkBD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EAAE,EACzD,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,EACX,MAAM,GACP,EAAE;IACD,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,CAAC,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAsE3D"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/bot/engine.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8B,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAuBpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrD,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EACV,cAAc,EACd,YAAY,EAKb,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EACV,OAAO,EAEP,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwBzE,wBAAsB,cAAc,CAAC,CAAC,SAAS,WAAW,EACxD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAqRxB;AACD,wBAAsB,YAAY,CAAC,CAAC,SAAS,WAAW,EAAE,EACxD,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,aAAa,GACd,EAAE;IACD,YAAY,EAAE,GAAG,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;IACd,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,GAAG,CAAC;CACpB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAmV7B;AAkBD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EAAE,EACzD,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,EACX,MAAM,GACP,EAAE;IACD,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,CAAC,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAsE3D"}
package/lib/bot/engine.js CHANGED
@@ -110,7 +110,7 @@ function crossAccount(account) {
110
110
  }
111
111
  function runWithAppSpec(spec, reportLog) {
112
112
  return __awaiter(this, void 0, void 0, function () {
113
- var seed, coinapps, mutationReports, appQuery, currency, dependency, appCandidate, deviceParams, device, appReport, bridge, syncConfig, t, preloadedData, preloadDuration, beforeScanTime, accounts, i, _a, _b, preloadStats, mutationsCount, length_1, totalTries, accountIdsNeedResync_1, j, _loop_1, i, e_1;
113
+ var seed, coinapps, mutationReports, appQuery, currency, dependency, appCandidate, deviceParams, device, hintWarnings, appReport, list, mutationThatProducedDestinationsWithoutTests, mutationWithDestinationTestsWithoutDestination, bridge, syncConfig, t, preloadedData, preloadDuration, beforeScanTime, accounts, i, _a, _b, preloadStats, mutationsCount, length_1, totalTries, accountIdsNeedResync_1, j, _loop_1, i, e_1;
114
114
  return __generator(this, function (_c) {
115
115
  switch (_c.label) {
116
116
  case 0:
@@ -129,17 +129,28 @@ function runWithAppSpec(spec, reportLog) {
129
129
  appQuery = spec.appQuery, currency = spec.currency, dependency = spec.dependency;
130
130
  appCandidate = (0, speculos_1.findAppCandidate)(appCandidates, appQuery);
131
131
  if (!appCandidate) {
132
- console.warn("no app found for " + spec.name, { appQuery: appQuery, appCandidates: appCandidates });
132
+ console.warn("no app found for " + spec.name);
133
+ console.warn(appQuery);
134
+ console.warn(JSON.stringify(appCandidates, undefined, 2));
133
135
  }
134
136
  (0, invariant_1["default"])(appCandidate, "%s: no app found. Are you sure your COINAPPS is up to date?", spec.name, coinapps);
135
137
  (0, logs_1.log)("engine", "spec ".concat(spec.name, " will use ").concat((0, formatters_1.formatAppCandidate)(appCandidate)));
136
138
  deviceParams = __assign(__assign({}, appCandidate), { appName: spec.currency.managerAppName, seed: seed, dependency: dependency, coinapps: coinapps });
137
- appReport = {
138
- spec: spec
139
- };
139
+ hintWarnings = [];
140
+ appReport = { spec: spec, hintWarnings: hintWarnings };
141
+ // staticly check that all mutations declared a test too (if no generic spec test)
142
+ if (!spec.test) {
143
+ list = spec.mutations.filter(function (m) { return !m.test; });
144
+ if (list.length > 0) {
145
+ hintWarnings.push("mutations should define a test(): " +
146
+ list.map(function (m) { return m.name; }).join(", "));
147
+ }
148
+ }
149
+ mutationThatProducedDestinationsWithoutTests = [];
150
+ mutationWithDestinationTestsWithoutDestination = [];
140
151
  _c.label = 3;
141
152
  case 3:
142
- _c.trys.push([3, 19, 20, 23]);
153
+ _c.trys.push([3, 18, 19, 22]);
143
154
  return [4 /*yield*/, (0, speculos_1.createSpeculosDevice)(deviceParams)];
144
155
  case 4:
145
156
  device = _c.sent();
@@ -167,6 +178,12 @@ function runWithAppSpec(spec, reportLog) {
167
178
  case 6:
168
179
  accounts = _c.sent();
169
180
  appReport.scanDuration = (0, performance_now_1["default"])() - beforeScanTime;
181
+ // check if there are more accounts than mutation declared as a hint for the dev
182
+ if (accounts.length <= spec.mutations.length) {
183
+ hintWarnings.push("There are not enough accounts to cover all mutations. Please increase the account target to at least " +
184
+ (spec.mutations.length + 1) +
185
+ " accounts");
186
+ }
170
187
  i = 0;
171
188
  _c.label = 7;
172
189
  case 7:
@@ -201,7 +218,7 @@ function runWithAppSpec(spec, reportLog) {
201
218
  case 11:
202
219
  if (!(j < totalTries)) return [3 /*break*/, 17];
203
220
  _loop_1 = function (i) {
204
- var resynced, resyncAccountsDuration, account, report, finalAccount_1;
221
+ var resynced, resyncAccountsDuration, account, report, finalAccount_1, finalDestination_1, mutation;
205
222
  return __generator(this, function (_d) {
206
223
  switch (_d.label) {
207
224
  case 0:
@@ -239,6 +256,28 @@ function runWithAppSpec(spec, reportLog) {
239
256
  return a.id === finalAccount_1.id ? finalAccount_1 : a;
240
257
  });
241
258
  }
259
+ if (report.finalDestination) {
260
+ finalDestination_1 = report.finalDestination;
261
+ accountIdsNeedResync_1 = accountIdsNeedResync_1.filter(function (id) { return id !== finalDestination_1.id; });
262
+ accounts = accounts.map(function (a) {
263
+ return a.id === finalDestination_1.id ? finalDestination_1 : a;
264
+ });
265
+ }
266
+ else if (report.mutation) {
267
+ mutation = report.mutation;
268
+ if (report.destination) {
269
+ if (!mutation.testDestination &&
270
+ !mutationThatProducedDestinationsWithoutTests.includes(mutation)) {
271
+ mutationThatProducedDestinationsWithoutTests.push(mutation);
272
+ }
273
+ }
274
+ else {
275
+ if (mutation.testDestination &&
276
+ !mutationWithDestinationTestsWithoutDestination.includes(mutation)) {
277
+ mutationWithDestinationTestsWithoutDestination.push(mutation);
278
+ }
279
+ }
280
+ }
242
281
  // eslint-disable-next-line no-console
243
282
  console.log((0, formatters_1.formatReportForConsole)(report));
244
283
  mutationReports.push(report);
@@ -276,28 +315,42 @@ function runWithAppSpec(spec, reportLog) {
276
315
  case 16:
277
316
  j++;
278
317
  return [3 /*break*/, 11];
279
- case 17: return [4 /*yield*/, (0, promise_1.promiseAllBatched)((0, env_1.getEnv)("SYNC_MAX_CONCURRENT"), accounts, syncAccount)];
280
- case 18:
281
- accounts = _c.sent();
318
+ case 17:
319
+ if (mutationReports.every(function (r) { return !r.mutation; }) &&
320
+ accounts.some(function (a) { return a.spendableBalance.gt(spec.minViableAmount || 0); })) {
321
+ hintWarnings.push("No mutation were found possible. Yet there are funds in the accounts, please investigate.");
322
+ }
323
+ if (mutationThatProducedDestinationsWithoutTests.length) {
324
+ hintWarnings.push("mutations should define a testDestination(): " +
325
+ mutationThatProducedDestinationsWithoutTests
326
+ .map(function (m) { return m.name; })
327
+ .join(", "));
328
+ }
329
+ if (mutationWithDestinationTestsWithoutDestination.length) {
330
+ hintWarnings.push("mutations should NOT define a testDestination() because there are no 'destination' sibling account found: " +
331
+ mutationWithDestinationTestsWithoutDestination
332
+ .map(function (m) { return m.name; })
333
+ .join(", "));
334
+ }
282
335
  appReport.mutations = mutationReports;
283
336
  appReport.accountsAfter = accounts;
284
- return [3 /*break*/, 23];
285
- case 19:
337
+ return [3 /*break*/, 22];
338
+ case 18:
286
339
  e_1 = _c.sent();
287
340
  if (process.env.CI)
288
341
  console.error(e_1);
289
342
  appReport.fatalError = e_1;
290
343
  (0, logs_1.log)("engine", "spec ".concat(spec.name, " failed with ").concat(String(e_1)));
291
- return [3 /*break*/, 23];
292
- case 20:
344
+ return [3 /*break*/, 22];
345
+ case 19:
293
346
  (0, logs_1.log)("engine", "spec ".concat(spec.name, " finished"));
294
- if (!device) return [3 /*break*/, 22];
347
+ if (!device) return [3 /*break*/, 21];
295
348
  return [4 /*yield*/, (0, speculos_1.releaseSpeculosDevice)(device.id)];
296
- case 21:
349
+ case 20:
297
350
  _c.sent();
298
- _c.label = 22;
299
- case 22: return [7 /*endfinally*/];
300
- case 23: return [2 /*return*/, appReport];
351
+ _c.label = 21;
352
+ case 21: return [7 /*endfinally*/];
353
+ case 22: return [2 /*return*/, appReport];
301
354
  }
302
355
  });
303
356
  });
@@ -306,7 +359,7 @@ exports.runWithAppSpec = runWithAppSpec;
306
359
  function runOnAccount(_a) {
307
360
  var appCandidate = _a.appCandidate, spec = _a.spec, device = _a.device, account = _a.account, accounts = _a.accounts, accountIdsNeedResync = _a.accountIdsNeedResync, mutationsCount = _a.mutationsCount, resyncAccountsDuration = _a.resyncAccountsDuration, preloadedData = _a.preloadedData;
308
361
  return __awaiter(this, void 0, void 0, function () {
309
- var mutations, latestSignOperationEvent, report, accountBridge, accountBeforeTransaction_1, maxSpendable, candidates, unavailableMutationReasons, mutations_1, mutations_1_1, mutation_1, count, arg, r, candidate, tx, mutation_2, updates, status_1, errors_1, transaction_1, updates_1, updates_1_1, patch, e_2_1, warnings, recovered, signedOperation, optimisticOperation_1, _b, testBefore_1, step, result, error_1;
362
+ var mutations, latestSignOperationEvent, report, accountBridge, accountBeforeTransaction_1, maxSpendable, candidates, unavailableMutationReasons, mutations_1, mutations_1_1, mutation_1, count, arg, r, candidate, tx, mutation_2, updates, status_1, errors_1, transaction_1, updates_1, updates_1_1, patch, e_2_1, destination, warnings, recovered, signedOperation, optimisticOperation_1, _b, testBefore_1, timeOut_1, step, result, finalAccount_2, operation, destinationBeforeTransaction_1, testDestination_1, ntestBefore_1, newTimeOut_1, sendingOperation_1, step_1, result_1, error_1;
310
363
  var e_3, _c, e_2, _d;
311
364
  return __generator(this, function (_e) {
312
365
  switch (_e.label) {
@@ -319,7 +372,7 @@ function runOnAccount(_a) {
319
372
  };
320
373
  _e.label = 1;
321
374
  case 1:
322
- _e.trys.push([1, 22, , 23]);
375
+ _e.trys.push([1, 24, , 25]);
323
376
  accountBridge = (0, bridge_1.getAccountBridge)(account);
324
377
  accountBeforeTransaction_1 = account;
325
378
  report.account = account;
@@ -354,7 +407,8 @@ function runOnAccount(_a) {
354
407
  mutation: mutation_1,
355
408
  tx: r.transaction,
356
409
  // $FlowFixMe what the hell
357
- updates: r.updates
410
+ updates: r.updates,
411
+ destination: r.destination
358
412
  });
359
413
  }
360
414
  catch (error) {
@@ -424,7 +478,9 @@ function runOnAccount(_a) {
424
478
  return [7 /*endfinally*/];
425
479
  case 13:
426
480
  report.transaction = transaction_1;
427
- report.destination = accounts.find(function (a) { return a.freshAddress === transaction_1.recipient; });
481
+ destination = candidate.destination ||
482
+ accounts.find(function (a) { return a.freshAddress === transaction_1.recipient; });
483
+ report.destination = destination;
428
484
  return [4 /*yield*/, accountBridge.getTransactionStatus(account, transaction_1)];
429
485
  case 14:
430
486
  status_1 = _e.sent();
@@ -491,6 +547,8 @@ function runOnAccount(_a) {
491
547
  if (report.destination) {
492
548
  accountIdsNeedResync.push(report.destination.id);
493
549
  }
550
+ // even if the test will actively sync the account, we need to pessimisticly assume it won't, we may not reach the final step of it.
551
+ // after the runOnAccount() call, we actively remove from accountIdsNeedResync the account.id if it is actually sucessful
494
552
  accountIdsNeedResync.push(account.id);
495
553
  if (!(0, env_1.getEnv)("DISABLE_TRANSACTION_BROADCAST")) return [3 /*break*/, 18];
496
554
  _b = signedOperation.operation;
@@ -514,9 +572,9 @@ function runOnAccount(_a) {
514
572
  report.broadcastedTime = (0, performance_now_1["default"])();
515
573
  (0, logs_1.log)("engine", "spec ".concat(spec.name, "/").concat(account.name, "/").concat(optimisticOperation_1.hash, " broadcasted"));
516
574
  testBefore_1 = (0, performance_now_1["default"])();
575
+ timeOut_1 = mutation_2.testTimeout || spec.testTimeout || 30 * 1000;
517
576
  step = function (account) {
518
- var timedOut = (0, performance_now_1["default"])() - testBefore_1 >
519
- (mutation_2.testTimeout || spec.testTimeout || 30 * 1000);
577
+ var timedOut = (0, performance_now_1["default"])() - testBefore_1 > timeOut_1;
520
578
  var operation = account.operations.find(function (o) { return o.id === optimisticOperation_1.id; });
521
579
  if (timedOut && !operation) {
522
580
  (0, bot_test_context_1.botTest)("waiting operation id to appear after broadcast", function () {
@@ -546,31 +604,83 @@ function runOnAccount(_a) {
546
604
  report.testDuration = (0, performance_now_1["default"])() - testBefore_1;
547
605
  throw e;
548
606
  }
607
+ (0, logs_1.log)("bot", "failed confirm test. trying again. " + String(e));
549
608
  // We will try again
550
609
  return;
551
610
  }
552
611
  }
553
612
  return operation;
554
613
  };
555
- return [4 /*yield*/, awaitAccountOperation({
556
- account: account,
557
- step: step
558
- })];
614
+ return [4 /*yield*/, awaitAccountOperation({ account: account, step: step })];
559
615
  case 21:
560
616
  result = _e.sent();
561
- report.finalAccount = result.account;
562
- report.operation = result.operation;
617
+ finalAccount_2 = result.account, operation = result.value;
618
+ report.finalAccount = finalAccount_2;
619
+ report.operation = operation;
563
620
  report.confirmedTime = (0, performance_now_1["default"])();
564
621
  (0, logs_1.log)("engine", "spec ".concat(spec.name, "/").concat(account.name, "/").concat(optimisticOperation_1.hash, " confirmed"));
565
- return [3 /*break*/, 23];
622
+ destinationBeforeTransaction_1 = destination;
623
+ if (!(destination && mutation_2.testDestination)) return [3 /*break*/, 23];
624
+ testDestination_1 = mutation_2.testDestination;
625
+ ntestBefore_1 = (0, performance_now_1["default"])();
626
+ newTimeOut_1 = Math.max(10000, timeOut_1 - (ntestBefore_1 - testBefore_1));
627
+ (0, logs_1.log)("bot", "remaining time to test destination: " +
628
+ (newTimeOut_1 / 1000).toFixed(0) +
629
+ "s");
630
+ sendingOperation_1 = operation;
631
+ step_1 = function (account) {
632
+ var timedOut = (0, performance_now_1["default"])() - ntestBefore_1 > newTimeOut_1;
633
+ var operation;
634
+ try {
635
+ operation = account.operations.find(function (op) { return op.hash === sendingOperation_1.hash; });
636
+ (0, bot_test_context_1.botTest)("destination account should receive an operation (by tx hash)", function () {
637
+ return (0, invariant_1["default"])(operation, "no operation found with hash %s", operation.hash);
638
+ });
639
+ if (!operation)
640
+ throw new Error();
641
+ var arg_1 = {
642
+ transaction: transaction_1,
643
+ status: status_1,
644
+ sendingAccount: finalAccount_2,
645
+ sendingOperation: sendingOperation_1,
646
+ operation: operation,
647
+ destinationBeforeTransaction: destinationBeforeTransaction_1,
648
+ destination: account
649
+ };
650
+ (0, bot_test_context_1.botTest)("destination", function () { return testDestination_1(arg_1); });
651
+ report.testDestinationDuration = (0, performance_now_1["default"])() - ntestBefore_1;
652
+ }
653
+ catch (e) {
654
+ // We never reach the final test success
655
+ if (timedOut) {
656
+ report.testDestinationDuration = (0, performance_now_1["default"])() - ntestBefore_1;
657
+ throw e;
658
+ }
659
+ (0, logs_1.log)("bot", "failed destination confirm test. trying again. " + String(e));
660
+ // We will try again
661
+ return;
662
+ }
663
+ return operation;
664
+ };
665
+ return [4 /*yield*/, awaitAccountOperation({
666
+ account: destination,
667
+ step: step_1
668
+ })];
566
669
  case 22:
670
+ result_1 = _e.sent();
671
+ report.finalDestination = result_1.account;
672
+ report.finalDestinationOperation = result_1.value;
673
+ report.destinationConfirmedTime = (0, performance_now_1["default"])();
674
+ _e.label = 23;
675
+ case 23: return [3 /*break*/, 25];
676
+ case 24:
567
677
  error_1 = _e.sent();
568
678
  if (process.env.CI)
569
679
  console.error(error_1);
570
680
  (0, logs_1.log)("mutation-error", spec.name + ": " + (0, formatters_1.formatError)(error_1, true));
571
681
  report.error = error_1;
572
- return [3 /*break*/, 23];
573
- case 23:
682
+ return [3 /*break*/, 25];
683
+ case 25:
574
684
  report.latestSignOperationEvent = latestSignOperationEvent;
575
685
  return [2 /*return*/, report];
576
686
  }
@@ -670,16 +780,15 @@ function awaitAccountOperation(_a) {
670
780
  var targetInterval = (0, env_1.getEnv)("SYNC_PENDING_INTERVAL");
671
781
  function loop() {
672
782
  return __awaiter(this, void 0, void 0, function () {
673
- var operation, spent, r;
783
+ var value, spent, r;
674
784
  return __generator(this, function (_a) {
675
785
  switch (_a.label) {
676
786
  case 0:
677
- operation = step(acc);
678
- if (operation) {
679
- (0, logs_1.log)("engine", "found " + operation.id);
787
+ value = step(acc);
788
+ if (value) {
680
789
  return [2 /*return*/, {
681
790
  account: acc,
682
- operation: operation
791
+ value: value
683
792
  }];
684
793
  }
685
794
  spent = (0, performance_now_1["default"])() - lastSync;
@@ -704,14 +813,14 @@ function awaitAccountOperation(_a) {
704
813
  // generic transaction test: make sure you are sure all coins suit the tests here
705
814
  function transactionTest(_a) {
706
815
  var operation = _a.operation, optimisticOperation = _a.optimisticOperation, account = _a.account;
707
- var timingThreshold = 30 * 60 * 1000;
708
- // FIXME: .valueOf to do arithmetic operations on date with typescript
709
- var dt = Date.now().valueOf() - operation.date.valueOf();
816
+ var dt = Date.now() - operation.date.getTime();
817
+ var lowerThreshold = -60 * 1000; // -1mn accepted
818
+ var upperThreshold = 30 * 60 * 1000; // 30mn up
710
819
  (0, bot_test_context_1.botTest)("operation.date must not be in future", function () {
711
- return (0, expect_1["default"])(dt).toBeGreaterThanOrEqual(0);
820
+ return (0, expect_1["default"])(dt).toBeGreaterThan(lowerThreshold);
712
821
  });
713
822
  (0, bot_test_context_1.botTest)("operation.date less than 30mn ago", function () {
714
- return (0, expect_1["default"])(dt).toBeLessThan(timingThreshold);
823
+ return (0, expect_1["default"])(dt).toBeLessThan(upperThreshold);
715
824
  });
716
825
  (0, bot_test_context_1.botTest)("operation must not failed", function () {
717
826
  (0, expect_1["default"])(!operation.hasFailed).toBe(true);
@@ -719,7 +828,7 @@ function transactionTest(_a) {
719
828
  var blockAvgTime = account.currency.blockAvgTime;
720
829
  if (blockAvgTime && account.blockHeight) {
721
830
  var expected_1 = (0, operation_1.getOperationConfirmationNumber)(operation, account);
722
- var expectedMax_1 = Math.ceil(timingThreshold / blockAvgTime);
831
+ var expectedMax_1 = Math.ceil(upperThreshold / blockAvgTime);
723
832
  (0, bot_test_context_1.botTest)("low amount of confirmations", function () {
724
833
  return (0, invariant_1["default"])(expected_1 <= expectedMax_1, "There are way too much operation confirmation for a small amount of time. %s < %s", expected_1, expectedMax_1);
725
834
  });