@aptos-labs/ts-sdk 1.29.0-zeta.1 → 1.29.0-zeta.2

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 (1003) hide show
  1. package/README.md +2 -2
  2. package/dist/common/{accountAddress-DUCC2ffJ.d.ts → accountAddress-DnSqjhSl.d.ts} +700 -245
  3. package/dist/common/{chunk-HBPH2AD3.js → chunk-7IYTZDXV.js} +1 -1
  4. package/dist/common/chunk-7IYTZDXV.js.map +1 -0
  5. package/dist/common/cli/index.d.ts +123 -126
  6. package/dist/common/cli/index.js +1 -1
  7. package/dist/common/cli/index.js.map +1 -1
  8. package/dist/common/index.d.ts +5916 -1627
  9. package/dist/common/index.js +8 -8
  10. package/dist/common/index.js.map +1 -1
  11. package/dist/esm/Ed25519Account-DpH9qAcg.d.mts +470 -0
  12. package/dist/esm/account/AbstractKeylessAccount.d.mts +5 -5
  13. package/dist/esm/account/AbstractKeylessAccount.mjs +1 -1
  14. package/dist/esm/account/Account.d.mts +2 -2
  15. package/dist/esm/account/Account.mjs +1 -1
  16. package/dist/esm/account/Ed25519Account.d.mts +2 -2
  17. package/dist/esm/account/Ed25519Account.mjs +1 -1
  18. package/dist/esm/account/EphemeralKeyPair.d.mts +49 -14
  19. package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
  20. package/dist/esm/account/FederatedKeylessAccount.d.mts +3 -3
  21. package/dist/esm/account/FederatedKeylessAccount.mjs +1 -1
  22. package/dist/esm/account/KeylessAccount.d.mts +37 -3
  23. package/dist/esm/account/KeylessAccount.mjs +1 -1
  24. package/dist/esm/account/MultiKeyAccount.d.mts +54 -34
  25. package/dist/esm/account/MultiKeyAccount.mjs +1 -1
  26. package/dist/esm/account/SingleKeyAccount.d.mts +2 -2
  27. package/dist/esm/account/SingleKeyAccount.mjs +1 -1
  28. package/dist/esm/account/index.d.mts +2 -2
  29. package/dist/esm/account/index.mjs +1 -1
  30. package/dist/esm/api/account.d.mts +445 -160
  31. package/dist/esm/api/account.mjs +1 -1
  32. package/dist/esm/api/ans.d.mts +369 -122
  33. package/dist/esm/api/ans.mjs +1 -1
  34. package/dist/esm/api/aptos.d.mts +40 -7
  35. package/dist/esm/api/aptos.mjs +1 -1
  36. package/dist/esm/api/aptosConfig.d.mts +102 -14
  37. package/dist/esm/api/aptosConfig.mjs +1 -1
  38. package/dist/esm/api/coin.d.mts +50 -13
  39. package/dist/esm/api/coin.mjs +1 -1
  40. package/dist/esm/api/digitalAsset.d.mts +708 -298
  41. package/dist/esm/api/digitalAsset.mjs +1 -1
  42. package/dist/esm/api/event.d.mts +128 -25
  43. package/dist/esm/api/event.mjs +1 -1
  44. package/dist/esm/api/faucet.d.mts +44 -7
  45. package/dist/esm/api/faucet.mjs +1 -1
  46. package/dist/esm/api/fungibleAsset.d.mts +151 -48
  47. package/dist/esm/api/fungibleAsset.mjs +1 -1
  48. package/dist/esm/api/general.d.mts +169 -53
  49. package/dist/esm/api/general.mjs +1 -1
  50. package/dist/esm/api/index.d.mts +2 -2
  51. package/dist/esm/api/index.mjs +1 -1
  52. package/dist/esm/api/keyless.d.mts +81 -10
  53. package/dist/esm/api/keyless.mjs +1 -1
  54. package/dist/esm/api/object.d.mts +49 -5
  55. package/dist/esm/api/object.mjs +1 -1
  56. package/dist/esm/api/staking.d.mts +84 -15
  57. package/dist/esm/api/staking.mjs +1 -1
  58. package/dist/esm/api/table.d.mts +117 -37
  59. package/dist/esm/api/table.mjs +1 -1
  60. package/dist/esm/api/transaction.d.mts +440 -109
  61. package/dist/esm/api/transaction.mjs +1 -1
  62. package/dist/esm/api/transactionSubmission/build.d.mts +99 -13
  63. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  64. package/dist/esm/api/transactionSubmission/helpers.d.mts +79 -0
  65. package/dist/esm/api/transactionSubmission/helpers.mjs +1 -1
  66. package/dist/esm/api/transactionSubmission/management.d.mts +111 -12
  67. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  68. package/dist/esm/api/transactionSubmission/sign.d.mts +97 -3
  69. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  70. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  71. package/dist/esm/api/transactionSubmission/simulate.d.mts +140 -15
  72. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  73. package/dist/esm/api/transactionSubmission/submit.d.mts +104 -13
  74. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  75. package/dist/esm/api/utils.d.mts +26 -3
  76. package/dist/esm/api/utils.mjs +1 -1
  77. package/dist/esm/bcs/consts.mjs +1 -1
  78. package/dist/esm/bcs/deserializer.d.mts +82 -32
  79. package/dist/esm/bcs/deserializer.mjs +1 -1
  80. package/dist/esm/bcs/index.mjs +1 -1
  81. package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +25 -6
  82. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
  83. package/dist/esm/bcs/serializable/fixedBytes.d.mts +51 -21
  84. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
  85. package/dist/esm/bcs/serializable/movePrimitives.d.mts +79 -0
  86. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  87. package/dist/esm/bcs/serializable/moveStructs.d.mts +119 -32
  88. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  89. package/dist/esm/bcs/serializer.d.mts +111 -76
  90. package/dist/esm/bcs/serializer.mjs +1 -1
  91. package/dist/esm/{chunk-U6Z4FNB7.mjs → chunk-2CJC43CV.mjs} +1 -1
  92. package/dist/esm/chunk-2CJC43CV.mjs.map +1 -0
  93. package/dist/esm/{chunk-EXCR5VKV.mjs → chunk-3CE7U4WL.mjs} +2 -2
  94. package/dist/esm/chunk-3CE7U4WL.mjs.map +1 -0
  95. package/dist/esm/{chunk-6ZRARME6.mjs → chunk-3DFQJD62.mjs} +2 -2
  96. package/dist/esm/chunk-3DFQJD62.mjs.map +1 -0
  97. package/dist/esm/{chunk-TPCG5W2G.mjs → chunk-3FVMMVQV.mjs} +2 -2
  98. package/dist/esm/chunk-3FVMMVQV.mjs.map +1 -0
  99. package/dist/esm/{chunk-HQUUESWW.mjs → chunk-43MUZWVN.mjs} +2 -2
  100. package/dist/esm/chunk-43MUZWVN.mjs.map +1 -0
  101. package/dist/esm/chunk-44HKW3VX.mjs +2 -0
  102. package/dist/esm/chunk-44HKW3VX.mjs.map +1 -0
  103. package/dist/esm/chunk-4CDDWSKZ.mjs +2 -0
  104. package/dist/esm/chunk-4CDDWSKZ.mjs.map +1 -0
  105. package/dist/esm/{chunk-33DMJ7SF.mjs → chunk-4F3VHS2S.mjs} +2 -2
  106. package/dist/esm/chunk-4F3VHS2S.mjs.map +1 -0
  107. package/dist/esm/{chunk-EDI5UVKO.mjs → chunk-4J3DDFO2.mjs} +2 -2
  108. package/dist/esm/chunk-4J3DDFO2.mjs.map +1 -0
  109. package/dist/esm/{chunk-RG572OEH.mjs → chunk-4KPBLPU7.mjs} +2 -2
  110. package/dist/esm/chunk-4KPBLPU7.mjs.map +1 -0
  111. package/dist/esm/chunk-4OV7QU2U.mjs +2 -0
  112. package/dist/esm/chunk-4OV7QU2U.mjs.map +1 -0
  113. package/dist/esm/{chunk-QB4XTGDH.mjs → chunk-4QPLGT4N.mjs} +2 -2
  114. package/dist/esm/chunk-4QPLGT4N.mjs.map +1 -0
  115. package/dist/esm/{chunk-D72R4A35.mjs → chunk-4TWB5MNW.mjs} +2 -2
  116. package/dist/esm/chunk-4TWB5MNW.mjs.map +1 -0
  117. package/dist/esm/chunk-555I4YHP.mjs +2 -0
  118. package/dist/esm/{chunk-UAEODDZS.mjs.map → chunk-555I4YHP.mjs.map} +1 -1
  119. package/dist/esm/{chunk-XLLHYNH7.mjs → chunk-5QOSTSIW.mjs} +2 -2
  120. package/dist/esm/chunk-5QOSTSIW.mjs.map +1 -0
  121. package/dist/esm/chunk-6FLHGOKP.mjs +2 -0
  122. package/dist/esm/chunk-6FLHGOKP.mjs.map +1 -0
  123. package/dist/esm/{chunk-TVIQLBVA.mjs → chunk-6HWNCKNB.mjs} +2 -2
  124. package/dist/esm/chunk-6HWNCKNB.mjs.map +1 -0
  125. package/dist/esm/{chunk-LG7RJQ57.mjs → chunk-6Q2O5G3J.mjs} +1 -1
  126. package/dist/esm/chunk-6Q2O5G3J.mjs.map +1 -0
  127. package/dist/esm/{chunk-E6O72G24.mjs → chunk-75NUNLHW.mjs} +2 -2
  128. package/dist/esm/chunk-75NUNLHW.mjs.map +1 -0
  129. package/dist/esm/{chunk-Z34TLNCN.mjs → chunk-7E46CYWE.mjs} +2 -2
  130. package/dist/esm/chunk-7E46CYWE.mjs.map +1 -0
  131. package/dist/esm/{chunk-MHRQHVM3.mjs → chunk-7KCZAAYE.mjs} +2 -2
  132. package/dist/esm/chunk-7KCZAAYE.mjs.map +1 -0
  133. package/dist/esm/{chunk-44GYWUSH.mjs → chunk-7XS45O6M.mjs} +1 -1
  134. package/dist/esm/chunk-7XS45O6M.mjs.map +1 -0
  135. package/dist/esm/{chunk-E37YRKWK.mjs → chunk-AGBA3Y7A.mjs} +2 -2
  136. package/dist/esm/chunk-AGBA3Y7A.mjs.map +1 -0
  137. package/dist/esm/{chunk-CHPQXBMJ.mjs → chunk-AOPAQHIZ.mjs} +2 -2
  138. package/dist/esm/chunk-AOPAQHIZ.mjs.map +1 -0
  139. package/dist/esm/chunk-AQXQWUX7.mjs +2 -0
  140. package/dist/esm/chunk-AQXQWUX7.mjs.map +1 -0
  141. package/dist/esm/chunk-BFAYEGUQ.mjs +2 -0
  142. package/dist/esm/chunk-BFAYEGUQ.mjs.map +1 -0
  143. package/dist/esm/chunk-CB3FVCPQ.mjs +2 -0
  144. package/dist/esm/chunk-CB3FVCPQ.mjs.map +1 -0
  145. package/dist/esm/{chunk-BYZKUWCV.mjs → chunk-CEP6EADF.mjs} +2 -2
  146. package/dist/esm/chunk-CEP6EADF.mjs.map +1 -0
  147. package/dist/esm/chunk-DIEICWUV.mjs +2 -0
  148. package/dist/esm/chunk-DIEICWUV.mjs.map +1 -0
  149. package/dist/esm/{chunk-XD4E5FEG.mjs → chunk-EML77GV4.mjs} +2 -2
  150. package/dist/esm/chunk-EML77GV4.mjs.map +1 -0
  151. package/dist/esm/{chunk-OGHATIRT.mjs → chunk-EVE6S5RH.mjs} +2 -2
  152. package/dist/esm/chunk-EVE6S5RH.mjs.map +1 -0
  153. package/dist/esm/{chunk-DWPMDONI.mjs → chunk-FR4O6HNW.mjs} +2 -2
  154. package/dist/esm/chunk-FR4O6HNW.mjs.map +1 -0
  155. package/dist/esm/{chunk-OJL36Q4H.mjs → chunk-FVQ2GQNB.mjs} +2 -2
  156. package/dist/esm/chunk-FVQ2GQNB.mjs.map +1 -0
  157. package/dist/esm/{chunk-E65E4RJE.mjs → chunk-FYT6RPSK.mjs} +2 -2
  158. package/dist/esm/chunk-FYT6RPSK.mjs.map +1 -0
  159. package/dist/esm/{chunk-FRG5RXIG.mjs → chunk-GJZ3SSXU.mjs} +2 -2
  160. package/dist/esm/chunk-GJZ3SSXU.mjs.map +1 -0
  161. package/dist/esm/{chunk-SRPI2FFA.mjs → chunk-GMKKHGXK.mjs} +1 -1
  162. package/dist/esm/chunk-GMKKHGXK.mjs.map +1 -0
  163. package/dist/esm/chunk-GPZRGLU2.mjs +2 -0
  164. package/dist/esm/chunk-GPZRGLU2.mjs.map +1 -0
  165. package/dist/esm/{chunk-TDGQGILY.mjs → chunk-GQABU3RQ.mjs} +1 -1
  166. package/dist/esm/chunk-GQABU3RQ.mjs.map +1 -0
  167. package/dist/esm/{chunk-AH44UPM4.mjs → chunk-HBIDHQ2M.mjs} +1 -1
  168. package/dist/esm/chunk-HBIDHQ2M.mjs.map +1 -0
  169. package/dist/esm/{chunk-JVVK4K6H.mjs → chunk-HQOWHNKR.mjs} +2 -2
  170. package/dist/esm/chunk-HQOWHNKR.mjs.map +1 -0
  171. package/dist/esm/{chunk-6EMN3BOV.mjs → chunk-I2NMCLNW.mjs} +1 -1
  172. package/dist/esm/chunk-I2NMCLNW.mjs.map +1 -0
  173. package/dist/esm/chunk-IBLZ6MZU.mjs +2 -0
  174. package/dist/esm/chunk-IBLZ6MZU.mjs.map +1 -0
  175. package/dist/esm/{chunk-5GD2TVJW.mjs → chunk-IBYXIO7Q.mjs} +2 -2
  176. package/dist/esm/chunk-IBYXIO7Q.mjs.map +1 -0
  177. package/dist/esm/{chunk-EXP5STXZ.mjs → chunk-J245N3XF.mjs} +1 -1
  178. package/dist/esm/chunk-J245N3XF.mjs.map +1 -0
  179. package/dist/esm/{chunk-SYTI5QO7.mjs → chunk-J24ZBP6F.mjs} +2 -2
  180. package/dist/esm/chunk-J24ZBP6F.mjs.map +1 -0
  181. package/dist/esm/{chunk-UO5WQIIP.mjs → chunk-JCDHXZTA.mjs} +2 -2
  182. package/dist/esm/chunk-JCDHXZTA.mjs.map +1 -0
  183. package/dist/esm/{chunk-ZGOO4E6O.mjs → chunk-JDFS6SHT.mjs} +2 -2
  184. package/dist/esm/chunk-JDFS6SHT.mjs.map +1 -0
  185. package/dist/esm/{chunk-MS4MRLGA.mjs → chunk-JGNMNCQB.mjs} +2 -2
  186. package/dist/esm/chunk-JGNMNCQB.mjs.map +1 -0
  187. package/dist/esm/{chunk-G7NFBUOF.mjs → chunk-JP2VLTME.mjs} +2 -2
  188. package/dist/esm/chunk-JP2VLTME.mjs.map +1 -0
  189. package/dist/esm/{chunk-FVA2OPG4.mjs → chunk-KDMSOCZY.mjs} +1 -1
  190. package/dist/esm/{chunk-BCUSI3N6.mjs → chunk-KFNDDPOW.mjs} +2 -2
  191. package/dist/esm/chunk-KFNDDPOW.mjs.map +1 -0
  192. package/dist/esm/{chunk-EHANMHHZ.mjs → chunk-KIP6IQMK.mjs} +2 -2
  193. package/dist/esm/chunk-KIP6IQMK.mjs.map +1 -0
  194. package/dist/esm/chunk-KIW54KWR.mjs +2 -0
  195. package/dist/esm/{chunk-ZF3BOH6A.mjs → chunk-KJBQFBVO.mjs} +2 -2
  196. package/dist/esm/chunk-KJBQFBVO.mjs.map +1 -0
  197. package/dist/esm/{chunk-QPP6BX53.mjs → chunk-KM6UXNC7.mjs} +2 -2
  198. package/dist/esm/chunk-KM6UXNC7.mjs.map +1 -0
  199. package/dist/esm/{chunk-VNTZZ7AM.mjs → chunk-KP5ASFWM.mjs} +2 -2
  200. package/dist/esm/chunk-KP5ASFWM.mjs.map +1 -0
  201. package/dist/esm/{chunk-PKXEB7XP.mjs → chunk-KRVLR3L4.mjs} +2 -2
  202. package/dist/esm/chunk-KRVLR3L4.mjs.map +1 -0
  203. package/dist/esm/{chunk-T4L7U65D.mjs → chunk-KUSCKTCM.mjs} +2 -2
  204. package/dist/esm/chunk-KUSCKTCM.mjs.map +1 -0
  205. package/dist/esm/{chunk-DLKFZIMC.mjs → chunk-KUWMUW73.mjs} +2 -2
  206. package/dist/esm/chunk-KUWMUW73.mjs.map +1 -0
  207. package/dist/esm/{chunk-UAL27G6B.mjs → chunk-LEKBJ2EG.mjs} +1 -1
  208. package/dist/esm/chunk-LEKBJ2EG.mjs.map +1 -0
  209. package/dist/esm/chunk-LVLCMN7X.mjs +2 -0
  210. package/dist/esm/chunk-LVLCMN7X.mjs.map +1 -0
  211. package/dist/esm/{chunk-R7FVBWBJ.mjs → chunk-M3GSPPUA.mjs} +2 -2
  212. package/dist/esm/chunk-M3GSPPUA.mjs.map +1 -0
  213. package/dist/esm/{chunk-KEYAPEAX.mjs → chunk-N47FTRYO.mjs} +1 -1
  214. package/dist/esm/chunk-N47FTRYO.mjs.map +1 -0
  215. package/dist/esm/{chunk-QIW56MUH.mjs → chunk-NODYW7DM.mjs} +2 -2
  216. package/dist/esm/chunk-NODYW7DM.mjs.map +1 -0
  217. package/dist/esm/chunk-NOFMA27U.mjs +2 -0
  218. package/dist/esm/chunk-NOFMA27U.mjs.map +1 -0
  219. package/dist/esm/{chunk-MGTUMRQW.mjs → chunk-OCVJWO3Z.mjs} +2 -2
  220. package/dist/esm/chunk-OCVJWO3Z.mjs.map +1 -0
  221. package/dist/esm/chunk-ONBFUPEC.mjs +2 -0
  222. package/dist/esm/chunk-ONBFUPEC.mjs.map +1 -0
  223. package/dist/esm/chunk-OTY3NO7Q.mjs +2 -0
  224. package/dist/esm/chunk-OTY3NO7Q.mjs.map +1 -0
  225. package/dist/esm/{chunk-YJCZU6PR.mjs → chunk-OZN3OOJV.mjs} +2 -2
  226. package/dist/esm/chunk-OZN3OOJV.mjs.map +1 -0
  227. package/dist/esm/{chunk-CKQQJXQL.mjs → chunk-OZRUYSI3.mjs} +2 -2
  228. package/dist/esm/chunk-OZRUYSI3.mjs.map +1 -0
  229. package/dist/esm/{chunk-WP7WF54Q.mjs → chunk-PCLU4KLY.mjs} +2 -2
  230. package/dist/esm/chunk-PCLU4KLY.mjs.map +1 -0
  231. package/dist/esm/{chunk-LR65XHSF.mjs → chunk-PHP47DI4.mjs} +2 -2
  232. package/dist/esm/chunk-PHP47DI4.mjs.map +1 -0
  233. package/dist/esm/chunk-PRZ7AIGA.mjs +2 -0
  234. package/dist/esm/chunk-PRZ7AIGA.mjs.map +1 -0
  235. package/dist/esm/chunk-QQIVWB6G.mjs +2 -0
  236. package/dist/esm/chunk-QQIVWB6G.mjs.map +1 -0
  237. package/dist/esm/{chunk-IV3FEGJJ.mjs → chunk-RJKLM6YJ.mjs} +2 -2
  238. package/dist/esm/chunk-RJKLM6YJ.mjs.map +1 -0
  239. package/dist/esm/{chunk-B3QK4FQY.mjs → chunk-RQPOJQIS.mjs} +2 -2
  240. package/dist/esm/chunk-RQPOJQIS.mjs.map +1 -0
  241. package/dist/esm/chunk-S4BBYLCO.mjs +2 -0
  242. package/dist/esm/chunk-S4BBYLCO.mjs.map +1 -0
  243. package/dist/esm/{chunk-WXHVXW5G.mjs → chunk-SARKEXHD.mjs} +2 -2
  244. package/dist/esm/chunk-SARKEXHD.mjs.map +1 -0
  245. package/dist/esm/chunk-SV6XYAEJ.mjs +2 -0
  246. package/dist/esm/chunk-SV6XYAEJ.mjs.map +1 -0
  247. package/dist/esm/{chunk-LYEUGID7.mjs → chunk-SYFG3I44.mjs} +2 -2
  248. package/dist/esm/chunk-SYFG3I44.mjs.map +1 -0
  249. package/dist/esm/{chunk-BJIICNRF.mjs → chunk-U2BCB2ZR.mjs} +2 -2
  250. package/dist/esm/chunk-U2BCB2ZR.mjs.map +1 -0
  251. package/dist/esm/{chunk-NTTZKATR.mjs → chunk-UDWGG7VY.mjs} +2 -2
  252. package/dist/esm/chunk-UDWGG7VY.mjs.map +1 -0
  253. package/dist/esm/{chunk-65JGB4JK.mjs → chunk-UEMSB6ON.mjs} +2 -2
  254. package/dist/esm/chunk-UEMSB6ON.mjs.map +1 -0
  255. package/dist/esm/{chunk-YFQSFUKY.mjs → chunk-UIOKQOUS.mjs} +2 -2
  256. package/dist/esm/{chunk-TJI233SP.mjs → chunk-ULIFNOYF.mjs} +2 -2
  257. package/dist/esm/chunk-ULIFNOYF.mjs.map +1 -0
  258. package/dist/esm/{chunk-ZRFOTNLQ.mjs → chunk-UQHGL4F3.mjs} +2 -2
  259. package/dist/esm/chunk-UQHGL4F3.mjs.map +1 -0
  260. package/dist/esm/{chunk-4D6EDVZW.mjs → chunk-VCSS3V44.mjs} +2 -2
  261. package/dist/esm/chunk-VCSS3V44.mjs.map +1 -0
  262. package/dist/esm/{chunk-3RBIEWVC.mjs → chunk-VDCQU3UG.mjs} +2 -2
  263. package/dist/esm/chunk-VDCQU3UG.mjs.map +1 -0
  264. package/dist/esm/{chunk-U4MIJ2SL.mjs → chunk-VLTTWTZJ.mjs} +2 -2
  265. package/dist/esm/chunk-VLTTWTZJ.mjs.map +1 -0
  266. package/dist/esm/{chunk-JKTVSNFQ.mjs → chunk-VOB4QKW3.mjs} +2 -2
  267. package/dist/esm/chunk-VOB4QKW3.mjs.map +1 -0
  268. package/dist/esm/{chunk-G7EILN6D.mjs → chunk-VQJIGBIR.mjs} +2 -2
  269. package/dist/esm/chunk-VQJIGBIR.mjs.map +1 -0
  270. package/dist/esm/{chunk-CG7SPTMT.mjs → chunk-WCA7L75D.mjs} +2 -2
  271. package/dist/esm/chunk-WCA7L75D.mjs.map +1 -0
  272. package/dist/esm/{chunk-GY6LFCB2.mjs → chunk-WNCWH4Z2.mjs} +2 -2
  273. package/dist/esm/chunk-WNCWH4Z2.mjs.map +1 -0
  274. package/dist/esm/{chunk-SS4IPKAI.mjs → chunk-WUNJA7HN.mjs} +2 -2
  275. package/dist/esm/chunk-WUNJA7HN.mjs.map +1 -0
  276. package/dist/esm/{chunk-RNTXQYJQ.mjs → chunk-XCM2PVNZ.mjs} +2 -2
  277. package/dist/esm/chunk-XCM2PVNZ.mjs.map +1 -0
  278. package/dist/esm/chunk-XOCRDV2V.mjs +2 -0
  279. package/dist/esm/chunk-XOCRDV2V.mjs.map +1 -0
  280. package/dist/esm/{chunk-7KWFE3OU.mjs → chunk-XU2II3PY.mjs} +2 -2
  281. package/dist/esm/chunk-XU2II3PY.mjs.map +1 -0
  282. package/dist/esm/{chunk-LMO74K6V.mjs → chunk-YTHUVHCC.mjs} +2 -2
  283. package/dist/esm/chunk-YTHUVHCC.mjs.map +1 -0
  284. package/dist/esm/{chunk-6HOEJLTL.mjs → chunk-ZCUT3APC.mjs} +2 -2
  285. package/dist/esm/chunk-ZCUT3APC.mjs.map +1 -0
  286. package/dist/esm/{chunk-5BUJ6N72.mjs → chunk-ZD4EQZKJ.mjs} +2 -2
  287. package/dist/esm/chunk-ZD4EQZKJ.mjs.map +1 -0
  288. package/dist/esm/{chunk-LXLISEQ4.mjs → chunk-ZINOJTLU.mjs} +2 -2
  289. package/dist/esm/chunk-ZINOJTLU.mjs.map +1 -0
  290. package/dist/esm/{chunk-MJ7K6MUZ.mjs → chunk-ZJDPELCV.mjs} +2 -2
  291. package/dist/esm/chunk-ZJDPELCV.mjs.map +1 -0
  292. package/dist/esm/{chunk-AN37GM4N.mjs → chunk-ZWJVQTDY.mjs} +2 -2
  293. package/dist/esm/chunk-ZWJVQTDY.mjs.map +1 -0
  294. package/dist/esm/cli/index.mjs +1 -1
  295. package/dist/esm/cli/localNode.d.mts +26 -10
  296. package/dist/esm/cli/localNode.mjs +1 -1
  297. package/dist/esm/cli/move.d.mts +104 -123
  298. package/dist/esm/cli/move.mjs +1 -1
  299. package/dist/esm/client/core.d.mts +21 -6
  300. package/dist/esm/client/core.mjs +1 -1
  301. package/dist/esm/client/get.d.mts +34 -6
  302. package/dist/esm/client/get.mjs +1 -1
  303. package/dist/esm/client/index.mjs +1 -1
  304. package/dist/esm/client/post.d.mts +63 -6
  305. package/dist/esm/client/post.mjs +1 -1
  306. package/dist/esm/client/types.d.mts +21 -8
  307. package/dist/esm/client/types.mjs +1 -1
  308. package/dist/esm/core/account/index.mjs +1 -1
  309. package/dist/esm/core/account/utils/address.d.mts +1 -1
  310. package/dist/esm/core/account/utils/address.mjs +1 -1
  311. package/dist/esm/core/account/utils/index.mjs +1 -1
  312. package/dist/esm/core/accountAddress.d.mts +63 -48
  313. package/dist/esm/core/accountAddress.mjs +1 -1
  314. package/dist/esm/core/authenticationKey.d.mts +1 -1
  315. package/dist/esm/core/authenticationKey.mjs +1 -1
  316. package/dist/esm/core/common.d.mts +6 -0
  317. package/dist/esm/core/common.mjs +1 -1
  318. package/dist/esm/core/crypto/ed25519.d.mts +77 -26
  319. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  320. package/dist/esm/core/crypto/ephemeral.d.mts +36 -14
  321. package/dist/esm/core/crypto/ephemeral.mjs +1 -1
  322. package/dist/esm/core/crypto/federatedKeyless.d.mts +2 -14
  323. package/dist/esm/core/crypto/federatedKeyless.mjs +1 -1
  324. package/dist/esm/core/crypto/hdKey.d.mts +9 -6
  325. package/dist/esm/core/crypto/hdKey.mjs +1 -1
  326. package/dist/esm/core/crypto/index.d.mts +1 -1
  327. package/dist/esm/core/crypto/index.mjs +1 -1
  328. package/dist/esm/core/crypto/keyless.d.mts +126 -45
  329. package/dist/esm/core/crypto/keyless.mjs +1 -1
  330. package/dist/esm/core/crypto/multiEd25519.d.mts +45 -6
  331. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  332. package/dist/esm/core/crypto/multiKey.d.mts +58 -7
  333. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  334. package/dist/esm/core/crypto/poseidon.d.mts +35 -5
  335. package/dist/esm/core/crypto/poseidon.mjs +1 -1
  336. package/dist/esm/core/crypto/privateKey.d.mts +10 -6
  337. package/dist/esm/core/crypto/proof.d.mts +2 -6
  338. package/dist/esm/core/crypto/proof.mjs +1 -1
  339. package/dist/esm/core/crypto/publicKey.d.mts +1 -1
  340. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  341. package/dist/esm/core/crypto/secp256k1.d.mts +72 -27
  342. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  343. package/dist/esm/core/crypto/signature.d.mts +5 -4
  344. package/dist/esm/core/crypto/signature.mjs +1 -1
  345. package/dist/esm/core/crypto/singleKey.d.mts +63 -5
  346. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  347. package/dist/esm/core/crypto/utils.mjs +1 -1
  348. package/dist/esm/core/hex.d.mts +27 -28
  349. package/dist/esm/core/hex.mjs +1 -1
  350. package/dist/esm/core/index.d.mts +1 -1
  351. package/dist/esm/core/index.mjs +1 -1
  352. package/dist/esm/index.d.mts +2 -2
  353. package/dist/esm/index.mjs +1 -1
  354. package/dist/esm/internal/account.d.mts +191 -12
  355. package/dist/esm/internal/account.mjs +1 -1
  356. package/dist/esm/internal/ans.d.mts +206 -14
  357. package/dist/esm/internal/ans.mjs +1 -1
  358. package/dist/esm/internal/coin.d.mts +13 -1
  359. package/dist/esm/internal/coin.mjs +1 -1
  360. package/dist/esm/internal/digitalAsset.d.mts +330 -2
  361. package/dist/esm/internal/digitalAsset.mjs +1 -1
  362. package/dist/esm/internal/event.d.mts +39 -0
  363. package/dist/esm/internal/event.mjs +1 -1
  364. package/dist/esm/internal/faucet.d.mts +14 -0
  365. package/dist/esm/internal/faucet.mjs +1 -1
  366. package/dist/esm/internal/fungibleAsset.d.mts +48 -2
  367. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  368. package/dist/esm/internal/general.d.mts +46 -0
  369. package/dist/esm/internal/general.mjs +1 -1
  370. package/dist/esm/internal/keyless.d.mts +38 -2
  371. package/dist/esm/internal/keyless.mjs +1 -1
  372. package/dist/esm/internal/object.d.mts +21 -0
  373. package/dist/esm/internal/object.mjs +1 -1
  374. package/dist/esm/internal/staking.d.mts +26 -0
  375. package/dist/esm/internal/staking.mjs +1 -1
  376. package/dist/esm/internal/table.d.mts +33 -1
  377. package/dist/esm/internal/table.mjs +1 -1
  378. package/dist/esm/internal/transaction.d.mts +107 -5
  379. package/dist/esm/internal/transaction.mjs +1 -1
  380. package/dist/esm/internal/transactionSubmission.d.mts +72 -29
  381. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  382. package/dist/esm/internal/view.d.mts +1 -1
  383. package/dist/esm/internal/view.mjs +1 -1
  384. package/dist/esm/publicKey-_tPa99ea.d.mts +151 -0
  385. package/dist/esm/transactions/authenticator/account.d.mts +66 -17
  386. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  387. package/dist/esm/transactions/authenticator/index.d.mts +1 -1
  388. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  389. package/dist/esm/transactions/authenticator/transaction.d.mts +53 -20
  390. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  391. package/dist/esm/transactions/index.d.mts +1 -1
  392. package/dist/esm/transactions/index.mjs +1 -1
  393. package/dist/esm/transactions/instances/chainId.d.mts +20 -1
  394. package/dist/esm/transactions/instances/chainId.mjs +1 -1
  395. package/dist/esm/transactions/instances/identifier.d.mts +21 -3
  396. package/dist/esm/transactions/instances/identifier.mjs +1 -1
  397. package/dist/esm/transactions/instances/index.d.mts +1 -1
  398. package/dist/esm/transactions/instances/index.mjs +1 -1
  399. package/dist/esm/transactions/instances/moduleId.d.mts +22 -8
  400. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  401. package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +24 -8
  402. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  403. package/dist/esm/transactions/instances/rawTransaction.d.mts +31 -4
  404. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  405. package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +25 -3
  406. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  407. package/dist/esm/transactions/instances/signedTransaction.d.mts +29 -7
  408. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  409. package/dist/esm/transactions/instances/simpleTransaction.d.mts +23 -8
  410. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  411. package/dist/esm/transactions/instances/transactionArgument.d.mts +23 -0
  412. package/dist/esm/transactions/instances/transactionPayload.d.mts +72 -26
  413. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  414. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +37 -11
  415. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  416. package/dist/esm/transactions/management/asyncQueue.d.mts +22 -19
  417. package/dist/esm/transactions/management/asyncQueue.mjs +1 -1
  418. package/dist/esm/transactions/management/index.d.mts +2 -2
  419. package/dist/esm/transactions/management/index.mjs +1 -1
  420. package/dist/esm/transactions/management/transactionWorker.d.mts +67 -36
  421. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  422. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +74 -4
  423. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  424. package/dist/esm/transactions/transactionBuilder/index.d.mts +1 -1
  425. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  426. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +45 -23
  427. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  428. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +20 -15
  429. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
  430. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +101 -30
  431. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  432. package/dist/esm/transactions/typeTag/index.d.mts +244 -3
  433. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  434. package/dist/esm/transactions/typeTag/parser.d.mts +31 -2
  435. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  436. package/dist/esm/transactions/types.d.mts +82 -34
  437. package/dist/esm/types/generated/queries.mjs +1 -1
  438. package/dist/esm/types/generated/types.mjs +1 -1
  439. package/dist/esm/types/index.d.mts +320 -59
  440. package/dist/esm/types/index.mjs +1 -1
  441. package/dist/esm/types/indexer.d.mts +65 -2
  442. package/dist/esm/types/keyless.d.mts +18 -0
  443. package/dist/esm/utils/apiEndpoints.d.mts +3 -0
  444. package/dist/esm/utils/apiEndpoints.mjs +1 -1
  445. package/dist/esm/utils/const.d.mts +2 -4
  446. package/dist/esm/utils/const.mjs +1 -1
  447. package/dist/esm/utils/helpers.d.mts +25 -10
  448. package/dist/esm/utils/helpers.mjs +1 -1
  449. package/dist/esm/utils/index.mjs +1 -1
  450. package/dist/esm/utils/memoize.d.mts +12 -10
  451. package/dist/esm/utils/memoize.mjs +1 -1
  452. package/dist/esm/utils/normalizeBundle.d.mts +11 -5
  453. package/dist/esm/utils/normalizeBundle.mjs +1 -1
  454. package/dist/esm/version.d.mts +1 -1
  455. package/dist/esm/version.mjs +1 -1
  456. package/package.json +3 -2
  457. package/src/account/AbstractKeylessAccount.ts +4 -3
  458. package/src/account/Account.ts +88 -54
  459. package/src/account/Ed25519Account.ts +56 -21
  460. package/src/account/EphemeralKeyPair.ts +50 -15
  461. package/src/account/FederatedKeylessAccount.ts +1 -1
  462. package/src/account/KeylessAccount.ts +37 -1
  463. package/src/account/MultiKeyAccount.ts +56 -35
  464. package/src/account/SingleKeyAccount.ts +60 -28
  465. package/src/api/account.ts +443 -159
  466. package/src/api/ans.ts +367 -120
  467. package/src/api/aptos.ts +38 -5
  468. package/src/api/aptosConfig.ts +102 -14
  469. package/src/api/coin.ts +49 -12
  470. package/src/api/digitalAsset.ts +707 -296
  471. package/src/api/event.ts +128 -25
  472. package/src/api/faucet.ts +44 -7
  473. package/src/api/fungibleAsset.ts +149 -46
  474. package/src/api/general.ts +168 -52
  475. package/src/api/keyless.ts +117 -21
  476. package/src/api/object.ts +49 -5
  477. package/src/api/staking.ts +84 -15
  478. package/src/api/table.ts +117 -37
  479. package/src/api/transaction.ts +438 -107
  480. package/src/api/transactionSubmission/build.ts +98 -12
  481. package/src/api/transactionSubmission/helpers.ts +79 -0
  482. package/src/api/transactionSubmission/management.ts +110 -10
  483. package/src/api/transactionSubmission/sign.ts +96 -2
  484. package/src/api/transactionSubmission/simulate.ts +139 -14
  485. package/src/api/transactionSubmission/submit.ts +103 -12
  486. package/src/api/utils.ts +26 -3
  487. package/src/bcs/deserializer.ts +82 -32
  488. package/src/bcs/serializable/entryFunctionBytes.ts +27 -6
  489. package/src/bcs/serializable/fixedBytes.ts +55 -25
  490. package/src/bcs/serializable/movePrimitives.ts +91 -0
  491. package/src/bcs/serializable/moveStructs.ts +123 -35
  492. package/src/bcs/serializer.ts +131 -84
  493. package/src/cli/localNode.ts +46 -17
  494. package/src/cli/move.ts +119 -136
  495. package/src/client/core.ts +22 -7
  496. package/src/client/get.ts +34 -6
  497. package/src/client/post.ts +63 -6
  498. package/src/client/types.ts +40 -13
  499. package/src/core/account/utils/address.ts +1 -1
  500. package/src/core/accountAddress.ts +63 -50
  501. package/src/core/authenticationKey.ts +47 -20
  502. package/src/core/common.ts +6 -0
  503. package/src/core/crypto/ed25519.ts +76 -25
  504. package/src/core/crypto/ephemeral.ts +37 -21
  505. package/src/core/crypto/federatedKeyless.ts +1 -20
  506. package/src/core/crypto/hdKey.ts +10 -7
  507. package/src/core/crypto/keyless.ts +140 -63
  508. package/src/core/crypto/multiEd25519.ts +44 -5
  509. package/src/core/crypto/multiKey.ts +66 -19
  510. package/src/core/crypto/poseidon.ts +72 -5
  511. package/src/core/crypto/privateKey.ts +9 -5
  512. package/src/core/crypto/proof.ts +3 -12
  513. package/src/core/crypto/publicKey.ts +15 -5
  514. package/src/core/crypto/secp256k1.ts +76 -26
  515. package/src/core/crypto/signature.ts +7 -4
  516. package/src/core/crypto/singleKey.ts +62 -5
  517. package/src/core/hex.ts +27 -28
  518. package/src/internal/account.ts +248 -12
  519. package/src/internal/ans.ts +219 -15
  520. package/src/internal/coin.ts +12 -0
  521. package/src/internal/digitalAsset.ts +344 -3
  522. package/src/internal/event.ts +51 -0
  523. package/src/internal/faucet.ts +14 -0
  524. package/src/internal/fungibleAsset.ts +46 -0
  525. package/src/internal/general.ts +46 -0
  526. package/src/internal/keyless.ts +37 -1
  527. package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +56 -0
  528. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
  529. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
  530. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
  531. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
  532. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
  533. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
  534. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
  535. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
  536. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
  537. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
  538. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
  539. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
  540. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
  541. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
  542. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
  543. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
  544. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
  545. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
  546. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
  547. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
  548. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
  549. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
  550. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
  551. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
  552. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
  553. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
  554. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
  555. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
  556. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
  557. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
  558. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
  559. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
  560. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
  561. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
  562. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
  563. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
  564. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
  565. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
  566. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
  567. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
  568. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
  569. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
  570. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
  571. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
  572. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
  573. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
  574. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
  575. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
  576. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
  577. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
  578. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
  579. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
  580. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
  581. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
  582. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
  583. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
  584. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
  585. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
  586. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
  587. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
  588. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
  589. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
  590. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
  591. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
  592. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
  593. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
  594. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
  595. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
  596. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
  597. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
  598. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
  599. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
  600. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
  601. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
  602. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
  603. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
  604. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
  605. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
  606. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
  607. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
  608. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
  609. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
  610. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
  611. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
  612. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
  613. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
  614. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
  615. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
  616. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
  617. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
  618. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
  619. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
  620. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
  621. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
  622. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
  623. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
  624. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
  625. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
  626. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
  627. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
  628. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
  629. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
  630. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
  631. package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
  632. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
  633. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
  634. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
  635. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
  636. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
  637. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
  638. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
  639. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
  640. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
  641. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
  642. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
  643. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
  644. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
  645. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
  646. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
  647. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
  648. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
  649. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
  650. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
  651. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
  652. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
  653. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
  654. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
  655. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
  656. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
  657. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
  658. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
  659. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
  660. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
  661. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
  662. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
  663. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
  664. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
  665. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
  666. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
  667. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
  668. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
  669. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
  670. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
  671. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
  672. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
  673. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
  674. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
  675. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
  676. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
  677. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
  678. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
  679. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
  680. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
  681. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
  682. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
  683. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
  684. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
  685. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
  686. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
  687. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
  688. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
  689. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
  690. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
  691. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
  692. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
  693. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
  694. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
  695. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
  696. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
  697. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
  698. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
  699. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
  700. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
  701. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
  702. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
  703. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
  704. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
  705. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
  706. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
  707. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
  708. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
  709. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
  710. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
  711. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
  712. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
  713. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
  714. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
  715. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
  716. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
  717. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
  718. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
  719. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
  720. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
  721. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
  722. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
  723. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
  724. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
  725. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
  726. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
  727. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
  728. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
  729. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
  730. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
  731. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
  732. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
  733. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
  734. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
  735. package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
  736. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +1533 -0
  737. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +48 -0
  738. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +66 -0
  739. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +280 -0
  740. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +443 -0
  741. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +204 -0
  742. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +1387 -0
  743. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +394 -0
  744. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +41 -0
  745. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +48 -0
  746. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +367 -0
  747. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +2214 -0
  748. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +101 -0
  749. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +77 -0
  750. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +21 -0
  751. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +5568 -0
  752. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +228 -0
  753. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +121 -0
  754. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +92 -0
  755. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +66 -0
  756. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +100 -0
  757. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +1566 -0
  758. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +176 -0
  759. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +550 -0
  760. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +23 -0
  761. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +68 -0
  762. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +148 -0
  763. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +817 -0
  764. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +312 -0
  765. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +205 -0
  766. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +2477 -0
  767. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +1073 -0
  768. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +147 -0
  769. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +295 -0
  770. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +405 -0
  771. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +574 -0
  772. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +57 -0
  773. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +153 -0
  774. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +49 -0
  775. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +237 -0
  776. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +132 -0
  777. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +69 -0
  778. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +267 -0
  779. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +3286 -0
  780. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +686 -0
  781. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +1618 -0
  782. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +228 -0
  783. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +90 -0
  784. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +622 -0
  785. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +82 -0
  786. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +88 -0
  787. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +262 -0
  788. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +457 -0
  789. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +501 -0
  790. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +16 -0
  791. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +42 -0
  792. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +115 -0
  793. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +2183 -0
  794. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +1279 -0
  795. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +57 -0
  796. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +253 -0
  797. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +469 -0
  798. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +985 -0
  799. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +802 -0
  800. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +855 -0
  801. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +193 -0
  802. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +173 -0
  803. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +45 -0
  804. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +351 -0
  805. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +278 -0
  806. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +262 -0
  807. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +447 -0
  808. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +91 -0
  809. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +381 -0
  810. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +336 -0
  811. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +139 -0
  812. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +142 -0
  813. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +482 -0
  814. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +571 -0
  815. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +270 -0
  816. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +1310 -0
  817. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +253 -0
  818. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +234 -0
  819. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +158 -0
  820. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +114 -0
  821. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +319 -0
  822. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +769 -0
  823. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +766 -0
  824. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +148 -0
  825. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +152 -0
  826. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +141 -0
  827. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +351 -0
  828. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +46 -0
  829. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +27 -0
  830. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +239 -0
  831. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +88 -0
  832. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +780 -0
  833. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +295 -0
  834. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +8 -0
  835. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +356 -0
  836. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +21 -0
  837. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +93 -0
  838. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +669 -0
  839. package/src/internal/move/jwks/build/jwk/sources/main.move +20 -0
  840. package/src/internal/object.ts +21 -0
  841. package/src/internal/queries/getTableItemsData.graphql +1 -1
  842. package/src/internal/queries/getTableItemsMetadata.graphql +1 -1
  843. package/src/internal/staking.ts +27 -1
  844. package/src/internal/table.ts +32 -0
  845. package/src/internal/transaction.ts +120 -7
  846. package/src/internal/transactionSubmission.ts +86 -30
  847. package/src/transactions/authenticator/account.ts +65 -16
  848. package/src/transactions/authenticator/transaction.ts +52 -19
  849. package/src/transactions/instances/chainId.ts +20 -1
  850. package/src/transactions/instances/identifier.ts +21 -3
  851. package/src/transactions/instances/moduleId.ts +22 -8
  852. package/src/transactions/instances/multiAgentTransaction.ts +26 -10
  853. package/src/transactions/instances/rawTransaction.ts +31 -4
  854. package/src/transactions/instances/rotationProofChallenge.ts +24 -2
  855. package/src/transactions/instances/signedTransaction.ts +28 -6
  856. package/src/transactions/instances/simpleTransaction.ts +26 -11
  857. package/src/transactions/instances/transactionArgument.ts +26 -0
  858. package/src/transactions/instances/transactionPayload.ts +73 -26
  859. package/src/transactions/management/accountSequenceNumber.ts +38 -11
  860. package/src/transactions/management/asyncQueue.ts +22 -19
  861. package/src/transactions/management/transactionWorker.ts +66 -40
  862. package/src/transactions/transactionBuilder/helpers.ts +130 -3
  863. package/src/transactions/transactionBuilder/remoteAbi.ts +71 -30
  864. package/src/transactions/transactionBuilder/signingMessage.ts +19 -14
  865. package/src/transactions/transactionBuilder/transactionBuilder.ts +153 -40
  866. package/src/transactions/typeTag/index.ts +264 -3
  867. package/src/transactions/typeTag/parser.ts +54 -20
  868. package/src/transactions/types.ts +81 -33
  869. package/src/types/index.ts +338 -61
  870. package/src/types/indexer.ts +82 -2
  871. package/src/types/keyless.ts +21 -0
  872. package/src/utils/apiEndpoints.ts +6 -3
  873. package/src/utils/const.ts +2 -4
  874. package/src/utils/helpers.ts +25 -10
  875. package/src/utils/memoize.ts +12 -10
  876. package/src/utils/normalizeBundle.ts +11 -5
  877. package/src/version.ts +1 -1
  878. package/dist/common/chunk-HBPH2AD3.js.map +0 -1
  879. package/dist/esm/Ed25519Account-B1VMJOY2.d.mts +0 -361
  880. package/dist/esm/chunk-33DMJ7SF.mjs.map +0 -1
  881. package/dist/esm/chunk-3RBIEWVC.mjs.map +0 -1
  882. package/dist/esm/chunk-44GYWUSH.mjs.map +0 -1
  883. package/dist/esm/chunk-4BMEOXWL.mjs +0 -2
  884. package/dist/esm/chunk-4BMEOXWL.mjs.map +0 -1
  885. package/dist/esm/chunk-4D6EDVZW.mjs.map +0 -1
  886. package/dist/esm/chunk-5BUJ6N72.mjs.map +0 -1
  887. package/dist/esm/chunk-5GD2TVJW.mjs.map +0 -1
  888. package/dist/esm/chunk-65JGB4JK.mjs.map +0 -1
  889. package/dist/esm/chunk-6EMN3BOV.mjs.map +0 -1
  890. package/dist/esm/chunk-6HOEJLTL.mjs.map +0 -1
  891. package/dist/esm/chunk-6QGVRNV6.mjs +0 -2
  892. package/dist/esm/chunk-6QGVRNV6.mjs.map +0 -1
  893. package/dist/esm/chunk-6ZRARME6.mjs.map +0 -1
  894. package/dist/esm/chunk-7KWFE3OU.mjs.map +0 -1
  895. package/dist/esm/chunk-7YXNZTCS.mjs +0 -2
  896. package/dist/esm/chunk-7YXNZTCS.mjs.map +0 -1
  897. package/dist/esm/chunk-AH44UPM4.mjs.map +0 -1
  898. package/dist/esm/chunk-AN37GM4N.mjs.map +0 -1
  899. package/dist/esm/chunk-B3QK4FQY.mjs.map +0 -1
  900. package/dist/esm/chunk-B5NYEWNM.mjs +0 -2
  901. package/dist/esm/chunk-B5NYEWNM.mjs.map +0 -1
  902. package/dist/esm/chunk-BCUSI3N6.mjs.map +0 -1
  903. package/dist/esm/chunk-BF4ZE37Q.mjs +0 -2
  904. package/dist/esm/chunk-BF4ZE37Q.mjs.map +0 -1
  905. package/dist/esm/chunk-BJIICNRF.mjs.map +0 -1
  906. package/dist/esm/chunk-BSUYPXRD.mjs +0 -2
  907. package/dist/esm/chunk-BSUYPXRD.mjs.map +0 -1
  908. package/dist/esm/chunk-BYZKUWCV.mjs.map +0 -1
  909. package/dist/esm/chunk-CCMHWJ3Q.mjs +0 -2
  910. package/dist/esm/chunk-CCMHWJ3Q.mjs.map +0 -1
  911. package/dist/esm/chunk-CG7SPTMT.mjs.map +0 -1
  912. package/dist/esm/chunk-CHPQXBMJ.mjs.map +0 -1
  913. package/dist/esm/chunk-CKQQJXQL.mjs.map +0 -1
  914. package/dist/esm/chunk-D72R4A35.mjs.map +0 -1
  915. package/dist/esm/chunk-DLKFZIMC.mjs.map +0 -1
  916. package/dist/esm/chunk-DWPMDONI.mjs.map +0 -1
  917. package/dist/esm/chunk-E37YRKWK.mjs.map +0 -1
  918. package/dist/esm/chunk-E65E4RJE.mjs.map +0 -1
  919. package/dist/esm/chunk-E6O72G24.mjs.map +0 -1
  920. package/dist/esm/chunk-EDI5UVKO.mjs.map +0 -1
  921. package/dist/esm/chunk-EHANMHHZ.mjs.map +0 -1
  922. package/dist/esm/chunk-EXCR5VKV.mjs.map +0 -1
  923. package/dist/esm/chunk-EXP5STXZ.mjs.map +0 -1
  924. package/dist/esm/chunk-FRG5RXIG.mjs.map +0 -1
  925. package/dist/esm/chunk-G7EILN6D.mjs.map +0 -1
  926. package/dist/esm/chunk-G7NFBUOF.mjs.map +0 -1
  927. package/dist/esm/chunk-GY6LFCB2.mjs.map +0 -1
  928. package/dist/esm/chunk-HAT5S2XX.mjs +0 -2
  929. package/dist/esm/chunk-HAT5S2XX.mjs.map +0 -1
  930. package/dist/esm/chunk-HPZ2S4FE.mjs +0 -2
  931. package/dist/esm/chunk-HPZ2S4FE.mjs.map +0 -1
  932. package/dist/esm/chunk-HQUUESWW.mjs.map +0 -1
  933. package/dist/esm/chunk-IAPQS7TH.mjs +0 -2
  934. package/dist/esm/chunk-IAPQS7TH.mjs.map +0 -1
  935. package/dist/esm/chunk-IMGLHDIA.mjs +0 -2
  936. package/dist/esm/chunk-IMGLHDIA.mjs.map +0 -1
  937. package/dist/esm/chunk-IV3FEGJJ.mjs.map +0 -1
  938. package/dist/esm/chunk-JKTVSNFQ.mjs.map +0 -1
  939. package/dist/esm/chunk-JVVK4K6H.mjs.map +0 -1
  940. package/dist/esm/chunk-KA6FZNWP.mjs +0 -2
  941. package/dist/esm/chunk-KA6FZNWP.mjs.map +0 -1
  942. package/dist/esm/chunk-KEYAPEAX.mjs.map +0 -1
  943. package/dist/esm/chunk-LG7RJQ57.mjs.map +0 -1
  944. package/dist/esm/chunk-LMO74K6V.mjs.map +0 -1
  945. package/dist/esm/chunk-LR65XHSF.mjs.map +0 -1
  946. package/dist/esm/chunk-LXLISEQ4.mjs.map +0 -1
  947. package/dist/esm/chunk-LYEUGID7.mjs.map +0 -1
  948. package/dist/esm/chunk-M2QV232A.mjs +0 -2
  949. package/dist/esm/chunk-M2QV232A.mjs.map +0 -1
  950. package/dist/esm/chunk-MGTUMRQW.mjs.map +0 -1
  951. package/dist/esm/chunk-MHRQHVM3.mjs.map +0 -1
  952. package/dist/esm/chunk-MJ7K6MUZ.mjs.map +0 -1
  953. package/dist/esm/chunk-MS4MRLGA.mjs.map +0 -1
  954. package/dist/esm/chunk-NFLXGKHO.mjs +0 -2
  955. package/dist/esm/chunk-NFLXGKHO.mjs.map +0 -1
  956. package/dist/esm/chunk-NTTZKATR.mjs.map +0 -1
  957. package/dist/esm/chunk-OGHATIRT.mjs.map +0 -1
  958. package/dist/esm/chunk-OJL36Q4H.mjs.map +0 -1
  959. package/dist/esm/chunk-PKXEB7XP.mjs.map +0 -1
  960. package/dist/esm/chunk-Q4XR6QOZ.mjs +0 -2
  961. package/dist/esm/chunk-QB4XTGDH.mjs.map +0 -1
  962. package/dist/esm/chunk-QDIKOQRK.mjs +0 -2
  963. package/dist/esm/chunk-QDIKOQRK.mjs.map +0 -1
  964. package/dist/esm/chunk-QIW56MUH.mjs.map +0 -1
  965. package/dist/esm/chunk-QPP6BX53.mjs.map +0 -1
  966. package/dist/esm/chunk-R7FVBWBJ.mjs.map +0 -1
  967. package/dist/esm/chunk-RG572OEH.mjs.map +0 -1
  968. package/dist/esm/chunk-RNTXQYJQ.mjs.map +0 -1
  969. package/dist/esm/chunk-RQNQ5TUX.mjs +0 -2
  970. package/dist/esm/chunk-RQNQ5TUX.mjs.map +0 -1
  971. package/dist/esm/chunk-SRPI2FFA.mjs.map +0 -1
  972. package/dist/esm/chunk-SS4IPKAI.mjs.map +0 -1
  973. package/dist/esm/chunk-SYTI5QO7.mjs.map +0 -1
  974. package/dist/esm/chunk-T4L7U65D.mjs.map +0 -1
  975. package/dist/esm/chunk-TDGQGILY.mjs.map +0 -1
  976. package/dist/esm/chunk-TJI233SP.mjs.map +0 -1
  977. package/dist/esm/chunk-TPCG5W2G.mjs.map +0 -1
  978. package/dist/esm/chunk-TVIQLBVA.mjs.map +0 -1
  979. package/dist/esm/chunk-U4MIJ2SL.mjs.map +0 -1
  980. package/dist/esm/chunk-U6Z4FNB7.mjs.map +0 -1
  981. package/dist/esm/chunk-UAEODDZS.mjs +0 -2
  982. package/dist/esm/chunk-UAL27G6B.mjs.map +0 -1
  983. package/dist/esm/chunk-UH7ADIR7.mjs +0 -2
  984. package/dist/esm/chunk-UH7ADIR7.mjs.map +0 -1
  985. package/dist/esm/chunk-UO5WQIIP.mjs.map +0 -1
  986. package/dist/esm/chunk-VNTZZ7AM.mjs.map +0 -1
  987. package/dist/esm/chunk-WFXL7LIC.mjs +0 -2
  988. package/dist/esm/chunk-WFXL7LIC.mjs.map +0 -1
  989. package/dist/esm/chunk-WP7WF54Q.mjs.map +0 -1
  990. package/dist/esm/chunk-WXHVXW5G.mjs.map +0 -1
  991. package/dist/esm/chunk-XD4E5FEG.mjs.map +0 -1
  992. package/dist/esm/chunk-XLLHYNH7.mjs.map +0 -1
  993. package/dist/esm/chunk-YJCZU6PR.mjs.map +0 -1
  994. package/dist/esm/chunk-YRZQQJCW.mjs +0 -2
  995. package/dist/esm/chunk-YRZQQJCW.mjs.map +0 -1
  996. package/dist/esm/chunk-Z34TLNCN.mjs.map +0 -1
  997. package/dist/esm/chunk-ZF3BOH6A.mjs.map +0 -1
  998. package/dist/esm/chunk-ZGOO4E6O.mjs.map +0 -1
  999. package/dist/esm/chunk-ZRFOTNLQ.mjs.map +0 -1
  1000. package/dist/esm/publicKey-B3XRNhHO.d.mts +0 -113
  1001. /package/dist/esm/{chunk-FVA2OPG4.mjs.map → chunk-KDMSOCZY.mjs.map} +0 -0
  1002. /package/dist/esm/{chunk-Q4XR6QOZ.mjs.map → chunk-KIW54KWR.mjs.map} +0 -0
  1003. /package/dist/esm/{chunk-YFQSFUKY.mjs.map → chunk-UIOKQOUS.mjs.map} +0 -0
