@ledgerhq/coin-sui 0.15.1-nightly.0 → 0.16.0-nightly.10

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 (333) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +107 -0
  3. package/lib/api/index.d.ts.map +1 -1
  4. package/lib/api/index.js +3 -0
  5. package/lib/api/index.js.map +1 -1
  6. package/lib/bridge/buildTransaction.d.ts.map +1 -1
  7. package/lib/bridge/buildTransaction.js +1 -0
  8. package/lib/bridge/buildTransaction.js.map +1 -1
  9. package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
  10. package/lib/bridge/getFeesForTransaction.js +4 -0
  11. package/lib/bridge/getFeesForTransaction.js.map +1 -1
  12. package/lib/bridge/index.d.ts.map +1 -1
  13. package/lib/bridge/index.js +3 -0
  14. package/lib/bridge/index.js.map +1 -1
  15. package/lib/bridge/preload.d.ts +3 -1
  16. package/lib/bridge/preload.d.ts.map +1 -1
  17. package/lib/bridge/preload.js +76 -5
  18. package/lib/bridge/preload.js.map +1 -1
  19. package/lib/logic/estimateFees.d.ts +4 -1
  20. package/lib/logic/estimateFees.d.ts.map +1 -1
  21. package/lib/logic/estimateFees.js +2 -1
  22. package/lib/logic/estimateFees.js.map +1 -1
  23. package/lib/network/sdk.d.ts.map +1 -1
  24. package/lib/network/sdk.js +18 -13
  25. package/lib/network/sdk.js.map +1 -1
  26. package/lib/types/bridge.d.ts +12 -0
  27. package/lib/types/bridge.d.ts.map +1 -1
  28. package/lib-es/api/index.d.ts.map +1 -1
  29. package/lib-es/api/index.js +3 -0
  30. package/lib-es/api/index.js.map +1 -1
  31. package/lib-es/bridge/buildTransaction.d.ts.map +1 -1
  32. package/lib-es/bridge/buildTransaction.js +1 -0
  33. package/lib-es/bridge/buildTransaction.js.map +1 -1
  34. package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
  35. package/lib-es/bridge/getFeesForTransaction.js +4 -0
  36. package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
  37. package/lib-es/bridge/index.d.ts.map +1 -1
  38. package/lib-es/bridge/index.js +3 -0
  39. package/lib-es/bridge/index.js.map +1 -1
  40. package/lib-es/bridge/preload.d.ts +3 -1
  41. package/lib-es/bridge/preload.d.ts.map +1 -1
  42. package/lib-es/bridge/preload.js +50 -4
  43. package/lib-es/bridge/preload.js.map +1 -1
  44. package/lib-es/logic/estimateFees.d.ts +4 -1
  45. package/lib-es/logic/estimateFees.d.ts.map +1 -1
  46. package/lib-es/logic/estimateFees.js +2 -1
  47. package/lib-es/logic/estimateFees.js.map +1 -1
  48. package/lib-es/network/sdk.d.ts.map +1 -1
  49. package/lib-es/network/sdk.js +18 -13
  50. package/lib-es/network/sdk.js.map +1 -1
  51. package/lib-es/types/bridge.d.ts +12 -0
  52. package/lib-es/types/bridge.d.ts.map +1 -1
  53. package/package.json +9 -8
  54. package/src/api/index.integration.test.ts +45 -7
  55. package/src/api/index.ts +8 -0
  56. package/src/bridge/buildTransaction.test.ts +2 -0
  57. package/src/bridge/buildTransaction.ts +1 -0
  58. package/src/bridge/getFeesForTransaction.ts +4 -0
  59. package/src/bridge/index.ts +3 -0
  60. package/src/bridge/preload.test.ts +3 -3
  61. package/src/bridge/preload.ts +68 -6
  62. package/src/logic/craftTransaction.integration.test.ts +4 -0
  63. package/src/logic/craftTransaction.test.ts +14 -0
  64. package/src/logic/estimateFees.integration.test.ts +3 -0
  65. package/src/logic/estimateFees.test.ts +24 -16
  66. package/src/logic/estimateFees.ts +6 -1
  67. package/src/network/sdk.test.ts +44 -4
  68. package/src/network/sdk.ts +21 -13
  69. package/src/types/bridge.ts +13 -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 -172
  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 +0 -4
  79. package/lib/bridge/bridge.integration.test.d.ts.map +0 -1
  80. package/lib/bridge/bridge.integration.test.js +0 -145
  81. package/lib/bridge/bridge.integration.test.js.map +0 -1
  82. package/lib/bridge/broadcast.test.d.ts +0 -2
  83. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  84. package/lib/bridge/broadcast.test.js +0 -48
  85. package/lib/bridge/broadcast.test.js.map +0 -1
  86. package/lib/bridge/buildOptimisticOperation.test.d.ts +0 -2
  87. package/lib/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  88. package/lib/bridge/buildOptimisticOperation.test.js +0 -52
  89. package/lib/bridge/buildOptimisticOperation.test.js.map +0 -1
  90. package/lib/bridge/buildTransaction.integration.test.d.ts +0 -2
  91. package/lib/bridge/buildTransaction.integration.test.d.ts.map +0 -1
  92. package/lib/bridge/buildTransaction.integration.test.js +0 -72
  93. package/lib/bridge/buildTransaction.integration.test.js.map +0 -1
  94. package/lib/bridge/buildTransaction.test.d.ts +0 -2
  95. package/lib/bridge/buildTransaction.test.d.ts.map +0 -1
  96. package/lib/bridge/buildTransaction.test.js +0 -229
  97. package/lib/bridge/buildTransaction.test.js.map +0 -1
  98. package/lib/bridge/estimateMaxSpendable.test.d.ts +0 -2
  99. package/lib/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  100. package/lib/bridge/estimateMaxSpendable.test.js +0 -52
  101. package/lib/bridge/estimateMaxSpendable.test.js.map +0 -1
  102. package/lib/bridge/formatters.test.d.ts +0 -2
  103. package/lib/bridge/formatters.test.d.ts.map +0 -1
  104. package/lib/bridge/formatters.test.js +0 -18
  105. package/lib/bridge/formatters.test.js.map +0 -1
  106. package/lib/bridge/getFeesForTransaction.test.d.ts +0 -2
  107. package/lib/bridge/getFeesForTransaction.test.d.ts.map +0 -1
  108. package/lib/bridge/getFeesForTransaction.test.js +0 -35
  109. package/lib/bridge/getFeesForTransaction.test.js.map +0 -1
  110. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  111. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  112. package/lib/bridge/getTransactionStatus.test.js +0 -69
  113. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  114. package/lib/bridge/index.test.d.ts +0 -2
  115. package/lib/bridge/index.test.d.ts.map +0 -1
  116. package/lib/bridge/index.test.js +0 -265
  117. package/lib/bridge/index.test.js.map +0 -1
  118. package/lib/bridge/preload.test.d.ts +0 -2
  119. package/lib/bridge/preload.test.d.ts.map +0 -1
  120. package/lib/bridge/preload.test.js +0 -52
  121. package/lib/bridge/preload.test.js.map +0 -1
  122. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  123. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  124. package/lib/bridge/prepareTransaction.test.js +0 -97
  125. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  126. package/lib/bridge/serialization.test.d.ts +0 -2
  127. package/lib/bridge/serialization.test.d.ts.map +0 -1
  128. package/lib/bridge/serialization.test.js +0 -131
  129. package/lib/bridge/serialization.test.js.map +0 -1
  130. package/lib/bridge/signOperation.integration.test.d.ts +0 -2
  131. package/lib/bridge/signOperation.integration.test.d.ts.map +0 -1
  132. package/lib/bridge/signOperation.integration.test.js +0 -80
  133. package/lib/bridge/signOperation.integration.test.js.map +0 -1
  134. package/lib/bridge/signOperation.test.d.ts +0 -2
  135. package/lib/bridge/signOperation.test.d.ts.map +0 -1
  136. package/lib/bridge/signOperation.test.js +0 -445
  137. package/lib/bridge/signOperation.test.js.map +0 -1
  138. package/lib/bridge/synchronisation.test.d.ts +0 -2
  139. package/lib/bridge/synchronisation.test.d.ts.map +0 -1
  140. package/lib/bridge/synchronisation.test.js +0 -505
  141. package/lib/bridge/synchronisation.test.js.map +0 -1
  142. package/lib/bridge/transaction.test.d.ts +0 -2
  143. package/lib/bridge/transaction.test.d.ts.map +0 -1
  144. package/lib/bridge/transaction.test.js +0 -68
  145. package/lib/bridge/transaction.test.js.map +0 -1
  146. package/lib/logic/broadcast.test.d.ts +0 -2
  147. package/lib/logic/broadcast.test.d.ts.map +0 -1
  148. package/lib/logic/broadcast.test.js +0 -62
  149. package/lib/logic/broadcast.test.js.map +0 -1
  150. package/lib/logic/combine.test.d.ts +0 -2
  151. package/lib/logic/combine.test.d.ts.map +0 -1
  152. package/lib/logic/combine.test.js +0 -37
  153. package/lib/logic/combine.test.js.map +0 -1
  154. package/lib/logic/craftTransaction.integration.test.d.ts +0 -2
  155. package/lib/logic/craftTransaction.integration.test.d.ts.map +0 -1
  156. package/lib/logic/craftTransaction.integration.test.js +0 -94
  157. package/lib/logic/craftTransaction.integration.test.js.map +0 -1
  158. package/lib/logic/craftTransaction.test.d.ts +0 -2
  159. package/lib/logic/craftTransaction.test.d.ts.map +0 -1
  160. package/lib/logic/craftTransaction.test.js +0 -113
  161. package/lib/logic/craftTransaction.test.js.map +0 -1
  162. package/lib/logic/estimateFees.integration.test.d.ts +0 -2
  163. package/lib/logic/estimateFees.integration.test.d.ts.map +0 -1
  164. package/lib/logic/estimateFees.integration.test.js +0 -79
  165. package/lib/logic/estimateFees.integration.test.js.map +0 -1
  166. package/lib/logic/estimateFees.test.d.ts +0 -2
  167. package/lib/logic/estimateFees.test.d.ts.map +0 -1
  168. package/lib/logic/estimateFees.test.js +0 -68
  169. package/lib/logic/estimateFees.test.js.map +0 -1
  170. package/lib/logic/getBalance.integration.test.d.ts +0 -2
  171. package/lib/logic/getBalance.integration.test.d.ts.map +0 -1
  172. package/lib/logic/getBalance.integration.test.js +0 -56
  173. package/lib/logic/getBalance.integration.test.js.map +0 -1
  174. package/lib/logic/getBalance.test.d.ts +0 -2
  175. package/lib/logic/getBalance.test.d.ts.map +0 -1
  176. package/lib/logic/getBalance.test.js +0 -64
  177. package/lib/logic/getBalance.test.js.map +0 -1
  178. package/lib/logic/lastBlock.test.d.ts +0 -2
  179. package/lib/logic/lastBlock.test.d.ts.map +0 -1
  180. package/lib/logic/lastBlock.test.js +0 -27
  181. package/lib/logic/lastBlock.test.js.map +0 -1
  182. package/lib/logic/listOperations.test.d.ts +0 -2
  183. package/lib/logic/listOperations.test.d.ts.map +0 -1
  184. package/lib/logic/listOperations.test.js +0 -79
  185. package/lib/logic/listOperations.test.js.map +0 -1
  186. package/lib/network/sdk.integration.test.d.ts +0 -2
  187. package/lib/network/sdk.integration.test.d.ts.map +0 -1
  188. package/lib/network/sdk.integration.test.js +0 -215
  189. package/lib/network/sdk.integration.test.js.map +0 -1
  190. package/lib/network/sdk.test.d.ts +0 -2
  191. package/lib/network/sdk.test.d.ts.map +0 -1
  192. package/lib/network/sdk.test.js +0 -1784
  193. package/lib/network/sdk.test.js.map +0 -1
  194. package/lib/signer/getAddress.test.d.ts +0 -2
  195. package/lib/signer/getAddress.test.d.ts.map +0 -1
  196. package/lib/signer/getAddress.test.js +0 -106
  197. package/lib/signer/getAddress.test.js.map +0 -1
  198. package/lib/test/config.test.d.ts +0 -2
  199. package/lib/test/config.test.d.ts.map +0 -1
  200. package/lib/test/config.test.js +0 -44
  201. package/lib/test/config.test.js.map +0 -1
  202. package/lib-es/api/index.integration.test.d.ts +0 -2
  203. package/lib-es/api/index.integration.test.d.ts.map +0 -1
  204. package/lib-es/api/index.integration.test.js +0 -170
  205. package/lib-es/api/index.integration.test.js.map +0 -1
  206. package/lib-es/api/index.test.d.ts +0 -2
  207. package/lib-es/api/index.test.d.ts.map +0 -1
  208. package/lib-es/api/index.test.js +0 -148
  209. package/lib-es/api/index.test.js.map +0 -1
  210. package/lib-es/bridge/bridge.integration.test.d.ts +0 -4
  211. package/lib-es/bridge/bridge.integration.test.d.ts.map +0 -1
  212. package/lib-es/bridge/bridge.integration.test.js +0 -139
  213. package/lib-es/bridge/bridge.integration.test.js.map +0 -1
  214. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  215. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  216. package/lib-es/bridge/broadcast.test.js +0 -46
  217. package/lib-es/bridge/broadcast.test.js.map +0 -1
  218. package/lib-es/bridge/buildOptimisticOperation.test.d.ts +0 -2
  219. package/lib-es/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  220. package/lib-es/bridge/buildOptimisticOperation.test.js +0 -47
  221. package/lib-es/bridge/buildOptimisticOperation.test.js.map +0 -1
  222. package/lib-es/bridge/buildTransaction.integration.test.d.ts +0 -2
  223. package/lib-es/bridge/buildTransaction.integration.test.d.ts.map +0 -1
  224. package/lib-es/bridge/buildTransaction.integration.test.js +0 -67
  225. package/lib-es/bridge/buildTransaction.integration.test.js.map +0 -1
  226. package/lib-es/bridge/buildTransaction.test.d.ts +0 -2
  227. package/lib-es/bridge/buildTransaction.test.d.ts.map +0 -1
  228. package/lib-es/bridge/buildTransaction.test.js +0 -227
  229. package/lib-es/bridge/buildTransaction.test.js.map +0 -1
  230. package/lib-es/bridge/estimateMaxSpendable.test.d.ts +0 -2
  231. package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  232. package/lib-es/bridge/estimateMaxSpendable.test.js +0 -50
  233. package/lib-es/bridge/estimateMaxSpendable.test.js.map +0 -1
  234. package/lib-es/bridge/formatters.test.d.ts +0 -2
  235. package/lib-es/bridge/formatters.test.d.ts.map +0 -1
  236. package/lib-es/bridge/formatters.test.js +0 -16
  237. package/lib-es/bridge/formatters.test.js.map +0 -1
  238. package/lib-es/bridge/getFeesForTransaction.test.d.ts +0 -2
  239. package/lib-es/bridge/getFeesForTransaction.test.d.ts.map +0 -1
  240. package/lib-es/bridge/getFeesForTransaction.test.js +0 -30
  241. package/lib-es/bridge/getFeesForTransaction.test.js.map +0 -1
  242. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  243. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  244. package/lib-es/bridge/getTransactionStatus.test.js +0 -64
  245. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  246. package/lib-es/bridge/index.test.d.ts +0 -2
  247. package/lib-es/bridge/index.test.d.ts.map +0 -1
  248. package/lib-es/bridge/index.test.js +0 -260
  249. package/lib-es/bridge/index.test.js.map +0 -1
  250. package/lib-es/bridge/preload.test.d.ts +0 -2
  251. package/lib-es/bridge/preload.test.d.ts.map +0 -1
  252. package/lib-es/bridge/preload.test.js +0 -50
  253. package/lib-es/bridge/preload.test.js.map +0 -1
  254. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  255. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  256. package/lib-es/bridge/prepareTransaction.test.js +0 -92
  257. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  258. package/lib-es/bridge/serialization.test.d.ts +0 -2
  259. package/lib-es/bridge/serialization.test.d.ts.map +0 -1
  260. package/lib-es/bridge/serialization.test.js +0 -126
  261. package/lib-es/bridge/serialization.test.js.map +0 -1
  262. package/lib-es/bridge/signOperation.integration.test.d.ts +0 -2
  263. package/lib-es/bridge/signOperation.integration.test.d.ts.map +0 -1
  264. package/lib-es/bridge/signOperation.integration.test.js +0 -75
  265. package/lib-es/bridge/signOperation.integration.test.js.map +0 -1
  266. package/lib-es/bridge/signOperation.test.d.ts +0 -2
  267. package/lib-es/bridge/signOperation.test.d.ts.map +0 -1
  268. package/lib-es/bridge/signOperation.test.js +0 -440
  269. package/lib-es/bridge/signOperation.test.js.map +0 -1
  270. package/lib-es/bridge/synchronisation.test.d.ts +0 -2
  271. package/lib-es/bridge/synchronisation.test.d.ts.map +0 -1
  272. package/lib-es/bridge/synchronisation.test.js +0 -477
  273. package/lib-es/bridge/synchronisation.test.js.map +0 -1
  274. package/lib-es/bridge/transaction.test.d.ts +0 -2
  275. package/lib-es/bridge/transaction.test.d.ts.map +0 -1
  276. package/lib-es/bridge/transaction.test.js +0 -66
  277. package/lib-es/bridge/transaction.test.js.map +0 -1
  278. package/lib-es/logic/broadcast.test.d.ts +0 -2
  279. package/lib-es/logic/broadcast.test.d.ts.map +0 -1
  280. package/lib-es/logic/broadcast.test.js +0 -57
  281. package/lib-es/logic/broadcast.test.js.map +0 -1
  282. package/lib-es/logic/combine.test.d.ts +0 -2
  283. package/lib-es/logic/combine.test.d.ts.map +0 -1
  284. package/lib-es/logic/combine.test.js +0 -35
  285. package/lib-es/logic/combine.test.js.map +0 -1
  286. package/lib-es/logic/craftTransaction.integration.test.d.ts +0 -2
  287. package/lib-es/logic/craftTransaction.integration.test.d.ts.map +0 -1
  288. package/lib-es/logic/craftTransaction.integration.test.js +0 -89
  289. package/lib-es/logic/craftTransaction.integration.test.js.map +0 -1
  290. package/lib-es/logic/craftTransaction.test.d.ts +0 -2
  291. package/lib-es/logic/craftTransaction.test.d.ts.map +0 -1
  292. package/lib-es/logic/craftTransaction.test.js +0 -108
  293. package/lib-es/logic/craftTransaction.test.js.map +0 -1
  294. package/lib-es/logic/estimateFees.integration.test.d.ts +0 -2
  295. package/lib-es/logic/estimateFees.integration.test.d.ts.map +0 -1
  296. package/lib-es/logic/estimateFees.integration.test.js +0 -74
  297. package/lib-es/logic/estimateFees.integration.test.js.map +0 -1
  298. package/lib-es/logic/estimateFees.test.d.ts +0 -2
  299. package/lib-es/logic/estimateFees.test.d.ts.map +0 -1
  300. package/lib-es/logic/estimateFees.test.js +0 -63
  301. package/lib-es/logic/estimateFees.test.js.map +0 -1
  302. package/lib-es/logic/getBalance.integration.test.d.ts +0 -2
  303. package/lib-es/logic/getBalance.integration.test.d.ts.map +0 -1
  304. package/lib-es/logic/getBalance.integration.test.js +0 -51
  305. package/lib-es/logic/getBalance.integration.test.js.map +0 -1
  306. package/lib-es/logic/getBalance.test.d.ts +0 -2
  307. package/lib-es/logic/getBalance.test.d.ts.map +0 -1
  308. package/lib-es/logic/getBalance.test.js +0 -62
  309. package/lib-es/logic/getBalance.test.js.map +0 -1
  310. package/lib-es/logic/lastBlock.test.d.ts +0 -2
  311. package/lib-es/logic/lastBlock.test.d.ts.map +0 -1
  312. package/lib-es/logic/lastBlock.test.js +0 -25
  313. package/lib-es/logic/lastBlock.test.js.map +0 -1
  314. package/lib-es/logic/listOperations.test.d.ts +0 -2
  315. package/lib-es/logic/listOperations.test.d.ts.map +0 -1
  316. package/lib-es/logic/listOperations.test.js +0 -77
  317. package/lib-es/logic/listOperations.test.js.map +0 -1
  318. package/lib-es/network/sdk.integration.test.d.ts +0 -2
  319. package/lib-es/network/sdk.integration.test.d.ts.map +0 -1
  320. package/lib-es/network/sdk.integration.test.js +0 -210
  321. package/lib-es/network/sdk.integration.test.js.map +0 -1
  322. package/lib-es/network/sdk.test.d.ts +0 -2
  323. package/lib-es/network/sdk.test.d.ts.map +0 -1
  324. package/lib-es/network/sdk.test.js +0 -1756
  325. package/lib-es/network/sdk.test.js.map +0 -1
  326. package/lib-es/signer/getAddress.test.d.ts +0 -2
  327. package/lib-es/signer/getAddress.test.d.ts.map +0 -1
  328. package/lib-es/signer/getAddress.test.js +0 -101
  329. package/lib-es/signer/getAddress.test.js.map +0 -1
  330. package/lib-es/test/config.test.d.ts +0 -2
  331. package/lib-es/test/config.test.d.ts.map +0 -1
  332. package/lib-es/test/config.test.js +0 -39
  333. package/lib-es/test/config.test.js.map +0 -1
