@ledgerhq/coin-framework 0.0.2-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/lib/account/accountId.d.ts +16 -0
  2. package/lib/account/accountId.d.ts.map +1 -0
  3. package/lib/account/accountId.js +85 -0
  4. package/lib/account/accountId.js.map +1 -0
  5. package/lib/account/accountName.d.ts +14 -0
  6. package/lib/account/accountName.d.ts.map +1 -0
  7. package/lib/account/accountName.js +17 -0
  8. package/lib/account/accountName.js.map +1 -0
  9. package/lib/account/addAccounts.d.ts +35 -0
  10. package/lib/account/addAccounts.d.ts.map +1 -0
  11. package/lib/account/addAccounts.js +209 -0
  12. package/lib/account/addAccounts.js.map +1 -0
  13. package/lib/account/balanceHistoryCache.d.ts +25 -0
  14. package/lib/account/balanceHistoryCache.d.ts.map +1 -0
  15. package/lib/account/balanceHistoryCache.js +115 -0
  16. package/lib/account/balanceHistoryCache.js.map +1 -0
  17. package/lib/account/groupOperations.d.ts +17 -0
  18. package/lib/account/groupOperations.d.ts.map +1 -0
  19. package/lib/account/groupOperations.js +127 -0
  20. package/lib/account/groupOperations.js.map +1 -0
  21. package/lib/account/helpers.d.ts +44 -0
  22. package/lib/account/helpers.d.ts.map +1 -0
  23. package/lib/account/helpers.js +333 -0
  24. package/lib/account/helpers.js.map +1 -0
  25. package/lib/account/helpers.test.d.ts +2 -0
  26. package/lib/account/helpers.test.d.ts.map +1 -0
  27. package/lib/account/helpers.test.js +366 -0
  28. package/lib/account/helpers.test.js.map +1 -0
  29. package/lib/account/index.d.ts +11 -0
  30. package/lib/account/index.d.ts.map +1 -0
  31. package/lib/account/index.js +27 -0
  32. package/lib/account/index.js.map +1 -0
  33. package/lib/account/ordering.d.ts +10 -0
  34. package/lib/account/ordering.d.ts.map +1 -0
  35. package/lib/account/ordering.js +110 -0
  36. package/lib/account/ordering.js.map +1 -0
  37. package/lib/account/pending.d.ts +33 -0
  38. package/lib/account/pending.d.ts.map +1 -0
  39. package/lib/account/pending.js +64 -0
  40. package/lib/account/pending.js.map +1 -0
  41. package/lib/account/serialization.d.ts +6 -0
  42. package/lib/account/serialization.d.ts.map +1 -0
  43. package/lib/account/serialization.js +118 -0
  44. package/lib/account/serialization.js.map +1 -0
  45. package/lib/account/support.d.ts +9 -0
  46. package/lib/account/support.d.ts.map +1 -0
  47. package/lib/account/support.js +72 -0
  48. package/lib/account/support.js.map +1 -0
  49. package/lib/account.test.d.ts +2 -0
  50. package/lib/account.test.d.ts.map +1 -0
  51. package/lib/account.test.js +257 -0
  52. package/lib/account.test.js.map +1 -0
  53. package/lib/bot/bot-test-context.d.ts +3 -0
  54. package/lib/bot/bot-test-context.d.ts.map +1 -0
  55. package/lib/bot/bot-test-context.js +26 -0
  56. package/lib/bot/bot-test-context.js.map +1 -0
  57. package/lib/bot/bot-test-context.test.d.ts +2 -0
  58. package/lib/bot/bot-test-context.test.d.ts.map +1 -0
  59. package/lib/bot/bot-test-context.test.js +41 -0
  60. package/lib/bot/bot-test-context.test.js.map +1 -0
  61. package/lib/bot/formatters.d.ts +2 -0
  62. package/lib/bot/formatters.d.ts.map +1 -0
  63. package/lib/bot/formatters.js +31 -0
  64. package/lib/bot/formatters.js.map +1 -0
  65. package/lib/bot/specs.d.ts +50 -0
  66. package/lib/bot/specs.d.ts.map +1 -0
  67. package/lib/bot/specs.js +204 -0
  68. package/lib/bot/specs.js.map +1 -0
  69. package/lib/bot/types.d.ts +178 -0
  70. package/lib/bot/types.d.ts.map +1 -0
  71. package/lib/bot/types.js +3 -0
  72. package/lib/bot/types.js.map +1 -0
  73. package/lib/bridge/getAddressWrapper.d.ts +6 -0
  74. package/lib/bridge/getAddressWrapper.d.ts.map +1 -0
  75. package/lib/bridge/getAddressWrapper.js +27 -0
  76. package/lib/bridge/getAddressWrapper.js.map +1 -0
  77. package/lib/bridge/jsHelpers.d.ts +63 -0
  78. package/lib/bridge/jsHelpers.d.ts.map +1 -0
  79. package/lib/bridge/jsHelpers.js +574 -0
  80. package/lib/bridge/jsHelpers.js.map +1 -0
  81. package/lib/cache.d.ts +10 -0
  82. package/lib/cache.d.ts.map +1 -0
  83. package/lib/cache.js +100 -0
  84. package/lib/cache.js.map +1 -0
  85. package/lib/cross.d.ts +42 -0
  86. package/lib/cross.d.ts.map +1 -0
  87. package/lib/cross.js +254 -0
  88. package/lib/cross.js.map +1 -0
  89. package/lib/cross.test.d.ts +2 -0
  90. package/lib/cross.test.d.ts.map +1 -0
  91. package/lib/cross.test.js +99 -0
  92. package/lib/cross.test.js.map +1 -0
  93. package/lib/currencies/BigNumberToLocaleString.d.ts +8 -0
  94. package/lib/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  95. package/lib/currencies/BigNumberToLocaleString.js +65 -0
  96. package/lib/currencies/BigNumberToLocaleString.js.map +1 -0
  97. package/lib/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  98. package/lib/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  99. package/lib/currencies/BigNumberToLocaleString.test.js +108 -0
  100. package/lib/currencies/BigNumberToLocaleString.test.js.map +1 -0
  101. package/lib/currencies/CurrencyURIScheme.d.ts +13 -0
  102. package/lib/currencies/CurrencyURIScheme.d.ts.map +1 -0
  103. package/lib/currencies/CurrencyURIScheme.js +124 -0
  104. package/lib/currencies/CurrencyURIScheme.js.map +1 -0
  105. package/lib/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  106. package/lib/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  107. package/lib/currencies/chopCurrencyUnitDecimals.js +29 -0
  108. package/lib/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  109. package/lib/currencies/formatCurrencyUnit.d.ts +33 -0
  110. package/lib/currencies/formatCurrencyUnit.d.ts.map +1 -0
  111. package/lib/currencies/formatCurrencyUnit.js +126 -0
  112. package/lib/currencies/formatCurrencyUnit.js.map +1 -0
  113. package/lib/currencies/formatShort.d.ts +8 -0
  114. package/lib/currencies/formatShort.d.ts.map +1 -0
  115. package/lib/currencies/formatShort.js +27 -0
  116. package/lib/currencies/formatShort.js.map +1 -0
  117. package/lib/currencies/index.d.ts +13 -0
  118. package/lib/currencies/index.d.ts.map +1 -0
  119. package/lib/currencies/index.js +65 -0
  120. package/lib/currencies/index.js.map +1 -0
  121. package/lib/currencies/localeUtility.d.ts +8 -0
  122. package/lib/currencies/localeUtility.d.ts.map +1 -0
  123. package/lib/currencies/localeUtility.js +49 -0
  124. package/lib/currencies/localeUtility.js.map +1 -0
  125. package/lib/currencies/parseCurrencyUnit.d.ts +4 -0
  126. package/lib/currencies/parseCurrencyUnit.d.ts.map +1 -0
  127. package/lib/currencies/parseCurrencyUnit.js +18 -0
  128. package/lib/currencies/parseCurrencyUnit.js.map +1 -0
  129. package/lib/currencies/sanitizeValueString.d.ts +6 -0
  130. package/lib/currencies/sanitizeValueString.d.ts.map +1 -0
  131. package/lib/currencies/sanitizeValueString.js +56 -0
  132. package/lib/currencies/sanitizeValueString.js.map +1 -0
  133. package/lib/currencies/support.d.ts +8 -0
  134. package/lib/currencies/support.d.ts.map +1 -0
  135. package/lib/currencies/support.js +101 -0
  136. package/lib/currencies/support.js.map +1 -0
  137. package/lib/currencies/valueFromUnit.d.ts +9 -0
  138. package/lib/currencies/valueFromUnit.d.ts.map +1 -0
  139. package/lib/currencies/valueFromUnit.js +14 -0
  140. package/lib/currencies/valueFromUnit.js.map +1 -0
  141. package/lib/derivation.d.ts +232 -0
  142. package/lib/derivation.d.ts.map +1 -0
  143. package/lib/derivation.js +501 -0
  144. package/lib/derivation.js.map +1 -0
  145. package/lib/env.d.ts +30 -0
  146. package/lib/env.d.ts.map +1 -0
  147. package/lib/env.js +783 -0
  148. package/lib/env.js.map +1 -0
  149. package/lib/errors.d.ts +7 -0
  150. package/lib/errors.d.ts.map +1 -0
  151. package/lib/errors.js +7 -0
  152. package/lib/errors.js.map +1 -0
  153. package/lib/errors.test.d.ts +2 -0
  154. package/lib/errors.test.d.ts.map +1 -0
  155. package/lib/errors.test.js +20 -0
  156. package/lib/errors.test.js.map +1 -0
  157. package/lib/mocks/account.d.ts +25 -0
  158. package/lib/mocks/account.d.ts.map +1 -0
  159. package/lib/mocks/account.js +368 -0
  160. package/lib/mocks/account.js.map +1 -0
  161. package/lib/mocks/fixtures/nfts.d.ts +27 -0
  162. package/lib/mocks/fixtures/nfts.d.ts.map +1 -0
  163. package/lib/mocks/fixtures/nfts.js +398 -0
  164. package/lib/mocks/fixtures/nfts.js.map +1 -0
  165. package/lib/mocks/fixtures/nfts.test.d.ts +2 -0
  166. package/lib/mocks/fixtures/nfts.test.d.ts.map +1 -0
  167. package/lib/mocks/fixtures/nfts.test.js +20 -0
  168. package/lib/mocks/fixtures/nfts.test.js.map +1 -0
  169. package/lib/mocks/helpers.d.ts +15 -0
  170. package/lib/mocks/helpers.d.ts.map +1 -0
  171. package/lib/mocks/helpers.js +32 -0
  172. package/lib/mocks/helpers.js.map +1 -0
  173. package/lib/network.d.ts +5 -0
  174. package/lib/network.d.ts.map +1 -0
  175. package/lib/network.js +125 -0
  176. package/lib/network.js.map +1 -0
  177. package/lib/nft/nftId.d.ts +8 -0
  178. package/lib/nft/nftId.d.ts.map +1 -0
  179. package/lib/nft/nftId.js +34 -0
  180. package/lib/nft/nftId.js.map +1 -0
  181. package/lib/operation.d.ts +24 -0
  182. package/lib/operation.d.ts.map +1 -0
  183. package/lib/operation.js +183 -0
  184. package/lib/operation.js.map +1 -0
  185. package/lib/promise.d.ts +21 -0
  186. package/lib/promise.d.ts.map +1 -0
  187. package/lib/promise.js +187 -0
  188. package/lib/promise.js.map +1 -0
  189. package/lib/promise.test.d.ts +2 -0
  190. package/lib/promise.test.d.ts.map +1 -0
  191. package/lib/promise.test.js +72 -0
  192. package/lib/promise.test.js.map +1 -0
  193. package/lib/rangeDates.d.ts +29 -0
  194. package/lib/rangeDates.d.ts.map +1 -0
  195. package/lib/rangeDates.js +94 -0
  196. package/lib/rangeDates.js.map +1 -0
  197. package/lib/rangeDates.test.d.ts +2 -0
  198. package/lib/rangeDates.test.d.ts.map +1 -0
  199. package/lib/rangeDates.test.js +51 -0
  200. package/lib/rangeDates.test.js.map +1 -0
  201. package/lib/test-helpers/staticTime.d.ts +2 -0
  202. package/lib/test-helpers/staticTime.d.ts.map +1 -0
  203. package/lib/test-helpers/staticTime.js +10 -0
  204. package/lib/test-helpers/staticTime.js.map +1 -0
  205. package/lib/transaction/common.d.ts +26 -0
  206. package/lib/transaction/common.d.ts.map +1 -0
  207. package/lib/transaction/common.js +123 -0
  208. package/lib/transaction/common.js.map +1 -0
  209. package/lib-es/account/accountId.d.ts +16 -0
  210. package/lib-es/account/accountId.d.ts.map +1 -0
  211. package/lib-es/account/accountId.js +74 -0
  212. package/lib-es/account/accountId.js.map +1 -0
  213. package/lib-es/account/accountName.d.ts +14 -0
  214. package/lib-es/account/accountName.d.ts.map +1 -0
  215. package/lib-es/account/accountName.js +12 -0
  216. package/lib-es/account/accountName.js.map +1 -0
  217. package/lib-es/account/addAccounts.d.ts +35 -0
  218. package/lib-es/account/addAccounts.d.ts.map +1 -0
  219. package/lib-es/account/addAccounts.js +200 -0
  220. package/lib-es/account/addAccounts.js.map +1 -0
  221. package/lib-es/account/balanceHistoryCache.d.ts +25 -0
  222. package/lib-es/account/balanceHistoryCache.d.ts.map +1 -0
  223. package/lib-es/account/balanceHistoryCache.js +109 -0
  224. package/lib-es/account/balanceHistoryCache.js.map +1 -0
  225. package/lib-es/account/groupOperations.d.ts +17 -0
  226. package/lib-es/account/groupOperations.d.ts.map +1 -0
  227. package/lib-es/account/groupOperations.js +122 -0
  228. package/lib-es/account/groupOperations.js.map +1 -0
  229. package/lib-es/account/helpers.d.ts +44 -0
  230. package/lib-es/account/helpers.d.ts.map +1 -0
  231. package/lib-es/account/helpers.js +303 -0
  232. package/lib-es/account/helpers.js.map +1 -0
  233. package/lib-es/account/helpers.test.d.ts +2 -0
  234. package/lib-es/account/helpers.test.d.ts.map +1 -0
  235. package/lib-es/account/helpers.test.js +361 -0
  236. package/lib-es/account/helpers.test.js.map +1 -0
  237. package/lib-es/account/index.d.ts +11 -0
  238. package/lib-es/account/index.d.ts.map +1 -0
  239. package/lib-es/account/index.js +11 -0
  240. package/lib-es/account/index.js.map +1 -0
  241. package/lib-es/account/ordering.d.ts +10 -0
  242. package/lib-es/account/ordering.d.ts.map +1 -0
  243. package/lib-es/account/ordering.js +103 -0
  244. package/lib-es/account/ordering.js.map +1 -0
  245. package/lib-es/account/pending.d.ts +33 -0
  246. package/lib-es/account/pending.d.ts.map +1 -0
  247. package/lib-es/account/pending.js +59 -0
  248. package/lib-es/account/pending.js.map +1 -0
  249. package/lib-es/account/serialization.d.ts +6 -0
  250. package/lib-es/account/serialization.d.ts.map +1 -0
  251. package/lib-es/account/serialization.js +112 -0
  252. package/lib-es/account/serialization.js.map +1 -0
  253. package/lib-es/account/support.d.ts +9 -0
  254. package/lib-es/account/support.d.ts.map +1 -0
  255. package/lib-es/account/support.js +64 -0
  256. package/lib-es/account/support.js.map +1 -0
  257. package/lib-es/account.test.d.ts +2 -0
  258. package/lib-es/account.test.d.ts.map +1 -0
  259. package/lib-es/account.test.js +252 -0
  260. package/lib-es/account.test.js.map +1 -0
  261. package/lib-es/bot/bot-test-context.d.ts +3 -0
  262. package/lib-es/bot/bot-test-context.d.ts.map +1 -0
  263. package/lib-es/bot/bot-test-context.js +21 -0
  264. package/lib-es/bot/bot-test-context.js.map +1 -0
  265. package/lib-es/bot/bot-test-context.test.d.ts +2 -0
  266. package/lib-es/bot/bot-test-context.test.d.ts.map +1 -0
  267. package/lib-es/bot/bot-test-context.test.js +39 -0
  268. package/lib-es/bot/bot-test-context.test.js.map +1 -0
  269. package/lib-es/bot/formatters.d.ts +2 -0
  270. package/lib-es/bot/formatters.d.ts.map +1 -0
  271. package/lib-es/bot/formatters.js +27 -0
  272. package/lib-es/bot/formatters.js.map +1 -0
  273. package/lib-es/bot/specs.d.ts +50 -0
  274. package/lib-es/bot/specs.d.ts.map +1 -0
  275. package/lib-es/bot/specs.js +193 -0
  276. package/lib-es/bot/specs.js.map +1 -0
  277. package/lib-es/bot/types.d.ts +178 -0
  278. package/lib-es/bot/types.d.ts.map +1 -0
  279. package/lib-es/bot/types.js +2 -0
  280. package/lib-es/bot/types.js.map +1 -0
  281. package/lib-es/bridge/getAddressWrapper.d.ts +6 -0
  282. package/lib-es/bridge/getAddressWrapper.d.ts.map +1 -0
  283. package/lib-es/bridge/getAddressWrapper.js +25 -0
  284. package/lib-es/bridge/getAddressWrapper.js.map +1 -0
  285. package/lib-es/bridge/jsHelpers.d.ts +63 -0
  286. package/lib-es/bridge/jsHelpers.d.ts.map +1 -0
  287. package/lib-es/bridge/jsHelpers.js +562 -0
  288. package/lib-es/bridge/jsHelpers.js.map +1 -0
  289. package/lib-es/cache.d.ts +10 -0
  290. package/lib-es/cache.d.ts.map +1 -0
  291. package/lib-es/cache.js +93 -0
  292. package/lib-es/cache.js.map +1 -0
  293. package/lib-es/cross.d.ts +42 -0
  294. package/lib-es/cross.d.ts.map +1 -0
  295. package/lib-es/cross.js +244 -0
  296. package/lib-es/cross.js.map +1 -0
  297. package/lib-es/cross.test.d.ts +2 -0
  298. package/lib-es/cross.test.d.ts.map +1 -0
  299. package/lib-es/cross.test.js +97 -0
  300. package/lib-es/cross.test.js.map +1 -0
  301. package/lib-es/currencies/BigNumberToLocaleString.d.ts +8 -0
  302. package/lib-es/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  303. package/lib-es/currencies/BigNumberToLocaleString.js +61 -0
  304. package/lib-es/currencies/BigNumberToLocaleString.js.map +1 -0
  305. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  306. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  307. package/lib-es/currencies/BigNumberToLocaleString.test.js +106 -0
  308. package/lib-es/currencies/BigNumberToLocaleString.test.js.map +1 -0
  309. package/lib-es/currencies/CurrencyURIScheme.d.ts +13 -0
  310. package/lib-es/currencies/CurrencyURIScheme.d.ts.map +1 -0
  311. package/lib-es/currencies/CurrencyURIScheme.js +116 -0
  312. package/lib-es/currencies/CurrencyURIScheme.js.map +1 -0
  313. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  314. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  315. package/lib-es/currencies/chopCurrencyUnitDecimals.js +25 -0
  316. package/lib-es/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  317. package/lib-es/currencies/formatCurrencyUnit.d.ts +33 -0
  318. package/lib-es/currencies/formatCurrencyUnit.d.ts.map +1 -0
  319. package/lib-es/currencies/formatCurrencyUnit.js +121 -0
  320. package/lib-es/currencies/formatCurrencyUnit.js.map +1 -0
  321. package/lib-es/currencies/formatShort.d.ts +8 -0
  322. package/lib-es/currencies/formatShort.d.ts.map +1 -0
  323. package/lib-es/currencies/formatShort.js +20 -0
  324. package/lib-es/currencies/formatShort.js.map +1 -0
  325. package/lib-es/currencies/index.d.ts +13 -0
  326. package/lib-es/currencies/index.d.ts.map +1 -0
  327. package/lib-es/currencies/index.js +16 -0
  328. package/lib-es/currencies/index.js.map +1 -0
  329. package/lib-es/currencies/localeUtility.d.ts +8 -0
  330. package/lib-es/currencies/localeUtility.d.ts.map +1 -0
  331. package/lib-es/currencies/localeUtility.js +43 -0
  332. package/lib-es/currencies/localeUtility.js.map +1 -0
  333. package/lib-es/currencies/parseCurrencyUnit.d.ts +4 -0
  334. package/lib-es/currencies/parseCurrencyUnit.d.ts.map +1 -0
  335. package/lib-es/currencies/parseCurrencyUnit.js +14 -0
  336. package/lib-es/currencies/parseCurrencyUnit.js.map +1 -0
  337. package/lib-es/currencies/sanitizeValueString.d.ts +6 -0
  338. package/lib-es/currencies/sanitizeValueString.d.ts.map +1 -0
  339. package/lib-es/currencies/sanitizeValueString.js +52 -0
  340. package/lib-es/currencies/sanitizeValueString.js.map +1 -0
  341. package/lib-es/currencies/support.d.ts +8 -0
  342. package/lib-es/currencies/support.d.ts.map +1 -0
  343. package/lib-es/currencies/support.js +92 -0
  344. package/lib-es/currencies/support.js.map +1 -0
  345. package/lib-es/currencies/valueFromUnit.d.ts +9 -0
  346. package/lib-es/currencies/valueFromUnit.d.ts.map +1 -0
  347. package/lib-es/currencies/valueFromUnit.js +10 -0
  348. package/lib-es/currencies/valueFromUnit.js.map +1 -0
  349. package/lib-es/derivation.d.ts +232 -0
  350. package/lib-es/derivation.d.ts.map +1 -0
  351. package/lib-es/derivation.js +473 -0
  352. package/lib-es/derivation.js.map +1 -0
  353. package/lib-es/env.d.ts +30 -0
  354. package/lib-es/env.d.ts.map +1 -0
  355. package/lib-es/env.js +768 -0
  356. package/lib-es/env.js.map +1 -0
  357. package/lib-es/errors.d.ts +7 -0
  358. package/lib-es/errors.d.ts.map +1 -0
  359. package/lib-es/errors.js +4 -0
  360. package/lib-es/errors.js.map +1 -0
  361. package/lib-es/errors.test.d.ts +2 -0
  362. package/lib-es/errors.test.d.ts.map +1 -0
  363. package/lib-es/errors.test.js +18 -0
  364. package/lib-es/errors.test.js.map +1 -0
  365. package/lib-es/mocks/account.d.ts +25 -0
  366. package/lib-es/mocks/account.d.ts.map +1 -0
  367. package/lib-es/mocks/account.js +358 -0
  368. package/lib-es/mocks/account.js.map +1 -0
  369. package/lib-es/mocks/fixtures/nfts.d.ts +27 -0
  370. package/lib-es/mocks/fixtures/nfts.d.ts.map +1 -0
  371. package/lib-es/mocks/fixtures/nfts.js +390 -0
  372. package/lib-es/mocks/fixtures/nfts.js.map +1 -0
  373. package/lib-es/mocks/fixtures/nfts.test.d.ts +2 -0
  374. package/lib-es/mocks/fixtures/nfts.test.d.ts.map +1 -0
  375. package/lib-es/mocks/fixtures/nfts.test.js +18 -0
  376. package/lib-es/mocks/fixtures/nfts.test.js.map +1 -0
  377. package/lib-es/mocks/helpers.d.ts +15 -0
  378. package/lib-es/mocks/helpers.d.ts.map +1 -0
  379. package/lib-es/mocks/helpers.js +26 -0
  380. package/lib-es/mocks/helpers.js.map +1 -0
  381. package/lib-es/network.d.ts +5 -0
  382. package/lib-es/network.d.ts.map +1 -0
  383. package/lib-es/network.js +118 -0
  384. package/lib-es/network.js.map +1 -0
  385. package/lib-es/nft/nftId.d.ts +8 -0
  386. package/lib-es/nft/nftId.d.ts.map +1 -0
  387. package/lib-es/nft/nftId.js +29 -0
  388. package/lib-es/nft/nftId.js.map +1 -0
  389. package/lib-es/operation.d.ts +24 -0
  390. package/lib-es/operation.d.ts.map +1 -0
  391. package/lib-es/operation.js +168 -0
  392. package/lib-es/operation.js.map +1 -0
  393. package/lib-es/promise.d.ts +21 -0
  394. package/lib-es/promise.d.ts.map +1 -0
  395. package/lib-es/promise.js +179 -0
  396. package/lib-es/promise.js.map +1 -0
  397. package/lib-es/promise.test.d.ts +2 -0
  398. package/lib-es/promise.test.d.ts.map +1 -0
  399. package/lib-es/promise.test.js +70 -0
  400. package/lib-es/promise.test.js.map +1 -0
  401. package/lib-es/rangeDates.d.ts +29 -0
  402. package/lib-es/rangeDates.d.ts.map +1 -0
  403. package/lib-es/rangeDates.js +84 -0
  404. package/lib-es/rangeDates.js.map +1 -0
  405. package/lib-es/rangeDates.test.d.ts +2 -0
  406. package/lib-es/rangeDates.test.d.ts.map +1 -0
  407. package/lib-es/rangeDates.test.js +49 -0
  408. package/lib-es/rangeDates.test.js.map +1 -0
  409. package/lib-es/test-helpers/staticTime.d.ts +2 -0
  410. package/lib-es/test-helpers/staticTime.d.ts.map +1 -0
  411. package/lib-es/test-helpers/staticTime.js +5 -0
  412. package/lib-es/test-helpers/staticTime.js.map +1 -0
  413. package/lib-es/transaction/common.d.ts +26 -0
  414. package/lib-es/transaction/common.d.ts.map +1 -0
  415. package/lib-es/transaction/common.js +115 -0
  416. package/lib-es/transaction/common.js.map +1 -0
  417. package/package.json +113 -0
  418. package/src/__snapshots__/account.test.ts.snap +2065 -0
  419. package/src/__snapshots__/cross.test.ts.snap +57 -0
  420. package/src/account/accountId.ts +93 -0
  421. package/src/account/accountName.ts +25 -0
  422. package/src/account/addAccounts.ts +236 -0
  423. package/src/account/balanceHistoryCache.ts +146 -0
  424. package/src/account/groupOperations.ts +164 -0
  425. package/src/account/helpers.test.ts +441 -0
  426. package/src/account/helpers.ts +380 -0
  427. package/src/account/index.ts +10 -0
  428. package/src/account/ordering.ts +109 -0
  429. package/src/account/pending.ts +66 -0
  430. package/src/account/serialization.ts +189 -0
  431. package/src/account/support.ts +96 -0
  432. package/src/account.test.ts +237 -0
  433. package/src/bot/bot-test-context.test.ts +37 -0
  434. package/src/bot/bot-test-context.ts +24 -0
  435. package/src/bot/formatters.ts +22 -0
  436. package/src/bot/specs.ts +275 -0
  437. package/src/bot/types.ts +224 -0
  438. package/src/bridge/getAddressWrapper.ts +40 -0
  439. package/src/bridge/jsHelpers.ts +645 -0
  440. package/src/cache.ts +65 -0
  441. package/src/cross.test.ts +112 -0
  442. package/src/cross.ts +366 -0
  443. package/src/currencies/BigNumberToLocaleString.test.ts +155 -0
  444. package/src/currencies/BigNumberToLocaleString.ts +80 -0
  445. package/src/currencies/CurrencyURIScheme.ts +114 -0
  446. package/src/currencies/chopCurrencyUnitDecimals.ts +34 -0
  447. package/src/currencies/formatCurrencyUnit.ts +167 -0
  448. package/src/currencies/formatShort.ts +24 -0
  449. package/src/currencies/index.ts +78 -0
  450. package/src/currencies/localeUtility.ts +50 -0
  451. package/src/currencies/parseCurrencyUnit.ts +16 -0
  452. package/src/currencies/sanitizeValueString.ts +58 -0
  453. package/src/currencies/support.ts +107 -0
  454. package/src/currencies/valueFromUnit.ts +10 -0
  455. package/src/derivation.ts +595 -0
  456. package/src/env.ts +790 -0
  457. package/src/errors.test.ts +21 -0
  458. package/src/errors.ts +9 -0
  459. package/src/mocks/account.ts +476 -0
  460. package/src/mocks/fixtures/nfts.test.ts +25 -0
  461. package/src/mocks/fixtures/nfts.ts +432 -0
  462. package/src/mocks/helpers.ts +38 -0
  463. package/src/network.ts +135 -0
  464. package/src/nft/nftId.ts +26 -0
  465. package/src/operation.ts +212 -0
  466. package/src/promise.test.ts +20 -0
  467. package/src/promise.ts +101 -0
  468. package/src/rangeDates.test.ts +66 -0
  469. package/src/rangeDates.ts +96 -0
  470. package/src/test-helpers/staticTime.ts +4 -0
  471. package/src/transaction/common.ts +157 -0