@@ -0,0 +1,769 @@
1
+ /// A smart table implementation based on linear hashing. (https://en.wikipedia.org/wiki/Linear_hashing)
2
+ /// Compare to Table, it uses less storage slots but has higher chance of collision, a trade-off between space and time.
3
+ /// Compare to other dynamic hashing implementation, linear hashing splits one bucket a time instead of doubling buckets
4
+ /// when expanding to avoid unexpected gas cost.
5
+ /// SmartTable uses faster hash function SipHash instead of cryptographically secure hash functions like sha3-256 since
6
+ /// it tolerates collisions.
7
+ module aptos_std::smart_table {
8
+ use std::error;
9
+ use std::vector;
10
+ use aptos_std::aptos_hash::sip_hash_from_value;
11
+ use aptos_std::table_with_length::{Self, TableWithLength};
12
+ use aptos_std::type_info::size_of_val;
13
+ use aptos_std::math64::max;
14
+ use aptos_std::simple_map::SimpleMap;
15
+ use aptos_std::simple_map;
16
+ use std::option::{Self, Option};
17
+
18
+ /// Key not found in the smart table
19
+ const ENOT_FOUND: u64 = 1;
20
+ /// Smart table capacity must be larger than 0
21
+ const EZERO_CAPACITY: u64 = 2;
22
+ /// Cannot destroy non-empty hashmap
23
+ const ENOT_EMPTY: u64 = 3;
24
+ /// Key already exists
25
+ const EALREADY_EXIST: u64 = 4;
26
+ /// Invalid load threshold percent to trigger split.
27
+ const EINVALID_LOAD_THRESHOLD_PERCENT: u64 = 5;
28
+ /// Invalid target bucket size.
29
+ const EINVALID_TARGET_BUCKET_SIZE: u64 = 6;
30
+ /// Invalid target bucket size.
31
+ const EEXCEED_MAX_BUCKET_SIZE: u64 = 7;
32
+ /// Invalid bucket index.
33
+ const EINVALID_BUCKET_INDEX: u64 = 8;
34
+ /// Invalid vector index within a bucket.
35
+ const EINVALID_VECTOR_INDEX: u64 = 9;
36
+
37
+ /// SmartTable entry contains both the key and value.
38
+ struct Entry<K, V> has copy, drop, store {
39
+ hash: u64,
40
+ key: K,
41
+ value: V,
42
+ }
43
+
44
+ struct SmartTable<K, V> has store {
45
+ buckets: TableWithLength<u64, vector<Entry<K, V>>>,
46
+ num_buckets: u64,
47
+ // number of bits to represent num_buckets
48
+ level: u8,
49
+ // total number of items
50
+ size: u64,
51
+ // Split will be triggered when target load threshold in percentage is reached when adding a new entry.
52
+ split_load_threshold: u8,
53
+ // The target size of each bucket, which is NOT enforced so oversized buckets can exist.
54
+ target_bucket_size: u64,
55
+ }
56
+
57
+ /// Create an empty SmartTable with default configurations.
58
+ public fun new<K: copy + drop + store, V: store>(): SmartTable<K, V> {
59
+ new_with_config<K, V>(0, 0, 0)
60
+ }
61
+
62
+ /// Create an empty SmartTable with customized configurations.
63
+ /// `num_initial_buckets`: The number of buckets on initialization. 0 means using default value.
64
+ /// `split_load_threshold`: The percent number which once reached, split will be triggered. 0 means using default
65
+ /// value.
66
+ /// `target_bucket_size`: The target number of entries per bucket, though not guaranteed. 0 means not set and will
67
+ /// dynamically assgined by the contract code.
68
+ public fun new_with_config<K: copy + drop + store, V: store>(
69
+ num_initial_buckets: u64,
70
+ split_load_threshold: u8,
71
+ target_bucket_size: u64
72
+ ): SmartTable<K, V> {
73
+ assert!(split_load_threshold <= 100, error::invalid_argument(EINVALID_LOAD_THRESHOLD_PERCENT));
74
+ let buckets = table_with_length::new();
75
+ table_with_length::add(&mut buckets, 0, vector::empty());
76
+ let table = SmartTable {
77
+ buckets,
78
+ num_buckets: 1,
79
+ level: 0,
80
+ size: 0,
81
+ // The default split load threshold is 75%.
82
+ split_load_threshold: if (split_load_threshold == 0) { 75 } else { split_load_threshold },
83
+ target_bucket_size,
84
+ };
85
+ // The default number of initial buckets is 2.
86
+ if (num_initial_buckets == 0) {
87
+ num_initial_buckets = 2;
88
+ };
89
+ while (num_initial_buckets > 1) {
90
+ num_initial_buckets = num_initial_buckets - 1;
91
+ split_one_bucket(&mut table);
92
+ };
93
+ table
94
+ }
95
+
96
+ /// Destroy empty table.
97
+ /// Aborts if it's not empty.
98
+ public fun destroy_empty<K, V>(self: SmartTable<K, V>) {
99
+ assert!(self.size == 0, error::invalid_argument(ENOT_EMPTY));
100
+ let i = 0;
101
+ while (i < self.num_buckets) {
102
+ vector::destroy_empty(table_with_length::remove(&mut self.buckets, i));
103
+ i = i + 1;
104
+ };
105
+ let SmartTable { buckets, num_buckets: _, level: _, size: _, split_load_threshold: _, target_bucket_size: _ } = self;
106
+ table_with_length::destroy_empty(buckets);
107
+ }
108
+
109
+ /// Destroy a table completely when V has `drop`.
110
+ public fun destroy<K: drop, V: drop>(self: SmartTable<K, V>) {
111
+ clear(&mut self);
112
+ destroy_empty(self);
113
+ }
114
+
115
+ /// Clear a table completely when T has `drop`.
116
+ public fun clear<K: drop, V: drop>(self: &mut SmartTable<K, V>) {
117
+ *table_with_length::borrow_mut(&mut self.buckets, 0) = vector::empty();
118
+ let i = 1;
119
+ while (i < self.num_buckets) {
120
+ table_with_length::remove(&mut self.buckets, i);
121
+ i = i + 1;
122
+ };
123
+ self.num_buckets = 1;
124
+ self.level = 0;
125
+ self.size = 0;
126
+ }
127
+
128
+ /// Add (key, value) pair in the hash map, it may grow one bucket if current load factor exceeds the threshold.
129
+ /// Note it may not split the actual overflowed bucket. Instead, it was determined by `num_buckets` and `level`.
130
+ /// For standard linear hash algorithm, it is stored as a variable but `num_buckets` here could be leveraged.
131
+ /// Abort if `key` already exists.
132
+ /// Note: This method may occasionally cost much more gas when triggering bucket split.
133
+ public fun add<K, V>(self: &mut SmartTable<K, V>, key: K, value: V) {
134
+ let hash = sip_hash_from_value(&key);
135
+ let index = bucket_index(self.level, self.num_buckets, hash);
136
+ let bucket = table_with_length::borrow_mut(&mut self.buckets, index);
137
+ // We set a per-bucket limit here with a upper bound (10000) that nobody should normally reach.
138
+ assert!(vector::length(bucket) <= 10000, error::permission_denied(EEXCEED_MAX_BUCKET_SIZE));
139
+ assert!(vector::all(bucket, | entry | {
140
+ let e: &Entry<K, V> = entry;
141
+ &e.key != &key
142
+ }), error::invalid_argument(EALREADY_EXIST));
143
+ let e = Entry { hash, key, value };
144
+ if (self.target_bucket_size == 0) {
145
+ let estimated_entry_size = max(size_of_val(&e), 1);
146
+ self.target_bucket_size = max(1024 /* free_write_quota */ / estimated_entry_size, 1);
147
+ };
148
+ vector::push_back(bucket, e);
149
+ self.size = self.size + 1;
150
+
151
+ if (load_factor(self) >= (self.split_load_threshold as u64)) {
152
+ split_one_bucket(self);
153
+ }
154
+ }
155
+
156
+ /// Add multiple key/value pairs to the smart table. The keys must not already exist.
157
+ public fun add_all<K, V>(self: &mut SmartTable<K, V>, keys: vector<K>, values: vector<V>) {
158
+ vector::zip(keys, values, |key, value| { add(self, key, value); });
159
+ }
160
+
161
+ inline fun unzip_entries<K: copy, V: copy>(entries: &vector<Entry<K, V>>): (vector<K>, vector<V>) {
162
+ let keys = vector[];
163
+ let values = vector[];
164
+ vector::for_each_ref(entries, |e|{
165
+ let entry: &Entry<K, V> = e;
166
+ vector::push_back(&mut keys, entry.key);
167
+ vector::push_back(&mut values, entry.value);
168
+ });
169
+ (keys, values)
170
+ }
171
+
172
+ /// Convert a smart table to a simple_map, which is supposed to be called mostly by view functions to get an atomic
173
+ /// view of the whole table.
174
+ /// Disclaimer: This function may be costly as the smart table may be huge in size. Use it at your own discretion.
175
+ public fun to_simple_map<K: store + copy + drop, V: store + copy>(
176
+ self: &SmartTable<K, V>,
177
+ ): SimpleMap<K, V> {
178
+ let i = 0;
179
+ let res = simple_map::new<K, V>();
180
+ while (i < self.num_buckets) {
181
+ let (keys, values) = unzip_entries(table_with_length::borrow(&self.buckets, i));
182
+ simple_map::add_all(&mut res, keys, values);
183
+ i = i + 1;
184
+ };
185
+ res
186
+ }
187
+
188
+ /// Get all keys in a smart table.
189
+ ///
190
+ /// For a large enough smart table this function will fail due to execution gas limits, and
191
+ /// `keys_paginated` should be used instead.
192
+ public fun keys<K: store + copy + drop, V: store + copy>(
193
+ self: &SmartTable<K, V>
194
+ ): vector<K> {
195
+ let (keys, _, _) = keys_paginated(self, 0, 0, length(self));
196
+ keys
197
+ }
198
+
199
+ /// Get keys from a smart table, paginated.
200
+ ///
201
+ /// This function can be used to paginate all keys in a large smart table outside of runtime,
202
+ /// e.g. through chained view function calls. The maximum `num_keys_to_get` before hitting gas
203
+ /// limits depends on the data types in the smart table.
204
+ ///
205
+ /// When starting pagination, pass `starting_bucket_index` = `starting_vector_index` = 0.
206
+ ///
207
+ /// The function will then return a vector of keys, an optional bucket index, and an optional
208
+ /// vector index. The unpacked return indices can then be used as inputs to another pagination
209
+ /// call, which will return a vector of more keys. This process can be repeated until the
210
+ /// returned bucket index and vector index value options are both none, which means that
211
+ /// pagination is complete. For an example, see `test_keys()`.
212
+ public fun keys_paginated<K: store + copy + drop, V: store + copy>(
213
+ self: &SmartTable<K, V>,
214
+ starting_bucket_index: u64,
215
+ starting_vector_index: u64,
216
+ num_keys_to_get: u64,
217
+ ): (
218
+ vector<K>,
219
+ Option<u64>,
220
+ Option<u64>,
221
+ ) {
222
+ let num_buckets = self.num_buckets;
223
+ let buckets_ref = &self.buckets;
224
+ assert!(starting_bucket_index < num_buckets, EINVALID_BUCKET_INDEX);
225
+ let bucket_ref = table_with_length::borrow(buckets_ref, starting_bucket_index);
226
+ let bucket_length = vector::length(bucket_ref);
227
+ assert!(
228
+ // In the general case, starting vector index should never be equal to bucket length
229
+ // because then iteration will attempt to borrow a vector element that is out of bounds.
230
+ // However starting vector index can be equal to bucket length in the special case of
231
+ // starting iteration at the beginning of an empty bucket since buckets are never
232
+ // destroyed, only emptied.
233
+ starting_vector_index < bucket_length || starting_vector_index == 0,
234
+ EINVALID_VECTOR_INDEX
235
+ );
236
+ let keys = vector[];
237
+ if (num_keys_to_get == 0) return
238
+ (keys, option::some(starting_bucket_index), option::some(starting_vector_index));
239
+ for (bucket_index in starting_bucket_index..num_buckets) {
240
+ bucket_ref = table_with_length::borrow(buckets_ref, bucket_index);
241
+ bucket_length = vector::length(bucket_ref);
242
+ for (vector_index in starting_vector_index..bucket_length) {
243
+ vector::push_back(&mut keys, vector::borrow(bucket_ref, vector_index).key);
244
+ num_keys_to_get = num_keys_to_get - 1;
245
+ if (num_keys_to_get == 0) {
246
+ vector_index = vector_index + 1;
247
+ return if (vector_index == bucket_length) {
248
+ bucket_index = bucket_index + 1;
249
+ if (bucket_index < num_buckets) {
250
+ (keys, option::some(bucket_index), option::some(0))
251
+ } else {
252
+ (keys, option::none(), option::none())
253
+ }
254
+ } else {
255
+ (keys, option::some(bucket_index), option::some(vector_index))
256
+ }
257
+ };
258
+ };
259
+ starting_vector_index = 0; // Start parsing the next bucket at vector index 0.
260
+ };
261
+ (keys, option::none(), option::none())
262
+ }
263
+
264
+ /// Decide which is the next bucket to split and split it into two with the elements inside the bucket.
265
+ fun split_one_bucket<K, V>(self: &mut SmartTable<K, V>) {
266
+ let new_bucket_index = self.num_buckets;
267
+ // the next bucket to split is num_bucket without the most significant bit.
268
+ let to_split = new_bucket_index ^ (1 << self.level);
269
+ self.num_buckets = new_bucket_index + 1;
270
+ // if the whole level is splitted once, bump the level.
271
+ if (to_split + 1 == 1 << self.level) {
272
+ self.level = self.level + 1;
273
+ };
274
+ let old_bucket = table_with_length::borrow_mut(&mut self.buckets, to_split);
275
+ // partition the bucket, [0..p) stays in old bucket, [p..len) goes to new bucket
276
+ let p = vector::partition(old_bucket, |e| {
277
+ let entry: &Entry<K, V> = e; // Explicit type to satisfy compiler
278
+ bucket_index(self.level, self.num_buckets, entry.hash) != new_bucket_index
279
+ });
280
+ let new_bucket = vector::trim_reverse(old_bucket, p);
281
+ table_with_length::add(&mut self.buckets, new_bucket_index, new_bucket);
282
+ }
283
+
284
+ /// Return the expected bucket index to find the hash.
285
+ /// Basically, it use different base `1 << level` vs `1 << (level + 1)` in modulo operation based on the target
286
+ /// bucket index compared to the index of the next bucket to split.
287
+ fun bucket_index(level: u8, num_buckets: u64, hash: u64): u64 {
288
+ let index = hash % (1 << (level + 1));
289
+ if (index < num_buckets) {
290
+ // in existing bucket
291
+ index
292
+ } else {
293
+ // in unsplitted bucket
294
+ index % (1 << level)
295
+ }
296
+ }
297
+
298
+ /// Acquire an immutable reference to the value which `key` maps to.
299
+ /// Aborts if there is no entry for `key`.
300
+ public fun borrow<K: drop, V>(self: &SmartTable<K, V>, key: K): &V {
301
+ let index = bucket_index(self.level, self.num_buckets, sip_hash_from_value(&key));
302
+ let bucket = table_with_length::borrow(&self.buckets, index);
303
+ let i = 0;
304
+ let len = vector::length(bucket);
305
+ while (i < len) {
306
+ let entry = vector::borrow(bucket, i);
307
+ if (&entry.key == &key) {
308
+ return &entry.value
309
+ };
310
+ i = i + 1;
311
+ };
312
+ abort error::invalid_argument(ENOT_FOUND)
313
+ }
314
+
315
+ /// Acquire an immutable reference to the value which `key` maps to.
316
+ /// Returns specified default value if there is no entry for `key`.
317
+ public fun borrow_with_default<K: copy + drop, V>(self: &SmartTable<K, V>, key: K, default: &V): &V {
318
+ if (!contains(self, copy key)) {
319
+ default
320
+ } else {
321
+ borrow(self, copy key)
322
+ }
323
+ }
324
+
325
+ /// Acquire a mutable reference to the value which `key` maps to.
326
+ /// Aborts if there is no entry for `key`.
327
+ public fun borrow_mut<K: drop, V>(self: &mut SmartTable<K, V>, key: K): &mut V {
328
+ let index = bucket_index(self.level, self.num_buckets, sip_hash_from_value(&key));
329
+ let bucket = table_with_length::borrow_mut(&mut self.buckets, index);
330
+ let i = 0;
331
+ let len = vector::length(bucket);
332
+ while (i < len) {
333
+ let entry = vector::borrow_mut(bucket, i);
334
+ if (&entry.key == &key) {
335
+ return &mut entry.value
336
+ };
337
+ i = i + 1;
338
+ };
339
+ abort error::invalid_argument(ENOT_FOUND)
340
+ }
341
+
342
+ /// Acquire a mutable reference to the value which `key` maps to.
343
+ /// Insert the pair (`key`, `default`) first if there is no entry for `key`.
344
+ public fun borrow_mut_with_default<K: copy + drop, V: drop>(
345
+ self: &mut SmartTable<K, V>,
346
+ key: K,
347
+ default: V
348
+ ): &mut V {
349
+ if (!contains(self, copy key)) {
350
+ add(self, copy key, default)
351
+ };
352
+ borrow_mut(self, key)
353
+ }
354
+
355
+ /// Returns true iff `table` contains an entry for `key`.
356
+ public fun contains<K: drop, V>(self: &SmartTable<K, V>, key: K): bool {
357
+ let hash = sip_hash_from_value(&key);
358
+ let index = bucket_index(self.level, self.num_buckets, hash);
359
+ let bucket = table_with_length::borrow(&self.buckets, index);
360
+ vector::any(bucket, | entry | {
361
+ let e: &Entry<K, V> = entry;
362
+ e.hash == hash && &e.key == &key
363
+ })
364
+ }
365
+
366
+ /// Remove from `table` and return the value which `key` maps to.
367
+ /// Aborts if there is no entry for `key`.
368
+ public fun remove<K: copy + drop, V>(self: &mut SmartTable<K, V>, key: K): V {
369
+ let index = bucket_index(self.level, self.num_buckets, sip_hash_from_value(&key));
370
+ let bucket = table_with_length::borrow_mut(&mut self.buckets, index);
371
+ let i = 0;
372
+ let len = vector::length(bucket);
373
+ while (i < len) {
374
+ let entry = vector::borrow(bucket, i);
375
+ if (&entry.key == &key) {
376
+ let Entry { hash: _, key: _, value } = vector::swap_remove(bucket, i);
377
+ self.size = self.size - 1;
378
+ return value
379
+ };
380
+ i = i + 1;
381
+ };
382
+ abort error::invalid_argument(ENOT_FOUND)
383
+ }
384
+
385
+ /// Insert the pair (`key`, `value`) if there is no entry for `key`.
386
+ /// update the value of the entry for `key` to `value` otherwise
387
+ public fun upsert<K: copy + drop, V: drop>(self: &mut SmartTable<K, V>, key: K, value: V) {
388
+ if (!contains(self, copy key)) {
389
+ add(self, copy key, value)
390
+ } else {
391
+ let ref = borrow_mut(self, key);
392
+ *ref = value;
393
+ };
394
+ }
395
+
396
+ /// Returns the length of the table, i.e. the number of entries.
397
+ public fun length<K, V>(self: &SmartTable<K, V>): u64 {
398
+ self.size
399
+ }
400
+
401
+ /// Return the load factor of the hashtable.
402
+ public fun load_factor<K, V>(self: &SmartTable<K, V>): u64 {
403
+ self.size * 100 / self.num_buckets / self.target_bucket_size
404
+ }
405
+
406
+ /// Update `split_load_threshold`.
407
+ public fun update_split_load_threshold<K, V>(self: &mut SmartTable<K, V>, split_load_threshold: u8) {
408
+ assert!(
409
+ split_load_threshold <= 100 && split_load_threshold > 0,
410
+ error::invalid_argument(EINVALID_LOAD_THRESHOLD_PERCENT)
411
+ );
412
+ self.split_load_threshold = split_load_threshold;
413
+ }
414
+
415
+ /// Update `target_bucket_size`.
416
+ public fun update_target_bucket_size<K, V>(self: &mut SmartTable<K, V>, target_bucket_size: u64) {
417
+ assert!(target_bucket_size > 0, error::invalid_argument(EINVALID_TARGET_BUCKET_SIZE));
418
+ self.target_bucket_size = target_bucket_size;
419
+ }
420
+
421
+ /// Apply the function to a reference of each key-value pair in the table.
422
+ public inline fun for_each_ref<K, V>(self: &SmartTable<K, V>, f: |&K, &V|) {
423
+ let i = 0;
424
+ while (i < aptos_std::smart_table::num_buckets(self)) {
425
+ vector::for_each_ref(
426
+ aptos_std::table_with_length::borrow(aptos_std::smart_table::borrow_buckets(self), i),
427
+ |elem| {
428
+ let (key, value) = aptos_std::smart_table::borrow_kv(elem);
429
+ f(key, value)
430
+ }
431
+ );
432
+ i = i + 1;
433
+ }
434
+ }
435
+
436
+ /// Apply the function to a mutable reference of each key-value pair in the table.
437
+ public inline fun for_each_mut<K, V>(self: &mut SmartTable<K, V>, f: |&K, &mut V|) {
438
+ let i = 0;
439
+ while (i < aptos_std::smart_table::num_buckets(self)) {
440
+ vector::for_each_mut(
441
+ table_with_length::borrow_mut(aptos_std::smart_table::borrow_buckets_mut(self), i),
442
+ |elem| {
443
+ let (key, value) = aptos_std::smart_table::borrow_kv_mut(elem);
444
+ f(key, value)
445
+ }
446
+ );
447
+ i = i + 1;
448
+ };
449
+ }
450
+
451
+ /// Map the function over the references of key-value pairs in the table without modifying it.
452
+ public inline fun map_ref<K: copy + drop + store, V1, V2: store>(
453
+ self: &SmartTable<K, V1>,
454
+ f: |&V1|V2
455
+ ): SmartTable<K, V2> {
456
+ let new_table = new<K, V2>();
457
+ for_each_ref(self, |key, value| add(&mut new_table, *key, f(value)));
458
+ new_table
459
+ }
460
+
461
+ /// Return true if any key-value pair in the table satisfies the predicate.
462
+ public inline fun any<K, V>(
463
+ self: &SmartTable<K, V>,
464
+ p: |&K, &V|bool
465
+ ): bool {
466
+ let found = false;
467
+ let i = 0;
468
+ while (i < aptos_std::smart_table::num_buckets(self)) {
469
+ found = vector::any(table_with_length::borrow(aptos_std::smart_table::borrow_buckets(self), i), |elem| {
470
+ let (key, value) = aptos_std::smart_table::borrow_kv(elem);
471
+ p(key, value)
472
+ });
473
+ if (found) break;
474
+ i = i + 1;
475
+ };
476
+ found
477
+ }
478
+
479
+ // Helper functions to circumvent the scope issue of inline functions.
480
+ public fun borrow_kv<K, V>(self: &Entry<K, V>): (&K, &V) {
481
+ (&self.key, &self.value)
482
+ }
483
+
484
+ public fun borrow_kv_mut<K, V>(self: &mut Entry<K, V>): (&mut K, &mut V) {
485
+ (&mut self.key, &mut self.value)
486
+ }
487
+
488
+ public fun num_buckets<K, V>(self: &SmartTable<K, V>): u64 {
489
+ self.num_buckets
490
+ }
491
+
492
+ public fun borrow_buckets<K, V>(self: &SmartTable<K, V>): &TableWithLength<u64, vector<Entry<K, V>>> {
493
+ &self.buckets
494
+ }
495
+
496
+ public fun borrow_buckets_mut<K, V>(self: &mut SmartTable<K, V>): &mut TableWithLength<u64, vector<Entry<K, V>>> {
497
+ &mut self.buckets
498
+ }
499
+
500
+
501
+ #[test]
502
+ fun smart_table_test() {
503
+ let table = new();
504
+ let i = 0;
505
+ while (i < 200) {
506
+ add(&mut table, i, i);
507
+ i = i + 1;
508
+ };
509
+ assert!(length(&table) == 200, 0);
510
+ i = 0;
511
+ while (i < 200) {
512
+ *borrow_mut(&mut table, i) = i * 2;
513
+ assert!(*borrow(&table, i) == i * 2, 0);
514
+ i = i + 1;
515
+ };
516
+ i = 0;
517
+ assert!(table.num_buckets > 5, table.num_buckets);
518
+ while (i < 200) {
519
+ assert!(contains(&table, i), 0);
520
+ assert!(remove(&mut table, i) == i * 2, 0);
521
+ i = i + 1;
522
+ };
523
+ destroy_empty(table);
524
+ }
525
+
526
+ #[test]
527
+ fun smart_table_split_test() {
528
+ let table: SmartTable<u64, u64> = new_with_config(1, 100, 1);
529
+ let i = 1;
530
+ let level = 0;
531
+ while (i <= 256) {
532
+ assert!(table.num_buckets == i, 0);
533
+ assert!(table.level == level, i);
534
+ add(&mut table, i, i);
535
+ i = i + 1;
536
+ if (i == 1 << (level + 1)) {
537
+ level = level + 1;
538
+ };
539
+ };
540
+ let i = 1;
541
+ while (i <= 256) {
542
+ assert!(*borrow(&table, i) == i, 0);
543
+ i = i + 1;
544
+ };
545
+ assert!(table.num_buckets == 257, table.num_buckets);
546
+ assert!(load_factor(&table) == 99, 0);
547
+ assert!(length(&table) == 256, 0);
548
+ destroy(table);
549
+ }
550
+
551
+ #[test]
552
+ fun smart_table_update_configs() {
553
+ let table = new();
554
+ let i = 0;
555
+ while (i < 200) {
556
+ add(&mut table, i, i);
557
+ i = i + 1;
558
+ };
559
+ assert!(length(&table) == 200, 0);
560
+ update_target_bucket_size(&mut table, 10);
561
+ update_split_load_threshold(&mut table, 50);
562
+ while (i < 400) {
563
+ add(&mut table, i, i);
564
+ i = i + 1;
565
+ };
566
+ assert!(length(&table) == 400, 0);
567
+ i = 0;
568
+ while (i < 400) {
569
+ assert!(contains(&table, i), 0);
570
+ assert!(remove(&mut table, i) == i, 0);
571
+ i = i + 1;
572
+ };
573
+ destroy_empty(table);
574
+ }
575
+
576
+ #[test]
577
+ public fun smart_table_add_all_test() {
578
+ let table: SmartTable<u64, u64> = new_with_config(1, 100, 2);
579
+ assert!(length(&table) == 0, 0);
580
+ add_all(&mut table, vector[1, 2, 3, 4, 5, 6, 7], vector[1, 2, 3, 4, 5, 6, 7]);
581
+ assert!(length(&table) == 7, 1);
582
+ let i = 1;
583
+ while (i < 8) {
584
+ assert!(*borrow(&table, i) == i, 0);
585
+ i = i + 1;
586
+ };
587
+ i = i - 1;
588
+ while (i > 0) {
589
+ remove(&mut table, i);
590
+ i = i - 1;
591
+ };
592
+ destroy_empty(table);
593
+ }
594
+
595
+ #[test]
596
+ public fun smart_table_to_simple_map_test() {
597
+ let table = new();
598
+ let i = 0;
599
+ while (i < 200) {
600
+ add(&mut table, i, i);
601
+ i = i + 1;
602
+ };
603
+ let map = to_simple_map(&table);
604
+ assert!(simple_map::length(&map) == 200, 0);
605
+ destroy(table);
606
+ }
607
+
608
+ #[test]
609
+ public fun smart_table_clear_test() {
610
+ let table = new();
611
+ let i = 0u64;
612
+ while (i < 200) {
613
+ add(&mut table, i, i);
614
+ i = i + 1;
615
+ };
616
+ clear(&mut table);
617
+ let i = 0;
618
+ while (i < 200) {
619
+ add(&mut table, i, i);
620
+ i = i + 1;
621
+ };
622
+ assert!(table.size == 200, 0);
623
+ destroy(table);
624
+ }
625
+
626
+ #[test]
627
+ fun test_keys() {
628
+ let i = 0;
629
+ let table = new();
630
+ let expected_keys = vector[];
631
+ let keys = keys(&table);
632
+ assert!(vector::is_empty(&keys), 0);
633
+ let starting_bucket_index = 0;
634
+ let starting_vector_index = 0;
635
+ let (keys, starting_bucket_index_r, starting_vector_index_r) = keys_paginated(
636
+ &table,
637
+ starting_bucket_index,
638
+ starting_vector_index,
639
+ 0
640
+ );
641
+ assert!(starting_bucket_index_r == option::some(starting_bucket_index), 0);
642
+ assert!(starting_vector_index_r == option::some(starting_vector_index), 0);
643
+ assert!(vector::is_empty(&keys), 0);
644
+ while (i < 100) {
645
+ add(&mut table, i, 0);
646
+ vector::push_back(&mut expected_keys, i);
647
+ i = i + 1;
648
+ };
649
+ let keys = keys(&table);
650
+ assert!(vector::length(&keys) == vector::length(&expected_keys), 0);
651
+ vector::for_each_ref(&keys, |e_ref| {
652
+ assert!(vector::contains(&expected_keys, e_ref), 0);
653
+ });
654
+ let keys = vector[];
655
+ let starting_bucket_index = 0;
656
+ let starting_vector_index = 0;
657
+ let returned_keys = vector[];
658
+ vector::length(&returned_keys); // To eliminate erroneous compiler "unused" warning
659
+ loop {
660
+ (returned_keys, starting_bucket_index_r, starting_vector_index_r) = keys_paginated(
661
+ &table,
662
+ starting_bucket_index,
663
+ starting_vector_index,
664
+ 15
665
+ );
666
+ vector::append(&mut keys, returned_keys);
667
+ if (
668
+ starting_bucket_index_r == option::none() ||
669
+ starting_vector_index_r == option::none()
670
+ ) break;
671
+ starting_bucket_index = option::destroy_some(starting_bucket_index_r);
672
+ starting_vector_index = option::destroy_some(starting_vector_index_r);
673
+ };
674
+ assert!(vector::length(&keys) == vector::length(&expected_keys), 0);
675
+ vector::for_each_ref(&keys, |e_ref| {
676
+ assert!(vector::contains(&expected_keys, e_ref), 0);
677
+ });
678
+ destroy(table);
679
+ table = new();
680
+ add(&mut table, 1, 0);
681
+ add(&mut table, 2, 0);
682
+ (keys, starting_bucket_index_r, starting_vector_index_r) = keys_paginated(&table, 0, 0, 1);
683
+ (returned_keys, starting_bucket_index_r, starting_vector_index_r) = keys_paginated(
684
+ &table,
685
+ option::destroy_some(starting_bucket_index_r),
686
+ option::destroy_some(starting_vector_index_r),
687
+ 1,
688
+ );
689
+ vector::append(&mut keys, returned_keys);
690
+ assert!(keys == vector[1, 2] || keys == vector[2, 1], 0);
691
+ assert!(starting_bucket_index_r == option::none(), 0);
692
+ assert!(starting_vector_index_r == option::none(), 0);
693
+ (keys, starting_bucket_index_r, starting_vector_index_r) = keys_paginated(&table, 0, 0, 0);
694
+ assert!(keys == vector[], 0);
695
+ assert!(starting_bucket_index_r == option::some(0), 0);
696
+ assert!(starting_vector_index_r == option::some(0), 0);
697
+ destroy(table);
698
+ }
699
+
700
+ #[test]
701
+ fun test_keys_corner_cases() {
702
+ let table = new();
703
+ let expected_keys = vector[];
704
+ for (i in 0..100) {
705
+ add(&mut table, i, 0);
706
+ vector::push_back(&mut expected_keys, i);
707
+ };
708
+ let (keys, starting_bucket_index_r, starting_vector_index_r) =
709
+ keys_paginated(&table, 0, 0, 5); // Both indices 0.
710
+ assert!(vector::length(&keys) == 5, 0);
711
+ vector::for_each_ref(&keys, |e_ref| {
712
+ assert!(vector::contains(&expected_keys, e_ref), 0);
713
+ });
714
+ let starting_bucket_index = option::destroy_some(starting_bucket_index_r);
715
+ let starting_vector_index = option::destroy_some(starting_vector_index_r);
716
+ (keys, starting_bucket_index_r, starting_vector_index_r) = keys_paginated(
717
+ &table,
718
+ starting_bucket_index,
719
+ starting_vector_index,
720
+ 0, // Number of keys 0.
721
+ );
722
+ assert!(keys == vector[], 0);
723
+ assert!(starting_bucket_index_r == option::some(starting_bucket_index), 0);
724
+ assert!(starting_vector_index_r == option::some(starting_vector_index), 0);
725
+ (keys, starting_bucket_index_r, starting_vector_index_r) = keys_paginated(
726
+ &table,
727
+ starting_bucket_index,
728
+ 0, // Vector index 0.
729
+ 50,
730
+ );
731
+ assert!(vector::length(&keys) == 50, 0);
732
+ vector::for_each_ref(&keys, |e_ref| {
733
+ assert!(vector::contains(&expected_keys, e_ref), 0);
734
+ });
735
+ let starting_bucket_index = option::destroy_some(starting_bucket_index_r);
736
+ assert!(starting_bucket_index > 0, 0);
737
+ assert!(option::is_some(&starting_vector_index_r), 0);
738
+ (keys, starting_bucket_index_r, starting_vector_index_r) = keys_paginated(
739
+ &table,
740
+ 0, // Bucket index 0.
741
+ 1,
742
+ 50,
743
+ );
744
+ assert!(vector::length(&keys) == 50, 0);
745
+ vector::for_each_ref(&keys, |e_ref| {
746
+ assert!(vector::contains(&expected_keys, e_ref), 0);
747
+ });
748
+ assert!(option::is_some(&starting_bucket_index_r), 0);
749
+ assert!(option::is_some(&starting_vector_index_r), 0);
750
+ destroy(table);
751
+ }
752
+
753
+ #[test, expected_failure(abort_code = EINVALID_BUCKET_INDEX)]
754
+ fun test_keys_invalid_bucket_index() {
755
+ let table = new();
756
+ add(&mut table, 1, 0);
757
+ let num_buckets = table.num_buckets;
758
+ keys_paginated(&table, num_buckets + 1, 0, 1);
759
+ destroy(table);
760
+ }
761
+
762
+ #[test, expected_failure(abort_code = EINVALID_VECTOR_INDEX)]
763
+ fun test_keys_invalid_vector_index() {
764
+ let table = new();
765
+ add(&mut table, 1, 0);
766
+ keys_paginated(&table, 0, 1, 1);
767
+ destroy(table);
768
+ }
769
+ }