@ledgerhq/coin-framework 0.3.6 → 0.3.7-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 (428) hide show
  1. package/.eslintrc.js +8 -46
  2. package/.turbo/turbo-build.log +1 -1
  3. package/CHANGELOG.md +27 -1
  4. package/lib/account/accountId.d.ts +16 -0
  5. package/lib/account/accountId.d.ts.map +1 -0
  6. package/lib/account/accountId.js +67 -0
  7. package/lib/account/accountId.js.map +1 -0
  8. package/lib/account/accountName.d.ts +14 -0
  9. package/lib/account/accountName.d.ts.map +1 -0
  10. package/lib/account/accountName.js +14 -0
  11. package/lib/account/accountName.js.map +1 -0
  12. package/lib/account/balanceHistoryCache.d.ts +28 -0
  13. package/lib/account/balanceHistoryCache.d.ts.map +1 -0
  14. package/lib/account/balanceHistoryCache.js +132 -0
  15. package/lib/account/balanceHistoryCache.js.map +1 -0
  16. package/lib/account/balanceHistoryCache.test.d.ts +2 -0
  17. package/lib/account/balanceHistoryCache.test.d.ts.map +1 -0
  18. package/lib/account/balanceHistoryCache.test.js +21 -0
  19. package/lib/account/balanceHistoryCache.test.js.map +1 -0
  20. package/lib/account/groupOperations.d.ts +17 -0
  21. package/lib/account/groupOperations.d.ts.map +1 -0
  22. package/lib/account/groupOperations.js +122 -0
  23. package/lib/account/groupOperations.js.map +1 -0
  24. package/lib/account/helpers.d.ts +46 -0
  25. package/lib/account/helpers.d.ts.map +1 -0
  26. package/lib/account/helpers.js +296 -0
  27. package/lib/account/helpers.js.map +1 -0
  28. package/lib/account/helpers.test.d.ts +2 -0
  29. package/lib/account/helpers.test.d.ts.map +1 -0
  30. package/lib/account/helpers.test.js +409 -0
  31. package/lib/account/helpers.test.js.map +1 -0
  32. package/lib/account/index.d.ts +10 -0
  33. package/lib/account/index.d.ts.map +1 -0
  34. package/lib/account/index.js +26 -0
  35. package/lib/account/index.js.map +1 -0
  36. package/lib/account/ordering.d.ts +10 -0
  37. package/lib/account/ordering.d.ts.map +1 -0
  38. package/lib/account/ordering.js +80 -0
  39. package/lib/account/ordering.js.map +1 -0
  40. package/lib/account/pending.d.ts +4 -0
  41. package/lib/account/pending.d.ts.map +1 -0
  42. package/lib/account/pending.js +53 -0
  43. package/lib/account/pending.js.map +1 -0
  44. package/lib/account/serialization.d.ts +6 -0
  45. package/lib/account/serialization.d.ts.map +1 -0
  46. package/lib/account/serialization.js +108 -0
  47. package/lib/account/serialization.js.map +1 -0
  48. package/lib/account/support.d.ts +7 -0
  49. package/lib/account/support.d.ts.map +1 -0
  50. package/lib/account/support.js +45 -0
  51. package/lib/account/support.js.map +1 -0
  52. package/lib/account.test.d.ts +2 -0
  53. package/lib/account.test.d.ts.map +1 -0
  54. package/lib/account.test.js +180 -0
  55. package/lib/account.test.js.map +1 -0
  56. package/lib/bot/bot-test-context.d.ts +3 -0
  57. package/lib/bot/bot-test-context.d.ts.map +1 -0
  58. package/lib/bot/bot-test-context.js +26 -0
  59. package/lib/bot/bot-test-context.js.map +1 -0
  60. package/lib/bot/bot-test-context.test.d.ts +2 -0
  61. package/lib/bot/bot-test-context.test.d.ts.map +1 -0
  62. package/lib/bot/bot-test-context.test.js +41 -0
  63. package/lib/bot/bot-test-context.test.js.map +1 -0
  64. package/lib/bot/formatters.d.ts +2 -0
  65. package/lib/bot/formatters.d.ts.map +1 -0
  66. package/lib/bot/formatters.js +30 -0
  67. package/lib/bot/formatters.js.map +1 -0
  68. package/lib/bot/specs.d.ts +50 -0
  69. package/lib/bot/specs.d.ts.map +1 -0
  70. package/lib/bot/specs.js +181 -0
  71. package/lib/bot/specs.js.map +1 -0
  72. package/lib/bot/types.d.ts +177 -0
  73. package/lib/bot/types.d.ts.map +1 -0
  74. package/lib/bot/types.js +3 -0
  75. package/lib/bot/types.js.map +1 -0
  76. package/lib/bridge/getAddressWrapper.d.ts +5 -0
  77. package/lib/bridge/getAddressWrapper.d.ts.map +1 -0
  78. package/lib/bridge/getAddressWrapper.js +36 -0
  79. package/lib/bridge/getAddressWrapper.js.map +1 -0
  80. package/lib/bridge/jsHelpers.d.ts +59 -0
  81. package/lib/bridge/jsHelpers.d.ts.map +1 -0
  82. package/lib/bridge/jsHelpers.js +390 -0
  83. package/lib/bridge/jsHelpers.js.map +1 -0
  84. package/lib/cache.d.ts +11 -0
  85. package/lib/cache.d.ts.map +1 -0
  86. package/lib/cache.js +21 -0
  87. package/lib/cache.js.map +1 -0
  88. package/lib/currencies/BigNumberToLocaleString.d.ts +8 -0
  89. package/lib/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  90. package/lib/currencies/BigNumberToLocaleString.js +62 -0
  91. package/lib/currencies/BigNumberToLocaleString.js.map +1 -0
  92. package/lib/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  93. package/lib/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  94. package/lib/currencies/BigNumberToLocaleString.test.js +108 -0
  95. package/lib/currencies/BigNumberToLocaleString.test.js.map +1 -0
  96. package/lib/currencies/CurrencyURIScheme.d.ts +13 -0
  97. package/lib/currencies/CurrencyURIScheme.d.ts.map +1 -0
  98. package/lib/currencies/CurrencyURIScheme.js +95 -0
  99. package/lib/currencies/CurrencyURIScheme.js.map +1 -0
  100. package/lib/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  101. package/lib/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  102. package/lib/currencies/chopCurrencyUnitDecimals.js +29 -0
  103. package/lib/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  104. package/lib/currencies/formatCurrencyUnit.d.ts +33 -0
  105. package/lib/currencies/formatCurrencyUnit.d.ts.map +1 -0
  106. package/lib/currencies/formatCurrencyUnit.js +109 -0
  107. package/lib/currencies/formatCurrencyUnit.js.map +1 -0
  108. package/lib/currencies/formatShort.d.ts +8 -0
  109. package/lib/currencies/formatShort.d.ts.map +1 -0
  110. package/lib/currencies/formatShort.js +27 -0
  111. package/lib/currencies/formatShort.js.map +1 -0
  112. package/lib/currencies/index.d.ts +13 -0
  113. package/lib/currencies/index.d.ts.map +1 -0
  114. package/lib/currencies/index.js +62 -0
  115. package/lib/currencies/index.js.map +1 -0
  116. package/lib/currencies/localeUtility.d.ts +8 -0
  117. package/lib/currencies/localeUtility.d.ts.map +1 -0
  118. package/lib/currencies/localeUtility.js +45 -0
  119. package/lib/currencies/localeUtility.js.map +1 -0
  120. package/lib/currencies/parseCurrencyUnit.d.ts +4 -0
  121. package/lib/currencies/parseCurrencyUnit.d.ts.map +1 -0
  122. package/lib/currencies/parseCurrencyUnit.js +18 -0
  123. package/lib/currencies/parseCurrencyUnit.js.map +1 -0
  124. package/lib/currencies/sanitizeValueString.d.ts +6 -0
  125. package/lib/currencies/sanitizeValueString.d.ts.map +1 -0
  126. package/lib/currencies/sanitizeValueString.js +56 -0
  127. package/lib/currencies/sanitizeValueString.js.map +1 -0
  128. package/lib/currencies/support.d.ts +8 -0
  129. package/lib/currencies/support.d.ts.map +1 -0
  130. package/lib/currencies/support.js +98 -0
  131. package/lib/currencies/support.js.map +1 -0
  132. package/lib/currencies/valueFromUnit.d.ts +9 -0
  133. package/lib/currencies/valueFromUnit.d.ts.map +1 -0
  134. package/lib/currencies/valueFromUnit.js +12 -0
  135. package/lib/currencies/valueFromUnit.js.map +1 -0
  136. package/lib/derivation.d.ts +232 -0
  137. package/lib/derivation.d.ts.map +1 -0
  138. package/lib/derivation.js +416 -0
  139. package/lib/derivation.js.map +1 -0
  140. package/lib/derivation.test.d.ts +2 -0
  141. package/lib/derivation.test.d.ts.map +1 -0
  142. package/lib/derivation.test.js +35 -0
  143. package/lib/derivation.test.js.map +1 -0
  144. package/lib/errors.d.ts +7 -0
  145. package/lib/errors.d.ts.map +1 -0
  146. package/lib/errors.js +7 -0
  147. package/lib/errors.js.map +1 -0
  148. package/lib/errors.test.d.ts +2 -0
  149. package/lib/errors.test.d.ts.map +1 -0
  150. package/lib/errors.test.js +20 -0
  151. package/lib/errors.test.js.map +1 -0
  152. package/lib/mocks/account.d.ts +26 -0
  153. package/lib/mocks/account.d.ts.map +1 -0
  154. package/lib/mocks/account.js +334 -0
  155. package/lib/mocks/account.js.map +1 -0
  156. package/lib/mocks/fixtures/nfts.d.ts +36 -0
  157. package/lib/mocks/fixtures/nfts.d.ts.map +1 -0
  158. package/lib/mocks/fixtures/nfts.js +401 -0
  159. package/lib/mocks/fixtures/nfts.js.map +1 -0
  160. package/lib/mocks/fixtures/nfts.test.d.ts +2 -0
  161. package/lib/mocks/fixtures/nfts.test.d.ts.map +1 -0
  162. package/lib/mocks/fixtures/nfts.test.js +20 -0
  163. package/lib/mocks/fixtures/nfts.test.js.map +1 -0
  164. package/lib/mocks/helpers.d.ts +15 -0
  165. package/lib/mocks/helpers.d.ts.map +1 -0
  166. package/lib/mocks/helpers.js +32 -0
  167. package/lib/mocks/helpers.js.map +1 -0
  168. package/lib/network.d.ts +9 -0
  169. package/lib/network.d.ts.map +1 -0
  170. package/lib/network.js +3 -0
  171. package/lib/network.js.map +1 -0
  172. package/lib/nft/nftId.d.ts +8 -0
  173. package/lib/nft/nftId.d.ts.map +1 -0
  174. package/lib/nft/nftId.js +18 -0
  175. package/lib/nft/nftId.js.map +1 -0
  176. package/lib/operation.d.ts +31 -0
  177. package/lib/operation.d.ts.map +1 -0
  178. package/lib/operation.js +211 -0
  179. package/lib/operation.js.map +1 -0
  180. package/lib/operation.test.d.ts +2 -0
  181. package/lib/operation.test.d.ts.map +1 -0
  182. package/lib/operation.test.js +116 -0
  183. package/lib/operation.test.js.map +1 -0
  184. package/lib/signer.d.ts +3 -0
  185. package/lib/signer.d.ts.map +1 -0
  186. package/lib/signer.js +3 -0
  187. package/lib/signer.js.map +1 -0
  188. package/lib/test-helpers/staticTime.d.ts +2 -0
  189. package/lib/test-helpers/staticTime.d.ts.map +1 -0
  190. package/lib/test-helpers/staticTime.js +10 -0
  191. package/lib/test-helpers/staticTime.js.map +1 -0
  192. package/lib/transaction/common.d.ts +26 -0
  193. package/lib/transaction/common.d.ts.map +1 -0
  194. package/lib/transaction/common.js +101 -0
  195. package/lib/transaction/common.js.map +1 -0
  196. package/lib-es/account/accountId.d.ts +16 -0
  197. package/lib-es/account/accountId.d.ts.map +1 -0
  198. package/lib-es/account/accountId.js +56 -0
  199. package/lib-es/account/accountId.js.map +1 -0
  200. package/lib-es/account/accountName.d.ts +14 -0
  201. package/lib-es/account/accountName.d.ts.map +1 -0
  202. package/lib-es/account/accountName.js +9 -0
  203. package/lib-es/account/accountName.js.map +1 -0
  204. package/lib-es/account/balanceHistoryCache.d.ts +28 -0
  205. package/lib-es/account/balanceHistoryCache.d.ts.map +1 -0
  206. package/lib-es/account/balanceHistoryCache.js +123 -0
  207. package/lib-es/account/balanceHistoryCache.js.map +1 -0
  208. package/lib-es/account/balanceHistoryCache.test.d.ts +2 -0
  209. package/lib-es/account/balanceHistoryCache.test.d.ts.map +1 -0
  210. package/lib-es/account/balanceHistoryCache.test.js +19 -0
  211. package/lib-es/account/balanceHistoryCache.test.js.map +1 -0
  212. package/lib-es/account/groupOperations.d.ts +17 -0
  213. package/lib-es/account/groupOperations.d.ts.map +1 -0
  214. package/lib-es/account/groupOperations.js +117 -0
  215. package/lib-es/account/groupOperations.js.map +1 -0
  216. package/lib-es/account/helpers.d.ts +46 -0
  217. package/lib-es/account/helpers.d.ts.map +1 -0
  218. package/lib-es/account/helpers.js +264 -0
  219. package/lib-es/account/helpers.js.map +1 -0
  220. package/lib-es/account/helpers.test.d.ts +2 -0
  221. package/lib-es/account/helpers.test.d.ts.map +1 -0
  222. package/lib-es/account/helpers.test.js +404 -0
  223. package/lib-es/account/helpers.test.js.map +1 -0
  224. package/lib-es/account/index.d.ts +10 -0
  225. package/lib-es/account/index.d.ts.map +1 -0
  226. package/lib-es/account/index.js +10 -0
  227. package/lib-es/account/index.js.map +1 -0
  228. package/lib-es/account/ordering.d.ts +10 -0
  229. package/lib-es/account/ordering.d.ts.map +1 -0
  230. package/lib-es/account/ordering.js +73 -0
  231. package/lib-es/account/ordering.js.map +1 -0
  232. package/lib-es/account/pending.d.ts +4 -0
  233. package/lib-es/account/pending.d.ts.map +1 -0
  234. package/lib-es/account/pending.js +48 -0
  235. package/lib-es/account/pending.js.map +1 -0
  236. package/lib-es/account/serialization.d.ts +6 -0
  237. package/lib-es/account/serialization.d.ts.map +1 -0
  238. package/lib-es/account/serialization.js +102 -0
  239. package/lib-es/account/serialization.js.map +1 -0
  240. package/lib-es/account/support.d.ts +7 -0
  241. package/lib-es/account/support.d.ts.map +1 -0
  242. package/lib-es/account/support.js +39 -0
  243. package/lib-es/account/support.js.map +1 -0
  244. package/lib-es/account.test.d.ts +2 -0
  245. package/lib-es/account.test.d.ts.map +1 -0
  246. package/lib-es/account.test.js +175 -0
  247. package/lib-es/account.test.js.map +1 -0
  248. package/lib-es/bot/bot-test-context.d.ts +3 -0
  249. package/lib-es/bot/bot-test-context.d.ts.map +1 -0
  250. package/lib-es/bot/bot-test-context.js +21 -0
  251. package/lib-es/bot/bot-test-context.js.map +1 -0
  252. package/lib-es/bot/bot-test-context.test.d.ts +2 -0
  253. package/lib-es/bot/bot-test-context.test.d.ts.map +1 -0
  254. package/lib-es/bot/bot-test-context.test.js +39 -0
  255. package/lib-es/bot/bot-test-context.test.js.map +1 -0
  256. package/lib-es/bot/formatters.d.ts +2 -0
  257. package/lib-es/bot/formatters.d.ts.map +1 -0
  258. package/lib-es/bot/formatters.js +26 -0
  259. package/lib-es/bot/formatters.js.map +1 -0
  260. package/lib-es/bot/specs.d.ts +50 -0
  261. package/lib-es/bot/specs.d.ts.map +1 -0
  262. package/lib-es/bot/specs.js +170 -0
  263. package/lib-es/bot/specs.js.map +1 -0
  264. package/lib-es/bot/types.d.ts +177 -0
  265. package/lib-es/bot/types.d.ts.map +1 -0
  266. package/lib-es/bot/types.js +2 -0
  267. package/lib-es/bot/types.js.map +1 -0
  268. package/lib-es/bridge/getAddressWrapper.d.ts +5 -0
  269. package/lib-es/bridge/getAddressWrapper.d.ts.map +1 -0
  270. package/lib-es/bridge/getAddressWrapper.js +34 -0
  271. package/lib-es/bridge/getAddressWrapper.js.map +1 -0
  272. package/lib-es/bridge/jsHelpers.d.ts +59 -0
  273. package/lib-es/bridge/jsHelpers.d.ts.map +1 -0
  274. package/lib-es/bridge/jsHelpers.js +378 -0
  275. package/lib-es/bridge/jsHelpers.js.map +1 -0
  276. package/lib-es/cache.d.ts +11 -0
  277. package/lib-es/cache.d.ts.map +1 -0
  278. package/lib-es/cache.js +17 -0
  279. package/lib-es/cache.js.map +1 -0
  280. package/lib-es/currencies/BigNumberToLocaleString.d.ts +8 -0
  281. package/lib-es/currencies/BigNumberToLocaleString.d.ts.map +1 -0
  282. package/lib-es/currencies/BigNumberToLocaleString.js +58 -0
  283. package/lib-es/currencies/BigNumberToLocaleString.js.map +1 -0
  284. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts +2 -0
  285. package/lib-es/currencies/BigNumberToLocaleString.test.d.ts.map +1 -0
  286. package/lib-es/currencies/BigNumberToLocaleString.test.js +106 -0
  287. package/lib-es/currencies/BigNumberToLocaleString.test.js.map +1 -0
  288. package/lib-es/currencies/CurrencyURIScheme.d.ts +13 -0
  289. package/lib-es/currencies/CurrencyURIScheme.d.ts.map +1 -0
  290. package/lib-es/currencies/CurrencyURIScheme.js +87 -0
  291. package/lib-es/currencies/CurrencyURIScheme.js.map +1 -0
  292. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts +3 -0
  293. package/lib-es/currencies/chopCurrencyUnitDecimals.d.ts.map +1 -0
  294. package/lib-es/currencies/chopCurrencyUnitDecimals.js +25 -0
  295. package/lib-es/currencies/chopCurrencyUnitDecimals.js.map +1 -0
  296. package/lib-es/currencies/formatCurrencyUnit.d.ts +33 -0
  297. package/lib-es/currencies/formatCurrencyUnit.d.ts.map +1 -0
  298. package/lib-es/currencies/formatCurrencyUnit.js +104 -0
  299. package/lib-es/currencies/formatCurrencyUnit.js.map +1 -0
  300. package/lib-es/currencies/formatShort.d.ts +8 -0
  301. package/lib-es/currencies/formatShort.d.ts.map +1 -0
  302. package/lib-es/currencies/formatShort.js +20 -0
  303. package/lib-es/currencies/formatShort.js.map +1 -0
  304. package/lib-es/currencies/index.d.ts +13 -0
  305. package/lib-es/currencies/index.d.ts.map +1 -0
  306. package/lib-es/currencies/index.js +14 -0
  307. package/lib-es/currencies/index.js.map +1 -0
  308. package/lib-es/currencies/localeUtility.d.ts +8 -0
  309. package/lib-es/currencies/localeUtility.d.ts.map +1 -0
  310. package/lib-es/currencies/localeUtility.js +39 -0
  311. package/lib-es/currencies/localeUtility.js.map +1 -0
  312. package/lib-es/currencies/parseCurrencyUnit.d.ts +4 -0
  313. package/lib-es/currencies/parseCurrencyUnit.d.ts.map +1 -0
  314. package/lib-es/currencies/parseCurrencyUnit.js +14 -0
  315. package/lib-es/currencies/parseCurrencyUnit.js.map +1 -0
  316. package/lib-es/currencies/sanitizeValueString.d.ts +6 -0
  317. package/lib-es/currencies/sanitizeValueString.d.ts.map +1 -0
  318. package/lib-es/currencies/sanitizeValueString.js +52 -0
  319. package/lib-es/currencies/sanitizeValueString.js.map +1 -0
  320. package/lib-es/currencies/support.d.ts +8 -0
  321. package/lib-es/currencies/support.d.ts.map +1 -0
  322. package/lib-es/currencies/support.js +89 -0
  323. package/lib-es/currencies/support.js.map +1 -0
  324. package/lib-es/currencies/valueFromUnit.d.ts +9 -0
  325. package/lib-es/currencies/valueFromUnit.d.ts.map +1 -0
  326. package/lib-es/currencies/valueFromUnit.js +8 -0
  327. package/lib-es/currencies/valueFromUnit.js.map +1 -0
  328. package/lib-es/derivation.d.ts +232 -0
  329. package/lib-es/derivation.d.ts.map +1 -0
  330. package/lib-es/derivation.js +388 -0
  331. package/lib-es/derivation.js.map +1 -0
  332. package/lib-es/derivation.test.d.ts +2 -0
  333. package/lib-es/derivation.test.d.ts.map +1 -0
  334. package/lib-es/derivation.test.js +33 -0
  335. package/lib-es/derivation.test.js.map +1 -0
  336. package/lib-es/errors.d.ts +7 -0
  337. package/lib-es/errors.d.ts.map +1 -0
  338. package/lib-es/errors.js +4 -0
  339. package/lib-es/errors.js.map +1 -0
  340. package/lib-es/errors.test.d.ts +2 -0
  341. package/lib-es/errors.test.d.ts.map +1 -0
  342. package/lib-es/errors.test.js +18 -0
  343. package/lib-es/errors.test.js.map +1 -0
  344. package/lib-es/mocks/account.d.ts +26 -0
  345. package/lib-es/mocks/account.d.ts.map +1 -0
  346. package/lib-es/mocks/account.js +324 -0
  347. package/lib-es/mocks/account.js.map +1 -0
  348. package/lib-es/mocks/fixtures/nfts.d.ts +36 -0
  349. package/lib-es/mocks/fixtures/nfts.d.ts.map +1 -0
  350. package/lib-es/mocks/fixtures/nfts.js +393 -0
  351. package/lib-es/mocks/fixtures/nfts.js.map +1 -0
  352. package/lib-es/mocks/fixtures/nfts.test.d.ts +2 -0
  353. package/lib-es/mocks/fixtures/nfts.test.d.ts.map +1 -0
  354. package/lib-es/mocks/fixtures/nfts.test.js +18 -0
  355. package/lib-es/mocks/fixtures/nfts.test.js.map +1 -0
  356. package/lib-es/mocks/helpers.d.ts +15 -0
  357. package/lib-es/mocks/helpers.d.ts.map +1 -0
  358. package/lib-es/mocks/helpers.js +26 -0
  359. package/lib-es/mocks/helpers.js.map +1 -0
  360. package/lib-es/network.d.ts +9 -0
  361. package/lib-es/network.d.ts.map +1 -0
  362. package/lib-es/network.js +2 -0
  363. package/lib-es/network.js.map +1 -0
  364. package/lib-es/nft/nftId.d.ts +8 -0
  365. package/lib-es/nft/nftId.d.ts.map +1 -0
  366. package/lib-es/nft/nftId.js +13 -0
  367. package/lib-es/nft/nftId.js.map +1 -0
  368. package/lib-es/operation.d.ts +31 -0
  369. package/lib-es/operation.d.ts.map +1 -0
  370. package/lib-es/operation.js +190 -0
  371. package/lib-es/operation.js.map +1 -0
  372. package/lib-es/operation.test.d.ts +2 -0
  373. package/lib-es/operation.test.d.ts.map +1 -0
  374. package/lib-es/operation.test.js +111 -0
  375. package/lib-es/operation.test.js.map +1 -0
  376. package/lib-es/signer.d.ts +3 -0
  377. package/lib-es/signer.d.ts.map +1 -0
  378. package/lib-es/signer.js +2 -0
  379. package/lib-es/signer.js.map +1 -0
  380. package/lib-es/test-helpers/staticTime.d.ts +2 -0
  381. package/lib-es/test-helpers/staticTime.d.ts.map +1 -0
  382. package/lib-es/test-helpers/staticTime.js +5 -0
  383. package/lib-es/test-helpers/staticTime.js.map +1 -0
  384. package/lib-es/transaction/common.d.ts +26 -0
  385. package/lib-es/transaction/common.d.ts.map +1 -0
  386. package/lib-es/transaction/common.js +93 -0
  387. package/lib-es/transaction/common.js.map +1 -0
  388. package/package.json +8 -21
  389. package/src/account/accountId.ts +20 -30
  390. package/src/account/accountName.ts +1 -4
  391. package/src/account/balanceHistoryCache.test.ts +19 -0
  392. package/src/account/balanceHistoryCache.ts +52 -38
  393. package/src/account/groupOperations.ts +4 -6
  394. package/src/account/helpers.test.ts +6 -26
  395. package/src/account/helpers.ts +28 -60
  396. package/src/account/ordering.ts +10 -18
  397. package/src/account/pending.ts +6 -15
  398. package/src/account/serialization.ts +8 -19
  399. package/src/account/support.ts +8 -18
  400. package/src/account.test.ts +25 -40
  401. package/src/bot/specs.ts +24 -43
  402. package/src/bot/types.ts +2 -3
  403. package/src/bridge/getAddressWrapper.ts +7 -15
  404. package/src/bridge/jsHelpers.ts +228 -293
  405. package/src/cache.ts +4 -4
  406. package/src/currencies/BigNumberToLocaleString.test.ts +25 -33
  407. package/src/currencies/BigNumberToLocaleString.ts +3 -8
  408. package/src/currencies/CurrencyURIScheme.ts +1 -3
  409. package/src/currencies/chopCurrencyUnitDecimals.ts +1 -4
  410. package/src/currencies/formatCurrencyUnit.ts +11 -21
  411. package/src/currencies/index.ts +1 -4
  412. package/src/currencies/localeUtility.ts +2 -4
  413. package/src/currencies/parseCurrencyUnit.ts +1 -4
  414. package/src/currencies/sanitizeValueString.ts +1 -1
  415. package/src/currencies/support.ts +3 -9
  416. package/src/derivation.test.ts +1 -4
  417. package/src/derivation.ts +45 -95
  418. package/src/errors.test.ts +1 -1
  419. package/src/errors.ts +2 -6
  420. package/src/mocks/account.ts +27 -80
  421. package/src/mocks/fixtures/nfts.test.ts +2 -6
  422. package/src/mocks/fixtures/nfts.ts +12 -38
  423. package/src/mocks/helpers.ts +2 -8
  424. package/src/nft/nftId.ts +2 -2
  425. package/src/operation.test.ts +119 -32
  426. package/src/operation.ts +74 -26
  427. package/src/signer.ts +5 -0
  428. package/src/transaction/common.ts +9 -22
