@ledgerhq/coin-sui 0.16.0 → 0.17.0-nightly.1

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 (329) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +2 -1
  3. package/CHANGELOG.md +22 -0
  4. package/lib/api/index.d.ts.map +1 -1
  5. package/lib/api/index.js +1 -0
  6. package/lib/api/index.js.map +1 -1
  7. package/lib/logic/estimateFees.d.ts +4 -1
  8. package/lib/logic/estimateFees.d.ts.map +1 -1
  9. package/lib/logic/estimateFees.js +2 -1
  10. package/lib/logic/estimateFees.js.map +1 -1
  11. package/lib/logic/getValidators.d.ts +3 -0
  12. package/lib/logic/getValidators.d.ts.map +1 -0
  13. package/lib/logic/getValidators.js +24 -0
  14. package/lib/logic/getValidators.js.map +1 -0
  15. package/lib/logic/index.d.ts +1 -0
  16. package/lib/logic/index.d.ts.map +1 -1
  17. package/lib/logic/index.js +3 -1
  18. package/lib/logic/index.js.map +1 -1
  19. package/lib/network/index.d.ts +3 -2
  20. package/lib/network/index.d.ts.map +1 -1
  21. package/lib/network/index.js +3 -1
  22. package/lib/network/index.js.map +1 -1
  23. package/lib/network/sdk.d.ts +4 -1
  24. package/lib/network/sdk.d.ts.map +1 -1
  25. package/lib/network/sdk.js +54 -23
  26. package/lib/network/sdk.js.map +1 -1
  27. package/lib/{bridge/bridge.integration.test.d.ts → test/bridge.dataset.d.ts} +1 -1
  28. package/lib/test/bridge.dataset.d.ts.map +1 -0
  29. package/lib/{bridge/bridge.integration.test.js → test/bridge.dataset.js} +2 -2
  30. package/lib/test/bridge.dataset.js.map +1 -0
  31. package/lib-es/api/index.d.ts.map +1 -1
  32. package/lib-es/api/index.js +2 -1
  33. package/lib-es/api/index.js.map +1 -1
  34. package/lib-es/logic/estimateFees.d.ts +4 -1
  35. package/lib-es/logic/estimateFees.d.ts.map +1 -1
  36. package/lib-es/logic/estimateFees.js +2 -1
  37. package/lib-es/logic/estimateFees.js.map +1 -1
  38. package/lib-es/logic/getValidators.d.ts +3 -0
  39. package/lib-es/logic/getValidators.d.ts.map +1 -0
  40. package/lib-es/logic/getValidators.js +20 -0
  41. package/lib-es/logic/getValidators.js.map +1 -0
  42. package/lib-es/logic/index.d.ts +1 -0
  43. package/lib-es/logic/index.d.ts.map +1 -1
  44. package/lib-es/logic/index.js +1 -0
  45. package/lib-es/logic/index.js.map +1 -1
  46. package/lib-es/network/index.d.ts +3 -2
  47. package/lib-es/network/index.d.ts.map +1 -1
  48. package/lib-es/network/index.js +3 -2
  49. package/lib-es/network/index.js.map +1 -1
  50. package/lib-es/network/sdk.d.ts +4 -1
  51. package/lib-es/network/sdk.d.ts.map +1 -1
  52. package/lib-es/network/sdk.js +52 -22
  53. package/lib-es/network/sdk.js.map +1 -1
  54. package/lib-es/{bridge/bridge.integration.test.d.ts → test/bridge.dataset.d.ts} +1 -1
  55. package/lib-es/test/bridge.dataset.d.ts.map +1 -0
  56. package/lib-es/{bridge/bridge.integration.test.js → test/bridge.dataset.js} +2 -2
  57. package/lib-es/test/bridge.dataset.js.map +1 -0
  58. package/package.json +5 -9
  59. package/src/api/index.integration.test.ts +80 -7
  60. package/src/api/index.ts +2 -0
  61. package/src/logic/estimateFees.test.ts +22 -16
  62. package/src/logic/estimateFees.ts +6 -1
  63. package/src/logic/getValidators.test.ts +92 -0
  64. package/src/logic/getValidators.ts +23 -0
  65. package/src/logic/index.ts +1 -0
  66. package/src/network/index.ts +3 -0
  67. package/src/network/sdk.test.ts +134 -60
  68. package/src/network/sdk.ts +58 -23
  69. package/src/{bridge/bridge.integration.test.ts → test/bridge.dataset.ts} +1 -1
  70. package/lib/api/index.integration.test.d.ts +0 -2
  71. package/lib/api/index.integration.test.d.ts.map +0 -1
  72. package/lib/api/index.integration.test.js +0 -173
  73. package/lib/api/index.integration.test.js.map +0 -1
  74. package/lib/api/index.test.d.ts +0 -2
  75. package/lib/api/index.test.d.ts.map +0 -1
  76. package/lib/api/index.test.js +0 -173
  77. package/lib/api/index.test.js.map +0 -1
  78. package/lib/bridge/bridge.integration.test.d.ts.map +0 -1
  79. package/lib/bridge/bridge.integration.test.js.map +0 -1
  80. package/lib/bridge/broadcast.test.d.ts +0 -2
  81. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  82. package/lib/bridge/broadcast.test.js +0 -48
  83. package/lib/bridge/broadcast.test.js.map +0 -1
  84. package/lib/bridge/buildOptimisticOperation.test.d.ts +0 -2
  85. package/lib/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  86. package/lib/bridge/buildOptimisticOperation.test.js +0 -52
  87. package/lib/bridge/buildOptimisticOperation.test.js.map +0 -1
  88. package/lib/bridge/buildTransaction.integration.test.d.ts +0 -2
  89. package/lib/bridge/buildTransaction.integration.test.d.ts.map +0 -1
  90. package/lib/bridge/buildTransaction.integration.test.js +0 -72
  91. package/lib/bridge/buildTransaction.integration.test.js.map +0 -1
  92. package/lib/bridge/buildTransaction.test.d.ts +0 -2
  93. package/lib/bridge/buildTransaction.test.d.ts.map +0 -1
  94. package/lib/bridge/buildTransaction.test.js +0 -231
  95. package/lib/bridge/buildTransaction.test.js.map +0 -1
  96. package/lib/bridge/estimateMaxSpendable.test.d.ts +0 -2
  97. package/lib/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  98. package/lib/bridge/estimateMaxSpendable.test.js +0 -52
  99. package/lib/bridge/estimateMaxSpendable.test.js.map +0 -1
  100. package/lib/bridge/formatters.test.d.ts +0 -2
  101. package/lib/bridge/formatters.test.d.ts.map +0 -1
  102. package/lib/bridge/formatters.test.js +0 -18
  103. package/lib/bridge/formatters.test.js.map +0 -1
  104. package/lib/bridge/getFeesForTransaction.test.d.ts +0 -2
  105. package/lib/bridge/getFeesForTransaction.test.d.ts.map +0 -1
  106. package/lib/bridge/getFeesForTransaction.test.js +0 -35
  107. package/lib/bridge/getFeesForTransaction.test.js.map +0 -1
  108. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  109. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  110. package/lib/bridge/getTransactionStatus.test.js +0 -69
  111. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  112. package/lib/bridge/index.test.d.ts +0 -2
  113. package/lib/bridge/index.test.d.ts.map +0 -1
  114. package/lib/bridge/index.test.js +0 -265
  115. package/lib/bridge/index.test.js.map +0 -1
  116. package/lib/bridge/preload.test.d.ts +0 -2
  117. package/lib/bridge/preload.test.d.ts.map +0 -1
  118. package/lib/bridge/preload.test.js +0 -52
  119. package/lib/bridge/preload.test.js.map +0 -1
  120. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  121. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  122. package/lib/bridge/prepareTransaction.test.js +0 -97
  123. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  124. package/lib/bridge/serialization.test.d.ts +0 -2
  125. package/lib/bridge/serialization.test.d.ts.map +0 -1
  126. package/lib/bridge/serialization.test.js +0 -131
  127. package/lib/bridge/serialization.test.js.map +0 -1
  128. package/lib/bridge/signOperation.integration.test.d.ts +0 -2
  129. package/lib/bridge/signOperation.integration.test.d.ts.map +0 -1
  130. package/lib/bridge/signOperation.integration.test.js +0 -80
  131. package/lib/bridge/signOperation.integration.test.js.map +0 -1
  132. package/lib/bridge/signOperation.test.d.ts +0 -2
  133. package/lib/bridge/signOperation.test.d.ts.map +0 -1
  134. package/lib/bridge/signOperation.test.js +0 -445
  135. package/lib/bridge/signOperation.test.js.map +0 -1
  136. package/lib/bridge/synchronisation.test.d.ts +0 -2
  137. package/lib/bridge/synchronisation.test.d.ts.map +0 -1
  138. package/lib/bridge/synchronisation.test.js +0 -505
  139. package/lib/bridge/synchronisation.test.js.map +0 -1
  140. package/lib/bridge/transaction.test.d.ts +0 -2
  141. package/lib/bridge/transaction.test.d.ts.map +0 -1
  142. package/lib/bridge/transaction.test.js +0 -68
  143. package/lib/bridge/transaction.test.js.map +0 -1
  144. package/lib/logic/broadcast.test.d.ts +0 -2
  145. package/lib/logic/broadcast.test.d.ts.map +0 -1
  146. package/lib/logic/broadcast.test.js +0 -62
  147. package/lib/logic/broadcast.test.js.map +0 -1
  148. package/lib/logic/combine.test.d.ts +0 -2
  149. package/lib/logic/combine.test.d.ts.map +0 -1
  150. package/lib/logic/combine.test.js +0 -37
  151. package/lib/logic/combine.test.js.map +0 -1
  152. package/lib/logic/craftTransaction.integration.test.d.ts +0 -2
  153. package/lib/logic/craftTransaction.integration.test.d.ts.map +0 -1
  154. package/lib/logic/craftTransaction.integration.test.js +0 -98
  155. package/lib/logic/craftTransaction.integration.test.js.map +0 -1
  156. package/lib/logic/craftTransaction.test.d.ts +0 -2
  157. package/lib/logic/craftTransaction.test.d.ts.map +0 -1
  158. package/lib/logic/craftTransaction.test.js +0 -127
  159. package/lib/logic/craftTransaction.test.js.map +0 -1
  160. package/lib/logic/estimateFees.integration.test.d.ts +0 -2
  161. package/lib/logic/estimateFees.integration.test.d.ts.map +0 -1
  162. package/lib/logic/estimateFees.integration.test.js +0 -82
  163. package/lib/logic/estimateFees.integration.test.js.map +0 -1
  164. package/lib/logic/estimateFees.test.d.ts +0 -2
  165. package/lib/logic/estimateFees.test.d.ts.map +0 -1
  166. package/lib/logic/estimateFees.test.js +0 -70
  167. package/lib/logic/estimateFees.test.js.map +0 -1
  168. package/lib/logic/getBalance.integration.test.d.ts +0 -2
  169. package/lib/logic/getBalance.integration.test.d.ts.map +0 -1
  170. package/lib/logic/getBalance.integration.test.js +0 -56
  171. package/lib/logic/getBalance.integration.test.js.map +0 -1
  172. package/lib/logic/getBalance.test.d.ts +0 -2
  173. package/lib/logic/getBalance.test.d.ts.map +0 -1
  174. package/lib/logic/getBalance.test.js +0 -64
  175. package/lib/logic/getBalance.test.js.map +0 -1
  176. package/lib/logic/lastBlock.test.d.ts +0 -2
  177. package/lib/logic/lastBlock.test.d.ts.map +0 -1
  178. package/lib/logic/lastBlock.test.js +0 -27
  179. package/lib/logic/lastBlock.test.js.map +0 -1
  180. package/lib/logic/listOperations.test.d.ts +0 -2
  181. package/lib/logic/listOperations.test.d.ts.map +0 -1
  182. package/lib/logic/listOperations.test.js +0 -79
  183. package/lib/logic/listOperations.test.js.map +0 -1
  184. package/lib/network/sdk.integration.test.d.ts +0 -2
  185. package/lib/network/sdk.integration.test.d.ts.map +0 -1
  186. package/lib/network/sdk.integration.test.js +0 -215
  187. package/lib/network/sdk.integration.test.js.map +0 -1
  188. package/lib/network/sdk.test.d.ts +0 -2
  189. package/lib/network/sdk.test.d.ts.map +0 -1
  190. package/lib/network/sdk.test.js +0 -1784
  191. package/lib/network/sdk.test.js.map +0 -1
  192. package/lib/signer/getAddress.test.d.ts +0 -2
  193. package/lib/signer/getAddress.test.d.ts.map +0 -1
  194. package/lib/signer/getAddress.test.js +0 -106
  195. package/lib/signer/getAddress.test.js.map +0 -1
  196. package/lib/test/config.test.d.ts +0 -2
  197. package/lib/test/config.test.d.ts.map +0 -1
  198. package/lib/test/config.test.js +0 -44
  199. package/lib/test/config.test.js.map +0 -1
  200. package/lib-es/api/index.integration.test.d.ts +0 -2
  201. package/lib-es/api/index.integration.test.d.ts.map +0 -1
  202. package/lib-es/api/index.integration.test.js +0 -171
  203. package/lib-es/api/index.integration.test.js.map +0 -1
  204. package/lib-es/api/index.test.d.ts +0 -2
  205. package/lib-es/api/index.test.d.ts.map +0 -1
  206. package/lib-es/api/index.test.js +0 -148
  207. package/lib-es/api/index.test.js.map +0 -1
  208. package/lib-es/bridge/bridge.integration.test.d.ts.map +0 -1
  209. package/lib-es/bridge/bridge.integration.test.js.map +0 -1
  210. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  211. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  212. package/lib-es/bridge/broadcast.test.js +0 -46
  213. package/lib-es/bridge/broadcast.test.js.map +0 -1
  214. package/lib-es/bridge/buildOptimisticOperation.test.d.ts +0 -2
  215. package/lib-es/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  216. package/lib-es/bridge/buildOptimisticOperation.test.js +0 -47
  217. package/lib-es/bridge/buildOptimisticOperation.test.js.map +0 -1
  218. package/lib-es/bridge/buildTransaction.integration.test.d.ts +0 -2
  219. package/lib-es/bridge/buildTransaction.integration.test.d.ts.map +0 -1
  220. package/lib-es/bridge/buildTransaction.integration.test.js +0 -67
  221. package/lib-es/bridge/buildTransaction.integration.test.js.map +0 -1
  222. package/lib-es/bridge/buildTransaction.test.d.ts +0 -2
  223. package/lib-es/bridge/buildTransaction.test.d.ts.map +0 -1
  224. package/lib-es/bridge/buildTransaction.test.js +0 -229
  225. package/lib-es/bridge/buildTransaction.test.js.map +0 -1
  226. package/lib-es/bridge/estimateMaxSpendable.test.d.ts +0 -2
  227. package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  228. package/lib-es/bridge/estimateMaxSpendable.test.js +0 -50
  229. package/lib-es/bridge/estimateMaxSpendable.test.js.map +0 -1
  230. package/lib-es/bridge/formatters.test.d.ts +0 -2
  231. package/lib-es/bridge/formatters.test.d.ts.map +0 -1
  232. package/lib-es/bridge/formatters.test.js +0 -16
  233. package/lib-es/bridge/formatters.test.js.map +0 -1
  234. package/lib-es/bridge/getFeesForTransaction.test.d.ts +0 -2
  235. package/lib-es/bridge/getFeesForTransaction.test.d.ts.map +0 -1
  236. package/lib-es/bridge/getFeesForTransaction.test.js +0 -30
  237. package/lib-es/bridge/getFeesForTransaction.test.js.map +0 -1
  238. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  239. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  240. package/lib-es/bridge/getTransactionStatus.test.js +0 -64
  241. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  242. package/lib-es/bridge/index.test.d.ts +0 -2
  243. package/lib-es/bridge/index.test.d.ts.map +0 -1
  244. package/lib-es/bridge/index.test.js +0 -260
  245. package/lib-es/bridge/index.test.js.map +0 -1
  246. package/lib-es/bridge/preload.test.d.ts +0 -2
  247. package/lib-es/bridge/preload.test.d.ts.map +0 -1
  248. package/lib-es/bridge/preload.test.js +0 -50
  249. package/lib-es/bridge/preload.test.js.map +0 -1
  250. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  251. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  252. package/lib-es/bridge/prepareTransaction.test.js +0 -92
  253. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  254. package/lib-es/bridge/serialization.test.d.ts +0 -2
  255. package/lib-es/bridge/serialization.test.d.ts.map +0 -1
  256. package/lib-es/bridge/serialization.test.js +0 -126
  257. package/lib-es/bridge/serialization.test.js.map +0 -1
  258. package/lib-es/bridge/signOperation.integration.test.d.ts +0 -2
  259. package/lib-es/bridge/signOperation.integration.test.d.ts.map +0 -1
  260. package/lib-es/bridge/signOperation.integration.test.js +0 -75
  261. package/lib-es/bridge/signOperation.integration.test.js.map +0 -1
  262. package/lib-es/bridge/signOperation.test.d.ts +0 -2
  263. package/lib-es/bridge/signOperation.test.d.ts.map +0 -1
  264. package/lib-es/bridge/signOperation.test.js +0 -440
  265. package/lib-es/bridge/signOperation.test.js.map +0 -1
  266. package/lib-es/bridge/synchronisation.test.d.ts +0 -2
  267. package/lib-es/bridge/synchronisation.test.d.ts.map +0 -1
  268. package/lib-es/bridge/synchronisation.test.js +0 -477
  269. package/lib-es/bridge/synchronisation.test.js.map +0 -1
  270. package/lib-es/bridge/transaction.test.d.ts +0 -2
  271. package/lib-es/bridge/transaction.test.d.ts.map +0 -1
  272. package/lib-es/bridge/transaction.test.js +0 -66
  273. package/lib-es/bridge/transaction.test.js.map +0 -1
  274. package/lib-es/logic/broadcast.test.d.ts +0 -2
  275. package/lib-es/logic/broadcast.test.d.ts.map +0 -1
  276. package/lib-es/logic/broadcast.test.js +0 -57
  277. package/lib-es/logic/broadcast.test.js.map +0 -1
  278. package/lib-es/logic/combine.test.d.ts +0 -2
  279. package/lib-es/logic/combine.test.d.ts.map +0 -1
  280. package/lib-es/logic/combine.test.js +0 -35
  281. package/lib-es/logic/combine.test.js.map +0 -1
  282. package/lib-es/logic/craftTransaction.integration.test.d.ts +0 -2
  283. package/lib-es/logic/craftTransaction.integration.test.d.ts.map +0 -1
  284. package/lib-es/logic/craftTransaction.integration.test.js +0 -93
  285. package/lib-es/logic/craftTransaction.integration.test.js.map +0 -1
  286. package/lib-es/logic/craftTransaction.test.d.ts +0 -2
  287. package/lib-es/logic/craftTransaction.test.d.ts.map +0 -1
  288. package/lib-es/logic/craftTransaction.test.js +0 -122
  289. package/lib-es/logic/craftTransaction.test.js.map +0 -1
  290. package/lib-es/logic/estimateFees.integration.test.d.ts +0 -2
  291. package/lib-es/logic/estimateFees.integration.test.d.ts.map +0 -1
  292. package/lib-es/logic/estimateFees.integration.test.js +0 -77
  293. package/lib-es/logic/estimateFees.integration.test.js.map +0 -1
  294. package/lib-es/logic/estimateFees.test.d.ts +0 -2
  295. package/lib-es/logic/estimateFees.test.d.ts.map +0 -1
  296. package/lib-es/logic/estimateFees.test.js +0 -65
  297. package/lib-es/logic/estimateFees.test.js.map +0 -1
  298. package/lib-es/logic/getBalance.integration.test.d.ts +0 -2
  299. package/lib-es/logic/getBalance.integration.test.d.ts.map +0 -1
  300. package/lib-es/logic/getBalance.integration.test.js +0 -51
  301. package/lib-es/logic/getBalance.integration.test.js.map +0 -1
  302. package/lib-es/logic/getBalance.test.d.ts +0 -2
  303. package/lib-es/logic/getBalance.test.d.ts.map +0 -1
  304. package/lib-es/logic/getBalance.test.js +0 -62
  305. package/lib-es/logic/getBalance.test.js.map +0 -1
  306. package/lib-es/logic/lastBlock.test.d.ts +0 -2
  307. package/lib-es/logic/lastBlock.test.d.ts.map +0 -1
  308. package/lib-es/logic/lastBlock.test.js +0 -25
  309. package/lib-es/logic/lastBlock.test.js.map +0 -1
  310. package/lib-es/logic/listOperations.test.d.ts +0 -2
  311. package/lib-es/logic/listOperations.test.d.ts.map +0 -1
  312. package/lib-es/logic/listOperations.test.js +0 -77
  313. package/lib-es/logic/listOperations.test.js.map +0 -1
  314. package/lib-es/network/sdk.integration.test.d.ts +0 -2
  315. package/lib-es/network/sdk.integration.test.d.ts.map +0 -1
  316. package/lib-es/network/sdk.integration.test.js +0 -210
  317. package/lib-es/network/sdk.integration.test.js.map +0 -1
  318. package/lib-es/network/sdk.test.d.ts +0 -2
  319. package/lib-es/network/sdk.test.d.ts.map +0 -1
  320. package/lib-es/network/sdk.test.js +0 -1756
  321. package/lib-es/network/sdk.test.js.map +0 -1
  322. package/lib-es/signer/getAddress.test.d.ts +0 -2
  323. package/lib-es/signer/getAddress.test.d.ts.map +0 -1
  324. package/lib-es/signer/getAddress.test.js +0 -101
  325. package/lib-es/signer/getAddress.test.js.map +0 -1
  326. package/lib-es/test/config.test.d.ts +0 -2
  327. package/lib-es/test/config.test.d.ts.map +0 -1
  328. package/lib-es/test/config.test.js +0 -39
  329. package/lib-es/test/config.test.js.map +0 -1