@@ -1,227 +0,0 @@
1
- import { BigNumber } from "bignumber.js";
2
- import { buildTransaction } from "./buildTransaction";
3
- import { createFixtureAccount } from "../types/bridge.fixture";
4
- // Mock the craftTransaction function
5
- jest.mock("../logic", () => ({
6
- craftTransaction: jest.fn(),
7
- }));
8
- import { craftTransaction } from "../logic";
9
- describe("buildTransaction", () => {
10
- const mockAccount = {
11
- id: "test-account-id",
12
- name: "Test Account",
13
- address: "0x1234567890abcdef",
14
- freshAddress: "0x1234567890abcdef",
15
- freshAddressPath: "m/44'/784'/0'/0'/0'",
16
- currency: {
17
- id: "sui",
18
- name: "Sui",
19
- family: "sui",
20
- units: [],
21
- type: "CryptoCurrency",
22
- },
23
- balance: new BigNumber("1000000000"),
24
- spendableBalance: new BigNumber("1000000000"),
25
- blockHeight: 1000,
26
- lastSyncDate: new Date(),
27
- operations: [],
28
- pendingOperations: [],
29
- unit: {
30
- name: "SUI",
31
- code: "SUI",
32
- magnitude: 9,
33
- },
34
- type: "Account",
35
- };
36
- const mockTransaction = {
37
- id: "test-transaction-id",
38
- family: "sui",
39
- mode: "send",
40
- coinType: "0x2::sui::SUI",
41
- amount: new BigNumber("100000000"),
42
- recipient: "0xabcdef1234567890",
43
- fees: new BigNumber("1000000"),
44
- errors: {},
45
- warnings: {},
46
- useAllAmount: false,
47
- estimatedFees: new BigNumber("1000000"),
48
- feeStrategy: "medium",
49
- networkInfo: {
50
- family: "sui",
51
- fees: new BigNumber("1000000"),
52
- },
53
- };
54
- beforeEach(() => {
55
- jest.clearAllMocks();
56
- craftTransaction.mockResolvedValue({
57
- unsigned: new Uint8Array([1, 2, 3, 4, 5]),
58
- });
59
- });
60
- describe("buildTransaction", () => {
61
- it("should call craftTransaction with correct parameters for native asset", async () => {
62
- // WHEN
63
- await buildTransaction(mockAccount, mockTransaction);
64
- // THEN
65
- expect(craftTransaction).toHaveBeenCalledWith({
66
- sender: mockAccount.freshAddress,
67
- recipient: mockTransaction.recipient,
68
- type: mockTransaction.mode,
69
- amount: BigInt(mockTransaction.amount.toString()),
70
- asset: { type: "native" },
71
- useAllAmount: false,
72
- stakedSuiId: "",
73
- });
74
- });
75
- it("should call craftTransaction with correct parameters for token asset", async () => {
76
- const account = createFixtureAccount({
77
- id: "parentAccountId",
78
- balance: BigNumber(0),
79
- spendableBalance: BigNumber(0),
80
- subAccounts: [
81
- createFixtureAccount({
82
- id: "subAccountId",
83
- parentId: "parentAccountId",
84
- type: "TokenAccount",
85
- token: {
86
- contractAddress: "0x3::usdt::USDT",
87
- },
88
- }),
89
- ],
90
- });
91
- // WHEN
92
- await buildTransaction(account, {
93
- ...mockTransaction,
94
- subAccountId: "subAccountId",
95
- coinType: "0x3::usdt::USDT",
96
- });
97
- // THEN
98
- expect(craftTransaction).toHaveBeenCalledWith({
99
- sender: account.freshAddress,
100
- recipient: mockTransaction.recipient,
101
- type: mockTransaction.mode,
102
- useAllAmount: false,
103
- stakedSuiId: "",
104
- amount: BigInt(mockTransaction.amount.toString()),
105
- asset: { type: "token", assetReference: "0x3::usdt::USDT" },
106
- });
107
- });
108
- it("should return the result from craftTransaction", async () => {
109
- const expectedResult = {
110
- unsigned: new Uint8Array([1, 2, 3, 4, 5]),
111
- };
112
- // WHEN
113
- const result = await buildTransaction(mockAccount, mockTransaction);
114
- // THEN
115
- expect(result).toEqual(expectedResult);
116
- expect(result.unsigned).toBeInstanceOf(Uint8Array);
117
- });
118
- it("should handle BigNumber amount conversion correctly", async () => {
119
- const transactionWithLargeAmount = {
120
- ...mockTransaction,
121
- amount: new BigNumber("999999999999999999"),
122
- };
123
- // WHEN
124
- await buildTransaction(mockAccount, transactionWithLargeAmount);
125
- // THEN
126
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
127
- amount: BigInt("999999999999999999"),
128
- }));
129
- });
130
- it("should handle zero amount", async () => {
131
- const transactionWithZeroAmount = {
132
- ...mockTransaction,
133
- amount: new BigNumber("0"),
134
- };
135
- // WHEN
136
- await buildTransaction(mockAccount, transactionWithZeroAmount);
137
- // THEN
138
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
139
- amount: BigInt("0"),
140
- }));
141
- });
142
- it("should handle different transaction modes", async () => {
143
- const transactionWithDifferentMode = {
144
- ...mockTransaction,
145
- mode: "send",
146
- };
147
- // WHEN
148
- await buildTransaction(mockAccount, transactionWithDifferentMode);
149
- // THEN
150
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
151
- type: "send",
152
- }));
153
- });
154
- it("should handle different recipient addresses", async () => {
155
- const transactionWithDifferentRecipient = {
156
- ...mockTransaction,
157
- recipient: "0x9876543210fedcba",
158
- };
159
- // WHEN
160
- await buildTransaction(mockAccount, transactionWithDifferentRecipient);
161
- // THEN
162
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
163
- recipient: "0x9876543210fedcba",
164
- }));
165
- });
166
- it("should handle different account addresses", async () => {
167
- const accountWithDifferentAddress = {
168
- ...mockAccount,
169
- freshAddress: "0xabcdef1234567890",
170
- };
171
- // WHEN
172
- await buildTransaction(accountWithDifferentAddress, mockTransaction);
173
- // THEN
174
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
175
- sender: "0xabcdef1234567890",
176
- }));
177
- });
178
- it("should propagate errors from craftTransaction", async () => {
179
- const error = new Error("Transaction creation failed");
180
- craftTransaction.mockRejectedValue(error);
181
- // WHEN & THEN
182
- await expect(buildTransaction(mockAccount, mockTransaction)).rejects.toThrow("Transaction creation failed");
183
- });
184
- it("should handle craftTransaction returning null", async () => {
185
- craftTransaction.mockResolvedValue(null);
186
- // WHEN
187
- const result = await buildTransaction(mockAccount, mockTransaction);
188
- // THEN
189
- expect(result).toBeNull();
190
- });
191
- it("should handle craftTransaction returning undefined", async () => {
192
- craftTransaction.mockResolvedValue(undefined);
193
- // WHEN
194
- const result = await buildTransaction(mockAccount, mockTransaction);
195
- // THEN
196
- expect(result).toBeUndefined();
197
- });
198
- });
199
- describe("Edge Cases", () => {
200
- it("should handle empty recipient string", async () => {
201
- const transactionWithEmptyRecipient = {
202
- ...mockTransaction,
203
- recipient: "",
204
- };
205
- // WHEN
206
- await buildTransaction(mockAccount, transactionWithEmptyRecipient);
207
- // THEN
208
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
209
- recipient: "",
210
- }));
211
- });
212
- it("should handle very long recipient addresses", async () => {
213
- const longAddress = "0x" + "a".repeat(100);
214
- const transactionWithLongRecipient = {
215
- ...mockTransaction,
216
- recipient: longAddress,
217
- };
218
- // WHEN
219
- await buildTransaction(mockAccount, transactionWithLongRecipient);
220
- // THEN
221
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
222
- recipient: longAddress,
223
- }));
224
- });
225
- });
226
- });
227
- //# sourceMappingURL=buildTransaction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/buildTransaction.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=estimateMaxSpendable.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"estimateMaxSpendable.test.d.ts","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.test.ts"],"names":[],"mappings":""}
@@ -1,50 +0,0 @@
1
- import { BigNumber } from "bignumber.js";
2
- import { estimateMaxSpendable } from "./estimateMaxSpendable";
3
- import { createFixtureAccount, createFixtureTransaction } from "../types/bridge.fixture";
4
- const mockEstimateFees = jest.fn();
5
- jest.mock("../logic", () => ({
6
- estimateFees: () => mockEstimateFees(),
7
- }));
8
- describe("estimateMaxSpendable", () => {
9
- it("should return the correct spendable amount when fees are deducted", async () => {
10
- // GIVEN
11
- const balance = new BigNumber(100);
12
- const account = createFixtureAccount({ spendableBalance: balance });
13
- const transaction = createFixtureTransaction();
14
- const fees = new BigNumber(10);
15
- mockEstimateFees.mockResolvedValue(fees);
16
- // WHEN
17
- const result = await estimateMaxSpendable({ account, transaction });
18
- // THEN
19
- expect(mockEstimateFees).toHaveBeenCalledTimes(1);
20
- expect(result).toEqual(balance.minus(fees));
21
- });
22
- it("should apply delegation-specific constraints and gas reservation", async () => {
23
- // GIVEN
24
- const balance = new BigNumber("5000000000"); // 5 SUI
25
- const account = createFixtureAccount({ spendableBalance: balance });
26
- const transaction = createFixtureTransaction({ mode: "delegate" });
27
- const fees = new BigNumber("100000000"); // 0.1 SUI
28
- mockEstimateFees.mockResolvedValue(fees);
29
- // WHEN
30
- const result = await estimateMaxSpendable({ account, transaction });
31
- // THEN
32
- // Should deduct fees (0.1 SUI) = 0.1 SUI from 5 SUI = 4.9 SUI
33
- const expectedAmount = balance.minus(fees); // 4.8 SUI
34
- expect(result).toEqual(expectedAmount);
35
- });
36
- it("should return 0 for delegation when balance is below minimum threshold", async () => {
37
- // GIVEN
38
- const balance = new BigNumber("800000000"); // 0.8 SUI (below 1 SUI minimum after fees/reserve)
39
- const account = createFixtureAccount({ spendableBalance: balance });
40
- const transaction = createFixtureTransaction({ mode: "delegate" });
41
- const fees = new BigNumber("100000000"); // 0.1 SUI
42
- mockEstimateFees.mockResolvedValue(fees);
43
- // WHEN
44
- const result = await estimateMaxSpendable({ account, transaction });
45
- // THEN
46
- // After deducting fees (0.1) + gas reserve (0.1) = 0.6 SUI, which is < 1 SUI minimum
47
- expect(result).toEqual(new BigNumber(0));
48
- });
49
- });
50
- //# sourceMappingURL=estimateMaxSpendable.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"estimateMaxSpendable.test.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=formatters.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatters.test.d.ts","sourceRoot":"","sources":["../../src/bridge/formatters.test.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { fromOperationExtraRaw, toOperationExtraRaw } from "./formatters";
2
- describe("formatters", () => {
3
- describe("fromOperationExtraRaw", () => {
4
- it("should return an empty object when no extraRaw is provided", () => {
5
- const result = fromOperationExtraRaw(undefined);
6
- expect(result).toEqual({});
7
- });
8
- });
9
- describe("toOperationExtraRaw", () => {
10
- it("should return an empty object when no extra is provided", () => {
11
- const result = toOperationExtraRaw(undefined);
12
- expect(result).toEqual({});
13
- });
14
- });
15
- });
16
- //# sourceMappingURL=formatters.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatters.test.js","sourceRoot":"","sources":["../../src/bridge/formatters.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE1E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getFeesForTransaction.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFeesForTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.test.ts"],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import getEstimatedFees from "./getFeesForTransaction";
2
- import { createFixtureAccount, createFixtureTransaction } from "../types/bridge.fixture";
3
- const estimateFees = jest.fn();
4
- jest.mock("../logic", () => {
5
- return {
6
- estimateFees: (arg) => estimateFees(arg),
7
- };
8
- });
9
- describe("getEstimatedFees", () => {
10
- const transaction = createFixtureTransaction();
11
- beforeEach(() => {
12
- estimateFees.mockClear();
13
- });
14
- it("returns fees estimation by sui sdk", async () => {
15
- // GIVEN
16
- const account = createFixtureAccount();
17
- const gasBudget = BigInt("3976000");
18
- estimateFees.mockResolvedValue(gasBudget);
19
- // WHEN
20
- const result = await getEstimatedFees({
21
- account,
22
- transaction,
23
- });
24
- // THEN
25
- expect(estimateFees).toHaveBeenCalledTimes(1);
26
- expect(estimateFees.mock.lastCall).not.toBeNull();
27
- expect(result.toString()).toEqual(gasBudget.toString());
28
- });
29
- });
30
- //# sourceMappingURL=getFeesForTransaction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFeesForTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.test.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEzF,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAE/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;IACzB,OAAO;QACL,YAAY,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC;KAC9C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAC;IAE/C,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,QAAQ;QACR,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE1C,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,OAAO;YACP,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getTransactionStatus.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionStatus.test.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":""}
@@ -1,64 +0,0 @@
1
- import { NotEnoughBalance, NotEnoughBalanceInParentAccount, RecipientRequired, InvalidAddress, InvalidAddressBecauseDestinationIsAlsoSource, AmountRequired, FeeNotLoaded, } from "@ledgerhq/errors";
2
- import { createFixtureAccount, createFixtureTransaction } from "../types/bridge.fixture";
3
- import getTransactionStatus from "./getTransactionStatus";
4
- import BigNumber from "bignumber.js";
5
- const account = createFixtureAccount();
6
- describe("getTransactionStatus", () => {
7
- it("should return errors if recipient empty", async () => {
8
- const transaction = createFixtureTransaction({ recipient: null });
9
- const result = await getTransactionStatus(account, transaction);
10
- const expected = { recipient: new RecipientRequired() };
11
- expect(result.errors).toEqual(expected);
12
- });
13
- it("should return errors if recipient is invalid sui adress", async () => {
14
- const transaction = createFixtureTransaction({ recipient: "notValidSuiAddress" });
15
- const result = await getTransactionStatus(account, transaction);
16
- const expected = { recipient: new InvalidAddress() };
17
- expect(result.errors).toEqual(expected);
18
- });
19
- it("should return errors if recipient equals to sender", async () => {
20
- const transaction = createFixtureTransaction({ recipient: account.freshAddress });
21
- const result = await getTransactionStatus(account, transaction);
22
- const expected = { recipient: new InvalidAddressBecauseDestinationIsAlsoSource() };
23
- expect(result.errors).toEqual(expected);
24
- });
25
- it("should return errors if amount not provided", async () => {
26
- const transaction = createFixtureTransaction({ amount: null });
27
- const result = await getTransactionStatus(account, transaction);
28
- const expected = { amount: new AmountRequired() };
29
- expect(result.errors).toEqual(expected);
30
- });
31
- it("should return errors if amount exceeds balance", async () => {
32
- const transaction = createFixtureTransaction({ amount: account.balance.plus(1) });
33
- const result = await getTransactionStatus(account, transaction);
34
- const expected = { amount: new NotEnoughBalance() };
35
- expect(result.errors).toEqual(expected);
36
- });
37
- it("should return errors fees not loaded", async () => {
38
- const transaction = createFixtureTransaction({ fees: null });
39
- const result = await getTransactionStatus(account, transaction);
40
- const expected = { fees: new FeeNotLoaded() };
41
- expect(result.errors).toEqual(expected);
42
- });
43
- it("should return errors if not enought balance for fees", async () => {
44
- const transaction = createFixtureTransaction({
45
- subAccountId: "subAccountId",
46
- });
47
- const account = createFixtureAccount({
48
- id: "parentAccountId",
49
- balance: BigNumber(0),
50
- spendableBalance: BigNumber(0),
51
- subAccounts: [
52
- createFixtureAccount({
53
- id: "subAccountId",
54
- parentId: "parentAccountId",
55
- type: "TokenAccount",
56
- }),
57
- ],
58
- });
59
- const result = await getTransactionStatus(account, transaction);
60
- const expected = { amount: new NotEnoughBalanceInParentAccount() };
61
- expect(result.errors).toEqual(expected);
62
- });
63
- });
64
- //# sourceMappingURL=getTransactionStatus.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionStatus.test.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.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/bridge/index.test.ts"],"names":[],"mappings":""}