@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,41 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var bot_test_context_1 = require("./bot-test-context");
4
+ var formatters_1 = require("./formatters");
5
+ describe("test the botTest context itself", function () {
6
+ test("botTest", function () {
7
+ var f = function () {
8
+ try {
9
+ (0, bot_test_context_1.botTest)("CTX", function () { return expect(true).toEqual(false); });
10
+ }
11
+ catch (e) {
12
+ return (0, bot_test_context_1.getContext)(e);
13
+ }
14
+ };
15
+ expect(f()).toEqual("CTX");
16
+ });
17
+ test("double botTest", function () {
18
+ var f = function () {
19
+ try {
20
+ (0, bot_test_context_1.botTest)("1", function () { return (0, bot_test_context_1.botTest)("2", function () { return expect(true).toEqual(false); }); });
21
+ }
22
+ catch (e) {
23
+ return (0, bot_test_context_1.getContext)(e);
24
+ }
25
+ };
26
+ expect(f()).toEqual("1 > 2");
27
+ });
28
+ test("formatError", function () {
29
+ var _a;
30
+ var f = function () {
31
+ try {
32
+ (0, bot_test_context_1.botTest)("CTX", function () { return expect(true).toEqual(false); });
33
+ }
34
+ catch (e) {
35
+ return (0, formatters_1.formatError)(e);
36
+ }
37
+ };
38
+ expect((_a = f()) === null || _a === void 0 ? void 0 : _a.slice(0, 8)).toEqual("TEST CTX");
39
+ });
40
+ });
41
+ //# sourceMappingURL=bot-test-context.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-test-context.test.js","sourceRoot":"","sources":["../../src/bot/bot-test-context.test.ts"],"names":[],"mappings":";;AAAA,uDAAyD;AACzD,2CAA2C;AAE3C,QAAQ,CAAC,iCAAiC,EAAE;IAC1C,IAAI,CAAC,SAAS,EAAE;QACd,IAAM,CAAC,GAAG;YACR,IAAI;gBACF,IAAA,0BAAO,EAAC,KAAK,EAAE,cAAM,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAA3B,CAA2B,CAAC,CAAC;aACnD;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,IAAA,6BAAU,EAAC,CAAC,CAAC,CAAC;aACtB;QACH,CAAC,CAAC;QACF,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE;QACrB,IAAM,CAAC,GAAG;YACR,IAAI;gBACF,IAAA,0BAAO,EAAC,GAAG,EAAE,cAAM,OAAA,IAAA,0BAAO,EAAC,GAAG,EAAE,cAAM,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAA3B,CAA2B,CAAC,EAA/C,CAA+C,CAAC,CAAC;aACrE;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,IAAA,6BAAU,EAAC,CAAC,CAAC,CAAC;aACtB;QACH,CAAC,CAAC;QACF,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE;;QAClB,IAAM,CAAC,GAAG;YACR,IAAI;gBACF,IAAA,0BAAO,EAAC,KAAK,EAAE,cAAM,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAA3B,CAA2B,CAAC,CAAC;aACnD;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,IAAA,wBAAW,EAAC,CAAC,CAAC,CAAC;aACvB;QACH,CAAC,CAAC;QACF,MAAM,CAAC,MAAA,CAAC,EAAE,0CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function formatError(e: unknown, longform?: boolean): string;
2
+ //# sourceMappingURL=formatters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/bot/formatters.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,UAAQ,GAAG,MAAM,CAmBhE"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.formatError = void 0;
4
+ var bot_test_context_1 = require("./bot-test-context");
5
+ function formatError(e, longform) {
6
+ if (longform === void 0) { longform = false; }
7
+ var out = "";
8
+ if (!e || typeof e !== "object") {
9
+ out = String(e);
10
+ }
11
+ else if (e instanceof Error) {
12
+ var ctx = (0, bot_test_context_1.getContext)(e);
13
+ if (ctx)
14
+ out += "TEST ".concat(ctx, "\n");
15
+ out += String(e);
16
+ }
17
+ else {
18
+ try {
19
+ out = "raw object: " + JSON.stringify(e);
20
+ }
21
+ catch (_e) {
22
+ out = String(e);
23
+ }
24
+ }
25
+ if (longform) {
26
+ return out.slice(0, 500);
27
+ }
28
+ return out.replace(/[`]/g, "").replace(/\n/g, " ").slice(0, 200);
29
+ }
30
+ exports.formatError = formatError;
31
+ //# sourceMappingURL=formatters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/bot/formatters.ts"],"names":[],"mappings":";;;AAAA,uDAAgD;AAEhD,SAAgB,WAAW,CAAC,CAAU,EAAE,QAAgB;IAAhB,yBAAA,EAAA,gBAAgB;IACtD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QAC/B,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KACjB;SAAM,IAAI,CAAC,YAAY,KAAK,EAAE;QAC7B,IAAM,GAAG,GAAG,IAAA,6BAAU,EAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG;YAAE,GAAG,IAAI,eAAQ,GAAG,OAAI,CAAC;QAChC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;KAClB;SAAM;QACL,IAAI;YACF,GAAG,GAAG,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1C;QAAC,OAAO,EAAE,EAAE;YACX,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;IACD,IAAI,QAAQ,EAAE;QACZ,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KAC1B;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC;AAnBD,kCAmBC"}
@@ -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,204 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __importDefault = (this && this.__importDefault) || function (mod) {
19
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
+ };
21
+ exports.__esModule = true;
22
+ exports.genericTestDestination = exports.expectSiblingsHaveSpendablePartGreaterThan = exports.formatDeviceAmount = exports.deviceActionFlow = exports.SpeculosButton = exports.pickSiblings = exports.botTest = void 0;
23
+ // helpers for spec
24
+ var invariant_1 = __importDefault(require("invariant"));
25
+ var logs_1 = require("@ledgerhq/logs");
26
+ var expect_1 = __importDefault(require("expect"));
27
+ var sample_1 = __importDefault(require("lodash/sample"));
28
+ var account_1 = require("../account");
29
+ var bot_test_context_1 = require("./bot-test-context");
30
+ exports.botTest = bot_test_context_1.botTest;
31
+ var bignumber_js_1 = __importDefault(require("bignumber.js"));
32
+ var stepValueTransformDefault = function (s) { return s.trim(); };
33
+ // TODO should weight the choice to favorize accounts with small amounts
34
+ function pickSiblings(siblings, maxAccount) {
35
+ if (maxAccount === void 0) { maxAccount = 5; }
36
+ var withoutEmpties = siblings.filter(function (a) { return a.used; });
37
+ if (withoutEmpties.length >= maxAccount) {
38
+ // we are no longer creating accounts
39
+ var maybeAccount_1 = (0, sample_1["default"])(withoutEmpties);
40
+ if (!maybeAccount_1) {
41
+ throw new Error("at least one non-empty sibling account exists. maxAccount=" +
42
+ maxAccount);
43
+ }
44
+ return maybeAccount_1;
45
+ }
46
+ // we are only keeping empty account that have smaller index to favorize creation of non created derivation modes
47
+ var empties = siblings.filter(account_1.isAccountEmpty);
48
+ empties.sort(function (a, b) { return a.index - b.index; });
49
+ if (empties.length > 0) {
50
+ empties = empties.filter(function (e) { return e.index === empties[0].index; });
51
+ }
52
+ var maybeAccount = (0, sample_1["default"])(withoutEmpties.concat(empties));
53
+ if (!maybeAccount) {
54
+ throw new Error("at least one sibling account exists. maxAccount=" + maxAccount);
55
+ }
56
+ return maybeAccount;
57
+ }
58
+ exports.pickSiblings = pickSiblings;
59
+ var SpeculosButton;
60
+ (function (SpeculosButton) {
61
+ SpeculosButton["LEFT"] = "Ll";
62
+ SpeculosButton["RIGHT"] = "Rr";
63
+ SpeculosButton["BOTH"] = "LRlr";
64
+ })(SpeculosButton = exports.SpeculosButton || (exports.SpeculosButton = {}));
65
+ // generalized logic of device actions
66
+ function deviceActionFlow(description) {
67
+ return function (arg) {
68
+ (0, invariant_1["default"])(arg.appCandidate.model === "nanoS", "FIXME: stepper logic is only implemented for Nano S");
69
+ var transport = arg.transport, event = arg.event, state = arg.state, disableStrictStepValueValidation = arg.disableStrictStepValueValidation;
70
+ var _a = state || {
71
+ finalState: false,
72
+ stepTitle: "",
73
+ stepValue: "",
74
+ acc: [],
75
+ currentStep: null
76
+ }, finalState = _a.finalState, stepTitle = _a.stepTitle, stepValue = _a.stepValue, acc = _a.acc, currentStep = _a.currentStep;
77
+ function runStep(step) {
78
+ var final = step.final, title = step.title, button = step.button;
79
+ if (stepValue && step.title !== stepTitle) {
80
+ // there were accumulated text and we are on new step, we need to release it and compare to expected
81
+ if (currentStep && currentStep.expectedValue) {
82
+ var expectedValue_1 = currentStep.expectedValue, ignoreAssertionFailure = currentStep.ignoreAssertionFailure;
83
+ var stepValueTransform_1 = currentStep.stepValueTransform || stepValueTransformDefault;
84
+ if (!ignoreAssertionFailure && !disableStrictStepValueValidation) {
85
+ (0, bot_test_context_1.botTest)("deviceAction confirm step '" + stepTitle + "'", function () {
86
+ var _a, _b;
87
+ return (0, expect_1["default"])((_a = {},
88
+ _a[stepTitle] = stepValueTransform_1(stepValue),
89
+ _a)).toMatchObject((_b = {},
90
+ _b[stepTitle] = expectedValue_1(arg, acc).trim(),
91
+ _b));
92
+ });
93
+ }
94
+ }
95
+ acc = acc.concat({
96
+ title: stepTitle,
97
+ value: stepValue
98
+ });
99
+ // a new step reset back the value for the next
100
+ stepValue = "";
101
+ }
102
+ if (button) {
103
+ // some step trigger navigation action
104
+ transport.button(button);
105
+ }
106
+ // text is the title of the step. we assume screen event starts / ends.
107
+ stepTitle = title;
108
+ currentStep = step;
109
+ if (final) {
110
+ finalState = true;
111
+ }
112
+ }
113
+ if (!finalState) {
114
+ var possibleKnownStep = description.steps.find(function (s) {
115
+ if (s.maxY) {
116
+ return event.text.startsWith(s.title) && event.y < s.maxY;
117
+ }
118
+ return event.text.startsWith(s.title);
119
+ });
120
+ // if there is a fallback provided, we will run it to try to detect another possible known step
121
+ if (!possibleKnownStep && description.fallback) {
122
+ possibleKnownStep = description.fallback(arg);
123
+ }
124
+ if (possibleKnownStep) {
125
+ // a step title was recognized. run it as a new step
126
+ runStep(possibleKnownStep);
127
+ }
128
+ else if (currentStep) {
129
+ // there is a current ongoing step so we need to accumulate all text we see
130
+ var text = event.text;
131
+ if (currentStep.trimValue)
132
+ text = text.trim();
133
+ stepValue += text;
134
+ }
135
+ }
136
+ (0, logs_1.log)("bot/flow", "'".concat(event.text, "' ~> ").concat(stepTitle, ": ").concat(stepValue));
137
+ return {
138
+ finalState: finalState,
139
+ stepTitle: stepTitle,
140
+ stepValue: stepValue,
141
+ acc: acc,
142
+ currentStep: currentStep
143
+ };
144
+ };
145
+ }
146
+ exports.deviceActionFlow = deviceActionFlow;
147
+ var defaultFormatOptions = {
148
+ postfixCode: false,
149
+ forceFloating: false,
150
+ hideCode: false,
151
+ showAllDigits: false
152
+ };
153
+ var sep = " ";
154
+ function formatDeviceAmount(currency, value, options) {
155
+ if (options === void 0) { options = defaultFormatOptions; }
156
+ var _a = __read(currency.units, 1), unit = _a[0];
157
+ var code = unit.code;
158
+ if (currency.type === "CryptoCurrency") {
159
+ var deviceTicker = currency.deviceTicker;
160
+ if (deviceTicker)
161
+ code = deviceTicker;
162
+ }
163
+ var fValue = value.div(new bignumber_js_1["default"](10).pow(unit.magnitude));
164
+ var v = options.showAllDigits
165
+ ? fValue.toFixed(unit.magnitude)
166
+ : fValue.toString(10);
167
+ if (options.forceFloating) {
168
+ if (!v.includes(".")) {
169
+ // if the value is pure integer, in the app it will automatically add an .0
170
+ v += ".0";
171
+ }
172
+ }
173
+ if (options.hideCode)
174
+ return v;
175
+ return options.postfixCode ? v + sep + code : code + sep + v;
176
+ }
177
+ exports.formatDeviceAmount = formatDeviceAmount;
178
+ // this function throw if the portion of undelegated funds is smaller than the threshold
179
+ // where threshold is a value from 0.0 to 1.0, percentage of the total amount of funds
180
+ // Usage: put these in your spec, on the mutation transaction functions that intend to do more "delegations"
181
+ function expectSiblingsHaveSpendablePartGreaterThan(siblings, threshold) {
182
+ var spendableTotal = siblings.reduce(function (acc, a) { return acc.plus(a.spendableBalance); }, new bignumber_js_1["default"](0));
183
+ var total = siblings.reduce(function (acc, a) { return acc.plus(a.balance); }, new bignumber_js_1["default"](0));
184
+ (0, invariant_1["default"])(spendableTotal.div(total).gt(threshold), "the spendable part of accounts is sufficient (threshold: %s)", threshold);
185
+ }
186
+ exports.expectSiblingsHaveSpendablePartGreaterThan = expectSiblingsHaveSpendablePartGreaterThan;
187
+ var genericTestDestination = function (_a) {
188
+ var destination = _a.destination, operation = _a.operation, destinationBeforeTransaction = _a.destinationBeforeTransaction, sendingOperation = _a.sendingOperation;
189
+ var amount = sendingOperation.value.minus(sendingOperation.fee);
190
+ (0, bot_test_context_1.botTest)("account balance increased with transaction amount", function () {
191
+ return (0, expect_1["default"])(destination.balance.toString()).toBe(destinationBeforeTransaction.balance.plus(amount).toString());
192
+ });
193
+ (0, bot_test_context_1.botTest)("operation amount is consistent with sendingOperation", function () {
194
+ return (0, expect_1["default"])({
195
+ type: operation.type,
196
+ amount: operation.value.toString()
197
+ }).toMatchObject({
198
+ type: "IN",
199
+ amount: amount.toString()
200
+ });
201
+ });
202
+ };
203
+ exports.genericTestDestination = genericTestDestination;
204
+ //# sourceMappingURL=specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../src/bot/specs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mBAAmB;AACnB,wDAAkC;AAClC,uCAAqC;AACrC,kDAA4B;AAC5B,yDAAmC;AACnC,sCAA4C;AAO5C,uDAA6C;AAIpC,kBAJA,0BAAO,CAIA;AAFhB,8DAAqC;AAIrC,IAAM,yBAAyB,GAAG,UAAC,CAAS,IAAK,OAAA,CAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC;AAE1D,wEAAwE;AACxE,SAAgB,YAAY,CAAC,QAAmB,EAAE,UAAc;IAAd,2BAAA,EAAA,cAAc;IAC9D,IAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IAEtD,IAAI,cAAc,CAAC,MAAM,IAAI,UAAU,EAAE;QACvC,qCAAqC;QACrC,IAAM,cAAY,GAAG,IAAA,mBAAM,EAAC,cAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CACb,4DAA4D;gBAC1D,UAAU,CACb,CAAC;SACH;QACD,OAAO,cAAY,CAAC;KACrB;IAED,iHAAiH;IACjH,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,wBAAc,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAjB,CAAiB,CAAC,CAAC;IAE1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAA5B,CAA4B,CAAC,CAAC;KAC/D;IAED,IAAM,YAAY,GAAG,IAAA,mBAAM,EAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CACb,kDAAkD,GAAG,UAAU,CAChE,CAAC;KACH;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AA9BD,oCA8BC;AAaD,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,8BAAY,CAAA;IACZ,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB;AAuBD,sCAAsC;AACtC,SAAgB,gBAAgB,CAC9B,WAAwB;IAExB,OAAO,UAAC,GAAiC;QACvC,IAAA,sBAAS,EACP,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,OAAO,EAClC,qDAAqD,CACtD,CAAC;QACM,IAAA,SAAS,GAAqD,GAAG,UAAxD,EAAE,KAAK,GAA8C,GAAG,MAAjD,EAAE,KAAK,GAAuC,GAAG,MAA1C,EAAE,gCAAgC,GAAK,GAAG,iCAAR,CAAS;QACtE,IAAA,KAAyD,KAAK,IAAI;YACpE,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;YACb,GAAG,EAAE,EAAE;YACP,WAAW,EAAE,IAAI;SAClB,EANK,UAAU,gBAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,GAAG,SAAA,EAAE,WAAW,iBAMvD,CAAC;QAEF,SAAS,OAAO,CAAC,IAAa;YACpB,IAAA,KAAK,GAAoB,IAAI,MAAxB,EAAE,KAAK,GAAa,IAAI,MAAjB,EAAE,MAAM,GAAK,IAAI,OAAT,CAAU;YAEtC,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBACzC,oGAAoG;gBACpG,IAAI,WAAW,IAAI,WAAW,CAAC,aAAa,EAAE;oBACpC,IAAA,eAAa,GAA6B,WAAW,cAAxC,EAAE,sBAAsB,GAAK,WAAW,uBAAhB,CAAiB;oBAC9D,IAAM,oBAAkB,GACtB,WAAW,CAAC,kBAAkB,IAAI,yBAAyB,CAAC;oBAE9D,IAAI,CAAC,sBAAsB,IAAI,CAAC,gCAAgC,EAAE;wBAChE,IAAA,0BAAO,EAAC,6BAA6B,GAAG,SAAS,GAAG,GAAG,EAAE;;4BACvD,OAAA,IAAA,mBAAM;gCACJ,GAAC,SAAS,IAAG,oBAAkB,CAAC,SAAS,CAAC;oCAC1C,CAAC,aAAa;gCACd,GAAC,SAAS,IAAG,eAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;oCAC3C;wBAJF,CAIE,CACH,CAAC;qBACH;iBACF;gBAED,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;gBACH,+CAA+C;gBAC/C,SAAS,GAAG,EAAE,CAAC;aAChB;YAED,IAAI,MAAM,EAAE;gBACV,sCAAsC;gBACtC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC1B;YAED,uEAAuE;YACvE,SAAS,GAAG,KAAK,CAAC;YAClB,WAAW,GAAG,IAAI,CAAC;YAEnB,IAAI,KAAK,EAAE;gBACT,UAAU,GAAG,IAAI,CAAC;aACnB;QACH,CAAC;QAED,IAAI,CAAC,UAAU,EAAE;YACf,IAAI,iBAAiB,GACnB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC;gBACvB,IAAI,CAAC,CAAC,IAAI,EAAE;oBACV,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;iBAC3D;gBACD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEL,+FAA+F;YAC/F,IAAI,CAAC,iBAAiB,IAAI,WAAW,CAAC,QAAQ,EAAE;gBAC9C,iBAAiB,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC/C;YAED,IAAI,iBAAiB,EAAE;gBACrB,oDAAoD;gBACpD,OAAO,CAAC,iBAAiB,CAAC,CAAC;aAC5B;iBAAM,IAAI,WAAW,EAAE;gBACtB,2EAA2E;gBACrE,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;gBACrB,IAAI,WAAW,CAAC,SAAS;oBAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,SAAS,IAAI,IAAI,CAAC;aACnB;SACF;QAED,IAAA,UAAG,EAAC,UAAU,EAAE,WAAI,KAAK,CAAC,IAAI,kBAAQ,SAAS,eAAK,SAAS,CAAE,CAAC,CAAC;QACjE,OAAO;YACL,UAAU,YAAA;YACV,SAAS,WAAA;YACT,SAAS,WAAA;YACT,GAAG,KAAA;YACH,WAAW,aAAA;SACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA9FD,4CA8FC;AAYD,IAAM,oBAAoB,GAA8B;IACtD,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,KAAK;CACrB,CAAC;AAEF,IAAM,GAAG,GAAG,GAAG,CAAC;AAChB,SAAgB,kBAAkB,CAChC,QAAwC,EACxC,KAAgB,EAChB,OAAkE;IAAlE,wBAAA,EAAA,8BAAkE;IAE5D,IAAA,KAAA,OAAS,QAAQ,CAAC,KAAK,IAAA,EAAtB,IAAI,QAAkB,CAAC;IAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrB,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,EAAE;QAC9B,IAAA,YAAY,GAAK,QAAQ,aAAb,CAAc;QAClC,IAAI,YAAY;YAAE,IAAI,GAAG,YAAY,CAAC;KACvC;IACD,IAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,yBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa;QAC3B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,aAAa,EAAE;QACzB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACpB,2EAA2E;YAC3E,CAAC,IAAI,IAAI,CAAC;SACX;KACF;IACD,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;AAC/D,CAAC;AAvBD,gDAuBC;AAED,wFAAwF;AACxF,sFAAsF;AACtF,4GAA4G;AAC5G,SAAgB,0CAA0C,CACxD,QAAmB,EACnB,SAAiB;IAEjB,IAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CACpC,UAAC,GAAG,EAAE,CAAC,IAAK,OAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAA5B,CAA4B,EACxC,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,CAAC;IACF,IAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAC3B,UAAC,GAAG,EAAE,CAAC,IAAK,OAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAnB,CAAmB,EAC/B,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,CAAC;IACF,IAAA,sBAAS,EACP,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EACvC,8DAA8D,EAC9D,SAAS,CACV,CAAC;AACJ,CAAC;AAjBD,gGAiBC;AAEM,IAAM,sBAAsB,GAAG,UAAI,EAKL;QAJnC,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,4BAA4B,kCAAA,EAC5B,gBAAgB,sBAAA;IAEhB,IAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAClE,IAAA,0BAAO,EAAC,mDAAmD,EAAE;QAC3D,OAAA,IAAA,mBAAM,EAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CACzC,4BAA4B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAC7D;IAFD,CAEC,CACF,CAAC;IACF,IAAA,0BAAO,EAAC,sDAAsD,EAAE;QAC9D,OAAA,IAAA,mBAAM,EAAC;YACL,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE;SACnC,CAAC,CAAC,aAAa,CAAC;YACf,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC1B,CAAC;IANF,CAME,CACH,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,sBAAsB,0BAqBjC"}
@@ -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":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ //# 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,27 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var errors_1 = require("@ledgerhq/errors");
4
+ var logs_1 = require("@ledgerhq/logs");
5
+ var getAddressWrapper = function (getAddressFn) {
6
+ return function (transport, opts) {
7
+ var currency = opts.currency, path = opts.path, verify = opts.verify;
8
+ return getAddressFn(transport, opts)
9
+ .then(function (result) {
10
+ (0, logs_1.log)("hw", "getAddress ".concat(currency.id, " on ").concat(path), result);
11
+ return result;
12
+ })["catch"](function (e) {
13
+ (0, logs_1.log)("hw", "getAddress ".concat(currency.id, " on ").concat(path, " FAILED ").concat(String(e)));
14
+ if (e && e.name === "TransportStatusError") {
15
+ if (e.statusCode === 0x6b00 && verify) {
16
+ throw new errors_1.DeviceAppVerifyNotSupported();
17
+ }
18
+ if (e.statusCode === 0x6985 || e.statusCode === 0x5501) {
19
+ throw new errors_1.UserRefusedAddress();
20
+ }
21
+ }
22
+ throw e;
23
+ });
24
+ };
25
+ };
26
+ exports["default"] = getAddressWrapper;
27
+ //# sourceMappingURL=getAddressWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddressWrapper.js","sourceRoot":"","sources":["../../src/bridge/getAddressWrapper.ts"],"names":[],"mappings":";;AACA,2CAG0B;AAC1B,uCAAqC;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,IAAA,UAAG,EAAC,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,IAAA,UAAG,EAAC,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,oCAA2B,EAAE,CAAC;iBACzC;gBAED,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;oBACtD,MAAM,IAAI,2BAAkB,EAAE,CAAC;iBAChC;aACF;YAED,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACP,CAAC;AAtBD,CAsBC,CAAC;AAEJ,qBAAe,iBAAiB,CAAC"}