@ledgerhq/coin-hedera 1.12.1-nightly.1 → 1.13.0-nightly.3

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 (386) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +1 -1
  3. package/CHANGELOG.md +29 -0
  4. package/jest.config.js +1 -1
  5. package/jest.integ.config.js +8 -0
  6. package/lib/api/index.d.ts +4 -0
  7. package/lib/api/index.d.ts.map +1 -0
  8. package/lib/api/index.js +119 -0
  9. package/lib/api/index.js.map +1 -0
  10. package/lib/bridge/broadcast.d.ts +1 -1
  11. package/lib/bridge/broadcast.d.ts.map +1 -1
  12. package/lib/bridge/broadcast.js +6 -9
  13. package/lib/bridge/broadcast.js.map +1 -1
  14. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -1
  15. package/lib/bridge/buildOptimisticOperation.js +14 -11
  16. package/lib/bridge/buildOptimisticOperation.js.map +1 -1
  17. package/lib/bridge/createTransaction.d.ts +1 -1
  18. package/lib/bridge/createTransaction.d.ts.map +1 -1
  19. package/lib/bridge/createTransaction.js +2 -0
  20. package/lib/bridge/createTransaction.js.map +1 -1
  21. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -1
  22. package/lib/bridge/estimateMaxSpendable.js +2 -2
  23. package/lib/bridge/estimateMaxSpendable.js.map +1 -1
  24. package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
  25. package/lib/bridge/getTransactionStatus.js +11 -10
  26. package/lib/bridge/getTransactionStatus.js.map +1 -1
  27. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  28. package/lib/bridge/prepareTransaction.js +6 -5
  29. package/lib/bridge/prepareTransaction.js.map +1 -1
  30. package/lib/bridge/signOperation.d.ts +1 -1
  31. package/lib/bridge/signOperation.d.ts.map +1 -1
  32. package/lib/bridge/signOperation.js +53 -14
  33. package/lib/bridge/signOperation.js.map +1 -1
  34. package/lib/bridge/synchronisation.d.ts.map +1 -1
  35. package/lib/bridge/synchronisation.js +24 -11
  36. package/lib/bridge/synchronisation.js.map +1 -1
  37. package/lib/bridge/utils.d.ts +3 -13
  38. package/lib/bridge/utils.d.ts.map +1 -1
  39. package/lib/bridge/utils.js +10 -119
  40. package/lib/bridge/utils.js.map +1 -1
  41. package/lib/config.d.ts +8 -0
  42. package/lib/config.d.ts.map +1 -0
  43. package/lib/config.js +9 -0
  44. package/lib/config.js.map +1 -0
  45. package/lib/constants.d.ts +11 -8
  46. package/lib/constants.d.ts.map +1 -1
  47. package/lib/constants.js +17 -13
  48. package/lib/constants.js.map +1 -1
  49. package/lib/deviceTransactionConfig.d.ts +2 -2
  50. package/lib/deviceTransactionConfig.d.ts.map +1 -1
  51. package/lib/deviceTransactionConfig.js +4 -4
  52. package/lib/deviceTransactionConfig.js.map +1 -1
  53. package/lib/logic/broadcast.d.ts +3 -0
  54. package/lib/logic/broadcast.d.ts.map +1 -0
  55. package/lib/logic/broadcast.js +11 -0
  56. package/lib/logic/broadcast.js.map +1 -0
  57. package/lib/logic/combine.d.ts +2 -0
  58. package/lib/logic/combine.d.ts.map +1 -0
  59. package/lib/logic/combine.js +19 -0
  60. package/lib/logic/combine.js.map +1 -0
  61. package/lib/logic/craftTransaction.d.ts +8 -0
  62. package/lib/logic/craftTransaction.d.ts.map +1 -0
  63. package/lib/logic/craftTransaction.js +107 -0
  64. package/lib/logic/craftTransaction.js.map +1 -0
  65. package/lib/logic/estimateFees.d.ts +5 -0
  66. package/lib/logic/estimateFees.d.ts.map +1 -0
  67. package/lib/logic/estimateFees.js +25 -0
  68. package/lib/logic/estimateFees.js.map +1 -0
  69. package/lib/logic/getAssetFromToken.d.ts +4 -0
  70. package/lib/logic/getAssetFromToken.d.ts.map +1 -0
  71. package/lib/logic/getAssetFromToken.js +14 -0
  72. package/lib/logic/getAssetFromToken.js.map +1 -0
  73. package/lib/logic/getBalance.d.ts +4 -0
  74. package/lib/logic/getBalance.d.ts.map +1 -0
  75. package/lib/logic/getBalance.js +36 -0
  76. package/lib/logic/getBalance.js.map +1 -0
  77. package/lib/logic/getTokenFromAsset.d.ts +4 -0
  78. package/lib/logic/getTokenFromAsset.d.ts.map +1 -0
  79. package/lib/logic/getTokenFromAsset.js +13 -0
  80. package/lib/logic/getTokenFromAsset.js.map +1 -0
  81. package/lib/logic/index.d.ts +10 -0
  82. package/lib/logic/index.d.ts.map +1 -0
  83. package/lib/logic/index.js +22 -0
  84. package/lib/logic/index.js.map +1 -0
  85. package/lib/logic/lastBlock.d.ts +12 -0
  86. package/lib/logic/lastBlock.d.ts.map +1 -0
  87. package/lib/logic/lastBlock.js +25 -0
  88. package/lib/logic/lastBlock.js.map +1 -0
  89. package/lib/logic/listOperations.d.ts +19 -0
  90. package/lib/logic/listOperations.d.ts.map +1 -0
  91. package/lib/logic/listOperations.js +179 -0
  92. package/lib/logic/listOperations.js.map +1 -0
  93. package/lib/logic/utils.d.ts +55 -0
  94. package/lib/logic/utils.d.ts.map +1 -0
  95. package/lib/logic/utils.js +197 -0
  96. package/lib/logic/utils.js.map +1 -0
  97. package/lib/network/api.d.ts +24 -0
  98. package/lib/network/api.d.ts.map +1 -0
  99. package/lib/network/api.js +119 -0
  100. package/lib/network/api.js.map +1 -0
  101. package/lib/network/rpc.d.ts +12 -0
  102. package/lib/network/rpc.d.ts.map +1 -0
  103. package/lib/network/rpc.js +22 -0
  104. package/lib/network/rpc.js.map +1 -0
  105. package/lib/{api → network}/utils.d.ts +1 -5
  106. package/lib/network/utils.d.ts.map +1 -0
  107. package/lib/network/utils.js +52 -0
  108. package/lib/network/utils.js.map +1 -0
  109. package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
  110. package/lib/test/bridgeDatasetTest.js +5 -1
  111. package/lib/test/bridgeDatasetTest.js.map +1 -1
  112. package/lib/test/fixtures/account.fixture.d.ts +17 -0
  113. package/lib/test/fixtures/account.fixture.d.ts.map +1 -1
  114. package/lib/test/fixtures/account.fixture.js +18 -1
  115. package/lib/test/fixtures/account.fixture.js.map +1 -1
  116. package/lib/test/fixtures/currency.fixture.d.ts.map +1 -1
  117. package/lib/test/fixtures/currency.fixture.js +1 -1
  118. package/lib/test/fixtures/currency.fixture.js.map +1 -1
  119. package/lib/test/fixtures/mirror.fixture.d.ts +1 -1
  120. package/lib/test/fixtures/mirror.fixture.d.ts.map +1 -1
  121. package/lib/test/fixtures/network.fixture.d.ts +3 -0
  122. package/lib/test/fixtures/network.fixture.d.ts.map +1 -0
  123. package/lib/test/fixtures/network.fixture.js +9 -0
  124. package/lib/test/fixtures/network.fixture.js.map +1 -0
  125. package/lib/test/fixtures/transaction.fixture.d.ts.map +1 -1
  126. package/lib/test/fixtures/transaction.fixture.js +3 -0
  127. package/lib/test/fixtures/transaction.fixture.js.map +1 -1
  128. package/lib/transaction.d.ts +1 -1
  129. package/lib/transaction.d.ts.map +1 -1
  130. package/lib/transaction.js +35 -6
  131. package/lib/transaction.js.map +1 -1
  132. package/lib/types/alpaca.d.ts +3 -0
  133. package/lib/types/alpaca.d.ts.map +1 -0
  134. package/lib/{api/types.js → types/alpaca.js} +1 -1
  135. package/lib/types/alpaca.js.map +1 -0
  136. package/lib/types/bridge.d.ts +28 -9
  137. package/lib/types/bridge.d.ts.map +1 -1
  138. package/lib/types/index.d.ts +2 -0
  139. package/lib/types/index.d.ts.map +1 -1
  140. package/lib/types/index.js +2 -0
  141. package/lib/types/index.js.map +1 -1
  142. package/lib/{api/types.d.ts → types/mirror.d.ts} +21 -2
  143. package/lib/types/mirror.d.ts.map +1 -0
  144. package/lib/types/mirror.js +3 -0
  145. package/lib/types/mirror.js.map +1 -0
  146. package/lib-es/api/index.d.ts +4 -0
  147. package/lib-es/api/index.d.ts.map +1 -0
  148. package/lib-es/api/index.js +112 -0
  149. package/lib-es/api/index.js.map +1 -0
  150. package/lib-es/bridge/broadcast.d.ts +1 -1
  151. package/lib-es/bridge/broadcast.d.ts.map +1 -1
  152. package/lib-es/bridge/broadcast.js +4 -7
  153. package/lib-es/bridge/broadcast.js.map +1 -1
  154. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -1
  155. package/lib-es/bridge/buildOptimisticOperation.js +12 -9
  156. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -1
  157. package/lib-es/bridge/createTransaction.d.ts +1 -1
  158. package/lib-es/bridge/createTransaction.d.ts.map +1 -1
  159. package/lib-es/bridge/createTransaction.js +2 -0
  160. package/lib-es/bridge/createTransaction.js.map +1 -1
  161. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -1
  162. package/lib-es/bridge/estimateMaxSpendable.js +2 -2
  163. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
  164. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
  165. package/lib-es/bridge/getTransactionStatus.js +7 -6
  166. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  167. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  168. package/lib-es/bridge/prepareTransaction.js +4 -3
  169. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  170. package/lib-es/bridge/signOperation.d.ts +1 -1
  171. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  172. package/lib-es/bridge/signOperation.js +53 -14
  173. package/lib-es/bridge/signOperation.js.map +1 -1
  174. package/lib-es/bridge/synchronisation.d.ts.map +1 -1
  175. package/lib-es/bridge/synchronisation.js +24 -11
  176. package/lib-es/bridge/synchronisation.js.map +1 -1
  177. package/lib-es/bridge/utils.d.ts +3 -13
  178. package/lib-es/bridge/utils.d.ts.map +1 -1
  179. package/lib-es/bridge/utils.js +7 -113
  180. package/lib-es/bridge/utils.js.map +1 -1
  181. package/lib-es/config.d.ts +8 -0
  182. package/lib-es/config.d.ts.map +1 -0
  183. package/lib-es/config.js +4 -0
  184. package/lib-es/config.js.map +1 -0
  185. package/lib-es/constants.d.ts +11 -8
  186. package/lib-es/constants.d.ts.map +1 -1
  187. package/lib-es/constants.js +13 -9
  188. package/lib-es/constants.js.map +1 -1
  189. package/lib-es/deviceTransactionConfig.d.ts +2 -2
  190. package/lib-es/deviceTransactionConfig.d.ts.map +1 -1
  191. package/lib-es/deviceTransactionConfig.js +2 -2
  192. package/lib-es/deviceTransactionConfig.js.map +1 -1
  193. package/lib-es/logic/broadcast.d.ts +3 -0
  194. package/lib-es/logic/broadcast.d.ts.map +1 -0
  195. package/lib-es/logic/broadcast.js +7 -0
  196. package/lib-es/logic/broadcast.js.map +1 -0
  197. package/lib-es/logic/combine.d.ts +2 -0
  198. package/lib-es/logic/combine.d.ts.map +1 -0
  199. package/lib-es/logic/combine.js +12 -0
  200. package/lib-es/logic/combine.js.map +1 -0
  201. package/lib-es/logic/craftTransaction.d.ts +8 -0
  202. package/lib-es/logic/craftTransaction.d.ts.map +1 -0
  203. package/lib-es/logic/craftTransaction.js +100 -0
  204. package/lib-es/logic/craftTransaction.js.map +1 -0
  205. package/lib-es/logic/estimateFees.d.ts +5 -0
  206. package/lib-es/logic/estimateFees.d.ts.map +1 -0
  207. package/lib-es/logic/estimateFees.js +18 -0
  208. package/lib-es/logic/estimateFees.js.map +1 -0
  209. package/lib-es/logic/getAssetFromToken.d.ts +4 -0
  210. package/lib-es/logic/getAssetFromToken.d.ts.map +1 -0
  211. package/lib-es/logic/getAssetFromToken.js +10 -0
  212. package/lib-es/logic/getAssetFromToken.js.map +1 -0
  213. package/lib-es/logic/getBalance.d.ts +4 -0
  214. package/lib-es/logic/getBalance.d.ts.map +1 -0
  215. package/lib-es/logic/getBalance.js +32 -0
  216. package/lib-es/logic/getBalance.js.map +1 -0
  217. package/lib-es/logic/getTokenFromAsset.d.ts +4 -0
  218. package/lib-es/logic/getTokenFromAsset.d.ts.map +1 -0
  219. package/lib-es/logic/getTokenFromAsset.js +9 -0
  220. package/lib-es/logic/getTokenFromAsset.js.map +1 -0
  221. package/lib-es/logic/index.d.ts +10 -0
  222. package/lib-es/logic/index.d.ts.map +1 -0
  223. package/lib-es/logic/index.js +10 -0
  224. package/lib-es/logic/index.js.map +1 -0
  225. package/lib-es/logic/lastBlock.d.ts +12 -0
  226. package/lib-es/logic/lastBlock.d.ts.map +1 -0
  227. package/lib-es/logic/lastBlock.js +21 -0
  228. package/lib-es/logic/lastBlock.js.map +1 -0
  229. package/lib-es/logic/listOperations.d.ts +19 -0
  230. package/lib-es/logic/listOperations.d.ts.map +1 -0
  231. package/lib-es/logic/listOperations.js +172 -0
  232. package/lib-es/logic/listOperations.js.map +1 -0
  233. package/lib-es/logic/utils.d.ts +55 -0
  234. package/lib-es/logic/utils.d.ts.map +1 -0
  235. package/lib-es/logic/utils.js +174 -0
  236. package/lib-es/logic/utils.js.map +1 -0
  237. package/lib-es/network/api.d.ts +24 -0
  238. package/lib-es/network/api.d.ts.map +1 -0
  239. package/lib-es/network/api.js +113 -0
  240. package/lib-es/network/api.js.map +1 -0
  241. package/lib-es/network/rpc.d.ts +12 -0
  242. package/lib-es/network/rpc.d.ts.map +1 -0
  243. package/lib-es/network/rpc.js +19 -0
  244. package/lib-es/network/rpc.js.map +1 -0
  245. package/lib-es/{api → network}/utils.d.ts +1 -5
  246. package/lib-es/network/utils.d.ts.map +1 -0
  247. package/lib-es/network/utils.js +45 -0
  248. package/lib-es/network/utils.js.map +1 -0
  249. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -1
  250. package/lib-es/test/bridgeDatasetTest.js +5 -1
  251. package/lib-es/test/bridgeDatasetTest.js.map +1 -1
  252. package/lib-es/test/fixtures/account.fixture.d.ts +17 -0
  253. package/lib-es/test/fixtures/account.fixture.d.ts.map +1 -1
  254. package/lib-es/test/fixtures/account.fixture.js +17 -0
  255. package/lib-es/test/fixtures/account.fixture.js.map +1 -1
  256. package/lib-es/test/fixtures/currency.fixture.d.ts.map +1 -1
  257. package/lib-es/test/fixtures/currency.fixture.js +1 -1
  258. package/lib-es/test/fixtures/currency.fixture.js.map +1 -1
  259. package/lib-es/test/fixtures/mirror.fixture.d.ts +1 -1
  260. package/lib-es/test/fixtures/mirror.fixture.d.ts.map +1 -1
  261. package/lib-es/test/fixtures/network.fixture.d.ts +3 -0
  262. package/lib-es/test/fixtures/network.fixture.d.ts.map +1 -0
  263. package/lib-es/test/fixtures/network.fixture.js +5 -0
  264. package/lib-es/test/fixtures/network.fixture.js.map +1 -0
  265. package/lib-es/test/fixtures/transaction.fixture.d.ts.map +1 -1
  266. package/lib-es/test/fixtures/transaction.fixture.js +3 -0
  267. package/lib-es/test/fixtures/transaction.fixture.js.map +1 -1
  268. package/lib-es/transaction.d.ts +1 -1
  269. package/lib-es/transaction.d.ts.map +1 -1
  270. package/lib-es/transaction.js +35 -6
  271. package/lib-es/transaction.js.map +1 -1
  272. package/lib-es/types/alpaca.d.ts +3 -0
  273. package/lib-es/types/alpaca.d.ts.map +1 -0
  274. package/lib-es/types/alpaca.js +2 -0
  275. package/lib-es/types/alpaca.js.map +1 -0
  276. package/lib-es/types/bridge.d.ts +28 -9
  277. package/lib-es/types/bridge.d.ts.map +1 -1
  278. package/lib-es/types/index.d.ts +2 -0
  279. package/lib-es/types/index.d.ts.map +1 -1
  280. package/lib-es/types/index.js +2 -0
  281. package/lib-es/types/index.js.map +1 -1
  282. package/lib-es/{api/types.d.ts → types/mirror.d.ts} +21 -2
  283. package/lib-es/types/mirror.d.ts.map +1 -0
  284. package/lib-es/types/mirror.js +2 -0
  285. package/lib-es/types/mirror.js.map +1 -0
  286. package/package.json +8 -7
  287. package/src/api/index.integ.test.ts +401 -0
  288. package/src/api/index.test.ts +30 -0
  289. package/src/api/index.ts +149 -0
  290. package/src/bridge/broadcast.ts +5 -10
  291. package/src/bridge/buildOptimisticOperation.integration.test.ts +8 -8
  292. package/src/bridge/buildOptimisticOperation.ts +13 -10
  293. package/src/bridge/createTransaction.ts +3 -1
  294. package/src/bridge/estimateMaxSpendable.ts +6 -3
  295. package/src/bridge/getTransactionStatus.test.ts +11 -10
  296. package/src/bridge/getTransactionStatus.ts +12 -11
  297. package/src/bridge/js-estimateMaxSpendable.integration.test.ts +6 -3
  298. package/src/bridge/prepareTransaction.test.ts +9 -17
  299. package/src/bridge/prepareTransaction.ts +5 -4
  300. package/src/bridge/serialization.test.ts +6 -6
  301. package/src/bridge/signOperation.ts +69 -16
  302. package/src/bridge/synchronisation.ts +22 -14
  303. package/src/bridge/utils.integration.test.ts +19 -248
  304. package/src/bridge/utils.ts +14 -160
  305. package/src/config.ts +7 -0
  306. package/src/constants.ts +15 -9
  307. package/src/deviceTransactionConfig.ts +4 -4
  308. package/src/logic/broadcast.test.ts +58 -0
  309. package/src/logic/broadcast.ts +8 -0
  310. package/src/logic/combine.test.ts +119 -0
  311. package/src/logic/combine.ts +14 -0
  312. package/src/logic/craftTransaction.test.ts +215 -0
  313. package/src/logic/craftTransaction.ts +175 -0
  314. package/src/logic/estimateFees.test.ts +99 -0
  315. package/src/logic/estimateFees.ts +28 -0
  316. package/src/logic/getAssetFromToken.test.ts +27 -0
  317. package/src/logic/getAssetFromToken.ts +12 -0
  318. package/src/logic/getBalance.test.ts +200 -0
  319. package/src/logic/getBalance.ts +39 -0
  320. package/src/logic/getTokenFromAsset.test.ts +22 -0
  321. package/src/logic/getTokenFromAsset.ts +17 -0
  322. package/src/logic/index.ts +9 -0
  323. package/src/logic/lastBlock.test.ts +23 -0
  324. package/src/logic/lastBlock.ts +23 -0
  325. package/src/logic/listOperations.test.ts +388 -0
  326. package/src/logic/listOperations.ts +247 -0
  327. package/src/logic/utils.test.ts +432 -0
  328. package/src/logic/utils.ts +255 -0
  329. package/src/{api/mirror.test.ts → network/api.test.ts} +81 -35
  330. package/src/network/api.ts +159 -0
  331. package/src/network/rpc.test.ts +68 -0
  332. package/src/network/rpc.ts +25 -0
  333. package/src/network/utils.test.ts +175 -0
  334. package/src/network/utils.ts +58 -0
  335. package/src/test/bridgeDatasetTest.ts +6 -2
  336. package/src/test/fixtures/account.fixture.ts +18 -0
  337. package/src/test/fixtures/currency.fixture.ts +1 -1
  338. package/src/test/fixtures/mirror.fixture.ts +1 -1
  339. package/src/test/fixtures/network.fixture.ts +6 -0
  340. package/src/test/fixtures/transaction.fixture.ts +5 -2
  341. package/src/transaction.ts +40 -9
  342. package/src/types/alpaca.ts +3 -0
  343. package/src/types/bridge.ts +36 -10
  344. package/src/types/index.ts +2 -0
  345. package/src/{api/types.ts → types/mirror.ts} +23 -1
  346. package/lib/api/mirror.d.ts +0 -6
  347. package/lib/api/mirror.d.ts.map +0 -1
  348. package/lib/api/mirror.js +0 -84
  349. package/lib/api/mirror.js.map +0 -1
  350. package/lib/api/network.d.ts +0 -11
  351. package/lib/api/network.d.ts.map +0 -1
  352. package/lib/api/network.js +0 -80
  353. package/lib/api/network.js.map +0 -1
  354. package/lib/api/types.d.ts.map +0 -1
  355. package/lib/api/types.js.map +0 -1
  356. package/lib/api/utils.d.ts.map +0 -1
  357. package/lib/api/utils.js +0 -132
  358. package/lib/api/utils.js.map +0 -1
  359. package/lib/logic.d.ts +0 -11
  360. package/lib/logic.d.ts.map +0 -1
  361. package/lib/logic.js +0 -37
  362. package/lib/logic.js.map +0 -1
  363. package/lib-es/api/mirror.d.ts +0 -6
  364. package/lib-es/api/mirror.d.ts.map +0 -1
  365. package/lib-es/api/mirror.js +0 -74
  366. package/lib-es/api/mirror.js.map +0 -1
  367. package/lib-es/api/network.d.ts +0 -11
  368. package/lib-es/api/network.d.ts.map +0 -1
  369. package/lib-es/api/network.js +0 -71
  370. package/lib-es/api/network.js.map +0 -1
  371. package/lib-es/api/types.d.ts.map +0 -1
  372. package/lib-es/api/types.js +0 -2
  373. package/lib-es/api/types.js.map +0 -1
  374. package/lib-es/api/utils.d.ts.map +0 -1
  375. package/lib-es/api/utils.js +0 -124
  376. package/lib-es/api/utils.js.map +0 -1
  377. package/lib-es/logic.d.ts +0 -11
  378. package/lib-es/logic.d.ts.map +0 -1
  379. package/lib-es/logic.js +0 -29
  380. package/lib-es/logic.js.map +0 -1
  381. package/src/api/mirror.ts +0 -91
  382. package/src/api/network.test.ts +0 -49
  383. package/src/api/network.ts +0 -125
  384. package/src/api/utils.ts +0 -150
  385. package/src/logic.test.ts +0 -152
  386. package/src/logic.ts +0 -66
