@ledgerhq/live-common 23.1.0 → 24.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/lib/__tests__/mocks/account.js +3 -3
  2. package/lib/__tests__/mocks/account.js.map +1 -1
  3. package/lib/__tests__/test-helpers/bridge.d.ts +1 -4
  4. package/lib/__tests__/test-helpers/bridge.d.ts.map +1 -1
  5. package/lib/__tests__/test-helpers/bridge.js +1 -28
  6. package/lib/__tests__/test-helpers/bridge.js.map +1 -1
  7. package/lib/__tests__/test-helpers/setup.js +51 -0
  8. package/lib/__tests__/test-helpers/setup.js.map +1 -1
  9. package/lib/api/Ripple.d.ts.map +1 -1
  10. package/lib/api/Ripple.js +113 -68
  11. package/lib/api/Ripple.js.map +1 -1
  12. package/lib/apps/support.d.ts.map +1 -1
  13. package/lib/apps/support.js +6 -2
  14. package/lib/apps/support.js.map +1 -1
  15. package/lib/bot/index.d.ts.map +1 -1
  16. package/lib/bot/index.js +13 -19
  17. package/lib/bot/index.js.map +1 -1
  18. package/lib/bot/test.bot.d.ts +1 -1
  19. package/lib/bot/test.bot.d.ts.map +1 -1
  20. package/lib/bot/test.bot.js +1 -2
  21. package/lib/bot/test.bot.js.map +1 -1
  22. package/lib/countervalues/logic.integration.test.d.ts +2 -0
  23. package/lib/countervalues/logic.integration.test.d.ts.map +1 -0
  24. package/lib/countervalues/{logic.test.js → logic.integration.test.js} +1 -1
  25. package/lib/countervalues/logic.integration.test.js.map +1 -0
  26. package/lib/countervalues/react.d.ts +1 -21
  27. package/lib/countervalues/react.d.ts.map +1 -1
  28. package/lib/countervalues/react.js +1 -77
  29. package/lib/countervalues/react.js.map +1 -1
  30. package/lib/derivation.d.ts +1 -0
  31. package/lib/derivation.d.ts.map +1 -1
  32. package/lib/derivation.js +3 -2
  33. package/lib/derivation.js.map +1 -1
  34. package/lib/env.d.ts +16 -6
  35. package/lib/env.d.ts.map +1 -1
  36. package/lib/env.js +11 -1
  37. package/lib/env.js.map +1 -1
  38. package/lib/env.react.d.ts +1 -1
  39. package/lib/env.react.d.ts.map +1 -1
  40. package/lib/errors.d.ts +0 -3
  41. package/lib/errors.d.ts.map +1 -1
  42. package/lib/errors.js +2 -3
  43. package/lib/errors.js.map +1 -1
  44. package/lib/exchange/index.d.ts +5 -0
  45. package/lib/exchange/index.d.ts.map +1 -1
  46. package/lib/exchange/index.js.map +1 -1
  47. package/lib/exchange/swap/checkQuote.d.ts +4 -0
  48. package/lib/exchange/swap/checkQuote.d.ts.map +1 -0
  49. package/lib/{families/tezos/bridge.test.js → exchange/swap/checkQuote.js} +35 -36
  50. package/lib/exchange/swap/checkQuote.js.map +1 -0
  51. package/lib/exchange/swap/checkQuote.test.d.ts +2 -0
  52. package/lib/exchange/swap/checkQuote.test.d.ts.map +1 -0
  53. package/lib/{families/filecoin/bridge.test.js → exchange/swap/checkQuote.test.js} +53 -42
  54. package/lib/exchange/swap/checkQuote.test.js.map +1 -0
  55. package/lib/exchange/swap/completeExchange.d.ts.map +1 -1
  56. package/lib/exchange/swap/completeExchange.js +9 -9
  57. package/lib/exchange/swap/completeExchange.js.map +1 -1
  58. package/lib/exchange/swap/getExchangeRates.d.ts.map +1 -1
  59. package/lib/exchange/swap/getExchangeRates.js +3 -1
  60. package/lib/exchange/swap/getExchangeRates.js.map +1 -1
  61. package/lib/exchange/swap/getExchangeRates.test.js +1 -2
  62. package/lib/exchange/swap/getExchangeRates.test.js.map +1 -1
  63. package/lib/exchange/swap/getProviders.d.ts.map +1 -1
  64. package/lib/exchange/swap/getProviders.js +10 -4
  65. package/lib/exchange/swap/getProviders.js.map +1 -1
  66. package/lib/exchange/swap/getStatus.d.ts +1 -3
  67. package/lib/exchange/swap/getStatus.d.ts.map +1 -1
  68. package/lib/exchange/swap/getStatus.js +2 -30
  69. package/lib/exchange/swap/getStatus.js.map +1 -1
  70. package/lib/exchange/swap/hooks/usePollKYCStatus.test.js +4 -5
  71. package/lib/exchange/swap/hooks/usePollKYCStatus.test.js.map +1 -1
  72. package/lib/exchange/swap/hooks/useProviderRates.d.ts +3 -4
  73. package/lib/exchange/swap/hooks/useProviderRates.d.ts.map +1 -1
  74. package/lib/exchange/swap/hooks/useProviderRates.js +35 -5
  75. package/lib/exchange/swap/hooks/useProviderRates.js.map +1 -1
  76. package/lib/exchange/swap/hooks/useProviderRates.test.js +107 -3
  77. package/lib/exchange/swap/hooks/useProviderRates.test.js.map +1 -1
  78. package/lib/exchange/swap/hooks/useSwapProviders.test.js +1 -2
  79. package/lib/exchange/swap/hooks/useSwapProviders.test.js.map +1 -1
  80. package/lib/exchange/swap/hooks/useSwapTransaction.d.ts +5 -4
  81. package/lib/exchange/swap/hooks/useSwapTransaction.d.ts.map +1 -1
  82. package/lib/exchange/swap/hooks/useSwapTransaction.js +6 -6
  83. package/lib/exchange/swap/hooks/useSwapTransaction.js.map +1 -1
  84. package/lib/exchange/swap/hooks/useUpdateMaxAmount.d.ts +4 -3
  85. package/lib/exchange/swap/hooks/useUpdateMaxAmount.d.ts.map +1 -1
  86. package/lib/exchange/swap/hooks/useUpdateMaxAmount.js +8 -5
  87. package/lib/exchange/swap/hooks/useUpdateMaxAmount.js.map +1 -1
  88. package/lib/exchange/swap/hooks/useUpdateMaxAmount.test.js +37 -7
  89. package/lib/exchange/swap/hooks/useUpdateMaxAmount.test.js.map +1 -1
  90. package/lib/exchange/swap/index.d.ts +10 -8
  91. package/lib/exchange/swap/index.d.ts.map +1 -1
  92. package/lib/exchange/swap/index.js +43 -18
  93. package/lib/exchange/swap/index.js.map +1 -1
  94. package/lib/exchange/swap/index.test.d.ts +2 -0
  95. package/lib/exchange/swap/index.test.d.ts.map +1 -0
  96. package/lib/exchange/swap/index.test.js +30 -0
  97. package/lib/exchange/swap/index.test.js.map +1 -0
  98. package/lib/exchange/swap/initSwap.d.ts +1 -1
  99. package/lib/exchange/swap/initSwap.d.ts.map +1 -1
  100. package/lib/exchange/swap/initSwap.js +30 -25
  101. package/lib/exchange/swap/initSwap.js.map +1 -1
  102. package/lib/exchange/swap/mock.d.ts +5 -2
  103. package/lib/exchange/swap/mock.d.ts.map +1 -1
  104. package/lib/exchange/swap/mock.js +127 -6
  105. package/lib/exchange/swap/mock.js.map +1 -1
  106. package/lib/exchange/swap/postSwapState.d.ts +4 -0
  107. package/lib/exchange/swap/postSwapState.d.ts.map +1 -0
  108. package/lib/exchange/swap/postSwapState.js +121 -0
  109. package/lib/exchange/swap/postSwapState.js.map +1 -0
  110. package/lib/exchange/swap/types.d.ts +30 -2
  111. package/lib/exchange/swap/types.d.ts.map +1 -1
  112. package/lib/exchange/swap/updateAccountSwapStatus.d.ts.map +1 -1
  113. package/lib/exchange/swap/updateAccountSwapStatus.js +2 -2
  114. package/lib/exchange/swap/updateAccountSwapStatus.js.map +1 -1
  115. package/lib/exchange/swap/utils/index.d.ts +19 -2
  116. package/lib/exchange/swap/utils/index.d.ts.map +1 -1
  117. package/lib/exchange/swap/utils/index.js +96 -20
  118. package/lib/exchange/swap/utils/index.js.map +1 -1
  119. package/lib/exchange/swap/utils/index.test.js +95 -48
  120. package/lib/exchange/swap/utils/index.test.js.map +1 -1
  121. package/lib/families/algorand/bridge.integration.test.d.ts +2 -0
  122. package/lib/families/algorand/bridge.integration.test.d.ts.map +1 -0
  123. package/lib/families/algorand/{test-dataset.js → bridge.integration.test.js} +12 -11
  124. package/lib/families/algorand/bridge.integration.test.js.map +1 -0
  125. package/lib/families/bitcoin/bridge.integration.test.d.ts +2 -0
  126. package/lib/families/bitcoin/bridge.integration.test.d.ts.map +1 -0
  127. package/lib/families/bitcoin/{test-dataset.js → bridge.integration.test.js} +17 -14
  128. package/lib/families/bitcoin/bridge.integration.test.js.map +1 -0
  129. package/lib/families/bitcoin/descriptor.d.ts.map +1 -1
  130. package/lib/families/bitcoin/descriptor.js +2 -1
  131. package/lib/families/bitcoin/descriptor.js.map +1 -1
  132. package/lib/families/bitcoin/satstack.d.ts.map +1 -1
  133. package/lib/families/bitcoin/satstack.js +5 -6
  134. package/lib/families/bitcoin/satstack.js.map +1 -1
  135. package/lib/families/bitcoin/satstack.test.js +4 -1
  136. package/lib/families/bitcoin/satstack.test.js.map +1 -1
  137. package/lib/families/bitcoin/specs.d.ts.map +1 -1
  138. package/lib/families/bitcoin/specs.js +1 -2
  139. package/lib/families/bitcoin/specs.js.map +1 -1
  140. package/lib/families/cardano/bridge.integration.test.d.ts +2 -0
  141. package/lib/families/cardano/bridge.integration.test.d.ts.map +1 -0
  142. package/lib/families/cardano/{test-dataset.js → bridge.integration.test.js} +4 -2
  143. package/lib/families/cardano/bridge.integration.test.js.map +1 -0
  144. package/lib/families/celo/bridge.integration.test.d.ts +2 -0
  145. package/lib/families/celo/bridge.integration.test.d.ts.map +1 -0
  146. package/lib/families/celo/bridge.integration.test.js +16 -0
  147. package/lib/families/celo/bridge.integration.test.js.map +1 -0
  148. package/lib/families/cosmos/bridge.integration.test.d.ts +2 -0
  149. package/lib/families/cosmos/bridge.integration.test.d.ts.map +1 -0
  150. package/lib/families/cosmos/{test-dataset.js → bridge.integration.test.js} +5 -4
  151. package/lib/families/cosmos/bridge.integration.test.js.map +1 -0
  152. package/lib/families/cosmos/speculos-deviceActions.js +2 -2
  153. package/lib/families/crypto_org/bridge.integration.test.d.ts +2 -0
  154. package/lib/families/crypto_org/bridge.integration.test.d.ts.map +1 -0
  155. package/lib/families/crypto_org/bridge.integration.test.js +16 -0
  156. package/lib/families/crypto_org/bridge.integration.test.js.map +1 -0
  157. package/lib/families/elrond/bridge.integration.test.d.ts +2 -0
  158. package/lib/families/elrond/bridge.integration.test.d.ts.map +1 -0
  159. package/lib/families/elrond/{test-dataset.js → bridge.integration.test.js} +5 -5
  160. package/lib/families/elrond/bridge.integration.test.js.map +1 -0
  161. package/lib/families/ethereum/bridge.integration.test.d.ts +2 -0
  162. package/lib/families/ethereum/bridge.integration.test.d.ts.map +1 -0
  163. package/lib/families/ethereum/{test-dataset.js → bridge.integration.test.js} +8 -24
  164. package/lib/families/ethereum/bridge.integration.test.js.map +1 -0
  165. package/lib/families/ethereum/datasets/ethereum1.d.ts +3 -0
  166. package/lib/families/ethereum/datasets/ethereum1.d.ts.map +1 -0
  167. package/lib/families/ethereum/datasets/ethereum1.js +22 -0
  168. package/lib/families/ethereum/datasets/ethereum1.js.map +1 -0
  169. package/lib/families/ethereum/modules/compound.resilience.integration.test.d.ts +2 -0
  170. package/lib/families/ethereum/modules/compound.resilience.integration.test.d.ts.map +1 -0
  171. package/lib/families/ethereum/modules/{compound.resilience.test.js → compound.resilience.integration.test.js} +3 -3
  172. package/lib/families/ethereum/modules/compound.resilience.integration.test.js.map +1 -0
  173. package/lib/families/ethereum/modules/erc1155.d.ts.map +1 -1
  174. package/lib/families/ethereum/modules/erc1155.js +5 -1
  175. package/lib/families/ethereum/modules/erc1155.js.map +1 -1
  176. package/lib/families/ethereum/modules/erc721.d.ts.map +1 -1
  177. package/lib/families/ethereum/modules/erc721.js +5 -0
  178. package/lib/families/ethereum/modules/erc721.js.map +1 -1
  179. package/lib/families/ethereum/nft.unit.test.js +35 -15
  180. package/lib/families/ethereum/nft.unit.test.js.map +1 -1
  181. package/lib/families/ethereum/synchronisation.d.ts.map +1 -1
  182. package/lib/families/ethereum/synchronisation.integration.test.d.ts +2 -0
  183. package/lib/families/ethereum/synchronisation.integration.test.d.ts.map +1 -0
  184. package/lib/families/ethereum/{synchronisation.test.js → synchronisation.integration.test.js} +4 -4
  185. package/lib/families/ethereum/synchronisation.integration.test.js.map +1 -0
  186. package/lib/families/ethereum/synchronisation.js +17 -13
  187. package/lib/families/ethereum/synchronisation.js.map +1 -1
  188. package/lib/families/filecoin/bridge.integration.test.d.ts +2 -0
  189. package/lib/families/filecoin/bridge.integration.test.d.ts.map +1 -0
  190. package/lib/families/filecoin/{test-dataset.js → bridge.integration.test.js} +84 -3
  191. package/lib/families/filecoin/bridge.integration.test.js.map +1 -0
  192. package/lib/families/hedera/bridge.integration.test.d.ts +2 -0
  193. package/lib/families/hedera/bridge.integration.test.d.ts.map +1 -0
  194. package/lib/families/hedera/{test-dataset.js → bridge.integration.test.js} +5 -3
  195. package/lib/families/hedera/bridge.integration.test.js.map +1 -0
  196. package/lib/families/polkadot/bridge.integration.test.d.ts +2 -0
  197. package/lib/families/polkadot/bridge.integration.test.d.ts.map +1 -0
  198. package/lib/families/polkadot/{test-dataset.js → bridge.integration.test.js} +138 -4
  199. package/lib/families/polkadot/bridge.integration.test.js.map +1 -0
  200. package/lib/families/ripple/bridge.integration.test.d.ts +2 -0
  201. package/lib/families/ripple/bridge.integration.test.d.ts.map +1 -0
  202. package/lib/families/ripple/{test-dataset.js → bridge.integration.test.js} +4 -2
  203. package/lib/families/ripple/bridge.integration.test.js.map +1 -0
  204. package/lib/families/solana/api/chain/account/token.d.ts +1 -1
  205. package/lib/families/solana/api/chain/account/vote.d.ts +12 -12
  206. package/lib/families/solana/api/chain/instruction/system/types.d.ts +4 -4
  207. package/lib/families/solana/bridge.integration.test.d.ts +2 -0
  208. package/lib/families/solana/bridge.integration.test.d.ts.map +1 -0
  209. package/lib/families/solana/{test-dataset.js → bridge.integration.test.js} +289 -73
  210. package/lib/families/solana/bridge.integration.test.js.map +1 -0
  211. package/lib/families/stellar/bridge.integration.test.d.ts +2 -0
  212. package/lib/families/stellar/bridge.integration.test.d.ts.map +1 -0
  213. package/lib/families/stellar/{test-dataset.js → bridge.integration.test.js} +9 -8
  214. package/lib/families/stellar/bridge.integration.test.js.map +1 -0
  215. package/lib/families/stellar/js-estimateMaxSpendable.d.ts.map +1 -1
  216. package/lib/families/stellar/js-estimateMaxSpendable.js +2 -2
  217. package/lib/families/stellar/js-estimateMaxSpendable.js.map +1 -1
  218. package/lib/families/tezos/{test-dataset.d.ts → bridge.integration.test.d.ts} +2 -5
  219. package/lib/families/tezos/bridge.integration.test.d.ts.map +1 -0
  220. package/lib/families/tezos/{test-dataset.js → bridge.integration.test.js} +73 -2
  221. package/lib/families/tezos/bridge.integration.test.js.map +1 -0
  222. package/lib/families/tezos/synchronisation.js +2 -2
  223. package/lib/families/tezos/synchronisation.js.map +1 -1
  224. package/lib/families/tron/bridge.integration.test.d.ts +2 -0
  225. package/lib/families/tron/bridge.integration.test.d.ts.map +1 -0
  226. package/lib/families/tron/{test-dataset.js → bridge.integration.test.js} +5 -4
  227. package/lib/families/tron/bridge.integration.test.js.map +1 -0
  228. package/lib/hw/actions/initSwap.d.ts +4 -3
  229. package/lib/hw/actions/initSwap.d.ts.map +1 -1
  230. package/lib/hw/actions/initSwap.js +7 -5
  231. package/lib/hw/actions/initSwap.js.map +1 -1
  232. package/lib/load/speculos.d.ts.map +1 -1
  233. package/lib/load/speculos.js +5 -2
  234. package/lib/load/speculos.js.map +1 -1
  235. package/lib/nft/nftOperationId.d.ts +15 -0
  236. package/lib/nft/nftOperationId.d.ts.map +1 -0
  237. package/lib/nft/nftOperationId.js +50 -0
  238. package/lib/nft/nftOperationId.js.map +1 -0
  239. package/lib/operation.d.ts +1 -1
  240. package/lib/operation.d.ts.map +1 -1
  241. package/lib/operation.js +23 -1
  242. package/lib/operation.js.map +1 -1
  243. package/lib/portfolio/v2/index.d.ts +6 -1
  244. package/lib/portfolio/v2/index.d.ts.map +1 -1
  245. package/lib/portfolio/v2/index.js +7 -3
  246. package/lib/portfolio/v2/index.js.map +1 -1
  247. package/lib/portfolio/v2/range.d.ts +7 -1
  248. package/lib/portfolio/v2/range.d.ts.map +1 -1
  249. package/lib/portfolio/v2/range.js +37 -18
  250. package/lib/portfolio/v2/range.js.map +1 -1
  251. package/lib/portfolio/v2/range.test.d.ts +2 -0
  252. package/lib/portfolio/v2/range.test.d.ts.map +1 -0
  253. package/lib/portfolio/v2/range.test.js +51 -0
  254. package/lib/portfolio/v2/range.test.js.map +1 -0
  255. package/package.json +14 -10
  256. package/src/__tests__/mocks/account.ts +3 -3
  257. package/src/__tests__/test-helpers/bridge.ts +2 -35
  258. package/src/__tests__/test-helpers/setup.ts +39 -0
  259. package/src/api/Ripple.ts +97 -52
  260. package/src/apps/support.ts +6 -2
  261. package/src/bot/index.ts +26 -24
  262. package/src/bot/test.bot.ts +2 -2
  263. package/src/countervalues/{logic.test.ts → logic.integration.test.ts} +0 -0
  264. package/src/countervalues/react.tsx +2 -131
  265. package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +15 -1
  266. package/src/derivation.ts +2 -1
  267. package/src/env.ts +12 -2
  268. package/src/errors.ts +0 -1
  269. package/src/exchange/index.ts +7 -0
  270. package/src/exchange/swap/checkQuote.test.ts +53 -0
  271. package/src/exchange/swap/checkQuote.ts +34 -0
  272. package/src/exchange/swap/completeExchange.ts +9 -11
  273. package/src/exchange/swap/getExchangeRates.test.ts +1 -2
  274. package/src/exchange/swap/getExchangeRates.ts +5 -3
  275. package/src/exchange/swap/getProviders.ts +12 -4
  276. package/src/exchange/swap/getStatus.ts +2 -12
  277. package/src/exchange/swap/hooks/usePollKYCStatus.test.ts +1 -3
  278. package/src/exchange/swap/hooks/useProviderRates.test.ts +104 -3
  279. package/src/exchange/swap/hooks/useProviderRates.ts +57 -9
  280. package/src/exchange/swap/hooks/useSwapProviders.test.ts +1 -3
  281. package/src/exchange/swap/hooks/useSwapTransaction.ts +14 -13
  282. package/src/exchange/swap/hooks/useUpdateMaxAmount.test.ts +33 -7
  283. package/src/exchange/swap/hooks/useUpdateMaxAmount.ts +13 -7
  284. package/src/exchange/swap/index.test.ts +36 -0
  285. package/src/exchange/swap/index.ts +51 -30
  286. package/src/exchange/swap/initSwap.ts +54 -40
  287. package/src/exchange/swap/mock.ts +128 -13
  288. package/src/exchange/swap/postSwapState.ts +61 -0
  289. package/src/exchange/swap/types.ts +68 -5
  290. package/src/exchange/swap/updateAccountSwapStatus.ts +4 -4
  291. package/src/exchange/swap/utils/index.test.ts +127 -63
  292. package/src/exchange/swap/utils/index.ts +128 -23
  293. package/src/families/algorand/{test-dataset.ts → bridge.integration.test.ts} +13 -10
  294. package/src/families/bitcoin/__snapshots__/bridge.integration.test.ts.snap +27607 -0
  295. package/src/families/bitcoin/{test-dataset.ts → bridge.integration.test.ts} +18 -13
  296. package/src/families/bitcoin/descriptor.ts +1 -0
  297. package/src/families/bitcoin/satstack.test.ts +4 -1
  298. package/src/families/bitcoin/satstack.ts +9 -5
  299. package/src/families/bitcoin/specs.ts +0 -1
  300. package/src/families/cardano/__snapshots__/{bridge.test.ts.snap → bridge.integration.test.ts.snap} +0 -0
  301. package/src/families/cardano/{test-dataset.ts → bridge.integration.test.ts} +3 -1
  302. package/src/families/celo/bridge.integration.test.ts +14 -0
  303. package/src/families/cosmos/__snapshots__/{bridge.test.ts.snap → bridge.integration.test.ts.snap} +0 -0
  304. package/src/families/cosmos/{test-dataset.ts → bridge.integration.test.ts} +17 -15
  305. package/src/families/cosmos/speculos-deviceActions.ts +2 -2
  306. package/src/families/crypto_org/__snapshots__/bridge.integration.test.ts.snap +2968 -0
  307. package/src/families/crypto_org/bridge.integration.test.ts +14 -0
  308. package/src/families/elrond/__snapshots__/bridge.integration.test.ts.snap +207 -0
  309. package/src/families/elrond/{test-dataset.ts → bridge.integration.test.ts} +6 -4
  310. package/src/families/ethereum/__snapshots__/bridge.integration.test.ts.snap +3263 -0
  311. package/src/families/ethereum/{test-dataset.ts → bridge.integration.test.ts} +6 -19
  312. package/src/families/ethereum/datasets/ethereum1.ts +20 -0
  313. package/src/families/ethereum/modules/{compound.resilience.test.ts → compound.resilience.integration.test.ts} +1 -1
  314. package/src/families/ethereum/modules/erc1155.ts +12 -5
  315. package/src/families/ethereum/modules/erc721.ts +11 -0
  316. package/src/families/ethereum/nft.unit.test.ts +24 -17
  317. package/src/families/ethereum/{synchronisation.test.ts → synchronisation.integration.test.ts} +1 -1
  318. package/src/families/ethereum/synchronisation.ts +22 -18
  319. package/src/families/filecoin/__snapshots__/{bridge.test.ts.snap → bridge.integration.test.ts.snap} +0 -0
  320. package/src/families/filecoin/{test-dataset.ts → bridge.integration.test.ts} +35 -3
  321. package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +5 -0
  322. package/src/families/hedera/{test-dataset.ts → bridge.integration.test.ts} +5 -2
  323. package/src/families/polkadot/{test-dataset.ts → bridge.integration.test.ts} +81 -5
  324. package/src/families/ripple/{test-dataset.ts → bridge.integration.test.ts} +5 -1
  325. package/src/families/solana/__snapshots__/{bridge.test.ts.snap → bridge.integration.test.ts.snap} +0 -0
  326. package/src/families/solana/{test-dataset.ts → bridge.integration.test.ts} +170 -5
  327. package/src/families/stellar/__snapshots__/{bridge.test.ts.snap → bridge.integration.test.ts.snap} +0 -0
  328. package/src/families/stellar/{test-dataset.ts → bridge.integration.test.ts} +5 -3
  329. package/src/families/stellar/js-estimateMaxSpendable.ts +3 -1
  330. package/src/families/tezos/{test-dataset.ts → bridge.integration.test.ts} +22 -1
  331. package/src/families/tezos/synchronisation.ts +1 -1
  332. package/src/families/tron/{test-dataset.ts → bridge.integration.test.ts} +6 -5
  333. package/src/hw/actions/initSwap.ts +20 -9
  334. package/src/load/speculos.ts +5 -2
  335. package/src/nft/nftOperationId.ts +47 -0
  336. package/src/operation.ts +50 -1
  337. package/src/portfolio/v2/index.ts +7 -2
  338. package/src/portfolio/v2/range.test.ts +66 -0
  339. package/src/portfolio/v2/range.ts +22 -8
  340. package/lib/__tests__/portfolio.d.ts +0 -2
  341. package/lib/__tests__/portfolio.d.ts.map +0 -1
  342. package/lib/__tests__/portfolio.js +0 -297
  343. package/lib/__tests__/portfolio.js.map +0 -1
  344. package/lib/__tests__/test-helpers/libcore-setup.d.ts +0 -3
  345. package/lib/__tests__/test-helpers/libcore-setup.d.ts.map +0 -1
  346. package/lib/__tests__/test-helpers/libcore-setup.js +0 -68
  347. package/lib/__tests__/test-helpers/libcore-setup.js.map +0 -1
  348. package/lib/__tests__/test-helpers/libcore-setup.native.d.ts +0 -10
  349. package/lib/__tests__/test-helpers/libcore-setup.native.d.ts.map +0 -1
  350. package/lib/__tests__/test-helpers/libcore-setup.native.js +0 -16
  351. package/lib/__tests__/test-helpers/libcore-setup.native.js.map +0 -1
  352. package/lib/countervalues/logic.test.d.ts +0 -2
  353. package/lib/countervalues/logic.test.d.ts.map +0 -1
  354. package/lib/countervalues/logic.test.js.map +0 -1
  355. package/lib/families/algorand/test-dataset.d.ts +0 -5
  356. package/lib/families/algorand/test-dataset.d.ts.map +0 -1
  357. package/lib/families/algorand/test-dataset.js.map +0 -1
  358. package/lib/families/bitcoin/test-dataset.d.ts +0 -5
  359. package/lib/families/bitcoin/test-dataset.d.ts.map +0 -1
  360. package/lib/families/bitcoin/test-dataset.js.map +0 -1
  361. package/lib/families/cardano/bridge.test.d.ts +0 -2
  362. package/lib/families/cardano/bridge.test.d.ts.map +0 -1
  363. package/lib/families/cardano/bridge.test.js +0 -11
  364. package/lib/families/cardano/bridge.test.js.map +0 -1
  365. package/lib/families/cardano/test-dataset.d.ts +0 -5
  366. package/lib/families/cardano/test-dataset.d.ts.map +0 -1
  367. package/lib/families/cardano/test-dataset.js.map +0 -1
  368. package/lib/families/cosmos/bridge.test.d.ts +0 -2
  369. package/lib/families/cosmos/bridge.test.d.ts.map +0 -1
  370. package/lib/families/cosmos/bridge.test.js +0 -11
  371. package/lib/families/cosmos/bridge.test.js.map +0 -1
  372. package/lib/families/cosmos/test-dataset.d.ts +0 -5
  373. package/lib/families/cosmos/test-dataset.d.ts.map +0 -1
  374. package/lib/families/cosmos/test-dataset.js.map +0 -1
  375. package/lib/families/crypto_org/test-dataset.d.ts +0 -5
  376. package/lib/families/crypto_org/test-dataset.d.ts.map +0 -1
  377. package/lib/families/crypto_org/test-dataset.js +0 -12
  378. package/lib/families/crypto_org/test-dataset.js.map +0 -1
  379. package/lib/families/elrond/test-dataset.d.ts +0 -5
  380. package/lib/families/elrond/test-dataset.d.ts.map +0 -1
  381. package/lib/families/elrond/test-dataset.js.map +0 -1
  382. package/lib/families/ethereum/modules/compound.resilience.test.d.ts +0 -2
  383. package/lib/families/ethereum/modules/compound.resilience.test.d.ts.map +0 -1
  384. package/lib/families/ethereum/modules/compound.resilience.test.js.map +0 -1
  385. package/lib/families/ethereum/synchronisation.test.d.ts +0 -2
  386. package/lib/families/ethereum/synchronisation.test.d.ts.map +0 -1
  387. package/lib/families/ethereum/synchronisation.test.js.map +0 -1
  388. package/lib/families/ethereum/test-dataset.d.ts +0 -6
  389. package/lib/families/ethereum/test-dataset.d.ts.map +0 -1
  390. package/lib/families/ethereum/test-dataset.js.map +0 -1
  391. package/lib/families/filecoin/bridge.test.d.ts +0 -2
  392. package/lib/families/filecoin/bridge.test.d.ts.map +0 -1
  393. package/lib/families/filecoin/bridge.test.js.map +0 -1
  394. package/lib/families/filecoin/test-dataset.d.ts +0 -5
  395. package/lib/families/filecoin/test-dataset.d.ts.map +0 -1
  396. package/lib/families/filecoin/test-dataset.js.map +0 -1
  397. package/lib/families/hedera/test-dataset.d.ts +0 -5
  398. package/lib/families/hedera/test-dataset.d.ts.map +0 -1
  399. package/lib/families/hedera/test-dataset.js.map +0 -1
  400. package/lib/families/polkadot/bridge.test.d.ts +0 -2
  401. package/lib/families/polkadot/bridge.test.d.ts.map +0 -1
  402. package/lib/families/polkadot/bridge.test.js +0 -145
  403. package/lib/families/polkadot/bridge.test.js.map +0 -1
  404. package/lib/families/polkadot/test-dataset.d.ts +0 -5
  405. package/lib/families/polkadot/test-dataset.d.ts.map +0 -1
  406. package/lib/families/polkadot/test-dataset.js.map +0 -1
  407. package/lib/families/ripple/bridge.test.d.ts +0 -2
  408. package/lib/families/ripple/bridge.test.d.ts.map +0 -1
  409. package/lib/families/ripple/bridge.test.js +0 -11
  410. package/lib/families/ripple/bridge.test.js.map +0 -1
  411. package/lib/families/ripple/test-dataset.d.ts +0 -5
  412. package/lib/families/ripple/test-dataset.d.ts.map +0 -1
  413. package/lib/families/ripple/test-dataset.js.map +0 -1
  414. package/lib/families/solana/bridge.test.d.ts +0 -2
  415. package/lib/families/solana/bridge.test.d.ts.map +0 -1
  416. package/lib/families/solana/bridge.test.js +0 -11
  417. package/lib/families/solana/bridge.test.js.map +0 -1
  418. package/lib/families/solana/test-dataset.d.ts +0 -23
  419. package/lib/families/solana/test-dataset.d.ts.map +0 -1
  420. package/lib/families/solana/test-dataset.js.map +0 -1
  421. package/lib/families/solana/test-specifics.d.ts +0 -9
  422. package/lib/families/solana/test-specifics.d.ts.map +0 -1
  423. package/lib/families/solana/test-specifics.js +0 -237
  424. package/lib/families/solana/test-specifics.js.map +0 -1
  425. package/lib/families/stellar/bridge.test.d.ts +0 -2
  426. package/lib/families/stellar/bridge.test.d.ts.map +0 -1
  427. package/lib/families/stellar/bridge.test.js +0 -11
  428. package/lib/families/stellar/bridge.test.js.map +0 -1
  429. package/lib/families/stellar/test-dataset.d.ts +0 -7
  430. package/lib/families/stellar/test-dataset.d.ts.map +0 -1
  431. package/lib/families/stellar/test-dataset.js.map +0 -1
  432. package/lib/families/tezos/bridge.test.d.ts +0 -2
  433. package/lib/families/tezos/bridge.test.d.ts.map +0 -1
  434. package/lib/families/tezos/bridge.test.js.map +0 -1
  435. package/lib/families/tezos/test-dataset.d.ts.map +0 -1
  436. package/lib/families/tezos/test-dataset.js.map +0 -1
  437. package/lib/families/tron/test-dataset.d.ts +0 -5
  438. package/lib/families/tron/test-dataset.d.ts.map +0 -1
  439. package/lib/families/tron/test-dataset.js.map +0 -1
  440. package/lib/generated/test-dataset.d.ts +0 -19
  441. package/lib/generated/test-dataset.d.ts.map +0 -1
  442. package/lib/generated/test-dataset.js +0 -38
  443. package/lib/generated/test-dataset.js.map +0 -1
  444. package/lib/portfolio/index.d.ts +0 -30
  445. package/lib/portfolio/index.d.ts.map +0 -1
  446. package/lib/portfolio/index.js +0 -399
  447. package/lib/portfolio/index.js.map +0 -1
  448. package/lib/portfolio/range.d.ts +0 -12
  449. package/lib/portfolio/range.d.ts.map +0 -1
  450. package/lib/portfolio/range.js +0 -73
  451. package/lib/portfolio/range.js.map +0 -1
  452. package/src/__tests__/__snapshots__/portfolio.ts.snap +0 -2770
  453. package/src/__tests__/portfolio.ts +0 -360
  454. package/src/__tests__/test-helpers/libcore-setup.native.ts +0 -19
  455. package/src/__tests__/test-helpers/libcore-setup.ts +0 -51
  456. package/src/families/bitcoin/bridge.test.ts.bak +0 -6
  457. package/src/families/cardano/bridge.test.ts +0 -6
  458. package/src/families/cosmos/bridge.test.ts +0 -6
  459. package/src/families/crypto_org/test-dataset.ts +0 -13
  460. package/src/families/ethereum/bridge.test.ts.bak +0 -8
  461. package/src/families/filecoin/bridge.test.ts +0 -39
  462. package/src/families/polkadot/bridge.test.ts +0 -81
  463. package/src/families/ripple/bridge.test.ts +0 -6
  464. package/src/families/solana/bridge.test.ts +0 -6
  465. package/src/families/solana/test-specifics.ts +0 -170
  466. package/src/families/stellar/bridge.test.ts +0 -6
  467. package/src/families/tezos/bridge.test.ts +0 -24
  468. package/src/generated/test-dataset.ts +0 -48
  469. package/src/portfolio/index.ts +0 -505
  470. package/src/portfolio/range.ts +0 -71
