@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,50 @@
1
+ import type { DeviceAction, DeviceActionArg, TransactionDestinationTestInput } from "./types";
2
+ import { Account, TransactionCommon } from "@ledgerhq/types-live";
3
+ import { botTest } from "./bot-test-context";
4
+ import { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
5
+ import BigNumber from "bignumber.js";
6
+ export { botTest };
7
+ export declare function pickSiblings(siblings: Account[], maxAccount?: number): Account;
8
+ type State<T extends TransactionCommon> = {
9
+ finalState: boolean;
10
+ stepTitle: string;
11
+ stepValue: string;
12
+ acc: Array<{
13
+ title: string;
14
+ value: string;
15
+ }>;
16
+ currentStep: Step<T> | null | undefined;
17
+ };
18
+ export declare enum SpeculosButton {
19
+ LEFT = "Ll",
20
+ RIGHT = "Rr",
21
+ BOTH = "LRlr"
22
+ }
23
+ type Step<T extends TransactionCommon> = {
24
+ title: string;
25
+ stepValueTransform?: (s: string) => string;
26
+ expectedValue?: (arg0: DeviceActionArg<T, State<T>>, acc: Array<{
27
+ title: string;
28
+ value: string;
29
+ }>) => string;
30
+ ignoreAssertionFailure?: boolean;
31
+ trimValue?: boolean;
32
+ button?: SpeculosButton;
33
+ final?: boolean;
34
+ maxY?: number;
35
+ };
36
+ type FlowDesc<T extends TransactionCommon> = {
37
+ steps: Array<Step<T>>;
38
+ fallback?: (arg0: DeviceActionArg<T, State<T>>) => Step<T> | null | undefined;
39
+ };
40
+ export declare function deviceActionFlow<T extends TransactionCommon>(description: FlowDesc<T>): DeviceAction<T, State<T>>;
41
+ type DeviceAmountFormatOptions = {
42
+ postfixCode: boolean;
43
+ forceFloating: boolean;
44
+ hideCode: boolean;
45
+ showAllDigits: boolean;
46
+ };
47
+ export declare function formatDeviceAmount(currency: CryptoCurrency | TokenCurrency, value: BigNumber, options?: Partial<DeviceAmountFormatOptions>): string;
48
+ export declare function expectSiblingsHaveSpendablePartGreaterThan(siblings: Account[], threshold: number): void;
49
+ export declare const genericTestDestination: <T>({ destination, operation, destinationBeforeTransaction, sendingOperation, }: TransactionDestinationTestInput<T>) => void;
50
+ //# sourceMappingURL=specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../src/bot/specs.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,+BAA+B,EAChC,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,CAAC;AAKnB,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,SAAI,GAAG,OAAO,CA8BzE;AAED,KAAK,KAAK,CAAC,CAAC,SAAS,iBAAiB,IAAI;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,KAAK,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,oBAAY,cAAc;IACxB,IAAI,OAAO;IACX,KAAK,OAAO;IACZ,IAAI,SAAS;CACd;AAED,KAAK,IAAI,CAAC,CAAC,SAAS,iBAAiB,IAAI;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAClC,GAAG,EAAE,KAAK,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,KACC,MAAM,CAAC;IACZ,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,KAAK,QAAQ,CAAC,CAAC,SAAS,iBAAiB,IAAI;IAC3C,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAC/E,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,EAC1D,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,GACvB,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CA4F3B;AAED,KAAK,yBAAyB,GAAG;IAE/B,WAAW,EAAE,OAAO,CAAC;IAErB,aAAa,EAAE,OAAO,CAAC;IAEvB,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AASF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,GAAG,aAAa,EACxC,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,OAAO,CAAC,yBAAyB,CAAwB,GACjE,MAAM,CAmBR;AAKD,wBAAgB,0CAA0C,CACxD,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,GAChB,IAAI,CAcN;AAED,eAAO,MAAM,sBAAsB,0HAKK,IAgBvC,CAAC"}
@@ -0,0 +1,193 @@
1
+ var __read = (this && this.__read) || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o), r, ar = [], e;
5
+ try {
6
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
+ }
8
+ catch (error) { e = { error: error }; }
9
+ finally {
10
+ try {
11
+ if (r && !r.done && (m = i["return"])) m.call(i);
12
+ }
13
+ finally { if (e) throw e.error; }
14
+ }
15
+ return ar;
16
+ };
17
+ // helpers for spec
18
+ import invariant from "invariant";
19
+ import { log } from "@ledgerhq/logs";
20
+ import expect from "expect";
21
+ import sample from "lodash/sample";
22
+ import { isAccountEmpty } from "../account";
23
+ import { botTest } from "./bot-test-context";
24
+ import BigNumber from "bignumber.js";
25
+ export { botTest };
26
+ var stepValueTransformDefault = function (s) { return s.trim(); };
27
+ // TODO should weight the choice to favorize accounts with small amounts
28
+ export function pickSiblings(siblings, maxAccount) {
29
+ if (maxAccount === void 0) { maxAccount = 5; }
30
+ var withoutEmpties = siblings.filter(function (a) { return a.used; });
31
+ if (withoutEmpties.length >= maxAccount) {
32
+ // we are no longer creating accounts
33
+ var maybeAccount_1 = sample(withoutEmpties);
34
+ if (!maybeAccount_1) {
35
+ throw new Error("at least one non-empty sibling account exists. maxAccount=" +
36
+ maxAccount);
37
+ }
38
+ return maybeAccount_1;
39
+ }
40
+ // we are only keeping empty account that have smaller index to favorize creation of non created derivation modes
41
+ var empties = siblings.filter(isAccountEmpty);
42
+ empties.sort(function (a, b) { return a.index - b.index; });
43
+ if (empties.length > 0) {
44
+ empties = empties.filter(function (e) { return e.index === empties[0].index; });
45
+ }
46
+ var maybeAccount = sample(withoutEmpties.concat(empties));
47
+ if (!maybeAccount) {
48
+ throw new Error("at least one sibling account exists. maxAccount=" + maxAccount);
49
+ }
50
+ return maybeAccount;
51
+ }
52
+ export var SpeculosButton;
53
+ (function (SpeculosButton) {
54
+ SpeculosButton["LEFT"] = "Ll";
55
+ SpeculosButton["RIGHT"] = "Rr";
56
+ SpeculosButton["BOTH"] = "LRlr";
57
+ })(SpeculosButton || (SpeculosButton = {}));
58
+ // generalized logic of device actions
59
+ export function deviceActionFlow(description) {
60
+ return function (arg) {
61
+ invariant(arg.appCandidate.model === "nanoS", "FIXME: stepper logic is only implemented for Nano S");
62
+ var transport = arg.transport, event = arg.event, state = arg.state, disableStrictStepValueValidation = arg.disableStrictStepValueValidation;
63
+ var _a = state || {
64
+ finalState: false,
65
+ stepTitle: "",
66
+ stepValue: "",
67
+ acc: [],
68
+ currentStep: null
69
+ }, finalState = _a.finalState, stepTitle = _a.stepTitle, stepValue = _a.stepValue, acc = _a.acc, currentStep = _a.currentStep;
70
+ function runStep(step) {
71
+ var final = step.final, title = step.title, button = step.button;
72
+ if (stepValue && step.title !== stepTitle) {
73
+ // there were accumulated text and we are on new step, we need to release it and compare to expected
74
+ if (currentStep && currentStep.expectedValue) {
75
+ var expectedValue_1 = currentStep.expectedValue, ignoreAssertionFailure = currentStep.ignoreAssertionFailure;
76
+ var stepValueTransform_1 = currentStep.stepValueTransform || stepValueTransformDefault;
77
+ if (!ignoreAssertionFailure && !disableStrictStepValueValidation) {
78
+ botTest("deviceAction confirm step '" + stepTitle + "'", function () {
79
+ var _a, _b;
80
+ return expect((_a = {},
81
+ _a[stepTitle] = stepValueTransform_1(stepValue),
82
+ _a)).toMatchObject((_b = {},
83
+ _b[stepTitle] = expectedValue_1(arg, acc).trim(),
84
+ _b));
85
+ });
86
+ }
87
+ }
88
+ acc = acc.concat({
89
+ title: stepTitle,
90
+ value: stepValue
91
+ });
92
+ // a new step reset back the value for the next
93
+ stepValue = "";
94
+ }
95
+ if (button) {
96
+ // some step trigger navigation action
97
+ transport.button(button);
98
+ }
99
+ // text is the title of the step. we assume screen event starts / ends.
100
+ stepTitle = title;
101
+ currentStep = step;
102
+ if (final) {
103
+ finalState = true;
104
+ }
105
+ }
106
+ if (!finalState) {
107
+ var possibleKnownStep = description.steps.find(function (s) {
108
+ if (s.maxY) {
109
+ return event.text.startsWith(s.title) && event.y < s.maxY;
110
+ }
111
+ return event.text.startsWith(s.title);
112
+ });
113
+ // if there is a fallback provided, we will run it to try to detect another possible known step
114
+ if (!possibleKnownStep && description.fallback) {
115
+ possibleKnownStep = description.fallback(arg);
116
+ }
117
+ if (possibleKnownStep) {
118
+ // a step title was recognized. run it as a new step
119
+ runStep(possibleKnownStep);
120
+ }
121
+ else if (currentStep) {
122
+ // there is a current ongoing step so we need to accumulate all text we see
123
+ var text = event.text;
124
+ if (currentStep.trimValue)
125
+ text = text.trim();
126
+ stepValue += text;
127
+ }
128
+ }
129
+ log("bot/flow", "'".concat(event.text, "' ~> ").concat(stepTitle, ": ").concat(stepValue));
130
+ return {
131
+ finalState: finalState,
132
+ stepTitle: stepTitle,
133
+ stepValue: stepValue,
134
+ acc: acc,
135
+ currentStep: currentStep
136
+ };
137
+ };
138
+ }
139
+ var defaultFormatOptions = {
140
+ postfixCode: false,
141
+ forceFloating: false,
142
+ hideCode: false,
143
+ showAllDigits: false
144
+ };
145
+ var sep = " ";
146
+ export function formatDeviceAmount(currency, value, options) {
147
+ if (options === void 0) { options = defaultFormatOptions; }
148
+ var _a = __read(currency.units, 1), unit = _a[0];
149
+ var code = unit.code;
150
+ if (currency.type === "CryptoCurrency") {
151
+ var deviceTicker = currency.deviceTicker;
152
+ if (deviceTicker)
153
+ code = deviceTicker;
154
+ }
155
+ var fValue = value.div(new BigNumber(10).pow(unit.magnitude));
156
+ var v = options.showAllDigits
157
+ ? fValue.toFixed(unit.magnitude)
158
+ : fValue.toString(10);
159
+ if (options.forceFloating) {
160
+ if (!v.includes(".")) {
161
+ // if the value is pure integer, in the app it will automatically add an .0
162
+ v += ".0";
163
+ }
164
+ }
165
+ if (options.hideCode)
166
+ return v;
167
+ return options.postfixCode ? v + sep + code : code + sep + v;
168
+ }
169
+ // this function throw if the portion of undelegated funds is smaller than the threshold
170
+ // where threshold is a value from 0.0 to 1.0, percentage of the total amount of funds
171
+ // Usage: put these in your spec, on the mutation transaction functions that intend to do more "delegations"
172
+ export function expectSiblingsHaveSpendablePartGreaterThan(siblings, threshold) {
173
+ var spendableTotal = siblings.reduce(function (acc, a) { return acc.plus(a.spendableBalance); }, new BigNumber(0));
174
+ var total = siblings.reduce(function (acc, a) { return acc.plus(a.balance); }, new BigNumber(0));
175
+ invariant(spendableTotal.div(total).gt(threshold), "the spendable part of accounts is sufficient (threshold: %s)", threshold);
176
+ }
177
+ export var genericTestDestination = function (_a) {
178
+ var destination = _a.destination, operation = _a.operation, destinationBeforeTransaction = _a.destinationBeforeTransaction, sendingOperation = _a.sendingOperation;
179
+ var amount = sendingOperation.value.minus(sendingOperation.fee);
180
+ botTest("account balance increased with transaction amount", function () {
181
+ return expect(destination.balance.toString()).toBe(destinationBeforeTransaction.balance.plus(amount).toString());
182
+ });
183
+ botTest("operation amount is consistent with sendingOperation", function () {
184
+ return expect({
185
+ type: operation.type,
186
+ amount: operation.value.toString()
187
+ }).toMatchObject({
188
+ type: "IN",
189
+ amount: amount.toString()
190
+ });
191
+ });
192
+ };
193
+ //# sourceMappingURL=specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../src/bot/specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ import Transport from "@ledgerhq/hw-transport";
3
+ import type { DeviceModelId } from "@ledgerhq/devices";
4
+ import { Account, AccountBridge, AccountRaw, Operation, SignedOperation, SignOperationEvent, TransactionCommon, TransactionStatusCommon } from "@ledgerhq/types-live";
5
+ import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
6
+ export type AppCandidate = {
7
+ path: string;
8
+ model: DeviceModelId;
9
+ firmware: string;
10
+ appName: string;
11
+ appVersion: string;
12
+ };
13
+ export type DeviceActionEvent = {
14
+ text: string;
15
+ x: number;
16
+ y: number;
17
+ };
18
+ export type TransactionTestInput<T> = {
19
+ account: Account;
20
+ accountBeforeTransaction: Account;
21
+ transaction: T;
22
+ status: TransactionStatusCommon;
23
+ optimisticOperation: Operation;
24
+ operation: Operation;
25
+ };
26
+ export type TransactionDestinationTestInput<T> = {
27
+ sendingAccount: Account;
28
+ sendingOperation: Operation;
29
+ destinationBeforeTransaction: Account;
30
+ operation: Operation;
31
+ destination: Account;
32
+ transaction: T;
33
+ status: TransactionStatusCommon;
34
+ };
35
+ export type DeviceActionArg<T extends TransactionCommon, S> = {
36
+ appCandidate: AppCandidate;
37
+ account: Account;
38
+ transaction: T;
39
+ status: TransactionStatusCommon;
40
+ transport: Transport & {
41
+ button: (arg0: string) => void;
42
+ };
43
+ event: DeviceActionEvent;
44
+ state: S;
45
+ disableStrictStepValueValidation?: boolean;
46
+ };
47
+ export type DeviceAction<T extends TransactionCommon, S> = (arg0: DeviceActionArg<T, S>) => S | null | undefined;
48
+ export type TransactionArg<T extends TransactionCommon> = {
49
+ appCandidate: AppCandidate;
50
+ account: Account;
51
+ siblings: Account[];
52
+ bridge: AccountBridge<T>;
53
+ maxSpendable: BigNumber;
54
+ preloadedData: any;
55
+ };
56
+ export type TransactionRes<T extends TransactionCommon> = {
57
+ transaction: T;
58
+ updates: Array<Partial<T> | null | undefined>;
59
+ destination?: Account;
60
+ };
61
+ export type MutationSpec<T extends TransactionCommon> = {
62
+ name: string;
63
+ maxRun: number;
64
+ transaction: (arg: TransactionArg<T>) => TransactionRes<T>;
65
+ recoverBadTransactionStatus?: (arg0: {
66
+ transaction: T;
67
+ status: TransactionStatusCommon;
68
+ account: Account;
69
+ bridge: AccountBridge<T>;
70
+ }) => T | null | undefined;
71
+ expectStatusWarnings?: (arg0: {
72
+ transaction: T;
73
+ status: TransactionStatusCommon;
74
+ account: Account;
75
+ bridge: AccountBridge<T>;
76
+ }) => {
77
+ [_: string]: Error;
78
+ } | undefined;
79
+ deviceAction?: DeviceAction<T, any>;
80
+ testTimeout?: number;
81
+ test?: (input: TransactionTestInput<T>) => void;
82
+ testDestination?: (input: TransactionDestinationTestInput<T>) => void;
83
+ };
84
+ export type AppSpec<T extends TransactionCommon> = {
85
+ disabled?: boolean;
86
+ name: string;
87
+ currency: CryptoCurrency;
88
+ testTimeout?: number;
89
+ scanAccountsRetries?: number;
90
+ multipleRuns?: number;
91
+ crossAccountFrequency?: number;
92
+ dependency?: string;
93
+ appQuery: {
94
+ model?: DeviceModelId;
95
+ appName?: string;
96
+ firmware?: string;
97
+ appVersion?: string;
98
+ };
99
+ mutations: MutationSpec<T>[];
100
+ transactionCheck?: (arg: TransactionArg<T>) => void;
101
+ test?: (arg0: TransactionTestInput<T>) => void;
102
+ genericDeviceAction: DeviceAction<T, any>;
103
+ genericDeviceActionForSubAccountTransfers?: DeviceAction<T, any>;
104
+ minViableAmount?: BigNumber;
105
+ skipMutationsTimeout?: number;
106
+ allowEmptyAccounts?: boolean;
107
+ };
108
+ export type SpecReport<T extends TransactionCommon> = {
109
+ spec: AppSpec<T>;
110
+ appPath?: string;
111
+ scanDuration?: number;
112
+ preloadDuration?: number;
113
+ accountsBefore?: Account[];
114
+ accountsAfter?: Account[];
115
+ mutations?: MutationReport<T>[];
116
+ fatalError?: Error;
117
+ hintWarnings: string[];
118
+ skipMutationsTimeoutReached: boolean;
119
+ };
120
+ export type MutationReport<T extends TransactionCommon> = {
121
+ resyncAccountsDuration: number;
122
+ spec: AppSpec<T>;
123
+ appCandidate: AppCandidate;
124
+ account?: Account;
125
+ maxSpendable?: BigNumber;
126
+ unavailableMutationReasons?: Array<{
127
+ error: Error;
128
+ mutation: MutationSpec<T>;
129
+ }>;
130
+ mutation?: MutationSpec<T>;
131
+ mutationTime?: number;
132
+ destination?: Account;
133
+ transaction?: T;
134
+ status?: TransactionStatusCommon;
135
+ statusTime?: number;
136
+ recoveredFromTransactionStatus?: {
137
+ transaction: T;
138
+ status: TransactionStatusCommon;
139
+ };
140
+ latestSignOperationEvent?: SignOperationEvent;
141
+ signedOperation?: SignedOperation;
142
+ signedTime?: number;
143
+ optimisticOperation?: Operation;
144
+ broadcastedTime?: number;
145
+ operation?: Operation;
146
+ confirmedTime?: number;
147
+ finalAccount?: Account;
148
+ testDuration?: number;
149
+ destinationConfirmedTime?: number;
150
+ finalDestination?: Account;
151
+ finalDestinationOperation?: Operation;
152
+ testDestinationDuration?: number;
153
+ error?: Error;
154
+ errorTime?: number;
155
+ hintWarnings: string[];
156
+ };
157
+ export type MinimalSerializedMutationReport = {
158
+ appCandidate: AppCandidate;
159
+ mutationName: string | undefined;
160
+ accountId: string | undefined;
161
+ destinationId: string | undefined;
162
+ operationId: string | undefined;
163
+ error: string | undefined;
164
+ };
165
+ export type MinimalSerializedSpecReport = {
166
+ specName: string;
167
+ accounts: AccountRaw[] | undefined;
168
+ fatalError: string | undefined;
169
+ mutations: MinimalSerializedMutationReport[] | undefined;
170
+ existingMutationNames: string[];
171
+ hintWarnings: string[];
172
+ };
173
+ export type MinimalSerializedReport = {
174
+ results: Array<MinimalSerializedSpecReport>;
175
+ environment: string | undefined;
176
+ seedHash: string;
177
+ };
178
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bot/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,OAAO,EACP,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AACF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB,EAAE,OAAO,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC;IACf,MAAM,EAAE,uBAAuB,CAAC;IAChC,mBAAmB,EAAE,SAAS,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,+BAA+B,CAAC,CAAC,IAAI;IAC/C,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,4BAA4B,EAAE,OAAO,CAAC;IACtC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC;IACf,MAAM,EAAE,uBAAuB,CAAC;CACjC,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,IAAI;IAC5D,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,CAAC,CAAC;IACf,MAAM,EAAE,uBAAuB,CAAC;IAChC,SAAS,EAAE,SAAS,GAAG;QACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAChC,CAAC;IACF,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC;IACT,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC5C,CAAC;AACF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,IAAI,CACzD,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,KACxB,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAC1B,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,IAAI;IACxD,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,aAAa,EAAE,GAAG,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,IAAI;IACxD,WAAW,EAAE,CAAC,CAAC;IACf,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,iBAAiB,IAAI;IAEtD,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC;IAE3D,2BAA2B,CAAC,EAAE,CAAC,IAAI,EAAE;QACnC,WAAW,EAAE,CAAC,CAAC;QACf,MAAM,EAAE,uBAAuB,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KAC1B,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAE3B,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAC5B,WAAW,EAAE,CAAC,CAAC;QACf,MAAM,EAAE,uBAAuB,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KAC1B,KAAK;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,GAAG,SAAS,CAAC;IAEzC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEpC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAEhD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,iBAAiB,IAAI;IAEjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,cAAc,CAAC;IAEzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAGpD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAE/C,mBAAmB,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE1C,yCAAyC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAGjE,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,iBAAiB,IAAI;IACpD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC;IAEnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2BAA2B,EAAE,OAAO,CAAC;CACtC,CAAC;AACF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,IAAI;IACxD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0BAA0B,CAAC,EAAE,KAAK,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC;QACb,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;KAC3B,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B,CAAC,EAAE;QAC/B,WAAW,EAAE,CAAC,CAAC;QACf,MAAM,EAAE,uBAAuB,CAAC;KACjC,CAAC;IACF,wBAAwB,CAAC,EAAE,kBAAkB,CAAC;IAC9C,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,SAAS,CAAC;IACtC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IAExC,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACnC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,+BAA+B,EAAE,GAAG,SAAS,CAAC;IACzD,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bot/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import Transport from "@ledgerhq/hw-transport";
2
+ import type { Result, GetAddressOptions } from "../derivation";
3
+ export type Resolver = (transport: Transport, addressOpt: GetAddressOptions) => Promise<Result>;
4
+ declare const getAddressWrapper: (getAddressFn: Resolver) => (transport: Transport, opts: GetAddressOptions) => Promise<Result>;
5
+ export default getAddressWrapper;
6
+ //# sourceMappingURL=getAddressWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddressWrapper.d.ts","sourceRoot":"","sources":["../../src/bridge/getAddressWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAM/C,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,MAAM,QAAQ,GAAG,CACrB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,iBAAiB,KAC1B,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,QAAA,MAAM,iBAAiB,iBACN,QAAQ,iBACX,SAAS,QAAQ,iBAAiB,oBAsB7C,CAAC;AAEJ,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { DeviceAppVerifyNotSupported, UserRefusedAddress, } from "@ledgerhq/errors";
2
+ import { log } from "@ledgerhq/logs";
3
+ var getAddressWrapper = function (getAddressFn) {
4
+ return function (transport, opts) {
5
+ var currency = opts.currency, path = opts.path, verify = opts.verify;
6
+ return getAddressFn(transport, opts)
7
+ .then(function (result) {
8
+ log("hw", "getAddress ".concat(currency.id, " on ").concat(path), result);
9
+ return result;
10
+ })["catch"](function (e) {
11
+ log("hw", "getAddress ".concat(currency.id, " on ").concat(path, " FAILED ").concat(String(e)));
12
+ if (e && e.name === "TransportStatusError") {
13
+ if (e.statusCode === 0x6b00 && verify) {
14
+ throw new DeviceAppVerifyNotSupported();
15
+ }
16
+ if (e.statusCode === 0x6985 || e.statusCode === 0x5501) {
17
+ throw new UserRefusedAddress();
18
+ }
19
+ }
20
+ throw e;
21
+ });
22
+ };
23
+ };
24
+ export default getAddressWrapper;
25
+ //# sourceMappingURL=getAddressWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddressWrapper.js","sourceRoot":"","sources":["../../src/bridge/getAddressWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAQrC,IAAM,iBAAiB,GACrB,UAAC,YAAsB;IACvB,OAAA,UAAC,SAAoB,EAAE,IAAuB;QACpC,IAAA,QAAQ,GAAmB,IAAI,SAAvB,EAAE,IAAI,GAAa,IAAI,KAAjB,EAAE,MAAM,GAAK,IAAI,OAAT,CAAU;QACxC,OAAO,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC;aACjC,IAAI,CAAC,UAAC,MAAM;YACX,GAAG,CAAC,IAAI,EAAE,qBAAc,QAAQ,CAAC,EAAE,iBAAO,IAAI,CAAE,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CACD,OAAK,CAAA,CAAC,UAAC,CAAC;YACP,GAAG,CAAC,IAAI,EAAE,qBAAc,QAAQ,CAAC,EAAE,iBAAO,IAAI,qBAAW,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;YAEtE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB,EAAE;gBAC1C,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,MAAM,EAAE;oBACrC,MAAM,IAAI,2BAA2B,EAAE,CAAC;iBACzC;gBAED,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;oBACtD,MAAM,IAAI,kBAAkB,EAAE,CAAC;iBAChC;aACF;YAED,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACP,CAAC;AAtBD,CAsBC,CAAC;AAEJ,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { Observable } from "rxjs";
2
+ import Transport from "@ledgerhq/hw-transport";
3
+ import { DerivationMode } from "../derivation";
4
+ import { Resolver } from "./getAddressWrapper";
5
+ import type { Result } from "../derivation";
6
+ import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
7
+ import type { Account, AccountBridge, CurrencyBridge, Operation, ProtoNFT, SyncConfig } from "@ledgerhq/types-live";
8
+ type IterateResult = ({ transport, index, derivationsCache, derivationScheme, derivationMode, currency, }: {
9
+ transport: Transport;
10
+ index: number;
11
+ derivationsCache: Record<string, Result>;
12
+ derivationScheme: string;
13
+ derivationMode: DerivationMode;
14
+ currency: CryptoCurrency;
15
+ }) => Promise<Result | null>;
16
+ export type IterateResultBuilder = ({ result, // derivation on the "root" of the derivation
17
+ derivationMode, // identify the current derivation scheme
18
+ derivationScheme, }: {
19
+ result: Result;
20
+ derivationMode: DerivationMode;
21
+ derivationScheme: string;
22
+ }) => Promise<IterateResult>;
23
+ export type AccountShapeInfo = {
24
+ currency: CryptoCurrency;
25
+ address: string;
26
+ index: number;
27
+ initialAccount?: Account;
28
+ derivationPath: string;
29
+ derivationMode: DerivationMode;
30
+ transport?: Transport;
31
+ rest?: any;
32
+ };
33
+ export type GetAccountShape = (arg0: AccountShapeInfo, arg1: SyncConfig) => Promise<Partial<Account>>;
34
+ export declare const sameOp: (a: Operation, b: Operation) => boolean;
35
+ export declare function mergeOps(// existing operations. sorted (newer to older). deduped.
36
+ existing: Operation[], // new fetched operations. not sorted. not deduped. time is allowed to overlap inside existing.
37
+ newFetched: Operation[]): Operation[];
38
+ export declare const mergeNfts: (oldNfts: ProtoNFT[], newNfts: ProtoNFT[]) => ProtoNFT[];
39
+ export declare const makeSync: ({ getAccountShape, postSync, shouldMergeOps, }: {
40
+ getAccountShape: GetAccountShape;
41
+ postSync?: ((initial: Account, synced: Account) => Account) | undefined;
42
+ shouldMergeOps?: boolean | undefined;
43
+ }) => AccountBridge<any>["sync"];
44
+ export type DeviceCommunication = (deviceId: string) => <T>(job: (transport: Transport) => Observable<T>) => Observable<T>;
45
+ export declare const makeScanAccounts: ({ getAccountShape, deviceCommunication, buildIterateResult, getAddressFn, }: {
46
+ getAccountShape: GetAccountShape;
47
+ deviceCommunication: DeviceCommunication;
48
+ buildIterateResult?: IterateResultBuilder | undefined;
49
+ getAddressFn: Resolver;
50
+ }) => CurrencyBridge["scanAccounts"];
51
+ export declare function makeAccountBridgeReceive(getAddressFn: Resolver, deviceCommunication: DeviceCommunication, { injectGetAddressParams, }?: {
52
+ injectGetAddressParams?: (account: Account) => any;
53
+ }): (account: Account, option: {
54
+ verify?: boolean;
55
+ deviceId: string;
56
+ subAccountId?: string;
57
+ freshAddressIndex?: number;
58
+ }) => Observable<{
59
+ address: string;
60
+ path: string;
61
+ }>;
62
+ export {};
63
+ //# sourceMappingURL=jsHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsHelpers.d.ts","sourceRoot":"","sources":["../../src/bridge/jsHelpers.ts"],"names":[],"mappings":"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"}