@@ -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
  /**
@@ -341,10 +343,6 @@ export function transactionToOperation(
341
343
  };
342
344
  }
343
345
 
344
- function absoluteAmount(balanceChange: BalanceChange | undefined): BigNumber {
345
- return new BigNumber(balanceChange?.amount || 0).abs();
346
- }
347
-
348
346
  // This function is only used by alpaca code path
349
347
  // Logic is similar to getOperationAmount, but we guarantee to return a positive amount in any case
350
348
  // If there is need to display negative amount for staking or unstaking, the view can handle it based on the type of the operation
@@ -356,9 +354,11 @@ export const alpacaGetOperationAmount = (
356
354
  const zero = BigNumber(0);
357
355
 
358
356
  const tx = transaction.transaction?.data.transaction;
359
-
360
- if (isStaking(tx) || isUnstaking(tx)) return absoluteAmount(transaction.balanceChanges?.[0]);
361
- else {
357
+ const change = transaction.balanceChanges;
358
+ if (isStaking(tx) || isUnstaking(tx)) {
359
+ if (change) return removeFeesFromAmountForNative(change[0], getOperationFee(transaction)).abs();
360
+ return BigNumber(0);
361
+ } else {
362
362
  return (
363
363
  transaction.balanceChanges
364
364
  ?.filter(
@@ -368,7 +368,11 @@ export const alpacaGetOperationAmount = (
368
368
  balanceChange.owner.AddressOwner === address &&
369
369
  balanceChange.coinType === coinType,
370
370
  )
371
- .map(absoluteAmount)
371
+ .map(change => {
372
+ if (isSender(address, transaction.transaction?.data))
373
+ return removeFeesFromAmountForNative(change, getOperationFee(transaction)).abs();
374
+ else return BigNumber(change.amount).abs();
375
+ })
372
376
  .reduce((acc, curr) => acc.plus(curr), zero) || zero
373
377
  );
374
378
  }
@@ -441,38 +445,62 @@ export function toBlockInfo(checkpoint: Checkpoint): BlockInfo {
441
445
  * @param transaction SUI RPC transaction block response
442
446
  */