@@ -0,0 +1,562 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __rest = (this && this.__rest) || function (s, e) {
49
+ var t = {};
50
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
+ t[p] = s[p];
52
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
+ t[p[i]] = s[p[i]];
56
+ }
57
+ return t;
58
+ };
59
+ var __values = (this && this.__values) || function(o) {
60
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
61
+ if (m) return m.call(o);
62
+ if (o && typeof o.length === "number") return {
63
+ next: function () {
64
+ if (o && i >= o.length) o = void 0;
65
+ return { value: o && o[i++], done: !o };
66
+ }
67
+ };
68
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
69
+ };
70
+ import isEqual from "lodash/isEqual";
71
+ import { BigNumber } from "bignumber.js";
72
+ import { Observable, from } from "rxjs";
73
+ import { log } from "@ledgerhq/logs";
74
+ import { WrongDeviceForAccount } from "@ledgerhq/errors";
75
+ import { getSeedIdentifierDerivation, getDerivationModesForCurrency, getDerivationScheme, runDerivationScheme, isIterableDerivationMode, derivationModeSupportsIndex, getMandatoryEmptyAccountSkip, getDerivationModeStartsAt, } from "../derivation";
76
+ import { getAccountPlaceholderName, getNewAccountPlaceholderName, shouldRetainPendingOperation, isAccountEmpty, shouldShowNewAccount, clearAccount, emptyHistoryCache, generateHistoryFromOperations, recalculateAccountBalanceHistories, encodeAccountId, } from "../account";
77
+ import { FreshAddressIndexInvalid, UnsupportedDerivation } from "../errors";
78
+ import getAddressWrapper from "./getAddressWrapper";
79
+ // compare that two dates are roughly the same date in order to update the case it would have drastically changed
80
+ var sameDate = function (a, b) {
81
+ return Math.abs(a.getTime() - b.getTime()) < 1000 * 60 * 30;
82
+ };
83
+ // an operation is relatively immutable, however we saw that sometimes it can temporarily change due to reorg,..
84
+ export var sameOp = function (a, b) {
85
+ var _a, _b;
86
+ return a === b ||
87
+ (a.id === b.id && // hash, accountId, type are in id
88
+ (a.fee ? a.fee.isEqualTo(b.fee) : a.fee === b.fee) &&
89
+ (a.value ? a.value.isEqualTo(b.value) : a.value === b.value) &&
90
+ ((_a = a.nftOperations) === null || _a === void 0 ? void 0 : _a.length) === ((_b = b.nftOperations) === null || _b === void 0 ? void 0 : _b.length) &&
91
+ sameDate(a.date, b.date) &&
92
+ a.blockHeight === b.blockHeight &&
93
+ isEqual(a.senders, b.senders) &&
94
+ isEqual(a.recipients, b.recipients));
95
+ };
96
+ // efficiently prepend newFetched operations to existing operations
97
+ export function mergeOps(// existing operations. sorted (newer to older). deduped.
98
+ existing, // new fetched operations. not sorted. not deduped. time is allowed to overlap inside existing.
99
+ newFetched) {
100
+ var e_1, _a, e_2, _b;
101
+ // there is new fetched
102
+ if (newFetched.length === 0)
103
+ return existing;
104
+ // efficient lookup map of id.
105
+ var existingIds = {};
106
+ try {
107
+ for (var existing_1 = __values(existing), existing_1_1 = existing_1.next(); !existing_1_1.done; existing_1_1 = existing_1.next()) {
108
+ var o = existing_1_1.value;
109
+ existingIds[o.id] = o;
110
+ }
111
+ }
112
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
113
+ finally {
114
+ try {
115
+ if (existing_1_1 && !existing_1_1.done && (_a = existing_1["return"])) _a.call(existing_1);
116
+ }
117
+ finally { if (e_1) throw e_1.error; }
118
+ }
119
+ // only keep the newFetched that are not in existing. this array will be mutated
120
+ var newOps = newFetched
121
+ .filter(function (o) { return !existingIds[o.id] || !sameOp(existingIds[o.id], o); })
122
+ .sort(function (a, b) { return b.date.valueOf() - a.date.valueOf(); });
123
+ // Deduplicate new ops to guarantee operations don't have dups
124
+ var newOpsIds = {};
125
+ newOps.forEach(function (op) {
126
+ newOpsIds[op.id] = op;
127
+ });
128
+ newOps = Object.values(newOpsIds);
129
+ // return existing when there is no real new operations
130
+ if (newOps.length === 0)
131
+ return existing;
132
+ // edge case, existing can be empty. return the sorted list.
133
+ if (existing.length === 0)
134
+ return newOps;
135
+ // building up merging the ops
136
+ var all = [];
137
+ try {
138
+ for (var existing_2 = __values(existing), existing_2_1 = existing_2.next(); !existing_2_1.done; existing_2_1 = existing_2.next()) {
139
+ var o = existing_2_1.value;
140
+ // prepend all the new ops that have higher date
141
+ while (newOps.length > 0 && newOps[0].date >= o.date) {
142
+ all.push(newOps.shift());
143
+ }
144
+ if (!newOpsIds[o.id]) {
145
+ all.push(o);
146
+ }
147
+ }
148
+ }
149
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
150
+ finally {
151
+ try {
152
+ if (existing_2_1 && !existing_2_1.done && (_b = existing_2["return"])) _b.call(existing_2);
153
+ }
154
+ finally { if (e_2) throw e_2.error; }
155
+ }
156
+ return all;
157
+ }
158
+ export var mergeNfts = function (oldNfts, newNfts) {
159
+ // Getting a map of id => NFT
160
+ var newNftsPerId = {};
161
+ newNfts.forEach(function (n) {
162
+ newNftsPerId[n.id] = n;
163
+ });
164
+ // copying the argument to avoid mutating it
165
+ var nfts = oldNfts.slice();
166
+ for (var i = 0; i < nfts.length; i++) {
167
+ var nft = nfts[i];
168
+ // The NFTs are the same, do don't anything
169
+ if (!newNftsPerId[nft.id]) {
170
+ nfts.splice(i, 1);
171
+ i--;
172
+ }
173
+ else if (!isEqual(nft, newNftsPerId[nft.id])) {
174
+ // Use the new NFT instead
175
+ nfts[i] = newNftsPerId[nft.id];
176
+ }
177
+ // Delete it from the newNfts to keep only the un-added ones at the end
178
+ delete newNftsPerId[nft.id];
179
+ }
180
+ // Prepending newNfts to respect nfts's newest to oldest order
181
+ return Object.values(newNftsPerId).concat(nfts);
182
+ };
183
+ export var makeSync = function (_a) {
184
+ var getAccountShape = _a.getAccountShape, _b = _a.postSync, postSync = _b === void 0 ? function (_, a) { return a; } : _b, _c = _a.shouldMergeOps, shouldMergeOps = _c === void 0 ? true : _c;
185
+ return function (initial, syncConfig) {
186
+ return Observable.create(function (o) {
187
+ function main() {
188
+ return __awaiter(this, void 0, void 0, function () {
189
+ var accountId, needClear, freshAddressPath, shape_1, updater, e_3;
190
+ return __generator(this, function (_a) {
191
+ switch (_a.label) {
192
+ case 0:
193
+ accountId = encodeAccountId({
194
+ type: "js",
195
+ version: "2",
196
+ currencyId: initial.currency.id,
197
+ xpubOrAddress: initial.xpub || initial.freshAddress,
198
+ derivationMode: initial.derivationMode
199
+ });
200
+ needClear = initial.id !== accountId;
201
+ _a.label = 1;
202
+ case 1:
203
+ _a.trys.push([1, 3, , 4]);
204
+ freshAddressPath = getSeedIdentifierDerivation(initial.currency, initial.derivationMode);
205
+ return [4 /*yield*/, getAccountShape({
206
+ currency: initial.currency,
207
+ index: initial.index,
208
+ address: initial.freshAddress,
209
+ derivationPath: freshAddressPath,
210
+ derivationMode: initial.derivationMode,
211
+ initialAccount: needClear ? clearAccount(initial) : initial
212
+ }, syncConfig)];
213
+ case 2:
214
+ shape_1 = _a.sent();
215
+ updater = function (acc) {
216
+ var a = acc; // a is a immutable version of Account, based on acc
217
+ if (needClear) {
218
+ a = clearAccount(acc);
219
+ }
220
+ // FIXME reconsider doing mergeOps here. work is redundant for impl like eth
221
+ var operations = shouldMergeOps
222
+ ? mergeOps(a.operations, shape_1.operations || [])
223
+ : shape_1.operations || [];
224
+ a = postSync(a, __assign(__assign(__assign(__assign({}, a), { id: accountId, spendableBalance: shape_1.balance || a.balance, operationsCount: shape_1.operationsCount || operations.length, lastSyncDate: new Date(), creationDate: operations.length > 0
225
+ ? operations[operations.length - 1].date
226
+ : new Date() }), shape_1), { operations: operations, pendingOperations: a.pendingOperations.filter(function (op) {
227
+ return shouldRetainPendingOperation(a, op);
228
+ }) }));
229
+ a = recalculateAccountBalanceHistories(a, acc);
230
+ if (!a.used) {
231
+ a.used = !isAccountEmpty(a);
232
+ }
233
+ return a;
234
+ };
235
+ o.next(updater);
236
+ o.complete();
237
+ return [3 /*break*/, 4];
238
+ case 3:
239
+ e_3 = _a.sent();
240
+ o.error(e_3);
241
+ return [3 /*break*/, 4];
242
+ case 4: return [2 /*return*/];
243
+ }
244
+ });
245
+ });
246
+ }
247
+ main();
248
+ });
249
+ };
250
+ };
251
+ var defaultIterateResultBuilder = function (getAddressFn) { return function () {
252
+ return Promise.resolve(function (_a) {
253
+ var transport = _a.transport, index = _a.index, derivationsCache = _a.derivationsCache, derivationScheme = _a.derivationScheme, derivationMode = _a.derivationMode, currency = _a.currency;
254
+ return __awaiter(void 0, void 0, void 0, function () {
255
+ var freshAddressPath, res;
256
+ return __generator(this, function (_b) {
257
+ switch (_b.label) {
258
+ case 0:
259
+ freshAddressPath = runDerivationScheme(derivationScheme, currency, {
260
+ account: index
261
+ });
262
+ res = derivationsCache[freshAddressPath];
263
+ if (!!res) return [3 /*break*/, 2];
264
+ return [4 /*yield*/, getAddressWrapper(getAddressFn)(transport, {
265
+ currency: currency,
266
+ path: freshAddressPath,
267
+ derivationMode: derivationMode
268
+ })];
269
+ case 1:
270
+ res = _b.sent();
271
+ derivationsCache[freshAddressPath] = res;
272
+ _b.label = 2;
273
+ case 2: return [2 /*return*/, res];
274
+ }
275
+ });
276
+ });
277
+ });
278
+ }; };
279
+ export var makeScanAccounts = function (_a) {
280
+ var getAccountShape = _a.getAccountShape, deviceCommunication = _a.deviceCommunication, buildIterateResult = _a.buildIterateResult, getAddressFn = _a.getAddressFn;
281
+ return function (_a) {
282
+ var currency = _a.currency, deviceId = _a.deviceId, syncConfig = _a.syncConfig;
283
+ return deviceCommunication(deviceId)(function (transport) {
284
+ return Observable.create(function (o) {
285
+ var finished = false;
286
+ var unsubscribe = function () {
287
+ finished = true;
288
+ };
289
+ var derivationsCache = {};
290
+ function stepAccount(index, res, derivationMode, seedIdentifier, transport) {
291
+ return __awaiter(this, void 0, void 0, function () {
292
+ var address, freshAddressPath, rest, accountShape, freshAddress, operations, operationsCount, creationDate, balance, spendableBalance, initialAccount, account, showNewAccount;
293
+ return __generator(this, function (_a) {
294
+ switch (_a.label) {
295
+ case 0:
296
+ if (finished)
297
+ return [2 /*return*/];
298
+ address = res.address, freshAddressPath = res.path, rest = __rest(res, ["address", "path"]);
299
+ return [4 /*yield*/, getAccountShape({
300
+ transport: transport,
301
+ currency: currency,
302
+ index: index,
303
+ address: address,
304
+ derivationPath: freshAddressPath,
305
+ derivationMode: derivationMode,
306
+ rest: rest
307
+ }, syncConfig)];
308
+ case 1:
309
+ accountShape = _a.sent();
310
+ if (finished)
311
+ return [2 /*return*/];
312
+ freshAddress = address;
313
+ operations = accountShape.operations || [];
314
+ operationsCount = accountShape.operationsCount || operations.length;
315
+ creationDate = operations.length > 0
316
+ ? operations[operations.length - 1].date
317
+ : new Date();
318
+ balance = accountShape.balance || new BigNumber(0);
319
+ spendableBalance = accountShape.spendableBalance || new BigNumber(0);
320
+ if (!accountShape.id)
321
+ throw new Error("account ID must be provided");
322
+ if (balance.isNaN())
323
+ throw new Error("invalid balance NaN");
324
+ initialAccount = {
325
+ type: "Account",
326
+ id: accountShape.id,
327
+ seedIdentifier: seedIdentifier,
328
+ freshAddress: freshAddress,
329
+ freshAddressPath: freshAddressPath,
330
+ freshAddresses: [
331
+ {
332
+ address: freshAddress,
333
+ derivationPath: freshAddressPath
334
+ },
335
+ ],
336
+ derivationMode: derivationMode,
337
+ name: "",
338
+ starred: false,
339
+ used: false,
340
+ index: index,
341
+ currency: currency,
342
+ operationsCount: operationsCount,
343
+ operations: [],
344
+ swapHistory: [],
345
+ pendingOperations: [],
346
+ unit: currency.units[0],
347
+ lastSyncDate: new Date(),
348
+ creationDate: creationDate,
349
+ // overrides
350
+ balance: balance,
351
+ spendableBalance: spendableBalance,
352
+ blockHeight: 0,
353
+ balanceHistoryCache: emptyHistoryCache
354
+ };
355
+ account = __assign(__assign({}, initialAccount), accountShape);
356
+ if (account.balanceHistoryCache === emptyHistoryCache) {
357
+ account.balanceHistoryCache =
358
+ generateHistoryFromOperations(account);
359
+ }
360
+ if (!account.used) {
361
+ account.used = !isAccountEmpty(account);
362
+ }
363
+ // Bitcoin needs to compute the freshAddressPath itself,
364
+ // so we update it afterwards
365
+ if (account === null || account === void 0 ? void 0 : account.freshAddressPath) {
366
+ res.address = account.freshAddress;
367
+ derivationsCache[account.freshAddressPath] = res;
368
+ }
369
+ log("scanAccounts", "derivationsCache", res);
370
+ log("scanAccounts", "scanning ".concat(currency.id, " at ").concat(freshAddressPath, ": ").concat(res.address, " resulted of ").concat(account
371
+ ? "Account with ".concat(account.operations.length, " txs")
372
+ : "no account"));
373
+ if (!account)
374
+ return [2 /*return*/];
375
+ account.name = !account.used
376
+ ? getNewAccountPlaceholderName({
377
+ currency: currency,
378
+ index: index,
379
+ derivationMode: derivationMode
380
+ })
381
+ : getAccountPlaceholderName({
382
+ currency: currency,
383
+ index: index,
384
+ derivationMode: derivationMode
385
+ });
386
+ showNewAccount = shouldShowNewAccount(currency, derivationMode);
387
+ if (account.used || showNewAccount) {
388
+ log("debug", "Emit 'discovered' event for a new account found. AccountUsed: ".concat(account.used, " - showNewAccount: ").concat(showNewAccount));
389
+ o.next({
390
+ type: "discovered",
391
+ account: account
392
+ });
393
+ }
394
+ return [2 /*return*/, account];
395
+ }
396
+ });
397
+ });
398
+ }
399
+ if (buildIterateResult === undefined) {
400
+ buildIterateResult = defaultIterateResultBuilder(getAddressFn);
401
+ }
402
+ function main() {
403
+ return __awaiter(this, void 0, void 0, function () {
404
+ var derivationModes, derivationModes_1, derivationModes_1_1, derivationMode, path, result, e_4, seedIdentifier, emptyCount, mandatoryEmptyAccountSkip, derivationScheme, stopAt, startsAt, iterateResult, index, res, account, e_5_1, e_6;
405
+ var e_5, _a;
406
+ return __generator(this, function (_b) {
407
+ switch (_b.label) {
408
+ case 0:
409
+ _b.trys.push([0, 17, , 18]);
410
+ derivationModes = getDerivationModesForCurrency(currency);
411
+ _b.label = 1;
412
+ case 1:
413
+ _b.trys.push([1, 14, 15, 16]);
414
+ derivationModes_1 = __values(derivationModes), derivationModes_1_1 = derivationModes_1.next();
415
+ _b.label = 2;
416
+ case 2:
417
+ if (!!derivationModes_1_1.done) return [3 /*break*/, 13];
418
+ derivationMode = derivationModes_1_1.value;
419
+ if (finished)
420
+ return [3 /*break*/, 13];
421
+ path = getSeedIdentifierDerivation(currency, derivationMode);
422
+ log("scanAccounts", "scanning ".concat(currency.id, " on derivationMode=").concat(derivationMode));
423
+ result = derivationsCache[path];
424
+ if (!!result) return [3 /*break*/, 6];
425
+ _b.label = 3;
426
+ case 3:
427
+ _b.trys.push([3, 5, , 6]);
428
+ return [4 /*yield*/, getAddressFn(transport, {
429
+ currency: currency,
430
+ path: path,
431
+ derivationMode: derivationMode
432
+ })];
433
+ case 4:
434
+ result = _b.sent();
435
+ derivationsCache[path] = result;
436
+ return [3 /*break*/, 6];
437
+ case 5:
438
+ e_4 = _b.sent();
439
+ if (e_4 instanceof UnsupportedDerivation) {
440
+ log("scanAccounts", "ignore derivationMode=" + derivationMode);
441
+ return [3 /*break*/, 12];
442
+ }
443
+ throw e_4;
444
+ case 6:
445
+ if (!result)
446
+ return [3 /*break*/, 12];
447
+ seedIdentifier = result.publicKey;
448
+ emptyCount = 0;
449
+ mandatoryEmptyAccountSkip = getMandatoryEmptyAccountSkip(derivationMode);
450
+ derivationScheme = getDerivationScheme({
451
+ derivationMode: derivationMode,
452
+ currency: currency
453
+ });
454
+ stopAt = isIterableDerivationMode(derivationMode)
455
+ ? 255
456
+ : 1;
457
+ startsAt = getDerivationModeStartsAt(derivationMode);
458
+ log("debug", "start scanning account process. MandatoryEmptyAccountSkip ".concat(mandatoryEmptyAccountSkip, " / StartsAt: ").concat(startsAt, " - StopAt: ").concat(stopAt));
459
+ return [4 /*yield*/, buildIterateResult({
460
+ result: result,
461
+ derivationMode: derivationMode,
462
+ derivationScheme: derivationScheme
463
+ })];
464
+ case 7:
465
+ iterateResult = _b.sent();
466
+ index = startsAt;
467
+ _b.label = 8;
468
+ case 8:
469
+ if (!(index < stopAt)) return [3 /*break*/, 12];
470
+ log("debug", "start to scan a new account. Index: ".concat(index));
471
+ if (finished) {
472
+ log("debug", "new account scanning process has been finished");
473
+ return [3 /*break*/, 12];
474
+ }
475
+ if (!derivationModeSupportsIndex(derivationMode, index))
476
+ return [3 /*break*/, 11];
477
+ return [4 /*yield*/, iterateResult({
478
+ transport: transport,
479
+ index: index,
480
+ derivationsCache: derivationsCache,
481
+ derivationMode: derivationMode,
482
+ derivationScheme: derivationScheme,
483
+ currency: currency
484
+ })];
485
+ case 9:
486
+ res = _b.sent();
487
+ if (!res)
488
+ return [3 /*break*/, 12];
489
+ return [4 /*yield*/, stepAccount(index, res, derivationMode, seedIdentifier, transport)];
490
+ case 10:
491
+ account = _b.sent();
492
+ if (account && !account.used) {
493
+ if (emptyCount >= mandatoryEmptyAccountSkip)
494
+ return [3 /*break*/, 12];
495
+ emptyCount++;
496
+ }
497
+ _b.label = 11;
498
+ case 11:
499
+ index++;
500
+ return [3 /*break*/, 8];
501
+ case 12:
502
+ derivationModes_1_1 = derivationModes_1.next();
503
+ return [3 /*break*/, 2];
504
+ case 13: return [3 /*break*/, 16];
505
+ case 14:
506
+ e_5_1 = _b.sent();
507
+ e_5 = { error: e_5_1 };
508
+ return [3 /*break*/, 16];
509
+ case 15:
510
+ try {
511
+ if (derivationModes_1_1 && !derivationModes_1_1.done && (_a = derivationModes_1["return"])) _a.call(derivationModes_1);
512
+ }
513
+ finally { if (e_5) throw e_5.error; }
514
+ return [7 /*endfinally*/];
515
+ case 16:
516
+ o.complete();
517
+ return [3 /*break*/, 18];
518
+ case 17:
519
+ e_6 = _b.sent();
520
+ o.error(e_6);
521
+ return [3 /*break*/, 18];
522
+ case 18: return [2 /*return*/];
523
+ }
524
+ });
525
+ });
526
+ }
527
+ main();
528
+ return unsubscribe;
529
+ });
530
+ });
531
+ };
532
+ };
533
+ export function makeAccountBridgeReceive(getAddressFn, deviceCommunication, _a) {
534
+ var _b = _a === void 0 ? {} : _a, injectGetAddressParams = _b.injectGetAddressParams;
535
+ return function (account, _a) {
536
+ var verify = _a.verify, deviceId = _a.deviceId, freshAddressIndex = _a.freshAddressIndex;
537
+ var freshAddress;
538
+ if (freshAddressIndex !== undefined && freshAddressIndex !== null) {
539
+ freshAddress = account.freshAddresses[freshAddressIndex];
540
+ if (freshAddress === undefined) {
541
+ throw new FreshAddressIndexInvalid();
542
+ }
543
+ }
544
+ var arg = __assign({ verify: verify, currency: account.currency, derivationMode: account.derivationMode, path: freshAddress
545
+ ? freshAddress.derivationPath
546
+ : account.freshAddressPath }, (injectGetAddressParams && injectGetAddressParams(account)));
547
+ return deviceCommunication(deviceId)(function (transport) {
548
+ return from(getAddressFn(transport, arg).then(function (r) {
549
+ var accountAddress = freshAddress
550
+ ? freshAddress.address
551
+ : account.freshAddress;
552
+ if (r.address !== accountAddress) {
553
+ throw new WrongDeviceForAccount("WrongDeviceForAccount ".concat(account.name), {
554
+ accountName: account.name
555
+ });
556
+ }
557
+ return r;
558
+ }));
559
+ });
560
+ };
561
+ }
562
+ //# sourceMappingURL=jsHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsHelpers.js","sourceRoot":"","sources":["../../src/bridge/jsHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import LRU from "lru-cache";
2
+ export type CacheRes<A extends Array<any>, T> = {
3
+ (...args: A): Promise<T>;
4
+ force: (...args: A) => Promise<T>;
5
+ hydrate: (arg0: string, arg1: T) => void;
6
+ clear: (arg0: string) => void;
7
+ reset: () => void;
8
+ };
9
+ export declare const makeLRUCache: <A extends any[], T>(f: (...args: A) => Promise<T>, keyExtractor?: (...args: A) => string, lruOpts?: LRU.Options<string, any>) => CacheRes<A, T>;
10
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI;IAC9C,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AACF,eAAO,MAAM,YAAY,qFAEO,MAAM,YAC3B,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,mBAqDlC,CAAC"}