@ledgerhq/coin-sui 0.16.0 → 0.16.1-nightly.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 (291) hide show
  1. package/.unimportedrc.json +2 -1
  2. package/CHANGELOG.md +9 -0
  3. package/lib/logic/estimateFees.d.ts +4 -1
  4. package/lib/logic/estimateFees.d.ts.map +1 -1
  5. package/lib/logic/estimateFees.js +2 -1
  6. package/lib/logic/estimateFees.js.map +1 -1
  7. package/lib/network/sdk.d.ts.map +1 -1
  8. package/lib/network/sdk.js +18 -13
  9. package/lib/network/sdk.js.map +1 -1
  10. package/lib/{bridge/bridge.integration.test.d.ts → test/bridge.dataset.d.ts} +1 -1
  11. package/lib/test/bridge.dataset.d.ts.map +1 -0
  12. package/lib/{bridge/bridge.integration.test.js → test/bridge.dataset.js} +2 -2
  13. package/lib/test/bridge.dataset.js.map +1 -0
  14. package/lib-es/logic/estimateFees.d.ts +4 -1
  15. package/lib-es/logic/estimateFees.d.ts.map +1 -1
  16. package/lib-es/logic/estimateFees.js +2 -1
  17. package/lib-es/logic/estimateFees.js.map +1 -1
  18. package/lib-es/network/sdk.d.ts.map +1 -1
  19. package/lib-es/network/sdk.js +18 -13
  20. package/lib-es/network/sdk.js.map +1 -1
  21. package/lib-es/{bridge/bridge.integration.test.d.ts → test/bridge.dataset.d.ts} +1 -1
  22. package/lib-es/test/bridge.dataset.d.ts.map +1 -0
  23. package/lib-es/{bridge/bridge.integration.test.js → test/bridge.dataset.js} +2 -2
  24. package/lib-es/test/bridge.dataset.js.map +1 -0
  25. package/package.json +5 -9
  26. package/src/api/index.integration.test.ts +44 -7
  27. package/src/logic/estimateFees.test.ts +22 -16
  28. package/src/logic/estimateFees.ts +6 -1
  29. package/src/network/sdk.test.ts +44 -4
  30. package/src/network/sdk.ts +21 -13
  31. package/src/{bridge/bridge.integration.test.ts → test/bridge.dataset.ts} +1 -1
  32. package/lib/api/index.integration.test.d.ts +0 -2
  33. package/lib/api/index.integration.test.d.ts.map +0 -1
  34. package/lib/api/index.integration.test.js +0 -173
  35. package/lib/api/index.integration.test.js.map +0 -1
  36. package/lib/api/index.test.d.ts +0 -2
  37. package/lib/api/index.test.d.ts.map +0 -1
  38. package/lib/api/index.test.js +0 -173
  39. package/lib/api/index.test.js.map +0 -1
  40. package/lib/bridge/bridge.integration.test.d.ts.map +0 -1
  41. package/lib/bridge/bridge.integration.test.js.map +0 -1
  42. package/lib/bridge/broadcast.test.d.ts +0 -2
  43. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  44. package/lib/bridge/broadcast.test.js +0 -48
  45. package/lib/bridge/broadcast.test.js.map +0 -1
  46. package/lib/bridge/buildOptimisticOperation.test.d.ts +0 -2
  47. package/lib/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  48. package/lib/bridge/buildOptimisticOperation.test.js +0 -52
  49. package/lib/bridge/buildOptimisticOperation.test.js.map +0 -1
  50. package/lib/bridge/buildTransaction.integration.test.d.ts +0 -2
  51. package/lib/bridge/buildTransaction.integration.test.d.ts.map +0 -1
  52. package/lib/bridge/buildTransaction.integration.test.js +0 -72
  53. package/lib/bridge/buildTransaction.integration.test.js.map +0 -1
  54. package/lib/bridge/buildTransaction.test.d.ts +0 -2
  55. package/lib/bridge/buildTransaction.test.d.ts.map +0 -1
  56. package/lib/bridge/buildTransaction.test.js +0 -231
  57. package/lib/bridge/buildTransaction.test.js.map +0 -1
  58. package/lib/bridge/estimateMaxSpendable.test.d.ts +0 -2
  59. package/lib/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  60. package/lib/bridge/estimateMaxSpendable.test.js +0 -52
  61. package/lib/bridge/estimateMaxSpendable.test.js.map +0 -1
  62. package/lib/bridge/formatters.test.d.ts +0 -2
  63. package/lib/bridge/formatters.test.d.ts.map +0 -1
  64. package/lib/bridge/formatters.test.js +0 -18
  65. package/lib/bridge/formatters.test.js.map +0 -1
  66. package/lib/bridge/getFeesForTransaction.test.d.ts +0 -2
  67. package/lib/bridge/getFeesForTransaction.test.d.ts.map +0 -1
  68. package/lib/bridge/getFeesForTransaction.test.js +0 -35
  69. package/lib/bridge/getFeesForTransaction.test.js.map +0 -1
  70. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  71. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  72. package/lib/bridge/getTransactionStatus.test.js +0 -69
  73. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  74. package/lib/bridge/index.test.d.ts +0 -2
  75. package/lib/bridge/index.test.d.ts.map +0 -1
  76. package/lib/bridge/index.test.js +0 -265
  77. package/lib/bridge/index.test.js.map +0 -1
  78. package/lib/bridge/preload.test.d.ts +0 -2
  79. package/lib/bridge/preload.test.d.ts.map +0 -1
  80. package/lib/bridge/preload.test.js +0 -52
  81. package/lib/bridge/preload.test.js.map +0 -1
  82. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  83. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  84. package/lib/bridge/prepareTransaction.test.js +0 -97
  85. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  86. package/lib/bridge/serialization.test.d.ts +0 -2
  87. package/lib/bridge/serialization.test.d.ts.map +0 -1
  88. package/lib/bridge/serialization.test.js +0 -131
  89. package/lib/bridge/serialization.test.js.map +0 -1
  90. package/lib/bridge/signOperation.integration.test.d.ts +0 -2
  91. package/lib/bridge/signOperation.integration.test.d.ts.map +0 -1
  92. package/lib/bridge/signOperation.integration.test.js +0 -80
  93. package/lib/bridge/signOperation.integration.test.js.map +0 -1
  94. package/lib/bridge/signOperation.test.d.ts +0 -2
  95. package/lib/bridge/signOperation.test.d.ts.map +0 -1
  96. package/lib/bridge/signOperation.test.js +0 -445
  97. package/lib/bridge/signOperation.test.js.map +0 -1
  98. package/lib/bridge/synchronisation.test.d.ts +0 -2
  99. package/lib/bridge/synchronisation.test.d.ts.map +0 -1
  100. package/lib/bridge/synchronisation.test.js +0 -505
  101. package/lib/bridge/synchronisation.test.js.map +0 -1
  102. package/lib/bridge/transaction.test.d.ts +0 -2
  103. package/lib/bridge/transaction.test.d.ts.map +0 -1
  104. package/lib/bridge/transaction.test.js +0 -68
  105. package/lib/bridge/transaction.test.js.map +0 -1
  106. package/lib/logic/broadcast.test.d.ts +0 -2
  107. package/lib/logic/broadcast.test.d.ts.map +0 -1
  108. package/lib/logic/broadcast.test.js +0 -62
  109. package/lib/logic/broadcast.test.js.map +0 -1
  110. package/lib/logic/combine.test.d.ts +0 -2
  111. package/lib/logic/combine.test.d.ts.map +0 -1
  112. package/lib/logic/combine.test.js +0 -37
  113. package/lib/logic/combine.test.js.map +0 -1
  114. package/lib/logic/craftTransaction.integration.test.d.ts +0 -2
  115. package/lib/logic/craftTransaction.integration.test.d.ts.map +0 -1
  116. package/lib/logic/craftTransaction.integration.test.js +0 -98
  117. package/lib/logic/craftTransaction.integration.test.js.map +0 -1
  118. package/lib/logic/craftTransaction.test.d.ts +0 -2
  119. package/lib/logic/craftTransaction.test.d.ts.map +0 -1
  120. package/lib/logic/craftTransaction.test.js +0 -127
  121. package/lib/logic/craftTransaction.test.js.map +0 -1
  122. package/lib/logic/estimateFees.integration.test.d.ts +0 -2
  123. package/lib/logic/estimateFees.integration.test.d.ts.map +0 -1
  124. package/lib/logic/estimateFees.integration.test.js +0 -82
  125. package/lib/logic/estimateFees.integration.test.js.map +0 -1
  126. package/lib/logic/estimateFees.test.d.ts +0 -2
  127. package/lib/logic/estimateFees.test.d.ts.map +0 -1
  128. package/lib/logic/estimateFees.test.js +0 -70
  129. package/lib/logic/estimateFees.test.js.map +0 -1
  130. package/lib/logic/getBalance.integration.test.d.ts +0 -2
  131. package/lib/logic/getBalance.integration.test.d.ts.map +0 -1
  132. package/lib/logic/getBalance.integration.test.js +0 -56
  133. package/lib/logic/getBalance.integration.test.js.map +0 -1
  134. package/lib/logic/getBalance.test.d.ts +0 -2
  135. package/lib/logic/getBalance.test.d.ts.map +0 -1
  136. package/lib/logic/getBalance.test.js +0 -64
  137. package/lib/logic/getBalance.test.js.map +0 -1
  138. package/lib/logic/lastBlock.test.d.ts +0 -2
  139. package/lib/logic/lastBlock.test.d.ts.map +0 -1
  140. package/lib/logic/lastBlock.test.js +0 -27
  141. package/lib/logic/lastBlock.test.js.map +0 -1
  142. package/lib/logic/listOperations.test.d.ts +0 -2
  143. package/lib/logic/listOperations.test.d.ts.map +0 -1
  144. package/lib/logic/listOperations.test.js +0 -79
  145. package/lib/logic/listOperations.test.js.map +0 -1
  146. package/lib/network/sdk.integration.test.d.ts +0 -2
  147. package/lib/network/sdk.integration.test.d.ts.map +0 -1
  148. package/lib/network/sdk.integration.test.js +0 -215
  149. package/lib/network/sdk.integration.test.js.map +0 -1
  150. package/lib/network/sdk.test.d.ts +0 -2
  151. package/lib/network/sdk.test.d.ts.map +0 -1
  152. package/lib/network/sdk.test.js +0 -1784
  153. package/lib/network/sdk.test.js.map +0 -1
  154. package/lib/signer/getAddress.test.d.ts +0 -2
  155. package/lib/signer/getAddress.test.d.ts.map +0 -1
  156. package/lib/signer/getAddress.test.js +0 -106
  157. package/lib/signer/getAddress.test.js.map +0 -1
  158. package/lib/test/config.test.d.ts +0 -2
  159. package/lib/test/config.test.d.ts.map +0 -1
  160. package/lib/test/config.test.js +0 -44
  161. package/lib/test/config.test.js.map +0 -1
  162. package/lib-es/api/index.integration.test.d.ts +0 -2
  163. package/lib-es/api/index.integration.test.d.ts.map +0 -1
  164. package/lib-es/api/index.integration.test.js +0 -171
  165. package/lib-es/api/index.integration.test.js.map +0 -1
  166. package/lib-es/api/index.test.d.ts +0 -2
  167. package/lib-es/api/index.test.d.ts.map +0 -1
  168. package/lib-es/api/index.test.js +0 -148
  169. package/lib-es/api/index.test.js.map +0 -1
  170. package/lib-es/bridge/bridge.integration.test.d.ts.map +0 -1
  171. package/lib-es/bridge/bridge.integration.test.js.map +0 -1
  172. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  173. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  174. package/lib-es/bridge/broadcast.test.js +0 -46
  175. package/lib-es/bridge/broadcast.test.js.map +0 -1
  176. package/lib-es/bridge/buildOptimisticOperation.test.d.ts +0 -2
  177. package/lib-es/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  178. package/lib-es/bridge/buildOptimisticOperation.test.js +0 -47
  179. package/lib-es/bridge/buildOptimisticOperation.test.js.map +0 -1
  180. package/lib-es/bridge/buildTransaction.integration.test.d.ts +0 -2
  181. package/lib-es/bridge/buildTransaction.integration.test.d.ts.map +0 -1
  182. package/lib-es/bridge/buildTransaction.integration.test.js +0 -67
  183. package/lib-es/bridge/buildTransaction.integration.test.js.map +0 -1
  184. package/lib-es/bridge/buildTransaction.test.d.ts +0 -2
  185. package/lib-es/bridge/buildTransaction.test.d.ts.map +0 -1
  186. package/lib-es/bridge/buildTransaction.test.js +0 -229
  187. package/lib-es/bridge/buildTransaction.test.js.map +0 -1
  188. package/lib-es/bridge/estimateMaxSpendable.test.d.ts +0 -2
  189. package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  190. package/lib-es/bridge/estimateMaxSpendable.test.js +0 -50
  191. package/lib-es/bridge/estimateMaxSpendable.test.js.map +0 -1
  192. package/lib-es/bridge/formatters.test.d.ts +0 -2
  193. package/lib-es/bridge/formatters.test.d.ts.map +0 -1
  194. package/lib-es/bridge/formatters.test.js +0 -16
  195. package/lib-es/bridge/formatters.test.js.map +0 -1
  196. package/lib-es/bridge/getFeesForTransaction.test.d.ts +0 -2
  197. package/lib-es/bridge/getFeesForTransaction.test.d.ts.map +0 -1
  198. package/lib-es/bridge/getFeesForTransaction.test.js +0 -30
  199. package/lib-es/bridge/getFeesForTransaction.test.js.map +0 -1
  200. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  201. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  202. package/lib-es/bridge/getTransactionStatus.test.js +0 -64
  203. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  204. package/lib-es/bridge/index.test.d.ts +0 -2
  205. package/lib-es/bridge/index.test.d.ts.map +0 -1
  206. package/lib-es/bridge/index.test.js +0 -260
  207. package/lib-es/bridge/index.test.js.map +0 -1
  208. package/lib-es/bridge/preload.test.d.ts +0 -2
  209. package/lib-es/bridge/preload.test.d.ts.map +0 -1
  210. package/lib-es/bridge/preload.test.js +0 -50
  211. package/lib-es/bridge/preload.test.js.map +0 -1
  212. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  213. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  214. package/lib-es/bridge/prepareTransaction.test.js +0 -92
  215. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  216. package/lib-es/bridge/serialization.test.d.ts +0 -2
  217. package/lib-es/bridge/serialization.test.d.ts.map +0 -1
  218. package/lib-es/bridge/serialization.test.js +0 -126
  219. package/lib-es/bridge/serialization.test.js.map +0 -1
  220. package/lib-es/bridge/signOperation.integration.test.d.ts +0 -2
  221. package/lib-es/bridge/signOperation.integration.test.d.ts.map +0 -1
  222. package/lib-es/bridge/signOperation.integration.test.js +0 -75
  223. package/lib-es/bridge/signOperation.integration.test.js.map +0 -1
  224. package/lib-es/bridge/signOperation.test.d.ts +0 -2
  225. package/lib-es/bridge/signOperation.test.d.ts.map +0 -1
  226. package/lib-es/bridge/signOperation.test.js +0 -440
  227. package/lib-es/bridge/signOperation.test.js.map +0 -1
  228. package/lib-es/bridge/synchronisation.test.d.ts +0 -2
  229. package/lib-es/bridge/synchronisation.test.d.ts.map +0 -1
  230. package/lib-es/bridge/synchronisation.test.js +0 -477
  231. package/lib-es/bridge/synchronisation.test.js.map +0 -1
  232. package/lib-es/bridge/transaction.test.d.ts +0 -2
  233. package/lib-es/bridge/transaction.test.d.ts.map +0 -1
  234. package/lib-es/bridge/transaction.test.js +0 -66
  235. package/lib-es/bridge/transaction.test.js.map +0 -1
  236. package/lib-es/logic/broadcast.test.d.ts +0 -2
  237. package/lib-es/logic/broadcast.test.d.ts.map +0 -1
  238. package/lib-es/logic/broadcast.test.js +0 -57
  239. package/lib-es/logic/broadcast.test.js.map +0 -1
  240. package/lib-es/logic/combine.test.d.ts +0 -2
  241. package/lib-es/logic/combine.test.d.ts.map +0 -1
  242. package/lib-es/logic/combine.test.js +0 -35
  243. package/lib-es/logic/combine.test.js.map +0 -1
  244. package/lib-es/logic/craftTransaction.integration.test.d.ts +0 -2
  245. package/lib-es/logic/craftTransaction.integration.test.d.ts.map +0 -1
  246. package/lib-es/logic/craftTransaction.integration.test.js +0 -93
  247. package/lib-es/logic/craftTransaction.integration.test.js.map +0 -1
  248. package/lib-es/logic/craftTransaction.test.d.ts +0 -2
  249. package/lib-es/logic/craftTransaction.test.d.ts.map +0 -1
  250. package/lib-es/logic/craftTransaction.test.js +0 -122
  251. package/lib-es/logic/craftTransaction.test.js.map +0 -1
  252. package/lib-es/logic/estimateFees.integration.test.d.ts +0 -2
  253. package/lib-es/logic/estimateFees.integration.test.d.ts.map +0 -1
  254. package/lib-es/logic/estimateFees.integration.test.js +0 -77
  255. package/lib-es/logic/estimateFees.integration.test.js.map +0 -1
  256. package/lib-es/logic/estimateFees.test.d.ts +0 -2
  257. package/lib-es/logic/estimateFees.test.d.ts.map +0 -1
  258. package/lib-es/logic/estimateFees.test.js +0 -65
  259. package/lib-es/logic/estimateFees.test.js.map +0 -1
  260. package/lib-es/logic/getBalance.integration.test.d.ts +0 -2
  261. package/lib-es/logic/getBalance.integration.test.d.ts.map +0 -1
  262. package/lib-es/logic/getBalance.integration.test.js +0 -51
  263. package/lib-es/logic/getBalance.integration.test.js.map +0 -1
  264. package/lib-es/logic/getBalance.test.d.ts +0 -2
  265. package/lib-es/logic/getBalance.test.d.ts.map +0 -1
  266. package/lib-es/logic/getBalance.test.js +0 -62
  267. package/lib-es/logic/getBalance.test.js.map +0 -1
  268. package/lib-es/logic/lastBlock.test.d.ts +0 -2
  269. package/lib-es/logic/lastBlock.test.d.ts.map +0 -1
  270. package/lib-es/logic/lastBlock.test.js +0 -25
  271. package/lib-es/logic/lastBlock.test.js.map +0 -1
  272. package/lib-es/logic/listOperations.test.d.ts +0 -2
  273. package/lib-es/logic/listOperations.test.d.ts.map +0 -1
  274. package/lib-es/logic/listOperations.test.js +0 -77
  275. package/lib-es/logic/listOperations.test.js.map +0 -1
  276. package/lib-es/network/sdk.integration.test.d.ts +0 -2
  277. package/lib-es/network/sdk.integration.test.d.ts.map +0 -1
  278. package/lib-es/network/sdk.integration.test.js +0 -210
  279. package/lib-es/network/sdk.integration.test.js.map +0 -1
  280. package/lib-es/network/sdk.test.d.ts +0 -2
  281. package/lib-es/network/sdk.test.d.ts.map +0 -1
  282. package/lib-es/network/sdk.test.js +0 -1756
  283. package/lib-es/network/sdk.test.js.map +0 -1
  284. package/lib-es/signer/getAddress.test.d.ts +0 -2
  285. package/lib-es/signer/getAddress.test.d.ts.map +0 -1
  286. package/lib-es/signer/getAddress.test.js +0 -101
  287. package/lib-es/signer/getAddress.test.js.map +0 -1
  288. package/lib-es/test/config.test.d.ts +0 -2
  289. package/lib-es/test/config.test.d.ts.map +0 -1
  290. package/lib-es/test/config.test.js +0 -39
  291. package/lib-es/test/config.test.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-sui",
