@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,493 @@
1
+ // Copyright © Move Industries
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { ed25519 } from "@noble/curves/ed25519";
5
+ import { Deserializer } from "../../bcs/deserializer";
6
+ import { Serializable, Serializer } from "../../bcs/serializer";
7
+ import { SigningScheme as AuthenticationKeyScheme, HexInput, PrivateKeyVariants } from "../../types";
8
+ import { AuthenticationKey } from "../authenticationKey";
9
+ import { Hex } from "../hex";
10
+ import { CKDPriv, deriveKey, HARDENED_OFFSET, isValidHardenedPath, mnemonicToSeed, splitPath } from "./hdKey";
11
+ import { PrivateKey } from "./privateKey";
12
+ import { AccountPublicKey, PublicKey, VerifySignatureArgs, VerifySignatureAsyncArgs } from "./publicKey";
13
+ import { Signature } from "./signature";
14
+ import { convertSigningMessage } from "./utils";
15
+
16
+ /**
17
+ * L is the value that greater than or equal to will produce a non-canonical signature, and must be rejected
18
+ * @group Implementation
19
+ * @category Serialization
20
+ */
21
+ const L: number[] = [
22
+ 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0x00, 0x00, 0x00,
23
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
24
+ ];
25
+
26
+ /**
27
+ * Checks if an ED25519 signature is non-canonical.
28
+ * This function helps determine the validity of a signature by verifying its canonical form.
29
+ *
30
+ * @param signature - The signature to be checked for canonicality.
31
+ * @returns A boolean indicating whether the signature is non-canonical.
32
+ *
33
+ * Comes from Movement Core
34
+ * https://github.com/aptos-labs/aptos-core/blob/main/crates/aptos-crypto/src/ed25519/ed25519_sigs.rs#L47-L85
35
+ * @group Implementation
36
+ * @category Serialization
37
+ */
38
+ export function isCanonicalEd25519Signature(signature: Signature): boolean {
39
+ const s = signature.toUint8Array().slice(32);
40
+ for (let i = L.length - 1; i >= 0; i -= 1) {
41
+ if (s[i] < L[i]) {
42
+ return true;
43
+ }
44
+ if (s[i] > L[i]) {
45
+ return false;
46
+ }
47
+ }
48
+ // As this stage S == L which implies a non-canonical S.
49
+ return false;
50
+ }
51
+
52
+ /**
53
+ * Represents the public key of an Ed25519 key pair.
54
+ *
55
+ * Since [AIP-55](https://github.com/aptos-foundation/AIPs/pull/263) Movement supports
56
+ * `Legacy` and `Unified` authentication keys.
57
+ *
58
+ * Ed25519 scheme is represented in the SDK as `Legacy authentication key` and also
59
+ * as `AnyPublicKey` that represents any `Unified authentication key`.
60
+ * @group Implementation
61
+ * @category Serialization
62
+ */
63
+ export class Ed25519PublicKey extends AccountPublicKey {
64
+ /**
65
+ * Length of an Ed25519 public key
66
+ * @group Implementation
67
+ * @category Serialization
68
+ */
69
+ static readonly LENGTH: number = 32;
70
+
71
+ /**
72
+ * Bytes of the public key
73
+ * @private
74
+ * @group Implementation
75
+ * @category Serialization
76
+ */
77
+ private readonly key: Hex;
78
+
79
+ /**
80
+ * Creates an instance of the Ed25519Signature class from a hex input.
81
+ * This constructor validates the length of the signature to ensure it meets the required specifications.
82
+ *
83
+ * @param hexInput - The hex input representing the Ed25519 signature.
84
+ * @throws Error if the signature length is not equal to Ed25519Signature.LENGTH.
85
+ * @group Implementation
86
+ * @category Serialization
87
+ */
88
+ constructor(hexInput: HexInput) {
89
+ super();
90
+
91
+ const hex = Hex.fromHexInput(hexInput);
92
+ if (hex.toUint8Array().length !== Ed25519PublicKey.LENGTH) {
93
+ throw new Error(`PublicKey length should be ${Ed25519PublicKey.LENGTH}`);
94
+ }
95
+ this.key = hex;
96
+ }
97
+
98
+ // region AccountPublicKey
99
+
100
+ /**
101
+ * Verifies a signed message using a public key.
102
+ *
103
+ * @param args - The arguments for verification.
104
+ * @param args.message - A signed message as a Hex string or Uint8Array.
105
+ * @param args.signature - The signature of the message.
106
+ * @group Implementation
107
+ * @category Serialization
108
+ */
109
+ verifySignature(args: VerifySignatureArgs): boolean {
110
+ const { message, signature } = args;
111
+ // Verify malleability
112
+ if (!isCanonicalEd25519Signature(signature)) {
113
+ return false;
114
+ }
115
+
116
+ const messageToVerify = convertSigningMessage(message);
117
+ const messageBytes = Hex.fromHexInput(messageToVerify).toUint8Array();
118
+ const signatureBytes = signature.toUint8Array();
119
+ const publicKeyBytes = this.key.toUint8Array();
120
+ return ed25519.verify(signatureBytes, messageBytes, publicKeyBytes);
121
+ }
122
+
123
+ /**
124
+ * Note: Ed25519Signatures can be verified syncronously.
125
+ *
126
+ * Verifies the provided signature against the given message.
127
+ * This function helps ensure the integrity and authenticity of the message by confirming that the signature is valid.
128
+ *
129
+ * @param args - The arguments for signature verification.
130
+ * @param args.movementConfig - The configuration object for connecting to the Movement network
131
+ * @param args.message - The message that was signed.
132
+ * @param args.signature - The signature to verify, which must be an instance of Secp256k1Signature.
133
+ * @returns A boolean indicating whether the signature is valid for the given message.
134
+ * @group Implementation
135
+ * @category Serialization
136
+ */
137
+ async verifySignatureAsync(args: VerifySignatureAsyncArgs): Promise<boolean> {
138
+ return this.verifySignature(args);
139
+ }
140
+
141
+ /**
142
+ * Generates an authentication key from the public key using the Ed25519 scheme.
143
+ * This function is essential for creating a secure authentication key that can be used for further cryptographic operations.
144
+ *
145
+ * @returns {AuthenticationKey} The generated authentication key.
146
+ * @group Implementation
147
+ * @category Serialization
148
+ */
149
+ authKey(): AuthenticationKey {
150
+ return AuthenticationKey.fromSchemeAndBytes({
151
+ scheme: AuthenticationKeyScheme.Ed25519,
152
+ input: this.toUint8Array(),
153
+ });
154
+ }
155
+
156
+ /**
157
+ * Convert the internal data representation to a Uint8Array.
158
+ *
159
+ * @returns Uint8Array representation of the data.
160
+ * @group Implementation
161
+ * @category Serialization
162
+ */
163
+ toUint8Array(): Uint8Array {
164
+ return this.key.toUint8Array();
165
+ }
166
+
167
+ // endregion
168
+
169
+ // region Serializable
170
+
171
+ /**
172
+ * Serializes the data into a byte array using the provided serializer.
173
+ * This allows for the conversion of data into a format suitable for transmission or storage.
174
+ *
175
+ * @param serializer - The serializer instance used to perform the serialization.
176
+ * @group Implementation
177
+ * @category Serialization
178
+ */
179
+ serialize(serializer: Serializer): void {
180
+ serializer.serializeBytes(this.key.toUint8Array());
181
+ }
182
+
183
+ /**
184
+ * Deserialize bytes into an Ed25519Signature object.
185
+ * This function is used to convert serialized byte data into a usable Ed25519Signature instance.
186
+ *
187
+ * @param deserializer - The deserializer instance used to read the byte data.
188
+ * @group Implementation
189
+ * @category Serialization
190
+ */
191
+ static deserialize(deserializer: Deserializer): Ed25519PublicKey {
192
+ const bytes = deserializer.deserializeBytes();
193
+ return new Ed25519PublicKey(bytes);
194
+ }
195
+
196
+ // endregion
197
+
198
+ /**
199
+ * Determine if the provided public key is an instance of Ed25519PublicKey.
200
+ *
201
+ * @param publicKey - The public key to check.
202
+ * @returns True if the public key is an instance of Ed25519PublicKey, otherwise false.
203
+ * @deprecated use `instanceof Ed25519PublicKey` instead.
204
+ * @group Implementation
205
+ * @category Serialization
206
+ */
207
+ static isPublicKey(publicKey: AccountPublicKey): publicKey is Ed25519PublicKey {
208
+ return publicKey instanceof Ed25519PublicKey;
209
+ }
210
+
211
+ /**
212
+ * Determines if the provided public key is a valid Ed25519 public key.
213
+ * This function checks for the presence of the "key" property and verifies that its data length matches the expected length
214
+ * for Ed25519 public keys.
215
+ *
216
+ * @param publicKey - The public key to validate.
217
+ * @returns A boolean indicating whether the public key is a valid Ed25519 public key.
218
+ * @group Implementation
219
+ * @category Serialization
220
+ */
221
+ static isInstance(publicKey: PublicKey): publicKey is Ed25519PublicKey {
222
+ return "key" in publicKey && (publicKey.key as any)?.data?.length === Ed25519PublicKey.LENGTH;
223
+ }
224
+ }
225
+
226
+ /**
227
+ * Represents the private key of an Ed25519 key pair.
228
+ * @group Implementation
229
+ * @category Serialization
230
+ */
231
+ export class Ed25519PrivateKey extends Serializable implements PrivateKey {
232
+ /**
233
+ * Length of an Ed25519 private key
234
+ * @group Implementation
235
+ * @category Serialization
236
+ */
237
+ static readonly LENGTH: number = 32;
238
+
239
+ /**
240
+ * The Ed25519 key seed to use for BIP-32 compatibility
241
+ * See more {@link https://github.com/satoshilabs/slips/blob/master/slip-0010.md}
242
+ * @group Implementation
243
+ * @category Serialization
244
+ */
245
+ static readonly SLIP_0010_SEED = "ed25519 seed";
246
+
247
+ /**
248
+ * The Ed25519 signing key
249
+ * @private
250
+ * @group Implementation
251
+ * @category Serialization
252
+ */
253
+ private readonly signingKey: Hex;
254
+
255
+ // region Constructors
256
+
257
+ /**
258
+ * Create a new PrivateKey instance from a Uint8Array or String.
259
+ *
260
+ * [Read about AIP-80](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-80.md)
261
+ *
262
+ * @param hexInput HexInput (string or Uint8Array)
263
+ * @param strict If true, private key must AIP-80 compliant.
264
+ * @group Implementation
265
+ * @category Serialization
266
+ */
267
+ constructor(hexInput: HexInput, strict?: boolean) {
268
+ super();
269
+
270
+ const privateKeyHex = PrivateKey.parseHexInput(hexInput, PrivateKeyVariants.Ed25519, strict);
271
+ if (privateKeyHex.toUint8Array().length !== Ed25519PrivateKey.LENGTH) {
272
+ throw new Error(`PrivateKey length should be ${Ed25519PrivateKey.LENGTH}`);
273
+ }
274
+
275
+ // Create keyPair from Private key in Uint8Array format
276
+ this.signingKey = privateKeyHex;
277
+ }
278
+
279
+ /**
280
+ * Generate a new random private key.
281
+ *
282
+ * @returns Ed25519PrivateKey A newly generated Ed25519 private key.
283
+ * @group Implementation
284
+ * @category Serialization
285
+ */
286
+ static generate(): Ed25519PrivateKey {
287
+ const keyPair = ed25519.utils.randomPrivateKey();
288
+ return new Ed25519PrivateKey(keyPair, false);
289
+ }
290
+
291
+ /**
292
+ * Derives a private key from a mnemonic seed phrase using a specified BIP44 path.
293
+ * To derive multiple keys from the same phrase, change the path
294
+ *
295
+ * IMPORTANT: Ed25519 supports hardened derivation only, as it lacks a key homomorphism, making non-hardened derivation impossible.
296
+ *
297
+ * @param path - The BIP44 path used for key derivation.
298
+ * @param mnemonics - The mnemonic seed phrase from which the key will be derived.
299
+ * @throws Error if the provided path is not a valid hardened path.
300
+ * @group Implementation
301
+ * @category Serialization
302
+ */
303
+ static fromDerivationPath(path: string, mnemonics: string): Ed25519PrivateKey {
304
+ if (!isValidHardenedPath(path)) {
305
+ throw new Error(`Invalid derivation path ${path}`);
306
+ }
307
+ return Ed25519PrivateKey.fromDerivationPathInner(path, mnemonicToSeed(mnemonics));
308
+ }
309
+
310
+ /**
311
+ * Derives a child private key from a given BIP44 path and seed.
312
+ * A private inner function so we can separate from the main fromDerivationPath() method
313
+ * to add tests to verify we create the keys correctly.
314
+ *
315
+ * @param path - The BIP44 path used for key derivation.
316
+ * @param seed - The seed phrase created by the mnemonics, represented as a Uint8Array.
317
+ * @param offset - The offset used for key derivation, defaults to HARDENED_OFFSET.
318
+ * @returns An instance of Ed25519PrivateKey derived from the specified path and seed.
319
+ * @group Implementation
320
+ * @category Serialization
321
+ */
322
+ private static fromDerivationPathInner(path: string, seed: Uint8Array, offset = HARDENED_OFFSET): Ed25519PrivateKey {
323
+ const { key, chainCode } = deriveKey(Ed25519PrivateKey.SLIP_0010_SEED, seed);
324
+
325
+ const segments = splitPath(path).map((el) => parseInt(el, 10));
326
+
327
+ // Derive the child key based on the path
328
+ const { key: privateKey } = segments.reduce((parentKeys, segment) => CKDPriv(parentKeys, segment + offset), {
329
+ key,
330
+ chainCode,
331
+ });
332
+ return new Ed25519PrivateKey(privateKey, false);
333
+ }
334
+
335
+ // endregion
336
+
337
+ // region PrivateKey
338
+
339
+ /**
340
+ * Derive the Ed25519PublicKey for this private key.
341
+ *
342
+ * @returns Ed25519PublicKey - The derived public key corresponding to the private key.
343
+ * @group Implementation
344
+ * @category Serialization
345
+ */
346
+ publicKey(): Ed25519PublicKey {
347
+ const bytes = ed25519.getPublicKey(this.signingKey.toUint8Array());
348
+ return new Ed25519PublicKey(bytes);
349
+ }
350
+
351
+ /**
352
+ * Sign the given message with the private key.
353
+ * This function generates a digital signature for the specified message, ensuring its authenticity and integrity.
354
+ *
355
+ * @param message - A message as a string or Uint8Array in HexInput format.
356
+ * @returns A digital signature for the provided message.
357
+ * @group Implementation
358
+ * @category Serialization
359
+ */
360
+ sign(message: HexInput): Ed25519Signature {
361
+ const messageToSign = convertSigningMessage(message);
362
+ const messageBytes = Hex.fromHexInput(messageToSign).toUint8Array();
363
+ const signatureBytes = ed25519.sign(messageBytes, this.signingKey.toUint8Array());
364
+ return new Ed25519Signature(signatureBytes);
365
+ }
366
+
367
+ /**
368
+ * Get the private key in bytes (Uint8Array).
369
+ *
370
+ * @returns Uint8Array representation of the private key
371
+ * @group Implementation
372
+ * @category Serialization
373
+ */
374
+ toUint8Array(): Uint8Array {
375
+ return this.signingKey.toUint8Array();
376
+ }
377
+
378
+ /**
379
+ * Get the private key as a hex string with the 0x prefix.
380
+ *
381
+ * @returns string representation of the private key.
382
+ * @group Implementation
383
+ * @category Serialization
384
+ */
385
+ toString(): string {
386
+ return this.toAIP80String();
387
+ }
388
+
389
+ /**
390
+ * Get the private key as a hex string with the 0x prefix.
391
+ *
392
+ * @returns string representation of the private key.
393
+ */
394
+ toHexString(): string {
395
+ return this.signingKey.toString();
396
+ }
397
+
398
+ /**
399
+ * Get the private key as a AIP-80 compliant hex string.
400
+ *
401
+ * [Read about AIP-80](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-80.md)
402
+ *
403
+ * @returns AIP-80 compliant string representation of the private key.
404
+ */
405
+ toAIP80String(): string {
406
+ return PrivateKey.formatPrivateKey(this.signingKey.toString(), PrivateKeyVariants.Ed25519);
407
+ }
408
+
409
+ // endregion
410
+
411
+ // region Serializable
412
+
413
+ serialize(serializer: Serializer): void {
414
+ serializer.serializeBytes(this.toUint8Array());
415
+ }
416
+
417
+ static deserialize(deserializer: Deserializer): Ed25519PrivateKey {
418
+ const bytes = deserializer.deserializeBytes();
419
+ return new Ed25519PrivateKey(bytes, false);
420
+ }
421
+
422
+ // endregion
423
+
424
+ /**
425
+ * Determines if the provided private key is an instance of Ed25519PrivateKey.
426
+ *
427
+ * @param privateKey - The private key to check.
428
+ * @returns A boolean indicating whether the private key is an Ed25519PrivateKey.
429
+ *
430
+ * @deprecated Use `instanceof Ed25519PrivateKey` instead.
431
+ * @group Implementation
432
+ * @category Serialization
433
+ */
434
+ static isPrivateKey(privateKey: PrivateKey): privateKey is Ed25519PrivateKey {
435
+ return privateKey instanceof Ed25519PrivateKey;
436
+ }
437
+ }
438
+
439
+ /**
440
+ * Represents a signature of a message signed using an Ed25519 private key.
441
+ * @group Implementation
442
+ * @category Serialization
443
+ */
444
+ export class Ed25519Signature extends Signature {
445
+ /**
446
+ * Length of an Ed25519 signature, which is 64 bytes.
447
+ * @group Implementation
448
+ * @category Serialization
449
+ */
450
+ static readonly LENGTH = 64;
451
+
452
+ /**
453
+ * The signature bytes
454
+ * @private
455
+ * @group Implementation
456
+ * @category Serialization
457
+ */
458
+ private readonly data: Hex;
459
+
460
+ // region Constructors
461
+
462
+ constructor(hexInput: HexInput) {
463
+ super();
464
+ const data = Hex.fromHexInput(hexInput);
465
+ if (data.toUint8Array().length !== Ed25519Signature.LENGTH) {
466
+ throw new Error(`Signature length should be ${Ed25519Signature.LENGTH}`);
467
+ }
468
+ this.data = data;
469
+ }
470
+
471
+ // endregion
472
+
473
+ // region Signature
474
+
475
+ toUint8Array(): Uint8Array {
476
+ return this.data.toUint8Array();
477
+ }
478
+
479
+ // endregion
480
+
481
+ // region Serializable
482
+
483
+ serialize(serializer: Serializer): void {
484
+ serializer.serializeBytes(this.data.toUint8Array());
485
+ }
486
+
487
+ static deserialize(deserializer: Deserializer): Ed25519Signature {
488
+ const bytes = deserializer.deserializeBytes();
489
+ return new Ed25519Signature(bytes);
490
+ }
491
+
492
+ // endregion
493
+ }
@@ -0,0 +1,185 @@
1
+ import type { MovementConfig } from "../../api";
2
+ import { Deserializer, Serializer } from "../../bcs";
3
+ import { EphemeralPublicKeyVariant, EphemeralSignatureVariant, HexInput } from "../../types";
4
+ import { Hex } from "../hex";
5
+ import { Ed25519PublicKey, Ed25519Signature } from "./ed25519";
6
+ import { PublicKey } from "./publicKey";
7
+ import { Signature } from "./signature";
8
+
9
+ /**
10
+ * Represents ephemeral public keys for Movement Keyless accounts.
11
+ *
12
+ * These keys are used only temporarily within Keyless accounts and are not utilized as public keys for account identification.
13
+ * @group Implementation
14
+ * @category Serialization
15
+ */
16
+ export class EphemeralPublicKey extends PublicKey {
17
+ /**
18
+ * The public key itself
19
+ * @group Implementation
20
+ * @category Serialization
21
+ */
22
+ public readonly publicKey: PublicKey;
23
+
24
+ /**
25
+ * An enum indicating the scheme of the ephemeral public key
26
+ * @group Implementation
27
+ * @category Serialization
28
+ */
29
+ public readonly variant: EphemeralPublicKeyVariant;
30
+
31
+ /**
32
+ * Creates an instance of EphemeralPublicKey using the provided public key.
33
+ * This constructor ensures that only supported signature types are accepted.
34
+ *
35
+ * @param publicKey - The public key to be used for the ephemeral public key.
36
+ * @throws Error if the signature type is unsupported.
37
+ * @group Implementation
38
+ * @category Serialization
39
+ */
40
+ constructor(publicKey: PublicKey) {
41
+ super();
42
+ const publicKeyType = publicKey.constructor.name;
43
+ switch (publicKeyType) {
44
+ case Ed25519PublicKey.name:
45
+ this.publicKey = publicKey;
46
+ this.variant = EphemeralPublicKeyVariant.Ed25519;
47
+ break;
48
+ default:
49
+ throw new Error(`Unsupported key for EphemeralPublicKey - ${publicKeyType}`);
50
+ }
51
+ }
52
+
53
+ /**
54
+ * Verifies a signed message using the ephemeral public key.
55
+ *
56
+ * @param args - The arguments for the verification.
57
+ * @param args.message - The message that was signed.
58
+ * @param args.signature - The signature that was signed by the private key of the ephemeral public key.
59
+ * @returns true if the signature is valid, otherwise false.
60
+ * @group Implementation
61
+ * @category Serialization
62
+ */
63
+ verifySignature(args: { message: HexInput; signature: EphemeralSignature }): boolean {
64
+ const { message, signature } = args;
65
+ return this.publicKey.verifySignature({ message, signature: signature.signature });
66
+ }
67
+
68
+ async verifySignatureAsync(args: {
69
+ movementConfig: MovementConfig;
70
+ message: HexInput;
71
+ signature: EphemeralSignature;
72
+ }): Promise<boolean> {
73
+ return this.verifySignature(args);
74
+ }
75
+
76
+ /**
77
+ * Serializes the current instance, specifically handling the Ed25519 signature type.
78
+ * This function ensures that the signature is properly serialized using the provided serializer.
79
+ *
80
+ * @param serializer - The serializer instance used to serialize the signature.
81
+ * @throws Error if the signature type is unknown.
82
+ * @group Implementation
83
+ * @category Serialization
84
+ */
85
+ serialize(serializer: Serializer): void {
86
+ if (this.publicKey instanceof Ed25519PublicKey) {
87
+ serializer.serializeU32AsUleb128(EphemeralPublicKeyVariant.Ed25519);
88
+ this.publicKey.serialize(serializer);
89
+ } else {
90
+ throw new Error("Unknown public key type");
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Deserializes an EphemeralSignature from the provided deserializer.
96
+ * This function allows you to retrieve an EphemeralSignature based on the deserialized data.
97
+ *
98
+ * @param deserializer - The deserializer instance used to read the serialized data.
99
+ * @group Implementation
100
+ * @category Serialization
101
+ */
102
+ static deserialize(deserializer: Deserializer): EphemeralPublicKey {
103
+ const index = deserializer.deserializeUleb128AsU32();
104
+ switch (index) {
105
+ case EphemeralPublicKeyVariant.Ed25519:
106
+ return new EphemeralPublicKey(Ed25519PublicKey.deserialize(deserializer));
107
+ default:
108
+ throw new Error(`Unknown variant index for EphemeralPublicKey: ${index}`);
109
+ }
110
+ }
111
+
112
+ /**
113
+ * Determines if the provided public key is an instance of `EphemeralPublicKey`.
114
+ *
115
+ * @param publicKey - The public key to check.
116
+ * @returns A boolean indicating whether the public key is an ephemeral type.
117
+ * @group Implementation
118
+ * @category Serialization
119
+ */
120
+ static isPublicKey(publicKey: PublicKey): publicKey is EphemeralPublicKey {
121
+ return publicKey instanceof EphemeralPublicKey;
122
+ }
123
+ }
124
+
125
+ /**
126
+ * Represents ephemeral signatures used in Movement Keyless accounts.
127
+ *
128
+ * These signatures are utilized within the KeylessSignature framework.
129
+ * @group Implementation
130
+ * @category Serialization
131
+ */
132
+ export class EphemeralSignature extends Signature {
133
+ /**
134
+ * The signature signed by the private key of an EphemeralKeyPair
135
+ * @group Implementation
136
+ * @category Serialization
137
+ */
138
+ public readonly signature: Signature;
139
+
140
+ constructor(signature: Signature) {
141
+ super();
142
+ const signatureType = signature.constructor.name;
143
+ switch (signatureType) {
144
+ case Ed25519Signature.name:
145
+ this.signature = signature;
146
+ break;
147
+ default:
148
+ throw new Error(`Unsupported signature for EphemeralSignature - ${signatureType}`);
149
+ }
150
+ }
151
+
152
+ /**
153
+ * Deserializes an ephemeral signature from a hexadecimal input.
154
+ * This function allows you to convert a hexadecimal representation of an ephemeral signature into its deserialized form for
155
+ * further processing.
156
+ *
157
+ * @param hexInput - The hexadecimal input representing the ephemeral signature.
158
+ * @group Implementation
159
+ * @category Serialization
160
+ */
161
+ static fromHex(hexInput: HexInput): EphemeralSignature {
162
+ const data = Hex.fromHexInput(hexInput);
163
+ const deserializer = new Deserializer(data.toUint8Array());
164
+ return EphemeralSignature.deserialize(deserializer);
165
+ }
166
+
167
+ serialize(serializer: Serializer): void {
168
+ if (this.signature instanceof Ed25519Signature) {
169
+ serializer.serializeU32AsUleb128(EphemeralSignatureVariant.Ed25519);
170
+ this.signature.serialize(serializer);
171
+ } else {
172
+ throw new Error("Unknown signature type");
173
+ }
174
+ }
175
+
176
+ static deserialize(deserializer: Deserializer): EphemeralSignature {
177
+ const index = deserializer.deserializeUleb128AsU32();
178
+ switch (index) {
179
+ case EphemeralSignatureVariant.Ed25519:
180
+ return new EphemeralSignature(Ed25519Signature.deserialize(deserializer));
181
+ default:
182
+ throw new Error(`Unknown variant index for EphemeralSignature: ${index}`);
183
+ }
184
+ }
185
+ }