@ledgerhq/coin-framework 0.3.6-nightly.4 → 0.3.6-notarizer.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 (387) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +8 -36
  3. package/lib/account/accountId.d.ts +16 -0
  4. package/lib/account/accountId.d.ts.map +1 -0
  5. package/lib/account/accountId.js +67 -0
  6. package/lib/account/accountId.js.map +1 -0
  7. package/lib/account/accountName.d.ts +14 -0
  8. package/lib/account/accountName.d.ts.map +1 -0
  9. package/lib/account/accountName.js +14 -0
  10. package/lib/account/accountName.js.map +1 -0
  11. package/lib/account/balanceHistoryCache.d.ts +28 -0
  12. package/lib/account/balanceHistoryCache.d.ts.map +1 -0
  13. package/lib/account/balanceHistoryCache.js +132 -0
  14. package/lib/account/balanceHistoryCache.js.map +1 -0
  15. package/lib/account/balanceHistoryCache.test.d.ts +2 -0
  16. package/lib/account/balanceHistoryCache.test.d.ts.map +1 -0
  17. package/lib/account/balanceHistoryCache.test.js +21 -0
  18. package/lib/account/balanceHistoryCache.test.js.map +1 -0
  19. package/lib/account/groupOperations.d.ts +17 -0
  20. package/lib/account/groupOperations.d.ts.map +1 -0
  21. package/lib/account/groupOperations.js +122 -0
  22. package/lib/account/groupOperations.js.map +1 -0
  23. package/lib/account/helpers.d.ts +46 -0
  24. package/lib/account/helpers.d.ts.map +1 -0
  25. package/lib/account/helpers.js +296 -0
  26. package/lib/account/helpers.js.map +1 -0
  27. package/lib/account/helpers.test.d.ts +2 -0
  28. package/lib/account/helpers.test.d.ts.map +1 -0
  29. package/lib/account/helpers.test.js +409 -0
  30. package/lib/account/helpers.test.js.map +1 -0
  31. package/lib/account/index.d.ts +10 -0
  32. package/lib/account/index.d.ts.map +1 -0
  33. package/lib/account/index.js +26 -0
  34. package/lib/account/index.js.map +1 -0
  35. package/lib/account/ordering.d.ts +10 -0
  36. package/lib/account/ordering.d.ts.map +1 -0
  37. package/lib/account/ordering.js +80 -0
  38. package/lib/account/ordering.js.map +1 -0
  39. package/lib/account/pending.d.ts +4 -0
  40. package/lib/account/pending.d.ts.map +1 -0
  41. package/lib/account/pending.js +53 -0
  42. package/lib/account/pending.js.map +1 -0
  43. package/lib/account/serialization.d.ts +6 -0
  44. package/lib/account/serialization.d.ts.map +1 -0
  45. package/lib/account/serialization.js +108 -0
  46. package/lib/account/serialization.js.map +1 -0
  47. package/lib/account/support.d.ts +7 -0
  48. package/lib/account/support.d.ts.map +1 -0
  49. package/lib/account/support.js +45 -0
  50. package/lib/account/support.js.map +1 -0
  51. package/lib/account.test.d.ts +2 -0
  52. package/lib/account.test.d.ts.map +1 -0
  53. package/lib/account.test.js +180 -0
  54. package/lib/account.test.js.map +1 -0
  55. package/lib/bot/bot-test-context.d.ts +3 -0
  56. package/lib/bot/bot-test-context.d.ts.map +1 -0
  57. package/lib/bot/bot-test-context.js +26 -0
  58. package/lib/bot/bot-test-context.js.map +1 -0
  59. package/lib/bot/bot-test-context.test.d.ts +2 -0
  60. package/lib/bot/bot-test-context.test.d.ts.map +1 -0
  61. package/lib/bot/bot-test-context.test.js +41 -0
  62. package/lib/bot/bot-test-context.test.js.map +1 -0
  63. package/lib/bot/formatters.d.ts +2 -0
  64. package/lib/bot/formatters.d.ts.map +1 -0
  65. package/lib/bot/formatters.js +30 -0
  66. package/lib/bot/formatters.js.map +1 -0
  67. package/lib/bot/specs.d.ts +50 -0
  68. package/lib/bot/specs.d.ts.map +1 -0
  69. package/lib/bot/specs.js +181 -0
  70. package/lib/bot/specs.js.map +1 -0
  71. package/lib/bot/types.d.ts +177 -0
  72. package/lib/bot/types.d.ts.map +1 -0
  73. package/lib/bot/types.js +3 -0
  74. package/lib/bot/types.js.map +1 -0
  75. package/lib/bridge/getAddressWrapper.d.ts +5 -0
  76. package/lib/bridge/getAddressWrapper.d.ts.map +1 -0
  77. package/lib/bridge/getAddressWrapper.js +36 -0
  78. package/lib/bridge/getAddressWrapper.js.map +1 -0
  79. package/lib/bridge/jsHelpers.d.ts +59 -0
  80. package/lib/bridge/jsHelpers.d.ts.map +1 -0
  81. package/lib/bridge/jsHelpers.js +390 -0
  82. package/lib/bridge/jsHelpers.js.map +1 -0
  83. package/lib/cache.d.ts +11 -0
  84. package/lib/cache.d.ts.map +1 -0
  85. package/lib/cache.js +21 -0
  86. package/lib/cache.js.map +1 -0
  87. package/lib/currencies/BigNumberToLocaleString.d.ts +8 -0
  88. package/lib/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  89. package/lib/currencies/BigNumberToLocaleString.js +62 -0
  90. package/lib/currencies/BigNumberToLocaleString.js.map +1 -0
  91. package/lib/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  92. package/lib/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  93. package/lib/currencies/BigNumberToLocaleString.test.js +108 -0
  94. package/lib/currencies/BigNumberToLocaleString.test.js.map +1 -0
  95. package/lib/currencies/CurrencyURIScheme.d.ts +13 -0
  96. package/lib/currencies/CurrencyURIScheme.d.ts.map +1 -0
  97. package/lib/currencies/CurrencyURIScheme.js +95 -0
  98. package/lib/currencies/CurrencyURIScheme.js.map +1 -0
  99. package/lib/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  100. package/lib/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  101. package/lib/currencies/chopCurrencyUnitDecimals.js +29 -0
  102. package/lib/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  103. package/lib/currencies/formatCurrencyUnit.d.ts +33 -0
  104. package/lib/currencies/formatCurrencyUnit.d.ts.map +1 -0
  105. package/lib/currencies/formatCurrencyUnit.js +109 -0
  106. package/lib/currencies/formatCurrencyUnit.js.map +1 -0
  107. package/lib/currencies/formatShort.d.ts +8 -0
  108. package/lib/currencies/formatShort.d.ts.map +1 -0
  109. package/lib/currencies/formatShort.js +27 -0
  110. package/lib/currencies/formatShort.js.map +1 -0
  111. package/lib/currencies/index.d.ts +13 -0
  112. package/lib/currencies/index.d.ts.map +1 -0
  113. package/lib/currencies/index.js +62 -0
  114. package/lib/currencies/index.js.map +1 -0
  115. package/lib/currencies/localeUtility.d.ts +8 -0
  116. package/lib/currencies/localeUtility.d.ts.map +1 -0
  117. package/lib/currencies/localeUtility.js +45 -0
  118. package/lib/currencies/localeUtility.js.map +1 -0
  119. package/lib/currencies/parseCurrencyUnit.d.ts +4 -0
  120. package/lib/currencies/parseCurrencyUnit.d.ts.map +1 -0
  121. package/lib/currencies/parseCurrencyUnit.js +18 -0
  122. package/lib/currencies/parseCurrencyUnit.js.map +1 -0
  123. package/lib/currencies/sanitizeValueString.d.ts +6 -0
  124. package/lib/currencies/sanitizeValueString.d.ts.map +1 -0
  125. package/lib/currencies/sanitizeValueString.js +56 -0
  126. package/lib/currencies/sanitizeValueString.js.map +1 -0
  127. package/lib/currencies/support.d.ts +8 -0
  128. package/lib/currencies/support.d.ts.map +1 -0
  129. package/lib/currencies/support.js +98 -0
  130. package/lib/currencies/support.js.map +1 -0
  131. package/lib/currencies/valueFromUnit.d.ts +9 -0
  132. package/lib/currencies/valueFromUnit.d.ts.map +1 -0
  133. package/lib/currencies/valueFromUnit.js +12 -0
  134. package/lib/currencies/valueFromUnit.js.map +1 -0
  135. package/lib/derivation.d.ts +232 -0
  136. package/lib/derivation.d.ts.map +1 -0
  137. package/lib/derivation.js +416 -0
  138. package/lib/derivation.js.map +1 -0
  139. package/lib/derivation.test.d.ts +2 -0
  140. package/lib/derivation.test.d.ts.map +1 -0
  141. package/lib/derivation.test.js +35 -0
  142. package/lib/derivation.test.js.map +1 -0
  143. package/lib/errors.d.ts +7 -0
  144. package/lib/errors.d.ts.map +1 -0
  145. package/lib/errors.js +7 -0
  146. package/lib/errors.js.map +1 -0
  147. package/lib/errors.test.d.ts +2 -0
  148. package/lib/errors.test.d.ts.map +1 -0
  149. package/lib/errors.test.js +20 -0
  150. package/lib/errors.test.js.map +1 -0
  151. package/lib/mocks/account.d.ts +26 -0
  152. package/lib/mocks/account.d.ts.map +1 -0
  153. package/lib/mocks/account.js +334 -0
  154. package/lib/mocks/account.js.map +1 -0
  155. package/lib/mocks/fixtures/nfts.d.ts +36 -0
  156. package/lib/mocks/fixtures/nfts.d.ts.map +1 -0
  157. package/lib/mocks/fixtures/nfts.js +401 -0
  158. package/lib/mocks/fixtures/nfts.js.map +1 -0
  159. package/lib/mocks/fixtures/nfts.test.d.ts +2 -0
  160. package/lib/mocks/fixtures/nfts.test.d.ts.map +1 -0
  161. package/lib/mocks/fixtures/nfts.test.js +20 -0
  162. package/lib/mocks/fixtures/nfts.test.js.map +1 -0
  163. package/lib/mocks/helpers.d.ts +15 -0
  164. package/lib/mocks/helpers.d.ts.map +1 -0
  165. package/lib/mocks/helpers.js +32 -0
  166. package/lib/mocks/helpers.js.map +1 -0
  167. package/lib/network.d.ts +9 -0
  168. package/lib/network.d.ts.map +1 -0
  169. package/lib/network.js +3 -0
  170. package/lib/network.js.map +1 -0
  171. package/lib/nft/nftId.d.ts +8 -0
  172. package/lib/nft/nftId.d.ts.map +1 -0
  173. package/lib/nft/nftId.js +18 -0
  174. package/lib/nft/nftId.js.map +1 -0
  175. package/lib/operation.d.ts +31 -0
  176. package/lib/operation.d.ts.map +1 -0
  177. package/lib/operation.js +211 -0
  178. package/lib/operation.js.map +1 -0
  179. package/lib/operation.test.d.ts +2 -0
  180. package/lib/operation.test.d.ts.map +1 -0
  181. package/lib/operation.test.js +116 -0
  182. package/lib/operation.test.js.map +1 -0
  183. package/lib/signer.d.ts +3 -0
  184. package/lib/signer.d.ts.map +1 -0
  185. package/lib/signer.js +3 -0
  186. package/lib/signer.js.map +1 -0
  187. package/lib/test-helpers/staticTime.d.ts +2 -0
  188. package/lib/test-helpers/staticTime.d.ts.map +1 -0
  189. package/lib/test-helpers/staticTime.js +10 -0
  190. package/lib/test-helpers/staticTime.js.map +1 -0
  191. package/lib/transaction/common.d.ts +26 -0
  192. package/lib/transaction/common.d.ts.map +1 -0
  193. package/lib/transaction/common.js +101 -0
  194. package/lib/transaction/common.js.map +1 -0
  195. package/lib-es/account/accountId.d.ts +16 -0
  196. package/lib-es/account/accountId.d.ts.map +1 -0
  197. package/lib-es/account/accountId.js +56 -0
  198. package/lib-es/account/accountId.js.map +1 -0
  199. package/lib-es/account/accountName.d.ts +14 -0
  200. package/lib-es/account/accountName.d.ts.map +1 -0
  201. package/lib-es/account/accountName.js +9 -0
  202. package/lib-es/account/accountName.js.map +1 -0
  203. package/lib-es/account/balanceHistoryCache.d.ts +28 -0
  204. package/lib-es/account/balanceHistoryCache.d.ts.map +1 -0
  205. package/lib-es/account/balanceHistoryCache.js +123 -0
  206. package/lib-es/account/balanceHistoryCache.js.map +1 -0
  207. package/lib-es/account/balanceHistoryCache.test.d.ts +2 -0
  208. package/lib-es/account/balanceHistoryCache.test.d.ts.map +1 -0
  209. package/lib-es/account/balanceHistoryCache.test.js +19 -0
  210. package/lib-es/account/balanceHistoryCache.test.js.map +1 -0
  211. package/lib-es/account/groupOperations.d.ts +17 -0
  212. package/lib-es/account/groupOperations.d.ts.map +1 -0
  213. package/lib-es/account/groupOperations.js +117 -0
  214. package/lib-es/account/groupOperations.js.map +1 -0
  215. package/lib-es/account/helpers.d.ts +46 -0
  216. package/lib-es/account/helpers.d.ts.map +1 -0
  217. package/lib-es/account/helpers.js +264 -0
  218. package/lib-es/account/helpers.js.map +1 -0
  219. package/lib-es/account/helpers.test.d.ts +2 -0
  220. package/lib-es/account/helpers.test.d.ts.map +1 -0
  221. package/lib-es/account/helpers.test.js +404 -0
  222. package/lib-es/account/helpers.test.js.map +1 -0
  223. package/lib-es/account/index.d.ts +10 -0
  224. package/lib-es/account/index.d.ts.map +1 -0
  225. package/lib-es/account/index.js +10 -0
  226. package/lib-es/account/index.js.map +1 -0
  227. package/lib-es/account/ordering.d.ts +10 -0
  228. package/lib-es/account/ordering.d.ts.map +1 -0
  229. package/lib-es/account/ordering.js +73 -0
  230. package/lib-es/account/ordering.js.map +1 -0
  231. package/lib-es/account/pending.d.ts +4 -0
  232. package/lib-es/account/pending.d.ts.map +1 -0
  233. package/lib-es/account/pending.js +48 -0
  234. package/lib-es/account/pending.js.map +1 -0
  235. package/lib-es/account/serialization.d.ts +6 -0
  236. package/lib-es/account/serialization.d.ts.map +1 -0
  237. package/lib-es/account/serialization.js +102 -0
  238. package/lib-es/account/serialization.js.map +1 -0
  239. package/lib-es/account/support.d.ts +7 -0
  240. package/lib-es/account/support.d.ts.map +1 -0
  241. package/lib-es/account/support.js +39 -0
  242. package/lib-es/account/support.js.map +1 -0
  243. package/lib-es/account.test.d.ts +2 -0
  244. package/lib-es/account.test.d.ts.map +1 -0
  245. package/lib-es/account.test.js +175 -0
  246. package/lib-es/account.test.js.map +1 -0
  247. package/lib-es/bot/bot-test-context.d.ts +3 -0
  248. package/lib-es/bot/bot-test-context.d.ts.map +1 -0
  249. package/lib-es/bot/bot-test-context.js +21 -0
  250. package/lib-es/bot/bot-test-context.js.map +1 -0
  251. package/lib-es/bot/bot-test-context.test.d.ts +2 -0
  252. package/lib-es/bot/bot-test-context.test.d.ts.map +1 -0
  253. package/lib-es/bot/bot-test-context.test.js +39 -0
  254. package/lib-es/bot/bot-test-context.test.js.map +1 -0
  255. package/lib-es/bot/formatters.d.ts +2 -0
  256. package/lib-es/bot/formatters.d.ts.map +1 -0
  257. package/lib-es/bot/formatters.js +26 -0
  258. package/lib-es/bot/formatters.js.map +1 -0
  259. package/lib-es/bot/specs.d.ts +50 -0
  260. package/lib-es/bot/specs.d.ts.map +1 -0
  261. package/lib-es/bot/specs.js +170 -0
  262. package/lib-es/bot/specs.js.map +1 -0
  263. package/lib-es/bot/types.d.ts +177 -0
  264. package/lib-es/bot/types.d.ts.map +1 -0
  265. package/lib-es/bot/types.js +2 -0
  266. package/lib-es/bot/types.js.map +1 -0
  267. package/lib-es/bridge/getAddressWrapper.d.ts +5 -0
  268. package/lib-es/bridge/getAddressWrapper.d.ts.map +1 -0
  269. package/lib-es/bridge/getAddressWrapper.js +34 -0
  270. package/lib-es/bridge/getAddressWrapper.js.map +1 -0
  271. package/lib-es/bridge/jsHelpers.d.ts +59 -0
  272. package/lib-es/bridge/jsHelpers.d.ts.map +1 -0
  273. package/lib-es/bridge/jsHelpers.js +378 -0
  274. package/lib-es/bridge/jsHelpers.js.map +1 -0
  275. package/lib-es/cache.d.ts +11 -0
  276. package/lib-es/cache.d.ts.map +1 -0
  277. package/lib-es/cache.js +17 -0
  278. package/lib-es/cache.js.map +1 -0
  279. package/lib-es/currencies/BigNumberToLocaleString.d.ts +8 -0
  280. package/lib-es/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  281. package/lib-es/currencies/BigNumberToLocaleString.js +58 -0
  282. package/lib-es/currencies/BigNumberToLocaleString.js.map +1 -0
  283. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  284. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  285. package/lib-es/currencies/BigNumberToLocaleString.test.js +106 -0
  286. package/lib-es/currencies/BigNumberToLocaleString.test.js.map +1 -0
  287. package/lib-es/currencies/CurrencyURIScheme.d.ts +13 -0
  288. package/lib-es/currencies/CurrencyURIScheme.d.ts.map +1 -0
  289. package/lib-es/currencies/CurrencyURIScheme.js +87 -0
  290. package/lib-es/currencies/CurrencyURIScheme.js.map +1 -0
  291. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  292. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  293. package/lib-es/currencies/chopCurrencyUnitDecimals.js +25 -0
  294. package/lib-es/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  295. package/lib-es/currencies/formatCurrencyUnit.d.ts +33 -0
  296. package/lib-es/currencies/formatCurrencyUnit.d.ts.map +1 -0
  297. package/lib-es/currencies/formatCurrencyUnit.js +104 -0
  298. package/lib-es/currencies/formatCurrencyUnit.js.map +1 -0
  299. package/lib-es/currencies/formatShort.d.ts +8 -0
  300. package/lib-es/currencies/formatShort.d.ts.map +1 -0
  301. package/lib-es/currencies/formatShort.js +20 -0
  302. package/lib-es/currencies/formatShort.js.map +1 -0
  303. package/lib-es/currencies/index.d.ts +13 -0
  304. package/lib-es/currencies/index.d.ts.map +1 -0
  305. package/lib-es/currencies/index.js +14 -0
  306. package/lib-es/currencies/index.js.map +1 -0
  307. package/lib-es/currencies/localeUtility.d.ts +8 -0
  308. package/lib-es/currencies/localeUtility.d.ts.map +1 -0
  309. package/lib-es/currencies/localeUtility.js +39 -0
  310. package/lib-es/currencies/localeUtility.js.map +1 -0
  311. package/lib-es/currencies/parseCurrencyUnit.d.ts +4 -0
  312. package/lib-es/currencies/parseCurrencyUnit.d.ts.map +1 -0
  313. package/lib-es/currencies/parseCurrencyUnit.js +14 -0
  314. package/lib-es/currencies/parseCurrencyUnit.js.map +1 -0
  315. package/lib-es/currencies/sanitizeValueString.d.ts +6 -0
  316. package/lib-es/currencies/sanitizeValueString.d.ts.map +1 -0
  317. package/lib-es/currencies/sanitizeValueString.js +52 -0
  318. package/lib-es/currencies/sanitizeValueString.js.map +1 -0
  319. package/lib-es/currencies/support.d.ts +8 -0
  320. package/lib-es/currencies/support.d.ts.map +1 -0
  321. package/lib-es/currencies/support.js +89 -0
  322. package/lib-es/currencies/support.js.map +1 -0
  323. package/lib-es/currencies/valueFromUnit.d.ts +9 -0
  324. package/lib-es/currencies/valueFromUnit.d.ts.map +1 -0
  325. package/lib-es/currencies/valueFromUnit.js +8 -0
  326. package/lib-es/currencies/valueFromUnit.js.map +1 -0
  327. package/lib-es/derivation.d.ts +232 -0
  328. package/lib-es/derivation.d.ts.map +1 -0
  329. package/lib-es/derivation.js +388 -0
  330. package/lib-es/derivation.js.map +1 -0
  331. package/lib-es/derivation.test.d.ts +2 -0
  332. package/lib-es/derivation.test.d.ts.map +1 -0
  333. package/lib-es/derivation.test.js +33 -0
  334. package/lib-es/derivation.test.js.map +1 -0
  335. package/lib-es/errors.d.ts +7 -0
  336. package/lib-es/errors.d.ts.map +1 -0
  337. package/lib-es/errors.js +4 -0
  338. package/lib-es/errors.js.map +1 -0
  339. package/lib-es/errors.test.d.ts +2 -0
  340. package/lib-es/errors.test.d.ts.map +1 -0
  341. package/lib-es/errors.test.js +18 -0
  342. package/lib-es/errors.test.js.map +1 -0
  343. package/lib-es/mocks/account.d.ts +26 -0
  344. package/lib-es/mocks/account.d.ts.map +1 -0
  345. package/lib-es/mocks/account.js +324 -0
  346. package/lib-es/mocks/account.js.map +1 -0
  347. package/lib-es/mocks/fixtures/nfts.d.ts +36 -0
  348. package/lib-es/mocks/fixtures/nfts.d.ts.map +1 -0
  349. package/lib-es/mocks/fixtures/nfts.js +393 -0
  350. package/lib-es/mocks/fixtures/nfts.js.map +1 -0
  351. package/lib-es/mocks/fixtures/nfts.test.d.ts +2 -0
  352. package/lib-es/mocks/fixtures/nfts.test.d.ts.map +1 -0
  353. package/lib-es/mocks/fixtures/nfts.test.js +18 -0
  354. package/lib-es/mocks/fixtures/nfts.test.js.map +1 -0
  355. package/lib-es/mocks/helpers.d.ts +15 -0
  356. package/lib-es/mocks/helpers.d.ts.map +1 -0
  357. package/lib-es/mocks/helpers.js +26 -0
  358. package/lib-es/mocks/helpers.js.map +1 -0
  359. package/lib-es/network.d.ts +9 -0
  360. package/lib-es/network.d.ts.map +1 -0
  361. package/lib-es/network.js +2 -0
  362. package/lib-es/network.js.map +1 -0
  363. package/lib-es/nft/nftId.d.ts +8 -0
  364. package/lib-es/nft/nftId.d.ts.map +1 -0
  365. package/lib-es/nft/nftId.js +13 -0
  366. package/lib-es/nft/nftId.js.map +1 -0
  367. package/lib-es/operation.d.ts +31 -0
  368. package/lib-es/operation.d.ts.map +1 -0
  369. package/lib-es/operation.js +190 -0
  370. package/lib-es/operation.js.map +1 -0
  371. package/lib-es/operation.test.d.ts +2 -0
  372. package/lib-es/operation.test.d.ts.map +1 -0
  373. package/lib-es/operation.test.js +111 -0
  374. package/lib-es/operation.test.js.map +1 -0
  375. package/lib-es/signer.d.ts +3 -0
  376. package/lib-es/signer.d.ts.map +1 -0
  377. package/lib-es/signer.js +2 -0
  378. package/lib-es/signer.js.map +1 -0
  379. package/lib-es/test-helpers/staticTime.d.ts +2 -0
  380. package/lib-es/test-helpers/staticTime.d.ts.map +1 -0
  381. package/lib-es/test-helpers/staticTime.js +5 -0
  382. package/lib-es/test-helpers/staticTime.js.map +1 -0
  383. package/lib-es/transaction/common.d.ts +26 -0
  384. package/lib-es/transaction/common.d.ts.map +1 -0
  385. package/lib-es/transaction/common.js +93 -0
  386. package/lib-es/transaction/common.js.map +1 -0
  387. package/package.json +7 -7
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-framework@0.3.6-nightly.3 build /home/runner/work/ledger-live/ledger-live/libs/coin-framework
2
+ > @ledgerhq/coin-framework@0.3.5 build /home/runner/work/ledger-live/ledger-live/libs/coin-framework
3
3
  > tsc && tsc -m ES6 --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,44 +1,16 @@
