@ledgerhq/coin-aptos 2.0.0-nightly.5 → 2.1.0-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 (533) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +18 -6
  3. package/CHANGELOG.md +178 -34
  4. package/jest.config.js +2 -1
  5. package/jest.integ.config.js +8 -0
  6. package/lib/__tests__/api/craftTransaction.unit.test.d.ts +2 -0
  7. package/lib/__tests__/api/craftTransaction.unit.test.d.ts.map +1 -0
  8. package/lib/__tests__/api/craftTransaction.unit.test.js +187 -0
  9. package/lib/__tests__/api/craftTransaction.unit.test.js.map +1 -0
  10. package/lib/__tests__/api/getBalance.unit.test.d.ts +2 -0
  11. package/lib/__tests__/api/getBalance.unit.test.d.ts.map +1 -0
  12. package/lib/__tests__/api/getBalance.unit.test.js +41 -0
  13. package/lib/__tests__/api/getBalance.unit.test.js.map +1 -0
  14. package/lib/__tests__/api/index.integ.test.d.ts +2 -0
  15. package/lib/__tests__/api/index.integ.test.d.ts.map +1 -0
  16. package/lib/__tests__/api/index.integ.test.js +319 -0
  17. package/lib/__tests__/api/index.integ.test.js.map +1 -0
  18. package/lib/__tests__/api/index.test.js +48 -404
  19. package/lib/__tests__/api/index.test.js.map +1 -1
  20. package/lib/__tests__/bridge/broadcast.test.js +5 -5
  21. package/lib/__tests__/bridge/broadcast.test.js.map +1 -1
  22. package/lib/__tests__/bridge/getFeesForTransaction.test.js +115 -14
  23. package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
  24. package/lib/__tests__/bridge/getTransactionStatus.test.js +175 -37
  25. package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
  26. package/lib/__tests__/bridge/logic.test.js +703 -479
  27. package/lib/__tests__/bridge/logic.test.js.map +1 -1
  28. package/lib/__tests__/bridge/prepareTransaction.test.js +3 -3
  29. package/lib/__tests__/bridge/prepareTransaction.test.js.map +1 -1
  30. package/lib/__tests__/bridge/signOperation.test.js +137 -14
  31. package/lib/__tests__/bridge/signOperation.test.js.map +1 -1
  32. package/lib/__tests__/bridge/synchronisation.test.js +1215 -68
  33. package/lib/__tests__/bridge/synchronisation.test.js.map +1 -1
  34. package/lib/__tests__/index.test.js +1 -1
  35. package/lib/__tests__/index.test.js.map +1 -1
  36. package/lib/__tests__/logic/buildTransaction.test.d.ts.map +1 -0
  37. package/lib/__tests__/logic/buildTransaction.test.js +114 -0
  38. package/lib/__tests__/logic/buildTransaction.test.js.map +1 -0
  39. package/lib/__tests__/logic/calculateAmount.unit.test.d.ts +2 -0
  40. package/lib/__tests__/logic/calculateAmount.unit.test.d.ts.map +1 -0
  41. package/lib/__tests__/logic/calculateAmount.unit.test.js +45 -0
  42. package/lib/__tests__/logic/calculateAmount.unit.test.js.map +1 -0
  43. package/lib/__tests__/logic/combine.unit.test.d.ts +2 -0
  44. package/lib/__tests__/logic/combine.unit.test.d.ts.map +1 -0
  45. package/lib/__tests__/logic/combine.unit.test.js +47 -0
  46. package/lib/__tests__/logic/combine.unit.test.js.map +1 -0
  47. package/lib/__tests__/logic/compareAddress.unit.test.d.ts +2 -0
  48. package/lib/__tests__/logic/compareAddress.unit.test.d.ts.map +1 -0
  49. package/lib/__tests__/logic/compareAddress.unit.test.js +26 -0
  50. package/lib/__tests__/logic/compareAddress.unit.test.js.map +1 -0
  51. package/lib/__tests__/logic/createTransaction.test.d.ts.map +1 -0
  52. package/lib/__tests__/{bridge → logic}/createTransaction.test.js +2 -2
  53. package/lib/__tests__/logic/createTransaction.test.js.map +1 -0
  54. package/lib/__tests__/logic/getCoinAndAmounts.unit.test.d.ts +2 -0
  55. package/lib/__tests__/logic/getCoinAndAmounts.unit.test.d.ts.map +1 -0
  56. package/lib/__tests__/logic/getCoinAndAmounts.unit.test.js +186 -0
  57. package/lib/__tests__/logic/getCoinAndAmounts.unit.test.js.map +1 -0
  58. package/lib/__tests__/logic/getFunctionAddress.unit.test.d.ts +2 -0
  59. package/lib/__tests__/logic/getFunctionAddress.unit.test.d.ts.map +1 -0
  60. package/lib/__tests__/logic/getFunctionAddress.unit.test.js +29 -0
  61. package/lib/__tests__/logic/getFunctionAddress.unit.test.js.map +1 -0
  62. package/lib/__tests__/logic/getResourceAddress.unit.test.d.ts +2 -0
  63. package/lib/__tests__/logic/getResourceAddress.unit.test.d.ts.map +1 -0
  64. package/lib/__tests__/logic/getResourceAddress.unit.test.js +218 -0
  65. package/lib/__tests__/logic/getResourceAddress.unit.test.js.map +1 -0
  66. package/lib/__tests__/logic/isTestnet.unit.test.d.ts +2 -0
  67. package/lib/__tests__/logic/isTestnet.unit.test.d.ts.map +1 -0
  68. package/lib/__tests__/logic/isTestnet.unit.test.js +12 -0
  69. package/lib/__tests__/logic/isTestnet.unit.test.js.map +1 -0
  70. package/lib/__tests__/logic/normalizeAddress.unit.test.d.ts +2 -0
  71. package/lib/__tests__/logic/normalizeAddress.unit.test.d.ts.map +1 -0
  72. package/lib/__tests__/logic/normalizeAddress.unit.test.js +12 -0
  73. package/lib/__tests__/logic/normalizeAddress.unit.test.js.map +1 -0
  74. package/lib/__tests__/logic/processRecipients.unit.test.d.ts +2 -0
  75. package/lib/__tests__/logic/processRecipients.unit.test.d.ts.map +1 -0
  76. package/lib/__tests__/logic/processRecipients.unit.test.js +79 -0
  77. package/lib/__tests__/logic/processRecipients.unit.test.js.map +1 -0
  78. package/lib/__tests__/network/client.test.d.ts +2 -0
  79. package/lib/__tests__/network/client.test.d.ts.map +1 -0
  80. package/lib/__tests__/network/client.test.js +1124 -0
  81. package/lib/__tests__/network/client.test.js.map +1 -0
  82. package/lib/api/index.d.ts +4 -30
  83. package/lib/api/index.d.ts.map +1 -1
  84. package/lib/api/index.js +19 -170
  85. package/lib/api/index.js.map +1 -1
  86. package/lib/bridge/bridge.fixture.d.ts +2 -0
  87. package/lib/bridge/bridge.fixture.d.ts.map +1 -1
  88. package/lib/bridge/bridge.fixture.js +85 -13
  89. package/lib/bridge/bridge.fixture.js.map +1 -1
  90. package/lib/bridge/broadcast.d.ts +3 -2
  91. package/lib/bridge/broadcast.d.ts.map +1 -1
  92. package/lib/bridge/broadcast.js +4 -3
  93. package/lib/bridge/broadcast.js.map +1 -1
  94. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -1
  95. package/lib/bridge/estimateMaxSpendable.js +6 -5
  96. package/lib/bridge/estimateMaxSpendable.js.map +1 -1
  97. package/lib/bridge/getFeesForTransaction.d.ts +1 -1
  98. package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
  99. package/lib/bridge/getFeesForTransaction.js +20 -14
  100. package/lib/bridge/getFeesForTransaction.js.map +1 -1
  101. package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
  102. package/lib/bridge/getTransactionStatus.js +28 -14
  103. package/lib/bridge/getTransactionStatus.js.map +1 -1
  104. package/lib/bridge/index.d.ts +1 -1
  105. package/lib/bridge/index.d.ts.map +1 -1
  106. package/lib/bridge/index.js +1 -1
  107. package/lib/bridge/index.js.map +1 -1
  108. package/lib/bridge/logic.d.ts +5 -19
  109. package/lib/bridge/logic.d.ts.map +1 -1
  110. package/lib/bridge/logic.js +50 -147
  111. package/lib/bridge/logic.js.map +1 -1
  112. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  113. package/lib/bridge/prepareTransaction.js +5 -4
  114. package/lib/bridge/prepareTransaction.js.map +1 -1
  115. package/lib/bridge/signOperation.d.ts.map +1 -1
  116. package/lib/bridge/signOperation.js +21 -7
  117. package/lib/bridge/signOperation.js.map +1 -1
  118. package/lib/bridge/synchronisation.d.ts +15 -0
  119. package/lib/bridge/synchronisation.d.ts.map +1 -1
  120. package/lib/bridge/synchronisation.js +129 -6
  121. package/lib/bridge/synchronisation.js.map +1 -1
  122. package/lib/config.d.ts +13 -0
  123. package/lib/config.d.ts.map +1 -0
  124. package/lib/config.js +9 -0
  125. package/lib/config.js.map +1 -0
  126. package/lib/constants.d.ts +13 -2
  127. package/lib/constants.d.ts.map +1 -1
  128. package/lib/constants.js +17 -2
  129. package/lib/constants.js.map +1 -1
  130. package/lib/logic/buildTransaction.d.ts +9 -0
  131. package/lib/logic/buildTransaction.d.ts.map +1 -0
  132. package/lib/logic/buildTransaction.js +47 -0
  133. package/lib/logic/buildTransaction.js.map +1 -0
  134. package/lib/logic/calculateAmount.d.ts +3 -0
  135. package/lib/logic/calculateAmount.d.ts.map +1 -0
  136. package/lib/logic/calculateAmount.js +13 -0
  137. package/lib/logic/calculateAmount.js.map +1 -0
  138. package/lib/logic/combine.d.ts +4 -0
  139. package/lib/logic/combine.d.ts.map +1 -0
  140. package/lib/logic/combine.js +34 -0
  141. package/lib/logic/combine.js.map +1 -0
  142. package/lib/logic/craftTransaction.d.ts +5 -0
  143. package/lib/logic/craftTransaction.d.ts.map +1 -0
  144. package/lib/logic/craftTransaction.js +68 -0
  145. package/lib/logic/craftTransaction.js.map +1 -0
  146. package/lib/logic/createTransaction.d.ts.map +1 -0
  147. package/lib/{bridge → logic}/createTransaction.js +3 -3
  148. package/lib/logic/createTransaction.js.map +1 -0
  149. package/lib/logic/getBalance.d.ts +5 -0
  150. package/lib/logic/getBalance.d.ts.map +1 -0
  151. package/lib/logic/getBalance.js +12 -0
  152. package/lib/logic/getBalance.js.map +1 -0
  153. package/lib/logic/getCoinAndAmounts.d.ts +13 -0
  154. package/lib/logic/getCoinAndAmounts.d.ts.map +1 -0
  155. package/lib/logic/getCoinAndAmounts.js +112 -0
  156. package/lib/logic/getCoinAndAmounts.js.map +1 -0
  157. package/lib/logic/getFunctionAddress.d.ts +3 -0
  158. package/lib/logic/getFunctionAddress.d.ts.map +1 -0
  159. package/lib/logic/getFunctionAddress.js +12 -0
  160. package/lib/logic/getFunctionAddress.js.map +1 -0
  161. package/lib/logic/getResourceAddress.d.ts +4 -0
  162. package/lib/logic/getResourceAddress.d.ts.map +1 -0
  163. package/lib/logic/getResourceAddress.js +17 -0
  164. package/lib/logic/getResourceAddress.js.map +1 -0
  165. package/lib/logic/isTestnet.d.ts +2 -0
  166. package/lib/logic/isTestnet.d.ts.map +1 -0
  167. package/lib/logic/isTestnet.js +9 -0
  168. package/lib/logic/isTestnet.js.map +1 -0
  169. package/lib/logic/isWriteSetChangeWriteResource.d.ts +3 -0
  170. package/lib/logic/isWriteSetChangeWriteResource.d.ts.map +1 -0
  171. package/lib/logic/isWriteSetChangeWriteResource.js +8 -0
  172. package/lib/logic/isWriteSetChangeWriteResource.js.map +1 -0
  173. package/lib/logic/normalizeAddress.d.ts +2 -0
  174. package/lib/logic/normalizeAddress.d.ts.map +1 -0
  175. package/lib/logic/normalizeAddress.js +12 -0
  176. package/lib/logic/normalizeAddress.js.map +1 -0
  177. package/lib/logic/normalizeTransactionOptions.d.ts +3 -0
  178. package/lib/logic/normalizeTransactionOptions.d.ts.map +1 -0
  179. package/lib/logic/normalizeTransactionOptions.js +21 -0
  180. package/lib/logic/normalizeTransactionOptions.js.map +1 -0
  181. package/lib/logic/processRecipients.d.ts +6 -0
  182. package/lib/logic/processRecipients.d.ts.map +1 -0
  183. package/lib/logic/processRecipients.js +58 -0
  184. package/lib/logic/processRecipients.js.map +1 -0
  185. package/lib/logic/transactionsToOperations.d.ts +7 -0
  186. package/lib/logic/transactionsToOperations.d.ts.map +1 -0
  187. package/lib/logic/transactionsToOperations.js +89 -0
  188. package/lib/logic/transactionsToOperations.js.map +1 -0
  189. package/lib/network/client.d.ts +38 -0
  190. package/lib/network/client.d.ts.map +1 -0
  191. package/lib/network/client.js +283 -0
  192. package/lib/network/client.js.map +1 -0
  193. package/lib/network/graphql/queries.d.ts.map +1 -0
  194. package/lib/{api → network}/graphql/queries.js +6 -6
  195. package/lib/network/graphql/queries.js.map +1 -0
  196. package/lib/{api → network}/graphql/types.d.ts +9 -9
  197. package/lib/network/graphql/types.d.ts.map +1 -0
  198. package/lib/{api → network}/graphql/types.js.map +1 -1
  199. package/lib/network/index.d.ts +2 -1
  200. package/lib/network/index.d.ts.map +1 -1
  201. package/lib/network/index.js +19 -7
  202. package/lib/network/index.js.map +1 -1
  203. package/lib/test/bot-specs.d.ts.map +1 -1
  204. package/lib/test/bot-specs.js +40 -1
  205. package/lib/test/bot-specs.js.map +1 -1
  206. package/lib/test/bridgeDatasetTest.d.ts.map +1 -1
  207. package/lib/test/bridgeDatasetTest.js +44 -62
  208. package/lib/test/bridgeDatasetTest.js.map +1 -1
  209. package/lib/test/speculos-deviceActions.d.ts +1 -0
  210. package/lib/test/speculos-deviceActions.d.ts.map +1 -1
  211. package/lib/test/speculos-deviceActions.js +37 -5
  212. package/lib/test/speculos-deviceActions.js.map +1 -1
  213. package/lib/types/assets.d.ts +16 -0
  214. package/lib/types/assets.d.ts.map +1 -0
  215. package/lib/types/assets.js +3 -0
  216. package/lib/types/assets.js.map +1 -0
  217. package/lib/types/index.d.ts +22 -7
  218. package/lib/types/index.d.ts.map +1 -1
  219. package/lib-es/__tests__/api/craftTransaction.unit.test.d.ts +2 -0
  220. package/lib-es/__tests__/api/craftTransaction.unit.test.d.ts.map +1 -0
  221. package/lib-es/__tests__/api/craftTransaction.unit.test.js +185 -0
  222. package/lib-es/__tests__/api/craftTransaction.unit.test.js.map +1 -0
  223. package/lib-es/__tests__/api/getBalance.unit.test.d.ts +2 -0
  224. package/lib-es/__tests__/api/getBalance.unit.test.d.ts.map +1 -0
  225. package/lib-es/__tests__/api/getBalance.unit.test.js +36 -0
  226. package/lib-es/__tests__/api/getBalance.unit.test.js.map +1 -0
  227. package/lib-es/__tests__/api/index.integ.test.d.ts +2 -0
  228. package/lib-es/__tests__/api/index.integ.test.d.ts.map +1 -0
  229. package/lib-es/__tests__/api/index.integ.test.js +317 -0
  230. package/lib-es/__tests__/api/index.integ.test.js.map +1 -0
  231. package/lib-es/__tests__/api/index.test.js +52 -408
  232. package/lib-es/__tests__/api/index.test.js.map +1 -1
  233. package/lib-es/__tests__/bridge/broadcast.test.js +2 -2
  234. package/lib-es/__tests__/bridge/broadcast.test.js.map +1 -1
  235. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +112 -11
  236. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -1
  237. package/lib-es/__tests__/bridge/getTransactionStatus.test.js +177 -39
  238. package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -1
  239. package/lib-es/__tests__/bridge/logic.test.js +703 -479
  240. package/lib-es/__tests__/bridge/logic.test.js.map +1 -1
  241. package/lib-es/__tests__/bridge/prepareTransaction.test.js +2 -2
  242. package/lib-es/__tests__/bridge/prepareTransaction.test.js.map +1 -1
  243. package/lib-es/__tests__/bridge/signOperation.test.js +137 -14
  244. package/lib-es/__tests__/bridge/signOperation.test.js.map +1 -1
  245. package/lib-es/__tests__/bridge/synchronisation.test.js +1213 -69
  246. package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -1
  247. package/lib-es/__tests__/index.test.js +1 -1
  248. package/lib-es/__tests__/index.test.js.map +1 -1
  249. package/lib-es/__tests__/logic/buildTransaction.test.d.ts.map +1 -0
  250. package/lib-es/__tests__/logic/buildTransaction.test.js +109 -0
  251. package/lib-es/__tests__/logic/buildTransaction.test.js.map +1 -0
  252. package/lib-es/__tests__/logic/calculateAmount.unit.test.d.ts +2 -0
  253. package/lib-es/__tests__/logic/calculateAmount.unit.test.d.ts.map +1 -0
  254. package/lib-es/__tests__/logic/calculateAmount.unit.test.js +40 -0
  255. package/lib-es/__tests__/logic/calculateAmount.unit.test.js.map +1 -0
  256. package/lib-es/__tests__/logic/combine.unit.test.d.ts +2 -0
  257. package/lib-es/__tests__/logic/combine.unit.test.d.ts.map +1 -0
  258. package/lib-es/__tests__/logic/combine.unit.test.js +45 -0
  259. package/lib-es/__tests__/logic/combine.unit.test.js.map +1 -0
  260. package/lib-es/__tests__/logic/compareAddress.unit.test.d.ts +2 -0
  261. package/lib-es/__tests__/logic/compareAddress.unit.test.d.ts.map +1 -0
  262. package/lib-es/__tests__/logic/compareAddress.unit.test.js +24 -0
  263. package/lib-es/__tests__/logic/compareAddress.unit.test.js.map +1 -0
  264. package/lib-es/__tests__/logic/createTransaction.test.d.ts.map +1 -0
  265. package/lib-es/__tests__/{bridge → logic}/createTransaction.test.js +2 -2
  266. package/lib-es/__tests__/logic/createTransaction.test.js.map +1 -0
  267. package/lib-es/__tests__/logic/getCoinAndAmounts.unit.test.d.ts +2 -0
  268. package/lib-es/__tests__/logic/getCoinAndAmounts.unit.test.d.ts.map +1 -0
  269. package/lib-es/__tests__/logic/getCoinAndAmounts.unit.test.js +181 -0
  270. package/lib-es/__tests__/logic/getCoinAndAmounts.unit.test.js.map +1 -0
  271. package/lib-es/__tests__/logic/getFunctionAddress.unit.test.d.ts +2 -0
  272. package/lib-es/__tests__/logic/getFunctionAddress.unit.test.d.ts.map +1 -0
  273. package/lib-es/__tests__/logic/getFunctionAddress.unit.test.js +27 -0
  274. package/lib-es/__tests__/logic/getFunctionAddress.unit.test.js.map +1 -0
  275. package/lib-es/__tests__/logic/getResourceAddress.unit.test.d.ts +2 -0
  276. package/lib-es/__tests__/logic/getResourceAddress.unit.test.d.ts.map +1 -0
  277. package/lib-es/__tests__/logic/getResourceAddress.unit.test.js +216 -0
  278. package/lib-es/__tests__/logic/getResourceAddress.unit.test.js.map +1 -0
  279. package/lib-es/__tests__/logic/isTestnet.unit.test.d.ts +2 -0
  280. package/lib-es/__tests__/logic/isTestnet.unit.test.d.ts.map +1 -0
  281. package/lib-es/__tests__/logic/isTestnet.unit.test.js +10 -0
  282. package/lib-es/__tests__/logic/isTestnet.unit.test.js.map +1 -0
  283. package/lib-es/__tests__/logic/normalizeAddress.unit.test.d.ts +2 -0
  284. package/lib-es/__tests__/logic/normalizeAddress.unit.test.d.ts.map +1 -0
  285. package/lib-es/__tests__/logic/normalizeAddress.unit.test.js +10 -0
  286. package/lib-es/__tests__/logic/normalizeAddress.unit.test.js.map +1 -0
  287. package/lib-es/__tests__/logic/processRecipients.unit.test.d.ts +2 -0
  288. package/lib-es/__tests__/logic/processRecipients.unit.test.d.ts.map +1 -0
  289. package/lib-es/__tests__/logic/processRecipients.unit.test.js +74 -0
  290. package/lib-es/__tests__/logic/processRecipients.unit.test.js.map +1 -0
  291. package/lib-es/__tests__/network/client.test.d.ts +2 -0
  292. package/lib-es/__tests__/network/client.test.d.ts.map +1 -0
  293. package/lib-es/__tests__/network/client.test.js +1119 -0
  294. package/lib-es/__tests__/network/client.test.js.map +1 -0
  295. package/lib-es/api/index.d.ts +4 -30
  296. package/lib-es/api/index.d.ts.map +1 -1
  297. package/lib-es/api/index.js +17 -168
  298. package/lib-es/api/index.js.map +1 -1
  299. package/lib-es/bridge/bridge.fixture.d.ts +2 -0
  300. package/lib-es/bridge/bridge.fixture.d.ts.map +1 -1
  301. package/lib-es/bridge/bridge.fixture.js +82 -12
  302. package/lib-es/bridge/bridge.fixture.js.map +1 -1
  303. package/lib-es/bridge/broadcast.d.ts +3 -2
  304. package/lib-es/bridge/broadcast.d.ts.map +1 -1
  305. package/lib-es/bridge/broadcast.js +4 -3
  306. package/lib-es/bridge/broadcast.js.map +1 -1
  307. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -1
  308. package/lib-es/bridge/estimateMaxSpendable.js +4 -3
  309. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
  310. package/lib-es/bridge/getFeesForTransaction.d.ts +1 -1
  311. package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
  312. package/lib-es/bridge/getFeesForTransaction.js +15 -9
  313. package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
  314. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
  315. package/lib-es/bridge/getTransactionStatus.js +28 -14
  316. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  317. package/lib-es/bridge/index.d.ts +1 -1
  318. package/lib-es/bridge/index.d.ts.map +1 -1
  319. package/lib-es/bridge/index.js +1 -1
  320. package/lib-es/bridge/index.js.map +1 -1
  321. package/lib-es/bridge/logic.d.ts +5 -19
  322. package/lib-es/bridge/logic.d.ts.map +1 -1
  323. package/lib-es/bridge/logic.js +44 -134
  324. package/lib-es/bridge/logic.js.map +1 -1
  325. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  326. package/lib-es/bridge/prepareTransaction.js +5 -4
  327. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  328. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  329. package/lib-es/bridge/signOperation.js +19 -5
  330. package/lib-es/bridge/signOperation.js.map +1 -1
  331. package/lib-es/bridge/synchronisation.d.ts +15 -0
  332. package/lib-es/bridge/synchronisation.d.ts.map +1 -1
  333. package/lib-es/bridge/synchronisation.js +124 -4
  334. package/lib-es/bridge/synchronisation.js.map +1 -1
  335. package/lib-es/config.d.ts +13 -0
  336. package/lib-es/config.d.ts.map +1 -0
  337. package/lib-es/config.js +4 -0
  338. package/lib-es/config.js.map +1 -0
  339. package/lib-es/constants.d.ts +13 -2
  340. package/lib-es/constants.d.ts.map +1 -1
  341. package/lib-es/constants.js +13 -1
  342. package/lib-es/constants.js.map +1 -1
  343. package/lib-es/logic/buildTransaction.d.ts +9 -0
  344. package/lib-es/logic/buildTransaction.d.ts.map +1 -0
  345. package/lib-es/logic/buildTransaction.js +43 -0
  346. package/lib-es/logic/buildTransaction.js.map +1 -0
  347. package/lib-es/logic/calculateAmount.d.ts +3 -0
  348. package/lib-es/logic/calculateAmount.d.ts.map +1 -0
  349. package/lib-es/logic/calculateAmount.js +9 -0
  350. package/lib-es/logic/calculateAmount.js.map +1 -0
  351. package/lib-es/logic/combine.d.ts +4 -0
  352. package/lib-es/logic/combine.d.ts.map +1 -0
  353. package/lib-es/logic/combine.js +29 -0
  354. package/lib-es/logic/combine.js.map +1 -0
  355. package/lib-es/logic/craftTransaction.d.ts +5 -0
  356. package/lib-es/logic/craftTransaction.d.ts.map +1 -0
  357. package/lib-es/logic/craftTransaction.js +38 -0
  358. package/lib-es/logic/craftTransaction.js.map +1 -0
  359. package/lib-es/logic/createTransaction.d.ts.map +1 -0
  360. package/lib-es/{bridge → logic}/createTransaction.js +1 -1
  361. package/lib-es/logic/createTransaction.js.map +1 -0
  362. package/lib-es/logic/getBalance.d.ts +5 -0
  363. package/lib-es/logic/getBalance.d.ts.map +1 -0
  364. package/lib-es/logic/getBalance.js +8 -0
  365. package/lib-es/logic/getBalance.js.map +1 -0
  366. package/lib-es/logic/getCoinAndAmounts.d.ts +13 -0
  367. package/lib-es/logic/getCoinAndAmounts.d.ts.map +1 -0
  368. package/lib-es/logic/getCoinAndAmounts.js +101 -0
  369. package/lib-es/logic/getCoinAndAmounts.js.map +1 -0
  370. package/lib-es/logic/getFunctionAddress.d.ts +3 -0
  371. package/lib-es/logic/getFunctionAddress.d.ts.map +1 -0
  372. package/lib-es/logic/getFunctionAddress.js +8 -0
  373. package/lib-es/logic/getFunctionAddress.js.map +1 -0
  374. package/lib-es/logic/getResourceAddress.d.ts +4 -0
  375. package/lib-es/logic/getResourceAddress.d.ts.map +1 -0
  376. package/lib-es/logic/getResourceAddress.js +13 -0
  377. package/lib-es/logic/getResourceAddress.js.map +1 -0
  378. package/lib-es/logic/isTestnet.d.ts +2 -0
  379. package/lib-es/logic/isTestnet.d.ts.map +1 -0
  380. package/lib-es/logic/isTestnet.js +5 -0
  381. package/lib-es/logic/isTestnet.js.map +1 -0
  382. package/lib-es/logic/isWriteSetChangeWriteResource.d.ts +3 -0
  383. package/lib-es/logic/isWriteSetChangeWriteResource.d.ts.map +1 -0
  384. package/lib-es/logic/isWriteSetChangeWriteResource.js +4 -0
  385. package/lib-es/logic/isWriteSetChangeWriteResource.js.map +1 -0
  386. package/lib-es/logic/normalizeAddress.d.ts +2 -0
  387. package/lib-es/logic/normalizeAddress.d.ts.map +1 -0
  388. package/lib-es/logic/normalizeAddress.js +8 -0
  389. package/lib-es/logic/normalizeAddress.js.map +1 -0
  390. package/lib-es/logic/normalizeTransactionOptions.d.ts +3 -0
  391. package/lib-es/logic/normalizeTransactionOptions.d.ts.map +1 -0
  392. package/lib-es/logic/normalizeTransactionOptions.js +17 -0
  393. package/lib-es/logic/normalizeTransactionOptions.js.map +1 -0
  394. package/lib-es/logic/processRecipients.d.ts +6 -0
  395. package/lib-es/logic/processRecipients.d.ts.map +1 -0
  396. package/lib-es/logic/processRecipients.js +54 -0
  397. package/lib-es/logic/processRecipients.js.map +1 -0
  398. package/lib-es/logic/transactionsToOperations.d.ts +7 -0
  399. package/lib-es/logic/transactionsToOperations.d.ts.map +1 -0
  400. package/lib-es/logic/transactionsToOperations.js +81 -0
  401. package/lib-es/logic/transactionsToOperations.js.map +1 -0
  402. package/lib-es/network/client.d.ts +38 -0
  403. package/lib-es/network/client.d.ts.map +1 -0
  404. package/lib-es/network/client.js +276 -0
  405. package/lib-es/network/client.js.map +1 -0
  406. package/lib-es/network/graphql/queries.d.ts.map +1 -0
  407. package/lib-es/{api → network}/graphql/queries.js +6 -6
  408. package/lib-es/network/graphql/queries.js.map +1 -0
  409. package/lib-es/{api → network}/graphql/types.d.ts +9 -9
  410. package/lib-es/network/graphql/types.d.ts.map +1 -0
  411. package/lib-es/{api → network}/graphql/types.js.map +1 -1
  412. package/lib-es/network/index.d.ts +2 -1
  413. package/lib-es/network/index.d.ts.map +1 -1
  414. package/lib-es/network/index.js +6 -8
  415. package/lib-es/network/index.js.map +1 -1
  416. package/lib-es/test/bot-specs.d.ts.map +1 -1
  417. package/lib-es/test/bot-specs.js +41 -2
  418. package/lib-es/test/bot-specs.js.map +1 -1
  419. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -1
  420. package/lib-es/test/bridgeDatasetTest.js +44 -59
  421. package/lib-es/test/bridgeDatasetTest.js.map +1 -1
  422. package/lib-es/test/speculos-deviceActions.d.ts +1 -0
  423. package/lib-es/test/speculos-deviceActions.d.ts.map +1 -1
  424. package/lib-es/test/speculos-deviceActions.js +36 -4
  425. package/lib-es/test/speculos-deviceActions.js.map +1 -1
  426. package/lib-es/types/assets.d.ts +16 -0
  427. package/lib-es/types/assets.d.ts.map +1 -0
  428. package/lib-es/types/assets.js +2 -0
  429. package/lib-es/types/assets.js.map +1 -0
  430. package/lib-es/types/index.d.ts +22 -7
  431. package/lib-es/types/index.d.ts.map +1 -1
  432. package/package.json +16 -13
  433. package/src/__tests__/api/craftTransaction.unit.test.ts +243 -0
  434. package/src/__tests__/api/getBalance.unit.test.ts +44 -0
  435. package/src/__tests__/api/index.integ.test.ts +401 -0
  436. package/src/__tests__/api/index.test.ts +60 -477
  437. package/src/__tests__/bridge/broadcast.test.ts +2 -2
  438. package/src/__tests__/bridge/getFeesForTransaction.test.ts +146 -11
  439. package/src/__tests__/bridge/getTransactionStatus.test.ts +217 -38
  440. package/src/__tests__/bridge/logic.test.ts +728 -569
  441. package/src/__tests__/bridge/prepareTransaction.test.ts +2 -2
  442. package/src/__tests__/bridge/signOperation.test.ts +153 -15
  443. package/src/__tests__/bridge/synchronisation.test.ts +1265 -71
  444. package/src/__tests__/index.test.ts +1 -1
  445. package/src/__tests__/logic/buildTransaction.test.ts +150 -0
  446. package/src/__tests__/logic/calculateAmount.unit.test.ts +51 -0
  447. package/src/__tests__/logic/combine.unit.test.ts +65 -0
  448. package/src/__tests__/logic/compareAddress.unit.test.ts +27 -0
  449. package/src/__tests__/{bridge → logic}/createTransaction.test.ts +2 -2
  450. package/src/__tests__/logic/getCoinAndAmounts.unit.test.ts +195 -0
  451. package/src/__tests__/logic/getFunctionAddress.unit.test.ts +33 -0
  452. package/src/__tests__/logic/getResourceAddress.unit.test.ts +241 -0
  453. package/src/__tests__/logic/isTestnet.unit.test.ts +11 -0
  454. package/src/__tests__/logic/normalizeAddress.unit.test.ts +15 -0
  455. package/src/__tests__/logic/processRecipients.unit.test.ts +95 -0
  456. package/src/__tests__/network/client.test.ts +1257 -0
  457. package/src/api/index.ts +29 -224
  458. package/src/bridge/bridge.fixture.ts +91 -12
  459. package/src/bridge/broadcast.ts +7 -7
  460. package/src/bridge/estimateMaxSpendable.ts +4 -3
  461. package/src/bridge/getFeesForTransaction.ts +17 -11
  462. package/src/bridge/getTransactionStatus.ts +35 -13
  463. package/src/bridge/index.ts +2 -2
  464. package/src/bridge/logic.ts +58 -194
  465. package/src/bridge/prepareTransaction.ts +7 -4
  466. package/src/bridge/signOperation.ts +21 -5
  467. package/src/bridge/synchronisation.ts +171 -4
  468. package/src/config.ts +19 -0
  469. package/src/constants.ts +22 -2
  470. package/src/logic/buildTransaction.ts +70 -0
  471. package/src/logic/calculateAmount.ts +15 -0
  472. package/src/logic/combine.ts +51 -0
  473. package/src/logic/craftTransaction.ts +65 -0
  474. package/src/{bridge → logic}/createTransaction.ts +1 -1
  475. package/src/logic/getBalance.ts +15 -0
  476. package/src/logic/getCoinAndAmounts.ts +141 -0
  477. package/src/logic/getFunctionAddress.ts +9 -0
  478. package/src/logic/getResourceAddress.ts +24 -0
  479. package/src/logic/isTestnet.ts +5 -0
  480. package/src/logic/isWriteSetChangeWriteResource.ts +7 -0
  481. package/src/logic/normalizeAddress.ts +8 -0
  482. package/src/logic/normalizeTransactionOptions.ts +18 -0
  483. package/src/logic/processRecipients.ts +88 -0
  484. package/src/logic/transactionsToOperations.ts +106 -0
  485. package/src/network/client.ts +374 -0
  486. package/src/{api → network}/graphql/queries.ts +6 -6
  487. package/src/{api → network}/graphql/types.ts +9 -9
  488. package/src/network/index.ts +6 -14
  489. package/src/test/bot-specs.ts +63 -3
  490. package/src/test/bridgeDatasetTest.ts +46 -59
  491. package/src/test/speculos-deviceActions.ts +40 -4
  492. package/src/types/assets.ts +20 -0
  493. package/src/types/index.ts +20 -1
  494. package/lib/__tests__/bridge/buildTransaction.test.d.ts.map +0 -1
  495. package/lib/__tests__/bridge/buildTransaction.test.js +0 -53
  496. package/lib/__tests__/bridge/buildTransaction.test.js.map +0 -1
  497. package/lib/__tests__/bridge/createTransaction.test.d.ts.map +0 -1
  498. package/lib/__tests__/bridge/createTransaction.test.js.map +0 -1
  499. package/lib/api/graphql/queries.d.ts.map +0 -1
  500. package/lib/api/graphql/queries.js.map +0 -1
  501. package/lib/api/graphql/types.d.ts.map +0 -1
  502. package/lib/bridge/buildTransaction.d.ts +0 -7
  503. package/lib/bridge/buildTransaction.d.ts.map +0 -1
  504. package/lib/bridge/buildTransaction.js +0 -19
  505. package/lib/bridge/buildTransaction.js.map +0 -1
  506. package/lib/bridge/createTransaction.d.ts.map +0 -1
  507. package/lib/bridge/createTransaction.js.map +0 -1
  508. package/lib-es/__tests__/bridge/buildTransaction.test.d.ts.map +0 -1
  509. package/lib-es/__tests__/bridge/buildTransaction.test.js +0 -48
  510. package/lib-es/__tests__/bridge/buildTransaction.test.js.map +0 -1
  511. package/lib-es/__tests__/bridge/createTransaction.test.d.ts.map +0 -1
  512. package/lib-es/__tests__/bridge/createTransaction.test.js.map +0 -1
  513. package/lib-es/api/graphql/queries.d.ts.map +0 -1
  514. package/lib-es/api/graphql/queries.js.map +0 -1
  515. package/lib-es/api/graphql/types.d.ts.map +0 -1
  516. package/lib-es/bridge/buildTransaction.d.ts +0 -7
  517. package/lib-es/bridge/buildTransaction.d.ts.map +0 -1
  518. package/lib-es/bridge/buildTransaction.js +0 -17
  519. package/lib-es/bridge/buildTransaction.js.map +0 -1
  520. package/lib-es/bridge/createTransaction.d.ts.map +0 -1
  521. package/lib-es/bridge/createTransaction.js.map +0 -1
  522. package/src/__tests__/bridge/buildTransaction.test.ts +0 -61
  523. package/src/bridge/buildTransaction.ts +0 -29
  524. /package/lib/__tests__/{bridge → logic}/buildTransaction.test.d.ts +0 -0
  525. /package/lib/__tests__/{bridge → logic}/createTransaction.test.d.ts +0 -0
  526. /package/lib/{bridge → logic}/createTransaction.d.ts +0 -0
  527. /package/lib/{api → network}/graphql/queries.d.ts +0 -0
  528. /package/lib/{api → network}/graphql/types.js +0 -0
  529. /package/lib-es/__tests__/{bridge → logic}/buildTransaction.test.d.ts +0 -0
  530. /package/lib-es/__tests__/{bridge → logic}/createTransaction.test.d.ts +0 -0
  531. /package/lib-es/{bridge → logic}/createTransaction.d.ts +0 -0
  532. /package/lib-es/{api → network}/graphql/queries.d.ts +0 -0
  533. /package/lib-es/{api → network}/graphql/types.js +0 -0
