@ledgerhq/coin-framework 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/lib/account/accountId.d.ts +16 -0
  2. package/lib/account/accountId.d.ts.map +1 -0
  3. package/lib/account/accountId.js +85 -0
  4. package/lib/account/accountId.js.map +1 -0
  5. package/lib/account/accountName.d.ts +14 -0
  6. package/lib/account/accountName.d.ts.map +1 -0
  7. package/lib/account/accountName.js +17 -0
  8. package/lib/account/accountName.js.map +1 -0
  9. package/lib/account/addAccounts.d.ts +35 -0
  10. package/lib/account/addAccounts.d.ts.map +1 -0
  11. package/lib/account/addAccounts.js +209 -0
  12. package/lib/account/addAccounts.js.map +1 -0
  13. package/lib/account/balanceHistoryCache.d.ts +25 -0
  14. package/lib/account/balanceHistoryCache.d.ts.map +1 -0
  15. package/lib/account/balanceHistoryCache.js +115 -0
  16. package/lib/account/balanceHistoryCache.js.map +1 -0
  17. package/lib/account/groupOperations.d.ts +17 -0
  18. package/lib/account/groupOperations.d.ts.map +1 -0
  19. package/lib/account/groupOperations.js +127 -0
  20. package/lib/account/groupOperations.js.map +1 -0
  21. package/lib/account/helpers.d.ts +44 -0
  22. package/lib/account/helpers.d.ts.map +1 -0
  23. package/lib/account/helpers.js +333 -0
  24. package/lib/account/helpers.js.map +1 -0
  25. package/lib/account/helpers.test.d.ts +2 -0
  26. package/lib/account/helpers.test.d.ts.map +1 -0
  27. package/lib/account/helpers.test.js +366 -0
  28. package/lib/account/helpers.test.js.map +1 -0
  29. package/lib/account/index.d.ts +11 -0
  30. package/lib/account/index.d.ts.map +1 -0
  31. package/lib/account/index.js +27 -0
  32. package/lib/account/index.js.map +1 -0
  33. package/lib/account/ordering.d.ts +10 -0
  34. package/lib/account/ordering.d.ts.map +1 -0
  35. package/lib/account/ordering.js +110 -0
  36. package/lib/account/ordering.js.map +1 -0
  37. package/lib/account/pending.d.ts +33 -0
  38. package/lib/account/pending.d.ts.map +1 -0
  39. package/lib/account/pending.js +64 -0
  40. package/lib/account/pending.js.map +1 -0
  41. package/lib/account/serialization.d.ts +6 -0
  42. package/lib/account/serialization.d.ts.map +1 -0
  43. package/lib/account/serialization.js +118 -0
  44. package/lib/account/serialization.js.map +1 -0
  45. package/lib/account/support.d.ts +9 -0
  46. package/lib/account/support.d.ts.map +1 -0
  47. package/lib/account/support.js +72 -0
  48. package/lib/account/support.js.map +1 -0
  49. package/lib/account.test.d.ts +2 -0
  50. package/lib/account.test.d.ts.map +1 -0
  51. package/lib/account.test.js +257 -0
  52. package/lib/account.test.js.map +1 -0
  53. package/lib/bot/bot-test-context.d.ts +3 -0
  54. package/lib/bot/bot-test-context.d.ts.map +1 -0
  55. package/lib/bot/bot-test-context.js +26 -0
  56. package/lib/bot/bot-test-context.js.map +1 -0
  57. package/lib/bot/bot-test-context.test.d.ts +2 -0
  58. package/lib/bot/bot-test-context.test.d.ts.map +1 -0
  59. package/lib/bot/bot-test-context.test.js +41 -0
  60. package/lib/bot/bot-test-context.test.js.map +1 -0
  61. package/lib/bot/formatters.d.ts +2 -0
  62. package/lib/bot/formatters.d.ts.map +1 -0
  63. package/lib/bot/formatters.js +31 -0
  64. package/lib/bot/formatters.js.map +1 -0
  65. package/lib/bot/specs.d.ts +50 -0
  66. package/lib/bot/specs.d.ts.map +1 -0
  67. package/lib/bot/specs.js +204 -0
  68. package/lib/bot/specs.js.map +1 -0
  69. package/lib/bot/types.d.ts +178 -0
  70. package/lib/bot/types.d.ts.map +1 -0
  71. package/lib/bot/types.js +3 -0
  72. package/lib/bot/types.js.map +1 -0
  73. package/lib/bridge/getAddressWrapper.d.ts +6 -0
  74. package/lib/bridge/getAddressWrapper.d.ts.map +1 -0
  75. package/lib/bridge/getAddressWrapper.js +27 -0
  76. package/lib/bridge/getAddressWrapper.js.map +1 -0
  77. package/lib/bridge/jsHelpers.d.ts +63 -0
  78. package/lib/bridge/jsHelpers.d.ts.map +1 -0
  79. package/lib/bridge/jsHelpers.js +574 -0
  80. package/lib/bridge/jsHelpers.js.map +1 -0
  81. package/lib/cache.d.ts +10 -0
  82. package/lib/cache.d.ts.map +1 -0
  83. package/lib/cache.js +100 -0
  84. package/lib/cache.js.map +1 -0
  85. package/lib/cross.d.ts +42 -0
  86. package/lib/cross.d.ts.map +1 -0
  87. package/lib/cross.js +254 -0
  88. package/lib/cross.js.map +1 -0
  89. package/lib/cross.test.d.ts +2 -0
  90. package/lib/cross.test.d.ts.map +1 -0
  91. package/lib/cross.test.js +99 -0
  92. package/lib/cross.test.js.map +1 -0
  93. package/lib/currencies/BigNumberToLocaleString.d.ts +8 -0
  94. package/lib/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  95. package/lib/currencies/BigNumberToLocaleString.js +65 -0
  96. package/lib/currencies/BigNumberToLocaleString.js.map +1 -0
  97. package/lib/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  98. package/lib/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  99. package/lib/currencies/BigNumberToLocaleString.test.js +108 -0
  100. package/lib/currencies/BigNumberToLocaleString.test.js.map +1 -0
  101. package/lib/currencies/CurrencyURIScheme.d.ts +13 -0
  102. package/lib/currencies/CurrencyURIScheme.d.ts.map +1 -0
  103. package/lib/currencies/CurrencyURIScheme.js +124 -0
  104. package/lib/currencies/CurrencyURIScheme.js.map +1 -0
  105. package/lib/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  106. package/lib/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  107. package/lib/currencies/chopCurrencyUnitDecimals.js +29 -0
  108. package/lib/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  109. package/lib/currencies/formatCurrencyUnit.d.ts +33 -0
  110. package/lib/currencies/formatCurrencyUnit.d.ts.map +1 -0
  111. package/lib/currencies/formatCurrencyUnit.js +126 -0
  112. package/lib/currencies/formatCurrencyUnit.js.map +1 -0
  113. package/lib/currencies/formatShort.d.ts +8 -0
  114. package/lib/currencies/formatShort.d.ts.map +1 -0
  115. package/lib/currencies/formatShort.js +27 -0
  116. package/lib/currencies/formatShort.js.map +1 -0
  117. package/lib/currencies/index.d.ts +13 -0
  118. package/lib/currencies/index.d.ts.map +1 -0
  119. package/lib/currencies/index.js +65 -0
  120. package/lib/currencies/index.js.map +1 -0
  121. package/lib/currencies/localeUtility.d.ts +8 -0
  122. package/lib/currencies/localeUtility.d.ts.map +1 -0
  123. package/lib/currencies/localeUtility.js +49 -0
  124. package/lib/currencies/localeUtility.js.map +1 -0
  125. package/lib/currencies/parseCurrencyUnit.d.ts +4 -0
  126. package/lib/currencies/parseCurrencyUnit.d.ts.map +1 -0
  127. package/lib/currencies/parseCurrencyUnit.js +18 -0
  128. package/lib/currencies/parseCurrencyUnit.js.map +1 -0
  129. package/lib/currencies/sanitizeValueString.d.ts +6 -0
  130. package/lib/currencies/sanitizeValueString.d.ts.map +1 -0
  131. package/lib/currencies/sanitizeValueString.js +56 -0
  132. package/lib/currencies/sanitizeValueString.js.map +1 -0
  133. package/lib/currencies/support.d.ts +8 -0
  134. package/lib/currencies/support.d.ts.map +1 -0
  135. package/lib/currencies/support.js +101 -0
  136. package/lib/currencies/support.js.map +1 -0
  137. package/lib/currencies/valueFromUnit.d.ts +9 -0
  138. package/lib/currencies/valueFromUnit.d.ts.map +1 -0
  139. package/lib/currencies/valueFromUnit.js +14 -0
  140. package/lib/currencies/valueFromUnit.js.map +1 -0
  141. package/lib/derivation.d.ts +232 -0
  142. package/lib/derivation.d.ts.map +1 -0
  143. package/lib/derivation.js +501 -0
  144. package/lib/derivation.js.map +1 -0
  145. package/lib/env.d.ts +30 -0
  146. package/lib/env.d.ts.map +1 -0
  147. package/lib/env.js +773 -0
  148. package/lib/env.js.map +1 -0
  149. package/lib/errors.d.ts +7 -0
  150. package/lib/errors.d.ts.map +1 -0
  151. package/lib/errors.js +7 -0
  152. package/lib/errors.js.map +1 -0
  153. package/lib/errors.test.d.ts +2 -0
  154. package/lib/errors.test.d.ts.map +1 -0
  155. package/lib/errors.test.js +20 -0
  156. package/lib/errors.test.js.map +1 -0
  157. package/lib/mocks/account.d.ts +25 -0
  158. package/lib/mocks/account.d.ts.map +1 -0
  159. package/lib/mocks/account.js +368 -0
  160. package/lib/mocks/account.js.map +1 -0
  161. package/lib/mocks/fixtures/nfts.d.ts +27 -0
  162. package/lib/mocks/fixtures/nfts.d.ts.map +1 -0
  163. package/lib/mocks/fixtures/nfts.js +398 -0
  164. package/lib/mocks/fixtures/nfts.js.map +1 -0
  165. package/lib/mocks/fixtures/nfts.test.d.ts +2 -0
  166. package/lib/mocks/fixtures/nfts.test.d.ts.map +1 -0
  167. package/lib/mocks/fixtures/nfts.test.js +20 -0
  168. package/lib/mocks/fixtures/nfts.test.js.map +1 -0
  169. package/lib/mocks/helpers.d.ts +15 -0
  170. package/lib/mocks/helpers.d.ts.map +1 -0
  171. package/lib/mocks/helpers.js +32 -0
  172. package/lib/mocks/helpers.js.map +1 -0
  173. package/lib/network.d.ts +5 -0
  174. package/lib/network.d.ts.map +1 -0
  175. package/lib/network.js +125 -0
  176. package/lib/network.js.map +1 -0
  177. package/lib/nft/nftId.d.ts +8 -0
  178. package/lib/nft/nftId.d.ts.map +1 -0
  179. package/lib/nft/nftId.js +34 -0
  180. package/lib/nft/nftId.js.map +1 -0
  181. package/lib/operation.d.ts +24 -0
  182. package/lib/operation.d.ts.map +1 -0
  183. package/lib/operation.js +183 -0
  184. package/lib/operation.js.map +1 -0
  185. package/lib/promise.d.ts +21 -0
  186. package/lib/promise.d.ts.map +1 -0
  187. package/lib/promise.js +187 -0
  188. package/lib/promise.js.map +1 -0
  189. package/lib/promise.test.d.ts +2 -0
  190. package/lib/promise.test.d.ts.map +1 -0
  191. package/lib/promise.test.js +72 -0
  192. package/lib/promise.test.js.map +1 -0
  193. package/lib/rangeDates.d.ts +29 -0
  194. package/lib/rangeDates.d.ts.map +1 -0
  195. package/lib/rangeDates.js +94 -0
  196. package/lib/rangeDates.js.map +1 -0
  197. package/lib/rangeDates.test.d.ts +2 -0
  198. package/lib/rangeDates.test.d.ts.map +1 -0
  199. package/lib/rangeDates.test.js +51 -0
  200. package/lib/rangeDates.test.js.map +1 -0
  201. package/lib/test-helpers/staticTime.d.ts +2 -0
  202. package/lib/test-helpers/staticTime.d.ts.map +1 -0
  203. package/lib/test-helpers/staticTime.js +10 -0
  204. package/lib/test-helpers/staticTime.js.map +1 -0
  205. package/lib/transaction/common.d.ts +26 -0
  206. package/lib/transaction/common.d.ts.map +1 -0
  207. package/lib/transaction/common.js +123 -0
  208. package/lib/transaction/common.js.map +1 -0
  209. package/lib-es/account/accountId.d.ts +16 -0
  210. package/lib-es/account/accountId.d.ts.map +1 -0
  211. package/lib-es/account/accountId.js +74 -0
  212. package/lib-es/account/accountId.js.map +1 -0
  213. package/lib-es/account/accountName.d.ts +14 -0
  214. package/lib-es/account/accountName.d.ts.map +1 -0
  215. package/lib-es/account/accountName.js +12 -0
  216. package/lib-es/account/accountName.js.map +1 -0
  217. package/lib-es/account/addAccounts.d.ts +35 -0
  218. package/lib-es/account/addAccounts.d.ts.map +1 -0
  219. package/lib-es/account/addAccounts.js +200 -0
  220. package/lib-es/account/addAccounts.js.map +1 -0
  221. package/lib-es/account/balanceHistoryCache.d.ts +25 -0
  222. package/lib-es/account/balanceHistoryCache.d.ts.map +1 -0
  223. package/lib-es/account/balanceHistoryCache.js +109 -0
  224. package/lib-es/account/balanceHistoryCache.js.map +1 -0
  225. package/lib-es/account/groupOperations.d.ts +17 -0
  226. package/lib-es/account/groupOperations.d.ts.map +1 -0
  227. package/lib-es/account/groupOperations.js +122 -0
  228. package/lib-es/account/groupOperations.js.map +1 -0
  229. package/lib-es/account/helpers.d.ts +44 -0
  230. package/lib-es/account/helpers.d.ts.map +1 -0
  231. package/lib-es/account/helpers.js +303 -0
  232. package/lib-es/account/helpers.js.map +1 -0
  233. package/lib-es/account/helpers.test.d.ts +2 -0
  234. package/lib-es/account/helpers.test.d.ts.map +1 -0
  235. package/lib-es/account/helpers.test.js +361 -0
  236. package/lib-es/account/helpers.test.js.map +1 -0
  237. package/lib-es/account/index.d.ts +11 -0
  238. package/lib-es/account/index.d.ts.map +1 -0
  239. package/lib-es/account/index.js +11 -0
  240. package/lib-es/account/index.js.map +1 -0
  241. package/lib-es/account/ordering.d.ts +10 -0
  242. package/lib-es/account/ordering.d.ts.map +1 -0
  243. package/lib-es/account/ordering.js +103 -0
  244. package/lib-es/account/ordering.js.map +1 -0
  245. package/lib-es/account/pending.d.ts +33 -0
  246. package/lib-es/account/pending.d.ts.map +1 -0
  247. package/lib-es/account/pending.js +59 -0
  248. package/lib-es/account/pending.js.map +1 -0
  249. package/lib-es/account/serialization.d.ts +6 -0
  250. package/lib-es/account/serialization.d.ts.map +1 -0
  251. package/lib-es/account/serialization.js +112 -0
  252. package/lib-es/account/serialization.js.map +1 -0
  253. package/lib-es/account/support.d.ts +9 -0
  254. package/lib-es/account/support.d.ts.map +1 -0
  255. package/lib-es/account/support.js +64 -0
  256. package/lib-es/account/support.js.map +1 -0
  257. package/lib-es/account.test.d.ts +2 -0
  258. package/lib-es/account.test.d.ts.map +1 -0
  259. package/lib-es/account.test.js +252 -0
  260. package/lib-es/account.test.js.map +1 -0
  261. package/lib-es/bot/bot-test-context.d.ts +3 -0
  262. package/lib-es/bot/bot-test-context.d.ts.map +1 -0
  263. package/lib-es/bot/bot-test-context.js +21 -0
  264. package/lib-es/bot/bot-test-context.js.map +1 -0
  265. package/lib-es/bot/bot-test-context.test.d.ts +2 -0
  266. package/lib-es/bot/bot-test-context.test.d.ts.map +1 -0
  267. package/lib-es/bot/bot-test-context.test.js +39 -0
  268. package/lib-es/bot/bot-test-context.test.js.map +1 -0
  269. package/lib-es/bot/formatters.d.ts +2 -0
  270. package/lib-es/bot/formatters.d.ts.map +1 -0
  271. package/lib-es/bot/formatters.js +27 -0
  272. package/lib-es/bot/formatters.js.map +1 -0
  273. package/lib-es/bot/specs.d.ts +50 -0
  274. package/lib-es/bot/specs.d.ts.map +1 -0
  275. package/lib-es/bot/specs.js +193 -0
  276. package/lib-es/bot/specs.js.map +1 -0
  277. package/lib-es/bot/types.d.ts +178 -0
  278. package/lib-es/bot/types.d.ts.map +1 -0
  279. package/lib-es/bot/types.js +2 -0
  280. package/lib-es/bot/types.js.map +1 -0
  281. package/lib-es/bridge/getAddressWrapper.d.ts +6 -0
  282. package/lib-es/bridge/getAddressWrapper.d.ts.map +1 -0
  283. package/lib-es/bridge/getAddressWrapper.js +25 -0
  284. package/lib-es/bridge/getAddressWrapper.js.map +1 -0
  285. package/lib-es/bridge/jsHelpers.d.ts +63 -0
  286. package/lib-es/bridge/jsHelpers.d.ts.map +1 -0
  287. package/lib-es/bridge/jsHelpers.js +562 -0
  288. package/lib-es/bridge/jsHelpers.js.map +1 -0
  289. package/lib-es/cache.d.ts +10 -0
  290. package/lib-es/cache.d.ts.map +1 -0
  291. package/lib-es/cache.js +93 -0
  292. package/lib-es/cache.js.map +1 -0
  293. package/lib-es/cross.d.ts +42 -0
  294. package/lib-es/cross.d.ts.map +1 -0
  295. package/lib-es/cross.js +244 -0
  296. package/lib-es/cross.js.map +1 -0
  297. package/lib-es/cross.test.d.ts +2 -0
  298. package/lib-es/cross.test.d.ts.map +1 -0
  299. package/lib-es/cross.test.js +97 -0
  300. package/lib-es/cross.test.js.map +1 -0
  301. package/lib-es/currencies/BigNumberToLocaleString.d.ts +8 -0
  302. package/lib-es/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  303. package/lib-es/currencies/BigNumberToLocaleString.js +61 -0
  304. package/lib-es/currencies/BigNumberToLocaleString.js.map +1 -0
  305. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  306. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  307. package/lib-es/currencies/BigNumberToLocaleString.test.js +106 -0
  308. package/lib-es/currencies/BigNumberToLocaleString.test.js.map +1 -0
  309. package/lib-es/currencies/CurrencyURIScheme.d.ts +13 -0
  310. package/lib-es/currencies/CurrencyURIScheme.d.ts.map +1 -0
  311. package/lib-es/currencies/CurrencyURIScheme.js +116 -0
  312. package/lib-es/currencies/CurrencyURIScheme.js.map +1 -0
  313. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  314. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  315. package/lib-es/currencies/chopCurrencyUnitDecimals.js +25 -0
  316. package/lib-es/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  317. package/lib-es/currencies/formatCurrencyUnit.d.ts +33 -0
  318. package/lib-es/currencies/formatCurrencyUnit.d.ts.map +1 -0
  319. package/lib-es/currencies/formatCurrencyUnit.js +121 -0
  320. package/lib-es/currencies/formatCurrencyUnit.js.map +1 -0
  321. package/lib-es/currencies/formatShort.d.ts +8 -0
  322. package/lib-es/currencies/formatShort.d.ts.map +1 -0
  323. package/lib-es/currencies/formatShort.js +20 -0
  324. package/lib-es/currencies/formatShort.js.map +1 -0
  325. package/lib-es/currencies/index.d.ts +13 -0
  326. package/lib-es/currencies/index.d.ts.map +1 -0
  327. package/lib-es/currencies/index.js +16 -0
  328. package/lib-es/currencies/index.js.map +1 -0
  329. package/lib-es/currencies/localeUtility.d.ts +8 -0
  330. package/lib-es/currencies/localeUtility.d.ts.map +1 -0
  331. package/lib-es/currencies/localeUtility.js +43 -0
  332. package/lib-es/currencies/localeUtility.js.map +1 -0
  333. package/lib-es/currencies/parseCurrencyUnit.d.ts +4 -0
  334. package/lib-es/currencies/parseCurrencyUnit.d.ts.map +1 -0
  335. package/lib-es/currencies/parseCurrencyUnit.js +14 -0
  336. package/lib-es/currencies/parseCurrencyUnit.js.map +1 -0
  337. package/lib-es/currencies/sanitizeValueString.d.ts +6 -0
  338. package/lib-es/currencies/sanitizeValueString.d.ts.map +1 -0
  339. package/lib-es/currencies/sanitizeValueString.js +52 -0
  340. package/lib-es/currencies/sanitizeValueString.js.map +1 -0
  341. package/lib-es/currencies/support.d.ts +8 -0
  342. package/lib-es/currencies/support.d.ts.map +1 -0
  343. package/lib-es/currencies/support.js +92 -0
  344. package/lib-es/currencies/support.js.map +1 -0
  345. package/lib-es/currencies/valueFromUnit.d.ts +9 -0
  346. package/lib-es/currencies/valueFromUnit.d.ts.map +1 -0
  347. package/lib-es/currencies/valueFromUnit.js +10 -0
  348. package/lib-es/currencies/valueFromUnit.js.map +1 -0
  349. package/lib-es/derivation.d.ts +232 -0
  350. package/lib-es/derivation.d.ts.map +1 -0
  351. package/lib-es/derivation.js +473 -0
  352. package/lib-es/derivation.js.map +1 -0
  353. package/lib-es/env.d.ts +30 -0
  354. package/lib-es/env.d.ts.map +1 -0
  355. package/lib-es/env.js +758 -0
  356. package/lib-es/env.js.map +1 -0
  357. package/lib-es/errors.d.ts +7 -0
  358. package/lib-es/errors.d.ts.map +1 -0
  359. package/lib-es/errors.js +4 -0
  360. package/lib-es/errors.js.map +1 -0
  361. package/lib-es/errors.test.d.ts +2 -0
  362. package/lib-es/errors.test.d.ts.map +1 -0
  363. package/lib-es/errors.test.js +18 -0
  364. package/lib-es/errors.test.js.map +1 -0
  365. package/lib-es/mocks/account.d.ts +25 -0
  366. package/lib-es/mocks/account.d.ts.map +1 -0
  367. package/lib-es/mocks/account.js +358 -0
  368. package/lib-es/mocks/account.js.map +1 -0
  369. package/lib-es/mocks/fixtures/nfts.d.ts +27 -0
  370. package/lib-es/mocks/fixtures/nfts.d.ts.map +1 -0
  371. package/lib-es/mocks/fixtures/nfts.js +390 -0
  372. package/lib-es/mocks/fixtures/nfts.js.map +1 -0
  373. package/lib-es/mocks/fixtures/nfts.test.d.ts +2 -0
  374. package/lib-es/mocks/fixtures/nfts.test.d.ts.map +1 -0
  375. package/lib-es/mocks/fixtures/nfts.test.js +18 -0
  376. package/lib-es/mocks/fixtures/nfts.test.js.map +1 -0
  377. package/lib-es/mocks/helpers.d.ts +15 -0
  378. package/lib-es/mocks/helpers.d.ts.map +1 -0
  379. package/lib-es/mocks/helpers.js +26 -0
  380. package/lib-es/mocks/helpers.js.map +1 -0
  381. package/lib-es/network.d.ts +5 -0
  382. package/lib-es/network.d.ts.map +1 -0
  383. package/lib-es/network.js +118 -0
  384. package/lib-es/network.js.map +1 -0
  385. package/lib-es/nft/nftId.d.ts +8 -0
  386. package/lib-es/nft/nftId.d.ts.map +1 -0
  387. package/lib-es/nft/nftId.js +29 -0
  388. package/lib-es/nft/nftId.js.map +1 -0
  389. package/lib-es/operation.d.ts +24 -0
  390. package/lib-es/operation.d.ts.map +1 -0
  391. package/lib-es/operation.js +168 -0
  392. package/lib-es/operation.js.map +1 -0
  393. package/lib-es/promise.d.ts +21 -0
  394. package/lib-es/promise.d.ts.map +1 -0
  395. package/lib-es/promise.js +179 -0
  396. package/lib-es/promise.js.map +1 -0
  397. package/lib-es/promise.test.d.ts +2 -0
  398. package/lib-es/promise.test.d.ts.map +1 -0
  399. package/lib-es/promise.test.js +70 -0
  400. package/lib-es/promise.test.js.map +1 -0
  401. package/lib-es/rangeDates.d.ts +29 -0
  402. package/lib-es/rangeDates.d.ts.map +1 -0
  403. package/lib-es/rangeDates.js +84 -0
  404. package/lib-es/rangeDates.js.map +1 -0
  405. package/lib-es/rangeDates.test.d.ts +2 -0
  406. package/lib-es/rangeDates.test.d.ts.map +1 -0
  407. package/lib-es/rangeDates.test.js +49 -0
  408. package/lib-es/rangeDates.test.js.map +1 -0
  409. package/lib-es/test-helpers/staticTime.d.ts +2 -0
  410. package/lib-es/test-helpers/staticTime.d.ts.map +1 -0
  411. package/lib-es/test-helpers/staticTime.js +5 -0
  412. package/lib-es/test-helpers/staticTime.js.map +1 -0
  413. package/lib-es/transaction/common.d.ts +26 -0
  414. package/lib-es/transaction/common.d.ts.map +1 -0
  415. package/lib-es/transaction/common.js +115 -0
  416. package/lib-es/transaction/common.js.map +1 -0
  417. package/package.json +113 -0
  418. package/src/__snapshots__/account.test.ts.snap +2065 -0
  419. package/src/__snapshots__/cross.test.ts.snap +57 -0
  420. package/src/account/accountId.ts +93 -0
  421. package/src/account/accountName.ts +25 -0
  422. package/src/account/addAccounts.ts +236 -0
  423. package/src/account/balanceHistoryCache.ts +146 -0
  424. package/src/account/groupOperations.ts +164 -0
  425. package/src/account/helpers.test.ts +441 -0
  426. package/src/account/helpers.ts +380 -0
  427. package/src/account/index.ts +10 -0
  428. package/src/account/ordering.ts +109 -0
  429. package/src/account/pending.ts +66 -0
  430. package/src/account/serialization.ts +189 -0
  431. package/src/account/support.ts +96 -0
  432. package/src/account.test.ts +237 -0
  433. package/src/bot/bot-test-context.test.ts +37 -0
  434. package/src/bot/bot-test-context.ts +24 -0
  435. package/src/bot/formatters.ts +22 -0
  436. package/src/bot/specs.ts +275 -0
  437. package/src/bot/types.ts +224 -0
  438. package/src/bridge/getAddressWrapper.ts +40 -0
  439. package/src/bridge/jsHelpers.ts +645 -0
  440. package/src/cache.ts +65 -0
  441. package/src/cross.test.ts +112 -0
  442. package/src/cross.ts +366 -0
  443. package/src/currencies/BigNumberToLocaleString.test.ts +155 -0
  444. package/src/currencies/BigNumberToLocaleString.ts +80 -0
  445. package/src/currencies/CurrencyURIScheme.ts +114 -0
  446. package/src/currencies/chopCurrencyUnitDecimals.ts +34 -0
  447. package/src/currencies/formatCurrencyUnit.ts +167 -0
  448. package/src/currencies/formatShort.ts +24 -0
  449. package/src/currencies/index.ts +78 -0
  450. package/src/currencies/localeUtility.ts +50 -0
  451. package/src/currencies/parseCurrencyUnit.ts +16 -0
  452. package/src/currencies/sanitizeValueString.ts +58 -0
  453. package/src/currencies/support.ts +107 -0
  454. package/src/currencies/valueFromUnit.ts +10 -0
  455. package/src/derivation.ts +595 -0
  456. package/src/env.ts +780 -0
  457. package/src/errors.test.ts +21 -0
  458. package/src/errors.ts +9 -0
  459. package/src/mocks/account.ts +476 -0
  460. package/src/mocks/fixtures/nfts.test.ts +25 -0
  461. package/src/mocks/fixtures/nfts.ts +432 -0
  462. package/src/mocks/helpers.ts +38 -0
  463. package/src/network.ts +135 -0
  464. package/src/nft/nftId.ts +26 -0
  465. package/src/operation.ts +212 -0
  466. package/src/promise.test.ts +20 -0
  467. package/src/promise.ts +101 -0
  468. package/src/rangeDates.test.ts +66 -0
  469. package/src/rangeDates.ts +96 -0
  470. package/src/test-helpers/staticTime.ts +4 -0
  471. package/src/transaction/common.ts +157 -0
