@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,399 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
- };
27
- var __read = (this && this.__read) || function (o, n) {
28
- var m = typeof Symbol === "function" && o[Symbol.iterator];
29
- if (!m) return o;
30
- var i = m.call(o), r, ar = [], e;
31
- try {
32
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
33
- }
34
- catch (error) { e = { error: error }; }
35
- finally {
36
- try {
37
- if (r && !r.done && (m = i["return"])) m.call(i);
38
- }
39
- finally { if (e) throw e.error; }
40
- }
41
- return ar;
42
- };
43
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
44
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
45
- if (ar || !(i in from)) {
46
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
47
- ar[i] = from[i];
48
- }
49
- }
50
- return to.concat(ar || Array.prototype.slice.call(from));
51
- };
52
- var __importDefault = (this && this.__importDefault) || function (mod) {
53
- return (mod && mod.__esModule) ? mod : { "default": mod };
54
- };
55
- exports.__esModule = true;
56
- exports.getAssetsDistribution = exports.defaultAssetsDistribution = exports.getCurrencyPortfolio = exports.getPortfolio = exports.getBalanceHistoryWithCountervalue = exports.getBalanceHistory = exports.getBalanceHistoryJS = void 0;
57
- var bignumber_js_1 = require("bignumber.js");
58
- var memoize_1 = __importDefault(require("lodash/memoize"));
59
- var last_1 = __importDefault(require("lodash/last"));
60
- var find_1 = __importDefault(require("lodash/find"));
61
- var operation_1 = require("../operation");
62
- var helpers_1 = require("../account/helpers");
63
- var env_1 = require("../env");
64
- var range_1 = require("./range");
65
- __exportStar(require("./range"), exports);
66
- /**
67
- * generate an array of {daysCount} datapoints, one per day,
68
- * for the balance history of an account.
69
- * The last item of the array is the balance available right now.
70
- * @memberof account
71
- */
72
- var getBalanceHistoryImpl = function (account, r) {
73
- var conf = (0, range_1.getPortfolioRangeConfig)(r);
74
- var history = [];
75
- var balance = account.balance;
76
- var operationsLength = account.operations.length;
77
- var i = 0; // index of operation
78
- var t = new Date();
79
- history.unshift({
80
- date: t,
81
- value: balance
82
- });
83
- t = new Date(conf.startOf(t) - 1); // end of yesterday
84
- for (var d = conf.count - 1; d > 0; d--) {
85
- // accumulate operations after time t
86
- while (i < operationsLength && account.operations[i].date > t) {
87
- balance = balance.minus((0, operation_1.getOperationAmountNumberWithInternals)(account.operations[i]));
88
- i++;
89
- }
90
- if (i === operationsLength) {
91
- // When there is no more operation, we consider we reached ZERO to avoid invalid assumption that balance was already available.
92
- balance = new bignumber_js_1.BigNumber(0);
93
- }
94
- history.unshift({
95
- date: t,
96
- value: bignumber_js_1.BigNumber.max(balance, 0)
97
- });
98
- t = new Date(t - conf.increment);
99
- }
100
- return history;
101
- };
102
- var accountRateHash = function (account, r) {
103
- return "".concat(r, "_").concat(account.id, "_").concat(account.balance.toString(), "_").concat(account.operations[0] ? account.operations[0].id : "");
104
- };
105
- exports.getBalanceHistoryJS = (0, memoize_1["default"])(getBalanceHistoryImpl, accountRateHash);
106
- var getBalanceHistory = function (account, r) {
107
- // try to find it in the account object
108
- var balanceHistory = account.balanceHistory;
109
- if (balanceHistory &&
110
- balanceHistory[r] &&
111
- balanceHistory[r].length > 1) {
112
- return balanceHistory[r];
113
- }
114
- // fallback on JS implementation
115
- return (0, exports.getBalanceHistoryJS)(account, r);
116
- };
117
- exports.getBalanceHistory = getBalanceHistory;
118
- // hash the "stable" part of the histo
119
- // only the latest datapoint is "unstable" meaning it always changes because it's the current date.
120
- var accountRateHashCVStable = function (account, r, cvRef, useEffectiveFrom) {
121
- return "".concat(accountRateHash(account, r), "_").concat(cvRef ? cvRef.toString() : "none", "_").concat(useEffectiveFrom ? "withEffectiveFrom" : "");
122
- };
123
- var accountCVstableCache = {};
124
- var ZERO = new bignumber_js_1.BigNumber(0);
125
- var percentageHighThreshold = 100000;
126
- var meaningfulPercentage = function (deltaChange, balanceDivider) {
127
- if (deltaChange && balanceDivider && !balanceDivider.isZero()) {
128
- var percent = deltaChange.div(balanceDivider);
129
- if (percent.lt(percentageHighThreshold)) {
130
- return percent;
131
- }
132
- }
133
- };
134
- var getBalanceHistoryWithCountervalue = function (account, r, calc, useEffectiveFrom) {
135
- if (useEffectiveFrom === void 0) { useEffectiveFrom = true; }
136
- var history = (0, exports.getBalanceHistory)(account, r);
137
- var cur = (0, helpers_1.getAccountCurrency)(account);
138
- // a high enough value so we can compare if something changes
139
- var cacheReferenceValue = new bignumber_js_1.BigNumber("10").pow(3 + cur.units[0].magnitude);
140
- // pick a stable countervalue point in time to hash for the cache
141
- var cvRef = calc(cur, cacheReferenceValue, history[0].date);
142
- var mapFn = function (p) { return (__assign(__assign({}, p), { countervalue: (cvRef && calc(cur, p.value, p.date)) || ZERO })); };
143
- var stableHash = accountRateHashCVStable(account, r, cvRef, useEffectiveFrom);
144
- var stable = accountCVstableCache[stableHash];
145
- var lastPoint = mapFn(history[history.length - 1]);
146
- var calcChanges = function (h) {
147
- // previous existing implementation here
148
- var from = h[0];
149
- var to = h[h.length - 1];
150
- var fromEffective = useEffectiveFrom
151
- ? (0, find_1["default"])(h, function (record) { return record.value.isGreaterThan(0); }) || from
152
- : from;
153
- return {
154
- countervalueReceiveSum: new bignumber_js_1.BigNumber(0),
155
- // not available here
156
- countervalueSendSum: new bignumber_js_1.BigNumber(0),
157
- cryptoChange: {
158
- value: to.value.minus(fromEffective.value),
159
- percentage: null
160
- },
161
- countervalueChange: {
162
- value: (to.countervalue || ZERO).minus(fromEffective.countervalue || ZERO),
163
- percentage: meaningfulPercentage((to.countervalue || ZERO).minus(fromEffective.countervalue || ZERO), fromEffective.countervalue)
164
- }
165
- };
166
- };
167
- if (!stable) {
168
- var h_1 = history.map(mapFn);
169
- stable = __assign({ history: h_1, countervalueAvailable: !!cvRef }, calcChanges(h_1));
170
- accountCVstableCache[stableHash] = stable;
171
- return stable;
172
- }
173
- var lastStable = (0, last_1["default"])(stable.history);
174
- if (lastPoint.countervalue.eq(lastStable.countervalue)) {
175
- return stable;
176
- }
177
- var h = stable.history.slice(0, -1).concat(lastPoint);
178
- var copy = __assign(__assign(__assign({}, stable), { history: h }), calcChanges(h));
179
- accountCVstableCache[stableHash] = copy;
180
- return copy;
181
- };
182
- exports.getBalanceHistoryWithCountervalue = getBalanceHistoryWithCountervalue;
183
- /**
184
- * calculate the total balance history for all accounts in a reference fiat unit
185
- * and using a CalculateCounterValue function (see countervalue helper)
186
- * NB the last item of the array is actually the current total balance.
187
- * @memberof account
188
- */
189
- function getPortfolio(topAccounts, range, calc) {
190
- var accounts = (0, helpers_1.flattenAccounts)(topAccounts);
191
- var availableAccounts = [];
192
- var unavailableAccounts = [];
193
- var histories = [];
194
- var changes = [];
195
- var countervalueReceiveSums = [];
196
- var countervalueSendSums = [];
197
- for (var i = 0; i < accounts.length; i++) {
198
- var account = accounts[i];
199
- var r = (0, exports.getBalanceHistoryWithCountervalue)(account, range, calc, false);
200
- if (r.countervalueAvailable) {
201
- availableAccounts.push(account);
202
- histories.push(r.history);
203
- changes.push(r.countervalueChange.value);
204
- countervalueReceiveSums.push(r.countervalueReceiveSum);
205
- countervalueSendSums.push(r.countervalueSendSum);
206
- }
207
- else {
208
- unavailableAccounts.push(account);
209
- }
210
- }
211
- var unavailableCurrencies = __spreadArray([], __read(new Set(unavailableAccounts.map(helpers_1.getAccountCurrency))), false);
212
- var balanceAvailable = accounts.length === 0 || availableAccounts.length > 0;
213
- var balanceHistory = (0, range_1.getDates)(range).map(function (date) { return ({
214
- date: date,
215
- value: ZERO
216
- }); });
217
- for (var i = 0; i < histories.length; i++) {
218
- var history_1 = histories[i];
219
- for (var j = 0; j < history_1.length; j++) {
220
- var res = balanceHistory[j];
221
- if (res) {
222
- res.value = res.value.plus(history_1[j].countervalue);
223
- }
224
- }
225
- }
226
- var countervalueChangeValue = changes.reduce(function (sum, v) { return sum.plus(v); }, new bignumber_js_1.BigNumber(0));
227
- var countervalueReceiveSum = countervalueReceiveSums.reduce(function (sum, v) { return sum.plus(v); }, new bignumber_js_1.BigNumber(0));
228
- var countervalueSendSum = countervalueSendSums.reduce(function (sum, v) { return sum.plus(v); }, new bignumber_js_1.BigNumber(0));
229
- // in case there were no receive, we just track the market change
230
- // weighted by the current balances
231
- var countervalueChangePercentage;
232
- if ((0, env_1.getEnv)("EXPERIMENTAL_ROI_CALCULATION")) {
233
- if (countervalueReceiveSum.isZero()) {
234
- countervalueChangePercentage = meaningfulPercentage(countervalueChangeValue, balanceHistory[0].value.plus(countervalueSendSum));
235
- }
236
- else {
237
- countervalueChangePercentage = meaningfulPercentage(countervalueChangeValue, countervalueReceiveSum);
238
- }
239
- }
240
- else {
241
- countervalueChangePercentage = meaningfulPercentage(countervalueChangeValue, // in non experimental mode, we were dividing by first point
242
- balanceHistory[0].value);
243
- }
244
- var ret = {
245
- balanceHistory: balanceHistory,
246
- balanceAvailable: balanceAvailable,
247
- availableAccounts: availableAccounts,
248
- unavailableCurrencies: unavailableCurrencies,
249
- accounts: accounts,
250
- range: range,
251
- histories: histories,
252
- countervalueReceiveSum: countervalueReceiveSum,
253
- countervalueSendSum: countervalueSendSum,
254
- countervalueChange: {
255
- percentage: countervalueChangePercentage,
256
- value: countervalueChangeValue
257
- }
258
- };
259
- return ret;
260
- }
261
- exports.getPortfolio = getPortfolio;
262
- /**
263
- * calculate the total balance history for all accounts in a reference fiat unit
264
- * and using a CalculateCounterValue function (see countervalue helper)
265
- * NB the last item of the array is actually the current total balance.
266
- * @memberof account
267
- */
268
- function getCurrencyPortfolio(accounts, range, calc) {
269
- var histories = [];
270
- var countervalueAvailable = false;
271
- for (var i = 0; i < accounts.length; i++) {
272
- var account = accounts[i];
273
- var r = (0, exports.getBalanceHistoryWithCountervalue)(account, range, calc);
274
- histories.push(r.history);
275
- countervalueAvailable = r.countervalueAvailable;
276
- }
277
- var history = (0, range_1.getDates)(range).map(function (date) { return ({
278
- date: date,
279
- value: ZERO,
280
- countervalue: ZERO
281
- }); });
282
- for (var i = 0; i < histories.length; i++) {
283
- var h = histories[i];
284
- for (var j = 0; j < h.length; j++) {
285
- var res = history[j];
286
- res.value = res.value.plus(h[j].value);
287
- res.countervalue = res.countervalue.plus(h[j].countervalue);
288
- }
289
- }
290
- // previous existing implementation here
291
- var from = history[0];
292
- var to = history[history.length - 1];
293
- var fromEffective = (0, find_1["default"])(history, function (record) { return record.value.isGreaterThan(0); }) || from;
294
- var cryptoChange = {
295
- value: to.value.minus(from.value),
296
- percentage: null
297
- };
298
- var countervalueChange = {
299
- value: (to.countervalue || ZERO).minus(fromEffective.countervalue || ZERO),
300
- percentage: meaningfulPercentage((to.countervalue || ZERO).minus(fromEffective.countervalue || ZERO), fromEffective.countervalue)
301
- };
302
- var ret = {
303
- history: history,
304
- countervalueAvailable: countervalueAvailable,
305
- accounts: accounts,
306
- range: range,
307
- histories: histories,
308
- cryptoChange: cryptoChange,
309
- countervalueChange: countervalueChange
310
- };
311
- return ret;
312
- }
313
- exports.getCurrencyPortfolio = getCurrencyPortfolio;
314
- exports.defaultAssetsDistribution = {
315
- minShowFirst: 1,
316
- maxShowFirst: 6,
317
- showFirstThreshold: 0.95
318
- };
319
- var assetsDistributionNotAvailable = {
320
- isAvailable: false,
321
- list: [],
322
- showFirst: 0,
323
- sum: new bignumber_js_1.BigNumber(0)
324
- };
325
- var previousDistributionCache = {
326
- hash: "",
327
- data: assetsDistributionNotAvailable
328
- };
329
- function getAssetsDistribution(topAccounts, calculateCountervalue, opts) {
330
- var _a = __assign(__assign({}, exports.defaultAssetsDistribution), opts), minShowFirst = _a.minShowFirst, maxShowFirst = _a.maxShowFirst, showFirstThreshold = _a.showFirstThreshold;
331
- var sum = new bignumber_js_1.BigNumber(0);
332
- var idBalances = {};
333
- var idCurrencies = {};
334
- var accounts = (0, helpers_1.flattenAccounts)(topAccounts);
335
- for (var i_1 = 0; i_1 < accounts.length; i_1++) {
336
- var account = accounts[i_1];
337
- var cur = (0, helpers_1.getAccountCurrency)(account);
338
- var id = cur.id;
339
- if (account.balance.isGreaterThan(0)) {
340
- idCurrencies[id] = cur;
341
- idBalances[id] = (idBalances[id] || new bignumber_js_1.BigNumber(0)).plus(account.balance);
342
- }
343
- }
344
- var idCountervalues = {};
345
- for (var id in idBalances) {
346
- var countervalue = calculateCountervalue(idCurrencies[id], idBalances[id]);
347
- if (countervalue) {
348
- idCountervalues[id] = countervalue;
349
- sum = sum.plus(countervalue);
350
- }
351
- }
352
- var idCurrenciesKeys = Object.keys(idCurrencies);
353
- if (idCurrenciesKeys.length === 0) {
354
- return assetsDistributionNotAvailable;
355
- }
356
- var isAvailable = !sum.isZero();
357
- var hash = "".concat(idCurrenciesKeys.length, "_").concat(sum.toString());
358
- if (hash === previousDistributionCache.hash) {
359
- return previousDistributionCache.data;
360
- }
361
- var list = idCurrenciesKeys
362
- .map(function (id) {
363
- var currency = idCurrencies[id];
364
- var amount = idBalances[id];
365
- var countervalue = idCountervalues[id] || new bignumber_js_1.BigNumber(0);
366
- return {
367
- currency: currency,
368
- countervalue: countervalue,
369
- amount: amount,
370
- distribution: isAvailable ? countervalue.div(sum).toNumber() : 0
371
- };
372
- })
373
- .sort(function (a, b) {
374
- var diff = b.countervalue.minus(a.countervalue).toNumber();
375
- if (diff === 0)
376
- return a.currency.name.localeCompare(b.currency.name);
377
- return diff;
378
- });
379
- var i;
380
- var acc = 0;
381
- for (i = 0; i < maxShowFirst && i < list.length; i++) {
382
- if (acc > showFirstThreshold) {
383
- break;
384
- }
385
- acc += list[i].distribution;
386
- }
387
- var showFirst = Math.max(minShowFirst, i);
388
- var data = {
389
- isAvailable: isAvailable,
390
- list: list,
391
- showFirst: showFirst,
392
- sum: sum
393
- };
394
- previousDistributionCache.hash = hash;
395
- previousDistributionCache.data = data;
396
- return data;
397
- }
398
- exports.getAssetsDistribution = getAssetsDistribution;
399
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/portfolio/index.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { PortfolioRange, PortfolioRangeConfig } from "../types";
2
- export declare const hourIncrement: number;
3
- export declare const dayIncrement: number;
4
- export declare const weekIncrement: number;
5
- export declare function startOfHour(t: Date): Date;
6
- export declare function startOfMonth(t: Date): Date;
7
- export declare function startOfDay(t: Date): Date;
8
- export declare function startOfWeek(t: Date): Date;
9
- export declare function getPortfolioRangeConfig(r: PortfolioRange): PortfolioRangeConfig;
10
- export declare const getRanges: () => PortfolioRange[];
11
- export declare function getDates(r: PortfolioRange): Date[];
12
- //# sourceMappingURL=range.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/portfolio/range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrE,eAAO,MAAM,aAAa,QAAiB,CAAC;AAC5C,eAAO,MAAM,YAAY,QAAqB,CAAC;AAC/C,eAAO,MAAM,aAAa,QAAmB,CAAC;AAC9C,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,QAElC;AACD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,QAEnC;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,QAEjC;AACD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,QAGlC;AAmCD,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,cAAc,GAChB,oBAAoB,CAEtB;AACD,eAAO,MAAM,SAAS,QAAO,cAAc,EACe,CAAC;AAC3D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,EAAE,CAYlD"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.getDates = exports.getRanges = exports.getPortfolioRangeConfig = exports.startOfWeek = exports.startOfDay = exports.startOfMonth = exports.startOfHour = exports.weekIncrement = exports.dayIncrement = exports.hourIncrement = void 0;
4
- exports.hourIncrement = 60 * 60 * 1000;
5
- exports.dayIncrement = 24 * exports.hourIncrement;
6
- exports.weekIncrement = 7 * exports.dayIncrement;
7
- function startOfHour(t) {
8
- return new Date(t.getFullYear(), t.getMonth(), t.getDate(), t.getHours());
9
- }
10
- exports.startOfHour = startOfHour;
11
- function startOfMonth(t) {
12
- return new Date(t.getFullYear(), t.getMonth(), 1);
13
- }
14
- exports.startOfMonth = startOfMonth;
15
- function startOfDay(t) {
16
- return new Date(t.getFullYear(), t.getMonth(), t.getDate());
17
- }
18
- exports.startOfDay = startOfDay;
19
- function startOfWeek(t) {
20
- var d = startOfDay(t);
21
- return new Date(d.getTime() - d.getDay() * exports.dayIncrement);
22
- }
23
- exports.startOfWeek = startOfWeek;
24
- var ranges = {
25
- year: {
26
- count: 52,
27
- increment: exports.weekIncrement,
28
- startOf: startOfWeek,
29
- granularityId: "WEEK"
30
- },
31
- month: {
32
- count: 30,
33
- increment: exports.dayIncrement,
34
- startOf: startOfDay,
35
- granularityId: "DAY"
36
- },
37
- week: {
38
- count: 7 * 24,
39
- increment: exports.hourIncrement,
40
- startOf: startOfHour,
41
- granularityId: "HOUR"
42
- },
43
- day: {
44
- count: 24,
45
- increment: exports.hourIncrement,
46
- startOf: startOfHour,
47
- granularityId: "HOUR"
48
- }
49
- };
50
- var getPerPortfolioRanges = function () {
51
- return ranges;
52
- };
53
- function getPortfolioRangeConfig(r) {
54
- return getPerPortfolioRanges()[r];
55
- }
56
- exports.getPortfolioRangeConfig = getPortfolioRangeConfig;
57
- var getRanges = function () {
58
- return Object.keys(getPerPortfolioRanges());
59
- };
60
- exports.getRanges = getRanges;
61
- function getDates(r) {
62
- var conf = getPortfolioRangeConfig(r);
63
- var t = new Date();
64
- var array = [t];
65
- t = new Date(conf.startOf(t).valueOf() - 1); // end of yesterday
66
- for (var d = conf.count - 1; d > 0; d--) {
67
- array.unshift(t);
68
- t = new Date(t.valueOf() - conf.increment);
69
- }
70
- return array;
71
- }
72
- exports.getDates = getDates;
73
- //# sourceMappingURL=range.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/portfolio/range.ts"],"names":[],"mappings":"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"}