@ledgerhq/coin-sui 0.2.0-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 (459) hide show
  1. package/.eslintrc.js +23 -0
  2. package/.turbo/turbo-build.log +4 -0
  3. package/.unimportedrc.json +19 -0
  4. package/CHANGELOG.md +16 -0
  5. package/LICENSE.txt +21 -0
  6. package/jest.config.js +9 -0
  7. package/jest.integ.config.js +7 -0
  8. package/lib/api/chain/index.d.ts +16 -0
  9. package/lib/api/chain/index.d.ts.map +1 -0
  10. package/lib/api/chain/index.js +3 -0
  11. package/lib/api/chain/index.js.map +1 -0
  12. package/lib/bridge/bridge.integration.test.d.ts +4 -0
  13. package/lib/bridge/bridge.integration.test.d.ts.map +1 -0
  14. package/lib/bridge/bridge.integration.test.js +136 -0
  15. package/lib/bridge/bridge.integration.test.js.map +1 -0
  16. package/lib/bridge/broadcast.d.ts +12 -0
  17. package/lib/bridge/broadcast.d.ts.map +1 -0
  18. package/lib/bridge/broadcast.js +20 -0
  19. package/lib/bridge/broadcast.js.map +1 -0
  20. package/lib/bridge/broadcast.test.d.ts +2 -0
  21. package/lib/bridge/broadcast.test.d.ts.map +1 -0
  22. package/lib/bridge/broadcast.test.js +48 -0
  23. package/lib/bridge/broadcast.test.js.map +1 -0
  24. package/lib/bridge/buildOptimisticOperation.d.ts +4 -0
  25. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -0
  26. package/lib/bridge/buildOptimisticOperation.js +76 -0
  27. package/lib/bridge/buildOptimisticOperation.js.map +1 -0
  28. package/lib/bridge/buildOptimisticOperation.test.d.ts +2 -0
  29. package/lib/bridge/buildOptimisticOperation.test.d.ts.map +1 -0
  30. package/lib/bridge/buildOptimisticOperation.test.js +52 -0
  31. package/lib/bridge/buildOptimisticOperation.test.js.map +1 -0
  32. package/lib/bridge/buildTransaction.d.ts +9 -0
  33. package/lib/bridge/buildTransaction.d.ts.map +1 -0
  34. package/lib/bridge/buildTransaction.js +19 -0
  35. package/lib/bridge/buildTransaction.js.map +1 -0
  36. package/lib/bridge/buildTransaction.test.d.ts +2 -0
  37. package/lib/bridge/buildTransaction.test.d.ts.map +1 -0
  38. package/lib/bridge/buildTransaction.test.js +17 -0
  39. package/lib/bridge/buildTransaction.test.js.map +1 -0
  40. package/lib/bridge/createTransaction.d.ts +10 -0
  41. package/lib/bridge/createTransaction.d.ts.map +1 -0
  42. package/lib/bridge/createTransaction.js +24 -0
  43. package/lib/bridge/createTransaction.js.map +1 -0
  44. package/lib/bridge/estimateMaxSpendable.d.ts +14 -0
  45. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
  46. package/lib/bridge/estimateMaxSpendable.js +44 -0
  47. package/lib/bridge/estimateMaxSpendable.js.map +1 -0
  48. package/lib/bridge/estimateMaxSpendable.test.d.ts +2 -0
  49. package/lib/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  50. package/lib/bridge/estimateMaxSpendable.test.js +25 -0
  51. package/lib/bridge/estimateMaxSpendable.test.js.map +1 -0
  52. package/lib/bridge/formatters.d.ts +10 -0
  53. package/lib/bridge/formatters.d.ts.map +1 -0
  54. package/lib/bridge/formatters.js +24 -0
  55. package/lib/bridge/formatters.js.map +1 -0
  56. package/lib/bridge/formatters.test.d.ts +2 -0
  57. package/lib/bridge/formatters.test.d.ts.map +1 -0
  58. package/lib/bridge/formatters.test.js +18 -0
  59. package/lib/bridge/formatters.test.js.map +1 -0
  60. package/lib/bridge/getFeesForTransaction.d.ts +15 -0
  61. package/lib/bridge/getFeesForTransaction.d.ts.map +1 -0
  62. package/lib/bridge/getFeesForTransaction.js +32 -0
  63. package/lib/bridge/getFeesForTransaction.js.map +1 -0
  64. package/lib/bridge/getFeesForTransaction.test.d.ts +2 -0
  65. package/lib/bridge/getFeesForTransaction.test.d.ts.map +1 -0
  66. package/lib/bridge/getFeesForTransaction.test.js +35 -0
  67. package/lib/bridge/getFeesForTransaction.test.js.map +1 -0
  68. package/lib/bridge/getTransactionStatus.d.ts +12 -0
  69. package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
  70. package/lib/bridge/getTransactionStatus.js +59 -0
  71. package/lib/bridge/getTransactionStatus.js.map +1 -0
  72. package/lib/bridge/getTransactionStatus.test.d.ts +2 -0
  73. package/lib/bridge/getTransactionStatus.test.d.ts.map +1 -0
  74. package/lib/bridge/getTransactionStatus.test.js +48 -0
  75. package/lib/bridge/getTransactionStatus.test.js.map +1 -0
  76. package/lib/bridge/index.d.ts +10 -0
  77. package/lib/bridge/index.d.ts.map +1 -0
  78. package/lib/bridge/index.js +63 -0
  79. package/lib/bridge/index.js.map +1 -0
  80. package/lib/bridge/preload.d.ts +11 -0
  81. package/lib/bridge/preload.d.ts.map +1 -0
  82. package/lib/bridge/preload.js +41 -0
  83. package/lib/bridge/preload.js.map +1 -0
  84. package/lib/bridge/prepareTransaction.d.ts +13 -0
  85. package/lib/bridge/prepareTransaction.d.ts.map +1 -0
  86. package/lib/bridge/prepareTransaction.js +43 -0
  87. package/lib/bridge/prepareTransaction.js.map +1 -0
  88. package/lib/bridge/prepareTransaction.test.d.ts +2 -0
  89. package/lib/bridge/prepareTransaction.test.d.ts.map +1 -0
  90. package/lib/bridge/prepareTransaction.test.js +45 -0
  91. package/lib/bridge/prepareTransaction.test.js.map +1 -0
  92. package/lib/bridge/serialization.d.ts +7 -0
  93. package/lib/bridge/serialization.d.ts.map +1 -0
  94. package/lib/bridge/serialization.js +27 -0
  95. package/lib/bridge/serialization.js.map +1 -0
  96. package/lib/bridge/serialization.test.d.ts +2 -0
  97. package/lib/bridge/serialization.test.d.ts.map +1 -0
  98. package/lib/bridge/serialization.test.js +131 -0
  99. package/lib/bridge/serialization.test.js.map +1 -0
  100. package/lib/bridge/signOperation.d.ts +9 -0
  101. package/lib/bridge/signOperation.d.ts.map +1 -0
  102. package/lib/bridge/signOperation.js +72 -0
  103. package/lib/bridge/signOperation.js.map +1 -0
  104. package/lib/bridge/signOperation.test.d.ts +2 -0
  105. package/lib/bridge/signOperation.test.d.ts.map +1 -0
  106. package/lib/bridge/signOperation.test.js +76 -0
  107. package/lib/bridge/signOperation.test.js.map +1 -0
  108. package/lib/bridge/synchronisation.d.ts +21 -0
  109. package/lib/bridge/synchronisation.d.ts.map +1 -0
  110. package/lib/bridge/synchronisation.js +65 -0
  111. package/lib/bridge/synchronisation.js.map +1 -0
  112. package/lib/bridge/synchronisation.test.d.ts +2 -0
  113. package/lib/bridge/synchronisation.test.d.ts.map +1 -0
  114. package/lib/bridge/synchronisation.test.js +118 -0
  115. package/lib/bridge/synchronisation.test.js.map +1 -0
  116. package/lib/bridge/transaction.d.ts +15 -0
  117. package/lib/bridge/transaction.d.ts.map +1 -0
  118. package/lib/bridge/transaction.js +55 -0
  119. package/lib/bridge/transaction.js.map +1 -0
  120. package/lib/bridge/transaction.test.d.ts +2 -0
  121. package/lib/bridge/transaction.test.d.ts.map +1 -0
  122. package/lib/bridge/transaction.test.js +65 -0
  123. package/lib/bridge/transaction.test.js.map +1 -0
  124. package/lib/bridge/utils.d.ts +27 -0
  125. package/lib/bridge/utils.d.ts.map +1 -0
  126. package/lib/bridge/utils.js +57 -0
  127. package/lib/bridge/utils.js.map +1 -0
  128. package/lib/config.d.ts +15 -0
  129. package/lib/config.d.ts.map +1 -0
  130. package/lib/config.js +9 -0
  131. package/lib/config.js.map +1 -0
  132. package/lib/index.d.ts +3 -0
  133. package/lib/index.d.ts.map +1 -0
  134. package/lib/index.js +21 -0
  135. package/lib/index.js.map +1 -0
  136. package/lib/logic/broadcast.d.ts +9 -0
  137. package/lib/logic/broadcast.d.ts.map +1 -0
  138. package/lib/logic/broadcast.js +26 -0
  139. package/lib/logic/broadcast.js.map +1 -0
  140. package/lib/logic/craftTransaction.d.ts +17 -0
  141. package/lib/logic/craftTransaction.d.ts.map +1 -0
  142. package/lib/logic/craftTransaction.js +22 -0
  143. package/lib/logic/craftTransaction.js.map +1 -0
  144. package/lib/logic/estimateFees.d.ts +10 -0
  145. package/lib/logic/estimateFees.d.ts.map +1 -0
  146. package/lib/logic/estimateFees.js +20 -0
  147. package/lib/logic/estimateFees.js.map +1 -0
  148. package/lib/logic/index.d.ts +4 -0
  149. package/lib/logic/index.d.ts.map +1 -0
  150. package/lib/logic/index.js +10 -0
  151. package/lib/logic/index.js.map +1 -0
  152. package/lib/network/index.d.ts +18 -0
  153. package/lib/network/index.d.ts.map +1 -0
  154. package/lib/network/index.js +17 -0
  155. package/lib/network/index.js.map +1 -0
  156. package/lib/network/sdk.d.ts +61 -0
  157. package/lib/network/sdk.d.ts.map +1 -0
  158. package/lib/network/sdk.integration.test.d.ts +2 -0
  159. package/lib/network/sdk.integration.test.d.ts.map +1 -0
  160. package/lib/network/sdk.integration.test.js +70 -0
  161. package/lib/network/sdk.integration.test.js.map +1 -0
  162. package/lib/network/sdk.js +205 -0
  163. package/lib/network/sdk.js.map +1 -0
  164. package/lib/network/sdk.test.d.ts +2 -0
  165. package/lib/network/sdk.test.d.ts.map +1 -0
  166. package/lib/network/sdk.test.js +166 -0
  167. package/lib/network/sdk.test.js.map +1 -0
  168. package/lib/signer/getAddress.d.ts +6 -0
  169. package/lib/signer/getAddress.d.ts.map +1 -0
  170. package/lib/signer/getAddress.js +20 -0
  171. package/lib/signer/getAddress.js.map +1 -0
  172. package/lib/signer/getAddress.test.d.ts +2 -0
  173. package/lib/signer/getAddress.test.d.ts.map +1 -0
  174. package/lib/signer/getAddress.test.js +106 -0
  175. package/lib/signer/getAddress.test.js.map +1 -0
  176. package/lib/signer/index.d.ts +6 -0
  177. package/lib/signer/index.d.ts.map +1 -0
  178. package/lib/signer/index.js +11 -0
  179. package/lib/signer/index.js.map +1 -0
  180. package/lib/test/cli.d.ts +16 -0
  181. package/lib/test/cli.d.ts.map +1 -0
  182. package/lib/test/cli.js +16 -0
  183. package/lib/test/cli.js.map +1 -0
  184. package/lib/types/bridge.d.ts +72 -0
  185. package/lib/types/bridge.d.ts.map +1 -0
  186. package/lib/types/bridge.fixture.d.ts +30 -0
  187. package/lib/types/bridge.fixture.d.ts.map +1 -0
  188. package/lib/types/bridge.fixture.js +86 -0
  189. package/lib/types/bridge.fixture.js.map +1 -0
  190. package/lib/types/bridge.js +3 -0
  191. package/lib/types/bridge.js.map +1 -0
  192. package/lib/types/index.d.ts +4 -0
  193. package/lib/types/index.d.ts.map +1 -0
  194. package/lib/types/index.js +20 -0
  195. package/lib/types/index.js.map +1 -0
  196. package/lib/types/model.d.ts +6 -0
  197. package/lib/types/model.d.ts.map +1 -0
  198. package/lib/types/model.js +3 -0
  199. package/lib/types/model.js.map +1 -0
  200. package/lib/types/signer.d.ts +13 -0
  201. package/lib/types/signer.d.ts.map +1 -0
  202. package/lib/types/signer.js +3 -0
  203. package/lib/types/signer.js.map +1 -0
  204. package/lib/utils.d.ts +7 -0
  205. package/lib/utils.d.ts.map +1 -0
  206. package/lib/utils.js +13 -0
  207. package/lib/utils.js.map +1 -0
  208. package/lib-es/api/chain/index.d.ts +16 -0
  209. package/lib-es/api/chain/index.d.ts.map +1 -0
  210. package/lib-es/api/chain/index.js +2 -0
  211. package/lib-es/api/chain/index.js.map +1 -0
  212. package/lib-es/bridge/bridge.integration.test.d.ts +4 -0
  213. package/lib-es/bridge/bridge.integration.test.d.ts.map +1 -0
  214. package/lib-es/bridge/bridge.integration.test.js +130 -0
  215. package/lib-es/bridge/bridge.integration.test.js.map +1 -0
  216. package/lib-es/bridge/broadcast.d.ts +12 -0
  217. package/lib-es/bridge/broadcast.d.ts.map +1 -0
  218. package/lib-es/bridge/broadcast.js +16 -0
  219. package/lib-es/bridge/broadcast.js.map +1 -0
  220. package/lib-es/bridge/broadcast.test.d.ts +2 -0
  221. package/lib-es/bridge/broadcast.test.d.ts.map +1 -0
  222. package/lib-es/bridge/broadcast.test.js +46 -0
  223. package/lib-es/bridge/broadcast.test.js.map +1 -0
  224. package/lib-es/bridge/buildOptimisticOperation.d.ts +4 -0
  225. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -0
  226. package/lib-es/bridge/buildOptimisticOperation.js +69 -0
  227. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -0
  228. package/lib-es/bridge/buildOptimisticOperation.test.d.ts +2 -0
  229. package/lib-es/bridge/buildOptimisticOperation.test.d.ts.map +1 -0
  230. package/lib-es/bridge/buildOptimisticOperation.test.js +47 -0
  231. package/lib-es/bridge/buildOptimisticOperation.test.js.map +1 -0
  232. package/lib-es/bridge/buildTransaction.d.ts +9 -0
  233. package/lib-es/bridge/buildTransaction.d.ts.map +1 -0
  234. package/lib-es/bridge/buildTransaction.js +11 -0
  235. package/lib-es/bridge/buildTransaction.js.map +1 -0
  236. package/lib-es/bridge/buildTransaction.test.d.ts +2 -0
  237. package/lib-es/bridge/buildTransaction.test.d.ts.map +1 -0
  238. package/lib-es/bridge/buildTransaction.test.js +15 -0
  239. package/lib-es/bridge/buildTransaction.test.js.map +1 -0
  240. package/lib-es/bridge/createTransaction.d.ts +10 -0
  241. package/lib-es/bridge/createTransaction.d.ts.map +1 -0
  242. package/lib-es/bridge/createTransaction.js +20 -0
  243. package/lib-es/bridge/createTransaction.js.map +1 -0
  244. package/lib-es/bridge/estimateMaxSpendable.d.ts +14 -0
  245. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
  246. package/lib-es/bridge/estimateMaxSpendable.js +37 -0
  247. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
  248. package/lib-es/bridge/estimateMaxSpendable.test.d.ts +2 -0
  249. package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  250. package/lib-es/bridge/estimateMaxSpendable.test.js +23 -0
  251. package/lib-es/bridge/estimateMaxSpendable.test.js.map +1 -0
  252. package/lib-es/bridge/formatters.d.ts +10 -0
  253. package/lib-es/bridge/formatters.d.ts.map +1 -0
  254. package/lib-es/bridge/formatters.js +19 -0
  255. package/lib-es/bridge/formatters.js.map +1 -0
  256. package/lib-es/bridge/formatters.test.d.ts +2 -0
  257. package/lib-es/bridge/formatters.test.d.ts.map +1 -0
  258. package/lib-es/bridge/formatters.test.js +16 -0
  259. package/lib-es/bridge/formatters.test.js.map +1 -0
  260. package/lib-es/bridge/getFeesForTransaction.d.ts +15 -0
  261. package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -0
  262. package/lib-es/bridge/getFeesForTransaction.js +29 -0
  263. package/lib-es/bridge/getFeesForTransaction.js.map +1 -0
  264. package/lib-es/bridge/getFeesForTransaction.test.d.ts +2 -0
  265. package/lib-es/bridge/getFeesForTransaction.test.d.ts.map +1 -0
  266. package/lib-es/bridge/getFeesForTransaction.test.js +30 -0
  267. package/lib-es/bridge/getFeesForTransaction.test.js.map +1 -0
  268. package/lib-es/bridge/getTransactionStatus.d.ts +12 -0
  269. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
  270. package/lib-es/bridge/getTransactionStatus.js +55 -0
  271. package/lib-es/bridge/getTransactionStatus.js.map +1 -0
  272. package/lib-es/bridge/getTransactionStatus.test.d.ts +2 -0
  273. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +1 -0
  274. package/lib-es/bridge/getTransactionStatus.test.js +43 -0
  275. package/lib-es/bridge/getTransactionStatus.test.js.map +1 -0
  276. package/lib-es/bridge/index.d.ts +10 -0
  277. package/lib-es/bridge/index.d.ts.map +1 -0
  278. package/lib-es/bridge/index.js +56 -0
  279. package/lib-es/bridge/index.js.map +1 -0
  280. package/lib-es/bridge/preload.d.ts +11 -0
  281. package/lib-es/bridge/preload.d.ts.map +1 -0
  282. package/lib-es/bridge/preload.js +32 -0
  283. package/lib-es/bridge/preload.js.map +1 -0
  284. package/lib-es/bridge/prepareTransaction.d.ts +13 -0
  285. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
  286. package/lib-es/bridge/prepareTransaction.js +36 -0
  287. package/lib-es/bridge/prepareTransaction.js.map +1 -0
  288. package/lib-es/bridge/prepareTransaction.test.d.ts +2 -0
  289. package/lib-es/bridge/prepareTransaction.test.d.ts.map +1 -0
  290. package/lib-es/bridge/prepareTransaction.test.js +40 -0
  291. package/lib-es/bridge/prepareTransaction.test.js.map +1 -0
  292. package/lib-es/bridge/serialization.d.ts +7 -0
  293. package/lib-es/bridge/serialization.d.ts.map +1 -0
  294. package/lib-es/bridge/serialization.js +20 -0
  295. package/lib-es/bridge/serialization.js.map +1 -0
  296. package/lib-es/bridge/serialization.test.d.ts +2 -0
  297. package/lib-es/bridge/serialization.test.d.ts.map +1 -0
  298. package/lib-es/bridge/serialization.test.js +126 -0
  299. package/lib-es/bridge/serialization.test.js.map +1 -0
  300. package/lib-es/bridge/signOperation.d.ts +9 -0
  301. package/lib-es/bridge/signOperation.d.ts.map +1 -0
  302. package/lib-es/bridge/signOperation.js +68 -0
  303. package/lib-es/bridge/signOperation.js.map +1 -0
  304. package/lib-es/bridge/signOperation.test.d.ts +2 -0
  305. package/lib-es/bridge/signOperation.test.d.ts.map +1 -0
  306. package/lib-es/bridge/signOperation.test.js +71 -0
  307. package/lib-es/bridge/signOperation.test.js.map +1 -0
  308. package/lib-es/bridge/synchronisation.d.ts +21 -0
  309. package/lib-es/bridge/synchronisation.d.ts.map +1 -0
  310. package/lib-es/bridge/synchronisation.js +61 -0
  311. package/lib-es/bridge/synchronisation.js.map +1 -0
  312. package/lib-es/bridge/synchronisation.test.d.ts +2 -0
  313. package/lib-es/bridge/synchronisation.test.d.ts.map +1 -0
  314. package/lib-es/bridge/synchronisation.test.js +113 -0
  315. package/lib-es/bridge/synchronisation.test.js.map +1 -0
  316. package/lib-es/bridge/transaction.d.ts +15 -0
  317. package/lib-es/bridge/transaction.d.ts.map +1 -0
  318. package/lib-es/bridge/transaction.js +49 -0
  319. package/lib-es/bridge/transaction.js.map +1 -0
  320. package/lib-es/bridge/transaction.test.d.ts +2 -0
  321. package/lib-es/bridge/transaction.test.d.ts.map +1 -0
  322. package/lib-es/bridge/transaction.test.js +63 -0
  323. package/lib-es/bridge/transaction.test.js.map +1 -0
  324. package/lib-es/bridge/utils.d.ts +27 -0
  325. package/lib-es/bridge/utils.d.ts.map +1 -0
  326. package/lib-es/bridge/utils.js +51 -0
  327. package/lib-es/bridge/utils.js.map +1 -0
  328. package/lib-es/config.d.ts +15 -0
  329. package/lib-es/config.d.ts.map +1 -0
  330. package/lib-es/config.js +4 -0
  331. package/lib-es/config.js.map +1 -0
  332. package/lib-es/index.d.ts +3 -0
  333. package/lib-es/index.d.ts.map +1 -0
  334. package/lib-es/index.js +3 -0
  335. package/lib-es/index.js.map +1 -0
  336. package/lib-es/logic/broadcast.d.ts +9 -0
  337. package/lib-es/logic/broadcast.d.ts.map +1 -0
  338. package/lib-es/logic/broadcast.js +19 -0
  339. package/lib-es/logic/broadcast.js.map +1 -0
  340. package/lib-es/logic/craftTransaction.d.ts +17 -0
  341. package/lib-es/logic/craftTransaction.d.ts.map +1 -0
  342. package/lib-es/logic/craftTransaction.js +15 -0
  343. package/lib-es/logic/craftTransaction.js.map +1 -0
  344. package/lib-es/logic/estimateFees.d.ts +10 -0
  345. package/lib-es/logic/estimateFees.d.ts.map +1 -0
  346. package/lib-es/logic/estimateFees.js +13 -0
  347. package/lib-es/logic/estimateFees.js.map +1 -0
  348. package/lib-es/logic/index.d.ts +4 -0
  349. package/lib-es/logic/index.d.ts.map +1 -0
  350. package/lib-es/logic/index.js +4 -0
  351. package/lib-es/logic/index.js.map +1 -0
  352. package/lib-es/network/index.d.ts +18 -0
  353. package/lib-es/network/index.d.ts.map +1 -0
  354. package/lib-es/network/index.js +10 -0
  355. package/lib-es/network/index.js.map +1 -0
  356. package/lib-es/network/sdk.d.ts +61 -0
  357. package/lib-es/network/sdk.d.ts.map +1 -0
  358. package/lib-es/network/sdk.integration.test.d.ts +2 -0
  359. package/lib-es/network/sdk.integration.test.d.ts.map +1 -0
  360. package/lib-es/network/sdk.integration.test.js +65 -0
  361. package/lib-es/network/sdk.integration.test.js.map +1 -0
  362. package/lib-es/network/sdk.js +189 -0
  363. package/lib-es/network/sdk.js.map +1 -0
  364. package/lib-es/network/sdk.test.d.ts +2 -0
  365. package/lib-es/network/sdk.test.d.ts.map +1 -0
  366. package/lib-es/network/sdk.test.js +164 -0
  367. package/lib-es/network/sdk.test.js.map +1 -0
  368. package/lib-es/signer/getAddress.d.ts +6 -0
  369. package/lib-es/signer/getAddress.d.ts.map +1 -0
  370. package/lib-es/signer/getAddress.js +18 -0
  371. package/lib-es/signer/getAddress.js.map +1 -0
  372. package/lib-es/signer/getAddress.test.d.ts +2 -0
  373. package/lib-es/signer/getAddress.test.d.ts.map +1 -0
  374. package/lib-es/signer/getAddress.test.js +101 -0
  375. package/lib-es/signer/getAddress.test.js.map +1 -0
  376. package/lib-es/signer/index.d.ts +6 -0
  377. package/lib-es/signer/index.d.ts.map +1 -0
  378. package/lib-es/signer/index.js +6 -0
  379. package/lib-es/signer/index.js.map +1 -0
  380. package/lib-es/test/cli.d.ts +16 -0
  381. package/lib-es/test/cli.d.ts.map +1 -0
  382. package/lib-es/test/cli.js +13 -0
  383. package/lib-es/test/cli.js.map +1 -0
  384. package/lib-es/types/bridge.d.ts +72 -0
  385. package/lib-es/types/bridge.d.ts.map +1 -0
  386. package/lib-es/types/bridge.fixture.d.ts +30 -0
  387. package/lib-es/types/bridge.fixture.d.ts.map +1 -0
  388. package/lib-es/types/bridge.fixture.js +80 -0
  389. package/lib-es/types/bridge.fixture.js.map +1 -0
  390. package/lib-es/types/bridge.js +2 -0
  391. package/lib-es/types/bridge.js.map +1 -0
  392. package/lib-es/types/index.d.ts +4 -0
  393. package/lib-es/types/index.d.ts.map +1 -0
  394. package/lib-es/types/index.js +4 -0
  395. package/lib-es/types/index.js.map +1 -0
  396. package/lib-es/types/model.d.ts +6 -0
  397. package/lib-es/types/model.d.ts.map +1 -0
  398. package/lib-es/types/model.js +2 -0
  399. package/lib-es/types/model.js.map +1 -0
  400. package/lib-es/types/signer.d.ts +13 -0
  401. package/lib-es/types/signer.d.ts.map +1 -0
  402. package/lib-es/types/signer.js +2 -0
  403. package/lib-es/types/signer.js.map +1 -0
  404. package/lib-es/utils.d.ts +7 -0
  405. package/lib-es/utils.d.ts.map +1 -0
  406. package/lib-es/utils.js +9 -0
  407. package/lib-es/utils.js.map +1 -0
  408. package/package.json +152 -0
  409. package/src/api/chain/index.ts +17 -0
  410. package/src/bridge/bridge.integration.test.ts +140 -0
  411. package/src/bridge/broadcast.test.ts +52 -0
  412. package/src/bridge/broadcast.ts +21 -0
  413. package/src/bridge/buildOptimisticOperation.test.ts +53 -0
  414. package/src/bridge/buildOptimisticOperation.ts +105 -0
  415. package/src/bridge/buildTransaction.test.ts +17 -0
  416. package/src/bridge/buildTransaction.ts +14 -0
  417. package/src/bridge/createTransaction.ts +23 -0
  418. package/src/bridge/estimateMaxSpendable.test.ts +27 -0
  419. package/src/bridge/estimateMaxSpendable.ts +46 -0
  420. package/src/bridge/formatters.test.ts +17 -0
  421. package/src/bridge/formatters.ts +26 -0
  422. package/src/bridge/getFeesForTransaction.test.ts +36 -0
  423. package/src/bridge/getFeesForTransaction.ts +37 -0
  424. package/src/bridge/getTransactionStatus.test.ts +57 -0
  425. package/src/bridge/getTransactionStatus.ts +73 -0
  426. package/src/bridge/index.ts +77 -0
  427. package/src/bridge/preload.ts +46 -0
  428. package/src/bridge/prepareTransaction.test.ts +47 -0
  429. package/src/bridge/prepareTransaction.ts +44 -0
  430. package/src/bridge/serialization.test.ts +135 -0
  431. package/src/bridge/serialization.ts +24 -0
  432. package/src/bridge/signOperation.test.ts +80 -0
  433. package/src/bridge/signOperation.ts +101 -0
  434. package/src/bridge/synchronisation.test.ts +140 -0
  435. package/src/bridge/synchronisation.ts +75 -0
  436. package/src/bridge/transaction.test.ts +73 -0
  437. package/src/bridge/transaction.ts +61 -0
  438. package/src/bridge/utils.ts +69 -0
  439. package/src/config.ts +19 -0
  440. package/src/index.ts +3 -0
  441. package/src/logic/broadcast.ts +19 -0
  442. package/src/logic/craftTransaction.ts +28 -0
  443. package/src/logic/estimateFees.ts +14 -0
  444. package/src/logic/index.ts +3 -0
  445. package/src/network/index.ts +17 -0
  446. package/src/network/sdk.integration.test.ts +75 -0
  447. package/src/network/sdk.test.ts +203 -0
  448. package/src/network/sdk.ts +262 -0
  449. package/src/signer/getAddress.test.ts +119 -0
  450. package/src/signer/getAddress.ts +26 -0
  451. package/src/signer/index.ts +7 -0
  452. package/src/test/cli.ts +21 -0
  453. package/src/types/bridge.fixture.ts +84 -0
  454. package/src/types/bridge.ts +95 -0
  455. package/src/types/index.ts +3 -0
  456. package/src/types/model.ts +7 -0
  457. package/src/types/signer.ts +12 -0
  458. package/src/utils.ts +8 -0
  459. package/tsconfig.json +14 -0