@@ -0,0 +1,174 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { createHash } from "crypto";
3
+ import invariant from "invariant";
4
+ import { AccountId, Transaction as HederaSDKTransaction } from "@hashgraph/sdk";
5
+ import { findCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
6
+ import { getFiatCurrencyByTicker } from "@ledgerhq/cryptoassets/fiats";
7
+ import cvsApi from "@ledgerhq/live-countervalues/api/index";
8
+ import { InvalidAddress } from "@ledgerhq/errors";
9
+ import { makeLRUCache, seconds } from "@ledgerhq/live-network/cache";
10
+ import { HEDERA_OPERATION_TYPES, HEDERA_TRANSACTION_MODES, SYNTHETIC_BLOCK_WINDOW_SECONDS, } from "../constants";
11
+ import { apiClient } from "../network/api";
12
+ import { rpcClient } from "../network/rpc";
13
+ import { HederaRecipientInvalidChecksum } from "../errors";
14
+ export const serializeSignature = (signature) => {
15
+ return Buffer.from(signature).toString("base64");
16
+ };
17
+ export const deserializeSignature = (signature) => {
18
+ return Buffer.from(signature, "base64");
19
+ };
20
+ export const serializeTransaction = (tx) => {
21
+ return Buffer.from(tx.toBytes()).toString("hex");
22
+ };
23
+ export const deserializeTransaction = (tx) => {
24
+ return HederaSDKTransaction.fromBytes(Buffer.from(tx, "hex"));
25
+ };
26
+ export const getOperationValue = ({ asset, operation, }) => {
27
+ if (operation.type === "FEES") {
28
+ return BigInt(0);
29
+ }
30
+ if (asset.type === "native" && operation.type === "OUT") {
31
+ return BigInt(operation.value.toFixed(0)) - BigInt(operation.fee.toFixed(0));
32
+ }
33
+ return BigInt(operation.value.toFixed(0));
34
+ };
35
+ // this utils extracts the bodyBytes from a Hedera Transaction that are required for signing
36
+ // hardcoded `.get(0)` is here because we are always using single node account id
37
+ // this is because we want to avoid "signing" loop for users, as described here:
38
+ // https://github.com/LedgerHQ/ledger-live/pull/72/commits/1e942687d4301660e43e0c4b5419fcfa2733b290
39
+ export const getHederaTransactionBodyBytes = (tx) => {
40
+ const bodyBytes = tx._signedTransactions.get(0)?.bodyBytes;
41
+ invariant(bodyBytes, "hedera: tx body bytes are missing");
42
+ return bodyBytes;
43
+ };
44
+ export const mapIntentToSDKOperation = (txIntent) => {
45
+ if (txIntent.type === HEDERA_TRANSACTION_MODES.TokenAssociate) {
46
+ return HEDERA_OPERATION_TYPES.TokenAssociate;
47
+ }
48
+ if (txIntent.type === HEDERA_TRANSACTION_MODES.Send && txIntent.asset.type !== "native") {
49
+ return HEDERA_OPERATION_TYPES.TokenTransfer;
50
+ }
51
+ return HEDERA_OPERATION_TYPES.CryptoTransfer;
52
+ };
53
+ export const getMemoFromBase64 = (memoBase64) => {
54
+ try {
55
+ if (memoBase64 === undefined)
56
+ return null;
57
+ return Buffer.from(memoBase64, "base64").toString("utf-8");
58
+ }
59
+ catch {
60
+ return null;
61
+ }
62
+ };
63
+ // NOTE: convert from the non-url-safe version of base64 to the url-safe version (that the explorer uses)
64
+ export function base64ToUrlSafeBase64(data) {
65
+ // Might be nice to use this alternative if .nvmrc changes to >= Node v14.18.0
66
+ // base64url encoding option isn't supported until then
67
+ // Buffer.from(data, "base64").toString("base64url");
68
+ return data.replace(/\//g, "_").replace(/\+/g, "-");
69
+ }
70
+ export const getTransactionExplorer = (explorerView, operation) => {
71
+ const extra = isValidExtra(operation.extra) ? operation.extra : null;
72
+ return explorerView?.tx?.replace("$hash", extra?.consensusTimestamp ?? extra?.transactionId ?? "0");
73
+ };
74
+ export const isTokenAssociateTransaction = (tx) => {
75
+ return tx.mode === HEDERA_TRANSACTION_MODES.TokenAssociate;
76
+ };
77
+ export const isAutoTokenAssociationEnabled = (account) => {
78
+ const hederaAccount = "hederaResources" in account ? account : null;
79
+ return hederaAccount?.hederaResources?.isAutoTokenAssociationEnabled ?? false;
80
+ };
81
+ export const isTokenAssociationRequired = (account, token) => {
82
+ const subAccounts = !!account && "subAccounts" in account ? account.subAccounts ?? [] : [];
83
+ const isTokenAssociated = subAccounts.some(item => item.token.id === token?.id);
84
+ return !!token && !isTokenAssociated && !isAutoTokenAssociationEnabled(account);
85
+ };
86
+ export const isValidExtra = (extra) => {
87
+ return !!extra && typeof extra === "object" && !Array.isArray(extra);
88
+ };
89
+ // disables the "Continue" button in the Send modal's Recipient step during token transfers if:
90
+ // - the recipient is not associated with the token
91
+ // - the association status can't be verified
92
+ export const sendRecipientCanNext = (status) => {
93
+ const { missingAssociation, unverifiedAssociation } = status.warnings;
94
+ return !missingAssociation && !unverifiedAssociation;
95
+ };
96
+ // note: this is currently called frequently by getTransactionStatus; LRU cache prevents duplicated requests
97
+ export const getCurrencyToUSDRate = makeLRUCache(async (currency) => {
98
+ try {
99
+ const [rate] = await cvsApi.fetchLatest([
100
+ {
101
+ from: currency,
102
+ to: getFiatCurrencyByTicker("USD"),
103
+ startDate: new Date(),
104
+ },
105
+ ]);
106
+ invariant(rate, "no value returned from cvs api");
107
+ return new BigNumber(rate);
108
+ }
109
+ catch {
110
+ return null;
111
+ }
112
+ }, currency => currency.ticker, seconds(3));
113
+ export const checkAccountTokenAssociationStatus = makeLRUCache(async (address, tokenId) => {
114
+ const [parsingError, parsingResult] = safeParseAccountId(address);
115
+ if (parsingError) {
116
+ throw parsingError;
117
+ }
118
+ const addressWithoutChecksum = parsingResult.accountId;
119
+ const mirrorAccount = await apiClient.getAccount(addressWithoutChecksum);
120
+ // auto association is enabled
121
+ if (mirrorAccount.max_automatic_token_associations === -1) {
122
+ return true;
123
+ }
124
+ const isTokenAssociated = mirrorAccount.balance.tokens.some(token => {
125
+ return token.token_id === tokenId;
126
+ });
127
+ return isTokenAssociated;
128
+ }, (accountId, tokenId) => `${accountId}-${tokenId}`, seconds(30));
129
+ export const safeParseAccountId = (address) => {
130
+ const currency = findCryptoCurrencyById("hedera");
131
+ const currencyName = currency?.name ?? "Hedera";
132
+ try {
133
+ const accountId = AccountId.fromString(address);
134
+ // verify checksum if present
135
+ // FIXME: migrate to EntityIdHelper methods once SDK is upgraded:
136
+ // https://github.com/hiero-ledger/hiero-sdk-js/blob/main/src/EntityIdHelper.js#L197
137
+ // https://github.com/hiero-ledger/hiero-sdk-js/blob/main/src/EntityIdHelper.js#L446
138
+ const checksum = address.split("-")[1] ?? null;
139
+ if (checksum) {
140
+ const client = rpcClient.getInstance();
141
+ const recipientWithChecksum = accountId.toStringWithChecksum(client);
142
+ const expectedChecksum = recipientWithChecksum.split("-")[1];
143
+ if (checksum !== expectedChecksum) {
144
+ return [new HederaRecipientInvalidChecksum(), null];
145
+ }
146
+ }
147
+ const result = {
148
+ accountId: accountId.toString(),
149
+ checksum,
150
+ };
151
+ return [null, result];
152
+ }
153
+ catch (err) {
154
+ return [new InvalidAddress("", { currencyName }), null];
155
+ }
156
+ };
157
+ /**
158
+ * Calculates a synthetic block height based on Hedera consensus timestamp.
159
+ *
160
+ * @param consensusTimestamp - Hedera consensus timestamp
161
+ * @param blockWindowSeconds - Duration of one synthetic block in seconds (default: 10)
162
+ * @returns Deterministic synthetic block (height and hash)
163
+ */
164
+ export function getSyntheticBlock(consensusTimestamp, blockWindowSeconds = SYNTHETIC_BLOCK_WINDOW_SECONDS) {
165
+ const seconds = Math.floor(Number(consensusTimestamp));
166
+ if (Number.isNaN(seconds) || seconds === 0) {
167
+ throw new Error(`Invalid consensus timestamp: ${consensusTimestamp}`);
168
+ }
169
+ const blockHeight = Math.floor(seconds / blockWindowSeconds);
170
+ const blockHash = createHash("sha256").update(blockHeight.toString()).digest("hex");
171
+ const blockTime = new Date(seconds * 1000);
172
+ return { blockHeight, blockHash, blockTime };
173
+ }
174
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,MAAM,MAAM,wCAAwC,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAQ3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAqB,EAAE,EAAE;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAwB,EAAE,EAAE;IAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,EAAE;IACnD,OAAO,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,KAAK,EACL,SAAS,GAIV,EAAE,EAAE;IACH,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,4FAA4F;AAC5F,iFAAiF;AACjF,gFAAgF;AAChF,mGAAmG;AACnG,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAAwB,EAAE,EAAE;IACxE,MAAM,SAAS,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;IAC3D,SAAS,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAA2B,EAAE,EAAE;IACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,wBAAwB,CAAC,cAAc,EAAE,CAAC;QAC9D,OAAO,sBAAsB,CAAC,cAAc,CAAC;IAC/C,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,wBAAwB,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxF,OAAO,sBAAsB,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED,OAAO,sBAAsB,CAAC,cAAc,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,UAA8B,EAAiB,EAAE;IACjF,IAAI,CAAC;QACH,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAE1C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,yGAAyG;AACzG,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,8EAA8E;IAC9E,uDAAuD;IACvD,qDAAqD;IAErD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,YAA6C,EAC7C,SAAwB,EACJ,EAAE;IACtB,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAErE,OAAO,YAAY,EAAE,EAAE,EAAE,OAAO,CAC9B,OAAO,EACP,KAAK,EAAE,kBAAkB,IAAI,KAAK,EAAE,aAAa,IAAI,GAAG,CACzD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAe,EAAmC,EAAE;IAC9F,OAAO,EAAE,CAAC,IAAI,KAAK,wBAAwB,CAAC,cAAc,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,OAAoB,EAAE,EAAE;IACpE,MAAM,aAAa,GAAG,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAE,OAAyB,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvF,OAAO,aAAa,EAAE,eAAe,EAAE,6BAA6B,IAAI,KAAK,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,OAAoB,EACpB,KAAuC,EACvC,EAAE;IACF,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,IAAI,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,EAAE,CAAC,CAAC;IAEhF,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAClF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAiC,EAAE;IAC5E,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,+FAA+F;AAC/F,mDAAmD;AACnD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAyB,EAAE,EAAE;IAChE,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEtE,OAAO,CAAC,kBAAkB,IAAI,CAAC,qBAAqB,CAAC;AACvD,CAAC,CAAC;AAEF,4GAA4G;AAC5G,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAC9C,KAAK,EAAE,QAAkB,EAAE,EAAE;IAC3B,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACtC;gBACE,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,uBAAuB,CAAC,KAAK,CAAC;gBAClC,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QAElD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,EACD,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAC3B,OAAO,CAAC,CAAC,CAAC,CACX,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,YAAY,CAC5D,KAAK,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;IACzC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,CAAC;IACrB,CAAC;IAED,MAAM,sBAAsB,GAAG,aAAa,CAAC,SAAS,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAEzE,8BAA8B;IAC9B,IAAI,aAAa,CAAC,gCAAgC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAClE,OAAO,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC,EACD,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,EACjD,OAAO,CAAC,EAAE,CAAC,CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAe,EACyD,EAAE;IAC1E,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEhD,6BAA6B;QAC7B,iEAAiE;QACjE,oFAAoF;QACpF,oFAAoF;QACpF,MAAM,QAAQ,GAAkB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,qBAAqB,GAAG,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACrE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,8BAA8B,EAAE,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC/B,QAAQ;SACT,CAAC;QAEF,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,kBAA0B,EAC1B,kBAAkB,GAAG,8BAA8B;IAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEvD,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,gCAAgC,kBAAkB,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE3C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { HederaMirrorAccount, HederaMirrorToken, HederaMirrorTransaction } from "../types";
2
+ declare function getAccountsForPublicKey(publicKey: string): Promise<HederaMirrorAccount[]>;
3
+ declare function getAccount(address: string): Promise<HederaMirrorAccount>;
4
+ declare function getAccountTransactions({ address, pagingToken, limit, order, fetchAllPages, }: {
5
+ address: string;
6
+ pagingToken: string | null;
7
+ limit?: number | undefined;
8
+ order?: "asc" | "desc" | undefined;
9
+ fetchAllPages: boolean;
10
+ }): Promise<{
11
+ transactions: HederaMirrorTransaction[];
12
+ nextCursor: string | null;
13
+ }>;
14
+ declare function getAccountTokens(address: string): Promise<HederaMirrorToken[]>;
15
+ declare function getLatestTransaction(): Promise<HederaMirrorTransaction>;
16
+ export declare const apiClient: {
17
+ getAccountsForPublicKey: typeof getAccountsForPublicKey;
18
+ getAccount: typeof getAccount;
19
+ getAccountTokens: typeof getAccountTokens;
20
+ getAccountTransactions: typeof getAccountTransactions;
21
+ getLatestTransaction: typeof getLatestTransaction;
22
+ };
23
+ export {};
24
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/network/api.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,mBAAmB,EAEnB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAWlB,iBAAe,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAcxF;AAED,iBAAe,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAavE;AAED,iBAAe,sBAAsB,CAAC,EACpC,OAAO,EACP,WAAW,EACX,KAAW,EACX,KAAc,EACd,aAAa,GACd,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAgDlF;AAED,iBAAe,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAgB7E;AAED,iBAAe,oBAAoB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAgBtE;AAED,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC"}
@@ -0,0 +1,113 @@
1
+ import network from "@ledgerhq/live-network";
2
+ import { getEnv } from "@ledgerhq/live-env";
3
+ import { LedgerAPI4xx } from "@ledgerhq/errors";
4
+ import { HederaAddAccountError } from "../errors";
5
+ const getMirrorApiUrl = () => getEnv("API_HEDERA_MIRROR");
6
+ const fetch = (path) => {
7
+ return network({
8
+ method: "GET",
9
+ url: `${getMirrorApiUrl()}${path}`,
10
+ });
11
+ };
12
+ async function getAccountsForPublicKey(publicKey) {
13
+ let res;
14
+ try {
15
+ res = await fetch(`/api/v1/accounts?account.publicKey=${publicKey}&balance=true&limit=100`);
16
+ }
17
+ catch (e) {
18
+ if (e instanceof LedgerAPI4xx)
19
+ return [];
20
+ throw e;
21
+ }
22
+ const accounts = res.data.accounts;
23
+ return accounts;
24
+ }
25
+ async function getAccount(address) {
26
+ try {
27
+ const res = await fetch(`/api/v1/accounts/${address}`);
28
+ const account = res.data;
29
+ return account;
30
+ }
31
+ catch (error) {
32
+ if (error instanceof LedgerAPI4xx && "status" in error && error.status === 404) {
33
+ throw new HederaAddAccountError();
34
+ }
35
+ throw error;
36
+ }
37
+ }
38
+ async function getAccountTransactions({ address, pagingToken, limit = 100, order = "desc", fetchAllPages, }) {
39
+ const transactions = [];
40
+ const params = new URLSearchParams({
41
+ "account.id": address,
42
+ limit: limit.toString(),
43
+ order,
44
+ });
45
+ // keeps old behavior when all pages are fetched
46
+ const getTimestampDirection = () => {
47
+ if (fetchAllPages)
48
+ return "gt";
49
+ return order === "asc" ? "gt" : "lt";
50
+ };
51
+ if (pagingToken) {
52
+ params.append("timestamp", `${getTimestampDirection()}:${pagingToken}`);
53
+ }
54
+ let nextCursor = null;
55
+ let nextUrl = `/api/v1/transactions?${params.toString()}`;
56
+ // WARNING: don't break the loop when `transactions` array is empty but `links.next` is present
57
+ // the mirror node API enforces a 60-day max time range per query, even if `timestamp` param is set
58
+ // see: https://hedera.com/blog/changes-to-the-hedera-operated-mirror-node
59
+ while (nextUrl) {
60
+ const res = await fetch(nextUrl);
61
+ const newTransactions = res.data.transactions;
62
+ transactions.push(...newTransactions);
63
+ nextUrl = res.data.links.next;
64
+ // stop fetching if pagination mode is used and we reached the limit
65
+ if (!fetchAllPages && transactions.length >= limit) {
66
+ break;
67
+ }
68
+ }
69
+ // ensure we don't exceed the limit in pagination mode
70
+ if (!fetchAllPages && transactions.length > limit) {
71
+ transactions.splice(limit);
72
+ }
73
+ // set the next cursor only if we have more transactions to fetch
74
+ if (!fetchAllPages && nextUrl) {
75
+ const lastTx = transactions.at(-1);
76
+ nextCursor = lastTx?.consensus_timestamp ?? null;
77
+ }
78
+ return { transactions, nextCursor };
79
+ }
80
+ async function getAccountTokens(address) {
81
+ const tokens = [];
82
+ const params = new URLSearchParams({
83
+ limit: "100",
84
+ });
85
+ let nextUrl = `/api/v1/accounts/${address}/tokens?${params.toString()}`;
86
+ while (nextUrl) {
87
+ const res = await fetch(nextUrl);
88
+ const newTokens = res.data.tokens;
89
+ tokens.push(...newTokens);
90
+ nextUrl = res.data.links.next;
91
+ }
92
+ return tokens;
93
+ }
94
+ async function getLatestTransaction() {
95
+ const params = new URLSearchParams({
96
+ limit: "1",
97
+ order: "desc",
98
+ });
99
+ const res = await fetch(`/api/v1/transactions?${params.toString()}`);
100
+ const transaction = res.data.transactions[0];
101
+ if (!transaction) {
102
+ throw new Error("No transactions found on the Hedera network");
103
+ }
104
+ return transaction;
105
+ }
106
+ export const apiClient = {
107
+ getAccountsForPublicKey,
108
+ getAccount,
109
+ getAccountTokens,
110
+ getAccountTransactions,
111
+ getLatestTransaction,
112
+ };
113
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/network/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Transaction as HederaTransaction, TransactionResponse } from "@hashgraph/sdk";
2
+ import { Client } from "@hashgraph/sdk";
3
+ declare function broadcastTransaction(transaction: HederaTransaction): Promise<TransactionResponse>;
4
+ declare function getInstance(): Client;
5
+ declare function _resetInstance(): void;
6
+ export declare const rpcClient: {
7
+ getInstance: typeof getInstance;
8
+ broadcastTransaction: typeof broadcastTransaction;
9
+ _resetInstance: typeof _resetInstance;
10
+ };
11
+ export {};
12
+ //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/network/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,iBAAS,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE1F;AAID,iBAAS,WAAW,IAAI,MAAM,CAI7B;AAGD,iBAAS,cAAc,SAEtB;AAED,eAAO,MAAM,SAAS;;;;CAIrB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { Client } from "@hashgraph/sdk";
2
+ function broadcastTransaction(transaction) {
3
+ return transaction.execute(getInstance());
4
+ }
5
+ let _hederaClient = null;
6
+ function getInstance() {
7
+ _hederaClient ??= Client.forMainnet().setMaxNodesPerTransaction(1);
8
+ return _hederaClient;
9
+ }
10
+ // for testing purposes only, used to reset singleton client instance
11
+ function _resetInstance() {
12
+ _hederaClient = null;
13
+ }
14
+ export const rpcClient = {
15
+ getInstance,
16
+ broadcastTransaction,
17
+ _resetInstance,
18
+ };
19
+ //# sourceMappingURL=rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/network/rpc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,SAAS,oBAAoB,CAAC,WAA8B;IAC1D,OAAO,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,IAAI,aAAa,GAAkB,IAAI,CAAC;AAExC,SAAS,WAAW;IAClB,aAAa,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAEnE,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,qEAAqE;AACrE,SAAS,cAAc;IACrB,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,WAAW;IACX,oBAAoB;IACpB,cAAc;CACf,CAAC"}
@@ -1,8 +1,4 @@
1
1
  import type { Operation } from "@ledgerhq/types-live";
2
- import type { HederaMirrorTokenTransfer, HederaMirrorCoinTransfer } from "./types";
2
+ import type { HederaMirrorTokenTransfer, HederaMirrorCoinTransfer } from "../types";
3
3
  export declare function parseTransfers(mirrorTransfers: (HederaMirrorCoinTransfer | HederaMirrorTokenTransfer)[], address: string): Pick<Operation, "type" | "value" | "senders" | "recipients">;
4
- export declare function getOperationsForAccount(ledgerAccountId: string, address: string, latestOperationTimestamp: string | null): Promise<{
5
- coinOperations: Operation[];
6
- tokenOperations: Operation[];
7
- }>;
8
4
  //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/network/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAkBpF,wBAAgB,cAAc,CAC5B,eAAe,EAAE,CAAC,wBAAwB,GAAG,yBAAyB,CAAC,EAAE,EACzE,OAAO,EAAE,MAAM,GACd,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC,CAiC9D"}
@@ -0,0 +1,45 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { AccountId } from "@hashgraph/sdk";
3
+ function isValidRecipient(accountId, recipients) {
4
+ if (accountId.shard.eq(0) && accountId.realm.eq(0)) {
5
+ // account is a node, only add to list if we have none
6
+ if (accountId.num.lt(100)) {
7
+ return recipients.length === 0;
8
+ }
9
+ // account is a system account that is not a node, do NOT add
10
+ if (accountId.num.lt(1000)) {
11
+ return false;
12
+ }
13
+ }
14
+ return true;
15
+ }
16
+ export function parseTransfers(mirrorTransfers, address) {
17
+ let value = new BigNumber(0);
18
+ let type = "NONE";
19
+ const senders = [];
20
+ const recipients = [];
21
+ for (const transfer of mirrorTransfers) {
22
+ const amount = new BigNumber(transfer.amount);
23
+ const accountId = AccountId.fromString(transfer.account);
24
+ if (transfer.account === address) {
25
+ value = amount.abs();
26
+ type = amount.isNegative() ? "OUT" : "IN";
27
+ }
28
+ if (amount.isNegative()) {
29
+ senders.push(transfer.account);
30
+ }
31
+ else if (isValidRecipient(accountId, recipients)) {
32
+ recipients.push(transfer.account);
33
+ }
34
+ }
35
+ // NOTE: earlier addresses are the "fee" addresses
36
+ senders.reverse();
37
+ recipients.reverse();
38
+ return {
39
+ type,
40
+ value,
41
+ senders,
42
+ recipients,
43
+ };
44
+ }
45
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/network/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,SAAS,gBAAgB,CAAC,SAAoB,EAAE,UAAoB;IAClE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,sDAAsD;QACtD,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,6DAA6D;QAC7D,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,eAAyE,EACzE,OAAe;IAEf,IAAI,KAAK,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,IAAI,GAAkB,MAAM,CAAC;IAEjC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACjC,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACrB,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,OAAO,CAAC,OAAO,EAAE,CAAC;IAClB,UAAU,CAAC,OAAO,EAAE,CAAC;IAErB,OAAO;QACL,IAAI;QACJ,KAAK;QACL,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeDatasetTest.d.ts","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAU5C,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,WAAW,CA0F9C,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,WAAW,CAK5C,CAAC"}
1
+ {"version":3,"file":"bridgeDatasetTest.d.ts","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AASxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,WAAW,CA8F9C,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,WAAW,CAK5C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { NotEnoughBalance, InvalidAddressBecauseDestinationIsAlsoSource, AmountRequired, } from "@ledgerhq/errors";
2
+ import { HEDERA_TRANSACTION_MODES } from "../constants";
2
3
  import { fromTransactionRaw } from "../transaction";
3
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
4
  export const hedera = {
5
5
  scanAccounts: [
6
6
  {
@@ -36,6 +36,7 @@ export const hedera = {
36
36
  family: "hedera",
37
37
  recipient: "0.0.751515",
38
38
  amount: "100000000",
39
+ mode: HEDERA_TRANSACTION_MODES.Send,
39
40
  }),
40
41
  expectedStatus: {
41
42
  errors: {
@@ -50,6 +51,7 @@ export const hedera = {
50
51
  family: "hedera",
51
52
  recipient: "0.0.751515",
52
53
  amount: "0",
54
+ mode: HEDERA_TRANSACTION_MODES.Send,
53
55
  }),
54
56
  expectedStatus: {
55
57
  errors: {
@@ -64,6 +66,7 @@ export const hedera = {
64
66
  family: "hedera",
65
67
  recipient: "0.0.751515",
66
68
  amount: "1000000000000000",
69
+ mode: HEDERA_TRANSACTION_MODES.Send,
67
70
  }),
68
71
  expectedStatus: {
69
72
  errors: {
@@ -78,6 +81,7 @@ export const hedera = {
78
81
  family: "hedera",
79
82
  recipient: "0.0.751515",
80
83
  amount: "1000000000000000",
84
+ mode: HEDERA_TRANSACTION_MODES.Send,
81
85
  useAllAmount: true,
82
86
  }),
83
87
  expectedStatus: (account, _, status) => {
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeDatasetTest.js","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,4CAA4C,EAC5C,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAgC;IACjD,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE;;;WAGF;SACN;KACF;IACD,QAAQ,EAAE;QACR;YACE,WAAW,EAAE,CAAC,uBAAuB,CAAC;YACtC,GAAG,EAAE;gBACH,EAAE,EAAE,yBAAyB;gBAC7B,cAAc,EAAE,EAAE;gBAClB,IAAI,EAAE,UAAU;gBAChB,cAAc,EAAE,aAAa;gBAC7B,KAAK,EAAE,CAAC;gBACR,YAAY,EAAE,YAAY;gBAC1B,gBAAgB,EAAE,eAAe;gBACjC,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,EAAE;gBACd,iBAAiB,EAAE,EAAE;gBACrB,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,GAAG;aACb;YACD,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,2CAA2C;oBACjD,WAAW,EAAE,kBAAkB,CAAC;wBAC9B,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,WAAW;qBACpB,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,SAAS,EAAE,IAAI,4CAA4C,EAAE;yBAC9D;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,kBAAkB,CAAC;wBAC9B,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,GAAG;qBACZ,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,MAAM,EAAE,IAAI,cAAc,EAAE;yBAC7B;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,kBAAkB,CAAC;wBAC9B,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,kBAAkB;qBAC3B,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,MAAM,EAAE,IAAI,gBAAgB,EAAE;yBAC/B;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,kBAAkB,CAAC;wBAC9B,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,kBAAkB;wBAC1B,YAAY,EAAE,IAAI;qBACnB,CAAC;oBACF,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;wBACrC,OAAO;4BACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;4BACnD,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA6B;IAC/C,eAAe,EAAE,CAAC,IAAI,CAAC;IACvB,UAAU,EAAE;QACV,MAAM;KACP;CACF,CAAC"}
1
+ {"version":3,"file":"bridgeDatasetTest.js","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,4CAA4C,EAC5C,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,MAAM,CAAC,MAAM,MAAM,GAAgC;IACjD,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE;;;WAGF;SACN;KACF;IACD,QAAQ,EAAE;QACR;YACE,WAAW,EAAE,CAAC,uBAAuB,CAAC;YACtC,GAAG,EAAE;gBACH,EAAE,EAAE,yBAAyB;gBAC7B,cAAc,EAAE,EAAE;gBAClB,IAAI,EAAE,UAAU;gBAChB,cAAc,EAAE,aAAa;gBAC7B,KAAK,EAAE,CAAC;gBACR,YAAY,EAAE,YAAY;gBAC1B,gBAAgB,EAAE,eAAe;gBACjC,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,EAAE;gBACd,iBAAiB,EAAE,EAAE;gBACrB,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,GAAG;aACb;YACD,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,2CAA2C;oBACjD,WAAW,EAAE,kBAAkB,CAAC;wBAC9B,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,WAAW;wBACnB,IAAI,EAAE,wBAAwB,CAAC,IAAI;qBACpC,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,SAAS,EAAE,IAAI,4CAA4C,EAAE;yBAC9D;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,kBAAkB,CAAC;wBAC9B,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,wBAAwB,CAAC,IAAI;qBACpC,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,MAAM,EAAE,IAAI,cAAc,EAAE;yBAC7B;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,kBAAkB,CAAC;wBAC9B,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,kBAAkB;wBAC1B,IAAI,EAAE,wBAAwB,CAAC,IAAI;qBACpC,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,MAAM,EAAE,IAAI,gBAAgB,EAAE;yBAC/B;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,kBAAkB,CAAC;wBAC9B,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,kBAAkB;wBAC1B,IAAI,EAAE,wBAAwB,CAAC,IAAI;wBACnC,YAAY,EAAE,IAAI;qBACnB,CAAC;oBACF,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;wBACrC,OAAO;4BACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;4BACnD,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA6B;IAC/C,eAAe,EAAE,CAAC,IAAI,CAAC;IACvB,UAAU,EAAE;QACV,MAAM;KACP;CACF,CAAC"}
@@ -16,4 +16,21 @@ export declare const getMockedAccountRaw: (overrides?: Partial<HederaAccountRaw>
16
16
  * - balance is 10
17
17
  */
18
18
  export declare const getMockedTokenAccount: (token: TokenCurrency, overrides?: Partial<TokenAccount>) => TokenAccount;
19
+ export declare const MAINNET_TEST_ACCOUNTS: {
20
+ pristine: {
21
+ accountId: string;
22
+ publicKey: string;
23
+ };
24
+ withoutTokens: {
25
+ accountId: string;
26
+ publicKey: string;
27
+ };
28
+ withTokens: {
29
+ accountId: string;
30
+ publicKey: string;
31
+ associatedTokenWithBalance: string;
32
+ associatedTokenWithoutBalance: string;
33
+ notAssociatedToken: string;
34
+ };
35
+ };
19
36
  //# sourceMappingURL=account.fixture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.fixture.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/account.fixture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAS7D,eAAO,MAAM,mBAAmB,EAAE,eAGjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAGpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,eAAgB,QAAQ,aAAa,CAAC,KAAG,aA6BrE,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAgB,QAAQ,gBAAgB,CAAC,KAAG,gBA4B3E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UACzB,aAAa,cACR,QAAQ,YAAY,CAAC,KAChC,YAoBF,CAAC"}
1
+ {"version":3,"file":"account.fixture.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/account.fixture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAS7D,eAAO,MAAM,mBAAmB,EAAE,eAGjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAGpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,eAAgB,QAAQ,aAAa,CAAC,KAAG,aA6BrE,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAgB,QAAQ,gBAAgB,CAAC,KAAG,gBA4B3E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UACzB,aAAa,cACR,QAAQ,YAAY,CAAC,KAChC,YAoBF,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;CAgBjC,CAAC"}
@@ -104,4 +104,21 @@ export const getMockedTokenAccount = (token, overrides) => {
104
104
  ...overrides,
105
105
  };
106
106
  };
107
+ export const MAINNET_TEST_ACCOUNTS = {
108
+ pristine: {
109
+ accountId: "0.0.800000",
110
+ publicKey: "3608128be58bfb7e753068e0bc82430ec77e51eed578e0a7055a0bd1296fe334",
111
+ },
112
+ withoutTokens: {
113
+ accountId: "0.0.8000000",
114
+ publicKey: "96eae0821a63a138f37e0a60a83f9a0317fa11dde4d7669a62afb5ced2158141",
115
+ },
116
+ withTokens: {
117
+ accountId: "0.0.8835924",
118
+ publicKey: "34e26415574250721e8869bd33ea2678c2bbccff5fc70bd8b0ec9239295fd2cf",
119
+ associatedTokenWithBalance: "0.0.456858",
120
+ associatedTokenWithoutBalance: "0.0.7243470",
121
+ notAssociatedToken: "0.0.3176721",
122
+ },
123
+ };
107
124
  //# sourceMappingURL=account.fixture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.fixture.js","sourceRoot":"","sources":["../../../src/test/fixtures/account.fixture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.fixture.js","sourceRoot":"","sources":["../../../src/test/fixtures/account.fixture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"currency.fixture.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/currency.fixture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlF,eAAO,MAAM,iBAAiB,eAAgB,QAAQ,cAAc,CAAC,KAAG,cA0BvE,CAAC;AAEF,eAAO,MAAM,uBAAuB,UAC3B,MAAM,cACD,QAAQ,aAAa,CAAC,KACjC,aAUF,CAAC;AAEF,eAAO,MAAM,sBAAsB,eAAgB,QAAQ,aAAa,CAAC,KAAG,aAkB3E,CAAC"}
1
+ {"version":3,"file":"currency.fixture.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/currency.fixture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElF,eAAO,MAAM,iBAAiB,eAAgB,QAAQ,cAAc,CAAC,KAAG,cA0BvE,CAAC;AAEF,eAAO,MAAM,uBAAuB,UAC3B,MAAM,cACD,QAAQ,aAAa,CAAC,KACjC,aAUF,CAAC;AAEF,eAAO,MAAM,sBAAsB,eAAgB,QAAQ,aAAa,CAAC,KAAG,aAkB3E,CAAC"}
@@ -1,5 +1,5 @@
1
- import { getCryptoCurrencyById, listTokensForCryptoCurrency } from "@ledgerhq/cryptoassets";
2
1
  import invariant from "invariant";
2
+ import { getCryptoCurrencyById, listTokensForCryptoCurrency } from "@ledgerhq/cryptoassets";
3
3
  export const getMockedCurrency = (overrides) => {
4
4
  return {
5
5
  type: "CryptoCurrency",
@@ -1 +1 @@
1
- {"version":3,"file":"currency.fixture.js","sourceRoot":"","sources":["../../../src/test/fixtures/currency.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE5F,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAmC,EAAkB,EAAE;IACvF,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,QAAQ;QACZ,cAAc,EAAE,QAAQ;QACxB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE;YACb;gBACE,EAAE,EAAE,+CAA+C;gBACnD,OAAO,EAAE,8CAA8C;aACxD;SACF;QACD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM;QACd,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;aACb;SACF;QACD,GAAG,SAAS;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,KAAa,EACb,SAAkC,EACnB,EAAE;IACjB,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IAEzD,SAAS,CAAC,KAAK,EAAE,kCAAkC,KAAK,WAAW,CAAC,CAAC;IAErE,OAAO;QACL,GAAG,KAAK;QACR,GAAG,SAAS;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAkC,EAAiB,EAAE;IAC1F,OAAO;QACL,EAAE,EAAE,6BAA6B;QACjC,eAAe,EAAE,UAAU;QAC3B,cAAc,EAAE,iBAAiB,EAAE;QACnC,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;aACb;SACF;QACD,GAAG,SAAS;KACb,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"currency.fixture.js","sourceRoot":"","sources":["../../../src/test/fixtures/currency.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAG5F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAmC,EAAkB,EAAE;IACvF,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,QAAQ;QACZ,cAAc,EAAE,QAAQ;QACxB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE;YACb;gBACE,EAAE,EAAE,+CAA+C;gBACnD,OAAO,EAAE,8CAA8C;aACxD;SACF;QACD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM;QACd,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;aACb;SACF;QACD,GAAG,SAAS;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,KAAa,EACb,SAAkC,EACnB,EAAE;IACjB,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IAEzD,SAAS,CAAC,KAAK,EAAE,kCAAkC,KAAK,WAAW,CAAC,CAAC;IAErE,OAAO;QACL,GAAG,KAAK;QACR,GAAG,SAAS;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAkC,EAAiB,EAAE;IAC1F,OAAO;QACL,EAAE,EAAE,6BAA6B;QACjC,eAAe,EAAE,UAAU;QAC3B,cAAc,EAAE,iBAAiB,EAAE;QACnC,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;aACb;SACF;QACD,GAAG,SAAS;KACb,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { HederaMirrorToken } from "../../api/types";
1
+ import { HederaMirrorToken } from "../../types";
2
2
  export declare const getMockedMirrorToken: (overrides?: Partial<HederaMirrorToken>) => HederaMirrorToken;
3
3
  //# sourceMappingURL=mirror.fixture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mirror.fixture.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/mirror.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,oBAAoB,eAAgB,QAAQ,iBAAiB,CAAC,KAAG,iBAW7E,CAAC"}
1
+ {"version":3,"file":"mirror.fixture.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/mirror.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,oBAAoB,eAAgB,QAAQ,iBAAiB,CAAC,KAAG,iBAW7E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type network from "@ledgerhq/live-network";
2
+ export declare const getMockResponse: (data: any) => Awaited<ReturnType<typeof network>>;
3
+ //# sourceMappingURL=network.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.fixture.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/network.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAElD,eAAO,MAAM,eAAe,SAAU,GAAG,KAAG,QAAQ,WAAW,cAAc,CAAC,CAG5E,CAAC"}
@@ -0,0 +1,5 @@
1
+ export const getMockResponse = (data) => ({
2
+ data,
3
+ status: 200,
4
+ });
5
+ //# sourceMappingURL=network.fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.fixture.js","sourceRoot":"","sources":["../../../src/test/fixtures/network.fixture.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAS,EAAuC,EAAE,CAAC,CAAC;IAClF,IAAI;IACJ,MAAM,EAAE,GAAG;CACZ,CAAC,CAAC"}