3
- "version": "0.16.0",
3
+ "version": "0.16.1-nightly.0",
4
4
  "description": "Ledger Sui Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -54,10 +54,6 @@
54
54
  "require": "./lib/api/index.js",
55
55
  "default": "./lib-es/api/index.js"
56
56
  },
57
- "./bridge/bridge.integration.test": {
58
- "require": "./lib/bridge/bridge.integration.test.js",
59
- "default": "./lib-es/bridge/bridge.integration.test.js"
60
- },
61
57
  "./formatters": {
62
58
  "require": "./lib/bridge/formatters.js",
63
59
  "default": "./lib-es/bridge/formatters.js"
@@ -124,16 +120,16 @@
124
120
  "bignumber.js": "^9.1.2",
125
121
  "lodash": "4.17.21",
126
122
  "rxjs": "^7.8.1",
127
- "@ledgerhq/coin-framework": "^6.7.0",
128
- "@ledgerhq/cryptoassets": "^13.31.0",
129
- "@ledgerhq/errors": "^6.26.0",
123
+ "@ledgerhq/coin-framework": "^6.7.1-nightly.0",
124
+ "@ledgerhq/cryptoassets": "^13.31.1-nightly.0",
125
+ "@ledgerhq/errors": "^6.27.0-nightly.0",
130
126
  "@ledgerhq/hw-app-sui": "^1.4.0",
131
127
  "@ledgerhq/live-env": "^2.19.0",
132
128
  "@ledgerhq/live-network": "^2.0.20",
133
129
  "@ledgerhq/live-promise": "^0.1.1",
134
130
  "@ledgerhq/logs": "^6.13.0",
135
131
  "@ledgerhq/types-cryptoassets": "^7.29.0",
136
- "@ledgerhq/types-live": "^6.87.0"
132
+ "@ledgerhq/types-live": "^6.88.0-nightly.0"
137
133
  },