@@ -0,0 +1,44 @@
1
+ import { AptosAPI } from "../../network";
2
+ import { getBalance } from "../../logic/getBalance";
3
+ import { APTOS_ASSET_ID } from "../../constants";
4
+ import BigNumber from "bignumber.js";
5
+
6
+ jest.mock("../../network", () => {
7
+ return {
8
+ AptosAPI: jest.fn().mockImplementation(() => ({
9
+ getBalances: jest.fn(),
10
+ })),
11
+ };
12
+ });
13
+
14
+ describe("getBalance", () => {
15
+ let mockGetBalances: jest.Mock;
16
+
17
+ beforeEach(() => {
18
+ jest.clearAllMocks();
19
+
20
+ mockGetBalances = jest
21
+ .fn()
22
+ .mockResolvedValue([{ asset_type: APTOS_ASSET_ID, amount: BigNumber(10) }]);
23
+
24
+ (AptosAPI as jest.Mock).mockImplementation(() => ({
25
+ getBalances: mockGetBalances,
26
+ }));
27
+ });
28
+
29
+ afterEach(() => {
30
+ jest.clearAllMocks();
31
+ });
32
+
33
+ it("should returns balance with value 10", async () => {
34
+ mockGetBalances.mockResolvedValue([{ asset_type: APTOS_ASSET_ID, amount: new BigNumber(10) }]);
35
+
36
+ const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
37
+ const client = new AptosAPI("aptos");
38
+ const balance = await getBalance(client, accountAddress);
39
+
40
+ expect(balance).toBeDefined();
41
+ expect(balance).toMatchObject([{ value: BigInt(10), asset: { type: "native" } }]);
42
+ expect(mockGetBalances).toHaveBeenCalledWith(accountAddress);
43
+ });
44
+ });
@@ -0,0 +1,401 @@
1
+ import { Deserializer, Hex, Network, RawTransaction } from "@aptos-labs/ts-sdk";
2
+ import { createApi } from "../../api";
3
+ import { getEnv } from "@ledgerhq/live-env";
4
+ import type { AptosSender } from "../../types/assets";
5
+ import { DEFAULT_GAS, DEFAULT_GAS_PRICE } from "../../constants";
6
+
7
+ describe("createApi", () => {
8
+ const api = createApi({
9
+ aptosSettings: {
10
+ network: Network.MAINNET,
11
+ fullnode: getEnv("APTOS_API_ENDPOINT"),
12
+ indexer: getEnv("APTOS_INDEXER_ENDPOINT"),
13
+ },
14
+ });
15
+
16
+ const sender: AptosSender = {
17
+ xpub: "0x934887885b27a0407bf8a5e0bbc6b6371254bea94de5510e948bcc92dc0a519b",
18
+ freshAddress: "0x0ef3b40f6ecd5583218d1985e0d54b54e8785ad2ec2d27ed1720ec16bb11686f",
19
+ };
20
+
21
+ const recipient: AptosSender = {
22
+ xpub: "0x7fd6bfaac17c2c763f624b1f95cd4911e3646a5b777b03cc24f93ed0ac3f3e2b",
23
+ freshAddress: "0x4859a161dfe13081cf5a5eac409cd38f707c06176a21ddc875260c2ce63f3a28",
24
+ };
25
+
26
+ const tokenAccount: AptosSender = {
27
+ xpub: "0xeacada8192f15185637e475d7783e14486e232d8b9978ffa127383847ffc5318",
28
+ freshAddress: "0xb8922507317d85197d70c2bc1afc949c759fd0a62c8841a4300d1e2b63649bf6",
29
+ };
30
+
31
+ describe("lastBlock", () => {
32
+ it("returns the last block information", async () => {
33
+ const lastBlock = await api.lastBlock();
34
+ expect(lastBlock).toHaveProperty("hash");
35
+ expect(Hex.isValid(lastBlock.hash ?? "").valid).toBeTruthy();
36
+
37
+ expect(lastBlock).toHaveProperty("height");
38
+ expect(lastBlock.height).toBeGreaterThan(0);
39
+
40
+ const time = lastBlock.time as Date;
41
+
42
+ expect(lastBlock).toHaveProperty("time");
43
+ expect(lastBlock.time).toBeDefined();
44
+ expect(time.getFullYear()).toBeGreaterThan(0);
45
+ expect(time.getMonth() + 1).toBeGreaterThan(0);
46
+ expect(time.getDay() + 1).toBeGreaterThan(0);
47
+ });
48
+ });
49
+
50
+ describe("estimateFees", () => {
51
+ it("returns fee for a native asset", async () => {
52
+ const amount = BigInt(100);
53
+
54
+ const fees = await api.estimateFees({
55
+ asset: {
56
+ type: "native",
57
+ },
58
+ type: "send",
59
+ sender,
60
+ amount,
61
+ recipient: recipient.freshAddress,
62
+ });
63
+
64
+ expect(fees.value).toBeGreaterThanOrEqual(0);
65
+ });
66
+
67
+ it("returns fee for a token coin", async () => {
68
+ const amount = BigInt(100);
69
+
70
+ const fees = await api.estimateFees({
71
+ asset: {
72
+ type: "token",
73
+ standard: "coin",
74
+ contractAddress:
75
+ "0x50788befc1107c0cc4473848a92e5c783c635866ce3c98de71d2eeb7d2a34f85::usdc_coin::USDCoin",
76
+ },
77
+ type: "send",
78
+ sender,
79
+ amount,
80
+ recipient: recipient.freshAddress,
81
+ });
82
+
83
+ expect(fees.value).toBeGreaterThanOrEqual(0);
84
+ });
85
+
86
+ it("returns fee for a token FA", async () => {
87
+ const amount = BigInt(100);
88
+
89
+ const fees = await api.estimateFees({
90
+ asset: {
91
+ type: "token",
92
+ standard: "fungible_asset",
93
+ contractAddress: "0x357b0b74bc833e95a115ad22604854d6b0fca151cecd94111770e5d6ffc9dc2b",
94
+ },
95
+ type: "send",
96
+ sender,
97
+ amount,
98
+ recipient: recipient.freshAddress,
99
+ });
100
+
101
+ expect(fees.value).toBeGreaterThanOrEqual(0);
102
+ });
103
+ });
104
+
105
+ describe("craftTransaction", () => {
106
+ it("returns a native coin RawTransaction serialized into an hexadecimal string", async () => {
107
+ const hex = await api.craftTransaction(
108
+ {
109
+ amount: 1n,
110
+ sender: sender,
111
+ recipient: recipient.freshAddress,
112
+ type: "send",
113
+ asset: { type: "native" },
114
+ },
115
+ 0n,
116
+ );
117
+
118
+ const rawTx = RawTransaction.deserialize(
119
+ new Deserializer(Hex.fromHexString(hex).toUint8Array()),
120
+ );
121
+
122
+ expect(rawTx.sender.toString()).toBe(sender.freshAddress);
123
+ expect(rawTx.gas_unit_price.toString()).toBe(DEFAULT_GAS_PRICE.toString());
124
+ expect(rawTx.max_gas_amount.toString()).toBe(DEFAULT_GAS.toString());
125
+ });
126
+
127
+ it("returns a coin token RawTransaction serialized into an hexadecimal string", async () => {
128
+ const hex = await api.craftTransaction(
129
+ {
130
+ amount: 1n,
131
+ sender: sender,
132
+ recipient: recipient.freshAddress,
133
+ type: "send",
134
+ asset: {
135
+ type: "token",
136
+ standard: "coin",
137
+ contractAddress:
138
+ "0x50788befc1107c0cc4473848a92e5c783c635866ce3c98de71d2eeb7d2a34f85::aptos_coin::AptosCoin",
139
+ },
140
+ },
141
+ 0n,
142
+ );
143
+
144
+ const rawTx = RawTransaction.deserialize(
145
+ new Deserializer(Hex.fromHexString(hex).toUint8Array()),
146
+ );
147
+
148
+ expect(rawTx.sender.toString()).toBe(sender.freshAddress);
149
+ expect(rawTx.gas_unit_price.toString()).toBe(DEFAULT_GAS_PRICE.toString());
150
+ expect(rawTx.max_gas_amount.toString()).toBe(DEFAULT_GAS.toString());
151
+ });
152
+
153
+ it("returns a use-all-amount coin token RawTransaction serialized into an hexadecimal string", async () => {
154
+ const hex = await api.craftTransaction(
155
+ {
156
+ amount: 0n,
157
+ sender: sender,
158
+ recipient: recipient.freshAddress,
159
+ type: "send",
160
+ asset: {
161
+ type: "token",
162
+ standard: "coin",
163
+ contractAddress:
164
+ "0x50788befc1107c0cc4473848a92e5c783c635866ce3c98de71d2eeb7d2a34f85::aptos_coin::AptosCoin",
165
+ },
166
+ },
167
+ 0n,
168
+ );
169
+
170
+ const rawTx = RawTransaction.deserialize(
171
+ new Deserializer(Hex.fromHexString(hex).toUint8Array()),
172
+ );
173
+
174
+ expect(rawTx.sender.toString()).toBe(sender.freshAddress);
175
+ expect(rawTx.gas_unit_price.toString()).toBe(DEFAULT_GAS_PRICE.toString());
176
+ expect(rawTx.max_gas_amount.toString()).toBe(DEFAULT_GAS.toString());
177
+ });
178
+
179
+ it("returns a use-all-amount fungible_asset token RawTransaction serialized into an hexadecimal string", async () => {
180
+ const r = sender;
181
+ const s = recipient; // recipient contains fungible_assets balances
182
+ const hex = await api.craftTransaction(
183
+ {
184
+ amount: 0n,
185
+ sender: s,
186
+ recipient: r.freshAddress,
187
+ type: "send",
188
+ asset: {
189
+ type: "token",
190
+ standard: "fungible_asset",
191
+ contractAddress: "0x2ebb2ccac5e027a87fa0e2e5f656a3a4238d6a48d93ec9b610d570fc0aa0df12",
192
+ },
193
+ },
194
+ 0n,
195
+ );
196
+
197
+ const rawTx = RawTransaction.deserialize(
198
+ new Deserializer(Hex.fromHexString(hex).toUint8Array()),
199
+ );
200
+
201
+ expect(rawTx.sender.toString()).toBe(s.freshAddress);
202
+ expect(rawTx.gas_unit_price.toString()).toBe(DEFAULT_GAS_PRICE.toString());
203
+ expect(rawTx.max_gas_amount.toString()).toBe(DEFAULT_GAS.toString());
204
+ });
205
+ });
206
+
207
+ describe("getBalance", () => {
208
+ it("return balances from account", async () => {
209
+ const balances = await api.getBalance(sender.freshAddress);
210
+
211
+ expect(balances.length).toBeGreaterThan(0);
212
+ expect(balances[0].value).toBeGreaterThanOrEqual(0);
213
+ });
214
+ });
215
+
216
+ describe("listOperations", () => {
217
+ it("returns operations from account", async () => {
218
+ const block = await api.lastBlock();
219
+
220
+ const [operations] = await api.listOperations(sender.freshAddress, {
221
+ minHeight: block.height,
222
+ });
223
+
224
+ expect(operations).toBeInstanceOf(Array);
225
+ expect(operations.length).toBeGreaterThanOrEqual(2);
226
+
227
+ const txINHash = "0xe1987b67878faff326a179d59ab0f5df89cc10cdcbccab1147b52735579832a5";
228
+ const txOUTHash = "0xee3866ab35797a39102aeff6bdeb70d3d4df65adedf9efedfddad88f27dc6fa4";
229
+
230
+ const operationIN = operations.find(operation => operation.id === txINHash);
231
+ const operationOUT = operations.find(operation => operation.id === txOUTHash);
232
+
233
+ expect(operationIN).toMatchObject({
234
+ type: "IN",
235
+ value: 11000000n,
236
+ recipients: [sender.freshAddress],
237
+ senders: ["0x24dbf71ba20209753035505c51d4607ed67aa0c81b930d9ef4483ec84b349fcb"],
238
+ asset: { type: "native" },
239
+ tx: {
240
+ hash: "0xe1987b67878faff326a179d59ab0f5df89cc10cdcbccab1147b52735579832a5",
241
+ block: { height: 0 },
242
+ fees: 99900n,
243
+ date: new Date("2025-05-29T13:16:30.763Z"),
244
+ },
245
+ });
246
+
247
+ expect(operationOUT).toMatchObject({
248
+ type: "OUT",
249
+ value: 2000000n,
250
+ recipients: ["0x4859a161dfe13081cf5a5eac409cd38f707c06176a21ddc875260c2ce63f3a28"],
251
+ senders: [sender.freshAddress],
252
+ asset: { type: "native" },
253
+ tx: {
254
+ hash: "0xee3866ab35797a39102aeff6bdeb70d3d4df65adedf9efedfddad88f27dc6fa4",
255
+ block: { height: 0 },
256
+ fees: 1100n,
257
+ date: new Date("2025-05-29T13:39:28.702Z"),
258
+ },
259
+ });
260
+ });
261
+ });
262
+
263
+ describe("listOperationsTokens", () => {
264
+ it("returns operations from account", async () => {
265
+ const block = await api.lastBlock();
266
+
267
+ const [operations] = await api.listOperations(tokenAccount.freshAddress, {
268
+ minHeight: block.height,
269
+ });
270
+
271
+ expect(operations).toBeInstanceOf(Array);
272
+ expect(operations.length).toBeGreaterThanOrEqual(1);
273
+
274
+ const txINNativeHash = "0xd841b502ce333e5b9ac394db81e6597d9bbbe475e5b12966b98b843d91cc0a09";
275
+ const txOUTNativeHash = "0xb1114396c5b6f2f5ba955fa8e4102d0e3983d5ccdb0717ff792f6e4848e72366";
276
+
277
+ const txINLegacyCoinHash =
278
+ "0x6869c933396d976af85b273a825fe264a910d0064fe28ce97285073b9e5306bb";
279
+ const txOUTLegacyCoinHash =
280
+ "0xa720db7fe6327b1db23e778df5856ab1d8785d7e8edae98941a3f6e05fa58ddd";
281
+
282
+ const txINFungibleAssetHash =
283
+ "0x88856968603dee4f08579036bc30322b9a5f329561656888e3467ce27cc11ea7";
284
+ const txOUTFungibleAssetHash =
285
+ "0x8aa9e980760fe8aeb6804f387350b3019a2471aa61a5506a260c32cd5d6db32c";
286
+
287
+ const operationIN = operations.find(operation => operation.id === txINNativeHash);
288
+ const operationOUT = operations.find(operation => operation.id === txOUTNativeHash);
289
+
290
+ expect(operationIN).toMatchObject({
291
+ type: "IN",
292
+ value: 1000000n,
293
+ recipients: [tokenAccount.freshAddress],
294
+ senders: ["0x24dbf71ba20209753035505c51d4607ed67aa0c81b930d9ef4483ec84b349fcb"],
295
+ asset: { type: "native" },
296
+ tx: {
297
+ hash: "0xd841b502ce333e5b9ac394db81e6597d9bbbe475e5b12966b98b843d91cc0a09",
298
+ block: { height: 0 },
299
+ fees: 99900n,
300
+ date: new Date("2025-05-29T18:32:11.515Z"),
301
+ },
302
+ });
303
+
304
+ expect(operationOUT).toMatchObject({
305
+ type: "OUT",
306
+ value: 951100n,
307
+ recipients: ["0x24dbf71ba20209753035505c51d4607ed67aa0c81b930d9ef4483ec84b349fcb"],
308
+ senders: [tokenAccount.freshAddress],
309
+ asset: { type: "native" },
310
+ tx: {
311
+ hash: "0xb1114396c5b6f2f5ba955fa8e4102d0e3983d5ccdb0717ff792f6e4848e72366",
312
+ block: { height: 0 },
313
+ fees: 1100n,
314
+ date: new Date("2025-05-29T18:39:57.864Z"),
315
+ },
316
+ });
317
+
318
+ const coinIN = operations.find(operation => operation.id === txINLegacyCoinHash);
319
+ const coinOUT = operations.find(operation => operation.id === txOUTLegacyCoinHash);
320
+
321
+ expect(coinIN).toMatchObject({
322
+ type: "IN",
323
+ value: 2000000n,
324
+ recipients: [tokenAccount.freshAddress],
325
+ senders: ["0x24dbf71ba20209753035505c51d4607ed67aa0c81b930d9ef4483ec84b349fcb"],
326
+ asset: {
327
+ type: "token",
328
+ standard: "coin",
329
+ contractAddress:
330
+ "0xd11107bdf0d6d7040c6c0bfbdecb6545191fdf13e8d8d259952f53e1713f61b5::staked_coin::StakedAptos",
331
+ },
332
+ tx: {
333
+ hash: "0x6869c933396d976af85b273a825fe264a910d0064fe28ce97285073b9e5306bb",
334
+ block: { height: 0 },
335
+ fees: 51100n,
336
+ date: new Date("2025-05-29T18:32:58.804Z"),
337
+ },
338
+ });
339
+
340
+ expect(coinOUT).toMatchObject({
341
+ type: "OUT",
342
+ value: 1000000n,
343
+ recipients: ["0x24dbf71ba20209753035505c51d4607ed67aa0c81b930d9ef4483ec84b349fcb"],
344
+ senders: [tokenAccount.freshAddress],
345
+ asset: {
346
+ type: "token",
347
+ standard: "coin",
348
+ contractAddress:
349
+ "0xd11107bdf0d6d7040c6c0bfbdecb6545191fdf13e8d8d259952f53e1713f61b5::staked_coin::StakedAptos",
350
+ },
351
+ tx: {
352
+ hash: "0xa720db7fe6327b1db23e778df5856ab1d8785d7e8edae98941a3f6e05fa58ddd",
353
+ block: { height: 0 },
354
+ fees: 1200n,
355
+ date: new Date("2025-05-29T18:38:08.283Z"),
356
+ },
357
+ });
358
+
359
+ const fungibleAssetIN = operations.find(operation => operation.id === txINFungibleAssetHash);
360
+ const fungibleAssetOUT = operations.find(
361
+ operation => operation.id === txOUTFungibleAssetHash,
362
+ );
363
+
364
+ expect(fungibleAssetIN).toMatchObject({
365
+ type: "IN",
366
+ value: 1750n,
367
+ recipients: [tokenAccount.freshAddress],
368
+ senders: ["0x24dbf71ba20209753035505c51d4607ed67aa0c81b930d9ef4483ec84b349fcb"],
369
+ asset: {
370
+ type: "token",
371
+ standard: "fungible_asset",
372
+ contractAddress: "0x2ebb2ccac5e027a87fa0e2e5f656a3a4238d6a48d93ec9b610d570fc0aa0df12",
373
+ },
374
+ tx: {
375
+ hash: "0x88856968603dee4f08579036bc30322b9a5f329561656888e3467ce27cc11ea7",
376
+ block: { height: 0 },
377
+ fees: 54300n,
378
+ date: new Date("2025-05-29T18:33:58.097Z"),
379
+ },
380
+ });
381
+
382
+ expect(fungibleAssetOUT).toMatchObject({
383
+ type: "OUT",
384
+ value: 1000n,
385
+ recipients: ["0x24dbf71ba20209753035505c51d4607ed67aa0c81b930d9ef4483ec84b349fcb"],
386
+ senders: [tokenAccount.freshAddress],
387
+ asset: {
388
+ type: "token",
389
+ standard: "fungible_asset",
390
+ contractAddress: "0x2ebb2ccac5e027a87fa0e2e5f656a3a4238d6a48d93ec9b610d570fc0aa0df12",
391
+ },
392
+ tx: {
393
+ hash: "0x8aa9e980760fe8aeb6804f387350b3019a2471aa61a5506a260c32cd5d6db32c",
394
+ block: { height: 0 },
395
+ fees: 1000n,
396
+ date: new Date("2025-05-29T18:38:56.897Z"),
397
+ },
398
+ });
399
+ });
400
+ });
401
+ });