443
447
  export function toBlockTransaction(transaction: SuiTransactionBlockResponse): BlockTransaction {
448
+ const operationFee = getOperationFee(transaction);
444
449
  return {
445
450
  hash: transaction.digest,
446
451
  failed: transaction.effects?.status.status !== "success",
447
452
  operations:
448
- transaction.balanceChanges?.flatMap(change => toBlockOperation(transaction, change)) || [],
449
- fees: BigInt(getOperationFee(transaction).toString()),
453
+ transaction.balanceChanges?.flatMap(change =>
454
+ toBlockOperation(transaction, change, operationFee),
455
+ ) || [],
456
+ fees: BigInt(operationFee.toString()),
450
457
  feesPayer: transaction.transaction?.data.sender || "",
451
458
  };
452
459
  }
453
460
 
461
+ export function removeFeesFromAmountForNative(change: BalanceChange, fees: BigNumber): BigNumber {
462
+ if (change.coinType === DEFAULT_COIN_TYPE) return BigNumber(change.amount).plus(fees);
463
+ return BigNumber(change.amount);
464
+ }
465
+
454
466
  /**
455
467
  * Convert a SUI RPC transaction balance change to a {@link BlockOperation}.
456
468
  *
469
+ * @param transaction
457
470
  * @param change balance change
471
+ * @param fees transaction fees to be deducted from the amount if applicable
458
472
  */