@@ -0,0 +1,18 @@
1
+ import { getAccount, getOperations, paymentInfo, createTransaction, executeTransactionBlock } from "./sdk";
2
+ export { getAccount, getOperations, paymentInfo, createTransaction, executeTransactionBlock };
3
+ declare const _default: {
4
+ getAccount: (addr: string) => Promise<{
5
+ blockHeight: number;
6
+ balance: import("bignumber.js").BigNumber;
7
+ }>;
8
+ getOperations: (accountId: string, addr: string, inCursor?: string | null | undefined, outCursor?: string | null | undefined) => Promise<import("@ledgerhq/types-live").Operation[]>;
9
+ paymentInfo: (sender: string, fakeTransaction: import("..").Transaction) => Promise<{
10
+ gasBudget: string;
11
+ totalGasUsed: bigint;
12
+ fees: bigint;
13
+ }>;
14
+ createTransaction: (address: string, transaction: import("../logic").CreateExtrinsicArg) => Promise<Uint8Array>;
15
+ executeTransactionBlock: (params: import("@mysten/sui/dist/cjs/client").ExecuteTransactionBlockParams) => Promise<import("@mysten/sui/dist/cjs/client").SuiTransactionBlockResponse>;
16
+ };
17
+ export default _default;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;;;;;;;;;;;;;;;AAE9F,wBAME"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeTransactionBlock = exports.createTransaction = exports.paymentInfo = exports.getOperations = exports.getAccount = void 0;
4
+ const sdk_1 = require("./sdk");
5
+ Object.defineProperty(exports, "getAccount", { enumerable: true, get: function () { return sdk_1.getAccount; } });
6
+ Object.defineProperty(exports, "getOperations", { enumerable: true, get: function () { return sdk_1.getOperations; } });
7
+ Object.defineProperty(exports, "paymentInfo", { enumerable: true, get: function () { return sdk_1.paymentInfo; } });
8
+ Object.defineProperty(exports, "createTransaction", { enumerable: true, get: function () { return sdk_1.createTransaction; } });
9
+ Object.defineProperty(exports, "executeTransactionBlock", { enumerable: true, get: function () { return sdk_1.executeTransactionBlock; } });
10
+ exports.default = {
11
+ getAccount: sdk_1.getAccount,
12
+ getOperations: sdk_1.getOperations,
13
+ paymentInfo: sdk_1.paymentInfo,
14
+ createTransaction: sdk_1.createTransaction,
15
+ executeTransactionBlock: sdk_1.executeTransactionBlock,
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":";;;AAAA,+BAMe;AAEN,2FAPP,gBAAU,OAOO;AAAE,8FANnB,mBAAa,OAMmB;AAAE,4FALlC,iBAAW,OAKkC;AAAE,kGAJ/C,uBAAiB,OAI+C;AAAE,wGAHlE,6BAAuB,OAGkE;AAE3F,kBAAe;IACb,UAAU,EAAV,gBAAU;IACV,aAAa,EAAb,mBAAa;IACb,WAAW,EAAX,iBAAW;IACX,iBAAiB,EAAjB,uBAAiB;IACjB,uBAAuB,EAAvB,6BAAuB;CACxB,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { SuiClient, ExecuteTransactionBlockParams } from "@mysten/sui/client";
2
+ import { TransactionBlockData, SuiTransactionBlockResponse } from "@mysten/sui/client";
3
+ import { BigNumber } from "bignumber.js";
4
+ import type { Operation, OperationType } from "@ledgerhq/types-live";
5
+ import type { Transaction as TransactionType } from "../types";
6
+ import type { CreateExtrinsicArg } from "../logic/craftTransaction";
7
+ export declare const getBalanceCached: import("@ledgerhq/live-network/cache").CacheRes<[params: {
8
+ api: SuiClient;
9
+ owner: string;
10
+ }], import("@mysten/sui/dist/cjs/client").CoinBalance>;
11
+ /**
12
+ * Get account balance
13
+ */
14
+ export declare const getAccount: (addr: string) => Promise<{
15
+ blockHeight: number;
16
+ balance: BigNumber;
17
+ }>;
18
+ /**
19
+ * Returns true if account is the signer
20
+ */
21
+ export declare function isSender(addr: string, transaction?: TransactionBlockData): boolean;
22
+ /**
23
+ * Map transaction to an Operation Type
24
+ */
25
+ export declare function getOperationType(addr: string, transaction?: TransactionBlockData): OperationType;
26
+ /**
27
+ * Extract senders from transaction
28
+ */
29
+ export declare const getOperationSenders: (transaction?: TransactionBlockData) => string[];
30
+ /**
31
+ * Extract recipients from transaction
32
+ */
33
+ export declare const getOperationRecipients: (transaction?: TransactionBlockData) => string[];
34
+ /**
35
+ * Extract value from transaction
36
+ */
37
+ export declare const getOperationAmount: (address: string, transaction: SuiTransactionBlockResponse) => BigNumber;
38
+ /**
39
+ * Extract fee from transaction
40
+ */
41
+ export declare const getOperationFee: (transaction: SuiTransactionBlockResponse) => BigNumber;
42
+ /**
43
+ * Extract date from transaction
44
+ */
45
+ export declare const getOperationDate: (transaction: SuiTransactionBlockResponse) => Date;
46
+ /**
47
+ * Map the Sui history transaction to a Ledger Live Operation
48
+ */
49
+ export declare function transactionToOperation(accountId: string, address: string, transaction: SuiTransactionBlockResponse): Operation;
50
+ /**
51
+ * Fetch operation list
52
+ */
53
+ export declare const getOperations: (accountId: string, addr: string, inCursor?: string | null | undefined, outCursor?: string | null | undefined) => Promise<Operation[]>;
54
+ export declare const paymentInfo: (sender: string, fakeTransaction: TransactionType) => Promise<{
55
+ gasBudget: string;
56
+ totalGasUsed: bigint;
57
+ fees: bigint;
58
+ }>;
59
+ export declare const createTransaction: (address: string, transaction: CreateExtrinsicArg) => Promise<Uint8Array>;
60
+ export declare const executeTransactionBlock: (params: ExecuteTransactionBlockParams) => Promise<SuiTransactionBlockResponse>;
61
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,6BAA6B,EAE9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAc,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrE,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAyBpE,eAAO,MAAM,gBAAgB;SAEX,SAAS;WAAS,MAAM;sDAEzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,SAAgB,MAAM;;;EAOzC,CAAC;AAEL;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAElF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,oBAAoB,GAAG,aAAa,CAEhG;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,iBAAkB,oBAAoB,KAAG,MAAM,EAE9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,iBAAkB,oBAAoB,KAAG,MAAM,EAYjF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,eACF,2BAA2B,KACvC,SAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,gBAAiB,2BAA2B,KAAG,SAQ1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBAAiB,2BAA2B,KAAG,IAE3E,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,2BAA2B,GACvC,SAAS,CAkBX;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,cACb,MAAM,QACX,MAAM,aACD,MAAM,GAAG,IAAI,GAAG,SAAS,cACxB,MAAM,GAAG,IAAI,GAAG,SAAS,KACpC,QAAQ,SAAS,EAAE,CASlB,CAAC;AAYL,eAAO,MAAM,WAAW,WAAkB,MAAM,mBAAmB,eAAe;;;;EAc9E,CAAC;AAEL,eAAO,MAAM,iBAAiB,YAAmB,MAAM,eAAe,kBAAkB,wBASpF,CAAC;AAEL,eAAO,MAAM,uBAAuB,WAAkB,6BAA6B,yCAG/E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sdk.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.integration.test.d.ts","sourceRoot":"","sources":["../../src/network/sdk.integration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
+ const sdk_1 = require("./sdk");
8
+ describe("getOperations", () => {
9
+ describe("Account 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164", () => {
10
+ // https://suiscan.xyz/mainnet/account/0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164/activity
11
+ // 2 as of 23/03/2025
12
+ const IN_OPERATIONS_COUNT = 1;
13
+ const OUT_OPERATIONS_COUNT = 1;
14
+ const TOTAL_OPERATIONS_COUNT = IN_OPERATIONS_COUNT + OUT_OPERATIONS_COUNT;
15
+ let operations;
16
+ const testingAccount = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
17
+ beforeAll(async () => {
18
+ operations = await (0, sdk_1.getOperations)("mockAccoundId", testingAccount);
19
+ });
20
+ describe("List", () => {
21
+ it("should fetch operations successfully", async () => {
22
+ expect(Array.isArray(operations)).toBeDefined();
23
+ });
24
+ it("should fetch all operations", async () => {
25
+ expect(operations.length).toBeGreaterThanOrEqual(TOTAL_OPERATIONS_COUNT);
26
+ });
27
+ it("should return the first operation at index 0 and the last at the end", async () => {
28
+ const oldestTxHash = "rkTA5Tn9dgrWPnHgj2WK7rVnk5t9jC3ViPcHU9dewDg";
29
+ const newestTxHash = "CnVCqFLDv9iJc3DPU2WGpJdZUjqFPhyEVJ5BAigEj9VW";
30
+ expect(operations[operations.length - TOTAL_OPERATIONS_COUNT].hash).toEqual(newestTxHash);
31
+ expect(operations[operations.length - 1].hash).toEqual(oldestTxHash);
32
+ });
33
+ });
34
+ describe("Transaction types", () => {
35
+ it("should return correct IN/OUT operations numbers", async () => {
36
+ const inOps = operations.filter(op => op.type === "IN");
37
+ const outOps = operations.filter(op => op.type === "OUT");
38
+ expect(inOps.length).toBeGreaterThanOrEqual(IN_OPERATIONS_COUNT);
39
+ expect(outOps.length).toBeGreaterThanOrEqual(OUT_OPERATIONS_COUNT);
40
+ });
41
+ describe("SUI operations", () => {
42
+ it("should return SUI IN operations correctly", () => {
43
+ // https://suiscan.xyz/mainnet/tx/rkTA5Tn9dgrWPnHgj2WK7rVnk5t9jC3ViPcHU9dewDg
44
+ // Send 0.15 SUI to 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164
45
+ const txHash = "rkTA5Tn9dgrWPnHgj2WK7rVnk5t9jC3ViPcHU9dewDg";
46
+ const operation = operations.find(op => op.hash === txHash);
47
+ expect(operation).toMatchObject({
48
+ type: "IN",
49
+ value: (0, bignumber_js_1.default)("150000000"),
50
+ senders: ["0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0"],
51
+ recipients: [testingAccount],
52
+ });
53
+ });
54
+ it("should return SUI OUT operations correctly", () => {
55
+ // https://suiscan.xyz/mainnet/tx/CnVCqFLDv9iJc3DPU2WGpJdZUjqFPhyEVJ5BAigEj9VW
56
+ // Get 0.052 SUI from 0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164
57
+ const txHash = "CnVCqFLDv9iJc3DPU2WGpJdZUjqFPhyEVJ5BAigEj9VW";
58
+ const operation = operations.find(op => op.hash === txHash);
59
+ expect(operation).toMatchObject({
60
+ type: "OUT",
61
+ value: (0, bignumber_js_1.default)("51747880"),
62
+ recipients: ["0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0"],
63
+ senders: [testingAccount],
64
+ });
65
+ });
66
+ });
67
+ });
68
+ });
69
+ });
70
+ //# sourceMappingURL=sdk.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.integration.test.js","sourceRoot":"","sources":["../../src/network/sdk.integration.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,+BAAsC;AAGtC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,4EAA4E,EAAE,GAAG,EAAE;QAC1F,kHAAkH;QAElH,qBAAqB;QACrB,MAAM,mBAAmB,GAAG,CAAC,CAAC;QAC9B,MAAM,oBAAoB,GAAG,CAAC,CAAC;QAC/B,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;QAE1E,IAAI,UAAuB,CAAC;QAE5B,MAAM,cAAc,GAAG,oEAAoE,CAAC;QAE5F,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,UAAU,GAAG,MAAM,IAAA,mBAAa,EAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;gBAC3C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;gBACpF,MAAM,YAAY,GAAG,6CAA6C,CAAC;gBACnE,MAAM,YAAY,GAAG,8CAA8C,CAAC;gBACpE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC1F,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;gBACjE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;gBAC9B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;oBACnD,6EAA6E;oBAC7E,sFAAsF;oBACtF,MAAM,MAAM,GAAG,6CAA6C,CAAC;oBAC7D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;wBAC9B,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAA,sBAAS,EAAC,WAAW,CAAC;wBAC7B,OAAO,EAAE,CAAC,oEAAoE,CAAC;wBAC/E,UAAU,EAAE,CAAC,cAAc,CAAC;qBAC7B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;oBACpD,8EAA8E;oBAC9E,wFAAwF;oBACxF,MAAM,MAAM,GAAG,8CAA8C,CAAC;oBAC9D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;wBAC9B,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,IAAA,sBAAS,EAAC,UAAU,CAAC;wBAC5B,UAAU,EAAE,CAAC,oEAAoE,CAAC;wBAClF,OAAO,EAAE,CAAC,cAAc,CAAC;qBAC1B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeTransactionBlock = exports.createTransaction = exports.paymentInfo = exports.getOperations = exports.transactionToOperation = exports.getOperationDate = exports.getOperationFee = exports.getOperationAmount = exports.getOperationRecipients = exports.getOperationSenders = exports.getOperationType = exports.isSender = exports.getAccount = exports.getBalanceCached = void 0;
4
+ const client_1 = require("@mysten/sui/client");
5
+ const transactions_1 = require("@mysten/sui/transactions");
6
+ const bignumber_js_1 = require("bignumber.js");
7
+ const operation_1 = require("@ledgerhq/coin-framework/operation");
8
+ const cache_1 = require("@ledgerhq/live-network/cache");
9
+ const live_env_1 = require("@ledgerhq/live-env");
10
+ const utils_1 = require("../utils");
11
+ const rpcUrl = (0, live_env_1.getEnv)("API_SUI_NODE_PROXY");
12
+ let api = null;
13
+ const TRANSACTIONS_REQUEST_LIMIT = 100;
14
+ const BLOCK_HEIGHT = 5; // sui has no block height metainfo, we use it simulate proper icon statuses in apps
15
+ /**
16
+ * Connects to Sui Api
17
+ */
18
+ async function withApi(execute) {
19
+ if (!api) {
20
+ api = new client_1.SuiClient({ url: rpcUrl });
21
+ }
22
+ const result = await execute(api);
23
+ return result;
24
+ }
25
+ exports.getBalanceCached = (0, cache_1.makeLRUCache)(({ api, owner }) => api.getBalance({ owner }), (params) => params.owner, (0, cache_1.minutes)(1));
26
+ /**
27
+ * Get account balance
28
+ */
29
+ const getAccount = async (addr) => withApi(async (api) => {
30
+ const balance = await (0, exports.getBalanceCached)({ api, owner: addr });
31
+ return {
32
+ blockHeight: BLOCK_HEIGHT * 2,
33
+ balance: (0, bignumber_js_1.BigNumber)(balance.totalBalance),
34
+ };
35
+ });
36
+ exports.getAccount = getAccount;
37
+ /**
38
+ * Returns true if account is the signer
39
+ */
40
+ function isSender(addr, transaction) {
41
+ return transaction?.sender === (0, utils_1.ensureAddressFormat)(addr);
42
+ }
43
+ exports.isSender = isSender;
44
+ /**
45
+ * Map transaction to an Operation Type
46
+ */
47
+ function getOperationType(addr, transaction) {
48
+ return isSender(addr, transaction) ? "OUT" : "IN";
49
+ }
50
+ exports.getOperationType = getOperationType;
51
+ /**
52
+ * Extract senders from transaction
53
+ */
54
+ const getOperationSenders = (transaction) => {
55
+ return transaction?.sender ? [transaction?.sender] : [];
56
+ };
57
+ exports.getOperationSenders = getOperationSenders;
58
+ /**
59
+ * Extract recipients from transaction
60
+ */
61
+ const getOperationRecipients = (transaction) => {
62
+ if (transaction?.transaction.kind === "ProgrammableTransaction") {
63
+ if (!transaction?.transaction?.inputs)
64
+ return [];
65
+ const recipients = [];
66
+ transaction.transaction.inputs.forEach((input) => {
67
+ if ("valueType" in input && input.valueType === "address") {
68
+ recipients.push(String(input.value));
69
+ }
70
+ });
71
+ return recipients;
72
+ }
73
+ return [];
74
+ };
75
+ exports.getOperationRecipients = getOperationRecipients;
76
+ /**
77
+ * Extract value from transaction
78
+ */
79
+ const getOperationAmount = (address, transaction) => {
80
+ let amount = new bignumber_js_1.BigNumber(0);
81
+ if (!transaction?.balanceChanges)
82
+ return amount;
83
+ for (const balanceChange of transaction.balanceChanges) {
84
+ if (typeof balanceChange.owner !== "string" &&
85
+ "AddressOwner" in balanceChange.owner &&
86
+ balanceChange.owner.AddressOwner === address) {
87
+ if (balanceChange.amount[0] === "-") {
88
+ amount = amount.minus(balanceChange.amount);
89
+ }
90
+ else {
91
+ amount = amount.plus(balanceChange.amount);
92
+ }
93
+ }
94
+ }
95
+ return amount;
96
+ };
97
+ exports.getOperationAmount = getOperationAmount;
98
+ /**
99
+ * Extract fee from transaction
100
+ */
101
+ const getOperationFee = (transaction) => {
102
+ const gas = transaction.effects.gasUsed;
103
+ const computationCost = (0, bignumber_js_1.BigNumber)(gas.computationCost);
104
+ const storageCost = (0, bignumber_js_1.BigNumber)(gas.storageCost);
105
+ const storageRebate = (0, bignumber_js_1.BigNumber)(gas.storageRebate);
106
+ return computationCost.plus(storageCost).minus(storageRebate);
107
+ };
108
+ exports.getOperationFee = getOperationFee;
109
+ /**
110
+ * Extract date from transaction
111
+ */
112
+ const getOperationDate = (transaction) => {
113
+ return new Date(parseInt(transaction.timestampMs));
114
+ };
115
+ exports.getOperationDate = getOperationDate;
116
+ /**
117
+ * Map the Sui history transaction to a Ledger Live Operation
118
+ */
119
+ function transactionToOperation(accountId, address, transaction) {
120
+ const type = getOperationType(address, transaction.transaction?.data);
121
+ const hash = transaction.digest;
122
+ return {
123
+ id: (0, operation_1.encodeOperationId)(accountId, hash, type),
124
+ accountId,
125
+ blockHash: hash,
126
+ blockHeight: BLOCK_HEIGHT,
127
+ date: (0, exports.getOperationDate)(transaction),
128
+ extra: {},
129
+ fee: (0, exports.getOperationFee)(transaction),
130
+ hasFailed: transaction.effects?.status.status != "success",
131
+ hash,
132
+ recipients: (0, exports.getOperationRecipients)(transaction.transaction?.data),
133
+ senders: (0, exports.getOperationSenders)(transaction.transaction?.data),
134
+ type,
135
+ value: (0, exports.getOperationAmount)(address, transaction),
136
+ };
137
+ }
138
+ exports.transactionToOperation = transactionToOperation;
139
+ /**
140
+ * Fetch operation list
141
+ */
142
+ const getOperations = async (accountId, addr, inCursor, outCursor) => withApi(async (api) => {
143
+ const sentOps = await loadOperation({ api, type: "OUT", addr, cursor: outCursor });
144
+ const receivedOps = await loadOperation({ api, type: "IN", addr, cursor: inCursor });
145
+ const rawTransactions = [...sentOps, ...receivedOps].sort((a, b) => Number(b.timestampMs) - Number(a.timestampMs));
146
+ return rawTransactions.map(transaction => transactionToOperation(accountId, addr, transaction));
147
+ });
148
+ exports.getOperations = getOperations;
149
+ const getTotalGasUsed = (effects) => {
150
+ const gasSummary = effects?.gasUsed;
151
+ if (!gasSummary)
152
+ return BigInt(0);
153
+ return (BigInt(gasSummary.computationCost) +
154
+ BigInt(gasSummary.storageCost) -
155
+ BigInt(gasSummary.storageRebate));
156
+ };
157
+ const paymentInfo = async (sender, fakeTransaction) => withApi(async (api) => {
158
+ const tx = new transactions_1.Transaction();
159
+ tx.setSender((0, utils_1.ensureAddressFormat)(sender));
160
+ const [coin] = tx.splitCoins(tx.gas, [fakeTransaction.amount.toNumber()]);
161
+ tx.transferObjects([coin], fakeTransaction.recipient);
162
+ const txb = await tx.build({ client: api });
163
+ const dryRunTxResponse = await api.dryRunTransactionBlock({ transactionBlock: txb });
164
+ const fees = getTotalGasUsed(dryRunTxResponse.effects);
165
+ return {
166
+ gasBudget: dryRunTxResponse.input.gasData.budget,
167
+ totalGasUsed: fees,
168
+ fees,
169
+ };
170
+ });
171
+ exports.paymentInfo = paymentInfo;
172
+ const createTransaction = async (address, transaction) => withApi(async (api) => {
173
+ const tx = new transactions_1.Transaction();
174
+ tx.setSender((0, utils_1.ensureAddressFormat)(address));
175
+ const [coin] = tx.splitCoins(tx.gas, [transaction.amount.toNumber()]);
176
+ tx.transferObjects([coin], transaction.recipient);
177
+ return tx.build({ client: api });
178
+ });
179
+ exports.createTransaction = createTransaction;
180
+ const executeTransactionBlock = async (params) => withApi(async (api) => {
181
+ return api.executeTransactionBlock(params);
182
+ });
183
+ exports.executeTransactionBlock = executeTransactionBlock;
184
+ // load from curos point or from begining until we reach the end
185
+ const loadOperation = async (params) => {
186
+ const { api, addr, type, cursor } = params;
187
+ const filter = type === "IN" ? { ToAddress: addr } : { FromAddress: addr };
188
+ const { data, nextCursor, hasNextPage } = await api.queryTransactionBlocks({
189
+ filter,
190
+ cursor,
191
+ order: "ascending",
192
+ options: {
193
+ showInput: true,
194
+ showBalanceChanges: true,
195
+ showEffects: true, // To get transaction status and gas fee details
196
+ },
197
+ limit: TRANSACTIONS_REQUEST_LIMIT,
198
+ });
199
+ if (hasNextPage) {
200
+ const newData = await loadOperation({ api, type, addr, cursor: nextCursor });
201
+ return [...newData, ...data];
202
+ }
203
+ return data;
204
+ };
205
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/network/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sdk.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.test.d.ts","sourceRoot":"","sources":["../../src/network/sdk.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sdk_1 = require("./sdk");
4
+ const bignumber_js_1 = require("bignumber.js");
5
+ const mockTransaction = {
6
+ digest: "DhKLpX5kwuKuyRa71RGqpX5EY2M8Efw535ZVXYXsRiDt",
7
+ transaction: {
8
+ data: {
9
+ messageVersion: "v1",
10
+ transaction: {
11
+ kind: "ProgrammableTransaction",
12
+ inputs: [
13
+ {
14
+ type: "pure",
15
+ valueType: "address",
16
+ value: "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0",
17
+ },
18
+ ],
19
+ transactions: [
20
+ {
21
+ TransferObjects: [["GasCoin"], { Input: 0 }],
22
+ },
23
+ ],
24
+ },
25
+ sender: "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24",
26
+ gasData: {
27
+ payment: [
28
+ {
29
+ objectId: "0x9d49c70b621b618c7918468a7ac286e71cffe6e30c4e4175a4385516b121cb0e",
30
+ version: "57",
31
+ digest: "2rPEonJQQUXeAmAegn3fVqBjpKrC5NadAZBetb5wJQm6",
32
+ },
33
+ ],
34
+ owner: "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24",
35
+ price: "1000",
36
+ budget: "2988000",
37
+ },
38
+ },
39
+ txSignatures: [
40
+ "AJKFd5y+1y/ggTAKTZlrrQlvSWXoYCSU7ksxyBG6BI9FDjN/R8db5PNbw19Bs+Lp4VE0cu9BBzAc/gYDFwgYrQVgR+QnZSFg3qWm+IjLX2dEep/wlLje2lziXO+HmZApcQ==",
41
+ ],
42
+ },
43
+ effects: {
44
+ messageVersion: "v1",
45
+ status: { status: "success" },
46
+ executedEpoch: "18",
47
+ gasUsed: {
48
+ computationCost: "1000000",
49
+ storageCost: "988000",
50
+ storageRebate: "978120",
51
+ nonRefundableStorageFee: "9880",
52
+ },
53
+ modifiedAtVersions: [
54
+ {
55
+ objectId: "0x9d49c70b621b618c7918468a7ac286e71cffe6e30c4e4175a4385516b121cb0e",
56
+ sequenceNumber: "57",
57
+ },
58
+ ],
59
+ transactionDigest: "DhKLpX5kwuKuyRa71RGqpX5EY2M8Efw535ZVXYXsRiDt",
60
+ mutated: [
61
+ {
62
+ owner: {
63
+ AddressOwner: "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0",
64
+ },
65
+ reference: {
66
+ objectId: "0x9d49c70b621b618c7918468a7ac286e71cffe6e30c4e4175a4385516b121cb0e",
67
+ version: "58",
68
+ digest: "82pvkMbymnBFQjhuDDaaW88BeATbNgWWcWH67DcLaPBi",
69
+ },
70
+ },
71
+ ],
72
+ gasObject: {
73
+ owner: { AddressOwner: "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0" },
74
+ reference: {
75
+ objectId: "0x9d49c70b621b618c7918468a7ac286e71cffe6e30c4e4175a4385516b121cb0e",
76
+ version: "58",
77
+ digest: "82pvkMbymnBFQjhuDDaaW88BeATbNgWWcWH67DcLaPBi",
78
+ },
79
+ },
80
+ dependencies: ["D8tHbu9JwGuoaH67PFXCoswqDUy2M4S6KVLWhCodt1a7"],
81
+ },
82
+ balanceChanges: [
83
+ {
84
+ owner: { AddressOwner: "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24" },
85
+ coinType: "0x2::sui::SUI",
86
+ amount: "-10000000000",
87
+ },
88
+ {
89
+ owner: { AddressOwner: "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0" },
90
+ coinType: "0x2::sui::SUI",
91
+ amount: "9998990120",
92
+ },
93
+ ],
94
+ timestampMs: "1742294454878",
95
+ checkpoint: "313024",
96
+ };
97
+ describe("SDK Functions", () => {
98
+ test("getAccount should return account balance", async () => {
99
+ const address = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
100
+ const balance = await (0, sdk_1.getAccount)(address);
101
+ expect(balance).toHaveProperty("blockHeight");
102
+ expect(balance).toHaveProperty("balance");
103
+ });
104
+ test("getOperationType should return IN for incoming tx", () => {
105
+ const address = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
106
+ expect((0, sdk_1.getOperationType)(address, mockTransaction.transaction?.data)).toBe("IN");
107
+ });
108
+ test("getOperationSenders should return sender address", () => {
109
+ expect((0, sdk_1.getOperationSenders)(mockTransaction.transaction?.data)).toEqual([
110
+ "0x65449f57946938c84c512732f1d69405d1fce417d9c9894696ddf4522f479e24",
111
+ ]);
112
+ });
113
+ test("getOperationRecipients should return recipient addresses", () => {
114
+ expect((0, sdk_1.getOperationRecipients)(mockTransaction.transaction?.data)).toEqual(["0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0"]);
115
+ });
116
+ test("getOperationAmount should calculate amount correctly", () => {
117
+ const address = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
118
+ expect((0, sdk_1.getOperationAmount)(address, mockTransaction)).toEqual(new bignumber_js_1.BigNumber(0));
119
+ });
120
+ test("getOperationFee should calculate fee correctly", () => {
121
+ expect((0, sdk_1.getOperationFee)(mockTransaction)).toEqual(new bignumber_js_1.BigNumber(1009880));
122
+ });
123
+ test("getOperationDate should return correct date", () => {
124
+ expect((0, sdk_1.getOperationDate)(mockTransaction)).toEqual(new Date("2025-03-18T10:40:54.878Z"));
125
+ });
126
+ test("transactionToOperation should map transaction to operation", () => {
127
+ const accountId = "mockAccountId";
128
+ const address = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
129
+ const operation = (0, sdk_1.transactionToOperation)(accountId, address, mockTransaction);
130
+ expect(operation).toHaveProperty("id");
131
+ expect(operation).toHaveProperty("accountId", accountId);
132
+ });
133
+ test("getOperations should fetch operations", async () => {
134
+ const accountId = "mockAccountId";
135
+ const addr = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
136
+ const operations = await (0, sdk_1.getOperations)(accountId, addr);
137
+ expect(Array.isArray(operations)).toBe(true);
138
+ });
139
+ test("paymentInfo should return gas budget and fees", async () => {
140
+ const sender = "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0";
141
+ const fakeTransaction = {
142
+ mode: "sent",
143
+ family: "sui",
144
+ amount: new bignumber_js_1.BigNumber(100),
145
+ recipient: "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164",
146
+ errors: {},
147
+ };
148
+ const info = await (0, sdk_1.paymentInfo)(sender, fakeTransaction);
149
+ expect(info).toHaveProperty("gasBudget");
150
+ expect(info).toHaveProperty("totalGasUsed");
151
+ expect(info).toHaveProperty("fees");
152
+ });
153
+ test("createTransaction should build a transaction", async () => {
154
+ const address = "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0";
155
+ const transaction = {
156
+ mode: "sent",
157
+ family: "sui",
158
+ amount: new bignumber_js_1.BigNumber(100),
159
+ recipient: "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164",
160
+ errors: {},
161
+ };
162
+ const tx = await (0, sdk_1.createTransaction)(address, transaction);
163
+ expect(tx).toBeInstanceOf(Uint8Array);
164
+ });
165
+ });
166
+ //# sourceMappingURL=sdk.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../src/network/sdk.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { GetAddressFn } from "@ledgerhq/coin-framework/bridge/getAddressWrapper";
2
+ import type { SignerContext } from "@ledgerhq/coin-framework/signer";
3
+ import type { SuiSigner } from "../types";
4
+ declare const resolver: (signerContext: SignerContext<SuiSigner>) => GetAddressFn;
5
+ export default resolver;
6
+ //# sourceMappingURL=getAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,QAAA,MAAM,QAAQ,kBAAmB,cAAc,SAAS,CAAC,KAAG,YAgB3D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const logs_1 = require("@ledgerhq/logs");
4
+ const utils_1 = require("../utils");
5
+ const resolver = (signerContext) => {
6
+ return async (deviceId, { path, verify }) => {
7
+ (0, logs_1.log)("debug", "start getAddress process");
8
+ const result = await signerContext(deviceId, signer => signer.getPublicKey(path, verify));
9
+ if (!result.address || !result.publicKey) {
10
+ throw Error("Failed to get address from device");
11
+ }
12
+ return {
13
+ address: (0, utils_1.ensureAddressFormat)(Buffer.from(result.address).toString("hex")),
14
+ publicKey: Buffer.from(result.publicKey).toString("hex"),
15
+ path,
16
+ };
17
+ };
18
+ };
19
+ exports.default = resolver;
20
+ //# sourceMappingURL=getAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":";;AAAA,yCAAqC;AAKrC,oCAA+C;AAE/C,MAAM,QAAQ,GAAG,CAAC,aAAuC,EAAgB,EAAE;IACzE,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;QACrE,IAAA,UAAG,EAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAE1F,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAA,2BAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxD,IAAI;SACL,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getAddress.test.d.ts.map