@ledgerhq/coin-framework 0.3.6 → 0.3.7-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/.eslintrc.js +8 -46
  2. package/.turbo/turbo-build.log +1 -1
  3. package/CHANGELOG.md +27 -1
  4. package/lib/account/accountId.d.ts +16 -0
  5. package/lib/account/accountId.d.ts.map +1 -0
  6. package/lib/account/accountId.js +67 -0
  7. package/lib/account/accountId.js.map +1 -0
  8. package/lib/account/accountName.d.ts +14 -0
  9. package/lib/account/accountName.d.ts.map +1 -0
  10. package/lib/account/accountName.js +14 -0
  11. package/lib/account/accountName.js.map +1 -0
  12. package/lib/account/balanceHistoryCache.d.ts +28 -0
  13. package/lib/account/balanceHistoryCache.d.ts.map +1 -0
  14. package/lib/account/balanceHistoryCache.js +132 -0
  15. package/lib/account/balanceHistoryCache.js.map +1 -0
  16. package/lib/account/balanceHistoryCache.test.d.ts +2 -0
  17. package/lib/account/balanceHistoryCache.test.d.ts.map +1 -0
  18. package/lib/account/balanceHistoryCache.test.js +21 -0
  19. package/lib/account/balanceHistoryCache.test.js.map +1 -0
  20. package/lib/account/groupOperations.d.ts +17 -0
  21. package/lib/account/groupOperations.d.ts.map +1 -0
  22. package/lib/account/groupOperations.js +122 -0
  23. package/lib/account/groupOperations.js.map +1 -0
  24. package/lib/account/helpers.d.ts +46 -0
  25. package/lib/account/helpers.d.ts.map +1 -0
  26. package/lib/account/helpers.js +296 -0
  27. package/lib/account/helpers.js.map +1 -0
  28. package/lib/account/helpers.test.d.ts +2 -0
  29. package/lib/account/helpers.test.d.ts.map +1 -0
  30. package/lib/account/helpers.test.js +409 -0
  31. package/lib/account/helpers.test.js.map +1 -0
  32. package/lib/account/index.d.ts +10 -0
  33. package/lib/account/index.d.ts.map +1 -0
  34. package/lib/account/index.js +26 -0
  35. package/lib/account/index.js.map +1 -0
  36. package/lib/account/ordering.d.ts +10 -0
  37. package/lib/account/ordering.d.ts.map +1 -0
  38. package/lib/account/ordering.js +80 -0
  39. package/lib/account/ordering.js.map +1 -0
  40. package/lib/account/pending.d.ts +4 -0
  41. package/lib/account/pending.d.ts.map +1 -0
  42. package/lib/account/pending.js +53 -0
  43. package/lib/account/pending.js.map +1 -0
  44. package/lib/account/serialization.d.ts +6 -0
  45. package/lib/account/serialization.d.ts.map +1 -0
  46. package/lib/account/serialization.js +108 -0
  47. package/lib/account/serialization.js.map +1 -0
  48. package/lib/account/support.d.ts +7 -0
  49. package/lib/account/support.d.ts.map +1 -0
  50. package/lib/account/support.js +45 -0
  51. package/lib/account/support.js.map +1 -0
  52. package/lib/account.test.d.ts +2 -0
  53. package/lib/account.test.d.ts.map +1 -0
  54. package/lib/account.test.js +180 -0
  55. package/lib/account.test.js.map +1 -0
  56. package/lib/bot/bot-test-context.d.ts +3 -0
  57. package/lib/bot/bot-test-context.d.ts.map +1 -0
  58. package/lib/bot/bot-test-context.js +26 -0
  59. package/lib/bot/bot-test-context.js.map +1 -0
  60. package/lib/bot/bot-test-context.test.d.ts +2 -0
  61. package/lib/bot/bot-test-context.test.d.ts.map +1 -0
  62. package/lib/bot/bot-test-context.test.js +41 -0
  63. package/lib/bot/bot-test-context.test.js.map +1 -0
  64. package/lib/bot/formatters.d.ts +2 -0
  65. package/lib/bot/formatters.d.ts.map +1 -0
  66. package/lib/bot/formatters.js +30 -0
  67. package/lib/bot/formatters.js.map +1 -0
  68. package/lib/bot/specs.d.ts +50 -0
  69. package/lib/bot/specs.d.ts.map +1 -0
  70. package/lib/bot/specs.js +181 -0
  71. package/lib/bot/specs.js.map +1 -0
  72. package/lib/bot/types.d.ts +177 -0
  73. package/lib/bot/types.d.ts.map +1 -0
  74. package/lib/bot/types.js +3 -0
  75. package/lib/bot/types.js.map +1 -0
  76. package/lib/bridge/getAddressWrapper.d.ts +5 -0
  77. package/lib/bridge/getAddressWrapper.d.ts.map +1 -0
  78. package/lib/bridge/getAddressWrapper.js +36 -0
  79. package/lib/bridge/getAddressWrapper.js.map +1 -0
  80. package/lib/bridge/jsHelpers.d.ts +59 -0
  81. package/lib/bridge/jsHelpers.d.ts.map +1 -0
  82. package/lib/bridge/jsHelpers.js +390 -0
  83. package/lib/bridge/jsHelpers.js.map +1 -0
  84. package/lib/cache.d.ts +11 -0
  85. package/lib/cache.d.ts.map +1 -0
  86. package/lib/cache.js +21 -0
  87. package/lib/cache.js.map +1 -0
  88. package/lib/currencies/BigNumberToLocaleString.d.ts +8 -0
  89. package/lib/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  90. package/lib/currencies/BigNumberToLocaleString.js +62 -0
  91. package/lib/currencies/BigNumberToLocaleString.js.map +1 -0
  92. package/lib/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  93. package/lib/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  94. package/lib/currencies/BigNumberToLocaleString.test.js +108 -0
  95. package/lib/currencies/BigNumberToLocaleString.test.js.map +1 -0
  96. package/lib/currencies/CurrencyURIScheme.d.ts +13 -0
  97. package/lib/currencies/CurrencyURIScheme.d.ts.map +1 -0
  98. package/lib/currencies/CurrencyURIScheme.js +95 -0
  99. package/lib/currencies/CurrencyURIScheme.js.map +1 -0
  100. package/lib/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  101. package/lib/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  102. package/lib/currencies/chopCurrencyUnitDecimals.js +29 -0
  103. package/lib/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  104. package/lib/currencies/formatCurrencyUnit.d.ts +33 -0
  105. package/lib/currencies/formatCurrencyUnit.d.ts.map +1 -0
  106. package/lib/currencies/formatCurrencyUnit.js +109 -0
  107. package/lib/currencies/formatCurrencyUnit.js.map +1 -0
  108. package/lib/currencies/formatShort.d.ts +8 -0
  109. package/lib/currencies/formatShort.d.ts.map +1 -0
  110. package/lib/currencies/formatShort.js +27 -0
  111. package/lib/currencies/formatShort.js.map +1 -0
  112. package/lib/currencies/index.d.ts +13 -0
  113. package/lib/currencies/index.d.ts.map +1 -0
  114. package/lib/currencies/index.js +62 -0
  115. package/lib/currencies/index.js.map +1 -0
  116. package/lib/currencies/localeUtility.d.ts +8 -0
  117. package/lib/currencies/localeUtility.d.ts.map +1 -0
  118. package/lib/currencies/localeUtility.js +45 -0
  119. package/lib/currencies/localeUtility.js.map +1 -0
  120. package/lib/currencies/parseCurrencyUnit.d.ts +4 -0
  121. package/lib/currencies/parseCurrencyUnit.d.ts.map +1 -0
  122. package/lib/currencies/parseCurrencyUnit.js +18 -0
  123. package/lib/currencies/parseCurrencyUnit.js.map +1 -0
  124. package/lib/currencies/sanitizeValueString.d.ts +6 -0
  125. package/lib/currencies/sanitizeValueString.d.ts.map +1 -0
  126. package/lib/currencies/sanitizeValueString.js +56 -0
  127. package/lib/currencies/sanitizeValueString.js.map +1 -0
  128. package/lib/currencies/support.d.ts +8 -0
  129. package/lib/currencies/support.d.ts.map +1 -0
  130. package/lib/currencies/support.js +98 -0
  131. package/lib/currencies/support.js.map +1 -0
  132. package/lib/currencies/valueFromUnit.d.ts +9 -0
  133. package/lib/currencies/valueFromUnit.d.ts.map +1 -0
  134. package/lib/currencies/valueFromUnit.js +12 -0
  135. package/lib/currencies/valueFromUnit.js.map +1 -0
  136. package/lib/derivation.d.ts +232 -0
  137. package/lib/derivation.d.ts.map +1 -0
  138. package/lib/derivation.js +416 -0
  139. package/lib/derivation.js.map +1 -0
  140. package/lib/derivation.test.d.ts +2 -0
  141. package/lib/derivation.test.d.ts.map +1 -0
  142. package/lib/derivation.test.js +35 -0
  143. package/lib/derivation.test.js.map +1 -0
  144. package/lib/errors.d.ts +7 -0
  145. package/lib/errors.d.ts.map +1 -0
  146. package/lib/errors.js +7 -0
  147. package/lib/errors.js.map +1 -0
  148. package/lib/errors.test.d.ts +2 -0
  149. package/lib/errors.test.d.ts.map +1 -0
  150. package/lib/errors.test.js +20 -0
  151. package/lib/errors.test.js.map +1 -0
  152. package/lib/mocks/account.d.ts +26 -0
  153. package/lib/mocks/account.d.ts.map +1 -0
  154. package/lib/mocks/account.js +334 -0
  155. package/lib/mocks/account.js.map +1 -0
  156. package/lib/mocks/fixtures/nfts.d.ts +36 -0
  157. package/lib/mocks/fixtures/nfts.d.ts.map +1 -0
  158. package/lib/mocks/fixtures/nfts.js +401 -0
  159. package/lib/mocks/fixtures/nfts.js.map +1 -0
  160. package/lib/mocks/fixtures/nfts.test.d.ts +2 -0
  161. package/lib/mocks/fixtures/nfts.test.d.ts.map +1 -0
  162. package/lib/mocks/fixtures/nfts.test.js +20 -0
  163. package/lib/mocks/fixtures/nfts.test.js.map +1 -0
  164. package/lib/mocks/helpers.d.ts +15 -0
  165. package/lib/mocks/helpers.d.ts.map +1 -0
  166. package/lib/mocks/helpers.js +32 -0
  167. package/lib/mocks/helpers.js.map +1 -0
  168. package/lib/network.d.ts +9 -0
  169. package/lib/network.d.ts.map +1 -0
  170. package/lib/network.js +3 -0
  171. package/lib/network.js.map +1 -0
  172. package/lib/nft/nftId.d.ts +8 -0
  173. package/lib/nft/nftId.d.ts.map +1 -0
  174. package/lib/nft/nftId.js +18 -0
  175. package/lib/nft/nftId.js.map +1 -0
  176. package/lib/operation.d.ts +31 -0
  177. package/lib/operation.d.ts.map +1 -0
  178. package/lib/operation.js +211 -0
  179. package/lib/operation.js.map +1 -0
  180. package/lib/operation.test.d.ts +2 -0
  181. package/lib/operation.test.d.ts.map +1 -0
  182. package/lib/operation.test.js +116 -0
  183. package/lib/operation.test.js.map +1 -0
  184. package/lib/signer.d.ts +3 -0
  185. package/lib/signer.d.ts.map +1 -0
  186. package/lib/signer.js +3 -0
  187. package/lib/signer.js.map +1 -0
  188. package/lib/test-helpers/staticTime.d.ts +2 -0
  189. package/lib/test-helpers/staticTime.d.ts.map +1 -0
  190. package/lib/test-helpers/staticTime.js +10 -0
  191. package/lib/test-helpers/staticTime.js.map +1 -0
  192. package/lib/transaction/common.d.ts +26 -0
  193. package/lib/transaction/common.d.ts.map +1 -0
  194. package/lib/transaction/common.js +101 -0
  195. package/lib/transaction/common.js.map +1 -0
  196. package/lib-es/account/accountId.d.ts +16 -0
  197. package/lib-es/account/accountId.d.ts.map +1 -0
  198. package/lib-es/account/accountId.js +56 -0
  199. package/lib-es/account/accountId.js.map +1 -0
  200. package/lib-es/account/accountName.d.ts +14 -0
  201. package/lib-es/account/accountName.d.ts.map +1 -0
  202. package/lib-es/account/accountName.js +9 -0
  203. package/lib-es/account/accountName.js.map +1 -0
  204. package/lib-es/account/balanceHistoryCache.d.ts +28 -0
  205. package/lib-es/account/balanceHistoryCache.d.ts.map +1 -0
  206. package/lib-es/account/balanceHistoryCache.js +123 -0
  207. package/lib-es/account/balanceHistoryCache.js.map +1 -0
  208. package/lib-es/account/balanceHistoryCache.test.d.ts +2 -0
  209. package/lib-es/account/balanceHistoryCache.test.d.ts.map +1 -0
  210. package/lib-es/account/balanceHistoryCache.test.js +19 -0
  211. package/lib-es/account/balanceHistoryCache.test.js.map +1 -0
  212. package/lib-es/account/groupOperations.d.ts +17 -0
  213. package/lib-es/account/groupOperations.d.ts.map +1 -0
  214. package/lib-es/account/groupOperations.js +117 -0
  215. package/lib-es/account/groupOperations.js.map +1 -0
  216. package/lib-es/account/helpers.d.ts +46 -0
  217. package/lib-es/account/helpers.d.ts.map +1 -0
  218. package/lib-es/account/helpers.js +264 -0
  219. package/lib-es/account/helpers.js.map +1 -0
  220. package/lib-es/account/helpers.test.d.ts +2 -0
  221. package/lib-es/account/helpers.test.d.ts.map +1 -0
  222. package/lib-es/account/helpers.test.js +404 -0
  223. package/lib-es/account/helpers.test.js.map +1 -0
  224. package/lib-es/account/index.d.ts +10 -0
  225. package/lib-es/account/index.d.ts.map +1 -0
  226. package/lib-es/account/index.js +10 -0
  227. package/lib-es/account/index.js.map +1 -0
  228. package/lib-es/account/ordering.d.ts +10 -0
  229. package/lib-es/account/ordering.d.ts.map +1 -0
  230. package/lib-es/account/ordering.js +73 -0
  231. package/lib-es/account/ordering.js.map +1 -0
  232. package/lib-es/account/pending.d.ts +4 -0
  233. package/lib-es/account/pending.d.ts.map +1 -0
  234. package/lib-es/account/pending.js +48 -0
  235. package/lib-es/account/pending.js.map +1 -0
  236. package/lib-es/account/serialization.d.ts +6 -0
  237. package/lib-es/account/serialization.d.ts.map +1 -0
  238. package/lib-es/account/serialization.js +102 -0
  239. package/lib-es/account/serialization.js.map +1 -0
  240. package/lib-es/account/support.d.ts +7 -0
  241. package/lib-es/account/support.d.ts.map +1 -0
  242. package/lib-es/account/support.js +39 -0
  243. package/lib-es/account/support.js.map +1 -0
  244. package/lib-es/account.test.d.ts +2 -0
  245. package/lib-es/account.test.d.ts.map +1 -0
  246. package/lib-es/account.test.js +175 -0
  247. package/lib-es/account.test.js.map +1 -0
  248. package/lib-es/bot/bot-test-context.d.ts +3 -0
  249. package/lib-es/bot/bot-test-context.d.ts.map +1 -0
  250. package/lib-es/bot/bot-test-context.js +21 -0
  251. package/lib-es/bot/bot-test-context.js.map +1 -0
  252. package/lib-es/bot/bot-test-context.test.d.ts +2 -0
  253. package/lib-es/bot/bot-test-context.test.d.ts.map +1 -0
  254. package/lib-es/bot/bot-test-context.test.js +39 -0
  255. package/lib-es/bot/bot-test-context.test.js.map +1 -0
  256. package/lib-es/bot/formatters.d.ts +2 -0
  257. package/lib-es/bot/formatters.d.ts.map +1 -0
  258. package/lib-es/bot/formatters.js +26 -0
  259. package/lib-es/bot/formatters.js.map +1 -0
  260. package/lib-es/bot/specs.d.ts +50 -0
  261. package/lib-es/bot/specs.d.ts.map +1 -0
  262. package/lib-es/bot/specs.js +170 -0
  263. package/lib-es/bot/specs.js.map +1 -0
  264. package/lib-es/bot/types.d.ts +177 -0
  265. package/lib-es/bot/types.d.ts.map +1 -0
  266. package/lib-es/bot/types.js +2 -0
  267. package/lib-es/bot/types.js.map +1 -0
  268. package/lib-es/bridge/getAddressWrapper.d.ts +5 -0
  269. package/lib-es/bridge/getAddressWrapper.d.ts.map +1 -0
  270. package/lib-es/bridge/getAddressWrapper.js +34 -0
  271. package/lib-es/bridge/getAddressWrapper.js.map +1 -0
  272. package/lib-es/bridge/jsHelpers.d.ts +59 -0
  273. package/lib-es/bridge/jsHelpers.d.ts.map +1 -0
  274. package/lib-es/bridge/jsHelpers.js +378 -0
  275. package/lib-es/bridge/jsHelpers.js.map +1 -0
  276. package/lib-es/cache.d.ts +11 -0
  277. package/lib-es/cache.d.ts.map +1 -0
  278. package/lib-es/cache.js +17 -0
  279. package/lib-es/cache.js.map +1 -0
  280. package/lib-es/currencies/BigNumberToLocaleString.d.ts +8 -0
  281. package/lib-es/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  282. package/lib-es/currencies/BigNumberToLocaleString.js +58 -0
  283. package/lib-es/currencies/BigNumberToLocaleString.js.map +1 -0
  284. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  285. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  286. package/lib-es/currencies/BigNumberToLocaleString.test.js +106 -0
  287. package/lib-es/currencies/BigNumberToLocaleString.test.js.map +1 -0
  288. package/lib-es/currencies/CurrencyURIScheme.d.ts +13 -0
  289. package/lib-es/currencies/CurrencyURIScheme.d.ts.map +1 -0
  290. package/lib-es/currencies/CurrencyURIScheme.js +87 -0
  291. package/lib-es/currencies/CurrencyURIScheme.js.map +1 -0
  292. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  293. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  294. package/lib-es/currencies/chopCurrencyUnitDecimals.js +25 -0
  295. package/lib-es/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  296. package/lib-es/currencies/formatCurrencyUnit.d.ts +33 -0
  297. package/lib-es/currencies/formatCurrencyUnit.d.ts.map +1 -0
  298. package/lib-es/currencies/formatCurrencyUnit.js +104 -0
  299. package/lib-es/currencies/formatCurrencyUnit.js.map +1 -0
  300. package/lib-es/currencies/formatShort.d.ts +8 -0
  301. package/lib-es/currencies/formatShort.d.ts.map +1 -0
  302. package/lib-es/currencies/formatShort.js +20 -0
  303. package/lib-es/currencies/formatShort.js.map +1 -0
  304. package/lib-es/currencies/index.d.ts +13 -0
  305. package/lib-es/currencies/index.d.ts.map +1 -0
  306. package/lib-es/currencies/index.js +14 -0
  307. package/lib-es/currencies/index.js.map +1 -0
  308. package/lib-es/currencies/localeUtility.d.ts +8 -0
  309. package/lib-es/currencies/localeUtility.d.ts.map +1 -0
  310. package/lib-es/currencies/localeUtility.js +39 -0
  311. package/lib-es/currencies/localeUtility.js.map +1 -0
  312. package/lib-es/currencies/parseCurrencyUnit.d.ts +4 -0
  313. package/lib-es/currencies/parseCurrencyUnit.d.ts.map +1 -0
  314. package/lib-es/currencies/parseCurrencyUnit.js +14 -0
  315. package/lib-es/currencies/parseCurrencyUnit.js.map +1 -0
  316. package/lib-es/currencies/sanitizeValueString.d.ts +6 -0
  317. package/lib-es/currencies/sanitizeValueString.d.ts.map +1 -0
  318. package/lib-es/currencies/sanitizeValueString.js +52 -0
  319. package/lib-es/currencies/sanitizeValueString.js.map +1 -0
  320. package/lib-es/currencies/support.d.ts +8 -0
  321. package/lib-es/currencies/support.d.ts.map +1 -0
  322. package/lib-es/currencies/support.js +89 -0
  323. package/lib-es/currencies/support.js.map +1 -0
  324. package/lib-es/currencies/valueFromUnit.d.ts +9 -0
  325. package/lib-es/currencies/valueFromUnit.d.ts.map +1 -0
  326. package/lib-es/currencies/valueFromUnit.js +8 -0
  327. package/lib-es/currencies/valueFromUnit.js.map +1 -0
  328. package/lib-es/derivation.d.ts +232 -0
  329. package/lib-es/derivation.d.ts.map +1 -0
  330. package/lib-es/derivation.js +388 -0
  331. package/lib-es/derivation.js.map +1 -0
  332. package/lib-es/derivation.test.d.ts +2 -0
  333. package/lib-es/derivation.test.d.ts.map +1 -0
  334. package/lib-es/derivation.test.js +33 -0
  335. package/lib-es/derivation.test.js.map +1 -0
  336. package/lib-es/errors.d.ts +7 -0
  337. package/lib-es/errors.d.ts.map +1 -0
  338. package/lib-es/errors.js +4 -0
  339. package/lib-es/errors.js.map +1 -0
  340. package/lib-es/errors.test.d.ts +2 -0
  341. package/lib-es/errors.test.d.ts.map +1 -0
  342. package/lib-es/errors.test.js +18 -0
  343. package/lib-es/errors.test.js.map +1 -0
  344. package/lib-es/mocks/account.d.ts +26 -0
  345. package/lib-es/mocks/account.d.ts.map +1 -0
  346. package/lib-es/mocks/account.js +324 -0
  347. package/lib-es/mocks/account.js.map +1 -0
  348. package/lib-es/mocks/fixtures/nfts.d.ts +36 -0
  349. package/lib-es/mocks/fixtures/nfts.d.ts.map +1 -0
  350. package/lib-es/mocks/fixtures/nfts.js +393 -0
  351. package/lib-es/mocks/fixtures/nfts.js.map +1 -0
  352. package/lib-es/mocks/fixtures/nfts.test.d.ts +2 -0
  353. package/lib-es/mocks/fixtures/nfts.test.d.ts.map +1 -0
  354. package/lib-es/mocks/fixtures/nfts.test.js +18 -0
  355. package/lib-es/mocks/fixtures/nfts.test.js.map +1 -0
  356. package/lib-es/mocks/helpers.d.ts +15 -0
  357. package/lib-es/mocks/helpers.d.ts.map +1 -0
  358. package/lib-es/mocks/helpers.js +26 -0
  359. package/lib-es/mocks/helpers.js.map +1 -0
  360. package/lib-es/network.d.ts +9 -0
  361. package/lib-es/network.d.ts.map +1 -0
  362. package/lib-es/network.js +2 -0
  363. package/lib-es/network.js.map +1 -0
  364. package/lib-es/nft/nftId.d.ts +8 -0
  365. package/lib-es/nft/nftId.d.ts.map +1 -0
  366. package/lib-es/nft/nftId.js +13 -0
  367. package/lib-es/nft/nftId.js.map +1 -0
  368. package/lib-es/operation.d.ts +31 -0
  369. package/lib-es/operation.d.ts.map +1 -0
  370. package/lib-es/operation.js +190 -0
  371. package/lib-es/operation.js.map +1 -0
  372. package/lib-es/operation.test.d.ts +2 -0
  373. package/lib-es/operation.test.d.ts.map +1 -0
  374. package/lib-es/operation.test.js +111 -0
  375. package/lib-es/operation.test.js.map +1 -0
  376. package/lib-es/signer.d.ts +3 -0
  377. package/lib-es/signer.d.ts.map +1 -0
  378. package/lib-es/signer.js +2 -0
  379. package/lib-es/signer.js.map +1 -0
  380. package/lib-es/test-helpers/staticTime.d.ts +2 -0
  381. package/lib-es/test-helpers/staticTime.d.ts.map +1 -0
  382. package/lib-es/test-helpers/staticTime.js +5 -0
  383. package/lib-es/test-helpers/staticTime.js.map +1 -0
  384. package/lib-es/transaction/common.d.ts +26 -0
  385. package/lib-es/transaction/common.d.ts.map +1 -0
  386. package/lib-es/transaction/common.js +93 -0
  387. package/lib-es/transaction/common.js.map +1 -0
  388. package/package.json +8 -21
  389. package/src/account/accountId.ts +20 -30
  390. package/src/account/accountName.ts +1 -4
  391. package/src/account/balanceHistoryCache.test.ts +19 -0
  392. package/src/account/balanceHistoryCache.ts +52 -38
  393. package/src/account/groupOperations.ts +4 -6
  394. package/src/account/helpers.test.ts +6 -26
  395. package/src/account/helpers.ts +28 -60
  396. package/src/account/ordering.ts +10 -18
  397. package/src/account/pending.ts +6 -15
  398. package/src/account/serialization.ts +8 -19
  399. package/src/account/support.ts +8 -18
  400. package/src/account.test.ts +25 -40
  401. package/src/bot/specs.ts +24 -43
  402. package/src/bot/types.ts +2 -3
  403. package/src/bridge/getAddressWrapper.ts +7 -15
  404. package/src/bridge/jsHelpers.ts +228 -293
  405. package/src/cache.ts +4 -4
  406. package/src/currencies/BigNumberToLocaleString.test.ts +25 -33
  407. package/src/currencies/BigNumberToLocaleString.ts +3 -8
  408. package/src/currencies/CurrencyURIScheme.ts +1 -3
  409. package/src/currencies/chopCurrencyUnitDecimals.ts +1 -4
  410. package/src/currencies/formatCurrencyUnit.ts +11 -21
  411. package/src/currencies/index.ts +1 -4
  412. package/src/currencies/localeUtility.ts +2 -4
  413. package/src/currencies/parseCurrencyUnit.ts +1 -4
  414. package/src/currencies/sanitizeValueString.ts +1 -1
  415. package/src/currencies/support.ts +3 -9
  416. package/src/derivation.test.ts +1 -4
  417. package/src/derivation.ts +45 -95
  418. package/src/errors.test.ts +1 -1
  419. package/src/errors.ts +2 -6
  420. package/src/mocks/account.ts +27 -80
  421. package/src/mocks/fixtures/nfts.test.ts +2 -6
  422. package/src/mocks/fixtures/nfts.ts +12 -38
  423. package/src/mocks/helpers.ts +2 -8
  424. package/src/nft/nftId.ts +2 -2
  425. package/src/operation.test.ts +119 -32
  426. package/src/operation.ts +74 -26
  427. package/src/signer.ts +5 -0
  428. package/src/transaction/common.ts +9 -22
