@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,354 @@
1
+ import type { MovementConfig } from "../api";
2
+ import type { AccountAddress, AccountAddressInput } from "../core/accountAddress";
3
+ import { AuthenticationKey } from "../core/authenticationKey";
4
+ import { AccountPublicKey, Ed25519PrivateKey, PrivateKeyInput, Signature, VerifySignatureArgs } from "../core/crypto";
5
+ import type { AccountAuthenticator } from "../transactions/authenticator/account";
6
+ import { AnyRawTransaction } from "../transactions/types";
7
+ import { HexInput, SigningScheme, SigningSchemeInput } from "../types";
8
+ import { Ed25519Account } from "./Ed25519Account";
9
+ import { SingleKeyAccount } from "./SingleKeyAccount";
10
+
11
+ /**
12
+ * Arguments for creating an `Ed25519Account` from an `Ed25519PrivateKey`.
13
+ * To use the SingleKey authentication scheme, set `legacy` to false.
14
+ *
15
+ * @param privateKey - The private key used to create the account.
16
+ * @param address - Optional address for the account.
17
+ * @param legacy - Indicates whether to use legacy authentication (default is true).
18
+ * @group Implementation
19
+ * @category Account (On-Chain Model)
20
+ */
21
+ export interface CreateEd25519AccountFromPrivateKeyArgs {
22
+ privateKey: Ed25519PrivateKey;
23
+ address?: AccountAddressInput;
24
+ legacy?: true;
25
+ }
26
+
27
+ /**
28
+ * Arguments for creating a `SingleKeyAccount` using an `Ed25519PrivateKey`.
29
+ * The `legacy` property must be set to false to utilize the `SingleKey` authentication scheme.
30
+ *
31
+ * @param privateKey - The Ed25519 private key used for account creation.
32
+ * @param address - Optional account address input.
33
+ * @param legacy - Must be false to enable the `SingleKey` authentication scheme.
34
+ * @group Implementation
35
+ * @category Account (On-Chain Model)
36
+ */
37
+ export interface CreateEd25519SingleKeyAccountFromPrivateKeyArgs {
38
+ privateKey: Ed25519PrivateKey;
39
+ address?: AccountAddressInput;
40
+ legacy: false;
41
+ }
42
+
43
+ /**
44
+ * Arguments for creating a `SingleKeyAccount` from a supported private key, excluding `Ed25519PrivateKey`.
45
+ * The `legacy` argument is always false and cannot be set to true.
46
+ *
47
+ * @param privateKey - The private key used to create the account.
48
+ * @param address - Optional address input for the account.
49
+ * @param legacy - Always false; cannot be explicitly set to true.
50
+ * @group Implementation
51
+ * @category Account (On-Chain Model)
52
+ */
53
+ export interface CreateSingleKeyAccountFromPrivateKeyArgs {
54
+ privateKey: PrivateKeyInput;
55
+ address?: AccountAddressInput;
56
+ legacy?: false;
57
+ }
58
+
59
+ /**
60
+ * Arguments for creating an `Account` from a private key when the key type is unknown at compile time.
61
+ *
62
+ * @param privateKey - The private key used to create the account.
63
+ * @param address - Optional address for the account.
64
+ * @param legacy - Optional flag indicating if the account is a legacy account.
65
+ * @group Implementation
66
+ * @category Account (On-Chain Model)
67
+ */
68
+ export interface CreateAccountFromPrivateKeyArgs {
69
+ privateKey: PrivateKeyInput;
70
+ address?: AccountAddressInput;
71
+ legacy?: boolean;
72
+ }
73
+
74
+ /**
75
+ * Arguments for generating an Ed25519 account, specifying the signing scheme and legacy option.
76
+ *
77
+ * @param scheme - The signing scheme to use for the account.
78
+ * @param legacy - Indicates if the account should be created in legacy mode.
79
+ * @group Implementation
80
+ * @category Account (On-Chain Model)
81
+ */
82
+ export interface GenerateEd25519AccountArgs {
83
+ scheme?: SigningSchemeInput.Ed25519;
84
+ legacy?: true;
85
+ }
86
+
87
+ /**
88
+ * Arguments for generating a `SingleKeyAccount` with an underlying `Ed25519PrivateKey`.
89
+ * The `legacy` argument must be set to false to ensure an `Ed25519SingleKeyAccount` is returned.
90
+ *
91
+ * @param scheme - Optional signing scheme input for the account.
92
+ * @param legacy - Indicates whether to use legacy account generation.
93
+ * @group Implementation
94
+ * @category Account (On-Chain Model)
95
+ */
96
+ export interface GenerateEd25519SingleKeyAccountArgs {
97
+ scheme?: SigningSchemeInput.Ed25519;
98
+ legacy: false;
99
+ }
100
+
101
+ /**
102
+ * Arguments for generating a `SingleKeyAccount` using a supported private key other than `Ed25519PrivateKey`.
103
+ * The `legacy` argument is optional and defaults to false, and cannot be set to true.
104
+ *
105
+ * @param scheme - The signing scheme to use for the account.
106
+ * @param legacy - Indicates whether to use legacy account generation (defaults to false).
107
+ * @group Implementation
108
+ * @category Account (On-Chain Model)
109
+ */
110
+ export interface GenerateSingleKeyAccountArgs {
111
+ scheme: Exclude<SigningSchemeInput, SigningSchemeInput.Ed25519>;
112
+ legacy?: false;
113
+ }
114
+
115
+ /**
116
+ * Arguments for generating an opaque `Account` when the input signature scheme is unknown at compile time.
117
+ *
118
+ * @param scheme - The signing scheme to use for account generation.
119
+ * @param legacy - Indicates whether to use legacy account generation methods.
120
+ * @group Implementation
121
+ * @category Account (On-Chain Model)
122
+ */
123
+ export interface GenerateAccountArgs {
124
+ scheme?: SigningSchemeInput;
125
+ legacy?: boolean;
126
+ }
127
+
128
+ /**
129
+ * Arguments for deriving a private key using a mnemonic phrase and a specified BIP44 path.
130
+ *
131
+ * @param path - The BIP44 derivation path for the key.
132
+ * @param mnemonic - The mnemonic phrase used for key generation.
133
+ * @group Implementation
134
+ * @category Account (On-Chain Model)
135
+ */
136
+ export interface PrivateKeyFromDerivationPathArgs {
137
+ path: string;
138
+ mnemonic: string;
139
+ }
140
+
141
+ /**
142
+ * Abstract class representing a generic Movement account.
143
+ *
144
+ * This class serves as a single entry point for account generation, allowing accounts to be created
145
+ * either through `Account.generate()` or `Account.fromDerivationPath`. Although it is defined as an
146
+ * abstract class, it should be treated as an interface and enforced using the `implements` keyword.
147
+ *
148
+ * Note: Generating an account instance does not create the account on-chain.
149
+ * @group Implementation
150
+ * @category Account (On-Chain Model)
151
+ */
152
+ export abstract class Account {
153
+ /**
154
+ * Public key associated with the account
155
+ * @group Implementation
156
+ * @category Account (On-Chain Model)
157
+ */
158
+ abstract readonly publicKey: AccountPublicKey;
159
+
160
+ /**
161
+ * Account address associated with the account
162
+ * @group Implementation
163
+ * @category Account (On-Chain Model)
164
+ */
165
+ abstract readonly accountAddress: AccountAddress;
166
+
167
+ /**
168
+ * Signing scheme used to sign transactions
169
+ * @group Implementation
170
+ * @category Account (On-Chain Model)
171
+ */
172
+ abstract signingScheme: SigningScheme;
173
+
174
+ /**
175
+ * Generates a new account based on the specified signing scheme and legacy option.
176
+ * This function allows you to create an account with either the Ed25519 signing scheme or a different scheme as specified.
177
+ *
178
+ * @param args - The arguments for generating the account.
179
+ * @param args.scheme - The signing scheme to use for account generation. Defaults to Ed25519.
180
+ * @param args.legacy - Indicates whether to use the legacy account generation method. Defaults to true.
181
+ * @group Implementation
182
+ * @category Account (On-Chain Model)
183
+ */
184
+ static generate(args?: GenerateEd25519AccountArgs): Ed25519Account;
185
+ static generate(args: GenerateEd25519SingleKeyAccountArgs): SingleKeyAccount;
186
+ static generate(args: GenerateSingleKeyAccountArgs): SingleKeyAccount;
187
+ static generate(args: GenerateAccountArgs): Account;
188
+ static generate(args: GenerateAccountArgs = {}) {
189
+ const { scheme = SigningSchemeInput.Ed25519, legacy = true } = args;
190
+ if (scheme === SigningSchemeInput.Ed25519 && legacy) {
191
+ return Ed25519Account.generate();
192
+ }
193
+ return SingleKeyAccount.generate({ scheme });
194
+ }
195
+
196
+ /**
197
+ * Creates an account from a given private key and address.
198
+ * This function allows you to instantiate an account based on the provided private key,
199
+ * and it can differentiate between legacy and non-legacy accounts.
200
+ *
201
+ * @param args - The arguments for creating the account.
202
+ * @param args.privateKey - The private key used to create the account.
203
+ * @param args.address - The address associated with the account.
204
+ * @param args.legacy - A boolean indicating whether to create a legacy account (default is true).
205
+ * @returns An instance of either Ed25519Account or SingleKeyAccount based on the provided private key.
206
+ * @group Implementation
207
+ * @category Account (On-Chain Model)
208
+ */
209
+ static fromPrivateKey(args: CreateEd25519AccountFromPrivateKeyArgs): Ed25519Account;
210
+ static fromPrivateKey(args: CreateSingleKeyAccountFromPrivateKeyArgs): SingleKeyAccount;
211
+ static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs): SingleKeyAccount;
212
+ static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs): Ed25519Account | SingleKeyAccount {
213
+ const { privateKey, address, legacy = true } = args;
214
+ if (privateKey instanceof Ed25519PrivateKey && legacy) {
215
+ return new Ed25519Account({
216
+ privateKey,
217
+ address,
218
+ });
219
+ }
220
+ return new SingleKeyAccount({ privateKey, address });
221
+ }
222
+
223
+ /**
224
+ * @deprecated use `fromPrivateKey` instead.
225
+ * Instantiates an account using a private key and a specified account address. This is primarily used to instantiate an
226
+ * `Account` that has had its authentication key rotated.
227
+ *
228
+ * @param args - The arguments required to create an account from a private key.
229
+ * @param args.privateKey - The underlying private key for the account.
230
+ * @param args.address - The account address the `Account` will sign for.
231
+ * @param args.legacy - Optional. If set to false, the keypair generated is a Unified keypair. Defaults to generating a Legacy
232
+ * Ed25519 keypair.
233
+ *
234
+ * @returns Account
235
+ * @group Implementation
236
+ * @category Account (On-Chain Model)
237
+ */
238
+ static fromPrivateKeyAndAddress(args: CreateAccountFromPrivateKeyArgs) {
239
+ return this.fromPrivateKey(args);
240
+ }
241
+
242
+ /**
243
+ * Generates an account from a specified derivation path and mnemonic.
244
+ * This function allows you to create an account using different signing schemes based on the provided arguments.
245
+ *
246
+ * @param args - The arguments for generating the account.
247
+ * @param args.scheme - The signing scheme to use for account generation. Defaults to Ed25519.
248
+ * @param args.mnemonic - The mnemonic phrase used to derive the account.
249
+ * @param args.path - The derivation path used to generate the account.
250
+ * @param args.legacy - A boolean indicating whether to use the legacy account generation method. Defaults to true.
251
+ * @group Implementation
252
+ * @category Account (On-Chain Model)
253
+ */
254
+ static fromDerivationPath(args: GenerateEd25519AccountArgs & PrivateKeyFromDerivationPathArgs): Ed25519Account;
255
+ static fromDerivationPath(
256
+ args: GenerateEd25519SingleKeyAccountArgs & PrivateKeyFromDerivationPathArgs,
257
+ ): SingleKeyAccount;
258
+ static fromDerivationPath(args: GenerateSingleKeyAccountArgs & PrivateKeyFromDerivationPathArgs): SingleKeyAccount;
259
+ static fromDerivationPath(args: GenerateAccountArgs & PrivateKeyFromDerivationPathArgs): Account;
260
+ static fromDerivationPath(args: GenerateAccountArgs & PrivateKeyFromDerivationPathArgs) {
261
+ const { scheme = SigningSchemeInput.Ed25519, mnemonic, path, legacy = true } = args;
262
+ if (scheme === SigningSchemeInput.Ed25519 && legacy) {
263
+ return Ed25519Account.fromDerivationPath({ mnemonic, path });
264
+ }
265
+ return SingleKeyAccount.fromDerivationPath({ scheme, mnemonic, path });
266
+ }
267
+
268
+ /**
269
+ * Retrieve the authentication key for the associated account using the provided public key.
270
+ * This key enables account owners to rotate their private key(s) associated with the account without changing the address that
271
+ * hosts their account.
272
+ * See here for more info: {@link https://movement.dev/concepts/accounts#single-signer-authentication}
273
+ *
274
+ * @param args - The arguments for retrieving the authentication key.
275
+ * @param args.publicKey - The public key of the account.
276
+ * @returns The authentication key for the associated account.
277
+ * @group Implementation
278
+ * @category Account (On-Chain Model)
279
+ */
280
+ static authKey(args: { publicKey: AccountPublicKey }): AuthenticationKey {
281
+ const { publicKey } = args;
282
+ return publicKey.authKey();
283
+ }
284
+
285
+ /**
286
+ * Sign a message using the available signing capabilities.
287
+ * @param message the signing message, as binary input
288
+ * @return the AccountAuthenticator containing the signature, together with the account's public key
289
+ * @group Implementation
290
+ * @category Account (On-Chain Model)
291
+ */
292
+ abstract signWithAuthenticator(message: HexInput): AccountAuthenticator;
293
+
294
+ /**
295
+ * Sign a transaction using the available signing capabilities.
296
+ * @param transaction the raw transaction
297
+ * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key
298
+ * @group Implementation
299
+ * @category Account (On-Chain Model)
300
+ */
301
+ abstract signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticator;
302
+
303
+ /**
304
+ * Sign the given message using the available signing capabilities.
305
+ * @param message in HexInput format
306
+ * @returns Signature
307
+ * @group Implementation
308
+ * @category Account (On-Chain Model)
309
+ */
310
+ abstract sign(message: HexInput): Signature;
311
+
312
+ /**
313
+ * Sign the given transaction using the available signing capabilities.
314
+ * @param transaction the transaction to be signed
315
+ * @returns Signature
316
+ * @group Implementation
317
+ * @category Account (On-Chain Model)
318
+ */
319
+ abstract signTransaction(transaction: AnyRawTransaction): Signature;
320
+
321
+ /**
322
+ * Verify the given message and signature with the public key.
323
+ * This function helps ensure the integrity and authenticity of a message by validating its signature.
324
+ *
325
+ * @param args - The arguments for verifying the signature.
326
+ * @param args.message - The raw message data in HexInput format.
327
+ * @param args.signature - The signed message signature.
328
+ * @returns A boolean indicating whether the signature is valid.
329
+ * @group Implementation
330
+ * @category Account (On-Chain Model)
331
+ */
332
+ verifySignature(args: VerifySignatureArgs): boolean {
333
+ return this.publicKey.verifySignature(args);
334
+ }
335
+
336
+ /**
337
+ * Verify the given message and signature with the public key. It fetches any on chain state if needed for verification.
338
+ *
339
+ * @param args - The arguments for verifying the signature.
340
+ * @param args.movementConfig - The configuration object for connecting to the Movement network
341
+ * @param args.message - Raw message data in HexInput format.
342
+ * @param args.signature - Signed message signature.
343
+ * @returns A boolean indicating whether the signature is valid.
344
+ * @group Implementation
345
+ * @category Account (On-Chain Model)
346
+ */
347
+ async verifySignatureAsync(args: {
348
+ movementConfig: MovementConfig;
349
+ message: HexInput;
350
+ signature: Signature;
351
+ }): Promise<boolean> {
352
+ return this.publicKey.verifySignatureAsync(args);
353
+ }
354
+ }
@@ -0,0 +1,216 @@
1
+ import { Deserializer, Serializer } from "../bcs";
2
+ import { AnyPublicKeyVariant, HexInput, SigningScheme } from "../types";
3
+ import { MultiKeyAccount } from "./MultiKeyAccount";
4
+ import { Account } from "./Account";
5
+ import { Ed25519Account } from "./Ed25519Account";
6
+ import { isSingleKeySigner, SingleKeyAccount, SingleKeySignerOrLegacyEd25519Account } from "./SingleKeyAccount";
7
+ import { KeylessAccount } from "./KeylessAccount";
8
+ import { FederatedKeylessAccount } from "./FederatedKeylessAccount";
9
+ import { AbstractKeylessAccount } from "./AbstractKeylessAccount";
10
+ import {
11
+ AccountAddress,
12
+ Ed25519PrivateKey,
13
+ getIssAudAndUidVal,
14
+ Hex,
15
+ MultiKey,
16
+ Secp256k1PrivateKey,
17
+ ZeroKnowledgeSig,
18
+ } from "../core";
19
+ import { deserializeSchemeAndAddress } from "./utils";
20
+ import { EphemeralKeyPair } from "./EphemeralKeyPair";
21
+
22
+ function serializeKeylessAccountCommon(account: AbstractKeylessAccount, serializer: Serializer): void {
23
+ serializer.serializeStr(account.jwt);
24
+ serializer.serializeStr(account.uidKey);
25
+ serializer.serializeFixedBytes(account.pepper);
26
+ account.ephemeralKeyPair.serialize(serializer);
27
+ if (account.proof === undefined) {
28
+ throw new Error("Cannot serialize - proof undefined");
29
+ }
30
+ account.proof.serialize(serializer);
31
+ serializer.serializeOption(account.verificationKeyHash, 32);
32
+ }
33
+
34
+ function deserializeKeylessAccountCommon(deserializer: Deserializer): {
35
+ jwt: string;
36
+ uidKey: string;
37
+ pepper: Uint8Array;
38
+ ephemeralKeyPair: EphemeralKeyPair;
39
+ proof: ZeroKnowledgeSig;
40
+ verificationKeyHash?: Uint8Array;
41
+ } {
42
+ const jwt = deserializer.deserializeStr();
43
+ const uidKey = deserializer.deserializeStr();
44
+ const pepper = deserializer.deserializeFixedBytes(31);
45
+ const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);
46
+ const proof = ZeroKnowledgeSig.deserialize(deserializer);
47
+ const verificationKeyHash = deserializer.deserializeOption("fixedBytes", 32);
48
+ return { jwt, uidKey, pepper, ephemeralKeyPair, proof, verificationKeyHash };
49
+ }
50
+
51
+ /**
52
+ * Utility functions for working with accounts.
53
+ */
54
+ export namespace AccountUtils {
55
+ export function toBytes(account: Account): Uint8Array {
56
+ const serializer = new Serializer();
57
+ serializer.serializeU32AsUleb128(account.signingScheme);
58
+ account.accountAddress.serialize(serializer);
59
+ switch (account.signingScheme) {
60
+ case SigningScheme.Ed25519:
61
+ (account as Ed25519Account).privateKey.serialize(serializer);
62
+ return serializer.toUint8Array();
63
+ case SigningScheme.SingleKey: {
64
+ if (!isSingleKeySigner(account)) {
65
+ throw new Error("Account is not a SingleKeySigner");
66
+ }
67
+ const anyPublicKey = account.getAnyPublicKey();
68
+ serializer.serializeU32AsUleb128(anyPublicKey.variant);
69
+ switch (anyPublicKey.variant) {
70
+ case AnyPublicKeyVariant.Keyless: {
71
+ const keylessAccount = account as KeylessAccount;
72
+ serializeKeylessAccountCommon(keylessAccount, serializer);
73
+ return serializer.toUint8Array();
74
+ }
75
+ case AnyPublicKeyVariant.FederatedKeyless: {
76
+ const federatedKeylessAccount = account as FederatedKeylessAccount;
77
+ serializeKeylessAccountCommon(federatedKeylessAccount, serializer);
78
+ federatedKeylessAccount.publicKey.jwkAddress.serialize(serializer);
79
+ serializer.serializeBool(federatedKeylessAccount.audless);
80
+ return serializer.toUint8Array();
81
+ }
82
+ case AnyPublicKeyVariant.Secp256k1:
83
+ case AnyPublicKeyVariant.Ed25519: {
84
+ const singleKeyAccount = account as SingleKeyAccount;
85
+ singleKeyAccount.privateKey.serialize(serializer);
86
+ return serializer.toUint8Array();
87
+ }
88
+ default: {
89
+ throw new Error(`Invalid public key variant: ${anyPublicKey.variant}`);
90
+ }
91
+ }
92
+ }
93
+ case SigningScheme.MultiKey: {
94
+ const multiKeyAccount = account as MultiKeyAccount;
95
+ multiKeyAccount.publicKey.serialize(serializer);
96
+ serializer.serializeU32AsUleb128(multiKeyAccount.signers.length);
97
+ multiKeyAccount.signers.forEach((signer) => {
98
+ serializer.serializeFixedBytes(toBytes(signer));
99
+ });
100
+ return serializer.toUint8Array();
101
+ }
102
+ default:
103
+ throw new Error(`Deserialization of Account failed: invalid signingScheme value ${account.signingScheme}`);
104
+ }
105
+ }
106
+
107
+ export function toHexStringWithoutPrefix(account: Account): string {
108
+ return Hex.hexInputToStringWithoutPrefix(toBytes(account));
109
+ }
110
+
111
+ export function toHexString(account: Account): string {
112
+ return Hex.hexInputToString(toBytes(account));
113
+ }
114
+
115
+ export function deserialize(deserializer: Deserializer): Account {
116
+ const { address, signingScheme } = deserializeSchemeAndAddress(deserializer);
117
+ switch (signingScheme) {
118
+ case SigningScheme.Ed25519: {
119
+ const privateKey = Ed25519PrivateKey.deserialize(deserializer);
120
+ return new Ed25519Account({ privateKey, address });
121
+ }
122
+ case SigningScheme.SingleKey: {
123
+ const variantIndex = deserializer.deserializeUleb128AsU32();
124
+ switch (variantIndex) {
125
+ case AnyPublicKeyVariant.Ed25519: {
126
+ const privateKey = Ed25519PrivateKey.deserialize(deserializer);
127
+ return new SingleKeyAccount({ privateKey, address });
128
+ }
129
+ case AnyPublicKeyVariant.Secp256k1: {
130
+ const privateKey = Secp256k1PrivateKey.deserialize(deserializer);
131
+ return new SingleKeyAccount({ privateKey, address });
132
+ }
133
+ case AnyPublicKeyVariant.Keyless: {
134
+ const keylessComponents = deserializeKeylessAccountCommon(deserializer);
135
+ const jwtClaims = getIssAudAndUidVal(keylessComponents);
136
+ return new KeylessAccount({ ...keylessComponents, ...jwtClaims });
137
+ }
138
+ case AnyPublicKeyVariant.FederatedKeyless: {
139
+ const keylessComponents = deserializeKeylessAccountCommon(deserializer);
140
+ const jwkAddress = AccountAddress.deserialize(deserializer);
141
+ const audless = deserializer.deserializeBool();
142
+ const jwtClaims = getIssAudAndUidVal(keylessComponents);
143
+ return new FederatedKeylessAccount({ ...keylessComponents, ...jwtClaims, jwkAddress, audless });
144
+ }
145
+ default:
146
+ throw new Error(`Unsupported public key variant ${variantIndex}`);
147
+ }
148
+ }
149
+ case SigningScheme.MultiKey: {
150
+ const multiKey = MultiKey.deserialize(deserializer);
151
+ const length = deserializer.deserializeUleb128AsU32();
152
+ const signers = new Array<SingleKeySignerOrLegacyEd25519Account>();
153
+ for (let i = 0; i < length; i += 1) {
154
+ const signer = deserialize(deserializer);
155
+ if (!isSingleKeySigner(signer) && !(signer instanceof Ed25519Account)) {
156
+ throw new Error(
157
+ "Deserialization of MultiKeyAccount failed. Signer is not a SingleKeySigner or Ed25519Account",
158
+ );
159
+ }
160
+ signers.push(signer);
161
+ }
162
+ return new MultiKeyAccount({ multiKey, signers, address });
163
+ }
164
+ default:
165
+ throw new Error(`Deserialization of Account failed: invalid signingScheme value ${signingScheme}`);
166
+ }
167
+ }
168
+
169
+ export function keylessAccountFromHex(hex: HexInput): KeylessAccount {
170
+ const account = fromHex(hex);
171
+ if (!(account instanceof KeylessAccount)) {
172
+ throw new Error("Deserialization of KeylessAccount failed");
173
+ }
174
+ return account;
175
+ }
176
+
177
+ export function federatedKeylessAccountFromHex(hex: HexInput): FederatedKeylessAccount {
178
+ const account = fromHex(hex);
179
+ if (!(account instanceof FederatedKeylessAccount)) {
180
+ throw new Error("Deserialization of FederatedKeylessAccount failed");
181
+ }
182
+ return account;
183
+ }
184
+
185
+ export function multiKeyAccountFromHex(hex: HexInput): MultiKeyAccount {
186
+ const account = fromHex(hex);
187
+ if (!(account instanceof MultiKeyAccount)) {
188
+ throw new Error("Deserialization of MultiKeyAccount failed");
189
+ }
190
+ return account;
191
+ }
192
+
193
+ export function singleKeyAccountFromHex(hex: HexInput): SingleKeyAccount {
194
+ const account = fromHex(hex);
195
+ if (!(account instanceof SingleKeyAccount)) {
196
+ throw new Error("Deserialization of SingleKeyAccount failed");
197
+ }
198
+ return account;
199
+ }
200
+
201
+ export function ed25519AccountFromHex(hex: HexInput): Ed25519Account {
202
+ const account = fromHex(hex);
203
+ if (!(account instanceof Ed25519Account)) {
204
+ throw new Error("Deserialization of Ed25519Account failed");
205
+ }
206
+ return account;
207
+ }
208
+
209
+ export function fromHex(hex: HexInput): Account {
210
+ return deserialize(Deserializer.fromHex(hex));
211
+ }
212
+
213
+ export function fromBytes(bytes: Uint8Array): Account {
214
+ return fromHex(bytes);
215
+ }
216
+ }
@@ -0,0 +1,103 @@
1
+ import { sha3_256 } from "@noble/hashes/sha3";
2
+ import { Serializer } from "../bcs/serializer";
3
+ import { AccountAddress } from "../core/accountAddress";
4
+ import { AccountAbstractionMessage, AccountAuthenticatorAbstraction } from "../transactions/authenticator/account";
5
+ import { HexInput } from "../types";
6
+ import { isValidFunctionInfo } from "../utils/helpers";
7
+ import { AbstractedAccount } from "./AbstractedAccount";
8
+ import { generateSigningMessage } from "../transactions/transactionBuilder/signingMessage";
9
+ import { ACCOUNT_ABSTRACTION_SIGNING_DATA_SALT } from "../utils/const";
10
+
11
+ type DerivableAbstractedAccountArgs = {
12
+ /**
13
+ * The signer function signs transactions and returns the `authenticator` bytes in the `AbstractionAuthData`.
14
+ *
15
+ * @param digest - The SHA256 hash of the transaction signing message
16
+ * @returns The `authenticator` bytes that can be used to verify the signature.
17
+ */
18
+ signer: (digest: HexInput) => Uint8Array;
19
+
20
+ /**
21
+ * The authentication function that will be used to verify the signature.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const authenticationFunction = `${accountAddress}::permissioned_delegation::authenticate`;
26
+ * ```
27
+ */
28
+ authenticationFunction: string;
29
+
30
+ /**
31
+ * The abstract public key that is used to identify the account.
32
+ * Depends on the use cases, most of the time it is the public key of the source wallet
33
+ */
34
+ abstractPublicKey: Uint8Array;
35
+ };
36
+
37
+ export class DerivableAbstractedAccount extends AbstractedAccount {
38
+ /**
39
+ * The abstract public key that is used to identify the account.
40
+ * Depends on the use cases, most of the time it is the public key of the source wallet
41
+ */
42
+ readonly abstractPublicKey: Uint8Array;
43
+
44
+ /**
45
+ * The domain separator used to calculate the DAA account address.
46
+ */
47
+ static readonly ADDRESS_DOMAIN_SEPERATOR: number = 5;
48
+
49
+ constructor({ signer, authenticationFunction, abstractPublicKey }: DerivableAbstractedAccountArgs) {
50
+ const daaAccountAddress = new AccountAddress(
51
+ DerivableAbstractedAccount.computeAccountAddress(authenticationFunction, abstractPublicKey),
52
+ );
53
+ super({
54
+ accountAddress: daaAccountAddress,
55
+ signer,
56
+ authenticationFunction,
57
+ });
58
+ this.abstractPublicKey = abstractPublicKey;
59
+ }
60
+
61
+ /**
62
+ * Compute the account address of the DAA
63
+ * The DAA account address is computed by hashing the function info and the account identity
64
+ * and appending the domain separator (5)
65
+ *
66
+ * @param functionInfo - The authentication function
67
+ * @param accountIdentifier - The account identity
68
+ * @returns The account address
69
+ */
70
+ static computeAccountAddress(functionInfo: string, accountIdentifier: Uint8Array): Uint8Array {
71
+ if (!isValidFunctionInfo(functionInfo)) {
72
+ throw new Error(`Invalid authentication function ${functionInfo} passed into DerivableAbstractedAccount`);
73
+ }
74
+ const [moduleAddress, moduleName, functionName] = functionInfo.split("::");
75
+
76
+ const hash = sha3_256.create();
77
+ // Serialize and append the function info
78
+ const serializer = new Serializer();
79
+ AccountAddress.fromString(moduleAddress).serialize(serializer);
80
+ serializer.serializeStr(moduleName);
81
+ serializer.serializeStr(functionName);
82
+ hash.update(serializer.toUint8Array());
83
+
84
+ // Serialize and append the account identity
85
+ const s2 = new Serializer();
86
+ s2.serializeBytes(accountIdentifier);
87
+ hash.update(s2.toUint8Array());
88
+
89
+ // Append the domain separator
90
+ hash.update(new Uint8Array([DerivableAbstractedAccount.ADDRESS_DOMAIN_SEPERATOR]));
91
+
92
+ return hash.digest();
93
+ }
94
+
95
+ signWithAuthenticator(message: HexInput): AccountAuthenticatorAbstraction {
96
+ return new AccountAuthenticatorAbstraction(
97
+ this.authenticationFunction,
98
+ sha3_256(message),
99
+ this.sign(sha3_256(message)).value,
100
+ this.abstractPublicKey,
101
+ );
102
+ }
103
+ }