@ledgerhq/coin-framework 0.0.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 (471) hide show
  1. package/lib/account/accountId.d.ts +16 -0
  2. package/lib/account/accountId.d.ts.map +1 -0
  3. package/lib/account/accountId.js +85 -0
  4. package/lib/account/accountId.js.map +1 -0
  5. package/lib/account/accountName.d.ts +14 -0
  6. package/lib/account/accountName.d.ts.map +1 -0
  7. package/lib/account/accountName.js +17 -0
  8. package/lib/account/accountName.js.map +1 -0
  9. package/lib/account/addAccounts.d.ts +35 -0
  10. package/lib/account/addAccounts.d.ts.map +1 -0
  11. package/lib/account/addAccounts.js +209 -0
  12. package/lib/account/addAccounts.js.map +1 -0
  13. package/lib/account/balanceHistoryCache.d.ts +25 -0
  14. package/lib/account/balanceHistoryCache.d.ts.map +1 -0
  15. package/lib/account/balanceHistoryCache.js +115 -0
  16. package/lib/account/balanceHistoryCache.js.map +1 -0
  17. package/lib/account/groupOperations.d.ts +17 -0
  18. package/lib/account/groupOperations.d.ts.map +1 -0
  19. package/lib/account/groupOperations.js +127 -0
  20. package/lib/account/groupOperations.js.map +1 -0
  21. package/lib/account/helpers.d.ts +44 -0
  22. package/lib/account/helpers.d.ts.map +1 -0
  23. package/lib/account/helpers.js +333 -0
  24. package/lib/account/helpers.js.map +1 -0
  25. package/lib/account/helpers.test.d.ts +2 -0
  26. package/lib/account/helpers.test.d.ts.map +1 -0
  27. package/lib/account/helpers.test.js +366 -0
  28. package/lib/account/helpers.test.js.map +1 -0
  29. package/lib/account/index.d.ts +11 -0
  30. package/lib/account/index.d.ts.map +1 -0
  31. package/lib/account/index.js +27 -0
  32. package/lib/account/index.js.map +1 -0
  33. package/lib/account/ordering.d.ts +10 -0
  34. package/lib/account/ordering.d.ts.map +1 -0
  35. package/lib/account/ordering.js +110 -0
  36. package/lib/account/ordering.js.map +1 -0
  37. package/lib/account/pending.d.ts +33 -0
  38. package/lib/account/pending.d.ts.map +1 -0
  39. package/lib/account/pending.js +64 -0
  40. package/lib/account/pending.js.map +1 -0
  41. package/lib/account/serialization.d.ts +6 -0
  42. package/lib/account/serialization.d.ts.map +1 -0
  43. package/lib/account/serialization.js +118 -0
  44. package/lib/account/serialization.js.map +1 -0
  45. package/lib/account/support.d.ts +9 -0
  46. package/lib/account/support.d.ts.map +1 -0
  47. package/lib/account/support.js +72 -0
  48. package/lib/account/support.js.map +1 -0
  49. package/lib/account.test.d.ts +2 -0
  50. package/lib/account.test.d.ts.map +1 -0
  51. package/lib/account.test.js +257 -0
  52. package/lib/account.test.js.map +1 -0
  53. package/lib/bot/bot-test-context.d.ts +3 -0
  54. package/lib/bot/bot-test-context.d.ts.map +1 -0
  55. package/lib/bot/bot-test-context.js +26 -0
  56. package/lib/bot/bot-test-context.js.map +1 -0
  57. package/lib/bot/bot-test-context.test.d.ts +2 -0
  58. package/lib/bot/bot-test-context.test.d.ts.map +1 -0
  59. package/lib/bot/bot-test-context.test.js +41 -0
  60. package/lib/bot/bot-test-context.test.js.map +1 -0
  61. package/lib/bot/formatters.d.ts +2 -0
  62. package/lib/bot/formatters.d.ts.map +1 -0
  63. package/lib/bot/formatters.js +31 -0
  64. package/lib/bot/formatters.js.map +1 -0
  65. package/lib/bot/specs.d.ts +50 -0
  66. package/lib/bot/specs.d.ts.map +1 -0
  67. package/lib/bot/specs.js +204 -0
  68. package/lib/bot/specs.js.map +1 -0
  69. package/lib/bot/types.d.ts +178 -0
  70. package/lib/bot/types.d.ts.map +1 -0
  71. package/lib/bot/types.js +3 -0
  72. package/lib/bot/types.js.map +1 -0
  73. package/lib/bridge/getAddressWrapper.d.ts +6 -0
  74. package/lib/bridge/getAddressWrapper.d.ts.map +1 -0
  75. package/lib/bridge/getAddressWrapper.js +27 -0
  76. package/lib/bridge/getAddressWrapper.js.map +1 -0
  77. package/lib/bridge/jsHelpers.d.ts +63 -0
  78. package/lib/bridge/jsHelpers.d.ts.map +1 -0
  79. package/lib/bridge/jsHelpers.js +574 -0
  80. package/lib/bridge/jsHelpers.js.map +1 -0
  81. package/lib/cache.d.ts +10 -0
  82. package/lib/cache.d.ts.map +1 -0
  83. package/lib/cache.js +100 -0
  84. package/lib/cache.js.map +1 -0
  85. package/lib/cross.d.ts +42 -0
  86. package/lib/cross.d.ts.map +1 -0
  87. package/lib/cross.js +254 -0
  88. package/lib/cross.js.map +1 -0
  89. package/lib/cross.test.d.ts +2 -0
  90. package/lib/cross.test.d.ts.map +1 -0
  91. package/lib/cross.test.js +99 -0
  92. package/lib/cross.test.js.map +1 -0
  93. package/lib/currencies/BigNumberToLocaleString.d.ts +8 -0
  94. package/lib/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  95. package/lib/currencies/BigNumberToLocaleString.js +65 -0
  96. package/lib/currencies/BigNumberToLocaleString.js.map +1 -0
  97. package/lib/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  98. package/lib/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  99. package/lib/currencies/BigNumberToLocaleString.test.js +108 -0
  100. package/lib/currencies/BigNumberToLocaleString.test.js.map +1 -0
  101. package/lib/currencies/CurrencyURIScheme.d.ts +13 -0
  102. package/lib/currencies/CurrencyURIScheme.d.ts.map +1 -0
  103. package/lib/currencies/CurrencyURIScheme.js +124 -0
  104. package/lib/currencies/CurrencyURIScheme.js.map +1 -0
  105. package/lib/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  106. package/lib/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  107. package/lib/currencies/chopCurrencyUnitDecimals.js +29 -0
  108. package/lib/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  109. package/lib/currencies/formatCurrencyUnit.d.ts +33 -0
  110. package/lib/currencies/formatCurrencyUnit.d.ts.map +1 -0
  111. package/lib/currencies/formatCurrencyUnit.js +126 -0
  112. package/lib/currencies/formatCurrencyUnit.js.map +1 -0
  113. package/lib/currencies/formatShort.d.ts +8 -0
  114. package/lib/currencies/formatShort.d.ts.map +1 -0
  115. package/lib/currencies/formatShort.js +27 -0
  116. package/lib/currencies/formatShort.js.map +1 -0
  117. package/lib/currencies/index.d.ts +13 -0
  118. package/lib/currencies/index.d.ts.map +1 -0
  119. package/lib/currencies/index.js +65 -0
  120. package/lib/currencies/index.js.map +1 -0
  121. package/lib/currencies/localeUtility.d.ts +8 -0
  122. package/lib/currencies/localeUtility.d.ts.map +1 -0
  123. package/lib/currencies/localeUtility.js +49 -0
  124. package/lib/currencies/localeUtility.js.map +1 -0
  125. package/lib/currencies/parseCurrencyUnit.d.ts +4 -0
  126. package/lib/currencies/parseCurrencyUnit.d.ts.map +1 -0
  127. package/lib/currencies/parseCurrencyUnit.js +18 -0
  128. package/lib/currencies/parseCurrencyUnit.js.map +1 -0
  129. package/lib/currencies/sanitizeValueString.d.ts +6 -0
  130. package/lib/currencies/sanitizeValueString.d.ts.map +1 -0
  131. package/lib/currencies/sanitizeValueString.js +56 -0
  132. package/lib/currencies/sanitizeValueString.js.map +1 -0
  133. package/lib/currencies/support.d.ts +8 -0
  134. package/lib/currencies/support.d.ts.map +1 -0
  135. package/lib/currencies/support.js +101 -0
  136. package/lib/currencies/support.js.map +1 -0
  137. package/lib/currencies/valueFromUnit.d.ts +9 -0
  138. package/lib/currencies/valueFromUnit.d.ts.map +1 -0
  139. package/lib/currencies/valueFromUnit.js +14 -0
  140. package/lib/currencies/valueFromUnit.js.map +1 -0
  141. package/lib/derivation.d.ts +232 -0
  142. package/lib/derivation.d.ts.map +1 -0
  143. package/lib/derivation.js +501 -0
  144. package/lib/derivation.js.map +1 -0
  145. package/lib/env.d.ts +30 -0
  146. package/lib/env.d.ts.map +1 -0
  147. package/lib/env.js +773 -0
  148. package/lib/env.js.map +1 -0
  149. package/lib/errors.d.ts +7 -0
  150. package/lib/errors.d.ts.map +1 -0
  151. package/lib/errors.js +7 -0
  152. package/lib/errors.js.map +1 -0
  153. package/lib/errors.test.d.ts +2 -0
  154. package/lib/errors.test.d.ts.map +1 -0
  155. package/lib/errors.test.js +20 -0
  156. package/lib/errors.test.js.map +1 -0
  157. package/lib/mocks/account.d.ts +25 -0
  158. package/lib/mocks/account.d.ts.map +1 -0
  159. package/lib/mocks/account.js +368 -0
  160. package/lib/mocks/account.js.map +1 -0
  161. package/lib/mocks/fixtures/nfts.d.ts +27 -0
  162. package/lib/mocks/fixtures/nfts.d.ts.map +1 -0
  163. package/lib/mocks/fixtures/nfts.js +398 -0
  164. package/lib/mocks/fixtures/nfts.js.map +1 -0
  165. package/lib/mocks/fixtures/nfts.test.d.ts +2 -0
  166. package/lib/mocks/fixtures/nfts.test.d.ts.map +1 -0
  167. package/lib/mocks/fixtures/nfts.test.js +20 -0
  168. package/lib/mocks/fixtures/nfts.test.js.map +1 -0
  169. package/lib/mocks/helpers.d.ts +15 -0
  170. package/lib/mocks/helpers.d.ts.map +1 -0
  171. package/lib/mocks/helpers.js +32 -0
  172. package/lib/mocks/helpers.js.map +1 -0
  173. package/lib/network.d.ts +5 -0
  174. package/lib/network.d.ts.map +1 -0
  175. package/lib/network.js +125 -0
  176. package/lib/network.js.map +1 -0
  177. package/lib/nft/nftId.d.ts +8 -0
  178. package/lib/nft/nftId.d.ts.map +1 -0
  179. package/lib/nft/nftId.js +34 -0
  180. package/lib/nft/nftId.js.map +1 -0
  181. package/lib/operation.d.ts +24 -0
  182. package/lib/operation.d.ts.map +1 -0
  183. package/lib/operation.js +183 -0
  184. package/lib/operation.js.map +1 -0
  185. package/lib/promise.d.ts +21 -0
  186. package/lib/promise.d.ts.map +1 -0
  187. package/lib/promise.js +187 -0
  188. package/lib/promise.js.map +1 -0
  189. package/lib/promise.test.d.ts +2 -0
  190. package/lib/promise.test.d.ts.map +1 -0
  191. package/lib/promise.test.js +72 -0
  192. package/lib/promise.test.js.map +1 -0
  193. package/lib/rangeDates.d.ts +29 -0
  194. package/lib/rangeDates.d.ts.map +1 -0
  195. package/lib/rangeDates.js +94 -0
  196. package/lib/rangeDates.js.map +1 -0
  197. package/lib/rangeDates.test.d.ts +2 -0
  198. package/lib/rangeDates.test.d.ts.map +1 -0
  199. package/lib/rangeDates.test.js +51 -0
  200. package/lib/rangeDates.test.js.map +1 -0
  201. package/lib/test-helpers/staticTime.d.ts +2 -0
  202. package/lib/test-helpers/staticTime.d.ts.map +1 -0
  203. package/lib/test-helpers/staticTime.js +10 -0
  204. package/lib/test-helpers/staticTime.js.map +1 -0
  205. package/lib/transaction/common.d.ts +26 -0
  206. package/lib/transaction/common.d.ts.map +1 -0
  207. package/lib/transaction/common.js +123 -0
  208. package/lib/transaction/common.js.map +1 -0
  209. package/lib-es/account/accountId.d.ts +16 -0
  210. package/lib-es/account/accountId.d.ts.map +1 -0
  211. package/lib-es/account/accountId.js +74 -0
  212. package/lib-es/account/accountId.js.map +1 -0
  213. package/lib-es/account/accountName.d.ts +14 -0
  214. package/lib-es/account/accountName.d.ts.map +1 -0
  215. package/lib-es/account/accountName.js +12 -0
  216. package/lib-es/account/accountName.js.map +1 -0
  217. package/lib-es/account/addAccounts.d.ts +35 -0
  218. package/lib-es/account/addAccounts.d.ts.map +1 -0
  219. package/lib-es/account/addAccounts.js +200 -0
  220. package/lib-es/account/addAccounts.js.map +1 -0
  221. package/lib-es/account/balanceHistoryCache.d.ts +25 -0
  222. package/lib-es/account/balanceHistoryCache.d.ts.map +1 -0
  223. package/lib-es/account/balanceHistoryCache.js +109 -0
  224. package/lib-es/account/balanceHistoryCache.js.map +1 -0
  225. package/lib-es/account/groupOperations.d.ts +17 -0
  226. package/lib-es/account/groupOperations.d.ts.map +1 -0
  227. package/lib-es/account/groupOperations.js +122 -0
  228. package/lib-es/account/groupOperations.js.map +1 -0
  229. package/lib-es/account/helpers.d.ts +44 -0
  230. package/lib-es/account/helpers.d.ts.map +1 -0
  231. package/lib-es/account/helpers.js +303 -0
  232. package/lib-es/account/helpers.js.map +1 -0
  233. package/lib-es/account/helpers.test.d.ts +2 -0
  234. package/lib-es/account/helpers.test.d.ts.map +1 -0
  235. package/lib-es/account/helpers.test.js +361 -0
  236. package/lib-es/account/helpers.test.js.map +1 -0
  237. package/lib-es/account/index.d.ts +11 -0
  238. package/lib-es/account/index.d.ts.map +1 -0
  239. package/lib-es/account/index.js +11 -0
  240. package/lib-es/account/index.js.map +1 -0
  241. package/lib-es/account/ordering.d.ts +10 -0
  242. package/lib-es/account/ordering.d.ts.map +1 -0
  243. package/lib-es/account/ordering.js +103 -0
  244. package/lib-es/account/ordering.js.map +1 -0
  245. package/lib-es/account/pending.d.ts +33 -0
  246. package/lib-es/account/pending.d.ts.map +1 -0
  247. package/lib-es/account/pending.js +59 -0
  248. package/lib-es/account/pending.js.map +1 -0
  249. package/lib-es/account/serialization.d.ts +6 -0
  250. package/lib-es/account/serialization.d.ts.map +1 -0
  251. package/lib-es/account/serialization.js +112 -0
  252. package/lib-es/account/serialization.js.map +1 -0
  253. package/lib-es/account/support.d.ts +9 -0
  254. package/lib-es/account/support.d.ts.map +1 -0
  255. package/lib-es/account/support.js +64 -0
  256. package/lib-es/account/support.js.map +1 -0
  257. package/lib-es/account.test.d.ts +2 -0
  258. package/lib-es/account.test.d.ts.map +1 -0
  259. package/lib-es/account.test.js +252 -0
  260. package/lib-es/account.test.js.map +1 -0
  261. package/lib-es/bot/bot-test-context.d.ts +3 -0
  262. package/lib-es/bot/bot-test-context.d.ts.map +1 -0
  263. package/lib-es/bot/bot-test-context.js +21 -0
  264. package/lib-es/bot/bot-test-context.js.map +1 -0
  265. package/lib-es/bot/bot-test-context.test.d.ts +2 -0
  266. package/lib-es/bot/bot-test-context.test.d.ts.map +1 -0
  267. package/lib-es/bot/bot-test-context.test.js +39 -0
  268. package/lib-es/bot/bot-test-context.test.js.map +1 -0
  269. package/lib-es/bot/formatters.d.ts +2 -0
  270. package/lib-es/bot/formatters.d.ts.map +1 -0
  271. package/lib-es/bot/formatters.js +27 -0
  272. package/lib-es/bot/formatters.js.map +1 -0
  273. package/lib-es/bot/specs.d.ts +50 -0
  274. package/lib-es/bot/specs.d.ts.map +1 -0
  275. package/lib-es/bot/specs.js +193 -0
  276. package/lib-es/bot/specs.js.map +1 -0
  277. package/lib-es/bot/types.d.ts +178 -0
  278. package/lib-es/bot/types.d.ts.map +1 -0
  279. package/lib-es/bot/types.js +2 -0
  280. package/lib-es/bot/types.js.map +1 -0
  281. package/lib-es/bridge/getAddressWrapper.d.ts +6 -0
  282. package/lib-es/bridge/getAddressWrapper.d.ts.map +1 -0
  283. package/lib-es/bridge/getAddressWrapper.js +25 -0
  284. package/lib-es/bridge/getAddressWrapper.js.map +1 -0
  285. package/lib-es/bridge/jsHelpers.d.ts +63 -0
  286. package/lib-es/bridge/jsHelpers.d.ts.map +1 -0
  287. package/lib-es/bridge/jsHelpers.js +562 -0
  288. package/lib-es/bridge/jsHelpers.js.map +1 -0
  289. package/lib-es/cache.d.ts +10 -0
  290. package/lib-es/cache.d.ts.map +1 -0
  291. package/lib-es/cache.js +93 -0
  292. package/lib-es/cache.js.map +1 -0
  293. package/lib-es/cross.d.ts +42 -0
  294. package/lib-es/cross.d.ts.map +1 -0
  295. package/lib-es/cross.js +244 -0
  296. package/lib-es/cross.js.map +1 -0
  297. package/lib-es/cross.test.d.ts +2 -0
  298. package/lib-es/cross.test.d.ts.map +1 -0
  299. package/lib-es/cross.test.js +97 -0
  300. package/lib-es/cross.test.js.map +1 -0
  301. package/lib-es/currencies/BigNumberToLocaleString.d.ts +8 -0
  302. package/lib-es/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  303. package/lib-es/currencies/BigNumberToLocaleString.js +61 -0
  304. package/lib-es/currencies/BigNumberToLocaleString.js.map +1 -0
  305. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  306. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  307. package/lib-es/currencies/BigNumberToLocaleString.test.js +106 -0
  308. package/lib-es/currencies/BigNumberToLocaleString.test.js.map +1 -0
  309. package/lib-es/currencies/CurrencyURIScheme.d.ts +13 -0
  310. package/lib-es/currencies/CurrencyURIScheme.d.ts.map +1 -0
  311. package/lib-es/currencies/CurrencyURIScheme.js +116 -0
  312. package/lib-es/currencies/CurrencyURIScheme.js.map +1 -0
  313. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  314. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  315. package/lib-es/currencies/chopCurrencyUnitDecimals.js +25 -0
  316. package/lib-es/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  317. package/lib-es/currencies/formatCurrencyUnit.d.ts +33 -0
  318. package/lib-es/currencies/formatCurrencyUnit.d.ts.map +1 -0
  319. package/lib-es/currencies/formatCurrencyUnit.js +121 -0
  320. package/lib-es/currencies/formatCurrencyUnit.js.map +1 -0
  321. package/lib-es/currencies/formatShort.d.ts +8 -0
  322. package/lib-es/currencies/formatShort.d.ts.map +1 -0
  323. package/lib-es/currencies/formatShort.js +20 -0
  324. package/lib-es/currencies/formatShort.js.map +1 -0
  325. package/lib-es/currencies/index.d.ts +13 -0
  326. package/lib-es/currencies/index.d.ts.map +1 -0
  327. package/lib-es/currencies/index.js +16 -0
  328. package/lib-es/currencies/index.js.map +1 -0
  329. package/lib-es/currencies/localeUtility.d.ts +8 -0
  330. package/lib-es/currencies/localeUtility.d.ts.map +1 -0
  331. package/lib-es/currencies/localeUtility.js +43 -0
  332. package/lib-es/currencies/localeUtility.js.map +1 -0
  333. package/lib-es/currencies/parseCurrencyUnit.d.ts +4 -0
  334. package/lib-es/currencies/parseCurrencyUnit.d.ts.map +1 -0
  335. package/lib-es/currencies/parseCurrencyUnit.js +14 -0
  336. package/lib-es/currencies/parseCurrencyUnit.js.map +1 -0
  337. package/lib-es/currencies/sanitizeValueString.d.ts +6 -0
  338. package/lib-es/currencies/sanitizeValueString.d.ts.map +1 -0
  339. package/lib-es/currencies/sanitizeValueString.js +52 -0
  340. package/lib-es/currencies/sanitizeValueString.js.map +1 -0
  341. package/lib-es/currencies/support.d.ts +8 -0
  342. package/lib-es/currencies/support.d.ts.map +1 -0
  343. package/lib-es/currencies/support.js +92 -0
  344. package/lib-es/currencies/support.js.map +1 -0
  345. package/lib-es/currencies/valueFromUnit.d.ts +9 -0
  346. package/lib-es/currencies/valueFromUnit.d.ts.map +1 -0
  347. package/lib-es/currencies/valueFromUnit.js +10 -0
  348. package/lib-es/currencies/valueFromUnit.js.map +1 -0
  349. package/lib-es/derivation.d.ts +232 -0
  350. package/lib-es/derivation.d.ts.map +1 -0
  351. package/lib-es/derivation.js +473 -0
  352. package/lib-es/derivation.js.map +1 -0
  353. package/lib-es/env.d.ts +30 -0
  354. package/lib-es/env.d.ts.map +1 -0
  355. package/lib-es/env.js +758 -0
  356. package/lib-es/env.js.map +1 -0
  357. package/lib-es/errors.d.ts +7 -0
  358. package/lib-es/errors.d.ts.map +1 -0
  359. package/lib-es/errors.js +4 -0
  360. package/lib-es/errors.js.map +1 -0
  361. package/lib-es/errors.test.d.ts +2 -0
  362. package/lib-es/errors.test.d.ts.map +1 -0
  363. package/lib-es/errors.test.js +18 -0
  364. package/lib-es/errors.test.js.map +1 -0
  365. package/lib-es/mocks/account.d.ts +25 -0
  366. package/lib-es/mocks/account.d.ts.map +1 -0
  367. package/lib-es/mocks/account.js +358 -0
  368. package/lib-es/mocks/account.js.map +1 -0
  369. package/lib-es/mocks/fixtures/nfts.d.ts +27 -0
  370. package/lib-es/mocks/fixtures/nfts.d.ts.map +1 -0
  371. package/lib-es/mocks/fixtures/nfts.js +390 -0
  372. package/lib-es/mocks/fixtures/nfts.js.map +1 -0
  373. package/lib-es/mocks/fixtures/nfts.test.d.ts +2 -0
  374. package/lib-es/mocks/fixtures/nfts.test.d.ts.map +1 -0
  375. package/lib-es/mocks/fixtures/nfts.test.js +18 -0
  376. package/lib-es/mocks/fixtures/nfts.test.js.map +1 -0
  377. package/lib-es/mocks/helpers.d.ts +15 -0
  378. package/lib-es/mocks/helpers.d.ts.map +1 -0
  379. package/lib-es/mocks/helpers.js +26 -0
  380. package/lib-es/mocks/helpers.js.map +1 -0
  381. package/lib-es/network.d.ts +5 -0
  382. package/lib-es/network.d.ts.map +1 -0
  383. package/lib-es/network.js +118 -0
  384. package/lib-es/network.js.map +1 -0
  385. package/lib-es/nft/nftId.d.ts +8 -0
  386. package/lib-es/nft/nftId.d.ts.map +1 -0
  387. package/lib-es/nft/nftId.js +29 -0
  388. package/lib-es/nft/nftId.js.map +1 -0
  389. package/lib-es/operation.d.ts +24 -0
  390. package/lib-es/operation.d.ts.map +1 -0
  391. package/lib-es/operation.js +168 -0
  392. package/lib-es/operation.js.map +1 -0
  393. package/lib-es/promise.d.ts +21 -0
  394. package/lib-es/promise.d.ts.map +1 -0
  395. package/lib-es/promise.js +179 -0
  396. package/lib-es/promise.js.map +1 -0
  397. package/lib-es/promise.test.d.ts +2 -0
  398. package/lib-es/promise.test.d.ts.map +1 -0
  399. package/lib-es/promise.test.js +70 -0
  400. package/lib-es/promise.test.js.map +1 -0
  401. package/lib-es/rangeDates.d.ts +29 -0
  402. package/lib-es/rangeDates.d.ts.map +1 -0
  403. package/lib-es/rangeDates.js +84 -0
  404. package/lib-es/rangeDates.js.map +1 -0
  405. package/lib-es/rangeDates.test.d.ts +2 -0
  406. package/lib-es/rangeDates.test.d.ts.map +1 -0
  407. package/lib-es/rangeDates.test.js +49 -0
  408. package/lib-es/rangeDates.test.js.map +1 -0
  409. package/lib-es/test-helpers/staticTime.d.ts +2 -0
  410. package/lib-es/test-helpers/staticTime.d.ts.map +1 -0
  411. package/lib-es/test-helpers/staticTime.js +5 -0
  412. package/lib-es/test-helpers/staticTime.js.map +1 -0
  413. package/lib-es/transaction/common.d.ts +26 -0
  414. package/lib-es/transaction/common.d.ts.map +1 -0
  415. package/lib-es/transaction/common.js +115 -0
  416. package/lib-es/transaction/common.js.map +1 -0
  417. package/package.json +113 -0
  418. package/src/__snapshots__/account.test.ts.snap +2065 -0
  419. package/src/__snapshots__/cross.test.ts.snap +57 -0
  420. package/src/account/accountId.ts +93 -0
  421. package/src/account/accountName.ts +25 -0
  422. package/src/account/addAccounts.ts +236 -0
  423. package/src/account/balanceHistoryCache.ts +146 -0
  424. package/src/account/groupOperations.ts +164 -0
  425. package/src/account/helpers.test.ts +441 -0
  426. package/src/account/helpers.ts +380 -0
  427. package/src/account/index.ts +10 -0
  428. package/src/account/ordering.ts +109 -0
  429. package/src/account/pending.ts +66 -0
  430. package/src/account/serialization.ts +189 -0
  431. package/src/account/support.ts +96 -0
  432. package/src/account.test.ts +237 -0
  433. package/src/bot/bot-test-context.test.ts +37 -0
  434. package/src/bot/bot-test-context.ts +24 -0
  435. package/src/bot/formatters.ts +22 -0
  436. package/src/bot/specs.ts +275 -0
  437. package/src/bot/types.ts +224 -0
  438. package/src/bridge/getAddressWrapper.ts +40 -0
  439. package/src/bridge/jsHelpers.ts +645 -0
  440. package/src/cache.ts +65 -0
  441. package/src/cross.test.ts +112 -0
  442. package/src/cross.ts +366 -0
  443. package/src/currencies/BigNumberToLocaleString.test.ts +155 -0
  444. package/src/currencies/BigNumberToLocaleString.ts +80 -0
  445. package/src/currencies/CurrencyURIScheme.ts +114 -0
  446. package/src/currencies/chopCurrencyUnitDecimals.ts +34 -0
  447. package/src/currencies/formatCurrencyUnit.ts +167 -0
  448. package/src/currencies/formatShort.ts +24 -0
  449. package/src/currencies/index.ts +78 -0
  450. package/src/currencies/localeUtility.ts +50 -0
  451. package/src/currencies/parseCurrencyUnit.ts +16 -0
  452. package/src/currencies/sanitizeValueString.ts +58 -0
  453. package/src/currencies/support.ts +107 -0
  454. package/src/currencies/valueFromUnit.ts +10 -0
  455. package/src/derivation.ts +595 -0
  456. package/src/env.ts +780 -0
  457. package/src/errors.test.ts +21 -0
  458. package/src/errors.ts +9 -0
  459. package/src/mocks/account.ts +476 -0
  460. package/src/mocks/fixtures/nfts.test.ts +25 -0
  461. package/src/mocks/fixtures/nfts.ts +432 -0
  462. package/src/mocks/helpers.ts +38 -0
  463. package/src/network.ts +135 -0
  464. package/src/nft/nftId.ts +26 -0
  465. package/src/operation.ts +212 -0
  466. package/src/promise.test.ts +20 -0
  467. package/src/promise.ts +101 -0
  468. package/src/rangeDates.test.ts +66 -0
  469. package/src/rangeDates.ts +96 -0
  470. package/src/test-helpers/staticTime.ts +4 -0
  471. package/src/transaction/common.ts +157 -0