138
134
  "devDependencies": {
139
135
  "@faker-js/faker": "^8.4.1",
@@ -93,6 +93,24 @@ describe("Sui Api", () => {
93
93
  });
94
94
  });
95
95
 
96
+ describe("listOperations (staking)", () => {
97
+ let txs: Operation[];
98
+
99
+ beforeAll(async () => {
100
+ [txs] = await module.listOperations(
101
+ "0x13d73cab19d2cf14e39289b122ed93fb0f9edd00e4c829e0cefb1f0611c54a8f",
102
+ { minHeight: 0, order: "asc" },
103
+ );
104
+ });
105
+
106
+ it("should map undelegate operations when it's not the first move call", async () => {
107
+ const tx1 = txs.find(t => t.id === "4UtCqCH3oNEdaprZR9UjaMGg6HgLn3V3q3FEcvs5vieM");
108
+ expect(tx1?.type).toBe("UNDELEGATE");
109
+ const tx2 = txs.find(t => t.id === "JEGnHCx2mtpDin216kbUBXm7V5rdMSPSUmgYbP3yxTEf");
110
+ expect(tx2?.type).toBe("UNDELEGATE");
111
+ });
112
+ });
113
+
96
114
  describe("listOperations", () => {
97
115
  let txs: Operation[];
98
116
 
@@ -182,13 +200,32 @@ describe("Sui Api", () => {
182
200
 
183
201
  describe("getBlock", () => {
184
202
  test("getBlock should get block by id or sequence number", async () => {
185
- const block = await module.getBlock(164167623);
186
- expect(block.info.height).toEqual(164167623);
187
- expect(block.info.hash).toEqual("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
188
- expect(block.info.time).toEqual(new Date(1751696298663));
189
- expect(block.info.parent?.height).toEqual(164167622);
190
- expect(block.info.parent?.hash).toEqual("6VKtVnpxstb968SzSrgYJ7zy5LXgFB6PnNHSJsT8Wr4E");
191
- expect(block.transactions.length).toEqual(19);
203
+ const block = await module.getBlock(195177985);
204
+ expect(block.info.height).toEqual(195177985);
205
+ expect(block.info.hash).toEqual("AzoHwjcCXkeiWoBVyWwZcE171zjxochFmcr9eQoNQyYn");
206
+ expect(block.info.time).toEqual(new Date(1759138080141));
207
+ expect(block.info.parent?.height).toEqual(195177984);
208
+ expect(block.info.parent?.hash).toEqual("A15NYkPDyKLZS4Swik7AY2mnLxwFET4kyNV6ChZ8tVJP");
209
+ expect(block.transactions.length).toEqual(12);
210
+ const tx = block.transactions[9];
211
+ const senderOp = tx.operations[0];
212
+ const receipientOp = tx.operations[1];
213
+ expect(tx.hash).toEqual("J3ddkv4TRqr4LviCbA3JyJCji5Kg5BcaBTkd6nMY5WXN");
214
+ expect(tx.operations.length).toEqual(2);
215
+ expect(senderOp.address).toEqual(
216
+ "0x2c814ceb68d1cb7168207b16754b1cf57e735685c4e5d87c4f50906edcc57c1c",
217
+ );
218
+ expect(senderOp.peer).toEqual(
219
+ "0xb37b298c9164c28c8aaf989a49416e3c323b67bc2b96a54501b524419ebb4ead",
220
+ );
221
+ expect(senderOp.amount).toEqual(BigInt(-1492885));
222
+ expect(receipientOp.address).toEqual(
223
+ "0xb37b298c9164c28c8aaf989a49416e3c323b67bc2b96a54501b524419ebb4ead",
224
+ );
225
+ expect(receipientOp.peer).toEqual(
226
+ "0x2c814ceb68d1cb7168207b16754b1cf57e735685c4e5d87c4f50906edcc57c1c",
227
+ );
228
+ expect(receipientOp.amount).toEqual(BigInt(5));
192
229
  });
193
230
  });
194
231
 
@@ -33,14 +33,17 @@ describe("estimateFees", () => {
33
33
 
34
34
  const result = await estimateFees(transactionIntent);
35
35
 
36
- expect(suiAPI.paymentInfo).toHaveBeenCalledWith(transactionIntent.sender, {
37
- recipient: transactionIntent.recipient,
38
- amount: BigNumber(transactionIntent.amount.toString()),
39
- coinType: "0x2::sui::SUI",
40
- errors: {},
41
- family: "sui",
42
- mode: "send",
43
- });
36
+ expect(suiAPI.paymentInfo).toHaveBeenCalledWith(
37
+ transactionIntent.sender,
38
+ expect.objectContaining({
39
+ recipient: transactionIntent.recipient,
40
+ amount: BigNumber(transactionIntent.amount.toString()),
41
+ coinType: "0x2::sui::SUI",
42
+ errors: {},
43
+ family: "sui",
44
+ mode: "send",
45
+ }),
46
+ );
44
47
  expect(result).toBe(BigInt(mockGasBudget));
45
48
  });
46
49
 
@@ -61,14 +64,17 @@ describe("estimateFees", () => {
61
64
 
62
65
  const result = await estimateFees(transactionIntent);
63
66
 
64
- expect(suiAPI.paymentInfo).toHaveBeenCalledWith(transactionIntent.sender, {
65
- recipient: transactionIntent.recipient,
66
- amount: BigNumber("0"),
67
- coinType: "0x2::sui::SUI",
68
- errors: {},
69
- family: "sui",
70
- mode: "send",
71
- });
67
+ expect(suiAPI.paymentInfo).toHaveBeenCalledWith(
68
+ transactionIntent.sender,
69
+ expect.objectContaining({
70
+ recipient: transactionIntent.recipient,
71
+ amount: BigNumber("0"),
72
+ coinType: "0x2::sui::SUI",
73
+ errors: {},
74
+ family: "sui",
75
+ mode: "send",
76
+ }),
77
+ );
72
78
  expect(result).toBe(BigInt(mockGasBudget));
73
79
  });
74
80
  });
@@ -9,7 +9,11 @@ export async function estimateFees({
9
9
  sender,
10
10
  asset,
11
11
  type,
12
- }: TransactionIntent): Promise<bigint> {
12
+ ...extra
13
+ }: TransactionIntent & {
14
+ useAllAmount?: boolean;
15
+ stakedSuiId?: string;
16
+ }): Promise<bigint> {
13
17
  let coinType = DEFAULT_COIN_TYPE;
14
18
  if (asset.type === "token" && asset.assetReference) {
15
19
  coinType = asset.assetReference;
@@ -35,6 +39,7 @@ export async function estimateFees({
35
39
  amount: BigNumber(amount.toString()),
36
40
  errors: {},
37
41
  coinType,
42
+ ...extra,
38
43
  });
39
44
  return BigInt(gasBudget);
40
45
  }
@@ -3,8 +3,12 @@ import coinConfig from "../config";
3
3
 
4
4
  import { BigNumber } from "bignumber.js";
5
5
  import { SuiClient } from "@mysten/sui/client";
6
- import type { TransactionBlockData, SuiTransactionBlockResponse } from "@mysten/sui/client";
7
- import assert from "assert";
6
+ import type {
7
+ TransactionBlockData,
8
+ SuiTransactionBlockResponse,
9
+ SuiTransactionBlockKind,
10
+ } from "@mysten/sui/client";
11
+ import assert, { fail } from "assert";
8
12
 
9
13
  // Mock SUI client for tests
10
14
  jest.mock("@mysten/sui/client", () => {
@@ -609,17 +613,48 @@ describe("SDK Functions", () => {
609
613
 
610
614
  describe("Staking Operations", () => {
611
615
  describe("Operation Type Detection", () => {
616
+ const address = "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24";
612
617
  test("getOperationType should return DELEGATE for staking transaction", () => {
613
- const address = "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24";
614
618
  expect(sdk.getOperationType(address, mockStakingTx(address, "-1000000000"))).toBe("DELEGATE");
615
619
  });
616
620
 
617
621
  test("getOperationType should return UNDELEGATE for unstaking transaction", () => {
618
- const address = "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24";
619
622
  expect(sdk.getOperationType(address, mockUnstakingTx(address, "1000000000"))).toBe(
620
623
  "UNDELEGATE",
621
624
  );
622
625
  });
626
+
627
+ function prependOtherMoveCall(block: SuiTransactionBlockKind) {
628
+ if (block?.kind === "ProgrammableTransaction") {
629
+ block.transactions.unshift({
630
+ MoveCall: {
631
+ function: "other_function",
632
+ module: "module",
633
+ package: "package",
634
+ },
635
+ });
636
+ }
637
+ }
638
+
639
+ test("getOperationType should return UNDELEGATE when it's not the first MoveCall ", () => {
640
+ const tx = mockUnstakingTx(address, "1000");
641
+ if (tx.transaction) {
642
+ prependOtherMoveCall(tx.transaction.data.transaction);
643
+ expect(sdk.getOperationType(address, tx)).toBe("UNDELEGATE");
644
+ } else {
645
+ fail("can't prepare fixture");
646
+ }
647
+ });
648
+
649
+ test("getOperationType should return DELEGATE when it's not the first MoveCall ", () => {
650
+ const tx = mockStakingTx(address, "-1000");
651
+ if (tx.transaction) {
652
+ prependOtherMoveCall(tx.transaction.data.transaction);
653
+ expect(sdk.getOperationType(address, tx)).toBe("DELEGATE");
654
+ } else {
655
+ fail("can't prepare fixture");
656
+ }
657
+ });
623
658
  });
624
659
 
625
660
  describe("Operation Amount Calculation", () => {
@@ -1748,6 +1783,7 @@ describe("filterOperations", () => {
1748
1783
  {
1749
1784
  type: "transfer",
1750
1785
  address: "0x65449f57946938c84c5127",
1786
+ peer: "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24",
1751
1787
  amount: -10000000000n,
1752
1788
  asset: { type: "native" },
1753
1789
  },
@@ -1818,6 +1854,7 @@ describe("filterOperations", () => {
1818
1854
  {
1819
1855
  type: "transfer",
1820
1856
  address: "0x65449f57946938c84c5127",
1857
+ peer: "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24",
1821
1858
  amount: 8824n,
1822
1859
  asset: {
1823
1860
  type: "token",
@@ -1909,18 +1946,21 @@ describe("filterOperations", () => {
1909
1946
  operations: [
1910
1947
  {
1911
1948
  address: "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24",
1949
+ peer: "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0",
1912
1950
  amount: -10000000000n,
1913
1951
  asset: { type: "native" },
1914
1952
  type: "transfer",
1915
1953
  },
1916
1954
  {
1917
1955
  address: "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0",
1956
+ peer: "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24",
1918
1957
  amount: 9998990120n,
1919
1958
  asset: { type: "native" },
1920
1959
  type: "transfer",
1921
1960
  },
1922
1961
  {
1923
1962
  address: "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0",
1963
+ peer: "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24",
1924
1964
  amount: 500000n,
1925
1965
  asset: { type: "token", assetReference: "0x123::test::TOKEN" },
1926
1966
  type: "transfer",
@@ -115,24 +115,26 @@ type ProgrammableTransaction = {
115
115
  transactions: SuiTransaction[];
116
116
  };
117
117
 
118
- function isMoveCallWithFunction(
118
+ function hasMoveCallWithFunction(
119
119
  functionName: string,
120
120
  block?: SuiTransactionBlockKind,
121
121
  ): block is ProgrammableTransaction {
122
122
  if (block?.kind === "ProgrammableTransaction") {
123
- const move = block.transactions.find(item => "MoveCall" in item) as any;
124
- return move?.MoveCall.function === functionName;
123
+ const move = block.transactions.find(
124
+ item => "MoveCall" in item && item["MoveCall"].function === functionName,
125
+ ) as any;
126
+ return Boolean(move);
125
127
  } else {
126
128
  return false;
127
129
  }
128
130
  }
129
131
 
130
132
  function isStaking(block?: SuiTransactionBlockKind): block is ProgrammableTransaction {
131
- return isMoveCallWithFunction("request_add_stake", block);
133
+ return hasMoveCallWithFunction("request_add_stake", block);
132
134
  }
133
135
 
134
136
  function isUnstaking(block?: SuiTransactionBlockKind): block is ProgrammableTransaction {
135
- return isMoveCallWithFunction("request_withdraw_stake", block);
137
+ return hasMoveCallWithFunction("request_withdraw_stake", block);
136
138
  }
137
139
 
138
140
  /**
@@ -463,17 +465,23 @@ export function toBlockOperation(
463
465
  if (typeof change.owner === "string" || !("AddressOwner" in change.owner)) return [];
464
466
  const address = change.owner.AddressOwner;
465
467
  const operationType = getOperationType(address, transaction);
468
+
469
+ function transferOp(peer: string | undefined): BlockOperation {
470
+ const op: BlockOperation = {
471
+ type: "transfer",
472
+ address: address,
473
+ asset: toSuiAsset(change.coinType),
474
+ amount: BigInt(change.amount),
475
+ };
476
+ if (peer) op.peer = peer;
477
+ return op;
478
+ }
479
+
466
480
  switch (operationType) {
467
481
  case "IN":
482
+ return [transferOp(getOperationSenders(transaction.transaction?.data).at(0))];
468
483
  case "OUT":
469
- return [
470
- {
471
- type: "transfer",
472
- address: change.owner.AddressOwner,
473
- asset: toSuiAsset(change.coinType),
474
- amount: BigInt(change.amount),
475
- },
476
- ];
484
+ return [transferOp(getOperationRecipients(transaction.transaction?.data).at(0))];
477
485
  case "DELEGATE":
478
486
  case "UNDELEGATE":
479
487
  return [
@@ -7,7 +7,7 @@ import {
7
7
  AmountRequired,
8
8
  } from "@ledgerhq/errors";
9
9
  import BigNumber from "bignumber.js";
10
- import { fromTransactionRaw } from "./transaction";
10
+ import { fromTransactionRaw } from "../bridge/transaction";
11
11
 
12
12
  const OWNER = "0xba7080172a6d957b9ed2e3eb643529860be963cf4af896fb84f1cde00f46b561";
13
13
  const RECIPIENT = "0x117527fdcf2f5f6e82fa499c0398def2643550d63f7e8311245d75f4635f0435";
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.integration.test.d.ts","sourceRoot":"","sources":["../../src/api/index.integration.test.ts"],"names":[],"mappings":""}
@@ -1,173 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const _1 = require(".");
4
- const live_env_1 = require("@ledgerhq/live-env");
5
- describe("Sui Api", () => {
6
- let module;
7
- const SENDER = "0xc6dcb5b920f2fdb751b4a8bad800a4ee04257020d8d6e493c8103b760095016e";
8
- const RECIPIENT = "0xba7080172a6d957b9ed2e3eb643529860be963cf4af896fb84f1cde00f46b561";
9
- beforeAll(() => {
10
- module = (0, _1.createApi)({
11
- node: {
12
- url: (0, live_env_1.getEnv)("API_SUI_NODE_PROXY"),
13
- },
14
- });
15
- });
16
- describe("estimateFees", () => {
17
- it("returns a default value", async () => {
18
- // Given
19
- const amount = BigInt(100_000);
20
- // When
21
- const result = await module.estimateFees({
22
- intentType: "transaction",
23
- asset: { type: "native" },
24
- type: "send",
25
- sender: SENDER,
26
- recipient: RECIPIENT,
27
- amount: amount,
28
- });
29
- // Then
30
- expect(result.value).toBeGreaterThan(0);
31
- });
32
- });
33
- describe("listOperations, testing cursor logic", () => {
34
- // this account has a lot of operations
35
- const binance = "0x935029ca5219502a47ac9b69f556ccf6e2198b5e7815cf50f68846f723739cbd";
36
- async function testListOperations(order) {
37
- const baseOpts = { minHeight: 0 };
38
- if (order) {
39
- baseOpts.order = order;
40
- }
41
- const [operations1, token1] = await module.listOperations(binance, baseOpts);
42
- expect(operations1.length).toBeGreaterThan(2);
43
- expect(token1).toBeTruthy();
44
- const [operations2, _] = await module.listOperations(binance, {
45
- ...baseOpts,
46
- lastPagingToken: token1,
47
- });
48
- expect(operations2.length).toBeGreaterThan(2);
49
- expect(operations2[0].tx.hash).not.toBe(operations1[0].tx.hash);
50
- // check that none of the operations in operations2 are in operations1
51
- expect(operations2.every(op2 => !operations1.some(op1 => op1.tx.hash === op2.tx.hash))).toBeTruthy();
52
- }
53
- it("should fetch operations successfully in desc order", async () => {
54
- await testListOperations("desc");
55
- });
56
- it("should fetch operations successfully in asc order", async () => {
57
- await testListOperations("asc");
58
- });
59
- it("should fetch operations successfully in default order", async () => {
60
- await testListOperations(undefined);
61
- });
62
- it("shouldn't return cursor on last page", async () => {
63
- const [operations, cursor] = await module.listOperations("0xd8908c165dee785924e7421a0fd0418a19d5daeec395fd505a92a0fd3117e428", { minHeight: 0, order: "asc" });
64
- // assume it has not a lot of operations
65
- // at time of writing, it has only 2 operations
66
- expect(operations.length).toBeLessThan(10);
67
- expect(operations.length).toBeGreaterThan(0);
68
- expect(cursor).toBe("");
69
- });
70
- });
71
- describe("listOperations", () => {
72
- let txs;
73
- beforeAll(async () => {
74
- [txs] = await module.listOperations(SENDER, { minHeight: 0, order: "asc" });
75
- });
76
- it("returns a list regarding address parameter", async () => {
77
- expect(txs.length).toBeGreaterThanOrEqual(10);
78
- txs.forEach(operation => {
79
- const isSenderOrReceipt = operation.senders.includes(SENDER) || operation.recipients.includes(SENDER);
80
- expect(isSenderOrReceipt).toBeTruthy();
81
- });
82
- });
83
- it("returns all operations", async () => {
84
- expect(txs.length).toBeGreaterThanOrEqual(10);
85
- const checkSet = new Set(txs.map(elt => elt.tx.hash));
86
- expect(checkSet.size).toBeLessThanOrEqual(txs.length);
87
- });
88
- it("at least operation should be IN", async () => {
89
- expect(txs.length).toBeGreaterThanOrEqual(10);
90
- expect(txs.some(t => t.type === "IN")).toBeTruthy();
91
- });
92
- it("at least operation should be OUT", async () => {
93
- expect(txs.length).toBeGreaterThanOrEqual(10);
94
- expect(txs.some(t => t.type === "OUT")).toBeTruthy();
95
- });
96
- it("uses the minHeight to filter", async () => {
97
- const minHeightTxs = await module.listOperations(SENDER, {
98
- minHeight: 154925948,
99
- order: "asc",
100
- });
101
- expect(txs.length).toBeGreaterThanOrEqual(minHeightTxs.length);
102
- });
103
- it("returns block height as a number", async () => {
104
- expect(txs.every(t => typeof t.tx.block.height === "number")).toBeTruthy();
105
- });
106
- it("should fail when address is invalid", async () => {
107
- // capture exception with jest
108
- await expect(module.listOperations("0xABCDEF0000000000000000000000000000000001", {
109
- minHeight: 0,
110
- order: "asc",
111
- })).rejects.toThrow("Invalid params");
112
- });
113
- });
114
- describe("getBalance", () => {
115
- it("returns a list regarding address parameter", async () => {
116
- // When
117
- const [acc] = await module.getBalance(SENDER);
118
- // Then
119
- expect(acc.value).toBeGreaterThan(0);
120
- });
121
- });
122
- describe("getLastBlock", () => {
123
- it("returns the last block", async () => {
124
- // When
125
- const result = await module.lastBlock();
126
- // Then
127
- expect(result.hash).toBeDefined();
128
- expect(result.height).toBeDefined();
129
- expect(result.time).toBeInstanceOf(Date);
130
- });
131
- });
132
- describe("getBlockInfo", () => {
133
- test("getBlockInfo should get block info by id or sequence number", async () => {
134
- const block = await module.getBlockInfo(164167623);
135
- expect(block.height).toEqual(164167623);
136
- expect(block.hash).toEqual("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
137
- expect(block.time).toEqual(new Date(1751696298663));
138
- expect(block.parent?.height).toEqual(164167622);
139
- expect(block.parent?.hash).toEqual("6VKtVnpxstb968SzSrgYJ7zy5LXgFB6PnNHSJsT8Wr4E");
140
- });
141
- });
142
- describe("getBlock", () => {
143
- test("getBlock should get block by id or sequence number", async () => {
144
- const block = await module.getBlock(164167623);
145
- expect(block.info.height).toEqual(164167623);
146
- expect(block.info.hash).toEqual("3Q4zW4ieWnNgKLEq6kvVfP35PX2tBDUJERTWYyyz4eyS");
147
- expect(block.info.time).toEqual(new Date(1751696298663));
148
- expect(block.info.parent?.height).toEqual(164167622);
149
- expect(block.info.parent?.hash).toEqual("6VKtVnpxstb968SzSrgYJ7zy5LXgFB6PnNHSJsT8Wr4E");
150
- expect(block.transactions.length).toEqual(19);
151
- });
152
- });
153
- describe("getStakes", () => {
154
- test("Account 0xea438b6ce07762ea61e04af4d405dfcf197d5f77d30765f365f75460380f3cce", async () => {
155
- const stakes = await module.getStakes("0xea438b6ce07762ea61e04af4d405dfcf197d5f77d30765f365f75460380f3cce");
156
- expect(stakes.items.length).toBeGreaterThan(0);
157
- stakes.items.forEach(stake => {
158
- expect(stake.uid).toMatch(/0x[0-9a-z]+/);
159
- expect(stake.address).toMatch(/0x[0-9a-z]+/);
160
- expect(stake.delegate).toMatch(/0x[0-9a-z]+/);
161
- expect(stake.state).toMatch(/(activating|active|inactive)/);
162
- expect(stake.asset).toEqual({ type: "native" });
163
- expect(stake.amount).toBeGreaterThan(0);
164
- expect(stake.amountDeposited).toBeGreaterThan(0);
165
- expect(stake.amountRewarded).toBeGreaterThanOrEqual(0);
166
- // @ts-expect-error properties are defined
167
- expect(stake.amount).toEqual(stake.amountDeposited + stake.amountRewarded);
168
- expect(stake.details).toBeDefined();
169
- });
170
- });
171
- });
172
- });
173
- //# sourceMappingURL=index.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.integration.test.js","sourceRoot":"","sources":["../../src/api/index.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":""}