@@ -1,360 +0,0 @@
1
- import "./test-helpers/staticTime";
2
- import { BigNumber } from "bignumber.js";
3
- import { getCryptoCurrencyById } from "../currencies";
4
- import {
5
- getDates,
6
- getBalanceHistory,
7
- getBalanceHistoryWithCountervalue,
8
- getPortfolio,
9
- getCurrencyPortfolio,
10
- getAssetsDistribution,
11
- } from "../portfolio";
12
- import type { Account } from "../types";
13
- import { genAccount } from "../mock/account";
14
- import { getBTCValues } from "../countervalues/mock";
15
- const baseMockBTCRates = getBTCValues();
16
- const accounts = Array(100)
17
- .fill(null)
18
- .map((_, j) => genAccount("portfolio_" + j));
19
- test("getBalanceHistory(*,month) returns an array of 30 items", () => {
20
- const history = getBalanceHistory(genAccount("seed_1"), "month");
21
- expect(history).toBeInstanceOf(Array);
22
- expect(history.length).toBe(30);
23
- expect(history).toMatchSnapshot();
24
- });
25
- test("getBalanceHistory(*,year) works as well", () => {
26
- const history = getBalanceHistory(genAccount("seed_2"), "year");
27
- expect(history).toBeInstanceOf(Array);
28
- expect(history.length).toBe(52);
29
- expect(history).toMatchSnapshot();
30
- });
31
- test("getDates matches getBalanceHistory dates", () => {
32
- const history = getBalanceHistory(genAccount("seed_2"), "year");
33
- const dates = getDates("year");
34
- expect(history.map((p) => p.date)).toMatchObject(dates);
35
- });
36
- test("getBalanceHistory last item is now and have an amount equals to account balance", () => {
37
- const account = genAccount("seed_3");
38
- const history = getBalanceHistory(account, "month");
39
- expect(history[history.length - 1].date).toMatchObject(new Date());
40
- expect(history[history.length - 1].value).toBe(account.balance);
41
- expect(history).toMatchSnapshot();
42
- });
43
- test("getBalanceHistoryWithCountervalue basic", () => {
44
- const account = genAccount("bro4", {
45
- subAccountsCount: 0,
46
- });
47
- const history = getBalanceHistory(account, "month");
48
- const cv = getBalanceHistoryWithCountervalue(
49
- account,
50
- "month",
51
- (c, value) => value
52
- );
53
- expect(cv.countervalueAvailable).toBe(true);
54
- // expect(
55
- // cv.history.map((p) => ({ date: p.date, value: p.countervalue }))
56
- // ).toMatchObject(history);
57
- expect(
58
- cv.history.map((p) => ({
59
- date: p.date,
60
- value: p.value,
61
- }))
62
- ).toMatchObject(history);
63
- });
64
- test("getPortfolio works with one account and is identically to that account history", () => {
65
- const account = genAccount("seed_4", {
66
- subAccountsCount: 0,
67
- });
68
- const history = getBalanceHistory(account, "week");
69
- const portfolio = getPortfolio(
70
- [account],
71
- "week",
72
- (account, value) => value // using identity, at any time, 1 token = 1 USD
73
- );
74
- expect(portfolio.availableAccounts).toMatchObject([account]);
75
- expect(portfolio.balanceAvailable).toBe(true);
76
- expect(portfolio.balanceHistory).toMatchObject(history);
77
- expect(portfolio.balanceHistory).toMatchSnapshot();
78
- });
79
- test("getCurrencyPortfolio works with one account and is identically to that account history", () => {
80
- const account = genAccount("seed_4", {
81
- subAccountsCount: 0,
82
- });
83
-
84
- const calc = (account, value) => value.times(0.1);
85
-
86
- const { history } = getBalanceHistoryWithCountervalue(account, "week", calc);
87
- const accounts: Account[] = [account];
88
- const portfolio = getCurrencyPortfolio(accounts, "week", calc);
89
- expect(portfolio.countervalueAvailable).toBe(true);
90
- expect(portfolio.history).toMatchObject(history);
91
- expect(portfolio.history).toMatchSnapshot();
92
- });
93
- test("getBalanceHistoryWithCountervalue to have proper countervalues", () => {
94
- const account = genAccount("bro1", {
95
- subAccountsCount: 0,
96
- });
97
- const history = getBalanceHistory(account, "week");
98
-
99
- const calc = (account, value) => value.times(3);
100
-
101
- const cv = getBalanceHistoryWithCountervalue(account, "week", calc);
102
- expect(
103
- cv.history.map((p) => ({
104
- date: p.date,
105
- value: p.countervalue.div(3),
106
- }))
107
- ).toMatchObject(history);
108
- });
109
- test("getBalanceHistoryWithCountervalue is same as getPortfolio with one account", () => {
110
- const account = genAccount("bro2", {
111
- subAccountsCount: 0,
112
- });
113
-
114
- const calc = (account, value) => value.times(3);
115
-
116
- const cv = getBalanceHistoryWithCountervalue(account, "month", calc);
117
- const portfolio = getPortfolio([account], "month", calc);
118
- expect(
119
- cv.history.map((p) => ({
120
- date: p.date,
121
- value: p.countervalue,
122
- }))
123
- ).toMatchObject(portfolio.balanceHistory);
124
- });
125
- test("getPortfolio calculateCounterValue can returns missing countervalue", () => {
126
- const account = genAccount("seed_6", {
127
- currency: getCryptoCurrencyById("bitcoin"),
128
- subAccountsCount: 0,
129
- });
130
- const account2 = genAccount("seed_7", {
131
- currency: getCryptoCurrencyById("ethereum"),
132
- subAccountsCount: 0,
133
- });
134
- const history = getBalanceHistory(account, "month");
135
- const portfolio = getPortfolio([account, account2], "month", (c, value) =>
136
- c.id === "bitcoin" ? value : null
137
- );
138
- expect(portfolio.balanceHistory).toMatchObject(history);
139
- expect(portfolio.balanceAvailable).toBe(true);
140
- expect(portfolio.unavailableCurrencies.length).toBe(1);
141
- });
142
- test("getPortfolio with twice same account will double the amounts", () => {
143
- const account = genAccount("seed_5", {
144
- subAccountsCount: 0,
145
- });
146
- const history = getBalanceHistory(account, "week");
147
- const allHistory = getPortfolio(
148
- [account, account],
149
- "week",
150
- (c, value) => value // using identity, at any time, 1 token = 1 USD
151
- );
152
- allHistory.balanceHistory.forEach((h, i) => {
153
- expect(h.value.toString()).toBe(history[i].value.times(2).toString());
154
- });
155
- });
156
- test("getCurrencyPortfolio with twice same account will double the amounts", () => {
157
- const account = genAccount("seed_5", {
158
- subAccountsCount: 0,
159
- });
160
- const history = getBalanceHistory(account, "week");
161
- const accounts: Account[] = [account, account];
162
- const allHistory = getCurrencyPortfolio(
163
- accounts,
164
- "week",
165
- (c, value) => value // using identity, at any time, 1 token = 1 USD
166
- );
167
- allHistory.history.forEach((h, i) => {
168
- expect(h.value.toString()).toBe(history[i].value.times(2).toString());
169
- });
170
- });
171
- test("getPortfolio calculateCounterValue is taken into account", () => {
172
- const account = genAccount("seed_6", {
173
- subAccountsCount: 0,
174
- });
175
- const history = getBalanceHistory(account, "month");
176
- const portfolio = getPortfolio([account, account], "month", (c, value) =>
177
- value.div(2)
178
- );
179
- expect(portfolio.balanceHistory).toMatchObject(history);
180
- });
181
- test("getCurrencyPortfolio calculateCounterValue is taken into account", () => {
182
- const account = genAccount("seed_6", {
183
- subAccountsCount: 0,
184
- });
185
- const { history } = getBalanceHistoryWithCountervalue(
186
- account,
187
- "month",
188
- (c, value) => value
189
- );
190
- const accounts: Account[] = [account, account];
191
- const portfolio = getCurrencyPortfolio(accounts, "month", (c, value) =>
192
- value.div(2)
193
- );
194
- expect(portfolio.history.map((h) => h.value.div(2).toString())).toMatchObject(
195
- history.map((h) => h.value.toString())
196
- );
197
- expect(portfolio.history.map((h) => h.countervalue.toString())).toMatchObject(
198
- history.map((h) => h.countervalue.toString())
199
- );
200
- });
201
- test("getPortfolio calculateCounterValue can returns missing countervalue", () => {
202
- const account = genAccount("seed_6", {
203
- currency: getCryptoCurrencyById("bitcoin"),
204
- subAccountsCount: 0,
205
- });
206
- const account2 = genAccount("seed_7", {
207
- currency: getCryptoCurrencyById("ethereum"),
208
- subAccountsCount: 0,
209
- });
210
- const history = getBalanceHistory(account, "month");
211
- const portfolio = getPortfolio([account, account2], "month", (c, value) =>
212
- c.id === "bitcoin" ? value : null
213
- );
214
- expect(portfolio.balanceHistory).toMatchObject(history);
215
- expect(portfolio.balanceAvailable).toBe(true);
216
- expect(portfolio.unavailableCurrencies.length).toBe(1);
217
- });
218
- test("getCurrencyPortfolio calculateCounterValue can miss countervalue", () => {
219
- const account = genAccount("seed_6", {
220
- currency: getCryptoCurrencyById("bitcoin"),
221
- subAccountsCount: 0,
222
- });
223
- const account2 = genAccount("seed_7", {
224
- currency: getCryptoCurrencyById("bitcoin"),
225
- subAccountsCount: 0,
226
- });
227
- const history = getBalanceHistory(account, "month");
228
- const history2 = getBalanceHistory(account2, "month");
229
- const accs: Account[] = [account, account2];
230
- const portfolio = getCurrencyPortfolio(accs, "month", () => null);
231
- expect(portfolio.history).toMatchObject(
232
- history.map((p, i) => ({ ...p, value: p.value.plus(history2[i].value) }))
233
- );
234
- expect(portfolio.countervalueAvailable).toBe(false);
235
- });
236
- test("getPortfolio calculateCounterValue can complete fails", () => {
237
- const account = genAccount("seed_6", {
238
- subAccountsCount: 0,
239
- });
240
- const account2 = genAccount("seed_7", {
241
- subAccountsCount: 0,
242
- });
243
- const portfolio = getPortfolio([account, account2], "month", () => null);
244
- expect(portfolio.balanceAvailable).toBe(false);
245
- });
246
- test("getPortfolio with lot of accounts", () => {
247
- const portfolio = getPortfolio(
248
- accounts,
249
- "week",
250
- (c, value) => value // using identity, at any time, 1 token = 1 USD
251
- );
252
- expect(portfolio.balanceHistory).toMatchSnapshot();
253
- });
254
- test("getAssetsDistribution 1", () => {
255
- const assetsDistribution = getAssetsDistribution(
256
- accounts,
257
- (currency, value) => {
258
- const rate = baseMockBTCRates[currency.ticker];
259
- if (rate) return value.times(rate);
260
- }
261
- );
262
- expect(assetsDistribution.isAvailable).toBe(true);
263
- expect(assetsDistribution.showFirst).toBe(2);
264
- expect(
265
- assetsDistribution.list.reduce((sum, o) => sum + o.distribution, 0)
266
- ).toBeCloseTo(1);
267
- expect(
268
- assetsDistribution.list.map((o) => [
269
- o.currency.ticker,
270
- o.amount,
271
- o.countervalue,
272
- o.distribution,
273
- ])
274
- ).toMatchSnapshot();
275
- });
276
- test("getAssetsDistribution mult", () => {
277
- const calc = (currency, value) => {
278
- const rate = baseMockBTCRates[currency.ticker];
279
- if (rate) return value.times(rate);
280
- };
281
-
282
- for (let i = 0; i < accounts.length; i++) {
283
- const assetsDistribution = getAssetsDistribution(
284
- accounts.slice(0, i),
285
- calc
286
- );
287
- // identity cached by ref
288
- expect(getAssetsDistribution(accounts.slice(0, i), calc)).toBe(
289
- assetsDistribution
290
- );
291
-
292
- if (assetsDistribution.isAvailable) {
293
- expect(assetsDistribution.sum.toString()).toBe(
294
- assetsDistribution.list
295
- .reduce(
296
- (sum: BigNumber, o) => sum.plus(o.countervalue),
297
- new BigNumber(0)
298
- )
299
- .toString()
300
- );
301
- expect(assetsDistribution.showFirst).toBeLessThanOrEqual(
302
- assetsDistribution.list.length
303
- );
304
- expect(
305
- assetsDistribution.list.reduce((sum, o) => sum + o.distribution, 0)
306
- ).toBeCloseTo(1);
307
- } else {
308
- expect(assetsDistribution.list.length).toBe(0);
309
- }
310
- }
311
- });
312
- test("getPortfolio do not crash if range history have different size", () => {
313
- let account1 = genAccount("seed_8", {
314
- currency: getCryptoCurrencyById("bitcoin"),
315
- });
316
- let account2 = genAccount("seed_9", {
317
- currency: getCryptoCurrencyById("bitcoin"),
318
- });
319
- let account3 = genAccount("seed_10", {
320
- currency: getCryptoCurrencyById("bitcoin"),
321
- });
322
- const history1 = getBalanceHistory(account1, "month");
323
- const history2 = getBalanceHistory(account2, "month");
324
-
325
- const calc = (c, value) => value;
326
-
327
- getPortfolio([account1, account2, account3], "month", calc);
328
- account1 = {
329
- ...account1,
330
- balanceHistory: {
331
- month: history1.concat(history1),
332
- year: undefined,
333
- week: undefined,
334
- day: undefined,
335
- },
336
- };
337
- getPortfolio([account1, account2, account3], "month", calc);
338
- account2 = {
339
- ...account2,
340
- balanceHistory: {
341
- month: history2.slice(5),
342
- year: undefined,
343
- week: undefined,
344
- day: undefined,
345
- },
346
- };
347
- getPortfolio([account1, account2, account3], "month", calc);
348
- account3 = {
349
- ...account3,
350
- balanceHistory: {
351
- month: [],
352
- year: undefined,
353
- week: undefined,
354
- day: undefined,
355
- },
356
- };
357
- const portfolio = getPortfolio([account1, account2, account3], "month", calc);
358
- expect(portfolio.balanceAvailable).toBe(true);
359
- expect(portfolio.unavailableCurrencies.length).toBe(0);
360
- });
@@ -1,19 +0,0 @@
1
- /* eslint-disable no-console */
2
- import { listen } from "@ledgerhq/logs";
3
- import "./setup";
4
-
5
- declare global {
6
- namespace NodeJS {
7
- interface Global {
8
- _JEST_SETUP: (testName: string) => void;
9
- }
10
- }
11
- }
12
-
13
- export const setup = (testName) => {
14
- global._JEST_SETUP(testName);
15
- };
16
- // eslint-disable-next-line no-unused-vars
17
- listen(({ type, message }) => {
18
- console.log(type + (message ? ": " + message : ""));
19
- });
@@ -1,51 +0,0 @@
1
- /* eslint-disable no-console */
2
- import winston from "winston";
3
- import { listen } from "@ledgerhq/logs";
4
- import "./setup";
5
- import { EnvName, setEnvUnsafe } from "../../env";
6
-
7
- let setupCalled = null;
8
- export const setup = (testId) => {
9
- if (setupCalled) {
10
- throw new Error(
11
- "setup(" + testId + "): was already called with " + setupCalled
12
- );
13
- }
14
- setupCalled = testId;
15
- };
16
-
17
- for (const k in process.env) setEnvUnsafe(k as EnvName, process.env[k]);
18
-
19
- const { VERBOSE, VERBOSE_FILE } = process.env;
20
- const logger = winston.createLogger({
21
- level: "debug",
22
- transports: [],
23
- });
24
- const { format } = winston;
25
- const { combine, timestamp, json } = format;
26
- const winstonFormat = combine(timestamp(), json());
27
-
28
- if (VERBOSE_FILE) {
29
- logger.add(
30
- new winston.transports.File({
31
- format: winstonFormat,
32
- filename: VERBOSE_FILE,
33
- level: "debug",
34
- })
35
- );
36
- }
37
-
38
- logger.add(
39
- new winston.transports.Console({
40
- format: winstonFormat,
41
- silent: !VERBOSE,
42
- })
43
- );
44
- // eslint-disable-next-line no-unused-vars
45
- listen(({ type, message, ...rest }) => {
46
- logger.log("debug", {
47
- message: type + (message ? ": " + message : ""),
48
- // $FlowFixMe
49
- ...rest,
50
- });
51
- });
@@ -1,6 +0,0 @@
1
- import { setup } from "../../__tests__/test-helpers/libcore-setup";
2
- import { testBridge } from "../../__tests__/test-helpers/bridge";
3
- import dataset from "./test-dataset";
4
-
5
- setup("bitcoin");
6
- testBridge("bitcoin", dataset);
@@ -1,6 +0,0 @@
1
- import { setup } from "../../__tests__/test-helpers/libcore-setup";
2
- import { testBridge } from "../../__tests__/test-helpers/bridge";
3
- import dataset from "./test-dataset";
4
-
5
- setup("cardano_testnet");
6
- testBridge("cardano_testnet", dataset);
@@ -1,6 +0,0 @@
1
- import { setup } from "../../__tests__/test-helpers/libcore-setup";
2
- import { testBridge } from "../../__tests__/test-helpers/bridge";
3
- import dataset from "./test-dataset";
4
-
5
- setup("cosmos");
6
- testBridge("cosmos", dataset);
@@ -1,13 +0,0 @@
1
- import type { DatasetTest } from "../../types";
2
- import type { Transaction } from "./types";
3
- // import crypto_org_croeseid from "./datasets/croeseid";
4
-
5
- const dataset: DatasetTest<Transaction> = {
6
- implementations: ["mock", "js"],
7
- currencies: {
8
- // TODO a QA need to restore this testing (if it's still up?)
9
- // crypto_org_croeseid,
10
- },
11
- };
12
-
13
- export default dataset;
@@ -1,8 +0,0 @@
1
- // This test suite is flaky, it times out randomly on the CI.
2
- // Hence the renaming of the file.
3
- import { setup } from "../../__tests__/test-helpers/libcore-setup";
4
- import { testBridge } from "../../__tests__/test-helpers/bridge";
5
- import dataset from "./test-dataset";
6
-
7
- setup("ethereum");
8
- testBridge("ethereum", dataset);
@@ -1,39 +0,0 @@
1
- import { setup } from "../../__tests__/test-helpers/libcore-setup";
2
- import { testBridge } from "../../__tests__/test-helpers/bridge";
3
- import dataset from "./test-dataset";
4
-
5
- import { getAccountBridge } from "../../bridge";
6
- import {
7
- decodeAccountId,
8
- encodeAccountId,
9
- fromAccountRaw,
10
- } from "../../account";
11
- import { InvalidAddress } from "@ledgerhq/errors";
12
-
13
- setup("filecoin");
14
- testBridge("filecoin", dataset);
15
-
16
- describe("estimateMaxSpendable", () => {
17
- test("it should failed on invalid recipient", async () => {
18
- const accounts = dataset.currencies["filecoin"].accounts || [];
19
- const accountData = accounts[0];
20
-
21
- const account = fromAccountRaw({
22
- ...accountData.raw,
23
- id: encodeAccountId({
24
- ...decodeAccountId(accountData.raw.id),
25
- type: dataset.implementations[0],
26
- }),
27
- });
28
-
29
- const accountBridge = getAccountBridge(account);
30
- const estimate = async () => {
31
- await accountBridge.estimateMaxSpendable({
32
- account,
33
- transaction: { recipient: "notavalidrecipient" },
34
- });
35
- };
36
-
37
- await expect(estimate).rejects.toThrowError(new InvalidAddress());
38
- });
39
- });
@@ -1,81 +0,0 @@
1
- import { setup } from "../../__tests__/test-helpers/libcore-setup";
2
- import { testBridge } from "../../__tests__/test-helpers/bridge";
3
- import dataset from "./test-dataset";
4
- import { disconnect } from "./api";
5
- import { BigNumber } from "bignumber.js";
6
- import { canUnbond, MAX_UNLOCKINGS } from "./logic";
7
- import type { Account } from "../../types";
8
-
9
- // Disconnect all api clients that could be open.
10
- afterAll(async () => {
11
- await disconnect();
12
- });
13
-
14
- setup("polkadot");
15
- testBridge("polkadot", dataset);
16
-
17
- describe("canUnbond", () => {
18
- test("can unbond", () => {
19
- const account: Partial<Account> = {
20
- polkadotResources: {
21
- controller: "",
22
- stash: "",
23
- nonce: 0,
24
- numSlashingSpans: 0,
25
- lockedBalance: new BigNumber(10000),
26
- unlockedBalance: new BigNumber(0),
27
- unlockingBalance: new BigNumber(0),
28
- nominations: [],
29
- unlockings: [
30
- ...Array(MAX_UNLOCKINGS - 1).map(() => ({
31
- amount: new BigNumber(Math.random()),
32
- completionDate: new Date(),
33
- })),
34
- ],
35
- },
36
- };
37
- expect(canUnbond(account as Account)).toBeTruthy();
38
- });
39
- test("can't unbond because unlockings is too much", () => {
40
- const account: Partial<Account> = {
41
- polkadotResources: {
42
- controller: "",
43
- stash: "",
44
- nonce: 0,
45
- numSlashingSpans: 0,
46
- lockedBalance: new BigNumber(1000000),
47
- unlockedBalance: new BigNumber(0),
48
- unlockingBalance: new BigNumber(0),
49
- nominations: [],
50
- unlockings: [
51
- ...Array(MAX_UNLOCKINGS).map(() => ({
52
- amount: new BigNumber(Math.random()),
53
- completionDate: new Date(),
54
- })),
55
- ],
56
- },
57
- };
58
- expect(canUnbond(account as Account)).toBeFalsy();
59
- });
60
- test("can't unbond because not enough lockedBalance", () => {
61
- const account: Partial<Account> = {
62
- polkadotResources: {
63
- controller: "",
64
- stash: "",
65
- nonce: 0,
66
- numSlashingSpans: 0,
67
- lockedBalance: new BigNumber(100),
68
- unlockedBalance: new BigNumber(0),
69
- unlockingBalance: new BigNumber(100),
70
- nominations: [],
71
- unlockings: [
72
- ...Array(MAX_UNLOCKINGS).map(() => ({
73
- amount: new BigNumber(Math.random()),
74
- completionDate: new Date(),
75
- })),
76
- ],
77
- },
78
- };
79
- expect(canUnbond(account as Account)).toBeFalsy();
80
- });
81
- });
@@ -1,6 +0,0 @@
1
- import { setup } from "../../__tests__/test-helpers/libcore-setup";
2
- import { testBridge } from "../../__tests__/test-helpers/bridge";
3
- import dataset from "./test-dataset";
4
-
5
- setup("ripple");
6
- testBridge("ripple", dataset);
@@ -1,6 +0,0 @@
1
- import { setup } from "../../__tests__/test-helpers/libcore-setup";
2
- import { testBridge } from "../../__tests__/test-helpers/bridge";
3
- import dataset from "./test-dataset";
4
-
5
- setup("solana");
6
- testBridge("solana", dataset);