@ledgerhq/coin-sui 0.16.0-nightly.9 → 0.16.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 (286) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +32 -78
  3. package/lib/api/index.integration.test.d.ts +2 -0
  4. package/lib/api/index.integration.test.d.ts.map +1 -0
  5. package/lib/api/index.integration.test.js +173 -0
  6. package/lib/api/index.integration.test.js.map +1 -0
  7. package/lib/api/index.test.d.ts +2 -0
  8. package/lib/api/index.test.d.ts.map +1 -0
  9. package/lib/api/index.test.js +173 -0
  10. package/lib/api/index.test.js.map +1 -0
  11. package/lib/bridge/bridge.integration.test.d.ts +4 -0
  12. package/lib/bridge/bridge.integration.test.d.ts.map +1 -0
  13. package/lib/bridge/bridge.integration.test.js +145 -0
  14. package/lib/bridge/bridge.integration.test.js.map +1 -0
  15. package/lib/bridge/broadcast.test.d.ts +2 -0
  16. package/lib/bridge/broadcast.test.d.ts.map +1 -0
  17. package/lib/bridge/broadcast.test.js +48 -0
  18. package/lib/bridge/broadcast.test.js.map +1 -0
  19. package/lib/bridge/buildOptimisticOperation.test.d.ts +2 -0
  20. package/lib/bridge/buildOptimisticOperation.test.d.ts.map +1 -0
  21. package/lib/bridge/buildOptimisticOperation.test.js +52 -0
  22. package/lib/bridge/buildOptimisticOperation.test.js.map +1 -0
  23. package/lib/bridge/buildTransaction.integration.test.d.ts +2 -0
  24. package/lib/bridge/buildTransaction.integration.test.d.ts.map +1 -0
  25. package/lib/bridge/buildTransaction.integration.test.js +72 -0
  26. package/lib/bridge/buildTransaction.integration.test.js.map +1 -0
  27. package/lib/bridge/buildTransaction.test.d.ts +2 -0
  28. package/lib/bridge/buildTransaction.test.d.ts.map +1 -0
  29. package/lib/bridge/buildTransaction.test.js +231 -0
  30. package/lib/bridge/buildTransaction.test.js.map +1 -0
  31. package/lib/bridge/estimateMaxSpendable.test.d.ts +2 -0
  32. package/lib/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  33. package/lib/bridge/estimateMaxSpendable.test.js +52 -0
  34. package/lib/bridge/estimateMaxSpendable.test.js.map +1 -0
  35. package/lib/bridge/formatters.test.d.ts +2 -0
  36. package/lib/bridge/formatters.test.d.ts.map +1 -0
  37. package/lib/bridge/formatters.test.js +18 -0
  38. package/lib/bridge/formatters.test.js.map +1 -0
  39. package/lib/bridge/getFeesForTransaction.test.d.ts +2 -0
  40. package/lib/bridge/getFeesForTransaction.test.d.ts.map +1 -0
  41. package/lib/bridge/getFeesForTransaction.test.js +35 -0
  42. package/lib/bridge/getFeesForTransaction.test.js.map +1 -0
  43. package/lib/bridge/getTransactionStatus.test.d.ts +2 -0
  44. package/lib/bridge/getTransactionStatus.test.d.ts.map +1 -0
  45. package/lib/bridge/getTransactionStatus.test.js +69 -0
  46. package/lib/bridge/getTransactionStatus.test.js.map +1 -0
  47. package/lib/bridge/index.test.d.ts +2 -0
  48. package/lib/bridge/index.test.d.ts.map +1 -0
  49. package/lib/bridge/index.test.js +265 -0
  50. package/lib/bridge/index.test.js.map +1 -0
  51. package/lib/bridge/preload.test.d.ts +2 -0
  52. package/lib/bridge/preload.test.d.ts.map +1 -0
  53. package/lib/bridge/preload.test.js +52 -0
  54. package/lib/bridge/preload.test.js.map +1 -0
  55. package/lib/bridge/prepareTransaction.test.d.ts +2 -0
  56. package/lib/bridge/prepareTransaction.test.d.ts.map +1 -0
  57. package/lib/bridge/prepareTransaction.test.js +97 -0
  58. package/lib/bridge/prepareTransaction.test.js.map +1 -0
  59. package/lib/bridge/serialization.test.d.ts +2 -0
  60. package/lib/bridge/serialization.test.d.ts.map +1 -0
  61. package/lib/bridge/serialization.test.js +131 -0
  62. package/lib/bridge/serialization.test.js.map +1 -0
  63. package/lib/bridge/signOperation.integration.test.d.ts +2 -0
  64. package/lib/bridge/signOperation.integration.test.d.ts.map +1 -0
  65. package/lib/bridge/signOperation.integration.test.js +80 -0
  66. package/lib/bridge/signOperation.integration.test.js.map +1 -0
  67. package/lib/bridge/signOperation.test.d.ts +2 -0
  68. package/lib/bridge/signOperation.test.d.ts.map +1 -0
  69. package/lib/bridge/signOperation.test.js +445 -0
  70. package/lib/bridge/signOperation.test.js.map +1 -0
  71. package/lib/bridge/synchronisation.test.d.ts +2 -0
  72. package/lib/bridge/synchronisation.test.d.ts.map +1 -0
  73. package/lib/bridge/synchronisation.test.js +505 -0
  74. package/lib/bridge/synchronisation.test.js.map +1 -0
  75. package/lib/bridge/transaction.test.d.ts +2 -0
  76. package/lib/bridge/transaction.test.d.ts.map +1 -0
  77. package/lib/bridge/transaction.test.js +68 -0
  78. package/lib/bridge/transaction.test.js.map +1 -0
  79. package/lib/logic/broadcast.test.d.ts +2 -0
  80. package/lib/logic/broadcast.test.d.ts.map +1 -0
  81. package/lib/logic/broadcast.test.js +62 -0
  82. package/lib/logic/broadcast.test.js.map +1 -0
  83. package/lib/logic/combine.test.d.ts +2 -0
  84. package/lib/logic/combine.test.d.ts.map +1 -0
  85. package/lib/logic/combine.test.js +37 -0
  86. package/lib/logic/combine.test.js.map +1 -0
  87. package/lib/logic/craftTransaction.integration.test.d.ts +2 -0
  88. package/lib/logic/craftTransaction.integration.test.d.ts.map +1 -0
  89. package/lib/logic/craftTransaction.integration.test.js +98 -0
  90. package/lib/logic/craftTransaction.integration.test.js.map +1 -0
  91. package/lib/logic/craftTransaction.test.d.ts +2 -0
  92. package/lib/logic/craftTransaction.test.d.ts.map +1 -0
  93. package/lib/logic/craftTransaction.test.js +127 -0
  94. package/lib/logic/craftTransaction.test.js.map +1 -0
  95. package/lib/logic/estimateFees.d.ts +1 -4
  96. package/lib/logic/estimateFees.d.ts.map +1 -1
  97. package/lib/logic/estimateFees.integration.test.d.ts +2 -0
  98. package/lib/logic/estimateFees.integration.test.d.ts.map +1 -0
  99. package/lib/logic/estimateFees.integration.test.js +82 -0
  100. package/lib/logic/estimateFees.integration.test.js.map +1 -0
  101. package/lib/logic/estimateFees.js +1 -2
  102. package/lib/logic/estimateFees.js.map +1 -1
  103. package/lib/logic/estimateFees.test.d.ts +2 -0
  104. package/lib/logic/estimateFees.test.d.ts.map +1 -0
  105. package/lib/logic/estimateFees.test.js +70 -0
  106. package/lib/logic/estimateFees.test.js.map +1 -0
  107. package/lib/logic/getBalance.integration.test.d.ts +2 -0
  108. package/lib/logic/getBalance.integration.test.d.ts.map +1 -0
  109. package/lib/logic/getBalance.integration.test.js +56 -0
  110. package/lib/logic/getBalance.integration.test.js.map +1 -0
  111. package/lib/logic/getBalance.test.d.ts +2 -0
  112. package/lib/logic/getBalance.test.d.ts.map +1 -0
  113. package/lib/logic/getBalance.test.js +64 -0
  114. package/lib/logic/getBalance.test.js.map +1 -0
  115. package/lib/logic/lastBlock.test.d.ts +2 -0
  116. package/lib/logic/lastBlock.test.d.ts.map +1 -0
  117. package/lib/logic/lastBlock.test.js +27 -0
  118. package/lib/logic/lastBlock.test.js.map +1 -0
  119. package/lib/logic/listOperations.test.d.ts +2 -0
  120. package/lib/logic/listOperations.test.d.ts.map +1 -0
  121. package/lib/logic/listOperations.test.js +79 -0
  122. package/lib/logic/listOperations.test.js.map +1 -0
  123. package/lib/network/sdk.d.ts.map +1 -1
  124. package/lib/network/sdk.integration.test.d.ts +2 -0
  125. package/lib/network/sdk.integration.test.d.ts.map +1 -0
  126. package/lib/network/sdk.integration.test.js +215 -0
  127. package/lib/network/sdk.integration.test.js.map +1 -0
  128. package/lib/network/sdk.js +5 -5
  129. package/lib/network/sdk.js.map +1 -1
  130. package/lib/network/sdk.test.d.ts +2 -0
  131. package/lib/network/sdk.test.d.ts.map +1 -0
  132. package/lib/network/sdk.test.js +1784 -0
  133. package/lib/network/sdk.test.js.map +1 -0
  134. package/lib/signer/getAddress.test.d.ts +2 -0
  135. package/lib/signer/getAddress.test.d.ts.map +1 -0
  136. package/lib/signer/getAddress.test.js +106 -0
  137. package/lib/signer/getAddress.test.js.map +1 -0
  138. package/lib/test/config.test.d.ts +2 -0
  139. package/lib/test/config.test.d.ts.map +1 -0
  140. package/lib/test/config.test.js +44 -0
  141. package/lib/test/config.test.js.map +1 -0
  142. package/lib-es/api/index.integration.test.d.ts +2 -0
  143. package/lib-es/api/index.integration.test.d.ts.map +1 -0
  144. package/lib-es/api/index.integration.test.js +171 -0
  145. package/lib-es/api/index.integration.test.js.map +1 -0
  146. package/lib-es/api/index.test.d.ts +2 -0
  147. package/lib-es/api/index.test.d.ts.map +1 -0
  148. package/lib-es/api/index.test.js +148 -0
  149. package/lib-es/api/index.test.js.map +1 -0
  150. package/lib-es/bridge/bridge.integration.test.d.ts +4 -0
  151. package/lib-es/bridge/bridge.integration.test.d.ts.map +1 -0
  152. package/lib-es/bridge/bridge.integration.test.js +139 -0
  153. package/lib-es/bridge/bridge.integration.test.js.map +1 -0
  154. package/lib-es/bridge/broadcast.test.d.ts +2 -0
  155. package/lib-es/bridge/broadcast.test.d.ts.map +1 -0
  156. package/lib-es/bridge/broadcast.test.js +46 -0
  157. package/lib-es/bridge/broadcast.test.js.map +1 -0
  158. package/lib-es/bridge/buildOptimisticOperation.test.d.ts +2 -0
  159. package/lib-es/bridge/buildOptimisticOperation.test.d.ts.map +1 -0
  160. package/lib-es/bridge/buildOptimisticOperation.test.js +47 -0
  161. package/lib-es/bridge/buildOptimisticOperation.test.js.map +1 -0
  162. package/lib-es/bridge/buildTransaction.integration.test.d.ts +2 -0
  163. package/lib-es/bridge/buildTransaction.integration.test.d.ts.map +1 -0
  164. package/lib-es/bridge/buildTransaction.integration.test.js +67 -0
  165. package/lib-es/bridge/buildTransaction.integration.test.js.map +1 -0
  166. package/lib-es/bridge/buildTransaction.test.d.ts +2 -0
  167. package/lib-es/bridge/buildTransaction.test.d.ts.map +1 -0
  168. package/lib-es/bridge/buildTransaction.test.js +229 -0
  169. package/lib-es/bridge/buildTransaction.test.js.map +1 -0
  170. package/lib-es/bridge/estimateMaxSpendable.test.d.ts +2 -0
  171. package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  172. package/lib-es/bridge/estimateMaxSpendable.test.js +50 -0
  173. package/lib-es/bridge/estimateMaxSpendable.test.js.map +1 -0
  174. package/lib-es/bridge/formatters.test.d.ts +2 -0
  175. package/lib-es/bridge/formatters.test.d.ts.map +1 -0
  176. package/lib-es/bridge/formatters.test.js +16 -0
  177. package/lib-es/bridge/formatters.test.js.map +1 -0
  178. package/lib-es/bridge/getFeesForTransaction.test.d.ts +2 -0
  179. package/lib-es/bridge/getFeesForTransaction.test.d.ts.map +1 -0
  180. package/lib-es/bridge/getFeesForTransaction.test.js +30 -0
  181. package/lib-es/bridge/getFeesForTransaction.test.js.map +1 -0
  182. package/lib-es/bridge/getTransactionStatus.test.d.ts +2 -0
  183. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +1 -0
  184. package/lib-es/bridge/getTransactionStatus.test.js +64 -0
  185. package/lib-es/bridge/getTransactionStatus.test.js.map +1 -0
  186. package/lib-es/bridge/index.test.d.ts +2 -0
  187. package/lib-es/bridge/index.test.d.ts.map +1 -0
  188. package/lib-es/bridge/index.test.js +260 -0
  189. package/lib-es/bridge/index.test.js.map +1 -0
  190. package/lib-es/bridge/preload.test.d.ts +2 -0
  191. package/lib-es/bridge/preload.test.d.ts.map +1 -0
  192. package/lib-es/bridge/preload.test.js +50 -0
  193. package/lib-es/bridge/preload.test.js.map +1 -0
  194. package/lib-es/bridge/prepareTransaction.test.d.ts +2 -0
  195. package/lib-es/bridge/prepareTransaction.test.d.ts.map +1 -0
  196. package/lib-es/bridge/prepareTransaction.test.js +92 -0
  197. package/lib-es/bridge/prepareTransaction.test.js.map +1 -0
  198. package/lib-es/bridge/serialization.test.d.ts +2 -0
  199. package/lib-es/bridge/serialization.test.d.ts.map +1 -0
  200. package/lib-es/bridge/serialization.test.js +126 -0
  201. package/lib-es/bridge/serialization.test.js.map +1 -0
  202. package/lib-es/bridge/signOperation.integration.test.d.ts +2 -0
  203. package/lib-es/bridge/signOperation.integration.test.d.ts.map +1 -0
  204. package/lib-es/bridge/signOperation.integration.test.js +75 -0
  205. package/lib-es/bridge/signOperation.integration.test.js.map +1 -0
  206. package/lib-es/bridge/signOperation.test.d.ts +2 -0
  207. package/lib-es/bridge/signOperation.test.d.ts.map +1 -0
  208. package/lib-es/bridge/signOperation.test.js +440 -0
  209. package/lib-es/bridge/signOperation.test.js.map +1 -0
  210. package/lib-es/bridge/synchronisation.test.d.ts +2 -0
  211. package/lib-es/bridge/synchronisation.test.d.ts.map +1 -0
  212. package/lib-es/bridge/synchronisation.test.js +477 -0
  213. package/lib-es/bridge/synchronisation.test.js.map +1 -0
  214. package/lib-es/bridge/transaction.test.d.ts +2 -0
  215. package/lib-es/bridge/transaction.test.d.ts.map +1 -0
  216. package/lib-es/bridge/transaction.test.js +66 -0
  217. package/lib-es/bridge/transaction.test.js.map +1 -0
  218. package/lib-es/logic/broadcast.test.d.ts +2 -0
  219. package/lib-es/logic/broadcast.test.d.ts.map +1 -0
  220. package/lib-es/logic/broadcast.test.js +57 -0
  221. package/lib-es/logic/broadcast.test.js.map +1 -0
  222. package/lib-es/logic/combine.test.d.ts +2 -0
  223. package/lib-es/logic/combine.test.d.ts.map +1 -0
  224. package/lib-es/logic/combine.test.js +35 -0
  225. package/lib-es/logic/combine.test.js.map +1 -0
  226. package/lib-es/logic/craftTransaction.integration.test.d.ts +2 -0
  227. package/lib-es/logic/craftTransaction.integration.test.d.ts.map +1 -0
  228. package/lib-es/logic/craftTransaction.integration.test.js +93 -0
  229. package/lib-es/logic/craftTransaction.integration.test.js.map +1 -0
  230. package/lib-es/logic/craftTransaction.test.d.ts +2 -0
  231. package/lib-es/logic/craftTransaction.test.d.ts.map +1 -0
  232. package/lib-es/logic/craftTransaction.test.js +122 -0
  233. package/lib-es/logic/craftTransaction.test.js.map +1 -0
  234. package/lib-es/logic/estimateFees.d.ts +1 -4
  235. package/lib-es/logic/estimateFees.d.ts.map +1 -1
  236. package/lib-es/logic/estimateFees.integration.test.d.ts +2 -0
  237. package/lib-es/logic/estimateFees.integration.test.d.ts.map +1 -0
  238. package/lib-es/logic/estimateFees.integration.test.js +77 -0
  239. package/lib-es/logic/estimateFees.integration.test.js.map +1 -0
  240. package/lib-es/logic/estimateFees.js +1 -2
  241. package/lib-es/logic/estimateFees.js.map +1 -1
  242. package/lib-es/logic/estimateFees.test.d.ts +2 -0
  243. package/lib-es/logic/estimateFees.test.d.ts.map +1 -0
  244. package/lib-es/logic/estimateFees.test.js +65 -0
  245. package/lib-es/logic/estimateFees.test.js.map +1 -0
  246. package/lib-es/logic/getBalance.integration.test.d.ts +2 -0
  247. package/lib-es/logic/getBalance.integration.test.d.ts.map +1 -0
  248. package/lib-es/logic/getBalance.integration.test.js +51 -0
  249. package/lib-es/logic/getBalance.integration.test.js.map +1 -0
  250. package/lib-es/logic/getBalance.test.d.ts +2 -0
  251. package/lib-es/logic/getBalance.test.d.ts.map +1 -0
  252. package/lib-es/logic/getBalance.test.js +62 -0
  253. package/lib-es/logic/getBalance.test.js.map +1 -0
  254. package/lib-es/logic/lastBlock.test.d.ts +2 -0
  255. package/lib-es/logic/lastBlock.test.d.ts.map +1 -0
  256. package/lib-es/logic/lastBlock.test.js +25 -0
  257. package/lib-es/logic/lastBlock.test.js.map +1 -0
  258. package/lib-es/logic/listOperations.test.d.ts +2 -0
  259. package/lib-es/logic/listOperations.test.d.ts.map +1 -0
  260. package/lib-es/logic/listOperations.test.js +77 -0
  261. package/lib-es/logic/listOperations.test.js.map +1 -0
  262. package/lib-es/network/sdk.d.ts.map +1 -1
  263. package/lib-es/network/sdk.integration.test.d.ts +2 -0
  264. package/lib-es/network/sdk.integration.test.d.ts.map +1 -0
  265. package/lib-es/network/sdk.integration.test.js +210 -0
  266. package/lib-es/network/sdk.integration.test.js.map +1 -0
  267. package/lib-es/network/sdk.js +5 -5
  268. package/lib-es/network/sdk.js.map +1 -1
  269. package/lib-es/network/sdk.test.d.ts +2 -0
  270. package/lib-es/network/sdk.test.d.ts.map +1 -0
  271. package/lib-es/network/sdk.test.js +1756 -0
  272. package/lib-es/network/sdk.test.js.map +1 -0
  273. package/lib-es/signer/getAddress.test.d.ts +2 -0
  274. package/lib-es/signer/getAddress.test.d.ts.map +1 -0
  275. package/lib-es/signer/getAddress.test.js +101 -0
  276. package/lib-es/signer/getAddress.test.js.map +1 -0
  277. package/lib-es/test/config.test.d.ts +2 -0
  278. package/lib-es/test/config.test.d.ts.map +1 -0
  279. package/lib-es/test/config.test.js +39 -0
  280. package/lib-es/test/config.test.js.map +1 -0
  281. package/package.json +8 -8
  282. package/src/api/index.integration.test.ts +0 -18
  283. package/src/logic/estimateFees.test.ts +16 -22
  284. package/src/logic/estimateFees.ts +1 -6
  285. package/src/network/sdk.test.ts +4 -39
  286. package/src/network/sdk.ts +5 -7
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const client_1 = require("@mysten/sui/client");
7
+ const config_1 = __importDefault(require("../config"));
8
+ const getBalance_1 = require("./getBalance");
9
+ const SENDER = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
10
+ describe("getBalance", () => {
11
+ beforeAll(() => {
12
+ config_1.default.setCoinConfig(() => ({
13
+ status: {
14
+ type: "active",
15
+ },
16
+ node: {
17
+ url: (0, client_1.getFullnodeUrl)("testnet"),
18
+ },
19
+ }));
20
+ });
21
+ it("should fetch native SUI balance", async () => {
22
+ const balances = await (0, getBalance_1.getBalance)(SENDER);
23
+ expect(balances.length).toBeGreaterThanOrEqual(1);
24
+ expect(balances[0]).toMatchObject({
25
+ asset: { type: "native" },
26
+ });
27
+ expect(typeof balances[0].value).toBe("bigint");
28
+ expect(balances[0].value).toBeGreaterThanOrEqual(0n);
29
+ }, 10000);
30
+ it("should fetch token balances", async () => {
31
+ const balances = await (0, getBalance_1.getBalance)(SENDER);
32
+ expect(balances.length).toBeGreaterThanOrEqual(1);
33
+ const tokenBalances = balances.filter(balance => balance.asset.type === "token");
34
+ tokenBalances.forEach(balance => {
35
+ expect(balance.asset.type).toBe("token");
36
+ if (balance.asset.type === "token") {
37
+ expect(balance.asset.assetReference).toMatch(/^0x[a-fA-F0-9]+::[a-zA-Z0-9_]+::[a-zA-Z0-9_]+$/);
38
+ }
39
+ expect(typeof balance.value).toBe("bigint");
40
+ expect(balance.value).toBeGreaterThanOrEqual(0n);
41
+ });
42
+ }, 15000);
43
+ it("should properly parse token asset reference", async () => {
44
+ const balances = await (0, getBalance_1.getBalance)(SENDER);
45
+ const usdTokens = balances.filter(balance => balance.asset.type === "token" &&
46
+ balance.asset.assetReference?.toLowerCase().includes("usd"));
47
+ usdTokens.forEach(balance => {
48
+ expect(balance.asset.type).toBe("token");
49
+ if (balance.asset.type === "token") {
50
+ expect(balance.asset.assetReference).toBeTruthy();
51
+ }
52
+ expect(typeof balance.value).toBe("bigint");
53
+ });
54
+ }, 15000);
55
+ });
56
+ //# sourceMappingURL=getBalance.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBalance.integration.test.js","sourceRoot":"","sources":["../../src/logic/getBalance.integration.test.ts"],"names":[],"mappings":";;;;;AAAA,+CAAoD;AACpD,uDAAmC;AACnC,6CAA0C;AAE1C,MAAM,MAAM,GAAG,oEAAoE,CAAC;AAEpF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,gBAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9B,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC;aAC/B;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAChC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACjF,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAC1C,gDAAgD,CACjD,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAC/B,OAAO,CAAC,EAAE,CACR,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;YAC9B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC9D,CAAC;QAEF,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC;YACpD,CAAC;YACD,MAAM,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getBalance.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBalance.test.d.ts","sourceRoot":"","sources":["../../src/logic/getBalance.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const getBalance_1 = require("./getBalance");
4
+ const network_1 = require("../network");
5
+ jest.mock("../network", () => ({
6
+ getAllBalancesCached: jest.fn().mockResolvedValue([
7
+ { coinType: "0x2::sui::SUI", totalBalance: 1000000000 },
8
+ { coinType: "0x3::usdt::USDT", totalBalance: 500000000 },
9
+ ]),
10
+ getStakes: jest.fn().mockResolvedValue([]),
11
+ }));
12
+ const mockedGetStakes = jest.mocked(network_1.getStakes);
13
+ describe("getBalance", () => {
14
+ beforeEach(() => {
15
+ jest.clearAllMocks();
16
+ });
17
+ it("should return the correct native SUI balance", async () => {
18
+ const address = "0x123";
19
+ const result = await (0, getBalance_1.getBalance)(address);
20
+ expect(result[0]).toMatchObject({
21
+ value: BigInt(1000000000),
22
+ asset: { type: "native" },
23
+ });
24
+ });
25
+ it("should return the correct USDT token balance", async () => {
26
+ const address = "0x123";
27
+ const result = await (0, getBalance_1.getBalance)(address);
28
+ expect(result[1]).toMatchObject({
29
+ value: BigInt(500000000),
30
+ asset: { type: "token", assetReference: "0x3::usdt::USDT" },
31
+ });
32
+ });
33
+ it("should return staking balances when stakes are available", async () => {
34
+ const mockStakes = [
35
+ {
36
+ uid: "stake_1",
37
+ address: "0x123",
38
+ delegate: "0xvalidator1",
39
+ state: "active",
40
+ asset: { type: "native" },
41
+ amount: BigInt(2000000000),
42
+ },
43
+ ];
44
+ mockedGetStakes.mockResolvedValueOnce(mockStakes);
45
+ const address = "0x123";
46
+ const result = await (0, getBalance_1.getBalance)(address);
47
+ expect(network_1.getAllBalancesCached).toHaveBeenCalledWith(address);
48
+ expect(network_1.getStakes).toHaveBeenCalledWith(address);
49
+ expect(result).toHaveLength(3);
50
+ expect(result[2]).toMatchObject({
51
+ value: BigInt(2000000000),
52
+ asset: { type: "native" },
53
+ stake: {
54
+ uid: "stake_1",
55
+ address: "0x123",
56
+ delegate: "0xvalidator1",
57
+ state: "active",
58
+ asset: { type: "native" },
59
+ amount: BigInt(2000000000),
60
+ },
61
+ });
62
+ });
63
+ });
64
+ //# sourceMappingURL=getBalance.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBalance.test.js","sourceRoot":"","sources":["../../src/logic/getBalance.test.ts"],"names":[],"mappings":";;AAAA,6CAA0C;AAC1C,wCAA6D;AAG7D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;QAChD,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE;QACvD,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE;KACzD,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;CAC3C,CAAC,CAAC,CAAC;AAEJ,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAS,CAAC,CAAC;AAE/C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,UAAU,GAAY;YAC1B;gBACE,GAAG,EAAE,SAAS;gBACd,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;aAC3B;SACF,CAAC;QAEF,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAElD,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,CAAC,8BAAoB,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,mBAAS,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,KAAK,EAAE;gBACL,GAAG,EAAE,SAAS;gBACd,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;aAC3B;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lastBlock.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lastBlock.test.d.ts","sourceRoot":"","sources":["../../src/logic/lastBlock.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const lastBlock_1 = require("./lastBlock");
4
+ const sdk_1 = require("../network/sdk");
5
+ jest.mock("../network/sdk");
6
+ describe("lastBlock", () => {
7
+ const mockHash = "0x1234567890abcdef";
8
+ const mockSeq = "001";
9
+ const mockTimestamp = "1747047353";
10
+ const mock = jest.mocked(sdk_1.getLastBlock);
11
+ beforeEach(() => {
12
+ jest.clearAllMocks();
13
+ mock.mockResolvedValue({
14
+ digest: mockHash,
15
+ sequenceNumber: mockSeq,
16
+ timestampMs: mockTimestamp,
17
+ });
18
+ });
19
+ it("should return block info with correct height and hash", async () => {
20
+ const { hash, height, time } = await (0, lastBlock_1.lastBlock)();
21
+ expect(hash).toBeDefined();
22
+ expect(height).toBeDefined();
23
+ expect(time).toBeDefined();
24
+ expect(mock).toHaveBeenCalledTimes(1);
25
+ });
26
+ });
27
+ //# sourceMappingURL=lastBlock.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lastBlock.test.js","sourceRoot":"","sources":["../../src/logic/lastBlock.test.ts"],"names":[],"mappings":";;AAAA,2CAAwC;AACxC,wCAA8C;AAE9C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAE5B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,QAAQ,GAAG,oBAAoB,CAAC;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,MAAM,aAAa,GAAG,YAAY,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAY,CAAC,CAAC;IACvC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC;YACrB,MAAM,EAAE,QAAQ;YAChB,cAAc,EAAE,OAAO;YACvB,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,qBAAS,GAAE,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=listOperations.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listOperations.test.d.ts","sourceRoot":"","sources":["../../src/logic/listOperations.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const listOperations_1 = require("./listOperations");
4
+ const sdk_1 = require("../network/sdk");
5
+ jest.mock("../network/sdk");
6
+ const mockOperations = {
7
+ items: [
8
+ {
9
+ tx: {
10
+ date: new Date("2024-03-20T10:00:00.000Z"),
11
+ hash: "0x1234567890abcdef",
12
+ fees: BigInt("1000000"),
13
+ block: {
14
+ height: 5,
15
+ },
16
+ },
17
+ id: "1",
18
+ recipients: ["0xrecipient1"],
19
+ senders: ["0xsender1"],
20
+ type: "OUT",
21
+ value: BigInt("1000000000"),
22
+ asset: {
23
+ type: "native",
24
+ },
25
+ },
26
+ {
27
+ tx: {
28
+ date: new Date("2024-03-20T11:00:00.000Z"),
29
+ hash: "0xabcdef1234567890",
30
+ fees: BigInt("2000000"),
31
+ block: {
32
+ height: 5,
33
+ },
34
+ },
35
+ id: "2",
36
+ recipients: ["0xrecipient2"],
37
+ senders: ["0xsender2"],
38
+ type: "IN",
39
+ value: BigInt("2000000000"),
40
+ asset: {
41
+ type: "native",
42
+ },
43
+ },
44
+ ],
45
+ next: "0x1234567890abcdef",
46
+ };
47
+ const mockGetListOperations = jest.mocked(sdk_1.getListOperations);
48
+ mockGetListOperations.mockResolvedValue(mockOperations);
49
+ describe("List Operations", () => {
50
+ const mockAddress = "0x1234567890abcdef";
51
+ const mockPagination = {
52
+ minHeight: 0,
53
+ order: "asc",
54
+ };
55
+ beforeEach(() => {
56
+ jest.clearAllMocks();
57
+ });
58
+ it("should return operations and last hash", async () => {
59
+ const [operations, lastHash] = await (0, listOperations_1.listOperations)(mockAddress, mockPagination);
60
+ expect(operations).toEqual(mockOperations.items);
61
+ expect(lastHash).toBe(mockOperations.items[0].tx.hash);
62
+ expect(mockGetListOperations).toHaveBeenCalledWith(mockAddress, "asc", sdk_1.withApi, undefined);
63
+ });
64
+ it("should return empty array and empty string when no operations", async () => {
65
+ mockGetListOperations.mockResolvedValueOnce({ items: [], next: "" });
66
+ const [operations, lastHash] = await (0, listOperations_1.listOperations)(mockAddress, mockPagination);
67
+ expect(operations).toEqual([]);
68
+ expect(lastHash).toBe("");
69
+ });
70
+ it("should handle pagination parameters", async () => {
71
+ const [operations] = await (0, listOperations_1.listOperations)(mockAddress, mockPagination);
72
+ expect(operations).toEqual(mockOperations.items);
73
+ });
74
+ it("should return operations sorted by date in ascending order", async () => {
75
+ const [operations] = await (0, listOperations_1.listOperations)(mockAddress, mockPagination);
76
+ expect(operations[1].tx.date.getTime()).toBeGreaterThan(operations[0].tx.date.getTime());
77
+ });
78
+ });
79
+ //# sourceMappingURL=listOperations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listOperations.test.js","sourceRoot":"","sources":["../../src/logic/listOperations.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sdk.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.integration.test.d.ts","sourceRoot":"","sources":["../../src/network/sdk.integration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
+ const config_1 = __importDefault(require("../config"));
8
+ const sdk_1 = require("./sdk");
9
+ const live_env_1 = require("@ledgerhq/live-env");
10
+ describe("SUI SDK Integration tests", () => {
11
+ beforeAll(() => {
12
+ config_1.default.setCoinConfig(() => ({
13
+ status: {
14
+ type: "active",
15
+ },
16
+ node: {
17
+ url: (0, live_env_1.getEnv)("API_SUI_NODE_PROXY"),
18
+ },
19
+ }));
20
+ });
21
+ describe("getOperations", () => {
22
+ describe("Account 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164", () => {
23
+ // https://suiscan.xyz/mainnet/account/0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164/activity
24
+ // 5 as of 14/05/2025
25
+ const IN_OPERATIONS_COUNT = 2;
26
+ const OUT_OPERATIONS_COUNT = 3;
27
+ const TOTAL_OPERATIONS_COUNT = IN_OPERATIONS_COUNT + OUT_OPERATIONS_COUNT;
28
+ let operations;
29
+ const testingAccount = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
30
+ beforeAll(async () => {
31
+ operations = await (0, sdk_1.getOperations)("mockAccoundId", testingAccount);
32
+ });
33
+ describe("List", () => {
34
+ it("should fetch operations successfully", async () => {
35
+ expect(Array.isArray(operations)).toBeDefined();
36
+ });
37
+ it("should fetch all operations", async () => {
38
+ expect(operations.length).toBeGreaterThanOrEqual(TOTAL_OPERATIONS_COUNT);
39
+ });
40
+ it("should return the first operation at index 0 and the last at the end", async () => {
41
+ const oldestTxHash = "rkTA5Tn9dgrWPnHgj2WK7rVnk5t9jC3ViPcHU9dewDg";
42
+ const newestTxHash = "2GjCnxe8wRqzG4Nr1pad6QAZzCxP8qJY4ioAaVaHvhF7";
43
+ expect(operations[operations.length - TOTAL_OPERATIONS_COUNT].hash).toEqual(newestTxHash);
44
+ expect(operations[operations.length - 1].hash).toEqual(oldestTxHash);
45
+ });
46
+ });
47
+ describe("Transaction types", () => {
48
+ it("should return correct IN/OUT operations numbers", async () => {
49
+ const inOps = operations.filter(op => op.type === "IN");
50
+ const outOps = operations.filter(op => op.type === "OUT");
51
+ expect(inOps.length).toBeGreaterThanOrEqual(IN_OPERATIONS_COUNT);
52
+ expect(outOps.length).toBeGreaterThanOrEqual(OUT_OPERATIONS_COUNT);
53
+ });
54
+ describe("SUI operations", () => {
55
+ it("should return SUI IN operations correctly", () => {
56
+ // https://suiscan.xyz/mainnet/tx/rkTA5Tn9dgrWPnHgj2WK7rVnk5t9jC3ViPcHU9dewDg
57
+ // Send 0.15 SUI to 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164
58
+ const txHash = "rkTA5Tn9dgrWPnHgj2WK7rVnk5t9jC3ViPcHU9dewDg";
59
+ const operation = operations.find(op => op.hash === txHash);
60
+ expect(operation).toMatchObject({
61
+ type: "IN",
62
+ value: (0, bignumber_js_1.default)("150000000"),
63
+ senders: ["0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0"],
64
+ recipients: [testingAccount],
65
+ extra: { coinType: "0x2::sui::SUI" },
66
+ });
67
+ });
68
+ it("should return SUI OUT operations correctly", () => {
69
+ // https://suiscan.xyz/mainnet/tx/CnVCqFLDv9iJc3DPU2WGpJdZUjqFPhyEVJ5BAigEj9VW
70
+ // Get 0.052 SUI from 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164
71
+ const txHash = "CnVCqFLDv9iJc3DPU2WGpJdZUjqFPhyEVJ5BAigEj9VW";
72
+ const operation = operations.find(op => op.hash === txHash);
73
+ expect(operation).toMatchObject({
74
+ type: "OUT",
75
+ value: (0, bignumber_js_1.default)("51747880"),
76
+ recipients: ["0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0"],
77
+ senders: [testingAccount],
78
+ extra: { coinType: "0x2::sui::SUI" },
79
+ });
80
+ });
81
+ });
82
+ describe("SUI tokens operations", () => {
83
+ it("should return SUI tokens IN operations correctly", () => {
84
+ // https://suiscan.xyz/mainnet/tx/B7x8pACzpoFSQ5rmA5T3Q91Q48CroFuerXf62KLaY5TY
85
+ // Send 0.59 USDT to 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164
86
+ const txHash = "B7x8pACzpoFSQ5rmA5T3Q91Q48CroFuerXf62KLaY5TY";
87
+ const operation = operations.find(op => op.hash === txHash);
88
+ expect(operation).toMatchObject({
89
+ type: "IN",
90
+ value: (0, bignumber_js_1.default)("592557"),
91
+ senders: ["0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0"],
92
+ recipients: [testingAccount],
93
+ extra: {
94
+ coinType: "0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT",
95
+ },
96
+ });
97
+ });
98
+ it("should return SUI tokens OUT operations correctly", () => {
99
+ // https://suiscan.xyz/mainnet/tx/2GjCnxe8wRqzG4Nr1pad6QAZzCxP8qJY4ioAaVaHvhF7
100
+ // Get 0.59 USDT from 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164
101
+ const txHash = "2GjCnxe8wRqzG4Nr1pad6QAZzCxP8qJY4ioAaVaHvhF7";
102
+ const operation = operations.find(op => op.hash === txHash);
103
+ expect(operation).toMatchObject({
104
+ type: "OUT",
105
+ value: (0, bignumber_js_1.default)("592557"),
106
+ recipients: ["0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0"],
107
+ senders: [testingAccount],
108
+ extra: {
109
+ coinType: "0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT",
110
+ },
111
+ });
112
+ });
113
+ });
114
+ });
115
+ });
116
+ });
117
+ describe("getBalance", () => {
118
+ test("getAccountBalances should return account balance", async () => {
119
+ const address = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
120
+ const balance = await (0, sdk_1.getAccountBalances)(address);
121
+ expect(balance[0]).toHaveProperty("blockHeight");
122
+ expect(balance[0]).toHaveProperty("balance");
123
+ });
124
+ });
125
+ describe("createTransaction", () => {
126
+ test("createTransaction should build a transaction", async () => {
127
+ const address = "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0";
128
+ const transaction = {
129
+ mode: "send",
130
+ family: "sui",
131
+ coinType: sdk_1.DEFAULT_COIN_TYPE,
132
+ amount: new bignumber_js_1.default(100),
133
+ recipient: "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164",
134
+ errors: {},
135
+ };
136
+ const { unsigned: tx } = await (0, sdk_1.createTransaction)(address, transaction);
137
+ expect(tx).toBeInstanceOf(Uint8Array);
138
+ });
139
+ });
140
+ describe("paymentInfo", () => {
141
+ test("paymentInfo should return gas budget and fees", async () => {
142
+ const sender = "0xad79719ac7edb44f6e253f1f771e8291e281a6aaf1e4789b52bf85336f525e8e";
143
+ const fakeTransaction = {
144
+ mode: "send",
145
+ family: "sui",
146
+ coinType: sdk_1.DEFAULT_COIN_TYPE,
147
+ amount: new bignumber_js_1.default(100),
148
+ recipient: "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164",
149
+ errors: {},
150
+ };
151
+ const info = await (0, sdk_1.paymentInfo)(sender, fakeTransaction);
152
+ expect(info).toHaveProperty("gasBudget");
153
+ expect(info).toHaveProperty("totalGasUsed");
154
+ expect(info).toHaveProperty("fees");
155
+ });
156
+ });
157
+ describe("getCheckpoint", () => {
158
+ test("getCheckpoint", async () => {
159
+ const checkpointById = await (0, sdk_1.getCheckpoint)("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
160
+ const checkpointBySequenceNumber = await (0, sdk_1.getCheckpoint)("164167623");
161
+ expect(checkpointById.epoch).toEqual("814");
162
+ expect(checkpointById.sequenceNumber).toEqual("164167623");
163
+ expect(checkpointById.timestampMs).toEqual("1751696298663");
164
+ expect(checkpointById.digest).toEqual("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
165
+ expect(checkpointById.previousDigest).toEqual("6VKtVnpxstb968SzSrgYJ7zy5LXgFB6PnNHSJsT8Wr4E");
166
+ expect(checkpointById.transactions.length).toEqual(19);
167
+ expect(checkpointById.digest).toEqual(checkpointBySequenceNumber.digest);
168
+ });
169
+ });
170
+ describe("getBlockInfo", () => {
171
+ test("getBlockInfo should get block info by id or sequence number", async () => {
172
+ const blockById = await (0, sdk_1.getBlockInfo)("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
173
+ const blockBySequenceNumber = await (0, sdk_1.getBlockInfo)("164167623");
174
+ expect(blockById.height).toEqual(164167623);
175
+ expect(blockById.hash).toEqual("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
176
+ expect(blockById.time).toEqual(new Date(1751696298663));
177
+ expect(blockById.parent?.height).toEqual(164167622);
178
+ expect(blockById.parent?.hash).toEqual("6VKtVnpxstb968SzSrgYJ7zy5LXgFB6PnNHSJsT8Wr4E");
179
+ expect(blockById).toEqual(blockBySequenceNumber);
180
+ });
181
+ });
182
+ describe("getBlock", () => {
183
+ test("getBlock should get block by id or sequence number", async () => {
184
+ const blockById = await (0, sdk_1.getBlock)("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
185
+ const blockBySequenceNumber = await (0, sdk_1.getBlock)("164167623");
186
+ expect(blockById.info.height).toEqual(164167623);
187
+ expect(blockById.info.hash).toEqual("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
188
+ expect(blockById.info.time).toEqual(new Date(1751696298663));
189
+ expect(blockById.info.parent?.height).toEqual(164167622);
190
+ expect(blockById.info.parent?.hash).toEqual("6VKtVnpxstb968SzSrgYJ7zy5LXgFB6PnNHSJsT8Wr4E");
191
+ expect(blockById.transactions.length).toEqual(19);
192
+ expect(blockById).toEqual(blockBySequenceNumber);
193
+ });
194
+ });
195
+ describe("getStakes", () => {
196
+ test("Account 0xea438b6ce07762ea61e04af4d405dfcf197d5f77d30765f365f75460380f3cce", async () => {
197
+ const stakes = await (0, sdk_1.getStakes)("0xea438b6ce07762ea61e04af4d405dfcf197d5f77d30765f365f75460380f3cce");
198
+ expect(stakes.length).toBeGreaterThan(0);
199
+ stakes.forEach(stake => {
200
+ expect(stake.uid).toMatch(/0x[0-9a-z]+/);
201
+ expect(stake.address).toMatch(/0x[0-9a-z]+/);
202
+ expect(stake.delegate).toMatch(/0x[0-9a-z]+/);
203
+ expect(stake.state).toMatch(/(activating|active|inactive)/);
204
+ expect(stake.asset).toEqual({ type: "native" });
205
+ expect(stake.amount).toBeGreaterThan(0);
206
+ expect(stake.amountDeposited).toBeGreaterThan(0);
207
+ expect(stake.amountRewarded).toBeGreaterThanOrEqual(0);
208
+ // @ts-expect-error properties are defined
209
+ expect(stake.amount).toEqual(stake.amountDeposited + stake.amountRewarded);
210
+ expect(stake.details).toBeDefined();
211
+ });
212
+ });
213
+ });
214
+ });
215
+ //# sourceMappingURL=sdk.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.integration.test.js","sourceRoot":"","sources":["../../src/network/sdk.integration.test.ts"],"names":[],"mappings":"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"}
@@ -59,20 +59,20 @@ exports.withApi = withApi;
59
59
  exports.getAllBalancesCached = (0, cache_1.makeLRUCache)(async (owner) => withApi(async (api) => await api.getAllBalances({
60
60
  owner,
61
61
  })), (owner) => owner, (0, cache_1.minutes)(1));
62
- function hasMoveCallWithFunction(functionName, block) {
62
+ function isMoveCallWithFunction(functionName, block) {
63
63
  if (block?.kind === "ProgrammableTransaction") {
64
- const move = block.transactions.find(item => "MoveCall" in item && item["MoveCall"].function === functionName);
65
- return Boolean(move);
64
+ const move = block.transactions.find(item => "MoveCall" in item);
65
+ return move?.MoveCall.function === functionName;
66
66
  }
67
67
  else {
68
68
  return false;
69
69
  }
70
70
  }
71
71
  function isStaking(block) {
72
- return hasMoveCallWithFunction("request_add_stake", block);
72
+ return isMoveCallWithFunction("request_add_stake", block);
73
73
  }
74
74
  function isUnstaking(block) {
75
- return hasMoveCallWithFunction("request_withdraw_stake", block);
75
+ return isMoveCallWithFunction("request_withdraw_stake", block);
76
76
  }
77
77
  /**
78
78
  * Get account balance (native and tokens)