@ledgerhq/coin-framework 0.0.2-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 (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 +783 -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 +768 -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 +790 -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,127 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.groupAccountOperationsByDay = exports.groupAccountsOperationsByDay = void 0;
4
+ var helpers_1 = require("./helpers");
5
+ var operation_1 = require("../operation");
6
+ function startOfDay(t) {
7
+ return new Date(t.getFullYear(), t.getMonth(), t.getDate());
8
+ }
9
+ var emptyDailyOperations = {
10
+ sections: [],
11
+ completed: true
12
+ };
13
+ var hasStableOperation = function (account, hash) {
14
+ return account.operations.some(function (op) { return op.hash === hash; });
15
+ };
16
+ /**
17
+ * @memberof account
18
+ */
19
+ function groupAccountsOperationsByDay(inputAccounts, _a) {
20
+ var count = _a.count, withSubAccounts = _a.withSubAccounts, filterOperation = _a.filterOperation;
21
+ var accounts = withSubAccounts
22
+ ? (0, helpers_1.flattenAccounts)(inputAccounts)
23
+ : inputAccounts;
24
+ // Track indexes of account.operations[] for each account
25
+ var indexes = Array(accounts.length).fill(0);
26
+ // Track indexes of account.pendingOperations[] for each account
27
+ var indexesPending = Array(accounts.length).fill(0);
28
+ // Returns the next most recent operation from the account with current indexes
29
+ function getNext() {
30
+ var bestOp;
31
+ var bestOpInfo = {
32
+ accountI: 0,
33
+ fromPending: false
34
+ };
35
+ for (var i = 0; i < accounts.length; i++) {
36
+ var account = accounts[i];
37
+ // look in operations
38
+ var op = account.operations[indexes[i]];
39
+ if (filterOperation) {
40
+ // skip operation we want to filter out
41
+ while (op && !filterOperation(op, account)) {
42
+ op = account.operations[++indexes[i]];
43
+ }
44
+ }
45
+ if (op && (!bestOp || op.date > bestOp.date)) {
46
+ bestOp = op;
47
+ bestOpInfo = {
48
+ accountI: i,
49
+ fromPending: false
50
+ };
51
+ }
52
+ // look in pending operations
53
+ var opP = account.pendingOperations[indexesPending[i]];
54
+ while (opP && // skip all pending operations that are already in operations
55
+ (hasStableOperation(account, opP.hash) || // but also if we want to filter it
56
+ (filterOperation && !filterOperation(opP, account)))) {
57
+ opP = account.pendingOperations[++indexesPending[i]];
58
+ }
59
+ if (opP && (!bestOp || opP.date > bestOp.date)) {
60
+ bestOp = opP;
61
+ bestOpInfo = {
62
+ accountI: i,
63
+ fromPending: true
64
+ };
65
+ }
66
+ }
67
+ if (bestOp) {
68
+ if (bestOpInfo.fromPending) {
69
+ indexesPending[bestOpInfo.accountI]++;
70
+ }
71
+ else {
72
+ indexes[bestOpInfo.accountI]++;
73
+ }
74
+ var ops = (0, operation_1.flattenOperationWithInternalsAndNfts)(bestOp);
75
+ return {
76
+ ops: ops,
77
+ date: bestOp.date
78
+ };
79
+ }
80
+ }
81
+ var next = getNext();
82
+ if (!next)
83
+ return emptyDailyOperations;
84
+ var sections = [];
85
+ var totalOperations = 0;
86
+ var day = startOfDay(next.date);
87
+ var data = [];
88
+ while (totalOperations < count && next) {
89
+ if (next.date < day) {
90
+ if (data.length > 0) {
91
+ var slicedData = data.slice(0, count - totalOperations);
92
+ sections.push({
93
+ day: day,
94
+ data: slicedData
95
+ });
96
+ totalOperations += slicedData.length;
97
+ }
98
+ day = startOfDay(next.date);
99
+ data = next.ops;
100
+ }
101
+ else {
102
+ data = data.concat(next.ops);
103
+ }
104
+ next = getNext();
105
+ }
106
+ if (data.length > 0 && totalOperations < count) {
107
+ sections.push({
108
+ day: day,
109
+ data: data
110
+ });
111
+ }
112
+ return {
113
+ sections: sections,
114
+ completed: !next
115
+ };
116
+ }
117
+ exports.groupAccountsOperationsByDay = groupAccountsOperationsByDay;
118
+ /**
119
+ * Return a list of `{count}` operations grouped by day.
120
+ * @memberof account
121
+ */
122
+ function groupAccountOperationsByDay(account, arg) {
123
+ var accounts = [account];
124
+ return groupAccountsOperationsByDay(accounts, arg);
125
+ }
126
+ exports.groupAccountOperationsByDay = groupAccountOperationsByDay;
127
+ //# sourceMappingURL=groupOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupOperations.js","sourceRoot":"","sources":["../../src/account/groupOperations.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,0CAAoE;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,SAAgB,4BAA4B,CAC1C,aAA+B,EAC/B,EAA8D;QAA5D,KAAK,WAAA,EAAE,eAAe,qBAAA,EAAE,eAAe,qBAAA;IAEzC,IAAM,QAAQ,GAAG,eAAe;QAC9B,CAAC,CAAC,IAAA,yBAAe,EAAC,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,IAAA,gDAAoC,EAAC,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;AA1HD,oEA0HC;AAED;;;GAGG;AACH,SAAgB,2BAA2B,CACzC,OAAoB,EACpB,GAAsB;IAEtB,IAAM,QAAQ,GAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAND,kEAMC"}
@@ -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"}
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __values = (this && this.__values) || function(o) {
14
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
15
+ if (m) return m.call(o);
16
+ if (o && typeof o.length === "number") return {
17
+ next: function () {
18
+ if (o && i >= o.length) o = void 0;
19
+ return { value: o && o[i++], done: !o };
20
+ }
21
+ };
22
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ exports.__esModule = true;
28
+ exports.getParentAccount = exports.isSubAccount = exports.isChildAccount = exports.isTokenAccount = exports.isAccount = exports.findTokenAccountByCurrency = exports.withoutToken = exports.accountWithMandatoryTokens = exports.makeEmptyTokenAccount = exports.isUpToDateAccount = exports.isAccountBalanceUnconfirmed = exports.shortAddressPreview = exports.flattenAccounts = exports.listSubAccounts = exports.findSubAccountById = exports.clearAccount = exports.isAccountBalanceSignificant = exports.areAllOperationsLoaded = exports.isAccountEmpty = exports.getAccountSpendableBalance = exports.getAccountName = exports.getAccountUnit = exports.getAccountCurrency = exports.getMainAccount = void 0;
29
+ var bignumber_js_1 = require("bignumber.js");
30
+ var invariant_1 = __importDefault(require("invariant"));
31
+ var env_1 = require("../env");
32
+ var accountId_1 = require("./accountId");
33
+ var balanceHistoryCache_1 = require("./balanceHistoryCache");
34
+ // by convention, a main account is the top level account
35
+ // in case of an Account is the account itself
36
+ // in case of a TokenAccount it's the parentAccount
37
+ var getMainAccount = function (account, parentAccount) {
38
+ var mainAccount = account.type === "Account" ? account : parentAccount;
39
+ (0, invariant_1["default"])(mainAccount, "an account is expected");
40
+ return mainAccount;
41
+ };
42
+ exports.getMainAccount = getMainAccount;
43
+ var getAccountCurrency = function (account) {
44
+ switch (account === null || account === void 0 ? void 0 : account.type) {
45
+ case "Account":
46
+ case "ChildAccount":
47
+ return account.currency;
48
+ case "TokenAccount":
49
+ return account.token;
50
+ default:
51
+ throw new Error("invalid account.type=" + (account === null || account === void 0 ? void 0 : account.type));
52
+ }
53
+ };
54
+ exports.getAccountCurrency = getAccountCurrency;
55
+ var getAccountUnit = function (account) {
56
+ switch (account.type) {
57
+ case "Account":
58
+ return account.unit;
59
+ case "TokenAccount":
60
+ return account.token.units[0];
61
+ case "ChildAccount":
62
+ return account.currency.units[0];
63
+ default:
64
+ throw new Error("invalid account.type=" + account.type);
65
+ }
66
+ };
67
+ exports.getAccountUnit = getAccountUnit;
68
+ var getAccountName = function (account) {
69
+ switch (account.type) {
70
+ case "Account":
71
+ case "ChildAccount":
72
+ return account.name;
73
+ case "TokenAccount":
74
+ return account.token.name;
75
+ default:
76
+ throw new Error("invalid account.type=" + account.type);
77
+ }
78
+ };
79
+ exports.getAccountName = getAccountName;
80
+ var getAccountSpendableBalance = function (account) {
81
+ switch (account.type) {
82
+ case "Account":
83
+ case "TokenAccount":
84
+ return account.spendableBalance;
85
+ case "ChildAccount":
86
+ return account.balance;
87
+ default:
88
+ throw new Error("invalid account.type=" + account.type);
89
+ }
90
+ };
91
+ exports.getAccountSpendableBalance = getAccountSpendableBalance;
92
+ var isAccountEmpty = function (a) {
93
+ var hasSubAccounts = a.type === "Account" && a.subAccounts && a.subAccounts.length;
94
+ return a.operationsCount === 0 && a.balance.isZero() && !hasSubAccounts;
95
+ };
96
+ exports.isAccountEmpty = isAccountEmpty;
97
+ function areAllOperationsLoaded(account) {
98
+ if (account.operationsCount !== account.operations.length) {
99
+ return false;
100
+ }
101
+ if (account.type === "Account" && account.subAccounts) {
102
+ return account.subAccounts.every(areAllOperationsLoaded);
103
+ }
104
+ return true;
105
+ }
106
+ exports.areAllOperationsLoaded = areAllOperationsLoaded;
107
+ var isAccountBalanceSignificant = function (a) {
108
+ return a.balance.gt(100);
109
+ };
110
+ exports.isAccountBalanceSignificant = isAccountBalanceSignificant;
111
+ // in future, could be a per currency thing
112
+ // clear account to a bare minimal version that can be restored via sync
113
+ // will preserve the balance to avoid user panic
114
+ function clearAccount(account, familyClean) {
115
+ var _a;
116
+ if (account.type === "TokenAccount") {
117
+ return __assign(__assign({}, account), { balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache, operations: [], pendingOperations: [] });
118
+ }
119
+ if (account.type === "ChildAccount") {
120
+ return __assign(__assign({}, account), { balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache, operations: [], pendingOperations: [] });
121
+ }
122
+ var copy = __assign(__assign({}, account), { balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache, lastSyncDate: new Date(0), operations: [], pendingOperations: [], subAccounts: account.subAccounts &&
123
+ ((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a.map(function (acc) {
124
+ return clearAccount(acc, familyClean);
125
+ })) });
126
+ familyClean === null || familyClean === void 0 ? void 0 : familyClean(copy);
127
+ delete copy.nfts;
128
+ return copy;
129
+ }
130
+ exports.clearAccount = clearAccount;
131
+ function findSubAccountById(account, id) {
132
+ return (account.subAccounts || []).find(function (a) { return a.id === id; });
133
+ }
134
+ exports.findSubAccountById = findSubAccountById;
135
+ // get the token accounts of an account, ignoring those that are zero IF user don't want them
136
+ function listSubAccounts(account) {
137
+ var accounts = account.subAccounts || [];
138
+ if ((0, env_1.getEnv)("HIDE_EMPTY_TOKEN_ACCOUNTS")) {
139
+ return accounts.filter(function (a) { return !a.balance.isZero(); });
140
+ }
141
+ return accounts;
142
+ }
143
+ exports.listSubAccounts = listSubAccounts;
144
+ function flattenAccounts(topAccounts, o) {
145
+ if (o === void 0) { o = {}; }
146
+ var accounts = [];
147
+ for (var i = 0; i < topAccounts.length; i++) {
148
+ var account = topAccounts[i];
149
+ accounts.push(account);
150
+ if (account.type === "Account") {
151
+ var subAccounts = o.enforceHideEmptySubAccounts
152
+ ? listSubAccounts(account)
153
+ : account.subAccounts || [];
154
+ for (var j = 0; j < subAccounts.length; j++) {
155
+ accounts.push(subAccounts[j]);
156
+ }
157
+ }
158
+ }
159
+ return accounts;
160
+ }
161
+ exports.flattenAccounts = flattenAccounts;
162
+ var shortAddressPreview = function (addr, target) {
163
+ if (target === void 0) { target = 20; }
164
+ var slice = Math.floor((target - 3) / 2);
165
+ return addr.length < target - 3
166
+ ? addr
167
+ : "".concat(addr.slice(0, slice), "...").concat(addr.slice(addr.length - slice));
168
+ };
169
+ exports.shortAddressPreview = shortAddressPreview;
170
+ var isAccountBalanceUnconfirmed = function (account) {
171
+ return account.pendingOperations.some(function (op) { return !account.operations.find(function (o) { return o.hash === op.hash; }); }) || account.operations.some(function (op) { return !op.blockHeight; });
172
+ };
173
+ exports.isAccountBalanceUnconfirmed = isAccountBalanceUnconfirmed;
174
+ var isUpToDateAccount = function (account) {
175
+ if (!account)
176
+ return true;
177
+ var lastSyncDate = account.lastSyncDate, currency = account.currency;
178
+ var blockAvgTime = currency.blockAvgTime;
179
+ if (!blockAvgTime)
180
+ return true;
181
+ var outdated =
182
+ // FIXME: same here, we need to use valueOf for typescript to compare dates
183
+ Date.now().valueOf() - (lastSyncDate.valueOf() || 0) >
184
+ blockAvgTime * 1000 + (0, env_1.getEnv)("SYNC_OUTDATED_CONSIDERED_DELAY");
185
+ return !outdated;
186
+ };
187
+ exports.isUpToDateAccount = isUpToDateAccount;
188
+ var makeEmptyTokenAccount = function (account, token) { return ({
189
+ type: "TokenAccount",
190
+ id: account.id + "+" + token.contractAddress,
191
+ parentId: account.id,
192
+ token: token,
193
+ balance: new bignumber_js_1.BigNumber(0),
194
+ spendableBalance: new bignumber_js_1.BigNumber(0),
195
+ operationsCount: 0,
196
+ creationDate: new Date(),
197
+ operations: [],
198
+ pendingOperations: [],
199
+ starred: false,
200
+ swapHistory: [],
201
+ balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache
202
+ }); };
203
+ exports.makeEmptyTokenAccount = makeEmptyTokenAccount;
204
+ /**
205
+ * Enhance an account to force token accounts presence
206
+ */
207
+ var accountWithMandatoryTokens = function (account, tokenCurrencies) {
208
+ var subAccounts = account.subAccounts;
209
+ if (!subAccounts)
210
+ return account;
211
+ var existingTokens = subAccounts
212
+ .map(function (a) { return a.type === "TokenAccount" && a.token; })
213
+ .filter(Boolean);
214
+ var addition = tokenCurrencies
215
+ .filter(function (t // token of the same currency
216
+ ) { return t.parentCurrency === account.currency && !existingTokens.includes(t); } // not yet in the sub accounts
217
+ )
218
+ .map(function (token) { return ({
219
+ type: "TokenAccount",
220
+ id: (0, accountId_1.encodeTokenAccountId)(account.id, token),
221
+ parentId: account.id,
222
+ token: token,
223
+ balance: new bignumber_js_1.BigNumber(0),
224
+ spendableBalance: new bignumber_js_1.BigNumber(0),
225
+ operationsCount: 0,
226
+ creationDate: new Date(),
227
+ operations: [],
228
+ pendingOperations: [],
229
+ starred: false,
230
+ swapHistory: [],
231
+ balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache
232
+ }); });
233
+ if (addition.length === 0)
234
+ return account;
235
+ return __assign(__assign({}, account), { subAccounts: subAccounts.concat(addition) });
236
+ };
237
+ exports.accountWithMandatoryTokens = accountWithMandatoryTokens;
238
+ /**
239
+ * Patch account to enforce the removal of a blacklisted token
240
+ */
241
+ var withoutToken = function (account, tokenId) {
242
+ var subAccounts = account.subAccounts;
243
+ if (!subAccounts)
244
+ return account;
245
+ var tokenAccount = subAccounts.find(function (a) { return a.type === "TokenAccount" && a.token.id === tokenId; });
246
+ if (!tokenAccount)
247
+ return account;
248
+ return __assign(__assign({}, account), { subAccounts: subAccounts.filter(function (sa) { return sa.id !== tokenAccount.id; }) });
249
+ };
250
+ exports.withoutToken = withoutToken;
251
+ /**
252
+ * Find matching pair of subAccount/parentAccount for a given token curency
253
+ * if no subAccount found will return parentAccount or null if no matches found
254
+ */
255
+ var findTokenAccountByCurrency = function (tokenCurrency, accounts) {
256
+ var e_1, _a, e_2, _b;
257
+ var parentCurrency = tokenCurrency.parentCurrency;
258
+ try {
259
+ for (var accounts_1 = __values(accounts), accounts_1_1 = accounts_1.next(); !accounts_1_1.done; accounts_1_1 = accounts_1.next()) {
260
+ var parentAccount = accounts_1_1.value;
261
+ if (parentAccount.subAccounts && parentAccount.subAccounts.length > 0) {
262
+ try {
263
+ for (var _c = (e_2 = void 0, __values(parentAccount.subAccounts)), _d = _c.next(); !_d.done; _d = _c.next()) {
264
+ var account = _d.value;
265
+ var c = (0, exports.getAccountCurrency)(account);
266
+ if (c.id === tokenCurrency.id) {
267
+ // if token currency matches subAccount return couple account/parentAccount
268
+ return {
269
+ account: account,
270
+ parentAccount: parentAccount
271
+ };
272
+ }
273
+ }
274
+ }
275
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
276
+ finally {
277
+ try {
278
+ if (_d && !_d.done && (_b = _c["return"])) _b.call(_c);
279
+ }
280
+ finally { if (e_2) throw e_2.error; }
281
+ }
282
+ }
283
+ var parentC = (0, exports.getAccountCurrency)(parentAccount);
284
+ if (parentC.id === parentCurrency.id) {
285
+ // if no token currency matches but parent matches return parentAccount
286
+ return {
287
+ parentAccount: parentAccount
288
+ };
289
+ }
290
+ }
291
+ }
292
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
293
+ finally {
294
+ try {
295
+ if (accounts_1_1 && !accounts_1_1.done && (_a = accounts_1["return"])) _a.call(accounts_1);
296
+ }
297
+ finally { if (e_1) throw e_1.error; }
298
+ }
299
+ return null; // else return nothing
300
+ };
301
+ exports.findTokenAccountByCurrency = findTokenAccountByCurrency;
302
+ function isAccount(account) {
303
+ return (account === null || account === void 0 ? void 0 : account.type) === "Account";
304
+ }
305
+ exports.isAccount = isAccount;
306
+ function isTokenAccount(account) {
307
+ return (account === null || account === void 0 ? void 0 : account.type) === "TokenAccount";
308
+ }
309
+ exports.isTokenAccount = isTokenAccount;
310
+ function isChildAccount(account) {
311
+ return (account === null || account === void 0 ? void 0 : account.type) === "ChildAccount";
312
+ }
313
+ exports.isChildAccount = isChildAccount;
314
+ function isSubAccount(account) {
315
+ return isTokenAccount(account) || isChildAccount(account);
316
+ }
317
+ exports.isSubAccount = isSubAccount;
318
+ function getParentAccount(account, accounts) {
319
+ switch (account.type) {
320
+ case "Account":
321
+ return account;
322
+ case "TokenAccount":
323
+ case "ChildAccount": {
324
+ var parentAccount = accounts.find(function (a) { return a.id == account.parentId; });
325
+ if (!parentAccount) {
326
+ throw new Error("No 'parentAccount' account provided for token account");
327
+ }
328
+ return parentAccount;
329
+ }
330
+ }
331
+ }
332
+ exports.getParentAccount = getParentAccount;
333
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/account/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=helpers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.test.d.ts","sourceRoot":"","sources":["../../src/account/helpers.test.ts"],"names":[],"mappings":""}