459
473
  export function toBlockOperation(
460
474
  transaction: SuiTransactionBlockResponse,
461
475
  change: BalanceChange,
476
+ fees: BigNumber,
462
477
  ): BlockOperation[] {
463
478
  if (typeof change.owner === "string" || !("AddressOwner" in change.owner)) return [];
464
479
  const address = change.owner.AddressOwner;
465
480
  const operationType = getOperationType(address, transaction);
481
+
482
+ function transferOp(peer: string | undefined, amount: bigint): BlockOperation {
483
+ const op: BlockOperation = {
484
+ type: "transfer",
485
+ address: address,
486
+ asset: toSuiAsset(change.coinType),
487
+ amount: amount,
488
+ };
489
+ if (peer) op.peer = peer;
490
+ return op;
491
+ }
492
+
466
493
  switch (operationType) {
467
494
  case "IN":
495
+ return [
496
+ transferOp(getOperationSenders(transaction.transaction?.data).at(0), BigInt(change.amount)),
497
+ ];
468
498
  case "OUT":
469
499
  return [
470
- {
471
- type: "transfer",
472
- address: change.owner.AddressOwner,
473
- asset: toSuiAsset(change.coinType),
474
- amount: BigInt(change.amount),
475
- },
500
+ transferOp(
501
+ getOperationRecipients(transaction.transaction?.data).at(0),
502
+ BigInt(removeFeesFromAmountForNative(change, fees).toString()),
503
+ ),
476
504
  ];
477
505
  case "DELEGATE":
478
506
  case "UNDELEGATE":
@@ -482,11 +510,18 @@ export function toBlockOperation(
482
510
  operationType: operationType,
483
511
  address: change.owner.AddressOwner,
484
512
  asset: toSuiAsset(change.coinType),
485
- amount: BigInt(absoluteAmount(change).toString()),
513
+ amount: BigInt(removeFeesFromAmountForNative(change, fees).toString()),
486
514
  },
487
515
  ];
488
516
  default:
489
- return [];
517
+ return [
518
+ {
519
+ type: "transfer",
520
+ address: address,
521
+ asset: toSuiAsset(change.coinType),
522
+ amount: BigInt(change.amount),
523
+ },
524
+ ];
490
525
  }