@@ -0,0 +1,409 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
+ const _1 = require(".");
8
+ const helpers_1 = require("./helpers");
9
+ const mockAccount = {};
10
+ const childAccount = Object.assign(Object.assign({}, mockAccount), { type: "ChildAccount", parentId: "sampleId", address: "sampleAddress" });
11
+ const tokenAccount = Object.assign(Object.assign({}, mockAccount), { type: "TokenAccount", token: {}, parentId: "sampleId" });
12
+ describe(_1.getAccountCurrency.name, () => {
13
+ describe("given an Account", () => {
14
+ beforeEach(() => {
15
+ mockAccount.type = "Account";
16
+ });
17
+ it("should return the currency", () => {
18
+ const sampleCurrency = { family: "bitcoin" };
19
+ mockAccount.currency = sampleCurrency;
20
+ expect((0, _1.getAccountCurrency)(mockAccount)).toEqual(sampleCurrency);
21
+ });
22
+ });
23
+ describe("given a ChildAccount", () => {
24
+ it("should return the currency", () => {
25
+ const sampleCurrency = { family: "bitcoin" };
26
+ childAccount.currency = sampleCurrency;
27
+ expect((0, _1.getAccountCurrency)(childAccount)).toEqual(sampleCurrency);
28
+ });
29
+ });
30
+ describe("given a TokenAccount", () => {
31
+ it("should return the token currency", () => {
32
+ const sampleToken = { id: "tokenId" };
33
+ tokenAccount.token = sampleToken;
34
+ expect((0, _1.getAccountCurrency)(tokenAccount)).toEqual(sampleToken);
35
+ });
36
+ });
37
+ describe("given an unknown type Account", () => {
38
+ beforeEach(() => {
39
+ mockAccount.type = "DefinitelyNotAStandardAccount";
40
+ });
41
+ it("should throw an error", () => {
42
+ expect(() => (0, _1.getAccountCurrency)(mockAccount)).toThrow(Error);
43
+ });
44
+ it("should display the account type in the error message", () => {
45
+ expect.assertions(1);
46
+ try {
47
+ (0, _1.getAccountCurrency)(mockAccount);
48
+ }
49
+ catch (e) {
50
+ expect(e.message.includes(mockAccount.type)).toEqual(true);
51
+ }
52
+ });
53
+ });
54
+ });
55
+ describe(_1.getAccountUnit.name, () => {
56
+ describe("given an Account", () => {
57
+ beforeEach(() => {
58
+ mockAccount.type = "Account";
59
+ });
60
+ it("should return the unit", () => {
61
+ const sampleUnit = { name: "unit" };
62
+ mockAccount.unit = sampleUnit;
63
+ expect((0, _1.getAccountUnit)(mockAccount)).toEqual(sampleUnit);
64
+ });
65
+ });
66
+ describe("given a ChildAccount", () => {
67
+ it("should return the currency unit", () => {
68
+ const sampleUnit = { name: "unit" };
69
+ childAccount.currency = { units: [sampleUnit] };
70
+ expect((0, _1.getAccountUnit)(childAccount)).toEqual(sampleUnit);
71
+ });
72
+ });
73
+ describe("given a TokenAccount", () => {
74
+ it("should return the token unit", () => {
75
+ const sampleUnit = { name: "unit" };
76
+ tokenAccount.token = { units: [sampleUnit] };
77
+ expect((0, _1.getAccountUnit)(tokenAccount)).toEqual(sampleUnit);
78
+ });
79
+ });
80
+ describe("given an unknown type Account", () => {
81
+ beforeEach(() => {
82
+ mockAccount.type = "DefinitelyNotAStandardAccount";
83
+ });
84
+ it("should throw an error", () => {
85
+ expect(() => (0, _1.getAccountUnit)(mockAccount)).toThrow(Error);
86
+ });
87
+ it("should display the account type in the error message", () => {
88
+ expect.assertions(1);
89
+ try {
90
+ (0, _1.getAccountUnit)(mockAccount);
91
+ }
92
+ catch (e) {
93
+ expect(e.message.includes(mockAccount.type)).toEqual(true);
94
+ }
95
+ });
96
+ });
97
+ });
98
+ describe(_1.getFeesCurrency.name, () => {
99
+ describe("given an Account", () => {
100
+ beforeEach(() => {
101
+ mockAccount.type = "Account";
102
+ });
103
+ describe("without feesCurrency", () => {
104
+ it("should return the account's currency", () => {
105
+ const sampleCurrency = { family: "bitcoin" };
106
+ mockAccount.currency = sampleCurrency;
107
+ expect((0, _1.getFeesCurrency)(mockAccount)).toEqual(sampleCurrency);
108
+ });
109
+ });
110
+ describe("with feesCurrency", () => {
111
+ it("should return the fees currency", () => {
112
+ const sampleCurrency = { family: "vechain" };
113
+ const sampleFeesCurrency = { id: "VTHO" };
114
+ mockAccount.currency = sampleCurrency;
115
+ mockAccount.feesCurrency = sampleFeesCurrency;
116
+ expect((0, _1.getFeesCurrency)(mockAccount)).toEqual(sampleFeesCurrency);
117
+ });
118
+ });
119
+ });
120
+ describe("given a ChildAccount", () => {
121
+ it("should return the currency", () => {
122
+ const sampleCurrency = { family: "bitcoin" };
123
+ childAccount.currency = sampleCurrency;
124
+ expect((0, _1.getFeesCurrency)(childAccount)).toEqual(sampleCurrency);
125
+ });
126
+ });
127
+ describe("given a TokenAccount", () => {
128
+ it("should return the token currency", () => {
129
+ const sampleToken = { id: "tokenId" };
130
+ tokenAccount.token = sampleToken;
131
+ expect((0, _1.getFeesCurrency)(tokenAccount)).toEqual(sampleToken);
132
+ });
133
+ });
134
+ describe("given an unknown type Account", () => {
135
+ beforeEach(() => {
136
+ mockAccount.type = "DefinitelyNotAStandardAccount";
137
+ });
138
+ it("should throw an error", () => {
139
+ expect(() => (0, _1.getFeesCurrency)(mockAccount)).toThrow(Error);
140
+ });
141
+ it("should display the account type in the error message", () => {
142
+ expect.assertions(1);
143
+ try {
144
+ (0, _1.getFeesCurrency)(mockAccount);
145
+ }
146
+ catch (e) {
147
+ expect(e.message.includes(mockAccount.type)).toEqual(true);
148
+ }
149
+ });
150
+ });
151
+ });
152
+ describe(_1.getAccountName.name, () => {
153
+ describe("given an Account", () => {
154
+ beforeEach(() => {
155
+ mockAccount.type = "Account";
156
+ });
157
+ it("should return the account name", () => {
158
+ const sampleAccountName = "SampleAccountName";
159
+ mockAccount.name = sampleAccountName;
160
+ expect((0, _1.getAccountName)(mockAccount)).toEqual(sampleAccountName);
161
+ });
162
+ });
163
+ describe("given a ChildAccount", () => {
164
+ it("should return the account name", () => {
165
+ const sampleAccountName = "SampleAccountName";
166
+ childAccount.name = sampleAccountName;
167
+ expect((0, _1.getAccountName)(childAccount)).toEqual(sampleAccountName);
168
+ });
169
+ });
170
+ describe("given a TokenAccount", () => {
171
+ it("should return the token account name", () => {
172
+ const sampleAccountName = "SampleAccountName";
173
+ tokenAccount.token = { name: sampleAccountName };
174
+ expect((0, _1.getAccountName)(tokenAccount)).toEqual(sampleAccountName);
175
+ });
176
+ });
177
+ describe("given an unknown type Account", () => {
178
+ beforeEach(() => {
179
+ mockAccount.type = "DefinitelyNotAStandardAccount";
180
+ });
181
+ it("should throw an error", () => {
182
+ expect(() => (0, _1.getAccountName)(mockAccount)).toThrow(Error);
183
+ });
184
+ it("should display the account type in the error message", () => {
185
+ expect.assertions(1);
186
+ try {
187
+ (0, _1.getAccountName)(mockAccount);
188
+ }
189
+ catch (e) {
190
+ expect(e.message.includes(mockAccount.type)).toEqual(true);
191
+ }
192
+ });
193
+ });
194
+ });
195
+ describe(_1.getAccountSpendableBalance.name, () => {
196
+ describe("given an Account", () => {
197
+ beforeEach(() => {
198
+ mockAccount.type = "Account";
199
+ });
200
+ it("should return the account spendable balance", () => {
201
+ const sampleAccountBalance = new bignumber_js_1.default(10);
202
+ mockAccount.spendableBalance = sampleAccountBalance;
203
+ expect((0, _1.getAccountSpendableBalance)(mockAccount)).toEqual(sampleAccountBalance);
204
+ });
205
+ });
206
+ describe("given a ChildAccount", () => {
207
+ it("should return the account balance", () => {
208
+ const sampleAccountBalance = new bignumber_js_1.default(10);
209
+ childAccount.balance = sampleAccountBalance;
210
+ expect((0, _1.getAccountSpendableBalance)(childAccount)).toEqual(sampleAccountBalance);
211
+ });
212
+ });
213
+ describe("given a TokenAccount", () => {
214
+ it("should return the token account spendable balance", () => {
215
+ const sampleAccountBalance = new bignumber_js_1.default(10);
216
+ tokenAccount.spendableBalance = sampleAccountBalance;
217
+ expect((0, _1.getAccountSpendableBalance)(tokenAccount)).toEqual(sampleAccountBalance);
218
+ });
219
+ });
220
+ describe("given an unknown type Account", () => {
221
+ beforeEach(() => {
222
+ mockAccount.type = "DefinitelyNotAStandardAccount";
223
+ });
224
+ it("should throw an error", () => {
225
+ expect(() => (0, _1.getAccountSpendableBalance)(mockAccount)).toThrow(Error);
226
+ });
227
+ it("should display the account type in the error message", () => {
228
+ expect.assertions(1);
229
+ try {
230
+ (0, _1.getAccountSpendableBalance)(mockAccount);
231
+ }
232
+ catch (e) {
233
+ expect(e.message.includes(mockAccount.type)).toEqual(true);
234
+ }
235
+ });
236
+ });
237
+ });
238
+ describe(helpers_1.isAccountEmpty.name, () => {
239
+ describe("given an account", () => {
240
+ beforeEach(() => {
241
+ mockAccount.type = "Account";
242
+ mockAccount.currency = { family: "ethereum" };
243
+ });
244
+ describe("when account has no subaccounts", () => {
245
+ beforeEach(() => {
246
+ mockAccount.subAccounts = [];
247
+ });
248
+ describe("and balance is zero", () => {
249
+ beforeEach(() => {
250
+ mockAccount.balance = new bignumber_js_1.default(0);
251
+ });
252
+ it("should return true if operationsCount is 0", () => {
253
+ mockAccount.operationsCount = 0;
254
+ expect((0, helpers_1.isAccountEmpty)(mockAccount)).toEqual(true);
255
+ });
256
+ it("should return false if operationsCount is higher than 0", () => {
257
+ mockAccount.operationsCount = 1;
258
+ expect((0, helpers_1.isAccountEmpty)(mockAccount)).toEqual(false);
259
+ });
260
+ });
261
+ describe("and balance is higher than 0", () => {
262
+ beforeEach(() => {
263
+ mockAccount.balance = new bignumber_js_1.default(42);
264
+ });
265
+ it("should return false if operationsCount is 0", () => {
266
+ mockAccount.operationsCount = 0;
267
+ expect((0, helpers_1.isAccountEmpty)(mockAccount)).toEqual(false);
268
+ });
269
+ it("should return false if operationsCount is higher than 0", () => {
270
+ mockAccount.operationsCount = 1;
271
+ expect((0, helpers_1.isAccountEmpty)(mockAccount)).toEqual(false);
272
+ });
273
+ });
274
+ });
275
+ describe("when account has subaccounts", () => {
276
+ beforeEach(() => {
277
+ mockAccount.subAccounts = [{}];
278
+ });
279
+ it("should return false", () => {
280
+ expect((0, helpers_1.isAccountEmpty)(mockAccount)).toEqual(false);
281
+ });
282
+ });
283
+ });
284
+ });
285
+ describe(_1.areAllOperationsLoaded.name, () => {
286
+ describe("given an account with subAccounts", () => {
287
+ beforeEach(() => {
288
+ mockAccount.type = "Account";
289
+ mockAccount.operations = [];
290
+ mockAccount.operationsCount = 0;
291
+ mockAccount.subAccounts = [
292
+ {
293
+ operations: [],
294
+ operationsCount: 0,
295
+ },
296
+ {
297
+ operations: [{}],
298
+ operationsCount: 1,
299
+ },
300
+ ];
301
+ });
302
+ describe("when sub account operation aren't loaded", () => {
303
+ beforeEach(() => {
304
+ mockAccount.subAccounts[1].operations = [];
305
+ });
306
+ it("should return false", () => {
307
+ expect((0, _1.areAllOperationsLoaded)(mockAccount)).toEqual(false);
308
+ });
309
+ });
310
+ describe("when sub account operation are loaded", () => {
311
+ it("should return true", () => {
312
+ expect((0, _1.areAllOperationsLoaded)(mockAccount)).toEqual(true);
313
+ });
314
+ });
315
+ });
316
+ describe("given an account without subAccounts", () => {
317
+ describe("when operations count is different from operations length", () => {
318
+ beforeEach(() => {
319
+ childAccount.operationsCount = 2;
320
+ childAccount.operations = [{}];
321
+ });
322
+ it("should return false", () => {
323
+ expect((0, _1.areAllOperationsLoaded)(childAccount)).toEqual(false);
324
+ });
325
+ });
326
+ describe("when operations count is same as operations length", () => {
327
+ beforeEach(() => {
328
+ childAccount.operationsCount = 1;
329
+ childAccount.operations = [{}];
330
+ });
331
+ it("should return true", () => {
332
+ expect((0, _1.areAllOperationsLoaded)(childAccount)).toEqual(true);
333
+ });
334
+ });
335
+ });
336
+ });
337
+ describe(helpers_1.isAccountBalanceSignificant.name, () => {
338
+ describe("when balance is low", () => {
339
+ beforeEach(() => {
340
+ mockAccount.balance = new bignumber_js_1.default(10);
341
+ });
342
+ it("should return false", () => {
343
+ expect((0, helpers_1.isAccountBalanceSignificant)(mockAccount)).toEqual(false);
344
+ });
345
+ });
346
+ describe("when balance is high", () => {
347
+ beforeEach(() => {
348
+ mockAccount.balance = new bignumber_js_1.default(101);
349
+ });
350
+ it("should return true", () => {
351
+ expect((0, helpers_1.isAccountBalanceSignificant)(mockAccount)).toEqual(true);
352
+ });
353
+ });
354
+ });
355
+ describe(helpers_1.clearAccount.name, () => {
356
+ describe("given a TokenAccount", () => {
357
+ const tokenAccount = Object.assign(Object.assign({}, mockAccount), { token: {}, parentId: "sampleId", type: "TokenAccount" });
358
+ it("should clear operations", () => {
359
+ const clearedAccount = (0, helpers_1.clearAccount)(tokenAccount);
360
+ expect(clearedAccount.operations.length).toEqual(0);
361
+ expect(clearedAccount.pendingOperations.length).toEqual(0);
362
+ });
363
+ it("should clear balanceHistory", () => {
364
+ const clearedAccount = (0, helpers_1.clearAccount)(tokenAccount);
365
+ expect(clearedAccount.balanceHistoryCache).toEqual(_1.emptyHistoryCache);
366
+ });
367
+ });
368
+ describe("given a ChildAccount", () => {
369
+ const childAccount = Object.assign(Object.assign({}, mockAccount), { type: "ChildAccount", parentId: "sampleId", address: "sampleAddress" });
370
+ it("should clear operations", () => {
371
+ const clearedAccount = (0, helpers_1.clearAccount)(childAccount);
372
+ expect(clearedAccount.operations.length).toEqual(0);
373
+ expect(clearedAccount.pendingOperations.length).toEqual(0);
374
+ });
375
+ it("should clear balanceHistory", () => {
376
+ const clearedAccount = (0, helpers_1.clearAccount)(childAccount);
377
+ expect(clearedAccount.balanceHistoryCache).toEqual(_1.emptyHistoryCache);
378
+ });
379
+ });
380
+ describe("given an Account", () => {
381
+ const ethereumCurrency = {
382
+ family: "ethereum",
383
+ };
384
+ const withSubAccounts = Object.assign(Object.assign({}, mockAccount), { subAccounts: [
385
+ {
386
+ currency: ethereumCurrency,
387
+ },
388
+ ], currency: ethereumCurrency });
389
+ it("should clear operations", () => {
390
+ const clearedAccount = (0, helpers_1.clearAccount)(withSubAccounts);
391
+ expect(clearedAccount.operations.length).toEqual(0);
392
+ expect(clearedAccount.pendingOperations.length).toEqual(0);
393
+ });
394
+ it("should clear balanceHistory", () => {
395
+ const clearedAccount = (0, helpers_1.clearAccount)(withSubAccounts);
396
+ expect(clearedAccount.balanceHistoryCache).toEqual(_1.emptyHistoryCache);
397
+ });
398
+ it("should reset lastSyncDate", () => {
399
+ const clearedAccount = (0, helpers_1.clearAccount)(withSubAccounts);
400
+ expect(clearedAccount.lastSyncDate).toEqual(new Date(0));
401
+ });
402
+ it("should delete nfts attribute", () => {
403
+ withSubAccounts.nfts = [];
404
+ const clearedAccount = (0, helpers_1.clearAccount)(withSubAccounts);
405
+ expect(Object.keys(clearedAccount).indexOf("nfts")).toEqual(-1);
406
+ });
407
+ });
408
+ });
409
+ //# sourceMappingURL=helpers.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../../src/account/helpers.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export * from "./accountId";
2
+ export * from "./accountName";
3
+ export * from "./balanceHistoryCache";
4
+ export * from "./groupOperations";
5
+ export * from "./helpers";
6
+ export * from "./ordering";
7
+ export * from "./pending";
8
+ export * from "./serialization";
9
+ export * from "./support";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./accountId"), exports);
18
+ __exportStar(require("./accountName"), exports);
19
+ __exportStar(require("./balanceHistoryCache"), exports);
20
+ __exportStar(require("./groupOperations"), exports);
21
+ __exportStar(require("./helpers"), exports);
22
+ __exportStar(require("./ordering"), exports);
23
+ __exportStar(require("./pending"), exports);
24
+ __exportStar(require("./serialization"), exports);
25
+ __exportStar(require("./support"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B;AAC9B,wDAAsC;AACtC,oDAAkC;AAClC,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,kDAAgC;AAChC,4CAA0B"}
@@ -0,0 +1,10 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ import type { FlattenAccountsOptions } from "./helpers";
3
+ import type { Account, AccountLike } from "@ledgerhq/types-live";
4
+ import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
5
+ export type AccountComparator = (a: AccountLike, b: AccountLike) => number;
6
+ export declare const sortAccountsComparatorFromOrder: (orderAccounts: string, calculateCountervalue: (currency: TokenCurrency | CryptoCurrency, value: BigNumber) => BigNumber | null | undefined) => AccountComparator;
7
+ export declare const comparatorSortAccounts: <TA extends AccountLike>(accounts: TA[], comparator: AccountComparator) => TA[];
8
+ export declare const flattenSortAccounts: (accounts: Account[], comparator: AccountComparator, o?: FlattenAccountsOptions) => AccountLike[];
9
+ export declare const nestedSortAccounts: (topAccounts: Account[], comparator: AccountComparator) => Account[];
10
+ //# sourceMappingURL=ordering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../src/account/ordering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,KAAK,MAAM,CAAC;AAkB3E,eAAO,MAAM,+BAA+B,kBAC3B,MAAM,oCAET,aAAa,GAAG,cAAc,SACjC,SAAS,KACb,SAAS,GAAG,IAAI,GAAG,SAAS,KAChC,iBA0BF,CAAC;AACF,eAAO,MAAM,sBAAsB,uDAErB,iBAAiB,SAgB9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,aACpB,OAAO,EAAE,cACP,iBAAiB,MACzB,sBAAsB,KACzB,WAAW,EAEb,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAChB,OAAO,EAAE,cACV,iBAAiB,KAC5B,OAAO,EAYT,CAAC"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nestedSortAccounts = exports.flattenSortAccounts = exports.comparatorSortAccounts = exports.sortAccountsComparatorFromOrder = void 0;
4
+ const bignumber_js_1 = require("bignumber.js");
5
+ const helpers_1 = require("./helpers");
6
+ const sortNameLense = (a) => {
7
+ switch (a.type) {
8
+ case "Account":
9
+ return a.name;
10
+ case "TokenAccount":
11
+ return a.token.name;
12
+ case "ChildAccount":
13
+ return a.currency.name;
14
+ default:
15
+ return "";
16
+ }
17
+ };
18
+ const sortAccountsComparatorFromOrder = (orderAccounts, calculateCountervalue) => {
19
+ const [order, sort] = orderAccounts.split("|");
20
+ const ascValue = sort === "desc" ? -1 : 1;
21
+ if (order === "name") {
22
+ return (a, b) => ascValue *
23
+ sortNameLense(a).localeCompare(sortNameLense(b), undefined, {
24
+ numeric: true,
25
+ });
26
+ }
27
+ const cvCaches = {};
28
+ const lazyCalcCV = (a) => {
29
+ if (a.id in cvCaches)
30
+ return cvCaches[a.id];
31
+ const v = calculateCountervalue((0, helpers_1.getAccountCurrency)(a), a.balance) || new bignumber_js_1.BigNumber(-1);
32
+ cvCaches[a.id] = v;
33
+ return v;
34
+ };
35
+ return (a, b) => {
36
+ const diff = ascValue * lazyCalcCV(a).minus(lazyCalcCV(b)).toNumber();
37
+ if (diff === 0)
38
+ return sortNameLense(a).localeCompare(sortNameLense(b));
39
+ return diff;
40
+ };
41
+ };
42
+ exports.sortAccountsComparatorFromOrder = sortAccountsComparatorFromOrder;
43
+ const comparatorSortAccounts = (accounts, comparator) => {
44
+ const meta = accounts
45
+ .map((ta, index) => ({
46
+ account: ta,
47
+ index,
48
+ }))
49
+ .sort((a, b) => comparator(a.account, b.account));
50
+ if (meta.every((m, i) => m.index === i)) {
51
+ // account ordering is preserved, we keep the same array reference (this should happen most of the time)
52
+ return accounts;
53
+ }
54
+ // otherwise, need to reorder
55
+ return meta.map(m => accounts[m.index]);
56
+ };
57
+ exports.comparatorSortAccounts = comparatorSortAccounts;
58
+ // flatten accounts and sort between them (used for grid mode)
59
+ const flattenSortAccounts = (accounts, comparator, o) => {
60
+ return (0, exports.comparatorSortAccounts)((0, helpers_1.flattenAccounts)(accounts, o), comparator);
61
+ };
62
+ exports.flattenSortAccounts = flattenSortAccounts;
63
+ // sort top level accounts and the inner sub accounts if necessary (used for lists)
64
+ const nestedSortAccounts = (topAccounts, comparator) => {
65
+ let oneAccountHaveChanged = false;
66
+ // first of all we sort the inner token accounts
67
+ const accounts = topAccounts.map(a => {
68
+ if (!a.subAccounts)
69
+ return a;
70
+ const subAccounts = (0, exports.comparatorSortAccounts)(a.subAccounts, comparator);
71
+ if (subAccounts === a.subAccounts)
72
+ return a;
73
+ oneAccountHaveChanged = true;
74
+ return Object.assign(Object.assign({}, a), { subAccounts });
75
+ });
76
+ // then we sort again between them
77
+ return (0, exports.comparatorSortAccounts)(oneAccountHaveChanged ? accounts : topAccounts, comparator);
78
+ };
79
+ exports.nestedSortAccounts = nestedSortAccounts;
80
+ //# sourceMappingURL=ordering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordering.js","sourceRoot":"","sources":["../../src/account/ordering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Account, Operation } from "@ledgerhq/types-live";
2
+ export declare function shouldRetainPendingOperation(account: Account, op: Operation): boolean;
3
+ export declare const addPendingOperation: (account: Account, operation: Operation) => Account;
4
+ //# sourceMappingURL=pending.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending.d.ts","sourceRoot":"","sources":["../../src/account/pending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAc,MAAM,sBAAsB,CAAC;AAE3E,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAerF;AAUD,eAAO,MAAM,mBAAmB,YAAa,OAAO,aAAa,SAAS,KAAG,OAgC5E,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addPendingOperation = exports.shouldRetainPendingOperation = void 0;
4
+ const live_env_1 = require("@ledgerhq/live-env");
5
+ function shouldRetainPendingOperation(account, op) {
6
+ // FIXME: valueOf to compare dates in typescript
7
+ const delay = new Date().valueOf() - op.date.valueOf();
8
+ const last = account.operations[0];
9
+ if (last &&
10
+ last.transactionSequenceNumber &&
11
+ op.transactionSequenceNumber &&
12
+ op.transactionSequenceNumber <= last.transactionSequenceNumber) {
13
+ return false;
14
+ }
15
+ return delay < (0, live_env_1.getEnv)("OPERATION_OPTIMISTIC_RETENTION");
16
+ }
17
+ exports.shouldRetainPendingOperation = shouldRetainPendingOperation;
18
+ const appendPendingOp = (ops, op) => {
19
+ const filtered = ops.filter(o => o.transactionSequenceNumber !== op.transactionSequenceNumber);
20
+ filtered.unshift(op);
21
+ return filtered;
22
+ };
23
+ const addPendingOperation = (account, operation) => {
24
+ const accountCopy = Object.assign({}, account);
25
+ const { subOperations } = operation;
26
+ const { subAccounts } = account;
27
+ function addInSubAccount(subaccounts, op) {
28
+ const acc = subaccounts.find(sub => sub.id === op.accountId);
29
+ if (acc) {
30
+ const copy = Object.assign({}, acc);
31
+ copy.pendingOperations = appendPendingOp(acc.pendingOperations, op);
32
+ subaccounts[subaccounts.indexOf(acc)] = copy;
33
+ }
34
+ }
35
+ if (subOperations && subAccounts) {
36
+ const taCopy = subAccounts.slice(0);
37
+ subOperations.forEach(op => {
38
+ addInSubAccount(taCopy, op);
39
+ });
40
+ accountCopy.subAccounts = taCopy;
41
+ }
42
+ if (accountCopy.id === operation.accountId) {
43
+ accountCopy.pendingOperations = appendPendingOp(accountCopy.pendingOperations, operation);
44
+ }
45
+ else if (subAccounts) {
46
+ const taCopy = subAccounts.slice(0);
47
+ addInSubAccount(taCopy, operation);
48
+ accountCopy.subAccounts = taCopy;
49
+ }
50
+ return accountCopy;
51
+ };
52
+ exports.addPendingOperation = addPendingOperation;
53
+ //# sourceMappingURL=pending.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending.js","sourceRoot":"","sources":["../../src/account/pending.ts"],"names":[],"mappings":";;;AACA,iDAA4C;AAC5C,SAAgB,4BAA4B,CAAC,OAAgB,EAAE,EAAa;IAC1E,gDAAgD;IAChD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEnC,IACE,IAAI;QACJ,IAAI,CAAC,yBAAyB;QAC9B,EAAE,CAAC,yBAAyB;QAC5B,EAAE,CAAC,yBAAyB,IAAI,IAAI,CAAC,yBAAyB,EAC9D;QACA,OAAO,KAAK,CAAC;KACd;IAED,OAAO,KAAK,GAAG,IAAA,iBAAM,EAAC,gCAAgC,CAAC,CAAC;AAC1D,CAAC;AAfD,oEAeC;AAED,MAAM,eAAe,GAAG,CAAC,GAAgB,EAAE,EAAa,EAAE,EAAE;IAC1D,MAAM,QAAQ,GAAgB,GAAG,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,KAAK,EAAE,CAAC,yBAAyB,CAClE,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrB,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,SAAoB,EAAW,EAAE;IACrF,MAAM,WAAW,qBAAQ,OAAO,CAAE,CAAC;IACnC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEhC,SAAS,eAAe,CAAC,WAAyB,EAAE,EAAa;QAC/D,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QAE7D,IAAI,GAAG,EAAE;YACP,MAAM,IAAI,qBAAoB,GAAG,CAAE,CAAC;YACpC,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACpE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;SAC9C;IACH,CAAC;IAED,IAAI,aAAa,IAAI,WAAW,EAAE;QAChC,MAAM,MAAM,GAAiB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACzB,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC;KAClC;IAED,IAAI,WAAW,CAAC,EAAE,KAAK,SAAS,CAAC,SAAS,EAAE;QAC1C,WAAW,CAAC,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;KAC3F;SAAM,IAAI,WAAW,EAAE;QACtB,MAAM,MAAM,GAAiB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnC,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC;KAClC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAhCW,QAAA,mBAAmB,uBAgC9B"}