1
1
  # @ledgerhq/coin-framework
2
2
 
3
- ## 0.3.6-nightly.4
3
+ ## 0.3.6-notarizer.0
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - Updated dependencies [[`44192f2ab2`](https://github.com/LedgerHQ/ledger-live/commit/44192f2ab2857cbae2ef4a81ee9608d395dcd2b9), [`5af41b6fa1`](https://github.com/LedgerHQ/ledger-live/commit/5af41b6fa1e43037ccdb2df279c82e12ef3d2b1a)]:
8
- - @ledgerhq/types-live@6.36.0-nightly.0
9
- - @ledgerhq/live-env@0.3.1-nightly.0
10
-
11
- ## 0.3.6-nightly.3
12
-
13
- ### Patch Changes
14
-
15
- - Updated dependencies [[`092cb8d317`](https://github.com/LedgerHQ/ledger-live/commit/092cb8d317fa7971e0f790b77f900ae3864d96c2)]:
16
- - @ledgerhq/types-cryptoassets@7.3.0-nightly.1
17
- - @ledgerhq/cryptoassets@9.8.0-nightly.1
18
- - @ledgerhq/types-live@6.35.0
19
-
20
- ## 0.3.6-nightly.2
21
-
22
- ### Patch Changes
23
-
24
- - Updated dependencies [[`be5f56b233`](https://github.com/LedgerHQ/ledger-live/commit/be5f56b2330c166323914b79fef37a3c05e0e13a)]:
25
- - @ledgerhq/cryptoassets@9.8.0-nightly.1
26
-
27
- ## 0.3.6-nightly.1
28
-
29
- ### Patch Changes
30
-
31
- - Updated dependencies [[`9adc1862dd`](https://github.com/LedgerHQ/ledger-live/commit/9adc1862dda605a722d19f3b6895bd324834c914)]:
32
- - @ledgerhq/errors@6.12.7-nightly.0
33
- - @ledgerhq/devices@8.0.4-nightly.0
34
- - @ledgerhq/hw-transport@6.28.5-nightly.0
35
-
36
- ## 0.3.6-nightly.0
37
-
38
- ### Patch Changes
39
-
40
- - Updated dependencies [[`d1aa522db7`](https://github.com/LedgerHQ/ledger-live/commit/d1aa522db75f7ea850efe412abaa4dc7d37af6b7), [`ebe5b07afe`](https://github.com/LedgerHQ/ledger-live/commit/ebe5b07afec441ea3e2d9103da9e1175972add47)]:
41
- - @ledgerhq/cryptoassets@9.8.0-nightly.0
7
+ - Updated dependencies [[`44192f2ab2`](https://github.com/LedgerHQ/ledger-live/commit/44192f2ab2857cbae2ef4a81ee9608d395dcd2b9), [`cb95f72c24`](https://github.com/LedgerHQ/ledger-live/commit/cb95f72c2415876ef88ca83fd2c4363a57669b92), [`be5f56b233`](https://github.com/LedgerHQ/ledger-live/commit/be5f56b2330c166323914b79fef37a3c05e0e13a), [`9adc1862dd`](https://github.com/LedgerHQ/ledger-live/commit/9adc1862dda605a722d19f3b6895bd324834c914), [`092cb8d317`](https://github.com/LedgerHQ/ledger-live/commit/092cb8d317fa7971e0f790b77f900ae3864d96c2), [`4a1454beb3`](https://github.com/LedgerHQ/ledger-live/commit/4a1454beb3f86405ba2686e07879c12a7d35ad8e), [`5af41b6fa1`](https://github.com/LedgerHQ/ledger-live/commit/5af41b6fa1e43037ccdb2df279c82e12ef3d2b1a), [`809065c571`](https://github.com/LedgerHQ/ledger-live/commit/809065c57198646a49adea112b9d799e35a57d25), [`d1aa522db7`](https://github.com/LedgerHQ/ledger-live/commit/d1aa522db75f7ea850efe412abaa4dc7d37af6b7), [`ebe5b07afe`](https://github.com/LedgerHQ/ledger-live/commit/ebe5b07afec441ea3e2d9103da9e1175972add47)]:
8
+ - @ledgerhq/types-live@6.36.0-notarizer.0
9
+ - @ledgerhq/cryptoassets@9.8.0-notarizer.0
10
+ - @ledgerhq/errors@6.12.7-notarizer.0
11
+ - @ledgerhq/types-cryptoassets@7.3.0-notarizer.0
12
+ - @ledgerhq/live-env@0.3.1-notarizer.0
13
+ - @ledgerhq/devices@8.0.4-notarizer.0
42
14
 
43
15
  ## 0.3.5
44
16
 
@@ -0,0 +1,16 @@
1
+ import type { AccountIdParams, DerivationMode } from "@ledgerhq/types-live";
2
+ import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
3
+ export declare function encodeAccountId({ type, version, currencyId, xpubOrAddress, derivationMode, }: AccountIdParams): string;
4
+ export declare function encodeTokenAccountId(accountId: string, token: TokenCurrency): string;
5
+ export declare function decodeTokenAccountId(id: string): {
6
+ accountId: string;
7
+ token: TokenCurrency | null | undefined;
8
+ };
9
+ export declare function decodeAccountId(accountId: string): AccountIdParams;
10
+ export declare function getWalletName({ seedIdentifier, derivationMode, currency, }: {
11
+ seedIdentifier: string;
12
+ derivationMode: DerivationMode;
13
+ currency: CryptoCurrency;
14
+ }): string;
15
+ export declare const inferFamilyFromAccountId: (accountId: string) => string | null | undefined;
16
+ //# sourceMappingURL=accountId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountId.d.ts","sourceRoot":"","sources":["../../src/account/accountId.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAOlF,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,OAAO,EACP,UAAU,EACV,aAAa,EACb,cAAc,GACf,EAAE,eAAe,GAAG,MAAM,CAQ1B;AACD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,CAEpF;AACD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAYA;AACD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAYlE;AAGD,wBAAgB,aAAa,CAAC,EAC5B,cAAc,EACd,cAAc,EACd,QAAQ,GACT,EAAE;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,cAAc,CAAC;CAC1B,GAAG,MAAM,CAET;AACD,eAAO,MAAM,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAS7E,CAAC"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.inferFamilyFromAccountId = exports.getWalletName = exports.decodeAccountId = exports.decodeTokenAccountId = exports.encodeTokenAccountId = exports.encodeAccountId = void 0;
7
+ const memoize_1 = __importDefault(require("lodash/memoize"));
8
+ const invariant_1 = __importDefault(require("invariant"));
9
+ const derivation_1 = require("../derivation");
10
+ const currencies_1 = require("../currencies");
11
+ const cryptoassets_1 = require("@ledgerhq/cryptoassets");
12
+ function ensureNoColon(value, ctx) {
13
+ (0, invariant_1.default)(!value.includes(":"), "AccountId '%s' component must not use colon", ctx);
14
+ return value;
15
+ }
16
+ function encodeAccountId({ type, version, currencyId, xpubOrAddress, derivationMode, }) {
17
+ return `${ensureNoColon(type, "type")}:${ensureNoColon(version, "version")}:${ensureNoColon(currencyId, "currencyId")}:${ensureNoColon(xpubOrAddress, "xpubOrAddress")}:${ensureNoColon(derivationMode, "derivationMode")}`;
18
+ }
19
+ exports.encodeAccountId = encodeAccountId;
20
+ function encodeTokenAccountId(accountId, token) {
21
+ return accountId + "+" + encodeURIComponent(token.id);
22
+ }
23
+ exports.encodeTokenAccountId = encodeTokenAccountId;
24
+ function decodeTokenAccountId(id) {
25
+ const [accountId, tokenId] = id.split("+");
26
+ const decodedTokenId = decodeURIComponent(tokenId);
27
+ let token = (0, currencies_1.findTokenById)(decodedTokenId);
28
+ if (!token) {
29
+ const { currencyId } = decodeAccountId(accountId);
30
+ token = (0, cryptoassets_1.findTokenByAddressInCurrency)(decodedTokenId, currencyId);
31
+ }
32
+ return {
33
+ accountId,
34
+ token,
35
+ };
36
+ }
37
+ exports.decodeTokenAccountId = decodeTokenAccountId;
38
+ function decodeAccountId(accountId) {
39
+ (0, invariant_1.default)(typeof accountId === "string", "accountId is not a string");
40
+ const splitted = accountId.split(":");
41
+ (0, invariant_1.default)(splitted.length === 5, "invalid size for accountId");
42
+ const [type, version, currencyId, xpubOrAddress, derivationMode] = splitted;
43
+ return {
44
+ type,
45
+ version,
46
+ currencyId,
47
+ xpubOrAddress,
48
+ derivationMode: (0, derivation_1.asDerivationMode)(derivationMode),
49
+ };
50
+ }
51
+ exports.decodeAccountId = decodeAccountId;
52
+ // you can pass account because type is shape of Account
53
+ // wallet name is a lib-core concept that usually identify a pool of accounts with the same (seed, cointype, derivation scheme) config.
54
+ function getWalletName({ seedIdentifier, derivationMode, currency, }) {
55
+ return `${seedIdentifier}_${currency.id}_${derivationMode}`;
56
+ }
57
+ exports.getWalletName = getWalletName;
58
+ exports.inferFamilyFromAccountId = (0, memoize_1.default)(accountId => {
59
+ try {
60
+ const { currencyId } = decodeAccountId(accountId);
61
+ return (0, currencies_1.getCryptoCurrencyById)(currencyId).family;
62
+ }
63
+ catch (e) {
64
+ return null;
65
+ }
66
+ });
67
+ //# sourceMappingURL=accountId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountId.js","sourceRoot":"","sources":["../../src/account/accountId.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAqC;AACrC,0DAAkC;AAClC,8CAAiD;AACjD,8CAAqE;AACrE,yDAAsE;AAItE,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW;IAC/C,IAAA,mBAAS,EAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,6CAA6C,EAAE,GAAG,CAAC,CAAC;IACpF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,OAAO,EACP,UAAU,EACV,aAAa,EACb,cAAc,GACE;IAChB,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,aAAa,CACzF,UAAU,EACV,YAAY,CACb,IAAI,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,aAAa,CACjE,cAAc,EACd,gBAAgB,CACjB,EAAE,CAAC;AACN,CAAC;AAdD,0CAcC;AACD,SAAgB,oBAAoB,CAAC,SAAiB,EAAE,KAAoB;IAC1E,OAAO,SAAS,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AACD,SAAgB,oBAAoB,CAAC,EAAU;IAI7C,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,GAAG,IAAA,0BAAa,EAAC,cAAc,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAClD,KAAK,GAAG,IAAA,2CAA4B,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;KAClE;IACD,OAAO;QACL,SAAS;QACT,KAAK;KACN,CAAC;AACJ,CAAC;AAfD,oDAeC;AACD,SAAgB,eAAe,CAAC,SAAiB;IAC/C,IAAA,mBAAS,EAAC,OAAO,SAAS,KAAK,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAA,mBAAS,EAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAC/D,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC;IAC5E,OAAO;QACL,IAAI;QACJ,OAAO;QACP,UAAU;QACV,aAAa;QACb,cAAc,EAAE,IAAA,6BAAgB,EAAC,cAAc,CAAC;KACjD,CAAC;AACJ,CAAC;AAZD,0CAYC;AACD,wDAAwD;AACxD,uIAAuI;AACvI,SAAgB,aAAa,CAAC,EAC5B,cAAc,EACd,cAAc,EACd,QAAQ,GAKT;IACC,OAAO,GAAG,cAAc,IAAI,QAAQ,CAAC,EAAE,IAAI,cAAc,EAAE,CAAC;AAC9D,CAAC;AAVD,sCAUC;AACY,QAAA,wBAAwB,GAAqD,IAAA,iBAAO,EAC/F,SAAS,CAAC,EAAE;IACV,IAAI;QACF,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,IAAA,kCAAqB,EAAC,UAAU,CAAC,CAAC,MAAM,CAAC;KACjD;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
2
+ import { Account, DerivationMode } from "@ledgerhq/types-live";
3
+ export declare const getAccountPlaceholderName: ({ currency, index, }: {
4
+ currency: CryptoCurrency;
5
+ index: number;
6
+ derivationMode: DerivationMode;
7
+ }) => string;
8
+ export declare const getNewAccountPlaceholderName: ({ currency, index, }: {
9
+ currency: CryptoCurrency;
10
+ index: number;
11
+ derivationMode: DerivationMode;
12
+ }) => string;
13
+ export declare const validateNameEdition: (account: Account, name?: string | null | undefined) => string;
14
+ //# sourceMappingURL=accountName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountName.d.ts","sourceRoot":"","sources":["../../src/account/accountName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG/D,eAAO,MAAM,yBAAyB;cAI1B,cAAc;WACjB,MAAM;oBACG,cAAc;MAC5B,MAEH,CAAC;AACF,eAAO,MAAM,4BAA4B;cAN7B,cAAc;WACjB,MAAM;oBACG,cAAc;MAC5B,MAGiE,CAAC;AAEtE,eAAO,MAAM,mBAAmB,YAAa,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAKtD,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateNameEdition = exports.getNewAccountPlaceholderName = exports.getAccountPlaceholderName = void 0;
4
+ const MAX_ACCOUNT_NAME_SIZE = 50;
5
+ const getAccountPlaceholderName = ({ currency, index, }) => {
6
+ return `${currency.name} ${index + 1}`;
7
+ };
8
+ exports.getAccountPlaceholderName = getAccountPlaceholderName;
9
+ exports.getNewAccountPlaceholderName = exports.getAccountPlaceholderName; // same naming
10
+ const validateNameEdition = (account, name) => ((name || account.name || "").replace(/\s+/g, " ").trim() ||
11
+ account.name ||
12
+ (0, exports.getAccountPlaceholderName)(account)).slice(0, MAX_ACCOUNT_NAME_SIZE);
13
+ exports.validateNameEdition = validateNameEdition;
14
+ //# sourceMappingURL=accountName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountName.js","sourceRoot":"","sources":["../../src/account/accountName.ts"],"names":[],"mappings":";;;AAGA,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAC1B,MAAM,yBAAyB,GAAG,CAAC,EACxC,QAAQ,EACR,KAAK,GAKN,EAAU,EAAE;IACX,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;AACzC,CAAC,CAAC;AATW,QAAA,yBAAyB,6BASpC;AACW,QAAA,4BAA4B,GAAG,iCAAyB,CAAC,CAAC,cAAc;AAE9E,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,IAAgC,EAAU,EAAE,CAChG,CACE,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;IACxD,OAAO,CAAC,IAAI;IACZ,IAAA,iCAAyB,EAAC,OAAO,CAAC,CACnC,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;AALvB,QAAA,mBAAmB,uBAKI"}
@@ -0,0 +1,28 @@
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 startOfHour(t: Date): Date;
17
+ export declare function startOfDay(t: Date): Date;
18
+ export declare function startOfWeek(t: Date): Date;
19
+ export declare function generateHistoryFromOperations(account: AccountLike): BalanceHistoryCache;
20
+ /**
21
+ * get the current balance history of the account. if possible from the cache.
22
+ */
23
+ export declare function getAccountHistoryBalances(account: AccountLike, g: GranularityId): number[];
24
+ /**
25
+ * utility used at the end of an account synchronisation to recalculate the balance history if necessary
26
+ */
27
+ export declare function recalculateAccountBalanceHistories(res: Account, prev: Account): Account;
28
+ //# 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;AAMF,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAEzC;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAExC;AACD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAGzC;AAkED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,CAMvF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,EAAE,CAW1F;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CA4BvF"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recalculateAccountBalanceHistories = exports.getAccountHistoryBalances = exports.generateHistoryFromOperations = exports.startOfWeek = exports.startOfDay = exports.startOfHour = exports.emptyHistoryCache = void 0;
4
+ const operation_1 = require("../operation");
5
+ exports.emptyHistoryCache = {
6
+ HOUR: {
7
+ latestDate: null,
8
+ balances: [],
9
+ },
10
+ DAY: {
11
+ latestDate: null,
12
+ balances: [],
13
+ },
14
+ WEEK: {
15
+ latestDate: null,
16
+ balances: [],
17
+ },
18
+ };
19
+ const hourIncrement = 60 * 60 * 1000;
20
+ const dayIncrement = 24 * hourIncrement;
21
+ const weekIncrement = 7 * dayIncrement;
22
+ function startOfHour(t) {
23
+ return new Date(t.getFullYear(), t.getMonth(), t.getDate(), t.getHours());
24
+ }
25
+ exports.startOfHour = startOfHour;
26
+ function startOfDay(t) {
27
+ return new Date(t.getFullYear(), t.getMonth(), t.getDate());
28
+ }
29
+ exports.startOfDay = startOfDay;
30
+ function startOfWeek(t) {
31
+ const d = startOfDay(t);
32
+ return new Date(d.getTime() - d.getDay() * dayIncrement);
33
+ }
34
+ exports.startOfWeek = startOfWeek;
35
+ const granularities = {
36
+ WEEK: {
37
+ increment: weekIncrement,
38
+ startOf: startOfWeek,
39
+ maxDatapoints: 1000, // (essentially no limit)
40
+ },
41
+ DAY: {
42
+ increment: dayIncrement,
43
+ startOf: startOfDay,
44
+ maxDatapoints: 400, // we only need a year
45
+ },
46
+ HOUR: {
47
+ increment: hourIncrement,
48
+ startOf: startOfHour,
49
+ maxDatapoints: 8 * 24, // we only need a week
50
+ },
51
+ };
52
+ function generateHistoryFromOperationsG(account, g, // partial=true allows a faster implementation that only recompose the last part of the history
53
+ // to only use when we do not recalculate the history but we just want to access it
54
+ partial = false) {
55
+ const { increment, startOf, maxDatapoints } = granularities[g];
56
+ const latestDate = startOf(new Date()).getTime();
57
+ let balances = [];
58
+ let { balance } = account;
59
+ const operationsLength = account.operations.length;
60
+ let date = latestDate;
61
+ const reference = account.balanceHistoryCache[g];
62
+ for (let i = 0; i < operationsLength;) {
63
+ if ((partial && reference.latestDate && date < reference.latestDate) ||
64
+ balances.length > maxDatapoints) {
65
+ break;
66
+ }
67
+ // accumulate operations after time t
68
+ while (i < operationsLength &&
69
+ // FIXME: added valueOf here to make typescript happy
70
+ account.operations[i].date.valueOf() > date) {
71
+ balance = balance.minus((0, operation_1.getOperationAmountNumberWithInternals)(account.operations[i]));
72
+ i++;
73
+ }
74
+ balances.unshift(Math.max(balance.toNumber(), 0));
75
+ date -= increment;
76
+ }
77
+ if (partial) {
78
+ balances = reference.balances.concat(balances);
79
+ }
80
+ return {
81
+ balances,
82
+ latestDate,
83
+ };
84
+ }
85
+ function generateHistoryFromOperations(account) {
86
+ return {
87
+ HOUR: generateHistoryFromOperationsG(account, "HOUR"),
88
+ DAY: generateHistoryFromOperationsG(account, "DAY"),
89
+ WEEK: generateHistoryFromOperationsG(account, "WEEK"),
90
+ };
91
+ }
92
+ exports.generateHistoryFromOperations = generateHistoryFromOperations;
93
+ /**
94
+ * get the current balance history of the account. if possible from the cache.
95
+ */
96
+ function getAccountHistoryBalances(account, g) {
97
+ const { balances, latestDate } = account.balanceHistoryCache[g];
98
+ const { startOf } = granularities[g];
99
+ const now = startOf(new Date()).getTime();
100
+ if (latestDate && latestDate === now) {
101
+ return balances;
102
+ }
103
+ // account cache was not up to date. recalculating on the fly
104
+ return generateHistoryFromOperationsG(account, g, true).balances;
105
+ }
106
+ exports.getAccountHistoryBalances = getAccountHistoryBalances;
107
+ /**
108
+ * utility used at the end of an account synchronisation to recalculate the balance history if necessary
109
+ */
110
+ function recalculateAccountBalanceHistories(res, prev) {
111
+ // recalculate balance history cache
112
+ if (prev.balanceHistoryCache === res.balanceHistoryCache) {
113
+ // we only regenerate if it was not overriden by the implemenetation.
114
+ res = Object.assign(Object.assign({}, res), { balanceHistoryCache: generateHistoryFromOperations(res) });
115
+ }
116
+ const prevSubAccounts = prev.subAccounts;
117
+ const nextSubAccounts = res.subAccounts;
118
+ if (nextSubAccounts && prevSubAccounts && prevSubAccounts !== nextSubAccounts) {
119
+ // when sub accounts changes, we need to recalculate
120
+ res.subAccounts = nextSubAccounts.map((subAccount) => {
121
+ const old = prevSubAccounts.find(a => a.id === subAccount.id);
122
+ if (!old || old.balanceHistoryCache === subAccount.balanceHistoryCache) {
123
+ // we only regenerate if it was not overriden by the implemenetation.
124
+ subAccount = Object.assign(Object.assign({}, subAccount), { balanceHistoryCache: generateHistoryFromOperations(subAccount) });
125
+ }
126
+ return subAccount;
127
+ });
128
+ }
129
+ return res;
130
+ }
131
+ exports.recalculateAccountBalanceHistories = recalculateAccountBalanceHistories;
132
+ //# 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=balanceHistoryCache.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanceHistoryCache.test.d.ts","sourceRoot":"","sources":["../../src/account/balanceHistoryCache.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ describe("date utils", () => {
5
+ describe("startOfHour", () => {
6
+ test("basic test", () => {
7
+ expect((0, _1.startOfHour)(new Date(1655827384305)).toISOString()).toBe("2022-06-21T16:00:00.000Z");
8
+ });
9
+ });
10
+ describe("startOfDay", () => {
11
+ test("basic test", () => {
12
+ expect((0, _1.startOfDay)(new Date(1655827384305)).toISOString()).toBe("2022-06-21T04:00:00.000Z");
13
+ });
14
+ });
15
+ describe("startOfWeek", () => {
16
+ test("basic test", () => {
17
+ expect((0, _1.startOfWeek)(new Date(1655827384305)).toISOString()).toBe("2022-06-19T04:00:00.000Z");
18
+ });
19
+ });
20
+ });
21
+ //# sourceMappingURL=balanceHistoryCache.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanceHistoryCache.test.js","sourceRoot":"","sources":["../../src/account/balanceHistoryCache.test.ts"],"names":[],"mappings":";;AAAA,wBAAyD;AAEzD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,IAAA,cAAW,EAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,IAAA,aAAU,EAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,IAAA,cAAW,EAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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,CAqHjB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,iBAAiB,GACrB,eAAe,CAGjB"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.groupAccountOperationsByDay = exports.groupAccountsOperationsByDay = void 0;
4
+ const helpers_1 = require("./helpers");
5
+ const operation_1 = require("../operation");
6
+ function startOfDay(t) {
7
+ return new Date(t.getFullYear(), t.getMonth(), t.getDate());
8
+ }
9
+ const emptyDailyOperations = {
10
+ sections: [],
11
+ completed: true,
12
+ };
13
+ const hasStableOperation = (account, hash) => account.operations.some(op => op.hash === hash);
14
+ /**
15
+ * @memberof account
16
+ */
17
+ function groupAccountsOperationsByDay(inputAccounts, { count, withSubAccounts, filterOperation }) {
18
+ const accounts = withSubAccounts ? (0, helpers_1.flattenAccounts)(inputAccounts) : inputAccounts;
19
+ // Track indexes of account.operations[] for each account
20
+ const indexes = Array(accounts.length).fill(0);
21
+ // Track indexes of account.pendingOperations[] for each account
22
+ const indexesPending = Array(accounts.length).fill(0);
23
+ // Returns the next most recent operation from the account with current indexes
24
+ function getNext() {
25
+ let bestOp;
26
+ let bestOpInfo = {
27
+ accountI: 0,
28
+ fromPending: false,
29
+ };
30
+ for (let i = 0; i < accounts.length; i++) {
31
+ const account = accounts[i];
32
+ // look in operations
33
+ let op = account.operations[indexes[i]];
34
+ if (filterOperation) {
35
+ // skip operation we want to filter out
36
+ while (op && !filterOperation(op, account)) {
37
+ op = account.operations[++indexes[i]];
38
+ }
39
+ }
40
+ if (op && (!bestOp || op.date > bestOp.date)) {
41
+ bestOp = op;
42
+ bestOpInfo = {
43
+ accountI: i,
44
+ fromPending: false,
45
+ };
46
+ }
47
+ // look in pending operations
48
+ let opP = account.pendingOperations[indexesPending[i]];
49
+ while (opP && // skip all pending operations that are already in operations
50
+ (hasStableOperation(account, opP.hash) || // but also if we want to filter it
51
+ (filterOperation && !filterOperation(opP, account)))) {
52
+ opP = account.pendingOperations[++indexesPending[i]];
53
+ }
54
+ if (opP && (!bestOp || opP.date > bestOp.date)) {
55
+ bestOp = opP;
56
+ bestOpInfo = {
57
+ accountI: i,
58
+ fromPending: true,
59
+ };
60
+ }
61
+ }
62
+ if (bestOp) {
63
+ if (bestOpInfo.fromPending) {
64
+ indexesPending[bestOpInfo.accountI]++;
65
+ }
66
+ else {
67
+ indexes[bestOpInfo.accountI]++;
68
+ }
69
+ const ops = (0, operation_1.flattenOperationWithInternalsAndNfts)(bestOp);
70
+ return {
71
+ ops,
72
+ date: bestOp.date,
73
+ };
74
+ }
75
+ }
76
+ let next = getNext();
77
+ if (!next)
78
+ return emptyDailyOperations;
79
+ const sections = [];
80
+ let totalOperations = 0;
81
+ let day = startOfDay(next.date);
82
+ let data = [];
83
+ while (totalOperations < count && next) {
84
+ if (next.date < day) {
85
+ if (data.length > 0) {
86
+ const slicedData = data.slice(0, count - totalOperations);
87
+ sections.push({
88
+ day,
89
+ data: slicedData,
90
+ });
91
+ totalOperations += slicedData.length;
92
+ }
93
+ day = startOfDay(next.date);
94
+ data = next.ops;
95
+ }
96
+ else {
97
+ data = data.concat(next.ops);
98
+ }
99
+ next = getNext();
100
+ }
101
+ if (data.length > 0 && totalOperations < count) {
102
+ sections.push({
103
+ day,
104
+ data,
105
+ });
106
+ }
107
+ return {
108
+ sections,
109
+ completed: !next,
110
+ };
111
+ }
112
+ exports.groupAccountsOperationsByDay = groupAccountsOperationsByDay;
113
+ /**
114
+ * Return a list of `{count}` operations grouped by day.
115
+ * @memberof account
116
+ */
117
+ function groupAccountOperationsByDay(account, arg) {
118
+ const accounts = [account];
119
+ return groupAccountsOperationsByDay(accounts, arg);
120
+ }
121
+ exports.groupAccountOperationsByDay = groupAccountOperationsByDay;
122
+ //# sourceMappingURL=groupOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupOperations.js","sourceRoot":"","sources":["../../src/account/groupOperations.ts"],"names":[],"mappings":";;;AAAA,uCAA4C;AAC5C,4CAAoE;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,MAAM,oBAAoB,GAAG;IAC3B,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,IAAI;CAChB,CAAC;AAOF,MAAM,kBAAkB,GAAG,CAAC,OAAoB,EAAE,IAAY,EAAE,EAAE,CAChE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAElD;;GAEG;AACH,SAAgB,4BAA4B,CAC1C,aAA+B,EAC/B,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,EAAqB;IAE9D,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,IAAA,yBAAe,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAClF,yDAAyD;IACzD,MAAM,OAAO,GAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,gEAAgE;IAChE,MAAM,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,MAAM,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,MAAM,GAAG,GAAG,IAAA,gDAAoC,EAAC,MAAM,CAAC,CAAC;YACzD,OAAO;gBACL,GAAG;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,MAAM,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,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC,CAAC;gBAC1D,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG;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;YACH,IAAI;SACL,CAAC,CAAC;KACJ;IAED,OAAO;QACL,QAAQ;QACR,SAAS,EAAE,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAxHD,oEAwHC;AAED;;;GAGG;AACH,SAAgB,2BAA2B,CACzC,OAAoB,EACpB,GAAsB;IAEtB,MAAM,QAAQ,GAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAND,kEAMC"}
@@ -0,0 +1,46 @@
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: <A extends Account>(account: A | SubAccount, parentAccount?: A | null | undefined) => A;
5
+ export declare const getFeesCurrency: (account?: AccountLike) => TokenCurrency | CryptoCurrency;
6
+ export declare const getFeesUnit: (currency: TokenCurrency | CryptoCurrency) => Unit;
7
+ export declare const getAccountCurrency: (account?: AccountLike) => TokenCurrency | CryptoCurrency;
8
+ export declare const getAccountUnit: (account: AccountLike) => Unit;
9
+ export declare const getAccountName: (account: AccountLike) => string;
10
+ export declare const getAccountSpendableBalance: (account: AccountLike) => BigNumber;
11
+ export declare const isAccountEmpty: (a: AccountLike) => boolean;
12
+ export declare function areAllOperationsLoaded(account: AccountLike): boolean;
13
+ export declare const isAccountBalanceSignificant: (a: AccountLike) => boolean;
14
+ export declare function clearAccount<T extends AccountLike>(account: T, familyClean?: (account: Account) => void): T;
15
+ export declare function findSubAccountById(account: Account, id: string): SubAccount | null | undefined;
16
+ export declare function listSubAccounts(account: Account): SubAccount[];
17
+ export type FlattenAccountsOptions = {
18
+ enforceHideEmptySubAccounts?: boolean;
19
+ };
20
+ export declare function flattenAccounts(topAccounts: AccountLikeArray, o?: FlattenAccountsOptions): AccountLike[];
21
+ export declare const shortAddressPreview: (addr: string, target?: number) => string;
22
+ export declare const isAccountBalanceUnconfirmed: (account: AccountLike) => boolean;
23
+ export declare const isUpToDateAccount: (account: Account | null | undefined) => boolean;
24
+ export declare const makeEmptyTokenAccount: (account: Account, token: TokenCurrency) => TokenAccount;
25
+ /**
26
+ * Enhance an account to force token accounts presence
27
+ */
28
+ export declare const accountWithMandatoryTokens: (account: Account, tokenCurrencies: TokenCurrency[]) => Account;
29
+ /**
30
+ * Patch account to enforce the removal of a blacklisted token
31
+ */
32
+ export declare const withoutToken: (account: Account, tokenId: string) => Account;
33
+ /**
34
+ * Find matching pair of subAccount/parentAccount for a given token curency
35
+ * if no subAccount found will return parentAccount or null if no matches found
36
+ */
37
+ export declare const findTokenAccountByCurrency: (tokenCurrency: TokenCurrency, accounts: Account[]) => {
38
+ account?: SubAccount;
39
+ parentAccount: Account;
40
+ } | null | undefined;
41
+ export declare function isAccount(account?: AccountLike): account is Account;
42
+ export declare function isTokenAccount(account?: AccountLike): account is TokenAccount;
43
+ export declare function isChildAccount(account?: AccountLike): account is ChildAccount;
44
+ export declare function isSubAccount(account?: AccountLike): account is SubAccount;
45
+ export declare function getParentAccount(account: AccountLike, accounts: AccountLike[]): Account;
46
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/account/helpers.ts"],"names":[],"mappings":"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"}