@@ -0,0 +1,200 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __read = (this && this.__read) || function (o, n) {
13
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
14
+ if (!m) return o;
15
+ var i = m.call(o), r, ar = [], e;
16
+ try {
17
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
+ }
19
+ catch (error) { e = { error: error }; }
20
+ finally {
21
+ try {
22
+ if (r && !r.done && (m = i["return"])) m.call(i);
23
+ }
24
+ finally { if (e) throw e.error; }
25
+ }
26
+ return ar;
27
+ };
28
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
29
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
+ if (ar || !(i in from)) {
31
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
+ ar[i] = from[i];
33
+ }
34
+ }
35
+ return to.concat(ar || Array.prototype.slice.call(from));
36
+ };
37
+ import uniqWith from "lodash/uniqWith";
38
+ import { validateNameEdition } from "./accountName";
39
+ import { clearAccount } from "./helpers";
40
+ import { findAccountMigration } from "./support";
41
+ function sameAccountIdentity(a, b) {
42
+ return (a.id === b.id ||
43
+ (a.freshAddress
44
+ ? a.currency === b.currency && a.freshAddress === b.freshAddress
45
+ : false) ||
46
+ (a.xpub ? a.currency === b.currency && a.xpub === b.xpub : false));
47
+ }
48
+ /**
49
+ * logic that for the Add Accounts sectioned list
50
+ */
51
+ export function groupAddAccounts(existingAccounts, scannedAccounts, context) {
52
+ var importedAccounts = [];
53
+ var importableAccounts = [];
54
+ var creatableAccounts = [];
55
+ var migrateAccounts = [];
56
+ var alreadyEmptyAccount = null;
57
+ var scannedAccountsWithoutMigrate = __spreadArray([], __read(scannedAccounts), false);
58
+ existingAccounts.forEach(function (existingAccount) {
59
+ var migrate = findAccountMigration(existingAccount, scannedAccountsWithoutMigrate);
60
+ if (migrate) {
61
+ migrateAccounts.push(__assign(__assign({}, migrate), { name: existingAccount.name }));
62
+ var index = scannedAccountsWithoutMigrate.indexOf(migrate);
63
+ if (index !== -1) {
64
+ scannedAccountsWithoutMigrate[index] =
65
+ scannedAccountsWithoutMigrate[scannedAccountsWithoutMigrate.length - 1];
66
+ scannedAccountsWithoutMigrate.pop();
67
+ }
68
+ }
69
+ });
70
+ scannedAccountsWithoutMigrate.forEach(function (acc) {
71
+ var existingAccount = existingAccounts.find(function (a) {
72
+ return sameAccountIdentity(a, acc);
73
+ });
74
+ if (existingAccount) {
75
+ if (!acc.used && !alreadyEmptyAccount) {
76
+ alreadyEmptyAccount = existingAccount;
77
+ }
78
+ importedAccounts.push(existingAccount);
79
+ }
80
+ else if (!acc.used) {
81
+ creatableAccounts.push(acc);
82
+ }
83
+ else {
84
+ importableAccounts.push(acc);
85
+ }
86
+ });
87
+ var sections = [];
88
+ if (importableAccounts.length) {
89
+ sections.push({
90
+ id: "importable",
91
+ selectable: true,
92
+ defaultSelected: true,
93
+ data: importableAccounts
94
+ });
95
+ }
96
+ if (migrateAccounts.length) {
97
+ sections.push({
98
+ id: "migrate",
99
+ selectable: true,
100
+ defaultSelected: true,
101
+ data: migrateAccounts
102
+ });
103
+ }
104
+ if (!context.scanning || creatableAccounts.length) {
105
+ // NB if data is empty, need to do custom placeholder that depends on alreadyEmptyAccount
106
+ sections.push({
107
+ id: "creatable",
108
+ selectable: true,
109
+ defaultSelected: false,
110
+ data: context.preferredNewAccountSchemes &&
111
+ context.preferredNewAccountSchemes.length > 0
112
+ ? creatableAccounts.filter(function (a) {
113
+ return context.preferredNewAccountSchemes &&
114
+ // Note: we could use a simple preferredNewAccountScheme param
115
+ a.derivationMode === context.preferredNewAccountSchemes[0];
116
+ })
117
+ : creatableAccounts
118
+ });
119
+ }
120
+ if (importedAccounts.length) {
121
+ sections.push({
122
+ id: "imported",
123
+ selectable: false,
124
+ defaultSelected: false,
125
+ data: importedAccounts
126
+ });
127
+ }
128
+ return {
129
+ sections: sections,
130
+ alreadyEmptyAccount: alreadyEmptyAccount
131
+ };
132
+ }
133
+ var preserveUserData = function (update, existing) { return (__assign(__assign({}, update), { name: existing.name })); };
134
+ export function migrateAccounts(_a) {
135
+ var scannedAccounts = _a.scannedAccounts, existingAccounts = _a.existingAccounts;
136
+ // subset of scannedAccounts that exists to not add them but just do migration part
137
+ var subset = [];
138
+ existingAccounts.forEach(function (existing) {
139
+ var migration = findAccountMigration(existing, scannedAccounts);
140
+ if (migration && !subset.some(function (a) { return a.id === migration.id; })) {
141
+ subset.push(migration);
142
+ }
143
+ });
144
+ return addAccounts({
145
+ scannedAccounts: subset,
146
+ existingAccounts: existingAccounts,
147
+ selectedIds: subset.map(function (a) { return a.id; }),
148
+ renamings: {}
149
+ });
150
+ }
151
+ export function addAccounts(_a) {
152
+ var scannedAccounts = _a.scannedAccounts, existingAccounts = _a.existingAccounts, selectedIds = _a.selectedIds, renamings = _a.renamings;
153
+ var newAccounts = [];
154
+ // scanned accounts that was selected
155
+ var selected = scannedAccounts.filter(function (a) { return selectedIds.includes(a.id); });
156
+ // we'll search for potential migration and append to newAccounts
157
+ existingAccounts.forEach(function (existing) {
158
+ var migration = findAccountMigration(existing, selected);
159
+ if (migration) {
160
+ if (!newAccounts.some(function (a) { return a.id === migration.id; })) {
161
+ newAccounts.push(preserveUserData(migration, existing));
162
+ var index = selected.indexOf(migration);
163
+ if (index !== -1) {
164
+ selected[index] = selected[selected.length - 1];
165
+ selected.pop();
166
+ }
167
+ }
168
+ }
169
+ else {
170
+ // we'll try to find an updated version of the existing account as opportunity to refresh the operations
171
+ var update = selected.find(function (a) { return sameAccountIdentity(a, existing); });
172
+ if (update) {
173
+ // preserve existing name
174
+ var acc = preserveUserData(update, existing);
175
+ if (update.id !== existing.id) {
176
+ acc = clearAccount(acc);
177
+ }
178
+ newAccounts.push(acc);
179
+ }
180
+ else {
181
+ newAccounts.push(existing);
182
+ }
183
+ }
184
+ });
185
+ // append the new accounts
186
+ selected.forEach(function (acc) {
187
+ var alreadyThere = newAccounts.find(function (a) { return sameAccountIdentity(a, acc); });
188
+ if (!alreadyThere) {
189
+ newAccounts.push(acc);
190
+ }
191
+ });
192
+ // dedup and apply the renaming
193
+ return uniqWith(newAccounts, sameAccountIdentity).map(function (a) {
194
+ var name = validateNameEdition(a, renamings[a.id]);
195
+ if (name)
196
+ return __assign(__assign({}, a), { name: name });
197
+ return a;
198
+ });
199
+ }
200
+ //# sourceMappingURL=addAccounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addAccounts.js","sourceRoot":"","sources":["../../src/account/addAccounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { GranularityId, BalanceHistoryCache, AccountLike, Account } from "@ledgerhq/types-live";
2
+ export declare const emptyHistoryCache: {
3
+ HOUR: {
4
+ latestDate: null;
5
+ balances: never[];
6
+ };
7
+ DAY: {
8
+ latestDate: null;
9
+ balances: never[];
10
+ };
11
+ WEEK: {
12
+ latestDate: null;
13
+ balances: never[];
14
+ };
15
+ };
16
+ export declare function generateHistoryFromOperations(account: AccountLike): BalanceHistoryCache;
17
+ /**
18
+ * get the current balance history of the account. if possible from the cache.
19
+ */
20
+ export declare function getAccountHistoryBalances(account: AccountLike, g: GranularityId): number[];
21
+ /**
22
+ * utility used at the end of an account synchronisation to recalculate the balance history if necessary
23
+ */
24
+ export declare function recalculateAccountBalanceHistories(res: Account, prev: Account): Account;
25
+ //# sourceMappingURL=balanceHistoryCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanceHistoryCache.d.ts","sourceRoot":"","sources":["../../src/account/balanceHistoryCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAEnB,WAAW,EACX,OAAO,EAER,MAAM,sBAAsB,CAAC;AAG9B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAa7B,CAAC;AAkDF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,WAAW,GACnB,mBAAmB,CAMrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EACpB,CAAC,EAAE,aAAa,GACf,MAAM,EAAE,CAWV;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,OAAO,GACZ,OAAO,CAqCT"}
@@ -0,0 +1,109 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { getOperationAmountNumberWithInternals } from "../operation";
13
+ import { granularities } from "../rangeDates";
14
+ export var emptyHistoryCache = {
15
+ HOUR: {
16
+ latestDate: null,
17
+ balances: []
18
+ },
19
+ DAY: {
20
+ latestDate: null,
21
+ balances: []
22
+ },
23
+ WEEK: {
24
+ latestDate: null,
25
+ balances: []
26
+ }
27
+ };
28
+ function generateHistoryFromOperationsG(account, g, // partial=true allows a faster implementation that only recompose the last part of the history
29
+ // to only use when we do not recalculate the history but we just want to access it
30
+ partial) {
31
+ if (partial === void 0) { partial = false; }
32
+ var _a = granularities[g], increment = _a.increment, startOf = _a.startOf, maxDatapoints = _a.maxDatapoints;
33
+ var latestDate = startOf(new Date()).getTime();
34
+ var balances = [];
35
+ var balance = account.balance;
36
+ var operationsLength = account.operations.length;
37
+ var date = latestDate;
38
+ var reference = account.balanceHistoryCache[g];
39
+ for (var i = 0; i < operationsLength;) {
40
+ if ((partial && reference.latestDate && date < reference.latestDate) ||
41
+ balances.length > maxDatapoints) {
42
+ break;
43
+ }
44
+ // accumulate operations after time t
45
+ while (i < operationsLength &&
46
+ // FIXME: added valueOf here to make typescript happy
47
+ account.operations[i].date.valueOf() > date) {
48
+ balance = balance.minus(getOperationAmountNumberWithInternals(account.operations[i]));
49
+ i++;
50
+ }
51
+ balances.unshift(Math.max(balance.toNumber(), 0));
52
+ date -= increment;
53
+ }
54
+ if (partial) {
55
+ balances = reference.balances.concat(balances);
56
+ }
57
+ return {
58
+ balances: balances,
59
+ latestDate: latestDate
60
+ };
61
+ }
62
+ export function generateHistoryFromOperations(account) {
63
+ return {
64
+ HOUR: generateHistoryFromOperationsG(account, "HOUR"),
65
+ DAY: generateHistoryFromOperationsG(account, "DAY"),
66
+ WEEK: generateHistoryFromOperationsG(account, "WEEK")
67
+ };
68
+ }
69
+ /**
70
+ * get the current balance history of the account. if possible from the cache.
71
+ */
72
+ export function getAccountHistoryBalances(account, g) {
73
+ var _a = account.balanceHistoryCache[g], balances = _a.balances, latestDate = _a.latestDate;
74
+ var startOf = granularities[g].startOf;
75
+ var now = startOf(new Date()).getTime();
76
+ if (latestDate && latestDate === now) {
77
+ return balances;
78
+ }
79
+ // account cache was not up to date. recalculating on the fly
80
+ return generateHistoryFromOperationsG(account, g, true).balances;
81
+ }
82
+ /**
83
+ * utility used at the end of an account synchronisation to recalculate the balance history if necessary
84
+ */
85
+ export function recalculateAccountBalanceHistories(res, prev) {
86
+ // recalculate balance history cache
87
+ if (prev.balanceHistoryCache === res.balanceHistoryCache) {
88
+ // we only regenerate if it was not overriden by the implemenetation.
89
+ res = __assign(__assign({}, res), { balanceHistoryCache: generateHistoryFromOperations(res) });
90
+ }
91
+ var prevSubAccounts = prev.subAccounts;
92
+ var nextSubAccounts = res.subAccounts;
93
+ if (nextSubAccounts &&
94
+ prevSubAccounts &&
95
+ prevSubAccounts !== nextSubAccounts) {
96
+ // when sub accounts changes, we need to recalculate
97
+ res.subAccounts = nextSubAccounts.map(function (subAccount) {
98
+ var old = prevSubAccounts.find(function (a) { return a.id === subAccount.id; });
99
+ if (!old ||
100
+ old.balanceHistoryCache === subAccount.balanceHistoryCache) {
101
+ // we only regenerate if it was not overriden by the implemenetation.
102
+ subAccount = __assign(__assign({}, subAccount), { balanceHistoryCache: generateHistoryFromOperations(subAccount) });
103
+ }
104
+ return subAccount;
105
+ });
106
+ }
107
+ return res;
108
+ }
109
+ //# sourceMappingURL=balanceHistoryCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanceHistoryCache.js","sourceRoot":"","sources":["../../src/account/balanceHistoryCache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { AccountLike, AccountLikeArray, DailyOperations, Operation } from "@ledgerhq/types-live";
2
+ type GroupOpsByDayOpts = {
3
+ count: number;
4
+ withSubAccounts?: boolean;
5
+ filterOperation?: (arg0: Operation, arg1: AccountLike) => boolean;
6
+ };
7
+ /**
8
+ * @memberof account
9
+ */
10
+ export declare function groupAccountsOperationsByDay(inputAccounts: AccountLikeArray, { count, withSubAccounts, filterOperation }: GroupOpsByDayOpts): DailyOperations;
11
+ /**
12
+ * Return a list of `{count}` operations grouped by day.
13
+ * @memberof account
14
+ */
15
+ export declare function groupAccountOperationsByDay(account: AccountLike, arg: GroupOpsByDayOpts): DailyOperations;
16
+ export {};
17
+ //# sourceMappingURL=groupOperations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupOperations.d.ts","sourceRoot":"","sources":["../../src/account/groupOperations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,SAAS,EACV,MAAM,sBAAsB,CAAC;AAU9B,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;CACnE,CAAC;AAKF;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,gBAAgB,EAC/B,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,iBAAiB,GAC7D,eAAe,CAuHjB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,iBAAiB,GACrB,eAAe,CAGjB"}
@@ -0,0 +1,122 @@
1
+ import { flattenAccounts } from "./helpers";
2
+ import { flattenOperationWithInternalsAndNfts } from "../operation";
3
+ function startOfDay(t) {
4
+ return new Date(t.getFullYear(), t.getMonth(), t.getDate());
5
+ }
6
+ var emptyDailyOperations = {
7
+ sections: [],
8
+ completed: true
9
+ };
10
+ var hasStableOperation = function (account, hash) {
11
+ return account.operations.some(function (op) { return op.hash === hash; });
12
+ };
13
+ /**
14
+ * @memberof account
15
+ */
16
+ export function groupAccountsOperationsByDay(inputAccounts, _a) {
17
+ var count = _a.count, withSubAccounts = _a.withSubAccounts, filterOperation = _a.filterOperation;
18
+ var accounts = withSubAccounts
19
+ ? flattenAccounts(inputAccounts)
20
+ : inputAccounts;
21
+ // Track indexes of account.operations[] for each account
22
+ var indexes = Array(accounts.length).fill(0);
23
+ // Track indexes of account.pendingOperations[] for each account
24
+ var indexesPending = Array(accounts.length).fill(0);
25
+ // Returns the next most recent operation from the account with current indexes
26
+ function getNext() {
27
+ var bestOp;
28
+ var bestOpInfo = {
29
+ accountI: 0,
30
+ fromPending: false
31
+ };
32
+ for (var i = 0; i < accounts.length; i++) {
33
+ var account = accounts[i];
34
+ // look in operations
35
+ var op = account.operations[indexes[i]];
36
+ if (filterOperation) {
37
+ // skip operation we want to filter out
38
+ while (op && !filterOperation(op, account)) {
39
+ op = account.operations[++indexes[i]];
40
+ }
41
+ }
42
+ if (op && (!bestOp || op.date > bestOp.date)) {
43
+ bestOp = op;
44
+ bestOpInfo = {
45
+ accountI: i,
46
+ fromPending: false
47
+ };
48
+ }
49
+ // look in pending operations
50
+ var opP = account.pendingOperations[indexesPending[i]];
51
+ while (opP && // skip all pending operations that are already in operations
52
+ (hasStableOperation(account, opP.hash) || // but also if we want to filter it
53
+ (filterOperation && !filterOperation(opP, account)))) {
54
+ opP = account.pendingOperations[++indexesPending[i]];
55
+ }
56
+ if (opP && (!bestOp || opP.date > bestOp.date)) {
57
+ bestOp = opP;
58
+ bestOpInfo = {
59
+ accountI: i,
60
+ fromPending: true
61
+ };
62
+ }
63
+ }
64
+ if (bestOp) {
65
+ if (bestOpInfo.fromPending) {
66
+ indexesPending[bestOpInfo.accountI]++;
67
+ }
68
+ else {
69
+ indexes[bestOpInfo.accountI]++;
70
+ }
71
+ var ops = flattenOperationWithInternalsAndNfts(bestOp);
72
+ return {
73
+ ops: ops,
74
+ date: bestOp.date
75
+ };
76
+ }
77
+ }
78
+ var next = getNext();
79
+ if (!next)
80
+ return emptyDailyOperations;
81
+ var sections = [];
82
+ var totalOperations = 0;
83
+ var day = startOfDay(next.date);
84
+ var data = [];
85
+ while (totalOperations < count && next) {
86
+ if (next.date < day) {
87
+ if (data.length > 0) {
88
+ var slicedData = data.slice(0, count - totalOperations);
89
+ sections.push({
90
+ day: day,
91
+ data: slicedData
92
+ });
93
+ totalOperations += slicedData.length;
94
+ }
95
+ day = startOfDay(next.date);
96
+ data = next.ops;
97
+ }
98
+ else {
99
+ data = data.concat(next.ops);
100
+ }
101
+ next = getNext();
102
+ }
103
+ if (data.length > 0 && totalOperations < count) {
104
+ sections.push({
105
+ day: day,
106
+ data: data
107
+ });
108
+ }
109
+ return {
110
+ sections: sections,
111
+ completed: !next
112
+ };
113
+ }
114
+ /**
115
+ * Return a list of `{count}` operations grouped by day.
116
+ * @memberof account
117
+ */
118
+ export function groupAccountOperationsByDay(account, arg) {
119
+ var accounts = [account];
120
+ return groupAccountsOperationsByDay(accounts, arg);
121
+ }
122
+ //# sourceMappingURL=groupOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupOperations.js","sourceRoot":"","sources":["../../src/account/groupOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,oCAAoC,EAAE,MAAM,cAAc,CAAC;AAQpE,SAAS,UAAU,CAAC,CAAO;IACzB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,IAAM,oBAAoB,GAAG;IAC3B,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,IAAI;CAChB,CAAC;AAOF,IAAM,kBAAkB,GAAG,UAAC,OAAoB,EAAE,IAAY;IAC5D,OAAA,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,IAAI,KAAK,IAAI,EAAhB,CAAgB,CAAC;AAAjD,CAAiD,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,aAA+B,EAC/B,EAA8D;QAA5D,KAAK,WAAA,EAAE,eAAe,qBAAA,EAAE,eAAe,qBAAA;IAEzC,IAAM,QAAQ,GAAG,eAAe;QAC9B,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC;QAChC,CAAC,CAAC,aAAa,CAAC;IAClB,yDAAyD;IACzD,IAAM,OAAO,GAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,gEAAgE;IAChE,IAAM,cAAc,GAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhE,+EAA+E;IAC/E,SAAS,OAAO;QAOd,IAAI,MAAoC,CAAC;QACzC,IAAI,UAAU,GAAG;YACf,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,KAAK;SACnB,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,qBAAqB;YACrB,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,eAAe,EAAE;gBACnB,uCAAuC;gBACvC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;oBAC1C,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvC;aACF;YAED,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC5C,MAAM,GAAG,EAAE,CAAC;gBACZ,UAAU,GAAG;oBACX,QAAQ,EAAE,CAAC;oBACX,WAAW,EAAE,KAAK;iBACnB,CAAC;aACH;YAED,6BAA6B;YAC7B,IAAI,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvD,OACE,GAAG,IAAI,6DAA6D;gBACpE,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,mCAAmC;oBAC3E,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EACtD;gBACA,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;aACtD;YAED,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC9C,MAAM,GAAG,GAAG,CAAC;gBACb,UAAU,GAAG;oBACX,QAAQ,EAAE,CAAC;oBACX,WAAW,EAAE,IAAI;iBAClB,CAAC;aACH;SACF;QAED,IAAI,MAAM,EAAE;YACV,IAAI,UAAU,CAAC,WAAW,EAAE;gBAC1B,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;aACvC;iBAAM;gBACL,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;aAChC;YAED,IAAM,GAAG,GAAG,oCAAoC,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO;gBACL,GAAG,KAAA;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC;SACH;IACH,CAAC;IAED,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;IACrB,IAAI,CAAC,IAAI;QAAE,OAAO,oBAAoB,CAAC;IACvC,IAAM,QAAQ,GAGT,EAAE,CAAC;IACR,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,GAAgB,EAAE,CAAC;IAE3B,OAAO,eAAe,GAAG,KAAK,IAAI,IAAI,EAAE;QACtC,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE;YACnB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC,CAAC;gBAC1D,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,KAAA;oBACH,IAAI,EAAE,UAAU;iBACjB,CAAC,CAAC;gBACH,eAAe,IAAI,UAAU,CAAC,MAAM,CAAC;aACtC;YAED,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;SACjB;aAAM;YACL,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9B;QAED,IAAI,GAAG,OAAO,EAAE,CAAC;KAClB;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,GAAG,KAAK,EAAE;QAC9C,QAAQ,CAAC,IAAI,CAAC;YACZ,GAAG,KAAA;YACH,IAAI,MAAA;SACL,CAAC,CAAC;KACJ;IAED,OAAO;QACL,QAAQ,UAAA;QACR,SAAS,EAAE,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAoB,EACpB,GAAsB;IAEtB,IAAM,QAAQ,GAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ import type { Account, AccountLike, AccountLikeArray, SubAccount, TokenAccount, ChildAccount } from "@ledgerhq/types-live";
3
+ import { CryptoCurrency, TokenCurrency, Unit } from "@ledgerhq/types-cryptoassets";
4
+ export declare const getMainAccount: (account: AccountLike, parentAccount?: Account | null | undefined) => Account;
5
+ export declare const getAccountCurrency: (account?: AccountLike) => TokenCurrency | CryptoCurrency;
6
+ export declare const getAccountUnit: (account: AccountLike) => Unit;
7
+ export declare const getAccountName: (account: AccountLike) => string;
8
+ export declare const getAccountSpendableBalance: (account: AccountLike) => BigNumber;
9
+ export declare const isAccountEmpty: (a: AccountLike) => boolean;
10
+ export declare function areAllOperationsLoaded(account: AccountLike): boolean;
11
+ export declare const isAccountBalanceSignificant: (a: AccountLike) => boolean;
12
+ export declare function clearAccount<T extends AccountLike>(account: T, familyClean?: (account: Account) => void): T;
13
+ export declare function findSubAccountById(account: Account, id: string): SubAccount | null | undefined;
14
+ export declare function listSubAccounts(account: Account): SubAccount[];
15
+ export type FlattenAccountsOptions = {
16
+ enforceHideEmptySubAccounts?: boolean;
17
+ };
18
+ export declare function flattenAccounts(topAccounts: AccountLikeArray, o?: FlattenAccountsOptions): AccountLike[];
19
+ export declare const shortAddressPreview: (addr: string, target?: number) => string;
20
+ export declare const isAccountBalanceUnconfirmed: (account: AccountLike) => boolean;
21
+ export declare const isUpToDateAccount: (account: Account | null | undefined) => boolean;
22
+ export declare const makeEmptyTokenAccount: (account: Account, token: TokenCurrency) => TokenAccount;
23
+ /**
24
+ * Enhance an account to force token accounts presence
25
+ */
26
+ export declare const accountWithMandatoryTokens: (account: Account, tokenCurrencies: TokenCurrency[]) => Account;
27
+ /**
28
+ * Patch account to enforce the removal of a blacklisted token
29
+ */
30
+ export declare const withoutToken: (account: Account, tokenId: string) => Account;
31
+ /**
32
+ * Find matching pair of subAccount/parentAccount for a given token curency
33
+ * if no subAccount found will return parentAccount or null if no matches found
34
+ */
35
+ export declare const findTokenAccountByCurrency: (tokenCurrency: TokenCurrency, accounts: Account[]) => {
36
+ account?: SubAccount;
37
+ parentAccount: Account;
38
+ } | null | undefined;
39
+ export declare function isAccount(account?: AccountLike): account is Account;
40
+ export declare function isTokenAccount(account?: AccountLike): account is TokenAccount;
41
+ export declare function isChildAccount(account?: AccountLike): account is ChildAccount;
42
+ export declare function isSubAccount(account?: AccountLike): account is SubAccount;
43
+ export declare function getParentAccount(account: AccountLike, accounts: AccountLike[]): Account;
44
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/account/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,aAAa,EACb,IAAI,EACL,MAAM,8BAA8B,CAAC;AAKtC,eAAO,MAAM,cAAc,YAChB,WAAW,kBACJ,OAAO,GAAG,IAAI,GAAG,SAAS,KACzC,OAIF,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACnB,WAAW,KACpB,aAAa,GAAG,cAclB,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,WAAW,KAAG,IAcrD,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,WAAW,KAAG,MAYrD,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAAa,WAAW,KAAG,SAYjE,CAAC;AAEF,eAAO,MAAM,cAAc,MAAO,WAAW,KAAG,OAI/C,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAUpE;AAED,eAAO,MAAM,2BAA2B,MAAO,WAAW,KAAG,OAC1C,CAAC;AAKpB,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,EAChD,OAAO,EAAE,CAAC,EACV,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACvC,CAAC,CAoCH;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,MAAM,GACT,UAAU,GAAG,IAAI,GAAG,SAAS,CAE/B;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAQ9D;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF,wBAAgB,eAAe,CAC7B,WAAW,EAAE,gBAAgB,EAC7B,CAAC,GAAE,sBAA2B,GAC7B,WAAW,EAAE,CAmBf;AAED,eAAO,MAAM,mBAAmB,SAAU,MAAM,sBAAgB,MAK/D,CAAC;AAEF,eAAO,MAAM,2BAA2B,YAAa,WAAW,KAAG,OAGZ,CAAC;AAExD,eAAO,MAAM,iBAAiB,YAAa,OAAO,GAAG,IAAI,GAAG,SAAS,YAUpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,OAAO,SACT,aAAa,KACnB,YAcD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B,YAC5B,OAAO,mBACC,aAAa,EAAE,KAC/B,OA6BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,YAAa,OAAO,WAAW,MAAM,KAAG,OAWhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,kBACtB,aAAa,YAClB,OAAO,EAAE,KAEjB;IACE,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACxB,GACD,IAAI,GACJ,SA6BH,CAAC;AAEF,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,IAAI,OAAO,CAEnE;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,IAAI,YAAY,CAE7E;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,IAAI,YAAY,CAE7E;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,IAAI,UAAU,CAEzE;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,WAAW,EAAE,GACtB,OAAO,CAgBT"}