@moveindustries/ts-sdk 5.1.4

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 (729) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +66 -0
  3. package/dist/common/accountAddress-DoqkxUqw.d.ts +7769 -0
  4. package/dist/common/chunk-56DGDNEY.js +4 -0
  5. package/dist/common/chunk-56DGDNEY.js.map +1 -0
  6. package/dist/common/cli/index.d.ts +316 -0
  7. package/dist/common/cli/index.js +2 -0
  8. package/dist/common/cli/index.js.map +1 -0
  9. package/dist/common/index.d.ts +10643 -0
  10. package/dist/common/index.js +482 -0
  11. package/dist/common/index.js.map +1 -0
  12. package/dist/esm/Ed25519Account-DsqenvLJ.d.mts +628 -0
  13. package/dist/esm/account/AbstractKeylessAccount.d.mts +336 -0
  14. package/dist/esm/account/AbstractKeylessAccount.mjs +2 -0
  15. package/dist/esm/account/AbstractKeylessAccount.mjs.map +1 -0
  16. package/dist/esm/account/AbstractedAccount.d.mts +64 -0
  17. package/dist/esm/account/AbstractedAccount.mjs +2 -0
  18. package/dist/esm/account/AbstractedAccount.mjs.map +1 -0
  19. package/dist/esm/account/Account.d.mts +8 -0
  20. package/dist/esm/account/Account.mjs +2 -0
  21. package/dist/esm/account/Account.mjs.map +1 -0
  22. package/dist/esm/account/AccountUtils.d.mts +38 -0
  23. package/dist/esm/account/AccountUtils.mjs +2 -0
  24. package/dist/esm/account/AccountUtils.mjs.map +1 -0
  25. package/dist/esm/account/DerivableAbstractedAccount.d.mts +59 -0
  26. package/dist/esm/account/DerivableAbstractedAccount.mjs +2 -0
  27. package/dist/esm/account/DerivableAbstractedAccount.mjs.map +1 -0
  28. package/dist/esm/account/Ed25519Account.d.mts +8 -0
  29. package/dist/esm/account/Ed25519Account.mjs +2 -0
  30. package/dist/esm/account/Ed25519Account.mjs.map +1 -0
  31. package/dist/esm/account/EphemeralKeyPair.d.mts +141 -0
  32. package/dist/esm/account/EphemeralKeyPair.mjs +2 -0
  33. package/dist/esm/account/EphemeralKeyPair.mjs.map +1 -0
  34. package/dist/esm/account/FederatedKeylessAccount.d.mts +118 -0
  35. package/dist/esm/account/FederatedKeylessAccount.mjs +2 -0
  36. package/dist/esm/account/FederatedKeylessAccount.mjs.map +1 -0
  37. package/dist/esm/account/KeylessAccount.d.mts +124 -0
  38. package/dist/esm/account/KeylessAccount.mjs +2 -0
  39. package/dist/esm/account/KeylessAccount.mjs.map +1 -0
  40. package/dist/esm/account/MultiEd25519Account.d.mts +102 -0
  41. package/dist/esm/account/MultiEd25519Account.mjs +2 -0
  42. package/dist/esm/account/MultiEd25519Account.mjs.map +1 -0
  43. package/dist/esm/account/MultiKeyAccount.d.mts +206 -0
  44. package/dist/esm/account/MultiKeyAccount.mjs +2 -0
  45. package/dist/esm/account/MultiKeyAccount.mjs.map +1 -0
  46. package/dist/esm/account/SingleKeyAccount.d.mts +8 -0
  47. package/dist/esm/account/SingleKeyAccount.mjs +2 -0
  48. package/dist/esm/account/SingleKeyAccount.mjs.map +1 -0
  49. package/dist/esm/account/index.d.mts +24 -0
  50. package/dist/esm/account/index.mjs +2 -0
  51. package/dist/esm/account/index.mjs.map +1 -0
  52. package/dist/esm/account/utils.d.mts +14 -0
  53. package/dist/esm/account/utils.mjs +2 -0
  54. package/dist/esm/account/utils.mjs.map +1 -0
  55. package/dist/esm/accountAddress-CNXtapt1.d.mts +6979 -0
  56. package/dist/esm/api/account/abstraction.d.mts +181 -0
  57. package/dist/esm/api/account/abstraction.mjs +2 -0
  58. package/dist/esm/api/account/abstraction.mjs.map +1 -0
  59. package/dist/esm/api/account.d.mts +852 -0
  60. package/dist/esm/api/account.mjs +2 -0
  61. package/dist/esm/api/account.mjs.map +1 -0
  62. package/dist/esm/api/ans.d.mts +504 -0
  63. package/dist/esm/api/ans.mjs +2 -0
  64. package/dist/esm/api/ans.mjs.map +1 -0
  65. package/dist/esm/api/coin.d.mts +81 -0
  66. package/dist/esm/api/coin.mjs +2 -0
  67. package/dist/esm/api/coin.mjs.map +1 -0
  68. package/dist/esm/api/digitalAsset.d.mts +1030 -0
  69. package/dist/esm/api/digitalAsset.mjs +2 -0
  70. package/dist/esm/api/digitalAsset.mjs.map +1 -0
  71. package/dist/esm/api/faucet.d.mts +80 -0
  72. package/dist/esm/api/faucet.mjs +2 -0
  73. package/dist/esm/api/faucet.mjs.map +1 -0
  74. package/dist/esm/api/fungibleAsset.d.mts +288 -0
  75. package/dist/esm/api/fungibleAsset.mjs +2 -0
  76. package/dist/esm/api/fungibleAsset.mjs.map +1 -0
  77. package/dist/esm/api/general.d.mts +303 -0
  78. package/dist/esm/api/general.mjs +2 -0
  79. package/dist/esm/api/general.mjs.map +1 -0
  80. package/dist/esm/api/index.d.mts +46 -0
  81. package/dist/esm/api/index.mjs +2 -0
  82. package/dist/esm/api/index.mjs.map +1 -0
  83. package/dist/esm/api/keyless.d.mts +170 -0
  84. package/dist/esm/api/keyless.mjs +2 -0
  85. package/dist/esm/api/keyless.mjs.map +1 -0
  86. package/dist/esm/api/movement.d.mts +113 -0
  87. package/dist/esm/api/movement.mjs +2 -0
  88. package/dist/esm/api/movement.mjs.map +1 -0
  89. package/dist/esm/api/movementConfig.d.mts +7 -0
  90. package/dist/esm/api/movementConfig.mjs +2 -0
  91. package/dist/esm/api/movementConfig.mjs.map +1 -0
  92. package/dist/esm/api/object.d.mts +80 -0
  93. package/dist/esm/api/object.mjs +2 -0
  94. package/dist/esm/api/object.mjs.map +1 -0
  95. package/dist/esm/api/staking.d.mts +134 -0
  96. package/dist/esm/api/staking.mjs +2 -0
  97. package/dist/esm/api/staking.mjs.map +1 -0
  98. package/dist/esm/api/table.d.mts +169 -0
  99. package/dist/esm/api/table.mjs +2 -0
  100. package/dist/esm/api/table.mjs.map +1 -0
  101. package/dist/esm/api/transaction.d.mts +679 -0
  102. package/dist/esm/api/transaction.mjs +2 -0
  103. package/dist/esm/api/transaction.mjs.map +1 -0
  104. package/dist/esm/api/transactionSubmission/build.d.mts +141 -0
  105. package/dist/esm/api/transactionSubmission/build.mjs +2 -0
  106. package/dist/esm/api/transactionSubmission/build.mjs.map +1 -0
  107. package/dist/esm/api/transactionSubmission/helpers.d.mts +98 -0
  108. package/dist/esm/api/transactionSubmission/helpers.mjs +2 -0
  109. package/dist/esm/api/transactionSubmission/helpers.mjs.map +1 -0
  110. package/dist/esm/api/transactionSubmission/management.d.mts +168 -0
  111. package/dist/esm/api/transactionSubmission/management.mjs +2 -0
  112. package/dist/esm/api/transactionSubmission/management.mjs.map +1 -0
  113. package/dist/esm/api/transactionSubmission/sign.d.mts +124 -0
  114. package/dist/esm/api/transactionSubmission/sign.mjs +2 -0
  115. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -0
  116. package/dist/esm/api/transactionSubmission/simulate.d.mts +181 -0
  117. package/dist/esm/api/transactionSubmission/simulate.mjs +2 -0
  118. package/dist/esm/api/transactionSubmission/simulate.mjs.map +1 -0
  119. package/dist/esm/api/transactionSubmission/submit.d.mts +142 -0
  120. package/dist/esm/api/transactionSubmission/submit.mjs +2 -0
  121. package/dist/esm/api/transactionSubmission/submit.mjs.map +1 -0
  122. package/dist/esm/api/utils.d.mts +45 -0
  123. package/dist/esm/api/utils.mjs +2 -0
  124. package/dist/esm/api/utils.mjs.map +1 -0
  125. package/dist/esm/bcs/consts.d.mts +28 -0
  126. package/dist/esm/bcs/consts.mjs +2 -0
  127. package/dist/esm/bcs/consts.mjs.map +1 -0
  128. package/dist/esm/bcs/deserializer.d.mts +7 -0
  129. package/dist/esm/bcs/deserializer.mjs +2 -0
  130. package/dist/esm/bcs/deserializer.mjs.map +1 -0
  131. package/dist/esm/bcs/index.d.mts +8 -0
  132. package/dist/esm/bcs/index.mjs +2 -0
  133. package/dist/esm/bcs/index.mjs.map +1 -0
  134. package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +65 -0
  135. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +2 -0
  136. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs.map +1 -0
  137. package/dist/esm/bcs/serializable/fixedBytes.d.mts +7 -0
  138. package/dist/esm/bcs/serializable/fixedBytes.mjs +2 -0
  139. package/dist/esm/bcs/serializable/fixedBytes.mjs.map +1 -0
  140. package/dist/esm/bcs/serializable/movePrimitives.d.mts +7 -0
  141. package/dist/esm/bcs/serializable/movePrimitives.mjs +2 -0
  142. package/dist/esm/bcs/serializable/movePrimitives.mjs.map +1 -0
  143. package/dist/esm/bcs/serializable/moveStructs.d.mts +7 -0
  144. package/dist/esm/bcs/serializable/moveStructs.mjs +2 -0
  145. package/dist/esm/bcs/serializable/moveStructs.mjs.map +1 -0
  146. package/dist/esm/bcs/serializer.d.mts +7 -0
  147. package/dist/esm/bcs/serializer.mjs +2 -0
  148. package/dist/esm/bcs/serializer.mjs.map +1 -0
  149. package/dist/esm/chunk-2KDUIZKB.mjs +2 -0
  150. package/dist/esm/chunk-2KDUIZKB.mjs.map +1 -0
  151. package/dist/esm/chunk-2QTV4AOE.mjs +2 -0
  152. package/dist/esm/chunk-2QTV4AOE.mjs.map +1 -0
  153. package/dist/esm/chunk-47V7UGV5.mjs +4 -0
  154. package/dist/esm/chunk-47V7UGV5.mjs.map +1 -0
  155. package/dist/esm/chunk-4QMXOWHP.mjs +1 -0
  156. package/dist/esm/chunk-4QMXOWHP.mjs.map +1 -0
  157. package/dist/esm/chunk-4WPQQPUF.mjs +1 -0
  158. package/dist/esm/chunk-4WPQQPUF.mjs.map +1 -0
  159. package/dist/esm/chunk-5HXLZHDW.mjs +1 -0
  160. package/dist/esm/chunk-5HXLZHDW.mjs.map +1 -0
  161. package/dist/esm/chunk-5IMQPJ6J.mjs +2 -0
  162. package/dist/esm/chunk-5IMQPJ6J.mjs.map +1 -0
  163. package/dist/esm/chunk-5ZKA765G.mjs +2 -0
  164. package/dist/esm/chunk-5ZKA765G.mjs.map +1 -0
  165. package/dist/esm/chunk-6NO4QKAO.mjs +2 -0
  166. package/dist/esm/chunk-6NO4QKAO.mjs.map +1 -0
  167. package/dist/esm/chunk-7ECCT6PK.mjs +1 -0
  168. package/dist/esm/chunk-7ECCT6PK.mjs.map +1 -0
  169. package/dist/esm/chunk-7TTTMBAK.mjs +2 -0
  170. package/dist/esm/chunk-7TTTMBAK.mjs.map +1 -0
  171. package/dist/esm/chunk-A5L76YP7.mjs +2 -0
  172. package/dist/esm/chunk-A5L76YP7.mjs.map +1 -0
  173. package/dist/esm/chunk-ANTEUWH6.mjs +2 -0
  174. package/dist/esm/chunk-ANTEUWH6.mjs.map +1 -0
  175. package/dist/esm/chunk-CHWDP6AR.mjs +2 -0
  176. package/dist/esm/chunk-CHWDP6AR.mjs.map +1 -0
  177. package/dist/esm/chunk-CRCE7R4D.mjs +2 -0
  178. package/dist/esm/chunk-CRCE7R4D.mjs.map +1 -0
  179. package/dist/esm/chunk-D6HPXGEP.mjs +2 -0
  180. package/dist/esm/chunk-D6HPXGEP.mjs.map +1 -0
  181. package/dist/esm/chunk-DS6QB6HG.mjs +4 -0
  182. package/dist/esm/chunk-DS6QB6HG.mjs.map +1 -0
  183. package/dist/esm/chunk-FD6FGKYY.mjs +1 -0
  184. package/dist/esm/chunk-FD6FGKYY.mjs.map +1 -0
  185. package/dist/esm/chunk-FJRPU2NH.mjs +2 -0
  186. package/dist/esm/chunk-FJRPU2NH.mjs.map +1 -0
  187. package/dist/esm/chunk-FS5ZJKO7.mjs +2 -0
  188. package/dist/esm/chunk-FS5ZJKO7.mjs.map +1 -0
  189. package/dist/esm/chunk-FZY4PMEE.mjs +1 -0
  190. package/dist/esm/chunk-FZY4PMEE.mjs.map +1 -0
  191. package/dist/esm/chunk-G3MHXDYA.mjs +1 -0
  192. package/dist/esm/chunk-G3MHXDYA.mjs.map +1 -0
  193. package/dist/esm/chunk-GOXRBEIJ.mjs +2 -0
  194. package/dist/esm/chunk-GOXRBEIJ.mjs.map +1 -0
  195. package/dist/esm/chunk-HGLO5LDS.mjs +1 -0
  196. package/dist/esm/chunk-HGLO5LDS.mjs.map +1 -0
  197. package/dist/esm/chunk-HL2JMZ7N.mjs +2 -0
  198. package/dist/esm/chunk-HL2JMZ7N.mjs.map +1 -0
  199. package/dist/esm/chunk-I6YGBK5S.mjs +2 -0
  200. package/dist/esm/chunk-I6YGBK5S.mjs.map +1 -0
  201. package/dist/esm/chunk-K4NT6TTN.mjs +2 -0
  202. package/dist/esm/chunk-K4NT6TTN.mjs.map +1 -0
  203. package/dist/esm/chunk-KDMSOCZY.mjs +2 -0
  204. package/dist/esm/chunk-KDMSOCZY.mjs.map +1 -0
  205. package/dist/esm/chunk-KPJGWDSQ.mjs +7 -0
  206. package/dist/esm/chunk-KPJGWDSQ.mjs.map +1 -0
  207. package/dist/esm/chunk-MEWW7VTQ.mjs +2 -0
  208. package/dist/esm/chunk-MEWW7VTQ.mjs.map +1 -0
  209. package/dist/esm/chunk-NECL5FCQ.mjs +1 -0
  210. package/dist/esm/chunk-NECL5FCQ.mjs.map +1 -0
  211. package/dist/esm/chunk-NMFJJOGW.mjs +2 -0
  212. package/dist/esm/chunk-NMFJJOGW.mjs.map +1 -0
  213. package/dist/esm/chunk-NQUZ4UHR.mjs +2 -0
  214. package/dist/esm/chunk-NQUZ4UHR.mjs.map +1 -0
  215. package/dist/esm/chunk-NUB6KE73.mjs +2 -0
  216. package/dist/esm/chunk-NUB6KE73.mjs.map +1 -0
  217. package/dist/esm/chunk-OOOAVIMQ.mjs +2 -0
  218. package/dist/esm/chunk-OOOAVIMQ.mjs.map +1 -0
  219. package/dist/esm/chunk-PCESRJYO.mjs +2 -0
  220. package/dist/esm/chunk-PCESRJYO.mjs.map +1 -0
  221. package/dist/esm/chunk-PHRRBT44.mjs +2 -0
  222. package/dist/esm/chunk-PHRRBT44.mjs.map +1 -0
  223. package/dist/esm/chunk-PZ233FIY.mjs +2 -0
  224. package/dist/esm/chunk-PZ233FIY.mjs.map +1 -0
  225. package/dist/esm/chunk-R2G23RIY.mjs +2 -0
  226. package/dist/esm/chunk-R2G23RIY.mjs.map +1 -0
  227. package/dist/esm/chunk-RL4YPMN4.mjs +2 -0
  228. package/dist/esm/chunk-RL4YPMN4.mjs.map +1 -0
  229. package/dist/esm/chunk-RUIFVDWM.mjs +2 -0
  230. package/dist/esm/chunk-RUIFVDWM.mjs.map +1 -0
  231. package/dist/esm/chunk-RXHPS4IU.mjs +2 -0
  232. package/dist/esm/chunk-RXHPS4IU.mjs.map +1 -0
  233. package/dist/esm/chunk-S4D2KBYN.mjs +2 -0
  234. package/dist/esm/chunk-S4D2KBYN.mjs.map +1 -0
  235. package/dist/esm/chunk-SRXFRTHK.mjs +2 -0
  236. package/dist/esm/chunk-SRXFRTHK.mjs.map +1 -0
  237. package/dist/esm/chunk-SYXDZA4K.mjs +2 -0
  238. package/dist/esm/chunk-SYXDZA4K.mjs.map +1 -0
  239. package/dist/esm/chunk-UI4OF6CP.mjs +2 -0
  240. package/dist/esm/chunk-UI4OF6CP.mjs.map +1 -0
  241. package/dist/esm/chunk-UL777LTI.mjs +494 -0
  242. package/dist/esm/chunk-UL777LTI.mjs.map +1 -0
  243. package/dist/esm/chunk-UVP74ONT.mjs +2 -0
  244. package/dist/esm/chunk-UVP74ONT.mjs.map +1 -0
  245. package/dist/esm/chunk-UYVPNUH3.mjs +1 -0
  246. package/dist/esm/chunk-UYVPNUH3.mjs.map +1 -0
  247. package/dist/esm/chunk-V3MBJJTL.mjs +1 -0
  248. package/dist/esm/chunk-V3MBJJTL.mjs.map +1 -0
  249. package/dist/esm/chunk-V3O2SBO4.mjs +2 -0
  250. package/dist/esm/chunk-V3O2SBO4.mjs.map +1 -0
  251. package/dist/esm/chunk-VEZCMPUG.mjs +2 -0
  252. package/dist/esm/chunk-VEZCMPUG.mjs.map +1 -0
  253. package/dist/esm/chunk-VW3WBAAD.mjs +2 -0
  254. package/dist/esm/chunk-VW3WBAAD.mjs.map +1 -0
  255. package/dist/esm/chunk-WFAH73WN.mjs +2 -0
  256. package/dist/esm/chunk-WFAH73WN.mjs.map +1 -0
  257. package/dist/esm/chunk-WVDICMU4.mjs +2 -0
  258. package/dist/esm/chunk-WVDICMU4.mjs.map +1 -0
  259. package/dist/esm/chunk-XCURF77K.mjs +2 -0
  260. package/dist/esm/chunk-XCURF77K.mjs.map +1 -0
  261. package/dist/esm/chunk-Y6YW4BAZ.mjs +2 -0
  262. package/dist/esm/chunk-Y6YW4BAZ.mjs.map +1 -0
  263. package/dist/esm/chunk-YFFYA5U3.mjs +2 -0
  264. package/dist/esm/chunk-YFFYA5U3.mjs.map +1 -0
  265. package/dist/esm/chunk-YOHEYPDP.mjs +2 -0
  266. package/dist/esm/chunk-YOHEYPDP.mjs.map +1 -0
  267. package/dist/esm/chunk-ZP4DWSQA.mjs +2 -0
  268. package/dist/esm/chunk-ZP4DWSQA.mjs.map +1 -0
  269. package/dist/esm/cli/index.d.mts +10 -0
  270. package/dist/esm/cli/index.mjs +2 -0
  271. package/dist/esm/cli/index.mjs.map +1 -0
  272. package/dist/esm/cli/localNode.d.mts +67 -0
  273. package/dist/esm/cli/localNode.mjs +2 -0
  274. package/dist/esm/cli/localNode.mjs.map +1 -0
  275. package/dist/esm/cli/move.d.mts +257 -0
  276. package/dist/esm/cli/move.mjs +2 -0
  277. package/dist/esm/cli/move.mjs.map +1 -0
  278. package/dist/esm/client/core.d.mts +42 -0
  279. package/dist/esm/client/core.mjs +2 -0
  280. package/dist/esm/client/core.mjs.map +1 -0
  281. package/dist/esm/client/get.d.mts +125 -0
  282. package/dist/esm/client/get.mjs +2 -0
  283. package/dist/esm/client/get.mjs.map +1 -0
  284. package/dist/esm/client/index.d.mts +10 -0
  285. package/dist/esm/client/index.mjs +2 -0
  286. package/dist/esm/client/index.mjs.map +1 -0
  287. package/dist/esm/client/post.d.mts +158 -0
  288. package/dist/esm/client/post.mjs +2 -0
  289. package/dist/esm/client/post.mjs.map +1 -0
  290. package/dist/esm/core/account/index.d.mts +8 -0
  291. package/dist/esm/core/account/index.mjs +2 -0
  292. package/dist/esm/core/account/index.mjs.map +1 -0
  293. package/dist/esm/core/account/utils/address.d.mts +55 -0
  294. package/dist/esm/core/account/utils/address.mjs +2 -0
  295. package/dist/esm/core/account/utils/address.mjs.map +1 -0
  296. package/dist/esm/core/account/utils/index.d.mts +8 -0
  297. package/dist/esm/core/account/utils/index.mjs +2 -0
  298. package/dist/esm/core/account/utils/index.mjs.map +1 -0
  299. package/dist/esm/core/accountAddress.d.mts +7 -0
  300. package/dist/esm/core/accountAddress.mjs +2 -0
  301. package/dist/esm/core/accountAddress.mjs.map +1 -0
  302. package/dist/esm/core/authenticationKey.d.mts +7 -0
  303. package/dist/esm/core/authenticationKey.mjs +2 -0
  304. package/dist/esm/core/authenticationKey.mjs.map +1 -0
  305. package/dist/esm/core/common.d.mts +52 -0
  306. package/dist/esm/core/common.mjs +2 -0
  307. package/dist/esm/core/common.mjs.map +1 -0
  308. package/dist/esm/core/crypto/abstraction.d.mts +24 -0
  309. package/dist/esm/core/crypto/abstraction.mjs +2 -0
  310. package/dist/esm/core/crypto/abstraction.mjs.map +1 -0
  311. package/dist/esm/core/crypto/deserializationUtils.d.mts +28 -0
  312. package/dist/esm/core/crypto/deserializationUtils.mjs +2 -0
  313. package/dist/esm/core/crypto/deserializationUtils.mjs.map +1 -0
  314. package/dist/esm/core/crypto/ed25519.d.mts +7 -0
  315. package/dist/esm/core/crypto/ed25519.mjs +2 -0
  316. package/dist/esm/core/crypto/ed25519.mjs.map +1 -0
  317. package/dist/esm/core/crypto/ephemeral.d.mts +116 -0
  318. package/dist/esm/core/crypto/ephemeral.mjs +2 -0
  319. package/dist/esm/core/crypto/ephemeral.mjs.map +1 -0
  320. package/dist/esm/core/crypto/federatedKeyless.d.mts +13 -0
  321. package/dist/esm/core/crypto/federatedKeyless.mjs +2 -0
  322. package/dist/esm/core/crypto/federatedKeyless.mjs.map +1 -0
  323. package/dist/esm/core/crypto/hdKey.d.mts +95 -0
  324. package/dist/esm/core/crypto/hdKey.mjs +2 -0
  325. package/dist/esm/core/crypto/hdKey.mjs.map +1 -0
  326. package/dist/esm/core/crypto/index.d.mts +19 -0
  327. package/dist/esm/core/crypto/index.mjs +2 -0
  328. package/dist/esm/core/crypto/index.mjs.map +1 -0
  329. package/dist/esm/core/crypto/keyless.d.mts +13 -0
  330. package/dist/esm/core/crypto/keyless.mjs +2 -0
  331. package/dist/esm/core/crypto/keyless.mjs.map +1 -0
  332. package/dist/esm/core/crypto/multiEd25519.d.mts +7 -0
  333. package/dist/esm/core/crypto/multiEd25519.mjs +2 -0
  334. package/dist/esm/core/crypto/multiEd25519.mjs.map +1 -0
  335. package/dist/esm/core/crypto/multiKey.d.mts +7 -0
  336. package/dist/esm/core/crypto/multiKey.mjs +2 -0
  337. package/dist/esm/core/crypto/multiKey.mjs.map +1 -0
  338. package/dist/esm/core/crypto/poseidon.d.mts +59 -0
  339. package/dist/esm/core/crypto/poseidon.mjs +2 -0
  340. package/dist/esm/core/crypto/poseidon.mjs.map +1 -0
  341. package/dist/esm/core/crypto/privateKey.d.mts +7 -0
  342. package/dist/esm/core/crypto/privateKey.mjs +2 -0
  343. package/dist/esm/core/crypto/privateKey.mjs.map +1 -0
  344. package/dist/esm/core/crypto/proof.d.mts +18 -0
  345. package/dist/esm/core/crypto/proof.mjs +2 -0
  346. package/dist/esm/core/crypto/proof.mjs.map +1 -0
  347. package/dist/esm/core/crypto/publicKey.d.mts +7 -0
  348. package/dist/esm/core/crypto/publicKey.mjs +2 -0
  349. package/dist/esm/core/crypto/publicKey.mjs.map +1 -0
  350. package/dist/esm/core/crypto/secp256k1.d.mts +7 -0
  351. package/dist/esm/core/crypto/secp256k1.mjs +2 -0
  352. package/dist/esm/core/crypto/secp256k1.mjs.map +1 -0
  353. package/dist/esm/core/crypto/secp256r1.d.mts +306 -0
  354. package/dist/esm/core/crypto/secp256r1.mjs +2 -0
  355. package/dist/esm/core/crypto/secp256r1.mjs.map +1 -0
  356. package/dist/esm/core/crypto/signature.d.mts +7 -0
  357. package/dist/esm/core/crypto/signature.mjs +2 -0
  358. package/dist/esm/core/crypto/signature.mjs.map +1 -0
  359. package/dist/esm/core/crypto/singleKey.d.mts +7 -0
  360. package/dist/esm/core/crypto/singleKey.mjs +2 -0
  361. package/dist/esm/core/crypto/singleKey.mjs.map +1 -0
  362. package/dist/esm/core/crypto/types.d.mts +11 -0
  363. package/dist/esm/core/crypto/types.mjs +2 -0
  364. package/dist/esm/core/crypto/types.mjs.map +1 -0
  365. package/dist/esm/core/crypto/utils.d.mts +23 -0
  366. package/dist/esm/core/crypto/utils.mjs +2 -0
  367. package/dist/esm/core/crypto/utils.mjs.map +1 -0
  368. package/dist/esm/core/hex.d.mts +7 -0
  369. package/dist/esm/core/hex.mjs +2 -0
  370. package/dist/esm/core/hex.mjs.map +1 -0
  371. package/dist/esm/core/index.d.mts +20 -0
  372. package/dist/esm/core/index.mjs +2 -0
  373. package/dist/esm/core/index.mjs.map +1 -0
  374. package/dist/esm/errors/index.d.mts +131 -0
  375. package/dist/esm/errors/index.mjs +2 -0
  376. package/dist/esm/errors/index.mjs.map +1 -0
  377. package/dist/esm/federatedKeyless-D-d9d5aC.d.mts +869 -0
  378. package/dist/esm/index.d.mts +71 -0
  379. package/dist/esm/index.mjs +2 -0
  380. package/dist/esm/index.mjs.map +1 -0
  381. package/dist/esm/internal/abstraction.d.mts +27 -0
  382. package/dist/esm/internal/abstraction.mjs +2 -0
  383. package/dist/esm/internal/abstraction.mjs.map +1 -0
  384. package/dist/esm/internal/account.d.mts +453 -0
  385. package/dist/esm/internal/account.mjs +2 -0
  386. package/dist/esm/internal/account.mjs.map +1 -0
  387. package/dist/esm/internal/ans.d.mts +365 -0
  388. package/dist/esm/internal/ans.mjs +2 -0
  389. package/dist/esm/internal/ans.mjs.map +1 -0
  390. package/dist/esm/internal/coin.d.mts +31 -0
  391. package/dist/esm/internal/coin.mjs +2 -0
  392. package/dist/esm/internal/coin.mjs.map +1 -0
  393. package/dist/esm/internal/digitalAsset.d.mts +580 -0
  394. package/dist/esm/internal/digitalAsset.mjs +2 -0
  395. package/dist/esm/internal/digitalAsset.mjs.map +1 -0
  396. package/dist/esm/internal/faucet.d.mts +39 -0
  397. package/dist/esm/internal/faucet.mjs +2 -0
  398. package/dist/esm/internal/faucet.mjs.map +1 -0
  399. package/dist/esm/internal/fungibleAsset.d.mts +112 -0
  400. package/dist/esm/internal/fungibleAsset.mjs +2 -0
  401. package/dist/esm/internal/fungibleAsset.mjs.map +1 -0
  402. package/dist/esm/internal/general.d.mts +92 -0
  403. package/dist/esm/internal/general.mjs +2 -0
  404. package/dist/esm/internal/general.mjs.map +1 -0
  405. package/dist/esm/internal/keyless.d.mts +111 -0
  406. package/dist/esm/internal/keyless.mjs +2 -0
  407. package/dist/esm/internal/keyless.mjs.map +1 -0
  408. package/dist/esm/internal/object.d.mts +42 -0
  409. package/dist/esm/internal/object.mjs +2 -0
  410. package/dist/esm/internal/object.mjs.map +1 -0
  411. package/dist/esm/internal/staking.d.mts +60 -0
  412. package/dist/esm/internal/staking.mjs +2 -0
  413. package/dist/esm/internal/staking.mjs.map +1 -0
  414. package/dist/esm/internal/table.d.mts +66 -0
  415. package/dist/esm/internal/table.mjs +2 -0
  416. package/dist/esm/internal/table.mjs.map +1 -0
  417. package/dist/esm/internal/transaction.d.mts +199 -0
  418. package/dist/esm/internal/transaction.mjs +2 -0
  419. package/dist/esm/internal/transaction.mjs.map +1 -0
  420. package/dist/esm/internal/transactionSubmission.d.mts +165 -0
  421. package/dist/esm/internal/transactionSubmission.mjs +2 -0
  422. package/dist/esm/internal/transactionSubmission.mjs.map +1 -0
  423. package/dist/esm/internal/utils/index.d.mts +8 -0
  424. package/dist/esm/internal/utils/index.mjs +2 -0
  425. package/dist/esm/internal/utils/index.mjs.map +1 -0
  426. package/dist/esm/internal/utils/utils.d.mts +41 -0
  427. package/dist/esm/internal/utils/utils.mjs +2 -0
  428. package/dist/esm/internal/utils/utils.mjs.map +1 -0
  429. package/dist/esm/internal/view.d.mts +20 -0
  430. package/dist/esm/internal/view.mjs +2 -0
  431. package/dist/esm/internal/view.mjs.map +1 -0
  432. package/dist/esm/transactions/authenticator/account.d.mts +7 -0
  433. package/dist/esm/transactions/authenticator/account.mjs +2 -0
  434. package/dist/esm/transactions/authenticator/account.mjs.map +1 -0
  435. package/dist/esm/transactions/authenticator/index.d.mts +8 -0
  436. package/dist/esm/transactions/authenticator/index.mjs +2 -0
  437. package/dist/esm/transactions/authenticator/index.mjs.map +1 -0
  438. package/dist/esm/transactions/authenticator/transaction.d.mts +152 -0
  439. package/dist/esm/transactions/authenticator/transaction.mjs +2 -0
  440. package/dist/esm/transactions/authenticator/transaction.mjs.map +1 -0
  441. package/dist/esm/transactions/index.d.mts +15 -0
  442. package/dist/esm/transactions/index.mjs +2 -0
  443. package/dist/esm/transactions/index.mjs.map +1 -0
  444. package/dist/esm/transactions/instances/chainId.d.mts +7 -0
  445. package/dist/esm/transactions/instances/chainId.mjs +2 -0
  446. package/dist/esm/transactions/instances/chainId.mjs.map +1 -0
  447. package/dist/esm/transactions/instances/identifier.d.mts +7 -0
  448. package/dist/esm/transactions/instances/identifier.mjs +2 -0
  449. package/dist/esm/transactions/instances/identifier.mjs.map +1 -0
  450. package/dist/esm/transactions/instances/index.d.mts +10 -0
  451. package/dist/esm/transactions/instances/index.mjs +2 -0
  452. package/dist/esm/transactions/instances/index.mjs.map +1 -0
  453. package/dist/esm/transactions/instances/moduleId.d.mts +7 -0
  454. package/dist/esm/transactions/instances/moduleId.mjs +2 -0
  455. package/dist/esm/transactions/instances/moduleId.mjs.map +1 -0
  456. package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +7 -0
  457. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +2 -0
  458. package/dist/esm/transactions/instances/multiAgentTransaction.mjs.map +1 -0
  459. package/dist/esm/transactions/instances/rawTransaction.d.mts +7 -0
  460. package/dist/esm/transactions/instances/rawTransaction.mjs +2 -0
  461. package/dist/esm/transactions/instances/rawTransaction.mjs.map +1 -0
  462. package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +58 -0
  463. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +2 -0
  464. package/dist/esm/transactions/instances/rotationProofChallenge.mjs.map +1 -0
  465. package/dist/esm/transactions/instances/signedTransaction.d.mts +59 -0
  466. package/dist/esm/transactions/instances/signedTransaction.mjs +2 -0
  467. package/dist/esm/transactions/instances/signedTransaction.mjs.map +1 -0
  468. package/dist/esm/transactions/instances/simpleTransaction.d.mts +7 -0
  469. package/dist/esm/transactions/instances/simpleTransaction.mjs +2 -0
  470. package/dist/esm/transactions/instances/simpleTransaction.mjs.map +1 -0
  471. package/dist/esm/transactions/instances/transactionArgument.d.mts +7 -0
  472. package/dist/esm/transactions/instances/transactionArgument.mjs +2 -0
  473. package/dist/esm/transactions/instances/transactionArgument.mjs.map +1 -0
  474. package/dist/esm/transactions/instances/transactionPayload.d.mts +7 -0
  475. package/dist/esm/transactions/instances/transactionPayload.mjs +2 -0
  476. package/dist/esm/transactions/instances/transactionPayload.mjs.map +1 -0
  477. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +123 -0
  478. package/dist/esm/transactions/management/accountSequenceNumber.mjs +2 -0
  479. package/dist/esm/transactions/management/accountSequenceNumber.mjs.map +1 -0
  480. package/dist/esm/transactions/management/asyncQueue.d.mts +77 -0
  481. package/dist/esm/transactions/management/asyncQueue.mjs +2 -0
  482. package/dist/esm/transactions/management/asyncQueue.mjs.map +1 -0
  483. package/dist/esm/transactions/management/index.d.mts +12 -0
  484. package/dist/esm/transactions/management/index.mjs +2 -0
  485. package/dist/esm/transactions/management/index.mjs.map +1 -0
  486. package/dist/esm/transactions/management/transactionWorker.d.mts +210 -0
  487. package/dist/esm/transactions/management/transactionWorker.mjs +2 -0
  488. package/dist/esm/transactions/management/transactionWorker.mjs.map +1 -0
  489. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +159 -0
  490. package/dist/esm/transactions/transactionBuilder/helpers.mjs +2 -0
  491. package/dist/esm/transactions/transactionBuilder/helpers.mjs.map +1 -0
  492. package/dist/esm/transactions/transactionBuilder/index.d.mts +11 -0
  493. package/dist/esm/transactions/transactionBuilder/index.mjs +2 -0
  494. package/dist/esm/transactions/transactionBuilder/index.mjs.map +1 -0
  495. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +104 -0
  496. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +2 -0
  497. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs.map +1 -0
  498. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +62 -0
  499. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +2 -0
  500. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs.map +1 -0
  501. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +192 -0
  502. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +2 -0
  503. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs.map +1 -0
  504. package/dist/esm/transactions/typeTag/index.d.mts +7 -0
  505. package/dist/esm/transactions/typeTag/index.mjs +2 -0
  506. package/dist/esm/transactions/typeTag/index.mjs.map +1 -0
  507. package/dist/esm/transactions/typeTag/parser.d.mts +81 -0
  508. package/dist/esm/transactions/typeTag/parser.mjs +2 -0
  509. package/dist/esm/transactions/typeTag/parser.mjs.map +1 -0
  510. package/dist/esm/transactions/types.d.mts +7 -0
  511. package/dist/esm/transactions/types.mjs +2 -0
  512. package/dist/esm/transactions/types.mjs.map +1 -0
  513. package/dist/esm/types/abstraction.d.mts +15 -0
  514. package/dist/esm/types/abstraction.mjs +2 -0
  515. package/dist/esm/types/abstraction.mjs.map +1 -0
  516. package/dist/esm/types/generated/operations.d.mts +709 -0
  517. package/dist/esm/types/generated/operations.mjs +1 -0
  518. package/dist/esm/types/generated/operations.mjs.map +1 -0
  519. package/dist/esm/types/generated/queries.d.mts +66 -0
  520. package/dist/esm/types/generated/queries.mjs +2 -0
  521. package/dist/esm/types/generated/queries.mjs.map +1 -0
  522. package/dist/esm/types/generated/types.d.mts +9495 -0
  523. package/dist/esm/types/generated/types.mjs +2 -0
  524. package/dist/esm/types/generated/types.mjs.map +1 -0
  525. package/dist/esm/types/index.d.mts +7 -0
  526. package/dist/esm/types/index.mjs +2 -0
  527. package/dist/esm/types/index.mjs.map +1 -0
  528. package/dist/esm/types/indexer.d.mts +186 -0
  529. package/dist/esm/types/indexer.mjs +2 -0
  530. package/dist/esm/types/indexer.mjs.map +1 -0
  531. package/dist/esm/types/keyless.d.mts +102 -0
  532. package/dist/esm/types/keyless.mjs +1 -0
  533. package/dist/esm/types/keyless.mjs.map +1 -0
  534. package/dist/esm/types/types.d.mts +7 -0
  535. package/dist/esm/types/types.mjs +2 -0
  536. package/dist/esm/types/types.mjs.map +1 -0
  537. package/dist/esm/utils/apiEndpoints.d.mts +51 -0
  538. package/dist/esm/utils/apiEndpoints.mjs +2 -0
  539. package/dist/esm/utils/apiEndpoints.mjs.map +1 -0
  540. package/dist/esm/utils/const.d.mts +90 -0
  541. package/dist/esm/utils/const.mjs +2 -0
  542. package/dist/esm/utils/const.mjs.map +1 -0
  543. package/dist/esm/utils/helpers.d.mts +174 -0
  544. package/dist/esm/utils/helpers.mjs +2 -0
  545. package/dist/esm/utils/helpers.mjs.map +1 -0
  546. package/dist/esm/utils/index.d.mts +9 -0
  547. package/dist/esm/utils/index.mjs +2 -0
  548. package/dist/esm/utils/index.mjs.map +1 -0
  549. package/dist/esm/utils/memoize.d.mts +26 -0
  550. package/dist/esm/utils/memoize.mjs +2 -0
  551. package/dist/esm/utils/memoize.mjs.map +1 -0
  552. package/dist/esm/utils/normalizeBundle.d.mts +35 -0
  553. package/dist/esm/utils/normalizeBundle.mjs +2 -0
  554. package/dist/esm/utils/normalizeBundle.mjs.map +1 -0
  555. package/dist/esm/version.d.mts +8 -0
  556. package/dist/esm/version.mjs +2 -0
  557. package/dist/esm/version.mjs.map +1 -0
  558. package/package.json +98 -0
  559. package/src/account/AbstractKeylessAccount.ts +579 -0
  560. package/src/account/AbstractedAccount.ts +124 -0
  561. package/src/account/Account.ts +354 -0
  562. package/src/account/AccountUtils.ts +216 -0
  563. package/src/account/DerivableAbstractedAccount.ts +103 -0
  564. package/src/account/Ed25519Account.ts +210 -0
  565. package/src/account/EphemeralKeyPair.ts +222 -0
  566. package/src/account/FederatedKeylessAccount.ts +178 -0
  567. package/src/account/KeylessAccount.ts +179 -0
  568. package/src/account/MultiEd25519Account.ts +181 -0
  569. package/src/account/MultiKeyAccount.ts +296 -0
  570. package/src/account/SingleKeyAccount.ts +277 -0
  571. package/src/account/index.ts +12 -0
  572. package/src/account/utils.ts +16 -0
  573. package/src/api/account/abstraction.ts +239 -0
  574. package/src/api/account.ts +1128 -0
  575. package/src/api/ans.ts +550 -0
  576. package/src/api/coin.ts +83 -0
  577. package/src/api/digitalAsset.ts +1203 -0
  578. package/src/api/faucet.ts +94 -0
  579. package/src/api/fungibleAsset.ts +371 -0
  580. package/src/api/general.ts +351 -0
  581. package/src/api/index.ts +6 -0
  582. package/src/api/keyless.ts +227 -0
  583. package/src/api/movement.ts +171 -0
  584. package/src/api/movementConfig.ts +334 -0
  585. package/src/api/object.ts +90 -0
  586. package/src/api/staking.ts +161 -0
  587. package/src/api/table.ts +193 -0
  588. package/src/api/transaction.ts +784 -0
  589. package/src/api/transactionSubmission/build.ts +153 -0
  590. package/src/api/transactionSubmission/helpers.ts +112 -0
  591. package/src/api/transactionSubmission/management.ts +211 -0
  592. package/src/api/transactionSubmission/sign.ts +142 -0
  593. package/src/api/transactionSubmission/simulate.ts +192 -0
  594. package/src/api/transactionSubmission/submit.ts +156 -0
  595. package/src/api/utils.ts +48 -0
  596. package/src/bcs/consts.ts +28 -0
  597. package/src/bcs/deserializer.ts +550 -0
  598. package/src/bcs/index.ts +10 -0
  599. package/src/bcs/serializable/entryFunctionBytes.ts +92 -0
  600. package/src/bcs/serializable/fixedBytes.ts +107 -0
  601. package/src/bcs/serializable/movePrimitives.ts +564 -0
  602. package/src/bcs/serializable/moveStructs.ts +619 -0
  603. package/src/bcs/serializer.ts +641 -0
  604. package/src/cli/index.ts +2 -0
  605. package/src/cli/localNode.ts +169 -0
  606. package/src/cli/move.ts +474 -0
  607. package/src/client/core.ts +120 -0
  608. package/src/client/get.ts +262 -0
  609. package/src/client/index.ts +7 -0
  610. package/src/client/post.ts +245 -0
  611. package/src/core/account/index.ts +1 -0
  612. package/src/core/account/utils/address.ts +85 -0
  613. package/src/core/account/utils/index.ts +1 -0
  614. package/src/core/accountAddress.ts +524 -0
  615. package/src/core/authenticationKey.ts +157 -0
  616. package/src/core/common.ts +60 -0
  617. package/src/core/crypto/abstraction.ts +52 -0
  618. package/src/core/crypto/deserializationUtils.ts +106 -0
  619. package/src/core/crypto/ed25519.ts +493 -0
  620. package/src/core/crypto/ephemeral.ts +185 -0
  621. package/src/core/crypto/federatedKeyless.ts +169 -0
  622. package/src/core/crypto/hdKey.ts +136 -0
  623. package/src/core/crypto/index.ts +21 -0
  624. package/src/core/crypto/keyless.ts +1700 -0
  625. package/src/core/crypto/multiEd25519.ts +434 -0
  626. package/src/core/crypto/multiKey.ts +498 -0
  627. package/src/core/crypto/poseidon.ts +231 -0
  628. package/src/core/crypto/privateKey.ts +115 -0
  629. package/src/core/crypto/proof.ts +9 -0
  630. package/src/core/crypto/publicKey.ts +106 -0
  631. package/src/core/crypto/secp256k1.ts +451 -0
  632. package/src/core/crypto/secp256r1.ts +495 -0
  633. package/src/core/crypto/signature.ts +57 -0
  634. package/src/core/crypto/singleKey.ts +351 -0
  635. package/src/core/crypto/types.ts +9 -0
  636. package/src/core/crypto/utils.ts +63 -0
  637. package/src/core/hex.ts +241 -0
  638. package/src/core/index.ts +10 -0
  639. package/src/errors/index.ts +457 -0
  640. package/src/index.ts +14 -0
  641. package/src/internal/abstraction.ts +79 -0
  642. package/src/internal/account.ts +1484 -0
  643. package/src/internal/ans.ts +853 -0
  644. package/src/internal/coin.ts +49 -0
  645. package/src/internal/digitalAsset.ts +1291 -0
  646. package/src/internal/faucet.ts +71 -0
  647. package/src/internal/fungibleAsset.ts +233 -0
  648. package/src/internal/general.ts +161 -0
  649. package/src/internal/keyless.ts +297 -0
  650. package/src/internal/object.ts +68 -0
  651. package/src/internal/queries/TokenActivitiesFieldsFragment.graphql +17 -0
  652. package/src/internal/queries/ansTokenFragment.graphql +11 -0
  653. package/src/internal/queries/currentTokenOwnershipFieldsFragment.graphql +46 -0
  654. package/src/internal/queries/getAccountAddressesForAuthKey.graphql +8 -0
  655. package/src/internal/queries/getAccountCoinCount.graphql +7 -0
  656. package/src/internal/queries/getAccountCoinsData.graphql +32 -0
  657. package/src/internal/queries/getAccountCollectionsWithOwnedTokens.graphql +33 -0
  658. package/src/internal/queries/getAccountOwnedTokens.graphql +11 -0
  659. package/src/internal/queries/getAccountOwnedTokensByTokenData.graphql +11 -0
  660. package/src/internal/queries/getAccountOwnedTokensFromCollectionAddress.graphql +11 -0
  661. package/src/internal/queries/getAccountTokensCount.graphql +7 -0
  662. package/src/internal/queries/getAccountTransactionsCount.graphql +7 -0
  663. package/src/internal/queries/getAuthKeysForPublicKey.graphql +11 -0
  664. package/src/internal/queries/getChainTopUserTransactions.graphql +5 -0
  665. package/src/internal/queries/getCollectionData.graphql +29 -0
  666. package/src/internal/queries/getCurrentFungibleAssetBalances.graphql +17 -0
  667. package/src/internal/queries/getDelegatedStakingActivities.graphql +12 -0
  668. package/src/internal/queries/getEvents.graphql +13 -0
  669. package/src/internal/queries/getFungibleAssetActivities.graphql +20 -0
  670. package/src/internal/queries/getFungibleAssetMetadata.graphql +18 -0
  671. package/src/internal/queries/getNames.graphql +11 -0
  672. package/src/internal/queries/getNumberOfDelegatorsQuery.graphql +9 -0
  673. package/src/internal/queries/getObjectData.graphql +16 -0
  674. package/src/internal/queries/getProcessorStatus.graphql +7 -0
  675. package/src/internal/queries/getTableItemsData.graphql +15 -0
  676. package/src/internal/queries/getTableItemsMetadata.graphql +12 -0
  677. package/src/internal/queries/getTokenActivity.graphql +11 -0
  678. package/src/internal/queries/getTokenCurrentOwner.graphql +11 -0
  679. package/src/internal/queries/getTokenData.graphql +39 -0
  680. package/src/internal/staking.ts +96 -0
  681. package/src/internal/table.ts +117 -0
  682. package/src/internal/transaction.ts +503 -0
  683. package/src/internal/transactionSubmission.ts +454 -0
  684. package/src/internal/utils/index.ts +4 -0
  685. package/src/internal/utils/utils.ts +86 -0
  686. package/src/internal/view.ts +61 -0
  687. package/src/transactions/authenticator/account.ts +405 -0
  688. package/src/transactions/authenticator/index.ts +6 -0
  689. package/src/transactions/authenticator/transaction.ts +288 -0
  690. package/src/transactions/index.ts +10 -0
  691. package/src/transactions/instances/chainId.ts +53 -0
  692. package/src/transactions/instances/identifier.ts +54 -0
  693. package/src/transactions/instances/index.ts +14 -0
  694. package/src/transactions/instances/moduleId.ts +77 -0
  695. package/src/transactions/instances/multiAgentTransaction.ts +92 -0
  696. package/src/transactions/instances/rawTransaction.ts +256 -0
  697. package/src/transactions/instances/rotationProofChallenge.ts +86 -0
  698. package/src/transactions/instances/signedTransaction.ts +73 -0
  699. package/src/transactions/instances/simpleTransaction.ts +83 -0
  700. package/src/transactions/instances/transactionArgument.ts +79 -0
  701. package/src/transactions/instances/transactionPayload.ts +676 -0
  702. package/src/transactions/management/accountSequenceNumber.ts +226 -0
  703. package/src/transactions/management/asyncQueue.ts +126 -0
  704. package/src/transactions/management/index.ts +2 -0
  705. package/src/transactions/management/transactionWorker.ts +396 -0
  706. package/src/transactions/transactionBuilder/helpers.ts +319 -0
  707. package/src/transactions/transactionBuilder/index.ts +8 -0
  708. package/src/transactions/transactionBuilder/remoteAbi.ts +655 -0
  709. package/src/transactions/transactionBuilder/signingMessage.ts +111 -0
  710. package/src/transactions/transactionBuilder/transactionBuilder.ts +863 -0
  711. package/src/transactions/typeTag/index.ts +926 -0
  712. package/src/transactions/typeTag/parser.ts +434 -0
  713. package/src/transactions/types.ts +518 -0
  714. package/src/types/abstraction.ts +14 -0
  715. package/src/types/codegen.yaml +33 -0
  716. package/src/types/generated/operations.ts +738 -0
  717. package/src/types/generated/queries.ts +926 -0
  718. package/src/types/generated/types.ts +10421 -0
  719. package/src/types/index.ts +2 -0
  720. package/src/types/indexer.ts +240 -0
  721. package/src/types/keyless.ts +94 -0
  722. package/src/types/types.ts +1713 -0
  723. package/src/utils/apiEndpoints.ts +107 -0
  724. package/src/utils/const.ts +100 -0
  725. package/src/utils/helpers.ts +287 -0
  726. package/src/utils/index.ts +4 -0
  727. package/src/utils/memoize.ts +76 -0
  728. package/src/utils/normalizeBundle.ts +34 -0
  729. package/src/version.ts +9 -0