491
526
  }
492
527
 
@@ -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":""}
@@ -1,173 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const index_1 = require("./index");
27
- const logic = __importStar(require("../logic"));
28
- jest.mock("../logic");
29
- jest.mock("../config", () => ({
30
- __esModule: true,
31
- default: {
32
- setCoinConfig: jest.fn(),
33
- getCoinConfig: jest.fn(),
34
- },
35
- }));
36
- const mockConfig = {
37
- node: { url: "http://localhost:1234" },
38
- status: { type: "active" },
39
- };
40
- describe("api/index", () => {
41
- let api;
42
- beforeEach(() => {
43
- jest.clearAllMocks();
44
- api = (0, index_1.createApi)(mockConfig);
45
- });
46
- it("should set coin config and return API object", () => {
47
- expect(typeof api).toBe("object");
48
- expect(Object.keys(api)).toEqual(expect.arrayContaining([
49
- "broadcast",
50
- "combine",
51
- "craftTransaction",
52
- "estimateFees",
53
- "getBalance",
54
- "lastBlock",
55
- "listOperations",
56
- ]));
57
- });
58
- it("should call broadcast from logic", async () => {
59
- const mockBroadcast = jest.spyOn(logic, "broadcast").mockResolvedValue("broadcasted");
60
- const result = await api.broadcast("tx");
61
- expect(mockBroadcast).toHaveBeenCalledWith("tx");
62
- expect(result).toBe("broadcasted");
63
- });
64
- it("should call combine from logic", async () => {
65
- const mockCombine = jest.spyOn(logic, "combine").mockReturnValue("combined-tx");
66
- const arg1 = "txstring";
67
- const arg2 = "sigstring";
68
- const result = api.combine(arg1, arg2);
69
- expect(mockCombine).toHaveBeenCalledWith(arg1, arg2);
70
- expect(result).toBe("combined-tx");
71
- });
72
- it("should call craftTransaction via craft wrapper and return hex string", async () => {
73
- const unsigned = Buffer.from("unsignedTx");
74
- jest.spyOn(logic, "craftTransaction").mockResolvedValue({ unsigned });
75
- const txIntent = { foo: "bar" };
76
- const { transaction: result } = await api.craftTransaction(txIntent);
77
- expect(result).toBe(unsigned.toString("hex"));
78
- expect(logic.craftTransaction).toHaveBeenCalledWith(txIntent, true);
79
- });
80
- it("should call estimateFees via estimate wrapper and return FeeEstimation", async () => {
81
- jest.spyOn(logic, "estimateFees").mockResolvedValue(123n);
82
- const txIntent = { foo: "bar" };
83
- const result = await api.estimateFees(txIntent);
84
- expect(result).toEqual({ value: 123n });
85
- expect(logic.estimateFees).toHaveBeenCalledWith(txIntent);
86
- });
87
- it("should call getBalance from logic", async () => {
88
- const mockGetBalance = jest
89
- .spyOn(logic, "getBalance")
90
- .mockResolvedValue([{ value: 42n, asset: { type: "native" } }]);
91
- const result = await api.getBalance("address");
92
- expect(mockGetBalance).toHaveBeenCalledWith("address");
93
- expect(result).toEqual([{ value: 42n, asset: { type: "native" } }]);
94
- });
95
- it("should call lastBlock from logic", async () => {
96
- const mockLastBlock = jest
97
- .spyOn(logic, "lastBlock")
98
- .mockResolvedValue({ hash: "h", height: 1, time: new Date() });
99
- const result = await api.lastBlock();
100
- expect(mockLastBlock).toHaveBeenCalled();
101
- expect(result).toHaveProperty("hash");
102
- expect(result).toHaveProperty("height");
103
- expect(result).toHaveProperty("time");
104
- });
105
- it("should call listOperations from logic", async () => {
106
- const minimalOperation = {
107
- id: "op1",
108
- type: "IN",
109
- senders: ["sender1"],
110
- recipients: ["recipient1"],
111
- value: 1n,
112
- asset: { type: "native" },
113
- tx: {
114
- hash: "hash1",
115
- block: { height: 1 },
116
- fees: 1n,
117
- date: new Date(),
118
- },
119
- };
120
- const mockListOperations = jest
121
- .spyOn(logic, "listOperations")
122
- .mockResolvedValue([[minimalOperation], ""]); // Return empty string for cursor
123
- const result = await api.listOperations("address", { minHeight: 0, order: "asc" });
124
- expect(mockListOperations).toHaveBeenCalledWith("address", { minHeight: 0, order: "asc" });
125
- expect(result).toEqual([[minimalOperation], ""]);
126
- });
127
- it("should call getStakes from logic", async () => {
128
- const value = {
129
- items: [
130
- {
131
- uid: "stake-uid",
132
- address: "stake-address",
133
- delegate: "stake-delegate",
134
- state: "activating",
135
- asset: { type: "native" },
136
- amount: 3n,
137
- amountDeposited: 1n,
138
- amountRewarded: 2n,
139
- details: { foo: "bar" },
140
- },
141
- ],
142
- };
143
- const mockGetStakes = jest.spyOn(logic, "getStakes").mockResolvedValue(value);
144
- const result = await api.getStakes("address");
145
- expect(mockGetStakes).toHaveBeenCalledWith("address");
146
- expect(result).toEqual(value);
147
- });
148
- it("should call getRewards from logic", async () => {
149
- const value = {
150
- items: [
151
- {
152
- stake: "stake-uid",
153
- asset: { type: "native" },
154
- amount: 3n,
155
- receivedAt: new Date(1337),
156
- },
157
- ],
158
- };
159
- const mockGetRewards = jest.spyOn(logic, "getRewards").mockResolvedValue(value);
160
- const result = await api.getRewards("address");
161
- expect(mockGetRewards).toHaveBeenCalledWith("address");
162
- expect(result).toEqual(value);
163
- });
164
- it("should throw if craftTransaction throws", async () => {
165
- jest.spyOn(logic, "craftTransaction").mockRejectedValue(new Error("fail"));
166
- await expect(api.craftTransaction({})).rejects.toThrow("fail");
167
- });
168
- it("should throw if estimateFees throws", async () => {
169
- jest.spyOn(logic, "estimateFees").mockRejectedValue(new Error("fail"));
170
- await expect(api.estimateFees({})).rejects.toThrow("fail");
171
- });
172
- });
173
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.integration.test.d.ts","sourceRoot":"","sources":["../../src/bridge/bridge.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AA8IvC,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,WAAW,CAK5C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.integration.test.js","sourceRoot":"","sources":["../../src/bridge/bridge.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=broadcast.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broadcast.test.d.ts","sourceRoot":"","sources":["../../src/bridge/broadcast.test.ts"],"names":[],"mappings":""}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const bridge_fixture_1 = require("../types/bridge.fixture");
4
- const broadcast_1 = require("./broadcast");
5
- const executeTransactionBlock = jest.fn();
6
- jest.mock("../network", () => {
7
- return {
8
- executeTransactionBlock: (arg) => executeTransactionBlock(arg),
9
- };
10
- });
11
- describe("broadcast", () => {
12
- it("calls explorer for broadcast operation", async () => {
13
- // WHEN
14
- await (0, broadcast_1.broadcast)({
15
- account: {},
16
- signedOperation: {
17
- signature: "SIGNATURE",
18
- operation: (0, bridge_fixture_1.createFixtureOperation)(),
19
- rawData: {
20
- serializedSignature: new Uint8Array(64).fill(0x42),
21
- unsigned: Buffer.from(new Uint8Array(64).fill(0x42)).toString("base64"),
22
- },
23
- },
24
- });
25
- // THEN
26
- expect(executeTransactionBlock).toHaveBeenCalledTimes(1);
27
- expect(executeTransactionBlock.mock.lastCall[0]).toHaveProperty("signature");
28
- });
29
- it("updates the signed operation", async () => {
30
- // GIVEN
31
- const operation = (0, bridge_fixture_1.createFixtureOperation)();
32
- // WHEN
33
- const result = await (0, broadcast_1.broadcast)({
34
- account: {},
35
- signedOperation: {
36
- signature: "SIGNATURE",
37
- operation,
38
- rawData: {
39
- serializedSignature: new Uint8Array(64).fill(0x42),
40
- unsigned: Buffer.from(new Uint8Array(64).fill(0x42)).toString("base64"),
41
- },
42
- },
43
- });
44
- // THEN
45
- expect(result.hash).not.toEqual(operation.hash);
46
- });
47
- });
48
- //# sourceMappingURL=broadcast.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broadcast.test.js","sourceRoot":"","sources":["../../src/bridge/broadcast.test.ts"],"names":[],"mappings":";;AAAA,4DAAiE;AACjE,2CAAwC;AAExC,MAAM,uBAAuB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAE1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,OAAO;QACL,uBAAuB,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC;KACpE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,OAAO;QACP,MAAM,IAAA,qBAAS,EAAC;YACd,OAAO,EAAE,EAAS;YAClB,eAAe,EAAE;gBACf,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,IAAA,uCAAsB,GAAE;gBACnC,OAAO,EAAE;oBACP,mBAAmB,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBACxE;aACF;SACF,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,uBAAuB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,QAAQ;QACR,MAAM,SAAS,GAAG,IAAA,uCAAsB,GAAE,CAAC;QAE3C,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,EAAC;YAC7B,OAAO,EAAE,EAAS;YAClB,eAAe,EAAE;gBACf,SAAS,EAAE,WAAW;gBACtB,SAAS;gBACT,OAAO,EAAE;oBACP,mBAAmB,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBACxE;aACF;SACF,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=buildOptimisticOperation.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildOptimisticOperation.test.d.ts","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperation.test.ts"],"names":[],"mappings":""}