@@ -0,0 +1,46 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ import type { Account, AccountLike, AccountLikeArray, SubAccount, TokenAccount, ChildAccount } from "@ledgerhq/types-live";
3
+ import { CryptoCurrency, TokenCurrency, Unit } from "@ledgerhq/types-cryptoassets";
4
+ export declare const getMainAccount: <A extends Account>(account: A | SubAccount, parentAccount?: A | null | undefined) => A;
5
+ export declare const getFeesCurrency: (account?: AccountLike) => TokenCurrency | CryptoCurrency;
6
+ export declare const getFeesUnit: (currency: TokenCurrency | CryptoCurrency) => Unit;
7
+ export declare const getAccountCurrency: (account?: AccountLike) => TokenCurrency | CryptoCurrency;
8
+ export declare const getAccountUnit: (account: AccountLike) => Unit;
9
+ export declare const getAccountName: (account: AccountLike) => string;
10
+ export declare const getAccountSpendableBalance: (account: AccountLike) => BigNumber;
11
+ export declare const isAccountEmpty: (a: AccountLike) => boolean;
12
+ export declare function areAllOperationsLoaded(account: AccountLike): boolean;
13
+ export declare const isAccountBalanceSignificant: (a: AccountLike) => boolean;
14
+ export declare function clearAccount<T extends AccountLike>(account: T, familyClean?: (account: Account) => void): T;
15
+ export declare function findSubAccountById(account: Account, id: string): SubAccount | null | undefined;
16
+ export declare function listSubAccounts(account: Account): SubAccount[];
17
+ export type FlattenAccountsOptions = {
18
+ enforceHideEmptySubAccounts?: boolean;
19
+ };
20
+ export declare function flattenAccounts(topAccounts: AccountLikeArray, o?: FlattenAccountsOptions): AccountLike[];
21
+ export declare const shortAddressPreview: (addr: string, target?: number) => string;
22
+ export declare const isAccountBalanceUnconfirmed: (account: AccountLike) => boolean;
23
+ export declare const isUpToDateAccount: (account: Account | null | undefined) => boolean;
24
+ export declare const makeEmptyTokenAccount: (account: Account, token: TokenCurrency) => TokenAccount;
25
+ /**
26
+ * Enhance an account to force token accounts presence
27
+ */
28
+ export declare const accountWithMandatoryTokens: (account: Account, tokenCurrencies: TokenCurrency[]) => Account;
29
+ /**
30
+ * Patch account to enforce the removal of a blacklisted token
31
+ */
32
+ export declare const withoutToken: (account: Account, tokenId: string) => Account;
33
+ /**
34
+ * Find matching pair of subAccount/parentAccount for a given token curency
35
+ * if no subAccount found will return parentAccount or null if no matches found
36
+ */
37
+ export declare const findTokenAccountByCurrency: (tokenCurrency: TokenCurrency, accounts: Account[]) => {
38
+ account?: SubAccount;
39
+ parentAccount: Account;
40
+ } | null | undefined;
41
+ export declare function isAccount(account?: AccountLike): account is Account;
42
+ export declare function isTokenAccount(account?: AccountLike): account is TokenAccount;
43
+ export declare function isChildAccount(account?: AccountLike): account is ChildAccount;
44
+ export declare function isSubAccount(account?: AccountLike): account is SubAccount;
45
+ export declare function getParentAccount(account: AccountLike, accounts: AccountLike[]): Account;
46
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/account/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getParentAccount = exports.isSubAccount = exports.isChildAccount = exports.isTokenAccount = exports.isAccount = exports.findTokenAccountByCurrency = exports.withoutToken = exports.accountWithMandatoryTokens = exports.makeEmptyTokenAccount = exports.isUpToDateAccount = exports.isAccountBalanceUnconfirmed = exports.shortAddressPreview = exports.flattenAccounts = exports.listSubAccounts = exports.findSubAccountById = exports.clearAccount = exports.isAccountBalanceSignificant = exports.areAllOperationsLoaded = exports.isAccountEmpty = exports.getAccountSpendableBalance = exports.getAccountName = exports.getAccountUnit = exports.getAccountCurrency = exports.getFeesUnit = exports.getFeesCurrency = exports.getMainAccount = void 0;
7
+ const bignumber_js_1 = require("bignumber.js");
8
+ const invariant_1 = __importDefault(require("invariant"));
9
+ const live_env_1 = require("@ledgerhq/live-env");
10
+ const accountId_1 = require("./accountId");
11
+ const balanceHistoryCache_1 = require("./balanceHistoryCache");
12
+ // By convention, a main account is the top level account
13
+ // - in case of an Account is the account itself
14
+ // - in case of a SubAccount it's the parentAccount
15
+ const getMainAccount = (account, parentAccount) => {
16
+ const mainAccount = account.type === "Account" ? account : parentAccount;
17
+ (0, invariant_1.default)(mainAccount, "an account is expected");
18
+ return mainAccount;
19
+ };
20
+ exports.getMainAccount = getMainAccount;
21
+ // Return the currency in which fees are paid for this account
22
+ const getFeesCurrency = (account) => {
23
+ switch (account === null || account === void 0 ? void 0 : account.type) {
24
+ case "Account":
25
+ return account.feesCurrency || account.currency;
26
+ case "ChildAccount":
27
+ return account.currency;
28
+ case "TokenAccount":
29
+ return account.token;
30
+ default:
31
+ throw new Error("invalid account.type=" + (account === null || account === void 0 ? void 0 : account.type));
32
+ }
33
+ };
34
+ exports.getFeesCurrency = getFeesCurrency;
35
+ // Return the unit to use with the fees currency
36
+ const getFeesUnit = (currency) => {
37
+ return currency.units[0];
38
+ };
39
+ exports.getFeesUnit = getFeesUnit;
40
+ const getAccountCurrency = (account) => {
41
+ switch (account === null || account === void 0 ? void 0 : account.type) {
42
+ case "Account":
43
+ case "ChildAccount":
44
+ return account.currency;
45
+ case "TokenAccount":
46
+ return account.token;
47
+ default:
48
+ throw new Error("invalid account.type=" + (account === null || account === void 0 ? void 0 : account.type));
49
+ }
50
+ };
51
+ exports.getAccountCurrency = getAccountCurrency;
52
+ const getAccountUnit = (account) => {
53
+ switch (account.type) {
54
+ case "Account":
55
+ return account.unit;
56
+ case "TokenAccount":
57
+ return account.token.units[0];
58
+ case "ChildAccount":
59
+ return account.currency.units[0];
60
+ default:
61
+ throw new Error("invalid account.type=" + account.type);
62
+ }
63
+ };
64
+ exports.getAccountUnit = getAccountUnit;
65
+ const getAccountName = (account) => {
66
+ switch (account.type) {
67
+ case "Account":
68
+ case "ChildAccount":
69
+ return account.name;
70
+ case "TokenAccount":
71
+ return account.token.name;
72
+ default:
73
+ throw new Error("invalid account.type=" + account.type);
74
+ }
75
+ };
76
+ exports.getAccountName = getAccountName;
77
+ const getAccountSpendableBalance = (account) => {
78
+ switch (account.type) {
79
+ case "Account":
80
+ case "TokenAccount":
81
+ return account.spendableBalance;
82
+ case "ChildAccount":
83
+ return account.balance;
84
+ default:
85
+ throw new Error("invalid account.type=" + account.type);
86
+ }
87
+ };
88
+ exports.getAccountSpendableBalance = getAccountSpendableBalance;
89
+ const isAccountEmpty = (a) => {
90
+ const hasSubAccounts = a.type === "Account" && a.subAccounts && a.subAccounts.length;
91
+ return a.operationsCount === 0 && a.balance.isZero() && !hasSubAccounts;
92
+ };
93
+ exports.isAccountEmpty = isAccountEmpty;
94
+ function areAllOperationsLoaded(account) {
95
+ if (account.operationsCount !== account.operations.length) {
96
+ return false;
97
+ }
98
+ if (account.type === "Account" && account.subAccounts) {
99
+ return account.subAccounts.every(areAllOperationsLoaded);
100
+ }
101
+ return true;
102
+ }
103
+ exports.areAllOperationsLoaded = areAllOperationsLoaded;
104
+ const isAccountBalanceSignificant = (a) => a.balance.gt(100);
105
+ exports.isAccountBalanceSignificant = isAccountBalanceSignificant;
106
+ // in future, could be a per currency thing
107
+ // clear account to a bare minimal version that can be restored via sync
108
+ // will preserve the balance to avoid user panic
109
+ function clearAccount(account, familyClean) {
110
+ var _a;
111
+ if (account.type === "TokenAccount") {
112
+ return Object.assign(Object.assign({}, account), { balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache, operations: [], pendingOperations: [] });
113
+ }
114
+ if (account.type === "ChildAccount") {
115
+ return Object.assign(Object.assign({}, account), { balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache, operations: [], pendingOperations: [] });
116
+ }
117
+ const copy = Object.assign(Object.assign({}, account), { balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache, lastSyncDate: new Date(0), operations: [], pendingOperations: [], subAccounts: account.subAccounts &&
118
+ ((_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a.map(acc => clearAccount(acc, familyClean))) });
119
+ familyClean === null || familyClean === void 0 ? void 0 : familyClean(copy);
120
+ delete copy.nfts;
121
+ return copy;
122
+ }
123
+ exports.clearAccount = clearAccount;
124
+ function findSubAccountById(account, id) {
125
+ return (account.subAccounts || []).find(a => a.id === id);
126
+ }
127
+ exports.findSubAccountById = findSubAccountById;
128
+ // get the token accounts of an account, ignoring those that are zero IF user don't want them
129
+ function listSubAccounts(account) {
130
+ const accounts = account.subAccounts || [];
131
+ if ((0, live_env_1.getEnv)("HIDE_EMPTY_TOKEN_ACCOUNTS")) {
132
+ return accounts.filter(a => !a.balance.isZero());
133
+ }
134
+ return accounts;
135
+ }
136
+ exports.listSubAccounts = listSubAccounts;
137
+ function flattenAccounts(topAccounts, o = {}) {
138
+ const accounts = [];
139
+ for (let i = 0; i < topAccounts.length; i++) {
140
+ const account = topAccounts[i];
141
+ accounts.push(account);
142
+ if (account.type === "Account") {
143
+ const subAccounts = o.enforceHideEmptySubAccounts
144
+ ? listSubAccounts(account)
145
+ : account.subAccounts || [];
146
+ for (let j = 0; j < subAccounts.length; j++) {
147
+ accounts.push(subAccounts[j]);
148
+ }
149
+ }
150
+ }
151
+ return accounts;
152
+ }
153
+ exports.flattenAccounts = flattenAccounts;
154
+ const shortAddressPreview = (addr, target = 20) => {
155
+ const slice = Math.floor((target - 3) / 2);
156
+ return addr.length < target - 3
157
+ ? addr
158
+ : `${addr.slice(0, slice)}...${addr.slice(addr.length - slice)}`;
159
+ };
160
+ exports.shortAddressPreview = shortAddressPreview;
161
+ const isAccountBalanceUnconfirmed = (account) => account.pendingOperations.some(op => !account.operations.find(o => o.hash === op.hash)) ||
162
+ account.operations.some(op => !op.blockHeight);
163
+ exports.isAccountBalanceUnconfirmed = isAccountBalanceUnconfirmed;
164
+ const isUpToDateAccount = (account) => {
165
+ if (!account)
166
+ return true;
167
+ const { lastSyncDate, currency } = account;
168
+ const { blockAvgTime } = currency;
169
+ if (!blockAvgTime)
170
+ return true;
171
+ const outdated = Date.now() - lastSyncDate.getTime() >
172
+ blockAvgTime * 1000 + (0, live_env_1.getEnv)("SYNC_OUTDATED_CONSIDERED_DELAY");
173
+ return !outdated;
174
+ };
175
+ exports.isUpToDateAccount = isUpToDateAccount;
176
+ const makeEmptyTokenAccount = (account, token) => ({
177
+ type: "TokenAccount",
178
+ id: account.id + "+" + token.contractAddress,
179
+ parentId: account.id,
180
+ token,
181
+ balance: new bignumber_js_1.BigNumber(0),
182
+ spendableBalance: new bignumber_js_1.BigNumber(0),
183
+ operationsCount: 0,
184
+ creationDate: new Date(),
185
+ operations: [],
186
+ pendingOperations: [],
187
+ starred: false,
188
+ swapHistory: [],
189
+ balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache,
190
+ });
191
+ exports.makeEmptyTokenAccount = makeEmptyTokenAccount;
192
+ /**
193
+ * Enhance an account to force token accounts presence
194
+ */
195
+ const accountWithMandatoryTokens = (account, tokenCurrencies) => {
196
+ const { subAccounts } = account;
197
+ if (!subAccounts)
198
+ return account;
199
+ const existingTokens = subAccounts.map(a => a.type === "TokenAccount" && a.token).filter(Boolean);
200
+ const addition = tokenCurrencies
201
+ .filter((t) => t.parentCurrency === account.currency && !existingTokens.includes(t))
202
+ .map(token => ({
203
+ type: "TokenAccount",
204
+ id: (0, accountId_1.encodeTokenAccountId)(account.id, token),
205
+ parentId: account.id,
206
+ token,
207
+ balance: new bignumber_js_1.BigNumber(0),
208
+ spendableBalance: new bignumber_js_1.BigNumber(0),
209
+ operationsCount: 0,
210
+ creationDate: new Date(),
211
+ operations: [],
212
+ pendingOperations: [],
213
+ starred: false,
214
+ swapHistory: [],
215
+ balanceHistoryCache: balanceHistoryCache_1.emptyHistoryCache,
216
+ }));
217
+ if (addition.length === 0)
218
+ return account;
219
+ return Object.assign(Object.assign({}, account), { subAccounts: subAccounts.concat(addition) });
220
+ };
221
+ exports.accountWithMandatoryTokens = accountWithMandatoryTokens;
222
+ /**
223
+ * Patch account to enforce the removal of a blacklisted token
224
+ */
225
+ const withoutToken = (account, tokenId) => {
226
+ const { subAccounts } = account;
227
+ if (!subAccounts)
228
+ return account;
229
+ const tokenAccount = subAccounts.find(a => a.type === "TokenAccount" && a.token.id === tokenId);
230
+ if (!tokenAccount)
231
+ return account;
232
+ return Object.assign(Object.assign({}, account), { subAccounts: subAccounts.filter(sa => sa.id !== tokenAccount.id) });
233
+ };
234
+ exports.withoutToken = withoutToken;
235
+ /**
236
+ * Find matching pair of subAccount/parentAccount for a given token curency
237
+ * if no subAccount found will return parentAccount or null if no matches found
238
+ */
239
+ const findTokenAccountByCurrency = (tokenCurrency, accounts) => {
240
+ const parentCurrency = tokenCurrency.parentCurrency;
241
+ for (const parentAccount of accounts) {
242
+ if (parentAccount.subAccounts && parentAccount.subAccounts.length > 0) {
243
+ for (const account of parentAccount.subAccounts) {
244
+ const c = (0, exports.getAccountCurrency)(account);
245
+ if (c.id === tokenCurrency.id) {
246
+ // if token currency matches subAccount return couple account/parentAccount
247
+ return {
248
+ account,
249
+ parentAccount,
250
+ };
251
+ }
252
+ }
253
+ }
254
+ const parentC = (0, exports.getAccountCurrency)(parentAccount);
255
+ if (parentC.id === parentCurrency.id) {
256
+ // if no token currency matches but parent matches return parentAccount
257
+ return {
258
+ parentAccount,
259
+ };
260
+ }
261
+ }
262
+ return null; // else return nothing
263
+ };
264
+ exports.findTokenAccountByCurrency = findTokenAccountByCurrency;
265
+ function isAccount(account) {
266
+ return (account === null || account === void 0 ? void 0 : account.type) === "Account";
267
+ }
268
+ exports.isAccount = isAccount;
269
+ function isTokenAccount(account) {
270
+ return (account === null || account === void 0 ? void 0 : account.type) === "TokenAccount";
271
+ }
272
+ exports.isTokenAccount = isTokenAccount;
273
+ function isChildAccount(account) {
274
+ return (account === null || account === void 0 ? void 0 : account.type) === "ChildAccount";
275
+ }
276
+ exports.isChildAccount = isChildAccount;
277
+ function isSubAccount(account) {
278
+ return isTokenAccount(account) || isChildAccount(account);
279
+ }
280
+ exports.isSubAccount = isSubAccount;
281
+ function getParentAccount(account, accounts) {
282
+ switch (account.type) {
283
+ case "Account":
284
+ return account;
285
+ case "TokenAccount":
286
+ case "ChildAccount": {
287
+ const parentAccount = accounts.find(a => a.id == account.parentId);
288
+ if (!parentAccount) {
289
+ throw new Error("No 'parentAccount' account provided for token account");
290
+ }
291
+ return parentAccount;
292
+ }
293
+ }
294
+ }
295
+ exports.getParentAccount = getParentAccount;
296
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/account/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAyC;AACzC,0DAAkC;AAClC,iDAA4C;AAC5C,2CAAmD;AACnD,+DAA0D;AAW1D,yDAAyD;AACzD,gDAAgD;AAChD,mDAAmD;AAC5C,MAAM,cAAc,GAAG,CAC5B,OAAuB,EACvB,aAAoC,EACjC,EAAE;IACL,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;IACzE,IAAA,mBAAS,EAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;IACjD,OAAO,WAAgB,CAAC;AAC1B,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB;AAEF,8DAA8D;AACvD,MAAM,eAAe,GAAG,CAAC,OAAqB,EAAkC,EAAE;IACvF,QAAQ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;QACrB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;QAElD,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,QAAQ,CAAC;QAE1B,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,KAAK,CAAC;QAEvB;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,OAAuC,aAAvC,OAAO,uBAAP,OAAO,CAAkC,IAAI,CAAA,CAAC,CAAC;KAC7F;AACH,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B;AAEF,gDAAgD;AACzC,MAAM,WAAW,GAAG,CAAC,QAAwC,EAAQ,EAAE;IAC5E,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEK,MAAM,kBAAkB,GAAG,CAAC,OAAqB,EAAkC,EAAE;IAC1F,QAAQ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;QACrB,KAAK,SAAS,CAAC;QACf,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,QAAQ,CAAC;QAE1B,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,KAAK,CAAC;QAEvB;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,OAAuC,aAAvC,OAAO,uBAAP,OAAO,CAAkC,IAAI,CAAA,CAAC,CAAC;KAC7F;AACH,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B;AAEK,MAAM,cAAc,GAAG,CAAC,OAAoB,EAAQ,EAAE;IAC3D,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,IAAI,CAAC;QAEtB,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEhC,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEnC;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAI,OAAuB,CAAC,IAAI,CAAC,CAAC;KAC5E;AACH,CAAC,CAAC;AAdW,QAAA,cAAc,kBAczB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAoB,EAAU,EAAE;IAC7D,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,SAAS,CAAC;QACf,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,IAAI,CAAC;QAEtB,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAE5B;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAI,OAAuB,CAAC,IAAI,CAAC,CAAC;KAC5E;AACH,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB;AAEK,MAAM,0BAA0B,GAAG,CAAC,OAAoB,EAAa,EAAE;IAC5E,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,SAAS,CAAC;QACf,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,gBAAgB,CAAC;QAElC,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC;QAEzB;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAI,OAAuB,CAAC,IAAI,CAAC,CAAC;KAC5E;AACH,CAAC,CAAC;AAZW,QAAA,0BAA0B,8BAYrC;AAEK,MAAM,cAAc,GAAG,CAAC,CAAc,EAAW,EAAE;IACxD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;IACrF,OAAO,CAAC,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC;AAC1E,CAAC,CAAC;AAHW,QAAA,cAAc,kBAGzB;AAEF,SAAgB,sBAAsB,CAAC,OAAoB;IACzD,IAAI,OAAO,CAAC,eAAe,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;QACzD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE;QACrD,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;KAC1D;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAVD,wDAUC;AAEM,MAAM,2BAA2B,GAAG,CAAC,CAAc,EAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAA7E,QAAA,2BAA2B,+BAAkD;AAE1F,2CAA2C;AAC3C,wEAAwE;AACxE,gDAAgD;AAChD,SAAgB,YAAY,CAC1B,OAAU,EACV,WAAwC;;IAExC,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;QACnC,uCACK,OAAO,KACV,mBAAmB,EAAE,uCAAiB,EACtC,UAAU,EAAE,EAAE,EACd,iBAAiB,EAAE,EAAE,IACrB;KACH;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;QACnC,uCACK,OAAO,KACV,mBAAmB,EAAE,uCAAiB,EACtC,UAAU,EAAE,EAAE,EACd,iBAAiB,EAAE,EAAE,IACrB;KACH;IAED,MAAM,IAAI,mCACL,OAAO,KACV,mBAAmB,EAAE,uCAAiB,EACtC,YAAY,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EACzB,UAAU,EAAE,EAAE,EACd,iBAAiB,EAAE,EAAE,EACrB,WAAW,EACR,OAAmB,CAAC,WAAW;aAChC,MAAC,OAAmB,CAAC,WAAW,0CAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAA,GAC/E,CAAC;IAEF,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,CAAC;IAEpB,OAAO,IAAI,CAAC,IAAI,CAAC;IACjB,OAAO,IAAS,CAAC;AACnB,CAAC;AArCD,oCAqCC;AAED,SAAgB,kBAAkB,CAAC,OAAgB,EAAE,EAAU;IAC7D,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC;AAFD,gDAEC;AAED,6FAA6F;AAC7F,SAAgB,eAAe,CAAC,OAAgB;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IAE3C,IAAI,IAAA,iBAAM,EAAC,2BAA2B,CAAC,EAAE;QACvC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KAClD;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AARD,0CAQC;AAMD,SAAgB,eAAe,CAC7B,WAA6B,EAC7B,IAA4B,EAAE;IAE9B,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,MAAM,WAAW,GAAG,CAAC,CAAC,2BAA2B;gBAC/C,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC1B,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;YAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B;SACF;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAtBD,0CAsBC;AAEM,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE,EAAU,EAAE;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;AACrE,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B;AAEK,MAAM,2BAA2B,GAAG,CAAC,OAAoB,EAAW,EAAE,CAC3E,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;IACvF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAFpC,QAAA,2BAA2B,+BAES;AAE1C,MAAM,iBAAiB,GAAG,CAAC,OAAmC,EAAE,EAAE;IACvE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IAClC,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,QAAQ,GACZ,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE;QACnC,YAAY,GAAG,IAAI,GAAG,IAAA,iBAAM,EAAC,gCAAgC,CAAC,CAAC;IACjE,OAAO,CAAC,QAAQ,CAAC;AACnB,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B;AAEK,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAE,KAAoB,EAAgB,EAAE,CAAC,CAAC;IAC9F,IAAI,EAAE,cAAc;IACpB,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,eAAe;IAC5C,QAAQ,EAAE,OAAO,CAAC,EAAE;IACpB,KAAK;IACL,OAAO,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC;IACzB,gBAAgB,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC;IAClC,eAAe,EAAE,CAAC;IAClB,YAAY,EAAE,IAAI,IAAI,EAAE;IACxB,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,EAAE;IACrB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,EAAE;IACf,mBAAmB,EAAE,uCAAiB;CACvC,CAAC,CAAC;AAdU,QAAA,qBAAqB,yBAc/B;AAEH;;GAEG;AACI,MAAM,0BAA0B,GAAG,CACxC,OAAgB,EAChB,eAAgC,EACvB,EAAE;IACX,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChC,IAAI,CAAC,WAAW;QAAE,OAAO,OAAO,CAAC;IACjC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,eAAe;SAC7B,MAAM,CACL,CACE,CAAC,EACD,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,OAAO,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC1E;SACA,GAAG,CAAe,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,IAAA,gCAAoB,EAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC;QAC3C,QAAQ,EAAE,OAAO,CAAC,EAAE;QACpB,KAAK;QACL,OAAO,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC;QACzB,gBAAgB,EAAE,IAAI,wBAAS,CAAC,CAAC,CAAC;QAClC,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,IAAI,IAAI,EAAE;QACxB,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,EAAE;QACrB,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,EAAE;QACf,mBAAmB,EAAE,uCAAiB;KACvC,CAAC,CAAC,CAAC;IACN,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1C,uCAAY,OAAO,KAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAG;AACnE,CAAC,CAAC;AA9BW,QAAA,0BAA0B,8BA8BrC;AAEF;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,OAAe,EAAW,EAAE;IACzE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChC,IAAI,CAAC,WAAW;QAAE,OAAO,OAAO,CAAC;IACjC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAChG,IAAI,CAAC,YAAY;QAAE,OAAO,OAAO,CAAC;IAClC,uCACK,OAAO,KACV,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,IAChE;AACJ,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB;AAEF;;;GAGG;AACI,MAAM,0BAA0B,GAAG,CACxC,aAA4B,EAC5B,QAAmB,EAOP,EAAE;IACd,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;IAEpD,KAAK,MAAM,aAAa,IAAI,QAAQ,EAAE;QACpC,IAAI,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACrE,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE;gBAC/C,MAAM,CAAC,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAC;gBAEtC,IAAI,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,EAAE;oBAC7B,2EAA2E;oBAC3E,OAAO;wBACL,OAAO;wBACP,aAAa;qBACd,CAAC;iBACH;aACF;SACF;QAED,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,aAAa,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,EAAE;YACpC,uEAAuE;YACvE,OAAO;gBACL,aAAa;aACd,CAAC;SACH;KACF;IAED,OAAO,IAAI,CAAC,CAAC,sBAAsB;AACrC,CAAC,CAAC;AAtCW,QAAA,0BAA0B,8BAsCrC;AAEF,SAAgB,SAAS,CAAC,OAAqB;IAC7C,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,SAAS,CAAC;AACrC,CAAC;AAFD,8BAEC;AAED,SAAgB,cAAc,CAAC,OAAqB;IAClD,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,cAAc,CAAC;AAC1C,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc,CAAC,OAAqB;IAClD,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,cAAc,CAAC;AAC1C,CAAC;AAFD,wCAEC;AAED,SAAgB,YAAY,CAAC,OAAqB;IAChD,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAFD,oCAEC;AAED,SAAgB,gBAAgB,CAAC,OAAoB,EAAE,QAAuB;IAC5E,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC;QACjB,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC,CAAC;YACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,CAAC,aAAa,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aAC1E;YAED,OAAO,aAAwB,CAAC;SACjC;KACF;AACH,CAAC;AAdD,4CAcC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=helpers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.test.d.ts","sourceRoot":"","sources":["../../src/account/helpers.test.ts"],"names":[],"mappings":""}