@@ -0,0 +1,93 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __read = (this && this.__read) || function (o, n) {
13
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
14
+ if (!m) return o;
15
+ var i = m.call(o), r, ar = [], e;
16
+ try {
17
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
+ }
19
+ catch (error) { e = { error: error }; }
20
+ finally {
21
+ try {
22
+ if (r && !r.done && (m = i["return"])) m.call(i);
23
+ }
24
+ finally { if (e) throw e.error; }
25
+ }
26
+ return ar;
27
+ };
28
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
29
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
+ if (ar || !(i in from)) {
31
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
+ ar[i] = from[i];
33
+ }
34
+ }
35
+ return to.concat(ar || Array.prototype.slice.call(from));
36
+ };
37
+ import LRU from "lru-cache";
38
+ export var makeLRUCache = function (f, keyExtractor, lruOpts) {
39
+ if (keyExtractor === void 0) { keyExtractor = function () { return ""; }; }
40
+ if (lruOpts === void 0) { lruOpts = {
41
+ max: 100,
42
+ ttl: 5 * 60 * 1000
43
+ }; }
44
+ // LRU-Cache is written in JS and do not enforce in its code the type checking.
45
+ // Regarding its [documentation](https://github.com/isaacs/node-lru-cache/#ttl), `max` or `ttlAutopurge` must be set.
46
+ // As the code in live use sometimes `max` property with `ttl`, we check it's defined in `lruOpts` to add or not `ttlAutopurge`.
47
+ // eslint-disable-next-line
48
+ // @ts-ignore: TS-2339
49
+ lruOpts = lruOpts.max
50
+ ? lruOpts
51
+ : __assign(__assign({}, lruOpts), { ttlAutopurge: true });
52
+ var cache = new LRU(lruOpts);
53
+ var result = function () {
54
+ var args = [];
55
+ for (var _i = 0; _i < arguments.length; _i++) {
56
+ args[_i] = arguments[_i];
57
+ }
58
+ var key = keyExtractor.apply(void 0, __spreadArray([], __read(args), false));
59
+ var promise = cache.get(key);
60
+ if (promise)
61
+ return promise;
62
+ promise = f.apply(void 0, __spreadArray([], __read(args), false))["catch"](function (e) {
63
+ cache.del(key);
64
+ throw e;
65
+ });
66
+ cache.set(key, promise);
67
+ return promise;
68
+ };
69
+ result.force = function () {
70
+ var args = [];
71
+ for (var _i = 0; _i < arguments.length; _i++) {
72
+ args[_i] = arguments[_i];
73
+ }
74
+ var key = keyExtractor.apply(void 0, __spreadArray([], __read(args), false));
75
+ var promise = f.apply(void 0, __spreadArray([], __read(args), false))["catch"](function (e) {
76
+ cache.del(key);
77
+ throw e;
78
+ });
79
+ cache.set(key, promise);
80
+ return promise;
81
+ };
82
+ result.hydrate = function (key, value) {
83
+ cache.set(key, Promise.resolve(value));
84
+ };
85
+ result.clear = function (key) {
86
+ cache.del(key);
87
+ };
88
+ result.reset = function () {
89
+ cache.reset();
90
+ };
91
+ return result;
92
+ };
93
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,GAAG,MAAM,WAAW,CAAC;AAQ5B,MAAM,CAAC,IAAM,YAAY,GAAG,UAC1B,CAA6B,EAC7B,YAA+C,EAC/C,OAGC;IAJD,6BAAA,EAAA,6BAA6C,OAAA,EAAE,EAAF,CAAE;IAC/C,wBAAA,EAAA;QACE,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;KACnB;IAED,+EAA+E;IAC/E,qHAAqH;IACrH,gIAAgI;IAChI,2BAA2B;IAC3B,sBAAsB;IACtB,OAAO,GAAG,OAAO,CAAC,GAAG;QACnB,CAAC,CAAC,OAAO;QACT,CAAC,uBACM,OAAO,KACV,YAAY,EAAE,IAAI,GACnB,CAAC;IACN,IAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAE/B,IAAM,MAAM,GAAG;QAAC,cAAU;aAAV,UAAU,EAAV,qBAAU,EAAV,IAAU;YAAV,yBAAU;;QACxB,IAAM,GAAG,GAAG,YAAY,wCAAI,IAAI,UAAC,CAAC;QAClC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,OAAO,GAAG,CAAC,wCAAI,IAAI,WAAE,OAAK,CAAA,CAAC,UAAC,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QAAC,cAAU;aAAV,UAAU,EAAV,qBAAU,EAAV,IAAU;YAAV,yBAAU;;QACxB,IAAM,GAAG,GAAG,YAAY,wCAAI,IAAI,UAAC,CAAC;QAClC,IAAM,OAAO,GAAG,CAAC,wCAAI,IAAI,WAAE,OAAK,CAAA,CAAC,UAAC,CAAC;YACjC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,CAAC,OAAO,GAAG,UAAC,GAAW,EAAE,KAAQ;QACrC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,UAAC,GAAW;QACzB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { Account, CryptoCurrencyIds } from "@ledgerhq/types-live";
2
+ export type AccountData = {
3
+ id: string;
4
+ currencyId: string;
5
+ freshAddress?: string;
6
+ seedIdentifier: string;
7
+ derivationMode: string;
8
+ name: string;
9
+ index: number;
10
+ balance: string;
11
+ };
12
+ export type CryptoSettings = {
13
+ confirmationsNb?: number;
14
+ };
15
+ export type Settings = {
16
+ counterValue?: string;
17
+ currenciesSettings: Record<CryptoCurrencyIds, CryptoSettings>;
18
+ pairExchanges: Record<string, string | null | undefined>;
19
+ blacklistedTokenIds?: string[];
20
+ hideEmptyTokenAccounts?: boolean;
21
+ };
22
+ export type DataIn = {
23
+ accounts: Account[];
24
+ settings: Settings;
25
+ exporterName: string;
26
+ exporterVersion: string;
27
+ };
28
+ type Meta = {
29
+ exporterName: string;
30
+ exporterVersion: string;
31
+ };
32
+ export type Result = {
33
+ accounts: AccountData[];
34
+ settings: Settings;
35
+ meta: Meta;
36
+ };
37
+ export declare function encode({ accounts, settings, exporterName, exporterVersion, }: DataIn): string;
38
+ export declare function decode(bytes: string): Result;
39
+ export declare function accountToAccountData({ id, name, seedIdentifier, derivationMode, freshAddress, currency, index, balance, }: Account): AccountData;
40
+ export declare const accountDataToAccount: ({ id, currencyId, freshAddress: inputFreshAddress, name, index, balance, derivationMode: derivationModeStr, seedIdentifier, }: AccountData) => Account;
41
+ export {};
42
+ //# sourceMappingURL=cross.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross.d.ts","sourceRoot":"","sources":["../src/cross.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAC9D,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACzD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAEnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IAEpB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IAErB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,eAAe,GAChB,EAAE,MAAM,GAAG,MAAM,CAejB;AAwKD,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgB5C;AACD,wBAAgB,oBAAoB,CAAC,EACnC,EAAE,EACF,IAAI,EACJ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,OAAO,GACR,EAAE,OAAO,GAAG,WAAW,CAavB;AAID,eAAO,MAAM,oBAAoB,kIAS9B,WAAW,KAAG,OAmEhB,CAAC"}
@@ -0,0 +1,244 @@
1
+ var __values = (this && this.__values) || function(o) {
2
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3
+ if (m) return m.call(o);
4
+ if (o && typeof o.length === "number") return {
5
+ next: function () {
6
+ if (o && i >= o.length) o = void 0;
7
+ return { value: o && o[i++], done: !o };
8
+ }
9
+ };
10
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
11
+ };
12
+ // cross helps dealing with cross-project feature like export/import & cross project conversions
13
+ import { BigNumber } from "bignumber.js";
14
+ import compressjs from "@ledgerhq/compressjs";
15
+ import { runDerivationScheme, getDerivationScheme, asDerivationMode, } from "./derivation";
16
+ import { decodeAccountId, emptyHistoryCache } from "./account";
17
+ import { getCryptoCurrencyById } from "./currencies";
18
+ export function encode(_a) {
19
+ var accounts = _a.accounts, settings = _a.settings, exporterName = _a.exporterName, exporterVersion = _a.exporterVersion;
20
+ return Buffer.from(compressjs.Bzip2.compressFile(Buffer.from(JSON.stringify({
21
+ meta: {
22
+ exporterName: exporterName,
23
+ exporterVersion: exporterVersion
24
+ },
25
+ accounts: accounts.map(accountToAccountData),
26
+ settings: settings
27
+ })))).toString("binary");
28
+ }
29
+ var asResultMeta = function (unsafe) {
30
+ if (typeof unsafe !== "object" || !unsafe) {
31
+ throw new Error("invalid meta data");
32
+ }
33
+ var exporterName = unsafe.exporterName, exporterVersion = unsafe.exporterVersion;
34
+ if (typeof exporterName !== "string") {
35
+ throw new Error("invalid meta.exporterName");
36
+ }
37
+ if (typeof exporterVersion !== "string") {
38
+ throw new Error("invalid meta.exporterVersion");
39
+ }
40
+ return {
41
+ exporterName: exporterName,
42
+ exporterVersion: exporterVersion
43
+ };
44
+ };
45
+ var asResultAccount = function (unsafe) {
46
+ if (typeof unsafe !== "object" || !unsafe) {
47
+ throw new Error("invalid account data");
48
+ }
49
+ var id = unsafe.id, currencyId = unsafe.currencyId, freshAddress = unsafe.freshAddress, seedIdentifier = unsafe.seedIdentifier, derivationMode = unsafe.derivationMode, name = unsafe.name, index = unsafe.index, balance = unsafe.balance;
50
+ if (typeof id !== "string") {
51
+ throw new Error("invalid account.id");
52
+ }
53
+ if (typeof currencyId !== "string") {
54
+ throw new Error("invalid account.currencyId");
55
+ }
56
+ if (typeof seedIdentifier !== "string") {
57
+ throw new Error("invalid account.seedIdentifier");
58
+ }
59
+ if (typeof derivationMode !== "string") {
60
+ throw new Error("invalid account.derivationMode");
61
+ }
62
+ if (typeof name !== "string") {
63
+ throw new Error("invalid account.name");
64
+ }
65
+ if (typeof index !== "number") {
66
+ throw new Error("invalid account.index");
67
+ }
68
+ if (typeof balance !== "string") {
69
+ throw new Error("invalid account.balance");
70
+ }
71
+ var o = {
72
+ id: id,
73
+ currencyId: currencyId,
74
+ seedIdentifier: seedIdentifier,
75
+ derivationMode: derivationMode,
76
+ name: name,
77
+ index: index,
78
+ balance: balance
79
+ };
80
+ if (typeof freshAddress === "string" && freshAddress) {
81
+ o.freshAddress = freshAddress;
82
+ }
83
+ return o;
84
+ };
85
+ var asResultAccounts = function (unsafe) {
86
+ if (typeof unsafe !== "object" || !unsafe || !Array.isArray(unsafe)) {
87
+ throw new Error("invalid accounts data");
88
+ }
89
+ return unsafe.map(asResultAccount);
90
+ };
91
+ var asCryptoSettings = function (unsafe) {
92
+ if (typeof unsafe !== "object" || !unsafe) {
93
+ throw new Error("invalid currency settings data");
94
+ }
95
+ var confirmationsNb = unsafe.confirmationsNb;
96
+ if (typeof confirmationsNb === "number") {
97
+ return {
98
+ confirmationsNb: confirmationsNb
99
+ };
100
+ }
101
+ return {};
102
+ };
103
+ var asResultSettings = function (unsafe) {
104
+ var e_1, _a;
105
+ if (typeof unsafe !== "object" || !unsafe) {
106
+ throw new Error("invalid settings data");
107
+ }
108
+ var counterValue = unsafe.counterValue, currenciesSettings = unsafe.currenciesSettings, pairExchanges = unsafe.pairExchanges, blacklistedTokenIds = unsafe.blacklistedTokenIds, hideEmptyTokenAccounts = unsafe.hideEmptyTokenAccounts;
109
+ var currenciesSettingsSafe = {};
110
+ if (currenciesSettings && typeof currenciesSettings === "object") {
111
+ for (var k in currenciesSettings) {
112
+ currenciesSettingsSafe[k] = asCryptoSettings(currenciesSettings[k]);
113
+ }
114
+ }
115
+ var pairExchangesSafe = {};
116
+ if (pairExchanges && typeof pairExchanges === "object") {
117
+ for (var k in pairExchanges) {
118
+ var v = pairExchanges[k];
119
+ if (v && typeof v === "string") {
120
+ pairExchangesSafe[k] = v;
121
+ }
122
+ }
123
+ }
124
+ var res = {
125
+ currenciesSettings: currenciesSettingsSafe,
126
+ pairExchanges: pairExchangesSafe
127
+ };
128
+ if (counterValue && typeof counterValue === "string") {
129
+ res.counterValue = counterValue;
130
+ }
131
+ if (hideEmptyTokenAccounts && typeof hideEmptyTokenAccounts === "boolean") {
132
+ res.hideEmptyTokenAccounts = hideEmptyTokenAccounts;
133
+ }
134
+ var blacklistedTokenIdsSafe = [];
135
+ if (blacklistedTokenIds && Array.isArray(blacklistedTokenIds)) {
136
+ try {
137
+ for (var blacklistedTokenIds_1 = __values(blacklistedTokenIds), blacklistedTokenIds_1_1 = blacklistedTokenIds_1.next(); !blacklistedTokenIds_1_1.done; blacklistedTokenIds_1_1 = blacklistedTokenIds_1.next()) {
138
+ var b = blacklistedTokenIds_1_1.value;
139
+ if (typeof b === "string") {
140
+ blacklistedTokenIdsSafe.push(b);
141
+ }
142
+ }
143
+ }
144
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
145
+ finally {
146
+ try {
147
+ if (blacklistedTokenIds_1_1 && !blacklistedTokenIds_1_1.done && (_a = blacklistedTokenIds_1["return"])) _a.call(blacklistedTokenIds_1);
148
+ }
149
+ finally { if (e_1) throw e_1.error; }
150
+ }
151
+ res.blacklistedTokenIds = blacklistedTokenIdsSafe;
152
+ }
153
+ return res;
154
+ };
155
+ export function decode(bytes) {
156
+ var unsafe = JSON.parse(Buffer.from(compressjs.Bzip2.decompressFile(Buffer.from(bytes, "binary"))).toString());
157
+ if (typeof unsafe !== "object" || !unsafe) {
158
+ throw new Error("invalid data");
159
+ }
160
+ return {
161
+ meta: asResultMeta(unsafe.meta),
162
+ accounts: asResultAccounts(unsafe.accounts),
163
+ settings: asResultSettings(unsafe.settings)
164
+ };
165
+ }
166
+ export function accountToAccountData(_a) {
167
+ var id = _a.id, name = _a.name, seedIdentifier = _a.seedIdentifier, derivationMode = _a.derivationMode, freshAddress = _a.freshAddress, currency = _a.currency, index = _a.index, balance = _a.balance;
168
+ var res = {
169
+ id: id,
170
+ name: name,
171
+ seedIdentifier: seedIdentifier,
172
+ derivationMode: derivationMode,
173
+ freshAddress: freshAddress,
174
+ currencyId: currency.id,
175
+ index: index,
176
+ balance: balance.toString()
177
+ };
178
+ return res;
179
+ }
180
+ // reverse the account data to an account.
181
+ // this restore the essential data of an account and the result of the fields
182
+ // are assumed to be restored during first sync
183
+ export var accountDataToAccount = function (_a) {
184
+ var id = _a.id, currencyId = _a.currencyId, inputFreshAddress = _a.freshAddress, name = _a.name, index = _a.index, balance = _a.balance, derivationModeStr = _a.derivationMode, seedIdentifier = _a.seedIdentifier;
185
+ var xpubOrAddress = decodeAccountId(id).xpubOrAddress; // TODO rename in AccountId xpubOrAddress
186
+ var derivationMode = asDerivationMode(derivationModeStr);
187
+ var currency = getCryptoCurrencyById(currencyId);
188
+ var xpub = "";
189
+ var freshAddress = inputFreshAddress || "";
190
+ var freshAddressPath = "";
191
+ if (
192
+ // FIXME Dirty hack, since we have no way here to know if "xpubOrAddress" is one or the other.
193
+ // Proposed fix: https://ledgerhq.atlassian.net/browse/LL-7437
194
+ currency.family === "bitcoin" ||
195
+ currency.family === "cardano") {
196
+ // In bitcoin implementation, xpubOrAddress field always go in the xpub
197
+ xpub = xpubOrAddress;
198
+ }
199
+ else {
200
+ if (currency.family === "tezos") {
201
+ xpub = xpubOrAddress;
202
+ }
203
+ else if (!freshAddress) {
204
+ // otherwise, it's the freshAddress
205
+ freshAddress = xpubOrAddress;
206
+ }
207
+ freshAddressPath = runDerivationScheme(getDerivationScheme({
208
+ currency: currency,
209
+ derivationMode: derivationMode
210
+ }), currency, {
211
+ account: index
212
+ });
213
+ }
214
+ var balanceBN = new BigNumber(balance);
215
+ var account = {
216
+ type: "Account",
217
+ id: id,
218
+ derivationMode: derivationMode,
219
+ seedIdentifier: seedIdentifier,
220
+ xpub: xpub,
221
+ name: name,
222
+ starred: false,
223
+ used: false,
224
+ currency: currency,
225
+ index: index,
226
+ freshAddress: freshAddress,
227
+ freshAddressPath: freshAddressPath,
228
+ swapHistory: [],
229
+ // these fields will be completed as we will sync
230
+ freshAddresses: [],
231
+ blockHeight: 0,
232
+ balance: balanceBN,
233
+ spendableBalance: balanceBN,
234
+ operationsCount: 0,
235
+ operations: [],
236
+ pendingOperations: [],
237
+ unit: currency.units[0],
238
+ lastSyncDate: new Date(0),
239
+ creationDate: new Date(),
240
+ balanceHistoryCache: emptyHistoryCache
241
+ };
242
+ return account;
243
+ };
244
+ //# sourceMappingURL=cross.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross.js","sourceRoot":"","sources":["../src/cross.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cross.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross.test.d.ts","sourceRoot":"","sources":["../src/cross.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,97 @@
1
+ import { genAccount } from "./mocks/account";
2
+ import { getDerivationModesForCurrency } from "./derivation";
3
+ import { listCryptoCurrencies, setSupportedCurrencies } from "./currencies";
4
+ import { accountDataToAccount, accountToAccountData, encode, decode, } from "./cross";
5
+ setSupportedCurrencies(["ethereum", "ethereum_classic"]);
6
+ test("accountDataToAccount / accountToAccountData", function () {
7
+ listCryptoCurrencies().forEach(function (currency) {
8
+ getDerivationModesForCurrency(currency).forEach(function (derivationMode) {
9
+ var account = genAccount("".concat(currency.id, "_").concat(derivationMode), {
10
+ currency: currency
11
+ });
12
+ var data = accountToAccountData(account);
13
+ expect(accountToAccountData(accountDataToAccount(data))).toMatchObject(data);
14
+ });
15
+ });
16
+ });
17
+ test("encode/decode", function () {
18
+ var accounts = listCryptoCurrencies().reduce(function (acc, currency) {
19
+ return acc.concat(getDerivationModesForCurrency(currency).map(function (derivationMode) {
20
+ var account = genAccount("".concat(currency.id, "_").concat(derivationMode), {
21
+ currency: currency
22
+ });
23
+ return account;
24
+ }));
25
+ }, []);
26
+ var data = {
27
+ accounts: accounts,
28
+ settings: {
29
+ currenciesSettings: {},
30
+ pairExchanges: {}
31
+ },
32
+ exporterName: "test你好👋",
33
+ exporterVersion: "0.0.0"
34
+ };
35
+ var exp = decode(encode(data));
36
+ expect(exp.meta.exporterName).toEqual(data.exporterName);
37
+ expect(exp.accounts.length).toEqual(data.accounts.length);
38
+ expect(exp.accounts).toMatchObject(data.accounts.map(accountToAccountData));
39
+ });
40
+ test("encode/decode", function () {
41
+ var accounts = Array(3)
42
+ .fill(null)
43
+ .map(function (_, i) { return genAccount("export_" + i); });
44
+ var arg = {
45
+ accounts: accounts,
46
+ settings: {
47
+ counterValue: "USD",
48
+ pairExchanges: {
49
+ BTC_USD: "KRAKEN"
50
+ },
51
+ currenciesSettings: {
52
+ bitcoin: {
53
+ confirmationsNb: 3
54
+ }
55
+ },
56
+ blacklistedTokenIds: ["tokenid1", "tokenid2"]
57
+ },
58
+ exporterName: "test",
59
+ exporterVersion: "0.0.0",
60
+ chunkSize: 100
61
+ };
62
+ var data = encode(arg);
63
+ var res = decode(data);
64
+ expect(res.accounts).toMatchObject(accounts.map(function (a) { return ({
65
+ balance: a.balance.toString(),
66
+ currencyId: a.currency.id,
67
+ id: a.id,
68
+ name: a.name,
69
+ index: a.index
70
+ }); }));
71
+ expect(res.settings).toMatchObject({
72
+ counterValue: "USD",
73
+ pairExchanges: {
74
+ BTC_USD: "KRAKEN"
75
+ },
76
+ currenciesSettings: {
77
+ bitcoin: {
78
+ confirmationsNb: 3
79
+ }
80
+ },
81
+ blacklistedTokenIds: ["tokenid1", "tokenid2"]
82
+ });
83
+ expect(res.settings).not.toMatchObject({
84
+ counterValue: "USD",
85
+ pairExchanges: {
86
+ BTC_USD: "KRAKEN"
87
+ },
88
+ currenciesSettings: {
89
+ bitcoin: {
90
+ confirmationsNb: 3
91
+ }
92
+ },
93
+ blacklistedTokenIds: ["tokenid3"]
94
+ });
95
+ expect(res).toMatchSnapshot();
96
+ });
97
+ //# sourceMappingURL=cross.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross.test.js","sourceRoot":"","sources":["../src/cross.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ export type SupportedOptions = {
3
+ minimumFractionDigits: number;
4
+ maximumFractionDigits: number;
5
+ useGrouping: boolean;
6
+ };
7
+ export declare const toLocaleString: (n: BigNumber, localeInput?: string, options?: Partial<SupportedOptions>) => string;
8
+ //# sourceMappingURL=BigNumberToLocaleString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigNumberToLocaleString.d.ts","sourceRoot":"","sources":["../../src/currencies/BigNumberToLocaleString.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAmBF,eAAO,MAAM,cAAc,MACtB,SAAS,gBACE,MAAM,YACX,QAAQ,gBAAgB,CAAC,KACjC,MAgDF,CAAC"}
@@ -0,0 +1,61 @@
1
+ // Implement a subset of Number#toLocaleString for BigNumber.js
2
+ // https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Number/toLocaleString
3
+ import { BigNumber } from "bignumber.js";
4
+ import { getSeparators } from "./localeUtility";
5
+ // FIXME later, might want to expose this format!
6
+ var getFormatForLocale = function (locale) {
7
+ var _a = getSeparators(locale), decimal = _a.decimal, thousands = _a.thousands;
8
+ var opts = {
9
+ decimalSeparator: ".",
10
+ groupSeparator: ",",
11
+ groupSize: 3,
12
+ secondaryGroupSize: 0,
13
+ fractionGroupSeparator: "\xA0",
14
+ // non-breaking space
15
+ fractionGroupSize: 0
16
+ };
17
+ if (typeof decimal === "string")
18
+ opts.decimalSeparator = decimal;
19
+ if (typeof thousands === "string")
20
+ opts.groupSeparator = thousands;
21
+ return opts;
22
+ };
23
+ export var toLocaleString = function (n, localeInput, options) {
24
+ if (options === void 0) { options = {}; }
25
+ var locale = localeInput;
26
+ if (!locale)
27
+ locale = "en";
28
+ var minimumFractionDigits = "minimumFractionDigits" in options
29
+ ? options.minimumFractionDigits
30
+ : 0;
31
+ var maximumFractionDigits = "maximumFractionDigits" in options
32
+ ? options.maximumFractionDigits
33
+ : Math.max(minimumFractionDigits, 3);
34
+ var useGrouping = "useGrouping" in options ? options.useGrouping : true;
35
+ var format = getFormatForLocale(locale);
36
+ if (!useGrouping) {
37
+ format.groupSeparator = "";
38
+ }
39
+ var BN = BigNumber.clone({
40
+ FORMAT: format
41
+ });
42
+ var bn = new BN(n);
43
+ var maxDecimals = bn.toFormat(maximumFractionDigits, BigNumber.ROUND_FLOOR);
44
+ if (maximumFractionDigits !== minimumFractionDigits) {
45
+ var minDecimals = bn.toFormat(minimumFractionDigits, BigNumber.ROUND_FLOOR);
46
+ var i = maxDecimals.length;
47
+ // cleanup useless '0's from the right until the minimumFractionDigits
48
+ while (i > minDecimals.length) {
49
+ if (maxDecimals[i - 1] !== "0") {
50
+ if (maxDecimals[i - 1] === format.decimalSeparator) {
51
+ i--;
52
+ }
53
+ break; // we reach decimal. stop now.
54
+ }
55
+ i--;
56
+ }
57
+ return maxDecimals.slice(0, i);
58
+ }
59
+ return maxDecimals;
60
+ };
61
+ //# sourceMappingURL=BigNumberToLocaleString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigNumberToLocaleString.js","sourceRoot":"","sources":["../../src/currencies/BigNumberToLocaleString.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,sGAAsG;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,iDAAiD;AACjD,IAAM,kBAAkB,GAAG,UAAC,MAAc;IAClC,IAAA,KAAyB,aAAa,CAAC,MAAM,CAAC,EAA5C,OAAO,aAAA,EAAE,SAAS,eAA0B,CAAC;IACrD,IAAM,IAAI,GAAG;QACX,gBAAgB,EAAE,GAAG;QACrB,cAAc,EAAE,GAAG;QACnB,SAAS,EAAE,CAAC;QACZ,kBAAkB,EAAE,CAAC;QACrB,sBAAsB,EAAE,MAAM;QAC9B,qBAAqB;QACrB,iBAAiB,EAAE,CAAC;KACrB,CAAC;IACF,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;IACjE,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,cAAc,GAAG,UAC5B,CAAY,EACZ,WAAoB,EACpB,OAAuC;IAAvC,wBAAA,EAAA,YAAuC;IAEvC,IAAI,MAAM,GAAG,WAAW,CAAC;IACzB,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAM,qBAAqB,GACzB,uBAAuB,IAAI,OAAO;QAChC,CAAC,CAAE,OAAO,CAAC,qBAAgC;QAC3C,CAAC,CAAC,CAAC,CAAC;IACR,IAAM,qBAAqB,GACzB,uBAAuB,IAAI,OAAO;QAChC,CAAC,CAAE,OAAO,CAAC,qBAAgC;QAC3C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACzC,IAAM,WAAW,GAAG,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,IAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;KAC5B;IAED,IAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC;QACzB,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IACH,IAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrB,IAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,qBAAqB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAE9E,IAAI,qBAAqB,KAAK,qBAAqB,EAAE;QACnD,IAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAC7B,qBAAqB,EACrB,SAAS,CAAC,WAAW,CACtB,CAAC;QACF,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;QAE3B,sEAAsE;QACtE,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE;YAC7B,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC9B,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,gBAAgB,EAAE;oBAClD,CAAC,EAAE,CAAC;iBACL;gBAED,MAAM,CAAC,8BAA8B;aACtC;YAED,CAAC,EAAE,CAAC;SACL;QAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAChC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BigNumberToLocaleString.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigNumberToLocaleString.test.d.ts","sourceRoot":"","sources":["../../src/currencies/BigNumberToLocaleString.test.ts"],"names":[],"mappings":""}