@@ -0,0 +1,655 @@
1
+ // Copyright © Move Industries
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { MovementConfig } from "../../api/movementConfig";
5
+ import { Bool, FixedBytes, MoveOption, MoveString, MoveVector, U128, U16, U256, U32, U64, U8 } from "../../bcs";
6
+ import { AccountAddress } from "../../core";
7
+ import { getModule } from "../../internal/account";
8
+ import { MoveFunction, MoveModule } from "../../types";
9
+ import {
10
+ EntryFunctionABI,
11
+ EntryFunctionArgumentTypes,
12
+ FunctionABI,
13
+ SimpleEntryFunctionArgumentTypes,
14
+ TypeArgument,
15
+ ViewFunctionABI,
16
+ } from "../types";
17
+ import {
18
+ TypeTag,
19
+ TypeTagAddress,
20
+ TypeTagBool,
21
+ TypeTagStruct,
22
+ TypeTagU128,
23
+ TypeTagU16,
24
+ TypeTagU256,
25
+ TypeTagU32,
26
+ TypeTagU64,
27
+ TypeTagU8,
28
+ } from "../typeTag";
29
+ import { parseTypeTag } from "../typeTag/parser";
30
+ import {
31
+ convertNumber,
32
+ findFirstNonSignerArg,
33
+ isBcsAddress,
34
+ isBcsBool,
35
+ isBcsString,
36
+ isBcsU128,
37
+ isBcsU16,
38
+ isBcsU256,
39
+ isBcsU32,
40
+ isBcsU64,
41
+ isBcsU8,
42
+ isBool,
43
+ isEmptyOption,
44
+ isEncodedEntryFunctionArgument,
45
+ isLargeNumber,
46
+ isString,
47
+ throwTypeMismatch,
48
+ } from "./helpers";
49
+
50
+ const TEXT_ENCODER = new TextEncoder();
51
+
52
+ /**
53
+ * Convert type arguments to only type tags, allowing for string representations of type tags.
54
+ *
55
+ * @param typeArguments - An optional array of type arguments that may include string representations.
56
+ * @returns An array of TypeTag objects derived from the provided type arguments.
57
+ * @group Implementation
58
+ * @category Transactions
59
+ */
60
+ export function standardizeTypeTags(typeArguments?: Array<TypeArgument>): Array<TypeTag> {
61
+ return (
62
+ typeArguments?.map((typeArg: TypeArgument): TypeTag => {
63
+ // Convert to TypeTag if it's a string representation
64
+ if (isString(typeArg)) {
65
+ return parseTypeTag(typeArg);
66
+ }
67
+ return typeArg;
68
+ }) ?? []
69
+ );
70
+ }
71
+
72
+ /**
73
+ * Fetches the ABI of a specified module from the on-chain module ABI.
74
+ *
75
+ * @param moduleAddress - The address of the module from which to fetch the ABI.
76
+ * @param moduleName - The name of the module containing the ABI.
77
+ * @param movementConfig - The configuration settings for Movement.
78
+ * @group Implementation
79
+ * @category Transactions
80
+ */
81
+ export async function fetchModuleAbi(
82
+ moduleAddress: string,
83
+ moduleName: string,
84
+ movementConfig: MovementConfig,
85
+ ): Promise<MoveModule | undefined> {
86
+ const moduleBytecode = await getModule({ movementConfig, accountAddress: moduleAddress, moduleName });
87
+ return moduleBytecode.abi;
88
+ }
89
+
90
+ /**
91
+ * Fetches the ABI of a specified function from the on-chain module ABI. This function allows you to access the details of a
92
+ * specific function within a module.
93
+ *
94
+ * @param moduleAddress - The address of the module from which to fetch the function ABI.
95
+ * @param moduleName - The name of the module containing the function.
96
+ * @param functionName - The name of the function whose ABI is to be fetched.
97
+ * @param movementConfig - The configuration settings for Movement.
98
+ * @group Implementation
99
+ * @category Transactions
100
+ */
101
+ export async function fetchFunctionAbi(
102
+ moduleAddress: string,
103
+ moduleName: string,
104
+ functionName: string,
105
+ movementConfig: MovementConfig,
106
+ ): Promise<MoveFunction | undefined> {
107
+ const moduleAbi = await fetchModuleAbi(moduleAddress, moduleName, movementConfig);
108
+ if (!moduleAbi) throw new Error(`Could not find module ABI for '${moduleAddress}::${moduleName}'`);
109
+ return moduleAbi.exposed_functions.find((func) => func.name === functionName);
110
+ }
111
+
112
+ /**
113
+ * @deprecated Use `fetchFunctionAbi` instead and manually parse the type tags.
114
+ */
115
+ export async function fetchMoveFunctionAbi(
116
+ moduleAddress: string,
117
+ moduleName: string,
118
+ functionName: string,
119
+ movementConfig: MovementConfig,
120
+ ): Promise<FunctionABI> {
121
+ const functionAbi = await fetchFunctionAbi(moduleAddress, moduleName, functionName, movementConfig);
122
+ if (!functionAbi) {
123
+ throw new Error(`Could not find function ABI for '${moduleAddress}::${moduleName}::${functionName}'`);
124
+ }
125
+ const params: TypeTag[] = [];
126
+ for (let i = 0; i < functionAbi.params.length; i += 1) {
127
+ params.push(parseTypeTag(functionAbi.params[i], { allowGenerics: true }));
128
+ }
129
+
130
+ return {
131
+ typeParameters: functionAbi.generic_type_params,
132
+ parameters: params,
133
+ };
134
+ }
135
+
136
+ /**
137
+ * Fetches the ABI for an entry function from the specified module address.
138
+ * This function validates if the ABI corresponds to an entry function and retrieves its parameters.
139
+ *
140
+ * @param moduleAddress - The address of the module containing the entry function.
141
+ * @param moduleName - The name of the module containing the entry function.
142
+ * @param functionName - The name of the entry function to fetch the ABI for.
143
+ * @param movementConfig - The configuration settings for Movement.
144
+ * @returns An object containing the number of signers, type parameters, and function parameters.
145
+ * @throws Error if the ABI cannot be found or if the function is not an entry function.
146
+ * @group Implementation
147
+ * @category Transactions
148
+ */
149
+ export async function fetchEntryFunctionAbi(
150
+ moduleAddress: string,
151
+ moduleName: string,
152
+ functionName: string,
153
+ movementConfig: MovementConfig,
154
+ ): Promise<EntryFunctionABI> {
155
+ const functionAbi = await fetchFunctionAbi(moduleAddress, moduleName, functionName, movementConfig);
156
+
157
+ // If there's no ABI, then the function is invalid
158
+ if (!functionAbi) {
159
+ throw new Error(`Could not find entry function ABI for '${moduleAddress}::${moduleName}::${functionName}'`);
160
+ }
161
+
162
+ // Non-entry functions also can't be used
163
+ if (!functionAbi.is_entry) {
164
+ throw new Error(`'${moduleAddress}::${moduleName}::${functionName}' is not an entry function`);
165
+ }
166
+
167
+ // Remove the signer arguments
168
+ const numSigners = findFirstNonSignerArg(functionAbi);
169
+ const params: TypeTag[] = [];
170
+ for (let i = numSigners; i < functionAbi.params.length; i += 1) {
171
+ params.push(parseTypeTag(functionAbi.params[i], { allowGenerics: true }));
172
+ }
173
+
174
+ return {
175
+ signers: numSigners,
176
+ typeParameters: functionAbi.generic_type_params,
177
+ parameters: params,
178
+ };
179
+ }
180
+
181
+ /**
182
+ * Fetches the ABI for a view function from the specified module address.
183
+ * This function ensures that the ABI is valid and retrieves the type parameters, parameters, and return types for the view function.
184
+ *
185
+ * @param moduleAddress - The address of the module containing the view function.
186
+ * @param moduleName - The name of the module containing the view function.
187
+ * @param functionName - The name of the view function for which to fetch the ABI.
188
+ * @param movementConfig - The configuration settings for Movement.
189
+ * @returns An object containing the type parameters, parameters, and return types of the view function.
190
+ * @throws Error if the ABI cannot be found or if the function is not a view function.
191
+ * @group Implementation
192
+ * @category Transactions
193
+ */
194
+ export async function fetchViewFunctionAbi(
195
+ moduleAddress: string,
196
+ moduleName: string,
197
+ functionName: string,
198
+ movementConfig: MovementConfig,
199
+ ): Promise<ViewFunctionABI> {
200
+ const functionAbi = await fetchFunctionAbi(moduleAddress, moduleName, functionName, movementConfig);
201
+
202
+ // If there's no ABI, then the function is invalid
203
+ if (!functionAbi) {
204
+ throw new Error(`Could not find view function ABI for '${moduleAddress}::${moduleName}::${functionName}'`);
205
+ }
206
+
207
+ // Non-view functions can't be used
208
+ if (!functionAbi.is_view) {
209
+ throw new Error(`'${moduleAddress}::${moduleName}::${functionName}' is not an view function`);
210
+ }
211
+
212
+ // Type tag parameters for the function
213
+ const params: TypeTag[] = [];
214
+ for (let i = 0; i < functionAbi.params.length; i += 1) {
215
+ params.push(parseTypeTag(functionAbi.params[i], { allowGenerics: true }));
216
+ }
217
+
218
+ // The return types of the view function
219
+ const returnTypes: TypeTag[] = [];
220
+ for (let i = 0; i < functionAbi.return.length; i += 1) {
221
+ returnTypes.push(parseTypeTag(functionAbi.return[i], { allowGenerics: true }));
222
+ }
223
+
224
+ return {
225
+ typeParameters: functionAbi.generic_type_params,
226
+ parameters: params,
227
+ returnTypes,
228
+ };
229
+ }
230
+
231
+ /**
232
+ * Converts a non-BCS encoded argument into BCS encoded, if necessary.
233
+ * This function checks the provided argument against the expected parameter type and converts it accordingly.
234
+ *
235
+ * @param functionName - The name of the function for which the argument is being converted.
236
+ * @param functionAbiOrModuleAbi - The ABI (Application Binary Interface) of the function, which defines its parameters.
237
+ * @param arg - The argument to be converted, which can be of various types.
238
+ * @param position - The index of the argument in the function's parameter list.
239
+ * @param genericTypeParams - An array of type tags for any generic type parameters.
240
+ * @param options - Options for the conversion process.
241
+ * @param options.allowUnknownStructs - If true, unknown structs will be allowed and converted to a `FixedBytes`.
242
+ * @group Implementation
243
+ * @category Transactions
244
+ */
245
+ export function convertArgument(
246
+ functionName: string,
247
+ functionAbiOrModuleAbi: MoveModule | FunctionABI,
248
+ arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes,
249
+ position: number,
250
+ genericTypeParams: Array<TypeTag>,
251
+ options?: { allowUnknownStructs?: boolean },
252
+ ) {
253
+ let param: TypeTag;
254
+
255
+ if ("exposed_functions" in functionAbiOrModuleAbi) {
256
+ const functionAbi = functionAbiOrModuleAbi.exposed_functions.find((func) => func.name === functionName);
257
+ if (!functionAbi) {
258
+ throw new Error(
259
+ `Could not find function ABI for '${functionAbiOrModuleAbi.address}::${functionAbiOrModuleAbi.name}::${functionName}'`,
260
+ );
261
+ }
262
+
263
+ if (position >= functionAbi.params.length) {
264
+ throw new Error(`Too many arguments for '${functionName}', expected ${functionAbi.params.length}`);
265
+ }
266
+
267
+ param = parseTypeTag(functionAbi.params[position], { allowGenerics: true });
268
+ } else {
269
+ if (position >= functionAbiOrModuleAbi.parameters.length) {
270
+ throw new Error(`Too many arguments for '${functionName}', expected ${functionAbiOrModuleAbi.parameters.length}`);
271
+ }
272
+
273
+ param = functionAbiOrModuleAbi.parameters[position];
274
+ }
275
+
276
+ return checkOrConvertArgument(
277
+ arg,
278
+ param,
279
+ position,
280
+ genericTypeParams,
281
+ "exposed_functions" in functionAbiOrModuleAbi ? functionAbiOrModuleAbi : undefined,
282
+ options,
283
+ );
284
+ }
285
+
286
+ /**
287
+ * Checks if the provided argument is BCS encoded and converts it if necessary, ensuring type compatibility with the ABI.
288
+ * This function helps in validating and converting arguments for entry functions based on their expected types.
289
+ *
290
+ * @param arg - The argument to check or convert, which can be either a simple or entry function argument type.
291
+ * @param param - The expected type tag for the argument.
292
+ * @param position - The position of the argument in the function call.
293
+ * @param genericTypeParams - An array of generic type parameters that may be used for conversion.
294
+ * @group Implementation
295
+ * @category Transactions
296
+ */
297
+ export function checkOrConvertArgument(
298
+ arg: SimpleEntryFunctionArgumentTypes | EntryFunctionArgumentTypes,
299
+ param: TypeTag,
300
+ position: number,
301
+ genericTypeParams: Array<TypeTag>,
302
+ moduleAbi?: MoveModule,
303
+ options?: { allowUnknownStructs?: boolean },
304
+ ) {
305
+ // If the argument is bcs encoded, we can just use it directly
306
+ if (isEncodedEntryFunctionArgument(arg)) {
307
+ // Ensure the type matches the ABI
308
+
309
+ /**
310
+ * Checks the type of the provided argument against the expected type.
311
+ * This function helps validate that the argument conforms to the specified type requirements.
312
+ *
313
+ * @param typeArgs - The expected type arguments.
314
+ * @param arg - The argument to be checked.
315
+ * @param position - The position of the argument in the context of the check.
316
+ * @param moduleAbi - The ABI of the module containing the function, used for type checking.
317
+ * This will typically have information about structs, enums, and other types.
318
+ * @group Implementation
319
+ * @category Transactions
320
+ */
321
+ checkType(param, arg, position);
322
+ return arg;
323
+ }
324
+
325
+ // If it is not BCS encoded, we will need to convert it with the ABI
326
+ return parseArg(arg, param, position, genericTypeParams, moduleAbi, options);
327
+ }
328
+
329
+ /**
330
+ * Parses a non-BCS encoded argument into a BCS encoded argument recursively.
331
+ * This function helps convert various types of input arguments into their corresponding BCS encoded formats based on the
332
+ * specified parameter type.
333
+ *
334
+ * @param arg - The argument to be parsed, which can be of various types.
335
+ * @param param - The type tag that defines the expected type of the argument.
336
+ * @param position - The position of the argument in the function call, used for error reporting.
337
+ * @param genericTypeParams - An array of type tags for generic type parameters, used when the parameter type is generic.
338
+ * @param moduleAbi - The ABI of the module containing the function, used for type checking.
339
+ * This will typically have information about structs, enums, and other types.
340
+ * @param options - Options for the conversion process.
341
+ * @param options.allowUnknownStructs - If true, unknown structs will be allowed and converted to a `FixedBytes`.
342
+ * @group Implementation
343
+ * @category Transactions
344
+ */
345
+ function parseArg(
346
+ arg: SimpleEntryFunctionArgumentTypes,
347
+ param: TypeTag,
348
+ position: number,
349
+ genericTypeParams: Array<TypeTag>,
350
+ moduleAbi?: MoveModule,
351
+ options?: { allowUnknownStructs?: boolean },
352
+ ): EntryFunctionArgumentTypes {
353
+ if (param.isBool()) {
354
+ if (isBool(arg)) {
355
+ return new Bool(arg);
356
+ }
357
+ if (isString(arg)) {
358
+ if (arg === "true") return new Bool(true);
359
+ if (arg === "false") return new Bool(false);
360
+ }
361
+
362
+ /**
363
+ * Throws a type mismatch error for the specified move option.
364
+ *
365
+ * @param moveOption - The name of the move option that caused the type mismatch.
366
+ * @param position - The position where the error occurred.
367
+ * @group Implementation
368
+ * @category Transactions
369
+ */
370
+ throwTypeMismatch("boolean", position);
371
+ }
372
+ if (param.isAddress()) {
373
+ if (isString(arg)) {
374
+ return AccountAddress.fromString(arg);
375
+ }
376
+ // Support for Uint8Array coming from external sources
377
+ // Usually, dapps will be getting the account address as a Uint8Array from the wallet (following
378
+ // the wallet standard).
379
+ if (arg && typeof arg === "object" && "data" in arg && arg.data instanceof Uint8Array) {
380
+ return new AccountAddress(arg.data);
381
+ }
382
+ throwTypeMismatch("string | AccountAddress", position);
383
+ }
384
+ if (param.isU8()) {
385
+ const num = convertNumber(arg);
386
+ if (num !== undefined) {
387
+ return new U8(num);
388
+ }
389
+ throwTypeMismatch("number | string", position);
390
+ }
391
+ if (param.isU16()) {
392
+ const num = convertNumber(arg);
393
+ if (num !== undefined) {
394
+ return new U16(num);
395
+ }
396
+ throwTypeMismatch("number | string", position);
397
+ }
398
+ if (param.isU32()) {
399
+ const num = convertNumber(arg);
400
+ if (num !== undefined) {
401
+ return new U32(num);
402
+ }
403
+ throwTypeMismatch("number | string", position);
404
+ }
405
+ if (param.isU64()) {
406
+ if (isLargeNumber(arg)) {
407
+ return new U64(BigInt(arg));
408
+ }
409
+ throwTypeMismatch("bigint | number | string", position);
410
+ }
411
+ if (param.isU128()) {
412
+ if (isLargeNumber(arg)) {
413
+ return new U128(BigInt(arg));
414
+ }
415
+ throwTypeMismatch("bigint | number | string", position);
416
+ }
417
+ if (param.isU256()) {
418
+ if (isLargeNumber(arg)) {
419
+ return new U256(BigInt(arg));
420
+ }
421
+ throwTypeMismatch("bigint | number | string", position);
422
+ }
423
+
424
+ // Generic needs to use the subtype
425
+ if (param.isGeneric()) {
426
+ const genericIndex = param.value;
427
+ if (genericIndex < 0 || genericIndex >= genericTypeParams.length) {
428
+ throw new Error(`Generic argument ${param.toString()} is invalid for argument ${position}`);
429
+ }
430
+
431
+ return checkOrConvertArgument(arg, genericTypeParams[genericIndex], position, genericTypeParams, moduleAbi);
432
+ }
433
+
434
+ // We have to special case some vectors for Vector<u8>
435
+ if (param.isVector()) {
436
+ // Check special case for Vector<u8>
437
+ if (param.value.isU8()) {
438
+ // We don't allow vector<u8>, but we convert strings to UTF8 Uint8Array
439
+ // This is legacy behavior from the original SDK
440
+ if (isString(arg)) {
441
+ return MoveVector.U8(TEXT_ENCODER.encode(arg));
442
+ }
443
+ if (arg instanceof Uint8Array) {
444
+ return MoveVector.U8(arg);
445
+ }
446
+ if (arg instanceof ArrayBuffer) {
447
+ return MoveVector.U8(new Uint8Array(arg));
448
+ }
449
+ }
450
+
451
+ if (isString(arg)) {
452
+ // In a web env, arguments are passing as strings
453
+ if (arg.startsWith("[")) {
454
+ return checkOrConvertArgument(JSON.parse(arg), param, position, genericTypeParams);
455
+ }
456
+ }
457
+
458
+ // TODO: Support Uint16Array, Uint32Array, BigUint64Array?
459
+
460
+ if (Array.isArray(arg)) {
461
+ return new MoveVector(
462
+ arg.map((item) => checkOrConvertArgument(item, param.value, position, genericTypeParams, moduleAbi)),
463
+ );
464
+ }
465
+
466
+ throw new Error(`Type mismatch for argument ${position}, type '${param.toString()}'`);
467
+ }
468
+
469
+ // Handle structs as they're more complex
470
+ if (param.isStruct()) {
471
+ if (param.isString()) {
472
+ if (isString(arg)) {
473
+ return new MoveString(arg);
474
+ }
475
+ throwTypeMismatch("string", position);
476
+ }
477
+ if (param.isObject()) {
478
+ // The inner type of Object doesn't matter, since it's just syntactic sugar
479
+ if (isString(arg)) {
480
+ return AccountAddress.fromString(arg);
481
+ }
482
+ // Support for Uint8Array coming from external sources
483
+ if (arg && typeof arg === "object" && "data" in arg && arg.data instanceof Uint8Array) {
484
+ return new AccountAddress(arg.data);
485
+ }
486
+ throwTypeMismatch("string | AccountAddress", position);
487
+ }
488
+ // Handle known enum types from Movement framework
489
+ if (param.isDelegationKey() || param.isRateLimiter()) {
490
+ if (arg instanceof Uint8Array) {
491
+ return new FixedBytes(arg);
492
+ }
493
+ throwTypeMismatch("Uint8Array", position);
494
+ }
495
+
496
+ if (param.isOption()) {
497
+ if (isEmptyOption(arg)) {
498
+ // Here we attempt to reconstruct the underlying type
499
+ // Note, for some reason the `isBool` etc. does not work with the compiler
500
+ const innerParam = param.value.typeArgs[0];
501
+ if (innerParam instanceof TypeTagBool) {
502
+ return new MoveOption<Bool>(null);
503
+ }
504
+ if (innerParam instanceof TypeTagAddress) {
505
+ return new MoveOption<AccountAddress>(null);
506
+ }
507
+ if (innerParam instanceof TypeTagU8) {
508
+ return new MoveOption<U8>(null);
509
+ }
510
+ if (innerParam instanceof TypeTagU16) {
511
+ return new MoveOption<U16>(null);
512
+ }
513
+ if (innerParam instanceof TypeTagU32) {
514
+ return new MoveOption<U32>(null);
515
+ }
516
+ if (innerParam instanceof TypeTagU64) {
517
+ return new MoveOption<U64>(null);
518
+ }
519
+ if (innerParam instanceof TypeTagU128) {
520
+ return new MoveOption<U128>(null);
521
+ }
522
+ if (innerParam instanceof TypeTagU256) {
523
+ return new MoveOption<U256>(null);
524
+ }
525
+
526
+ // In all other cases, we will use a placeholder, it doesn't actually matter what the type is, but it will be obvious
527
+ // Note: This is a placeholder U8 type, and does not match the actual type, as that can't be dynamically grabbed
528
+ return new MoveOption<MoveString>(null);
529
+ }
530
+
531
+ return new MoveOption(
532
+ checkOrConvertArgument(arg, param.value.typeArgs[0], position, genericTypeParams, moduleAbi),
533
+ );
534
+ }
535
+
536
+ // We are assuming that fieldless structs are enums, and therefore we cannot typecheck any further due
537
+ // to limited information from the ABI. This does not work for structs on other modules.
538
+ const structDefinition = moduleAbi?.structs.find((s) => s.name === param.value.name.identifier);
539
+ if (structDefinition?.fields.length === 0 && arg instanceof Uint8Array) {
540
+ return new FixedBytes(arg);
541
+ }
542
+
543
+ if (arg instanceof Uint8Array && options?.allowUnknownStructs) {
544
+ // eslint-disable-next-line no-console
545
+ console.warn(
546
+ // eslint-disable-next-line max-len
547
+ `Unsupported struct input type for argument ${position}. Continuing since 'allowUnknownStructs' is enabled.`,
548
+ );
549
+ return new FixedBytes(arg);
550
+ }
551
+
552
+ throw new Error(`Unsupported struct input type for argument ${position}, type '${param.toString()}'`);
553
+ }
554
+
555
+ throw new Error(`Type mismatch for argument ${position}, type '${param.toString()}'`);
556
+ }
557
+
558
+ /**
559
+ * Checks that the type of the BCS encoded argument matches the ABI
560
+ * @param param
561
+ * @param arg
562
+ * @param position
563
+ * @group Implementation
564
+ * @category Transactions
565
+ */
566
+ function checkType(param: TypeTag, arg: EntryFunctionArgumentTypes, position: number) {
567
+ if (param.isBool()) {
568
+ if (isBcsBool(arg)) {
569
+ return;
570
+ }
571
+ throwTypeMismatch("Bool", position);
572
+ }
573
+ if (param.isAddress()) {
574
+ if (isBcsAddress(arg)) {
575
+ return;
576
+ }
577
+ throwTypeMismatch("AccountAddress", position);
578
+ }
579
+ if (param.isU8()) {
580
+ if (isBcsU8(arg)) {
581
+ return;
582
+ }
583
+ throwTypeMismatch("U8", position);
584
+ }
585
+ if (param.isU16()) {
586
+ if (isBcsU16(arg)) {
587
+ return;
588
+ }
589
+ throwTypeMismatch("U16", position);
590
+ }
591
+ if (param.isU32()) {
592
+ if (isBcsU32(arg)) {
593
+ return;
594
+ }
595
+ throwTypeMismatch("U32", position);
596
+ }
597
+ if (param.isU64()) {
598
+ if (isBcsU64(arg)) {
599
+ return;
600
+ }
601
+ throwTypeMismatch("U64", position);
602
+ }
603
+ if (param.isU128()) {
604
+ if (isBcsU128(arg)) {
605
+ return;
606
+ }
607
+ throwTypeMismatch("U128", position);
608
+ }
609
+ if (param.isU256()) {
610
+ if (isBcsU256(arg)) {
611
+ return;
612
+ }
613
+ throwTypeMismatch("U256", position);
614
+ }
615
+ if (param.isVector()) {
616
+ if (arg instanceof MoveVector) {
617
+ // If there's anything in it, check that the inner types match
618
+ // Note that since it's typed, the first item should be the same as the rest
619
+ if (arg.values.length > 0) {
620
+ checkType(param.value, arg.values[0], position);
621
+ }
622
+
623
+ return;
624
+ }
625
+ throwTypeMismatch("MoveVector", position);
626
+ }
627
+
628
+ // Handle structs as they're more complex
629
+ if (param instanceof TypeTagStruct) {
630
+ if (param.isString()) {
631
+ if (isBcsString(arg)) {
632
+ return;
633
+ }
634
+ throwTypeMismatch("MoveString", position);
635
+ }
636
+ if (param.isObject()) {
637
+ if (isBcsAddress(arg)) {
638
+ return;
639
+ }
640
+ throwTypeMismatch("AccountAddress", position);
641
+ }
642
+ if (param.isOption()) {
643
+ if (arg instanceof MoveOption) {
644
+ // If there's a value, we can check the inner type (otherwise it doesn't really matter)
645
+ if (arg.value !== undefined) {
646
+ checkType(param.value.typeArgs[0], arg.value, position);
647
+ }
648
+ return;
649
+ }
650
+ throwTypeMismatch("MoveOption", position);
651
+ }
652
+ }
653
+
654
+ throw new Error(`Type mismatch for argument ${position}, expected '${param.toString()}'`);
655
+ }