@aptos-labs/ts-sdk 1.35.0-zeta.2 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (866) hide show
  1. package/dist/common/{accountAddress-Ce4Cv60D.d.ts → accountAddress-jrha_M3l.d.ts} +11 -99
  2. package/dist/common/chunk-PA2XFIP3.js +4 -0
  3. package/dist/common/chunk-PA2XFIP3.js.map +1 -0
  4. package/dist/common/cli/index.d.ts +1 -1
  5. package/dist/common/cli/index.js +1 -486
  6. package/dist/common/cli/index.js.map +1 -1
  7. package/dist/common/index.d.ts +54 -47
  8. package/dist/common/index.js +436 -18333
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/esm/account/AbstractKeylessAccount.mjs +1 -75
  11. package/dist/esm/account/AbstractedAccount.mjs +1 -74
  12. package/dist/esm/account/Account.mjs +1 -72
  13. package/dist/esm/account/AccountUtils.mjs +1 -78
  14. package/dist/esm/account/Ed25519Account.mjs +1 -70
  15. package/dist/esm/account/EphemeralKeyPair.mjs +1 -50
  16. package/dist/esm/account/FederatedKeylessAccount.mjs +1 -72
  17. package/dist/esm/account/KeylessAccount.mjs +1 -72
  18. package/dist/esm/account/MultiEd25519Account.mjs +1 -70
  19. package/dist/esm/account/MultiKeyAccount.mjs +1 -74
  20. package/dist/esm/account/SingleKeyAccount.mjs +1 -72
  21. package/dist/esm/account/index.mjs +1 -119
  22. package/dist/esm/account/utils.mjs +1 -54
  23. package/dist/esm/api/account/abstraction.mjs +1 -101
  24. package/dist/esm/api/account.d.mts +1 -17
  25. package/dist/esm/api/account.mjs +1 -105
  26. package/dist/esm/api/ans.mjs +1 -101
  27. package/dist/esm/api/aptos.mjs +1 -139
  28. package/dist/esm/api/aptosConfig.mjs +1 -9
  29. package/dist/esm/api/coin.d.mts +2 -2
  30. package/dist/esm/api/coin.mjs +1 -100
  31. package/dist/esm/api/digitalAsset.mjs +1 -101
  32. package/dist/esm/api/event.mjs +1 -59
  33. package/dist/esm/api/experimental.mjs +1 -85
  34. package/dist/esm/api/faucet.mjs +1 -58
  35. package/dist/esm/api/fungibleAsset.mjs +1 -101
  36. package/dist/esm/api/general.mjs +1 -85
  37. package/dist/esm/api/index.mjs +1 -143
  38. package/dist/esm/api/keyless.d.mts +1 -1
  39. package/dist/esm/api/keyless.mjs +1 -102
  40. package/dist/esm/api/object.mjs +1 -59
  41. package/dist/esm/api/staking.mjs +1 -59
  42. package/dist/esm/api/table.mjs +1 -38
  43. package/dist/esm/api/transaction.mjs +1 -110
  44. package/dist/esm/api/transactionSubmission/build.mjs +1 -99
  45. package/dist/esm/api/transactionSubmission/helpers.mjs +1 -9
  46. package/dist/esm/api/transactionSubmission/management.mjs +1 -105
  47. package/dist/esm/api/transactionSubmission/sign.mjs +1 -218
  48. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  49. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -100
  50. package/dist/esm/api/transactionSubmission/submit.mjs +1 -100
  51. package/dist/esm/api/utils.mjs +1 -36
  52. package/dist/esm/bcs/consts.mjs +1 -17
  53. package/dist/esm/bcs/deserializer.mjs +1 -10
  54. package/dist/esm/bcs/index.mjs +1 -60
  55. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -12
  56. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -11
  57. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -26
  58. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -22
  59. package/dist/esm/bcs/serializer.mjs +1 -18
  60. package/dist/esm/chunk-2N4EPY2J.mjs +2 -0
  61. package/dist/esm/{chunk-A7LYGPFL.mjs.map → chunk-2N4EPY2J.mjs.map} +1 -1
  62. package/dist/esm/chunk-2OBSQ2FK.mjs +2 -0
  63. package/dist/esm/{chunk-UK7SPHIE.mjs.map → chunk-2OBSQ2FK.mjs.map} +1 -1
  64. package/dist/esm/chunk-2P27DDVV.mjs +2 -0
  65. package/dist/esm/{chunk-6T3V5LXK.mjs.map → chunk-2P27DDVV.mjs.map} +1 -1
  66. package/dist/esm/chunk-2SAOCLIU.mjs +2 -0
  67. package/dist/esm/{chunk-YT7V6AVJ.mjs.map → chunk-2SAOCLIU.mjs.map} +1 -1
  68. package/dist/esm/chunk-2V636AYW.mjs +2 -0
  69. package/dist/esm/{chunk-3IWV2Q3K.mjs.map → chunk-2V636AYW.mjs.map} +1 -1
  70. package/dist/esm/chunk-35DKMW7Q.mjs +2 -0
  71. package/dist/esm/{chunk-GUA5YTIK.mjs.map → chunk-35DKMW7Q.mjs.map} +1 -1
  72. package/dist/esm/chunk-36H47QOE.mjs +2 -0
  73. package/dist/esm/{chunk-UGKZQUGE.mjs.map → chunk-36H47QOE.mjs.map} +1 -1
  74. package/dist/esm/chunk-3DHWWNJ3.mjs +2 -0
  75. package/dist/esm/{chunk-HL337SEM.mjs.map → chunk-3DHWWNJ3.mjs.map} +1 -1
  76. package/dist/esm/chunk-3OLFJ65O.mjs +2 -0
  77. package/dist/esm/{chunk-G4NBRMZ2.mjs.map → chunk-3OLFJ65O.mjs.map} +1 -1
  78. package/dist/esm/chunk-4KKJ36IO.mjs +2 -0
  79. package/dist/esm/{chunk-HQDHSKVS.mjs.map → chunk-4KKJ36IO.mjs.map} +1 -1
  80. package/dist/esm/chunk-4PW3JKQZ.mjs +2 -0
  81. package/dist/esm/{chunk-I5G7XFGT.mjs.map → chunk-4PW3JKQZ.mjs.map} +1 -1
  82. package/dist/esm/chunk-4QK4SKAT.mjs +2 -0
  83. package/dist/esm/{chunk-7F32C225.mjs.map → chunk-4QK4SKAT.mjs.map} +1 -1
  84. package/dist/esm/chunk-4RXKALLC.mjs +2 -0
  85. package/dist/esm/{chunk-SFLQPB72.mjs.map → chunk-4RXKALLC.mjs.map} +1 -1
  86. package/dist/esm/chunk-4SWK3JHQ.mjs +2 -0
  87. package/dist/esm/{chunk-3DAVHDK4.mjs.map → chunk-4SWK3JHQ.mjs.map} +1 -1
  88. package/dist/esm/chunk-553ZRNUL.mjs +2 -0
  89. package/dist/esm/{chunk-6SNGKTWE.mjs.map → chunk-553ZRNUL.mjs.map} +1 -1
  90. package/dist/esm/chunk-56CNRT2K.mjs +2 -0
  91. package/dist/esm/{chunk-SBB4YEPT.mjs.map → chunk-56CNRT2K.mjs.map} +1 -1
  92. package/dist/esm/chunk-5AD7ZF6G.mjs +2 -0
  93. package/dist/esm/{chunk-RCXGTN36.mjs.map → chunk-5AD7ZF6G.mjs.map} +1 -1
  94. package/dist/esm/chunk-5MVHOQKD.mjs +2 -0
  95. package/dist/esm/{chunk-T4BFWV46.mjs.map → chunk-5MVHOQKD.mjs.map} +1 -1
  96. package/dist/esm/chunk-5W5XV63W.mjs +2 -0
  97. package/dist/esm/{chunk-QYNYDQE3.mjs.map → chunk-5W5XV63W.mjs.map} +1 -1
  98. package/dist/esm/chunk-5WWU3WSU.mjs +2 -0
  99. package/dist/esm/{chunk-F4VI7BNX.mjs.map → chunk-5WWU3WSU.mjs.map} +1 -1
  100. package/dist/esm/chunk-6FQDCTMA.mjs +2 -0
  101. package/dist/esm/{chunk-2WBJAKBO.mjs.map → chunk-6FQDCTMA.mjs.map} +1 -1
  102. package/dist/esm/chunk-6IULVNLQ.mjs +2 -0
  103. package/dist/esm/{chunk-XIBOO3WF.mjs.map → chunk-6IULVNLQ.mjs.map} +1 -1
  104. package/dist/esm/chunk-6KI24ZRR.mjs +2 -0
  105. package/dist/esm/{chunk-IPUAVRGL.mjs.map → chunk-6KI24ZRR.mjs.map} +1 -1
  106. package/dist/esm/chunk-6KZT3KFZ.mjs +2 -0
  107. package/dist/esm/{chunk-FMNMYKYH.mjs.map → chunk-6KZT3KFZ.mjs.map} +1 -1
  108. package/dist/esm/chunk-6VGLRQBT.mjs +2 -0
  109. package/dist/esm/{chunk-AGKEC2IM.mjs.map → chunk-6VGLRQBT.mjs.map} +1 -1
  110. package/dist/esm/chunk-6YPM7TK2.mjs +2 -0
  111. package/dist/esm/{chunk-Y3M32DIB.mjs.map → chunk-6YPM7TK2.mjs.map} +1 -1
  112. package/dist/esm/chunk-7CRQNXR5.mjs +2 -0
  113. package/dist/esm/{chunk-YU65LNIC.mjs.map → chunk-7CRQNXR5.mjs.map} +1 -1
  114. package/dist/esm/chunk-7HC33TEX.mjs +2 -0
  115. package/dist/esm/{chunk-X4N5BN3S.mjs.map → chunk-7HC33TEX.mjs.map} +1 -1
  116. package/dist/esm/chunk-7KHKP7DY.mjs +2 -0
  117. package/dist/esm/{chunk-TL4Z4KHK.mjs.map → chunk-7KHKP7DY.mjs.map} +1 -1
  118. package/dist/esm/chunk-7OUPEQRN.mjs +2 -0
  119. package/dist/esm/{chunk-TFW6N66T.mjs.map → chunk-7OUPEQRN.mjs.map} +1 -1
  120. package/dist/esm/chunk-A3VO773Q.mjs +2 -0
  121. package/dist/esm/{chunk-KLUO6XPE.mjs.map → chunk-A3VO773Q.mjs.map} +1 -1
  122. package/dist/esm/chunk-A5L76YP7.mjs +2 -0
  123. package/dist/esm/{chunk-PT2QHUB6.mjs.map → chunk-A5L76YP7.mjs.map} +1 -1
  124. package/dist/esm/chunk-ACE3NEV6.mjs +2 -0
  125. package/dist/esm/{chunk-WXQUBQK4.mjs.map → chunk-ACE3NEV6.mjs.map} +1 -1
  126. package/dist/esm/chunk-AEGA5N2W.mjs +2 -0
  127. package/dist/esm/{chunk-QJ6CGH7N.mjs.map → chunk-AEGA5N2W.mjs.map} +1 -1
  128. package/dist/esm/chunk-AIPHJFJL.mjs +2 -0
  129. package/dist/esm/{chunk-6I37A76G.mjs.map → chunk-AIPHJFJL.mjs.map} +1 -1
  130. package/dist/esm/chunk-APGCD5FH.mjs +2 -0
  131. package/dist/esm/{chunk-UGFIWCJQ.mjs.map → chunk-APGCD5FH.mjs.map} +1 -1
  132. package/dist/esm/chunk-BMPHQ3E7.mjs +2 -0
  133. package/dist/esm/{chunk-MWXBQ6HR.mjs.map → chunk-BMPHQ3E7.mjs.map} +1 -1
  134. package/dist/esm/chunk-C3Q23D22.mjs +2 -0
  135. package/dist/esm/{chunk-F7W7KS5C.mjs.map → chunk-C3Q23D22.mjs.map} +1 -1
  136. package/dist/esm/chunk-CGTMSLVZ.mjs +2 -0
  137. package/dist/esm/{chunk-AKXCFBYF.mjs.map → chunk-CGTMSLVZ.mjs.map} +1 -1
  138. package/dist/esm/chunk-CU6HQJSE.mjs +2 -0
  139. package/dist/esm/{chunk-RQS33JAS.mjs.map → chunk-CU6HQJSE.mjs.map} +1 -1
  140. package/dist/esm/chunk-DAR3R4UP.mjs +2 -0
  141. package/dist/esm/{chunk-TDLL7QX5.mjs.map → chunk-DAR3R4UP.mjs.map} +1 -1
  142. package/dist/esm/chunk-DOVH6HPL.mjs +2 -0
  143. package/dist/esm/{chunk-THWEBWUC.mjs.map → chunk-DOVH6HPL.mjs.map} +1 -1
  144. package/dist/esm/chunk-DUJJUR7O.mjs +2 -0
  145. package/dist/esm/{chunk-JFMFZ2IL.mjs.map → chunk-DUJJUR7O.mjs.map} +1 -1
  146. package/dist/esm/chunk-EHTTY7EF.mjs +2 -0
  147. package/dist/esm/{chunk-2FTF6J7F.mjs.map → chunk-EHTTY7EF.mjs.map} +1 -1
  148. package/dist/esm/chunk-ERLDXTIY.mjs +2 -0
  149. package/dist/esm/{chunk-6ASWESA2.mjs.map → chunk-ERLDXTIY.mjs.map} +1 -1
  150. package/dist/esm/chunk-FCHN3LT7.mjs +2 -0
  151. package/dist/esm/{chunk-GCQK2S5Q.mjs.map → chunk-FCHN3LT7.mjs.map} +1 -1
  152. package/dist/esm/chunk-GJOUTA7U.mjs +2 -0
  153. package/dist/esm/{chunk-JEVGHYEP.mjs.map → chunk-GJOUTA7U.mjs.map} +1 -1
  154. package/dist/esm/chunk-GOXRBEIJ.mjs +2 -0
  155. package/dist/esm/{chunk-APM7OSLS.mjs.map → chunk-GOXRBEIJ.mjs.map} +1 -1
  156. package/dist/esm/chunk-H4YAL2IL.mjs +2 -0
  157. package/dist/esm/{chunk-R4JTQQBX.mjs.map → chunk-H4YAL2IL.mjs.map} +1 -1
  158. package/dist/esm/chunk-HHWJHOFZ.mjs +2 -0
  159. package/dist/esm/{chunk-KSK3XIGF.mjs.map → chunk-HHWJHOFZ.mjs.map} +1 -1
  160. package/dist/esm/chunk-HTP5ZVX5.mjs +2 -0
  161. package/dist/esm/{chunk-IP7GATDH.mjs.map → chunk-HTP5ZVX5.mjs.map} +1 -1
  162. package/dist/esm/chunk-HWMMVLTP.mjs +2 -0
  163. package/dist/esm/{chunk-WLTQHGIJ.mjs.map → chunk-HWMMVLTP.mjs.map} +1 -1
  164. package/dist/esm/chunk-HWNPKEOJ.mjs +2 -0
  165. package/dist/esm/chunk-HWNPKEOJ.mjs.map +1 -0
  166. package/dist/esm/chunk-IF4UU2MT.mjs +2 -0
  167. package/dist/esm/{chunk-QPT4BSAB.mjs.map → chunk-IF4UU2MT.mjs.map} +1 -1
  168. package/dist/esm/chunk-ILUFGYLO.mjs +2 -0
  169. package/dist/esm/{chunk-56UCIGTO.mjs.map → chunk-ILUFGYLO.mjs.map} +1 -1
  170. package/dist/esm/chunk-IM4O756A.mjs +2 -0
  171. package/dist/esm/{chunk-FRLS4GRM.mjs.map → chunk-IM4O756A.mjs.map} +1 -1
  172. package/dist/esm/chunk-IMTC3J2M.mjs +2 -0
  173. package/dist/esm/{chunk-LJRNGZMY.mjs.map → chunk-IMTC3J2M.mjs.map} +1 -1
  174. package/dist/esm/chunk-IMYNN4TW.mjs +2 -0
  175. package/dist/esm/{chunk-JQIRRM7G.mjs.map → chunk-IMYNN4TW.mjs.map} +1 -1
  176. package/dist/esm/chunk-JA7CXAVY.mjs +2 -0
  177. package/dist/esm/{chunk-TJDF4CXI.mjs.map → chunk-JA7CXAVY.mjs.map} +1 -1
  178. package/dist/esm/chunk-JBARRS6K.mjs +2 -0
  179. package/dist/esm/{chunk-WUM247HF.mjs.map → chunk-JBARRS6K.mjs.map} +1 -1
  180. package/dist/esm/chunk-JLZGYZBX.mjs +2 -0
  181. package/dist/esm/{chunk-XQFUKBY7.mjs.map → chunk-JLZGYZBX.mjs.map} +1 -1
  182. package/dist/esm/chunk-JNNFNYDO.mjs +2 -0
  183. package/dist/esm/{chunk-ECTX2FGD.mjs.map → chunk-JNNFNYDO.mjs.map} +1 -1
  184. package/dist/esm/chunk-JXHGJ3AA.mjs +2 -0
  185. package/dist/esm/{chunk-7WW735TU.mjs.map → chunk-JXHGJ3AA.mjs.map} +1 -1
  186. package/dist/esm/chunk-K4JUKMMY.mjs +2 -0
  187. package/dist/esm/chunk-K4JUKMMY.mjs.map +1 -0
  188. package/dist/esm/chunk-KBC4ECVP.mjs +2 -0
  189. package/dist/esm/{chunk-YK66QBML.mjs.map → chunk-KBC4ECVP.mjs.map} +1 -1
  190. package/dist/esm/chunk-KDMSOCZY.mjs +2 -0
  191. package/dist/esm/chunk-KSLLV3ZC.mjs +2 -0
  192. package/dist/esm/{chunk-OFUNBTK4.mjs.map → chunk-KSLLV3ZC.mjs.map} +1 -1
  193. package/dist/esm/chunk-LET633ZK.mjs +2 -0
  194. package/dist/esm/{chunk-DDZGHA66.mjs.map → chunk-LET633ZK.mjs.map} +1 -1
  195. package/dist/esm/chunk-LQOSHBB7.mjs +4 -0
  196. package/dist/esm/{chunk-CXLXUSCG.mjs.map → chunk-LQOSHBB7.mjs.map} +1 -1
  197. package/dist/esm/chunk-LS3IDL2N.mjs +2 -0
  198. package/dist/esm/{chunk-MYEYZ7PF.mjs.map → chunk-LS3IDL2N.mjs.map} +1 -1
  199. package/dist/esm/chunk-M2GGYCLU.mjs +2 -0
  200. package/dist/esm/{chunk-XX6C2QGI.mjs.map → chunk-M2GGYCLU.mjs.map} +1 -1
  201. package/dist/esm/chunk-MY2BEHYF.mjs +2 -0
  202. package/dist/esm/{chunk-WHSS6I7T.mjs.map → chunk-MY2BEHYF.mjs.map} +1 -1
  203. package/dist/esm/chunk-MZVVBJVV.mjs +2 -0
  204. package/dist/esm/{chunk-62LC4PPC.mjs.map → chunk-MZVVBJVV.mjs.map} +1 -1
  205. package/dist/esm/chunk-N73S2K2V.mjs +2 -0
  206. package/dist/esm/{chunk-SRXIHVZE.mjs.map → chunk-N73S2K2V.mjs.map} +1 -1
  207. package/dist/esm/chunk-NIDF2LHF.mjs +2 -0
  208. package/dist/esm/{chunk-FDMI4BUL.mjs.map → chunk-NIDF2LHF.mjs.map} +1 -1
  209. package/dist/esm/chunk-OSZWSLJA.mjs +2 -0
  210. package/dist/esm/{chunk-R45SPK6Q.mjs.map → chunk-OSZWSLJA.mjs.map} +1 -1
  211. package/dist/esm/chunk-P265EC4T.mjs +2 -0
  212. package/dist/esm/{chunk-C7EEG6SW.mjs.map → chunk-P265EC4T.mjs.map} +1 -1
  213. package/dist/esm/chunk-PDAWVDI7.mjs +2 -0
  214. package/dist/esm/{chunk-MFFBZ43D.mjs.map → chunk-PDAWVDI7.mjs.map} +1 -1
  215. package/dist/esm/chunk-PE7KT5ZB.mjs +2 -0
  216. package/dist/esm/{chunk-SPI2HO3E.mjs.map → chunk-PE7KT5ZB.mjs.map} +1 -1
  217. package/dist/esm/chunk-PICZWW35.mjs +2 -0
  218. package/dist/esm/{chunk-A33OBGVN.mjs.map → chunk-PICZWW35.mjs.map} +1 -1
  219. package/dist/esm/chunk-PWGTRRSJ.mjs +2 -0
  220. package/dist/esm/{chunk-UOHCJOXI.mjs.map → chunk-PWGTRRSJ.mjs.map} +1 -1
  221. package/dist/esm/chunk-Q3AVJUBL.mjs +2 -0
  222. package/dist/esm/{chunk-PGFEUN7K.mjs.map → chunk-Q3AVJUBL.mjs.map} +1 -1
  223. package/dist/esm/chunk-QLEZDMIK.mjs +2 -0
  224. package/dist/esm/{chunk-BMM72IIP.mjs.map → chunk-QLEZDMIK.mjs.map} +1 -1
  225. package/dist/esm/chunk-QXTQNFEQ.mjs +2 -0
  226. package/dist/esm/{chunk-ZRBUAZZD.mjs.map → chunk-QXTQNFEQ.mjs.map} +1 -1
  227. package/dist/esm/chunk-R6I6Z3AA.mjs +2 -0
  228. package/dist/esm/{chunk-HBXBODME.mjs.map → chunk-R6I6Z3AA.mjs.map} +1 -1
  229. package/dist/esm/chunk-R6QCPXQG.mjs +2 -0
  230. package/dist/esm/{chunk-SQNS4SFV.mjs.map → chunk-R6QCPXQG.mjs.map} +1 -1
  231. package/dist/esm/chunk-RIINVEZA.mjs +2 -0
  232. package/dist/esm/{chunk-Y3ENAKRC.mjs.map → chunk-RIINVEZA.mjs.map} +1 -1
  233. package/dist/esm/chunk-RJ7F4JDV.mjs +2 -0
  234. package/dist/esm/chunk-RJ7F4JDV.mjs.map +1 -0
  235. package/dist/esm/chunk-RXHER6EA.mjs +2 -0
  236. package/dist/esm/{chunk-C7T6GW5P.mjs.map → chunk-RXHER6EA.mjs.map} +1 -1
  237. package/dist/esm/chunk-SCLWOTHD.mjs +2 -0
  238. package/dist/esm/{chunk-EBFKT35C.mjs.map → chunk-SCLWOTHD.mjs.map} +1 -1
  239. package/dist/esm/chunk-SZU5Q6CF.mjs +2 -0
  240. package/dist/esm/{chunk-T573PCIR.mjs.map → chunk-SZU5Q6CF.mjs.map} +1 -1
  241. package/dist/esm/chunk-T3VLXADE.mjs +2 -0
  242. package/dist/esm/{chunk-KW64NP2F.mjs.map → chunk-T3VLXADE.mjs.map} +1 -1
  243. package/dist/esm/chunk-TJICLFR2.mjs +2 -0
  244. package/dist/esm/{chunk-G7BB6K4B.mjs.map → chunk-TJICLFR2.mjs.map} +1 -1
  245. package/dist/esm/chunk-TKXEVD7A.mjs +2 -0
  246. package/dist/esm/{chunk-QSYWLSSN.mjs.map → chunk-TKXEVD7A.mjs.map} +1 -1
  247. package/dist/esm/chunk-TTY5GFMN.mjs +2 -0
  248. package/dist/esm/{chunk-PKUXOBIV.mjs.map → chunk-TTY5GFMN.mjs.map} +1 -1
  249. package/dist/esm/chunk-U6ZD22B5.mjs +2 -0
  250. package/dist/esm/{chunk-ORCQEMJL.mjs.map → chunk-U6ZD22B5.mjs.map} +1 -1
  251. package/dist/esm/chunk-UOBDL2BZ.mjs +2 -0
  252. package/dist/esm/{chunk-3TUV6YMI.mjs.map → chunk-UOBDL2BZ.mjs.map} +1 -1
  253. package/dist/esm/chunk-UP36QQGG.mjs +4 -0
  254. package/dist/esm/chunk-UP36QQGG.mjs.map +1 -0
  255. package/dist/esm/chunk-VHNX2NUR.mjs +473 -0
  256. package/dist/esm/chunk-VHNX2NUR.mjs.map +1 -0
  257. package/dist/esm/chunk-VHY6ZATX.mjs +2 -0
  258. package/dist/esm/{chunk-BDM6FBUO.mjs.map → chunk-VHY6ZATX.mjs.map} +1 -1
  259. package/dist/esm/chunk-VIXTXBYA.mjs +2 -0
  260. package/dist/esm/{chunk-G6R77JKO.mjs.map → chunk-VIXTXBYA.mjs.map} +1 -1
  261. package/dist/esm/chunk-W4BSN6SK.mjs +2 -0
  262. package/dist/esm/{chunk-ZWCTF3NQ.mjs.map → chunk-W4BSN6SK.mjs.map} +1 -1
  263. package/dist/esm/chunk-WYV4W2IM.mjs +2 -0
  264. package/dist/esm/{chunk-D6RXVCE3.mjs.map → chunk-WYV4W2IM.mjs.map} +1 -1
  265. package/dist/esm/chunk-X5ORWYVO.mjs +7 -0
  266. package/dist/esm/{chunk-32UQAST6.mjs.map → chunk-X5ORWYVO.mjs.map} +1 -1
  267. package/dist/esm/chunk-X5UJYMJU.mjs +2 -0
  268. package/dist/esm/{chunk-5ORUQZAR.mjs.map → chunk-X5UJYMJU.mjs.map} +1 -1
  269. package/dist/esm/chunk-X5YB74NB.mjs +2 -0
  270. package/dist/esm/{chunk-I25AX6PQ.mjs.map → chunk-X5YB74NB.mjs.map} +1 -1
  271. package/dist/esm/chunk-X6H4G6NE.mjs +2 -0
  272. package/dist/esm/{chunk-DMFRIING.mjs.map → chunk-X6H4G6NE.mjs.map} +1 -1
  273. package/dist/esm/chunk-XFL3B4WZ.mjs +2 -0
  274. package/dist/esm/{chunk-D4MW64RH.mjs.map → chunk-XFL3B4WZ.mjs.map} +1 -1
  275. package/dist/esm/chunk-XX4SFNZY.mjs +2 -0
  276. package/dist/esm/{chunk-JAZJE3OR.mjs.map → chunk-XX4SFNZY.mjs.map} +1 -1
  277. package/dist/esm/chunk-YMXJ6GYE.mjs +2 -0
  278. package/dist/esm/{chunk-ILTEOGFF.mjs.map → chunk-YMXJ6GYE.mjs.map} +1 -1
  279. package/dist/esm/chunk-YOZBVVKL.mjs +2 -0
  280. package/dist/esm/{chunk-BEYIOC2H.mjs.map → chunk-YOZBVVKL.mjs.map} +1 -1
  281. package/dist/esm/chunk-ZD2TY5N3.mjs +2 -0
  282. package/dist/esm/{chunk-NUT2VOX2.mjs.map → chunk-ZD2TY5N3.mjs.map} +1 -1
  283. package/dist/esm/chunk-ZJCTELB4.mjs +2 -0
  284. package/dist/esm/{chunk-K5OCDM3W.mjs.map → chunk-ZJCTELB4.mjs.map} +1 -1
  285. package/dist/esm/chunk-ZOY6N6UM.mjs +2 -0
  286. package/dist/esm/{chunk-BU43ZFDJ.mjs.map → chunk-ZOY6N6UM.mjs.map} +1 -1
  287. package/dist/esm/chunk-ZVYTHOS5.mjs +2 -0
  288. package/dist/esm/{chunk-G34CJDST.mjs.map → chunk-ZVYTHOS5.mjs.map} +1 -1
  289. package/dist/esm/cli/index.mjs +1 -20
  290. package/dist/esm/cli/localNode.mjs +1 -16
  291. package/dist/esm/cli/move.mjs +1 -7
  292. package/dist/esm/client/core.mjs +1 -34
  293. package/dist/esm/client/get.mjs +1 -41
  294. package/dist/esm/client/index.mjs +1 -69
  295. package/dist/esm/client/post.mjs +1 -43
  296. package/dist/esm/core/account/index.mjs +1 -21
  297. package/dist/esm/core/account/utils/address.mjs +1 -19
  298. package/dist/esm/core/account/utils/index.mjs +1 -20
  299. package/dist/esm/core/accountAddress.mjs +1 -16
  300. package/dist/esm/core/authenticationKey.mjs +1 -15
  301. package/dist/esm/core/common.mjs +1 -7
  302. package/dist/esm/core/crypto/abstraction.mjs +1 -26
  303. package/dist/esm/core/crypto/ed25519.mjs +1 -33
  304. package/dist/esm/core/crypto/ephemeral.mjs +1 -30
  305. package/dist/esm/core/crypto/federatedKeyless.mjs +1 -44
  306. package/dist/esm/core/crypto/hdKey.mjs +1 -25
  307. package/dist/esm/core/crypto/index.mjs +1 -173
  308. package/dist/esm/core/crypto/keyless.mjs +1 -83
  309. package/dist/esm/core/crypto/multiEd25519.mjs +1 -50
  310. package/dist/esm/core/crypto/multiKey.mjs +1 -51
  311. package/dist/esm/core/crypto/poseidon.mjs +1 -15
  312. package/dist/esm/core/crypto/privateKey.mjs +1 -12
  313. package/dist/esm/core/crypto/proof.mjs +1 -20
  314. package/dist/esm/core/crypto/publicKey.mjs +1 -22
  315. package/dist/esm/core/crypto/secp256k1.mjs +1 -29
  316. package/dist/esm/core/crypto/signature.mjs +1 -20
  317. package/dist/esm/core/crypto/singleKey.d.mts +2 -2
  318. package/dist/esm/core/crypto/singleKey.mjs +1 -48
  319. package/dist/esm/core/crypto/utils.mjs +1 -9
  320. package/dist/esm/core/hex.mjs +1 -12
  321. package/dist/esm/core/index.mjs +1 -202
  322. package/dist/esm/errors/index.mjs +1 -25
  323. package/dist/esm/index.d.mts +3 -3
  324. package/dist/esm/index.mjs +1 -798
  325. package/dist/esm/internal/abstraction.mjs +1 -103
  326. package/dist/esm/internal/account.d.mts +5 -22
  327. package/dist/esm/internal/account.mjs +1 -142
  328. package/dist/esm/internal/ans.mjs +1 -138
  329. package/dist/esm/internal/coin.mjs +1 -99
  330. package/dist/esm/internal/digitalAsset.mjs +1 -145
  331. package/dist/esm/internal/event.mjs +1 -62
  332. package/dist/esm/internal/experimental.mjs +1 -84
  333. package/dist/esm/internal/faucet.mjs +1 -57
  334. package/dist/esm/internal/fungibleAsset.mjs +1 -105
  335. package/dist/esm/internal/general.mjs +1 -43
  336. package/dist/esm/internal/keyless.d.mts +1 -12
  337. package/dist/esm/internal/keyless.mjs +1 -107
  338. package/dist/esm/internal/object.mjs +1 -58
  339. package/dist/esm/internal/staking.mjs +1 -60
  340. package/dist/esm/internal/table.mjs +1 -38
  341. package/dist/esm/internal/transaction.mjs +1 -57
  342. package/dist/esm/internal/transactionSubmission.mjs +1 -118
  343. package/dist/esm/internal/utils/index.mjs +1 -38
  344. package/dist/esm/internal/utils/utils.mjs +1 -37
  345. package/dist/esm/internal/view.mjs +1 -86
  346. package/dist/esm/transactions/authenticator/account.mjs +1 -67
  347. package/dist/esm/transactions/authenticator/index.mjs +1 -82
  348. package/dist/esm/transactions/authenticator/transaction.mjs +1 -66
  349. package/dist/esm/transactions/index.d.mts +1 -1
  350. package/dist/esm/transactions/index.mjs +1 -296
  351. package/dist/esm/transactions/instances/chainId.mjs +1 -11
  352. package/dist/esm/transactions/instances/identifier.mjs +1 -11
  353. package/dist/esm/transactions/instances/index.mjs +1 -114
  354. package/dist/esm/transactions/instances/moduleId.mjs +1 -55
  355. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -60
  356. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -65
  357. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -21
  358. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -63
  359. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -60
  360. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  361. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -73
  362. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -101
  363. package/dist/esm/transactions/management/asyncQueue.mjs +1 -9
  364. package/dist/esm/transactions/management/index.mjs +1 -111
  365. package/dist/esm/transactions/management/transactionWorker.mjs +1 -107
  366. package/dist/esm/transactions/scriptComposer/index.mjs +1 -80
  367. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -92
  368. package/dist/esm/transactions/transactionBuilder/index.d.mts +1 -1
  369. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -166
  370. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +29 -18
  371. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -74
  372. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -75
  373. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -97
  374. package/dist/esm/transactions/typeTag/index.d.mts +16 -0
  375. package/dist/esm/transactions/typeTag/index.mjs +1 -91
  376. package/dist/esm/transactions/typeTag/parser.mjs +1 -60
  377. package/dist/esm/transactions/types.mjs +1 -1
  378. package/dist/esm/types/abstraction.mjs +1 -7
  379. package/dist/esm/types/generated/operations.d.mts +10 -63
  380. package/dist/esm/types/generated/queries.d.mts +2 -10
  381. package/dist/esm/types/generated/queries.mjs +1 -69
  382. package/dist/esm/types/generated/types.d.mts +1054 -824
  383. package/dist/esm/types/generated/types.mjs +1 -774
  384. package/dist/esm/types/generated/types.mjs.map +1 -1
  385. package/dist/esm/types/index.d.mts +2 -2
  386. package/dist/esm/types/index.mjs +1 -82
  387. package/dist/esm/types/indexer.d.mts +2 -14
  388. package/dist/esm/types/indexer.mjs +1 -1
  389. package/dist/esm/types/types.d.mts +3 -58
  390. package/dist/esm/types/types.mjs +1 -77
  391. package/dist/esm/utils/apiEndpoints.mjs +1 -21
  392. package/dist/esm/utils/const.d.mts +1 -1
  393. package/dist/esm/utils/const.mjs +1 -25
  394. package/dist/esm/utils/helpers.mjs +1 -37
  395. package/dist/esm/utils/index.mjs +1 -88
  396. package/dist/esm/utils/memoize.mjs +1 -9
  397. package/dist/esm/utils/normalizeBundle.mjs +1 -20
  398. package/dist/esm/version.d.mts +1 -1
  399. package/dist/esm/version.mjs +1 -7
  400. package/package.json +2 -2
  401. package/src/api/account.ts +2 -56
  402. package/src/internal/account.ts +2 -395
  403. package/src/internal/keyless.ts +9 -17
  404. package/src/transactions/scriptComposer/index.ts +19 -6
  405. package/src/transactions/transactionBuilder/remoteAbi.ts +107 -35
  406. package/src/transactions/typeTag/index.ts +22 -0
  407. package/src/types/codegen.yaml +1 -1
  408. package/src/types/generated/operations.ts +8 -69
  409. package/src/types/generated/queries.ts +0 -111
  410. package/src/types/generated/types.ts +1159 -951
  411. package/src/types/indexer.ts +0 -16
  412. package/src/types/types.ts +3 -62
  413. package/src/utils/const.ts +1 -1
  414. package/src/version.ts +1 -1
  415. package/dist/common/chunk-JMOQXLED.js +0 -1305
  416. package/dist/common/chunk-JMOQXLED.js.map +0 -1
  417. package/dist/esm/chunk-2FTF6J7F.mjs +0 -97
  418. package/dist/esm/chunk-2HL7JEFC.mjs +0 -829
  419. package/dist/esm/chunk-2HL7JEFC.mjs.map +0 -1
  420. package/dist/esm/chunk-2WBJAKBO.mjs +0 -53
  421. package/dist/esm/chunk-32UQAST6.mjs +0 -296
  422. package/dist/esm/chunk-3DAVHDK4.mjs +0 -195
  423. package/dist/esm/chunk-3IWV2Q3K.mjs +0 -12
  424. package/dist/esm/chunk-3TUV6YMI.mjs +0 -305
  425. package/dist/esm/chunk-56UCIGTO.mjs +0 -21
  426. package/dist/esm/chunk-5ORUQZAR.mjs +0 -100
  427. package/dist/esm/chunk-5QHMFYVL.mjs +0 -42
  428. package/dist/esm/chunk-5QHMFYVL.mjs.map +0 -1
  429. package/dist/esm/chunk-62LC4PPC.mjs +0 -128
  430. package/dist/esm/chunk-6ASWESA2.mjs +0 -77
  431. package/dist/esm/chunk-6I37A76G.mjs +0 -29
  432. package/dist/esm/chunk-6OFCIXWS.mjs +0 -379
  433. package/dist/esm/chunk-6OFCIXWS.mjs.map +0 -1
  434. package/dist/esm/chunk-6SNGKTWE.mjs +0 -91
  435. package/dist/esm/chunk-6T3V5LXK.mjs +0 -119
  436. package/dist/esm/chunk-7F32C225.mjs +0 -219
  437. package/dist/esm/chunk-7WW735TU.mjs +0 -276
  438. package/dist/esm/chunk-A33OBGVN.mjs +0 -1014
  439. package/dist/esm/chunk-A7LYGPFL.mjs +0 -208
  440. package/dist/esm/chunk-AGKEC2IM.mjs +0 -250
  441. package/dist/esm/chunk-AKXCFBYF.mjs +0 -49
  442. package/dist/esm/chunk-APM7OSLS.mjs +0 -122
  443. package/dist/esm/chunk-BDM6FBUO.mjs +0 -198
  444. package/dist/esm/chunk-BEYIOC2H.mjs +0 -34
  445. package/dist/esm/chunk-BMM72IIP.mjs +0 -250
  446. package/dist/esm/chunk-BU43ZFDJ.mjs +0 -281
  447. package/dist/esm/chunk-C7EEG6SW.mjs +0 -689
  448. package/dist/esm/chunk-C7T6GW5P.mjs +0 -376
  449. package/dist/esm/chunk-CXLXUSCG.mjs +0 -417
  450. package/dist/esm/chunk-D4MW64RH.mjs +0 -188
  451. package/dist/esm/chunk-D6RXVCE3.mjs +0 -86
  452. package/dist/esm/chunk-DDZGHA66.mjs +0 -495
  453. package/dist/esm/chunk-DGDZNHUJ.mjs +0 -72
  454. package/dist/esm/chunk-DGDZNHUJ.mjs.map +0 -1
  455. package/dist/esm/chunk-DMFRIING.mjs +0 -286
  456. package/dist/esm/chunk-EBFKT35C.mjs +0 -66
  457. package/dist/esm/chunk-ECTX2FGD.mjs +0 -355
  458. package/dist/esm/chunk-EPTUAWRA.mjs +0 -895
  459. package/dist/esm/chunk-EPTUAWRA.mjs.map +0 -1
  460. package/dist/esm/chunk-F4VI7BNX.mjs +0 -58
  461. package/dist/esm/chunk-F7W7KS5C.mjs +0 -52
  462. package/dist/esm/chunk-FDMI4BUL.mjs +0 -611
  463. package/dist/esm/chunk-FMNMYKYH.mjs +0 -71
  464. package/dist/esm/chunk-FRLS4GRM.mjs +0 -62
  465. package/dist/esm/chunk-G34CJDST.mjs +0 -139
  466. package/dist/esm/chunk-G4NBRMZ2.mjs +0 -7
  467. package/dist/esm/chunk-G6R77JKO.mjs +0 -121
  468. package/dist/esm/chunk-G7BB6K4B.mjs +0 -167
  469. package/dist/esm/chunk-GCQK2S5Q.mjs +0 -43
  470. package/dist/esm/chunk-GUA5YTIK.mjs +0 -362
  471. package/dist/esm/chunk-HBXBODME.mjs +0 -84
  472. package/dist/esm/chunk-HKQY5GXT.mjs +0 -231
  473. package/dist/esm/chunk-HKQY5GXT.mjs.map +0 -1
  474. package/dist/esm/chunk-HL337SEM.mjs +0 -219
  475. package/dist/esm/chunk-HQDHSKVS.mjs +0 -74
  476. package/dist/esm/chunk-I25AX6PQ.mjs +0 -7
  477. package/dist/esm/chunk-I5G7XFGT.mjs +0 -86
  478. package/dist/esm/chunk-IJ7XCPP3.mjs +0 -480
  479. package/dist/esm/chunk-IJ7XCPP3.mjs.map +0 -1
  480. package/dist/esm/chunk-ILTEOGFF.mjs +0 -407
  481. package/dist/esm/chunk-IP7GATDH.mjs +0 -322
  482. package/dist/esm/chunk-IPUAVRGL.mjs +0 -248
  483. package/dist/esm/chunk-IQVHXOD3.mjs +0 -192
  484. package/dist/esm/chunk-IQVHXOD3.mjs.map +0 -1
  485. package/dist/esm/chunk-JAZJE3OR.mjs +0 -45
  486. package/dist/esm/chunk-JEVGHYEP.mjs +0 -162
  487. package/dist/esm/chunk-JFMFZ2IL.mjs +0 -147
  488. package/dist/esm/chunk-JQIRRM7G.mjs +0 -195
  489. package/dist/esm/chunk-JXCZTOYC.mjs +0 -1
  490. package/dist/esm/chunk-K5OCDM3W.mjs +0 -207
  491. package/dist/esm/chunk-KLUO6XPE.mjs +0 -33
  492. package/dist/esm/chunk-KSK3XIGF.mjs +0 -502
  493. package/dist/esm/chunk-KW64NP2F.mjs +0 -71
  494. package/dist/esm/chunk-LJRNGZMY.mjs +0 -10
  495. package/dist/esm/chunk-MFFBZ43D.mjs +0 -45
  496. package/dist/esm/chunk-MWXBQ6HR.mjs +0 -15
  497. package/dist/esm/chunk-MYEYZ7PF.mjs +0 -46
  498. package/dist/esm/chunk-NUT2VOX2.mjs +0 -317
  499. package/dist/esm/chunk-OFUNBTK4.mjs +0 -169
  500. package/dist/esm/chunk-ORCQEMJL.mjs +0 -51
  501. package/dist/esm/chunk-PGFEUN7K.mjs +0 -129
  502. package/dist/esm/chunk-PKUXOBIV.mjs +0 -138
  503. package/dist/esm/chunk-PT2QHUB6.mjs +0 -96
  504. package/dist/esm/chunk-QJ6CGH7N.mjs +0 -71
  505. package/dist/esm/chunk-QPT4BSAB.mjs +0 -20
  506. package/dist/esm/chunk-QSYWLSSN.mjs +0 -216
  507. package/dist/esm/chunk-QYNYDQE3.mjs +0 -288
  508. package/dist/esm/chunk-R45SPK6Q.mjs +0 -61
  509. package/dist/esm/chunk-R4JTQQBX.mjs +0 -37
  510. package/dist/esm/chunk-RCXGTN36.mjs +0 -58
  511. package/dist/esm/chunk-RQS33JAS.mjs +0 -77
  512. package/dist/esm/chunk-SAWN7RJP.mjs +0 -15
  513. package/dist/esm/chunk-SAWN7RJP.mjs.map +0 -1
  514. package/dist/esm/chunk-SBB4YEPT.mjs +0 -17
  515. package/dist/esm/chunk-SFLQPB72.mjs +0 -63
  516. package/dist/esm/chunk-SPI2HO3E.mjs +0 -177
  517. package/dist/esm/chunk-SPVJXZL5.mjs +0 -865
  518. package/dist/esm/chunk-SPVJXZL5.mjs.map +0 -1
  519. package/dist/esm/chunk-SQNS4SFV.mjs +0 -232
  520. package/dist/esm/chunk-SRXIHVZE.mjs +0 -50
  521. package/dist/esm/chunk-T4BFWV46.mjs +0 -63
  522. package/dist/esm/chunk-T573PCIR.mjs +0 -700
  523. package/dist/esm/chunk-TDLL7QX5.mjs +0 -239
  524. package/dist/esm/chunk-TFW6N66T.mjs +0 -415
  525. package/dist/esm/chunk-THWEBWUC.mjs +0 -20
  526. package/dist/esm/chunk-TJDF4CXI.mjs +0 -513
  527. package/dist/esm/chunk-TL4Z4KHK.mjs +0 -70
  528. package/dist/esm/chunk-UGFIWCJQ.mjs +0 -130
  529. package/dist/esm/chunk-UGKZQUGE.mjs +0 -367
  530. package/dist/esm/chunk-UIRAXHDH.mjs +0 -1
  531. package/dist/esm/chunk-UIRAXHDH.mjs.map +0 -1
  532. package/dist/esm/chunk-UK7SPHIE.mjs +0 -420
  533. package/dist/esm/chunk-UOHCJOXI.mjs +0 -150
  534. package/dist/esm/chunk-WHSS6I7T.mjs +0 -90
  535. package/dist/esm/chunk-WLTQHGIJ.mjs +0 -177
  536. package/dist/esm/chunk-WUM247HF.mjs +0 -125
  537. package/dist/esm/chunk-WXQUBQK4.mjs +0 -19
  538. package/dist/esm/chunk-X4N5BN3S.mjs +0 -40
  539. package/dist/esm/chunk-XIBOO3WF.mjs +0 -168
  540. package/dist/esm/chunk-XQFUKBY7.mjs +0 -136
  541. package/dist/esm/chunk-XX6C2QGI.mjs +0 -160
  542. package/dist/esm/chunk-Y3ENAKRC.mjs +0 -73
  543. package/dist/esm/chunk-Y3M32DIB.mjs +0 -79
  544. package/dist/esm/chunk-YK66QBML.mjs +0 -89
  545. package/dist/esm/chunk-YT7V6AVJ.mjs +0 -66
  546. package/dist/esm/chunk-YU65LNIC.mjs +0 -72
  547. package/dist/esm/chunk-ZRBUAZZD.mjs +0 -36
  548. package/dist/esm/chunk-ZWCTF3NQ.mjs +0 -25
  549. package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +0 -56
  550. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
  551. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
  552. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
  553. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
  554. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
  555. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
  556. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
  557. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
  558. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
  559. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
  560. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
  561. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
  562. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
  563. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
  564. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
  565. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
  566. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
  567. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
  568. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
  569. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
  570. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
  571. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
  572. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
  573. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
  574. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
  575. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
  576. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
  577. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
  578. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
  579. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
  580. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
  581. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
  582. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
  583. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
  584. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
  585. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
  586. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
  587. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
  588. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
  589. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
  590. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
  591. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
  592. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
  593. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
  594. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
  595. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
  596. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
  597. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
  598. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
  599. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
  600. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
  601. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
  602. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
  603. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
  604. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
  605. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
  606. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
  607. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
  608. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
  609. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
  610. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
  611. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
  612. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
  613. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
  614. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
  615. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
  616. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
  617. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
  618. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
  619. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
  620. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
  621. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
  622. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
  623. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
  624. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
  625. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
  626. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
  627. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
  628. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
  629. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
  630. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
  631. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
  632. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
  633. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
  634. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
  635. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
  636. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
  637. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
  638. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
  639. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
  640. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
  641. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
  642. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
  643. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
  644. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
  645. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
  646. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
  647. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
  648. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
  649. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
  650. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
  651. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
  652. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
  653. package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
  654. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
  655. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
  656. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
  657. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
  658. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
  659. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
  660. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
  661. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
  662. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
  663. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
  664. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
  665. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
  666. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
  667. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
  668. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
  669. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
  670. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
  671. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
  672. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
  673. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
  674. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
  675. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
  676. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
  677. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
  678. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
  679. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
  680. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
  681. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
  682. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
  683. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
  684. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
  685. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
  686. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
  687. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
  688. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
  689. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
  690. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
  691. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
  692. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
  693. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
  694. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
  695. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
  696. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
  697. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
  698. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
  699. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
  700. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
  701. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
  702. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
  703. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
  704. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
  705. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
  706. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
  707. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
  708. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
  709. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
  710. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
  711. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
  712. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
  713. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
  714. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
  715. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
  716. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
  717. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
  718. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
  719. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
  720. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
  721. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
  722. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
  723. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
  724. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
  725. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
  726. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
  727. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
  728. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
  729. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
  730. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
  731. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
  732. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
  733. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
  734. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
  735. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
  736. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
  737. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
  738. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
  739. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
  740. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
  741. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
  742. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
  743. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
  744. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
  745. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
  746. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
  747. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
  748. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
  749. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
  750. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
  751. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
  752. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
  753. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
  754. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
  755. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
  756. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
  757. package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
  758. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +0 -1533
  759. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +0 -48
  760. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +0 -66
  761. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +0 -280
  762. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +0 -443
  763. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +0 -204
  764. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +0 -1387
  765. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +0 -394
  766. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +0 -41
  767. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +0 -48
  768. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +0 -367
  769. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +0 -2214
  770. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +0 -101
  771. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +0 -77
  772. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +0 -21
  773. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +0 -5568
  774. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +0 -228
  775. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +0 -121
  776. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +0 -92
  777. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +0 -66
  778. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +0 -100
  779. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +0 -1566
  780. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +0 -176
  781. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +0 -550
  782. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +0 -23
  783. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +0 -68
  784. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +0 -148
  785. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +0 -817
  786. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +0 -312
  787. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +0 -205
  788. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +0 -2477
  789. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +0 -1073
  790. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +0 -147
  791. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +0 -295
  792. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +0 -405
  793. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +0 -574
  794. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +0 -57
  795. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +0 -153
  796. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +0 -49
  797. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +0 -237
  798. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +0 -132
  799. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +0 -69
  800. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +0 -267
  801. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +0 -3286
  802. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +0 -686
  803. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +0 -1618
  804. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +0 -228
  805. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +0 -90
  806. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +0 -622
  807. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +0 -82
  808. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +0 -88
  809. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +0 -262
  810. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +0 -457
  811. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +0 -501
  812. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +0 -16
  813. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +0 -42
  814. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +0 -115
  815. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +0 -2183
  816. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +0 -1279
  817. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +0 -57
  818. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +0 -253
  819. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +0 -469
  820. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +0 -985
  821. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +0 -802
  822. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +0 -855
  823. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +0 -193
  824. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +0 -173
  825. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +0 -45
  826. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +0 -351
  827. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +0 -278
  828. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +0 -262
  829. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +0 -447
  830. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +0 -91
  831. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +0 -381
  832. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +0 -336
  833. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +0 -139
  834. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +0 -142
  835. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +0 -482
  836. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +0 -571
  837. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +0 -270
  838. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +0 -1310
  839. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +0 -253
  840. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +0 -234
  841. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +0 -158
  842. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +0 -114
  843. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +0 -319
  844. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +0 -769
  845. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +0 -766
  846. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +0 -148
  847. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +0 -152
  848. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +0 -141
  849. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +0 -351
  850. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +0 -46
  851. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +0 -27
  852. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +0 -239
  853. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +0 -88
  854. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +0 -780
  855. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +0 -295
  856. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +0 -8
  857. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +0 -356
  858. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +0 -21
  859. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +0 -93
  860. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +0 -669
  861. package/src/internal/move/jwks/build/jwk/sources/main.move +0 -20
  862. package/src/internal/queries/getAccountAddressForAuthKey.graphql +0 -8
  863. package/src/internal/queries/getAuthKeysForPublicKey.graphql +0 -9
  864. package/src/internal/queries/getMultiKeyForAuthKey.graphql +0 -9
  865. package/src/internal/queries/getSignatures.graphql +0 -13
  866. /package/dist/esm/{chunk-JXCZTOYC.mjs.map → chunk-KDMSOCZY.mjs.map} +0 -0
@@ -1,1566 +0,0 @@
1
- /// This defines the fungible asset module that can issue fungible asset of any `Metadata` object. The
2
- /// metadata object can be any object that equipped with `Metadata` resource.
3
- module aptos_framework::fungible_asset {
4
- use aptos_framework::aggregator_v2::{Self, Aggregator};
5
- use aptos_framework::create_signer;
6
- use aptos_framework::event;
7
- use aptos_framework::function_info::{Self, FunctionInfo};
8
- use aptos_framework::object::{Self, Object, ConstructorRef, DeleteRef, ExtendRef};
9
- use std::string;
10
- use std::features;
11
-
12
- use std::error;
13
- use std::option::{Self, Option};
14
- use std::signer;
15
- use std::string::String;
16
-
17
- friend aptos_framework::coin;
18
- friend aptos_framework::primary_fungible_store;
19
- friend aptos_framework::aptos_account;
20
-
21
- friend aptos_framework::dispatchable_fungible_asset;
22
-
23
- /// Amount cannot be zero.
24
- const EAMOUNT_CANNOT_BE_ZERO: u64 = 1;
25
- /// The transfer ref and the fungible asset do not match.
26
- const ETRANSFER_REF_AND_FUNGIBLE_ASSET_MISMATCH: u64 = 2;
27
- /// Store is disabled from sending and receiving this fungible asset.
28
- const ESTORE_IS_FROZEN: u64 = 3;
29
- /// Insufficient balance to withdraw or transfer.
30
- const EINSUFFICIENT_BALANCE: u64 = 4;
31
- /// The fungible asset's supply has exceeded maximum.
32
- const EMAX_SUPPLY_EXCEEDED: u64 = 5;
33
- /// Fungible asset do not match when merging.
34
- const EFUNGIBLE_ASSET_MISMATCH: u64 = 6;
35
- /// The mint ref and the store do not match.
36
- const EMINT_REF_AND_STORE_MISMATCH: u64 = 7;
37
- /// Account is not the store's owner.
38
- const ENOT_STORE_OWNER: u64 = 8;
39
- /// Transfer ref and store do not match.
40
- const ETRANSFER_REF_AND_STORE_MISMATCH: u64 = 9;
41
- /// Burn ref and store do not match.
42
- const EBURN_REF_AND_STORE_MISMATCH: u64 = 10;
43
- /// Fungible asset and store do not match.
44
- const EFUNGIBLE_ASSET_AND_STORE_MISMATCH: u64 = 11;
45
- /// Cannot destroy non-empty fungible assets.
46
- const EAMOUNT_IS_NOT_ZERO: u64 = 12;
47
- /// Burn ref and fungible asset do not match.
48
- const EBURN_REF_AND_FUNGIBLE_ASSET_MISMATCH: u64 = 13;
49
- /// Cannot destroy fungible stores with a non-zero balance.
50
- const EBALANCE_IS_NOT_ZERO: u64 = 14;
51
- /// Name of the fungible asset metadata is too long
52
- const ENAME_TOO_LONG: u64 = 15;
53
- /// Symbol of the fungible asset metadata is too long
54
- const ESYMBOL_TOO_LONG: u64 = 16;
55
- /// Decimals is over the maximum of 32
56
- const EDECIMALS_TOO_LARGE: u64 = 17;
57
- /// Fungibility is only available for non-deletable objects.
58
- const EOBJECT_IS_DELETABLE: u64 = 18;
59
- /// URI for the icon of the fungible asset metadata is too long
60
- const EURI_TOO_LONG: u64 = 19;
61
- /// The fungible asset's supply will be negative which should be impossible.
62
- const ESUPPLY_UNDERFLOW: u64 = 20;
63
- /// Supply resource is not found for a metadata object.
64
- const ESUPPLY_NOT_FOUND: u64 = 21;
65
- /// Flag for Concurrent Supply not enabled
66
- const ECONCURRENT_SUPPLY_NOT_ENABLED: u64 = 22;
67
- /// Flag for the existence of fungible store.
68
- const EFUNGIBLE_STORE_EXISTENCE: u64 = 23;
69
- /// Account is not the owner of metadata object.
70
- const ENOT_METADATA_OWNER: u64 = 24;
71
- /// Provided withdraw function type doesn't meet the signature requirement.
72
- const EWITHDRAW_FUNCTION_SIGNATURE_MISMATCH: u64 = 25;
73
- /// Provided deposit function type doesn't meet the signature requirement.
74
- const EDEPOSIT_FUNCTION_SIGNATURE_MISMATCH: u64 = 26;
75
- /// Provided derived_balance function type doesn't meet the signature requirement.
76
- const EDERIVED_BALANCE_FUNCTION_SIGNATURE_MISMATCH: u64 = 27;
77
- /// Invalid withdraw/deposit on dispatchable token. The specified token has a dispatchable function hook.
78
- /// Need to invoke dispatchable_fungible_asset::withdraw/deposit to perform transfer.
79
- const EINVALID_DISPATCHABLE_OPERATIONS: u64 = 28;
80
- /// Trying to re-register dispatch hook on a fungible asset.
81
- const EALREADY_REGISTERED: u64 = 29;
82
- /// Fungible metadata does not exist on this account.
83
- const EFUNGIBLE_METADATA_EXISTENCE: u64 = 30;
84
- /// Cannot register dispatch hook for APT.
85
- const EAPT_NOT_DISPATCHABLE: u64 = 31;
86
- /// Flag for Concurrent Supply not enabled
87
- const ECONCURRENT_BALANCE_NOT_ENABLED: u64 = 32;
88
- /// Provided derived_supply function type doesn't meet the signature requirement.
89
- const EDERIVED_SUPPLY_FUNCTION_SIGNATURE_MISMATCH: u64 = 33;
90
-
91
- //
92
- // Constants
93
- //
94
-
95
- const MAX_NAME_LENGTH: u64 = 32;
96
- const MAX_SYMBOL_LENGTH: u64 = 10;
97
- const MAX_DECIMALS: u8 = 32;
98
- const MAX_URI_LENGTH: u64 = 512;
99
-
100
- /// Maximum possible coin supply.
101
- const MAX_U128: u128 = 340282366920938463463374607431768211455;
102
-
103
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
104
- struct Supply has key {
105
- current: u128,
106
- // option::none() means unlimited supply.
107
- maximum: Option<u128>,
108
- }
109
-
110
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
111
- struct ConcurrentSupply has key {
112
- current: Aggregator<u128>,
113
- }
114
-
115
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
116
- /// Metadata of a Fungible asset
117
- struct Metadata has key, copy, drop {
118
- /// Name of the fungible metadata, i.e., "USDT".
119
- name: String,
120
- /// Symbol of the fungible metadata, usually a shorter version of the name.
121
- /// For example, Singapore Dollar is SGD.
122
- symbol: String,
123
- /// Number of decimals used for display purposes.
124
- /// For example, if `decimals` equals `2`, a balance of `505` coins should
125
- /// be displayed to a user as `5.05` (`505 / 10 ** 2`).
126
- decimals: u8,
127
- /// The Uniform Resource Identifier (uri) pointing to an image that can be used as the icon for this fungible
128
- /// asset.
129
- icon_uri: String,
130
- /// The Uniform Resource Identifier (uri) pointing to the website for the fungible asset.
131
- project_uri: String,
132
- }
133
-
134
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
135
- /// Defines a `FungibleAsset`, such that all `FungibleStore`s stores are untransferable at
136
- /// the object layer.
137
- struct Untransferable has key {}
138
-
139
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
140
- /// The store object that holds fungible assets of a specific type associated with an account.
141
- struct FungibleStore has key {
142
- /// The address of the base metadata object.
143
- metadata: Object<Metadata>,
144
- /// The balance of the fungible metadata.
145
- balance: u64,
146
- /// If true, owner transfer is disabled that only `TransferRef` can move in/out from this store.
147
- frozen: bool,
148
- }
149
-
150
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
151
- struct DispatchFunctionStore has key {
152
- withdraw_function: Option<FunctionInfo>,
153
- deposit_function: Option<FunctionInfo>,
154
- derived_balance_function: Option<FunctionInfo>,
155
- }
156
-
157
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
158
- struct DeriveSupply has key {
159
- dispatch_function: Option<FunctionInfo>
160
- }
161
-
162
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
163
- /// The store object that holds concurrent fungible asset balance.
164
- struct ConcurrentFungibleBalance has key {
165
- /// The balance of the fungible metadata.
166
- balance: Aggregator<u64>,
167
- }
168
-
169
- /// FungibleAsset can be passed into function for type safety and to guarantee a specific amount.
170
- /// FungibleAsset is ephemeral and cannot be stored directly. It must be deposited back into a store.
171
- struct FungibleAsset {
172
- metadata: Object<Metadata>,
173
- amount: u64,
174
- }
175
-
176
- /// MintRef can be used to mint the fungible asset into an account's store.
177
- struct MintRef has drop, store {
178
- metadata: Object<Metadata>
179
- }
180
-
181
- /// TransferRef can be used to allow or disallow the owner of fungible assets from transferring the asset
182
- /// and allow the holder of TransferRef to transfer fungible assets from any account.
183
- struct TransferRef has drop, store {
184
- metadata: Object<Metadata>
185
- }
186
-
187
- /// BurnRef can be used to burn fungible assets from a given holder account.
188
- struct BurnRef has drop, store {
189
- metadata: Object<Metadata>
190
- }
191
-
192
- /// MutateMetadataRef can be used to directly modify the fungible asset's Metadata.
193
- struct MutateMetadataRef has drop, store {
194
- metadata: Object<Metadata>
195
- }
196
-
197
- #[event]
198
- /// Emitted when fungible assets are deposited into a store.
199
- struct Deposit has drop, store {
200
- store: address,
201
- amount: u64,
202
- }
203
-
204
- #[event]
205
- /// Emitted when fungible assets are withdrawn from a store.
206
- struct Withdraw has drop, store {
207
- store: address,
208
- amount: u64,
209
- }
210
-
211
- #[event]
212
- /// Emitted when a store's frozen status is updated.
213
- struct Frozen has drop, store {
214
- store: address,
215
- frozen: bool,
216
- }
217
-
218
- inline fun default_to_concurrent_fungible_supply(): bool {
219
- features::concurrent_fungible_assets_enabled()
220
- }
221
-
222
- inline fun allow_upgrade_to_concurrent_fungible_balance(): bool {
223
- features::concurrent_fungible_balance_enabled()
224
- }
225
-
226
- inline fun default_to_concurrent_fungible_balance(): bool {
227
- features::default_to_concurrent_fungible_balance_enabled()
228
- }
229
-
230
- /// Make an existing object fungible by adding the Metadata resource.
231
- /// This returns the capabilities to mint, burn, and transfer.
232
- /// maximum_supply defines the behavior of maximum supply when monitoring:
233
- /// - option::none(): Monitoring unlimited supply
234
- /// (width of the field - MAX_U128 is the implicit maximum supply)
235
- /// if option::some(MAX_U128) is used, it is treated as unlimited supply.
236
- /// - option::some(max): Monitoring fixed supply with `max` as the maximum supply.
237
- public fun add_fungibility(
238
- constructor_ref: &ConstructorRef,
239
- maximum_supply: Option<u128>,
240
- name: String,
241
- symbol: String,
242
- decimals: u8,
243
- icon_uri: String,
244
- project_uri: String,
245
- ): Object<Metadata> {
246
- assert!(!object::can_generate_delete_ref(constructor_ref), error::invalid_argument(EOBJECT_IS_DELETABLE));
247
- let metadata_object_signer = &object::generate_signer(constructor_ref);
248
- assert!(string::length(&name) <= MAX_NAME_LENGTH, error::out_of_range(ENAME_TOO_LONG));
249
- assert!(string::length(&symbol) <= MAX_SYMBOL_LENGTH, error::out_of_range(ESYMBOL_TOO_LONG));
250
- assert!(decimals <= MAX_DECIMALS, error::out_of_range(EDECIMALS_TOO_LARGE));
251
- assert!(string::length(&icon_uri) <= MAX_URI_LENGTH, error::out_of_range(EURI_TOO_LONG));
252
- assert!(string::length(&project_uri) <= MAX_URI_LENGTH, error::out_of_range(EURI_TOO_LONG));
253
- move_to(metadata_object_signer,
254
- Metadata {
255
- name,
256
- symbol,
257
- decimals,
258
- icon_uri,
259
- project_uri,
260
- }
261
- );
262
-
263
- if (default_to_concurrent_fungible_supply()) {
264
- let unlimited = option::is_none(&maximum_supply);
265
- move_to(metadata_object_signer, ConcurrentSupply {
266
- current: if (unlimited) {
267
- aggregator_v2::create_unbounded_aggregator()
268
- } else {
269
- aggregator_v2::create_aggregator(option::extract(&mut maximum_supply))
270
- },
271
- });
272
- } else {
273
- move_to(metadata_object_signer, Supply {
274
- current: 0,
275
- maximum: maximum_supply
276
- });
277
- };
278
-
279
- object::object_from_constructor_ref<Metadata>(constructor_ref)
280
- }
281
-
282
- /// Set that only untransferable stores can be created for this fungible asset.
283
- public fun set_untransferable(constructor_ref: &ConstructorRef) {
284
- let metadata_addr = object::address_from_constructor_ref(constructor_ref);
285
- assert!(exists<Metadata>(metadata_addr), error::not_found(EFUNGIBLE_METADATA_EXISTENCE));
286
- let metadata_signer = &object::generate_signer(constructor_ref);
287
- move_to(metadata_signer, Untransferable {});
288
- }
289
-
290
-
291
- #[view]
292
- /// Returns true if the FA is untransferable.
293
- public fun is_untransferable<T: key>(metadata: Object<T>): bool {
294
- exists<Untransferable>(object::object_address(&metadata))
295
- }
296
-
297
- /// Create a fungible asset store whose transfer rule would be overloaded by the provided function.
298
- public(friend) fun register_dispatch_functions(
299
- constructor_ref: &ConstructorRef,
300
- withdraw_function: Option<FunctionInfo>,
301
- deposit_function: Option<FunctionInfo>,
302
- derived_balance_function: Option<FunctionInfo>,
303
- ) {
304
- // Verify that caller type matches callee type so wrongly typed function cannot be registered.
305
- option::for_each_ref(&withdraw_function, |withdraw_function| {
306
- let dispatcher_withdraw_function_info = function_info::new_function_info_from_address(
307
- @aptos_framework,
308
- string::utf8(b"dispatchable_fungible_asset"),
309
- string::utf8(b"dispatchable_withdraw"),
310
- );
311
-
312
- assert!(
313
- function_info::check_dispatch_type_compatibility(
314
- &dispatcher_withdraw_function_info,
315
- withdraw_function
316
- ),
317
- error::invalid_argument(
318
- EWITHDRAW_FUNCTION_SIGNATURE_MISMATCH
319
- )
320
- );
321
- });
322
-
323
- option::for_each_ref(&deposit_function, |deposit_function| {
324
- let dispatcher_deposit_function_info = function_info::new_function_info_from_address(
325
- @aptos_framework,
326
- string::utf8(b"dispatchable_fungible_asset"),
327
- string::utf8(b"dispatchable_deposit"),
328
- );
329
- // Verify that caller type matches callee type so wrongly typed function cannot be registered.
330
- assert!(
331
- function_info::check_dispatch_type_compatibility(
332
- &dispatcher_deposit_function_info,
333
- deposit_function
334
- ),
335
- error::invalid_argument(
336
- EDEPOSIT_FUNCTION_SIGNATURE_MISMATCH
337
- )
338
- );
339
- });
340
-
341
- option::for_each_ref(&derived_balance_function, |balance_function| {
342
- let dispatcher_derived_balance_function_info = function_info::new_function_info_from_address(
343
- @aptos_framework,
344
- string::utf8(b"dispatchable_fungible_asset"),
345
- string::utf8(b"dispatchable_derived_balance"),
346
- );
347
- // Verify that caller type matches callee type so wrongly typed function cannot be registered.
348
- assert!(
349
- function_info::check_dispatch_type_compatibility(
350
- &dispatcher_derived_balance_function_info,
351
- balance_function
352
- ),
353
- error::invalid_argument(
354
- EDERIVED_BALANCE_FUNCTION_SIGNATURE_MISMATCH
355
- )
356
- );
357
- });
358
- register_dispatch_function_sanity_check(constructor_ref);
359
- assert!(
360
- !exists<DispatchFunctionStore>(
361
- object::address_from_constructor_ref(constructor_ref)
362
- ),
363
- error::already_exists(EALREADY_REGISTERED)
364
- );
365
-
366
- let store_obj = &object::generate_signer(constructor_ref);
367
-
368
- // Store the overload function hook.
369
- move_to<DispatchFunctionStore>(
370
- store_obj,
371
- DispatchFunctionStore {
372
- withdraw_function,
373
- deposit_function,
374
- derived_balance_function,
375
- }
376
- );
377
- }
378
-
379
- /// Define the derived supply dispatch with the provided function.
380
- public(friend) fun register_derive_supply_dispatch_function(
381
- constructor_ref: &ConstructorRef,
382
- dispatch_function: Option<FunctionInfo>
383
- ) {
384
- // Verify that caller type matches callee type so wrongly typed function cannot be registered.
385
- option::for_each_ref(&dispatch_function, |supply_function| {
386
- let function_info = function_info::new_function_info_from_address(
387
- @aptos_framework,
388
- string::utf8(b"dispatchable_fungible_asset"),
389
- string::utf8(b"dispatchable_derived_supply"),
390
- );
391
- // Verify that caller type matches callee type so wrongly typed function cannot be registered.
392
- assert!(
393
- function_info::check_dispatch_type_compatibility(
394
- &function_info,
395
- supply_function
396
- ),
397
- error::invalid_argument(
398
- EDERIVED_SUPPLY_FUNCTION_SIGNATURE_MISMATCH
399
- )
400
- );
401
- });
402
- register_dispatch_function_sanity_check(constructor_ref);
403
- assert!(
404
- !exists<DeriveSupply>(
405
- object::address_from_constructor_ref(constructor_ref)
406
- ),
407
- error::already_exists(EALREADY_REGISTERED)
408
- );
409
-
410
-
411
- let store_obj = &object::generate_signer(constructor_ref);
412
-
413
- // Store the overload function hook.
414
- move_to<DeriveSupply>(
415
- store_obj,
416
- DeriveSupply {
417
- dispatch_function
418
- }
419
- );
420
- }
421
-
422
- /// Check the requirements for registering a dispatchable function.
423
- inline fun register_dispatch_function_sanity_check(
424
- constructor_ref: &ConstructorRef,
425
- ) {
426
- // Cannot register hook for APT.
427
- assert!(
428
- object::address_from_constructor_ref(constructor_ref) != @aptos_fungible_asset,
429
- error::permission_denied(EAPT_NOT_DISPATCHABLE)
430
- );
431
- assert!(
432
- !object::can_generate_delete_ref(constructor_ref),
433
- error::invalid_argument(EOBJECT_IS_DELETABLE)
434
- );
435
- assert!(
436
- exists<Metadata>(
437
- object::address_from_constructor_ref(constructor_ref)
438
- ),
439
- error::not_found(EFUNGIBLE_METADATA_EXISTENCE),
440
- );
441
- }
442
-
443
- /// Creates a mint ref that can be used to mint fungible assets from the given fungible object's constructor ref.
444
- /// This can only be called at object creation time as constructor_ref is only available then.
445
- public fun generate_mint_ref(constructor_ref: &ConstructorRef): MintRef {
446
- let metadata = object::object_from_constructor_ref<Metadata>(constructor_ref);
447
- MintRef { metadata }
448
- }
449
-
450
- /// Creates a burn ref that can be used to burn fungible assets from the given fungible object's constructor ref.
451
- /// This can only be called at object creation time as constructor_ref is only available then.
452
- public fun generate_burn_ref(constructor_ref: &ConstructorRef): BurnRef {
453
- let metadata = object::object_from_constructor_ref<Metadata>(constructor_ref);
454
- BurnRef { metadata }
455
- }
456
-
457
- /// Creates a transfer ref that can be used to freeze/unfreeze/transfer fungible assets from the given fungible
458
- /// object's constructor ref.
459
- /// This can only be called at object creation time as constructor_ref is only available then.
460
- public fun generate_transfer_ref(constructor_ref: &ConstructorRef): TransferRef {
461
- let metadata = object::object_from_constructor_ref<Metadata>(constructor_ref);
462
- TransferRef { metadata }
463
- }
464
-
465
- /// Creates a mutate metadata ref that can be used to change the metadata information of fungible assets from the
466
- /// given fungible object's constructor ref.
467
- /// This can only be called at object creation time as constructor_ref is only available then.
468
- public fun generate_mutate_metadata_ref(constructor_ref: &ConstructorRef): MutateMetadataRef {
469
- let metadata = object::object_from_constructor_ref<Metadata>(constructor_ref);
470
- MutateMetadataRef { metadata }
471
- }
472
-
473
- #[view]
474
- /// Get the current supply from the `metadata` object.
475
- public fun supply<T: key>(metadata: Object<T>): Option<u128> acquires Supply, ConcurrentSupply {
476
- let metadata_address = object::object_address(&metadata);
477
- if (exists<ConcurrentSupply>(metadata_address)) {
478
- let supply = borrow_global<ConcurrentSupply>(metadata_address);
479
- option::some(aggregator_v2::read(&supply.current))
480
- } else if (exists<Supply>(metadata_address)) {
481
- let supply = borrow_global<Supply>(metadata_address);
482
- option::some(supply.current)
483
- } else {
484
- option::none()
485
- }
486
- }
487
-
488
- #[view]
489
- /// Get the maximum supply from the `metadata` object.
490
- /// If supply is unlimited (or set explicitly to MAX_U128), none is returned
491
- public fun maximum<T: key>(metadata: Object<T>): Option<u128> acquires Supply, ConcurrentSupply {
492
- let metadata_address = object::object_address(&metadata);
493
- if (exists<ConcurrentSupply>(metadata_address)) {
494
- let supply = borrow_global<ConcurrentSupply>(metadata_address);
495
- let max_value = aggregator_v2::max_value(&supply.current);
496
- if (max_value == MAX_U128) {
497
- option::none()
498
- } else {
499
- option::some(max_value)
500
- }
501
- } else if (exists<Supply>(metadata_address)) {
502
- let supply = borrow_global<Supply>(metadata_address);
503
- supply.maximum
504
- } else {
505
- option::none()
506
- }
507
- }
508
-
509
- #[view]
510
- /// Get the name of the fungible asset from the `metadata` object.
511
- public fun name<T: key>(metadata: Object<T>): String acquires Metadata {
512
- borrow_fungible_metadata(&metadata).name
513
- }
514
-
515
- #[view]
516
- /// Get the symbol of the fungible asset from the `metadata` object.
517
- public fun symbol<T: key>(metadata: Object<T>): String acquires Metadata {
518
- borrow_fungible_metadata(&metadata).symbol
519
- }
520
-
521
- #[view]
522
- /// Get the decimals from the `metadata` object.
523
- public fun decimals<T: key>(metadata: Object<T>): u8 acquires Metadata {
524
- borrow_fungible_metadata(&metadata).decimals
525
- }
526
-
527
- #[view]
528
- /// Get the icon uri from the `metadata` object.
529
- public fun icon_uri<T: key>(metadata: Object<T>): String acquires Metadata {
530
- borrow_fungible_metadata(&metadata).icon_uri
531
- }
532
-
533
- #[view]
534
- /// Get the project uri from the `metadata` object.
535
- public fun project_uri<T: key>(metadata: Object<T>): String acquires Metadata {
536
- borrow_fungible_metadata(&metadata).project_uri
537
- }
538
-
539
- #[view]
540
- /// Get the metadata struct from the `metadata` object.
541
- public fun metadata<T: key>(metadata: Object<T>): Metadata acquires Metadata {
542
- *borrow_fungible_metadata(&metadata)
543
- }
544
-
545
- #[view]
546
- /// Return whether the provided address has a store initialized.
547
- public fun store_exists(store: address): bool {
548
- store_exists_inline(store)
549
- }
550
-
551
- /// Return whether the provided address has a store initialized.
552
- inline fun store_exists_inline(store: address): bool {
553
- exists<FungibleStore>(store)
554
- }
555
-
556
- /// Return whether the provided address has a concurrent fungible balance initialized,
557
- /// at the fungible store address.
558
- inline fun concurrent_fungible_balance_exists_inline(store: address): bool {
559
- exists<ConcurrentFungibleBalance>(store)
560
- }
561
-
562
- /// Return the underlying metadata object
563
- public fun metadata_from_asset(fa: &FungibleAsset): Object<Metadata> {
564
- fa.metadata
565
- }
566
-
567
- #[view]
568
- /// Return the underlying metadata object.
569
- public fun store_metadata<T: key>(store: Object<T>): Object<Metadata> acquires FungibleStore {
570
- borrow_store_resource(&store).metadata
571
- }
572
-
573
- /// Return the `amount` of a given fungible asset.
574
- public fun amount(fa: &FungibleAsset): u64 {
575
- fa.amount
576
- }
577
-
578
- #[view]
579
- /// Get the balance of a given store.
580
- public fun balance<T: key>(store: Object<T>): u64 acquires FungibleStore, ConcurrentFungibleBalance {
581
- let store_addr = object::object_address(&store);
582
- if (store_exists_inline(store_addr)) {
583
- let store_balance = borrow_store_resource(&store).balance;
584
- if (store_balance == 0 && concurrent_fungible_balance_exists_inline(store_addr)) {
585
- let balance_resource = borrow_global<ConcurrentFungibleBalance>(store_addr);
586
- aggregator_v2::read(&balance_resource.balance)
587
- } else {
588
- store_balance
589
- }
590
- } else {
591
- 0
592
- }
593
- }
594
-
595
- #[view]
596
- /// Check whether the balance of a given store is >= `amount`.
597
- public fun is_balance_at_least<T: key>(store: Object<T>, amount: u64): bool acquires FungibleStore, ConcurrentFungibleBalance {
598
- let store_addr = object::object_address(&store);
599
- is_address_balance_at_least(store_addr, amount)
600
- }
601
-
602
- /// Check whether the balance of a given store is >= `amount`.
603
- public(friend) fun is_address_balance_at_least(store_addr: address, amount: u64): bool acquires FungibleStore, ConcurrentFungibleBalance {
604
- if (store_exists_inline(store_addr)) {
605
- let store_balance = borrow_global<FungibleStore>(store_addr).balance;
606
- if (store_balance == 0 && concurrent_fungible_balance_exists_inline(store_addr)) {
607
- let balance_resource = borrow_global<ConcurrentFungibleBalance>(store_addr);
608
- aggregator_v2::is_at_least(&balance_resource.balance, amount)
609
- } else {
610
- store_balance >= amount
611
- }
612
- } else {
613
- amount == 0
614
- }
615
- }
616
-
617
- #[view]
618
- /// Return whether a store is frozen.
619
- ///
620
- /// If the store has not been created, we default to returning false so deposits can be sent to it.
621
- public fun is_frozen<T: key>(store: Object<T>): bool acquires FungibleStore {
622
- let store_addr = object::object_address(&store);
623
- store_exists_inline(store_addr) && borrow_global<FungibleStore>(store_addr).frozen
624
- }
625
-
626
- #[view]
627
- /// Return whether a fungible asset type is dispatchable.
628
- public fun is_store_dispatchable<T: key>(store: Object<T>): bool acquires FungibleStore {
629
- let fa_store = borrow_store_resource(&store);
630
- let metadata_addr = object::object_address(&fa_store.metadata);
631
- exists<DispatchFunctionStore>(metadata_addr)
632
- }
633
-
634
- public fun deposit_dispatch_function<T: key>(store: Object<T>): Option<FunctionInfo> acquires FungibleStore, DispatchFunctionStore {
635
- let fa_store = borrow_store_resource(&store);
636
- let metadata_addr = object::object_address(&fa_store.metadata);
637
- if(exists<DispatchFunctionStore>(metadata_addr)) {
638
- borrow_global<DispatchFunctionStore>(metadata_addr).deposit_function
639
- } else {
640
- option::none()
641
- }
642
- }
643
-
644
- fun has_deposit_dispatch_function(metadata: Object<Metadata>): bool acquires DispatchFunctionStore {
645
- let metadata_addr = object::object_address(&metadata);
646
- // Short circuit on APT for better perf
647
- if(metadata_addr != @aptos_fungible_asset && exists<DispatchFunctionStore>(metadata_addr)) {
648
- option::is_some(&borrow_global<DispatchFunctionStore>(metadata_addr).deposit_function)
649
- } else {
650
- false
651
- }
652
- }
653
-
654
- public fun withdraw_dispatch_function<T: key>(store: Object<T>): Option<FunctionInfo> acquires FungibleStore, DispatchFunctionStore {
655
- let fa_store = borrow_store_resource(&store);
656
- let metadata_addr = object::object_address(&fa_store.metadata);
657
- if(exists<DispatchFunctionStore>(metadata_addr)) {
658
- borrow_global<DispatchFunctionStore>(metadata_addr).withdraw_function
659
- } else {
660
- option::none()
661
- }
662
- }
663
-
664
- fun has_withdraw_dispatch_function(metadata: Object<Metadata>): bool acquires DispatchFunctionStore {
665
- let metadata_addr = object::object_address(&metadata);
666
- // Short circuit on APT for better perf
667
- if (metadata_addr != @aptos_fungible_asset && exists<DispatchFunctionStore>(metadata_addr)) {
668
- option::is_some(&borrow_global<DispatchFunctionStore>(metadata_addr).withdraw_function)
669
- } else {
670
- false
671
- }
672
- }
673
-
674
- public(friend) fun derived_balance_dispatch_function<T: key>(store: Object<T>): Option<FunctionInfo> acquires FungibleStore, DispatchFunctionStore {
675
- let fa_store = borrow_store_resource(&store);
676
- let metadata_addr = object::object_address(&fa_store.metadata);
677
- if (exists<DispatchFunctionStore>(metadata_addr)) {
678
- borrow_global<DispatchFunctionStore>(metadata_addr).derived_balance_function
679
- } else {
680
- option::none()
681
- }
682
- }
683
-
684
- public(friend) fun derived_supply_dispatch_function<T: key>(metadata: Object<T>): Option<FunctionInfo> acquires DeriveSupply {
685
- let metadata_addr = object::object_address(&metadata);
686
- if (exists<DeriveSupply>(metadata_addr)) {
687
- borrow_global<DeriveSupply>(metadata_addr).dispatch_function
688
- } else {
689
- option::none()
690
- }
691
- }
692
-
693
- public fun asset_metadata(fa: &FungibleAsset): Object<Metadata> {
694
- fa.metadata
695
- }
696
-
697
- /// Get the underlying metadata object from the `MintRef`.
698
- public fun mint_ref_metadata(ref: &MintRef): Object<Metadata> {
699
- ref.metadata
700
- }
701
-
702
- /// Get the underlying metadata object from the `TransferRef`.
703
- public fun transfer_ref_metadata(ref: &TransferRef): Object<Metadata> {
704
- ref.metadata
705
- }
706
-
707
- /// Get the underlying metadata object from the `BurnRef`.
708
- public fun burn_ref_metadata(ref: &BurnRef): Object<Metadata> {
709
- ref.metadata
710
- }
711
-
712
- /// Get the underlying metadata object from the `MutateMetadataRef`.
713
- public fun object_from_metadata_ref(ref: &MutateMetadataRef): Object<Metadata> {
714
- ref.metadata
715
- }
716
-
717
- /// Transfer an `amount` of fungible asset from `from_store`, which should be owned by `sender`, to `receiver`.
718
- /// Note: it does not move the underlying object.
719
- public entry fun transfer<T: key>(
720
- sender: &signer,
721
- from: Object<T>,
722
- to: Object<T>,
723
- amount: u64,
724
- ) acquires FungibleStore, DispatchFunctionStore, ConcurrentFungibleBalance {
725
- let fa = withdraw(sender, from, amount);
726
- deposit(to, fa);
727
- }
728
-
729
- /// Allow an object to hold a store for fungible assets.
730
- /// Applications can use this to create multiple stores for isolating fungible assets for different purposes.
731
- public fun create_store<T: key>(
732
- constructor_ref: &ConstructorRef,
733
- metadata: Object<T>,
734
- ): Object<FungibleStore> {
735
- let store_obj = &object::generate_signer(constructor_ref);
736
- move_to(store_obj, FungibleStore {
737
- metadata: object::convert(metadata),
738
- balance: 0,
739
- frozen: false,
740
- });
741
-
742
- if (is_untransferable(metadata)) {
743
- object::set_untransferable(constructor_ref);
744
- };
745
-
746
- if (default_to_concurrent_fungible_balance()) {
747
- move_to(store_obj, ConcurrentFungibleBalance {
748
- balance: aggregator_v2::create_unbounded_aggregator(),
749
- });
750
- };
751
-
752
- object::object_from_constructor_ref<FungibleStore>(constructor_ref)
753
- }
754
-
755
- /// Used to delete a store. Requires the store to be completely empty prior to removing it
756
- public fun remove_store(delete_ref: &DeleteRef) acquires FungibleStore, FungibleAssetEvents, ConcurrentFungibleBalance {
757
- let store = &object::object_from_delete_ref<FungibleStore>(delete_ref);
758
- let addr = object::object_address(store);
759
- let FungibleStore { metadata: _, balance, frozen: _ }
760
- = move_from<FungibleStore>(addr);
761
- assert!(balance == 0, error::permission_denied(EBALANCE_IS_NOT_ZERO));
762
-
763
- if (concurrent_fungible_balance_exists_inline(addr)) {
764
- let ConcurrentFungibleBalance { balance } = move_from<ConcurrentFungibleBalance>(addr);
765
- assert!(aggregator_v2::read(&balance) == 0, error::permission_denied(EBALANCE_IS_NOT_ZERO));
766
- };
767
-
768
- // Cleanup deprecated event handles if exist.
769
- if (exists<FungibleAssetEvents>(addr)) {
770
- let FungibleAssetEvents {
771
- deposit_events,
772
- withdraw_events,
773
- frozen_events,
774
- } = move_from<FungibleAssetEvents>(addr);
775
- event::destroy_handle(deposit_events);
776
- event::destroy_handle(withdraw_events);
777
- event::destroy_handle(frozen_events);
778
- };
779
- }
780
-
781
- /// Withdraw `amount` of the fungible asset from `store` by the owner.
782
- public fun withdraw<T: key>(
783
- owner: &signer,
784
- store: Object<T>,
785
- amount: u64,
786
- ): FungibleAsset acquires FungibleStore, DispatchFunctionStore, ConcurrentFungibleBalance {
787
- withdraw_sanity_check(owner, store, true);
788
- withdraw_internal(object::object_address(&store), amount)
789
- }
790
-
791
- /// Check the permission for withdraw operation.
792
- public(friend) fun withdraw_sanity_check<T: key>(
793
- owner: &signer,
794
- store: Object<T>,
795
- abort_on_dispatch: bool,
796
- ) acquires FungibleStore, DispatchFunctionStore {
797
- assert!(object::owns(store, signer::address_of(owner)), error::permission_denied(ENOT_STORE_OWNER));
798
- let fa_store = borrow_store_resource(&store);
799
- assert!(
800
- !abort_on_dispatch || !has_withdraw_dispatch_function(fa_store.metadata),
801
- error::invalid_argument(EINVALID_DISPATCHABLE_OPERATIONS)
802
- );
803
- assert!(!fa_store.frozen, error::permission_denied(ESTORE_IS_FROZEN));
804
- }
805
-
806
- /// Deposit `amount` of the fungible asset to `store`.
807
- public fun deposit_sanity_check<T: key>(
808
- store: Object<T>,
809
- abort_on_dispatch: bool
810
- ) acquires FungibleStore, DispatchFunctionStore {
811
- let fa_store = borrow_store_resource(&store);
812
- assert!(
813
- !abort_on_dispatch || !has_deposit_dispatch_function(fa_store.metadata),
814
- error::invalid_argument(EINVALID_DISPATCHABLE_OPERATIONS)
815
- );
816
- assert!(!fa_store.frozen, error::permission_denied(ESTORE_IS_FROZEN));
817
- }
818
-
819
- /// Deposit `amount` of the fungible asset to `store`.
820
- public fun deposit<T: key>(store: Object<T>, fa: FungibleAsset) acquires FungibleStore, DispatchFunctionStore, ConcurrentFungibleBalance {
821
- deposit_sanity_check(store, true);
822
- deposit_internal(object::object_address(&store), fa);
823
- }
824
-
825
- /// Mint the specified `amount` of the fungible asset.
826
- public fun mint(ref: &MintRef, amount: u64): FungibleAsset acquires Supply, ConcurrentSupply {
827
- let metadata = ref.metadata;
828
- mint_internal(metadata, amount)
829
- }
830
-
831
- /// CAN ONLY BE CALLED BY coin.move for migration.
832
- public(friend) fun mint_internal(
833
- metadata: Object<Metadata>,
834
- amount: u64
835
- ): FungibleAsset acquires Supply, ConcurrentSupply {
836
- increase_supply(&metadata, amount);
837
- FungibleAsset {
838
- metadata,
839
- amount
840
- }
841
- }
842
-
843
- /// Mint the specified `amount` of the fungible asset to a destination store.
844
- public fun mint_to<T: key>(ref: &MintRef, store: Object<T>, amount: u64)
845
- acquires FungibleStore, Supply, ConcurrentSupply, DispatchFunctionStore, ConcurrentFungibleBalance {
846
- deposit_sanity_check(store, false);
847
- deposit_internal(object::object_address(&store), mint(ref, amount));
848
- }
849
-
850
- /// Enable/disable a store's ability to do direct transfers of the fungible asset.
851
- public fun set_frozen_flag<T: key>(
852
- ref: &TransferRef,
853
- store: Object<T>,
854
- frozen: bool,
855
- ) acquires FungibleStore {
856
- assert!(
857
- ref.metadata == store_metadata(store),
858
- error::invalid_argument(ETRANSFER_REF_AND_STORE_MISMATCH),
859
- );
860
- set_frozen_flag_internal(store, frozen)
861
- }
862
-
863
- public(friend) fun set_frozen_flag_internal<T: key>(
864
- store: Object<T>,
865
- frozen: bool
866
- ) acquires FungibleStore {
867
- let store_addr = object::object_address(&store);
868
- borrow_global_mut<FungibleStore>(store_addr).frozen = frozen;
869
-
870
- event::emit(Frozen { store: store_addr, frozen });
871
- }
872
-
873
- /// Burns a fungible asset
874
- public fun burn(ref: &BurnRef, fa: FungibleAsset) acquires Supply, ConcurrentSupply {
875
- assert!(
876
- ref.metadata == metadata_from_asset(&fa),
877
- error::invalid_argument(EBURN_REF_AND_FUNGIBLE_ASSET_MISMATCH)
878
- );
879
- burn_internal(fa);
880
- }
881
-
882
- /// CAN ONLY BE CALLED BY coin.move for migration.
883
- public(friend) fun burn_internal(
884
- fa: FungibleAsset
885
- ): u64 acquires Supply, ConcurrentSupply {
886
- let FungibleAsset {
887
- metadata,
888
- amount
889
- } = fa;
890
- decrease_supply(&metadata, amount);
891
- amount
892
- }
893
-
894
- /// Burn the `amount` of the fungible asset from the given store.
895
- public fun burn_from<T: key>(
896
- ref: &BurnRef,
897
- store: Object<T>,
898
- amount: u64
899
- ) acquires FungibleStore, Supply, ConcurrentSupply, ConcurrentFungibleBalance {
900
- // ref metadata match is checked in burn() call
901
- burn(ref, withdraw_internal(object::object_address(&store), amount));
902
- }
903
-
904
- public(friend) fun address_burn_from(
905
- ref: &BurnRef,
906
- store_addr: address,
907
- amount: u64
908
- ) acquires FungibleStore, Supply, ConcurrentSupply, ConcurrentFungibleBalance {
909
- // ref metadata match is checked in burn() call
910
- burn(ref, withdraw_internal(store_addr, amount));
911
- }
912
-
913
- /// Withdraw `amount` of the fungible asset from the `store` ignoring `frozen`.
914
- public fun withdraw_with_ref<T: key>(
915
- ref: &TransferRef,
916
- store: Object<T>,
917
- amount: u64
918
- ): FungibleAsset acquires FungibleStore, ConcurrentFungibleBalance {
919
- assert!(
920
- ref.metadata == store_metadata(store),
921
- error::invalid_argument(ETRANSFER_REF_AND_STORE_MISMATCH),
922
- );
923
- withdraw_internal(object::object_address(&store), amount)
924
- }
925
-
926
- /// Deposit the fungible asset into the `store` ignoring `frozen`.
927
- public fun deposit_with_ref<T: key>(
928
- ref: &TransferRef,
929
- store: Object<T>,
930
- fa: FungibleAsset
931
- ) acquires FungibleStore, ConcurrentFungibleBalance {
932
- assert!(
933
- ref.metadata == fa.metadata,
934
- error::invalid_argument(ETRANSFER_REF_AND_FUNGIBLE_ASSET_MISMATCH)
935
- );
936
- deposit_internal(object::object_address(&store), fa);
937
- }
938
-
939
- /// Transfer `amount` of the fungible asset with `TransferRef` even it is frozen.
940
- public fun transfer_with_ref<T: key>(
941
- transfer_ref: &TransferRef,
942
- from: Object<T>,
943
- to: Object<T>,
944
- amount: u64,
945
- ) acquires FungibleStore, ConcurrentFungibleBalance {
946
- let fa = withdraw_with_ref(transfer_ref, from, amount);
947
- deposit_with_ref(transfer_ref, to, fa);
948
- }
949
-
950
- /// Mutate specified fields of the fungible asset's `Metadata`.
951
- public fun mutate_metadata(
952
- metadata_ref: &MutateMetadataRef,
953
- name: Option<String>,
954
- symbol: Option<String>,
955
- decimals: Option<u8>,
956
- icon_uri: Option<String>,
957
- project_uri: Option<String>,
958
- ) acquires Metadata {
959
- let metadata_address = object::object_address(&metadata_ref.metadata);
960
- let mutable_metadata = borrow_global_mut<Metadata>(metadata_address);
961
-
962
- if (option::is_some(&name)){
963
- mutable_metadata.name = option::extract(&mut name);
964
- };
965
- if (option::is_some(&symbol)){
966
- mutable_metadata.symbol = option::extract(&mut symbol);
967
- };
968
- if (option::is_some(&decimals)){
969
- mutable_metadata.decimals = option::extract(&mut decimals);
970
- };
971
- if (option::is_some(&icon_uri)){
972
- mutable_metadata.icon_uri = option::extract(&mut icon_uri);
973
- };
974
- if (option::is_some(&project_uri)){
975
- mutable_metadata.project_uri = option::extract(&mut project_uri);
976
- };
977
- }
978
-
979
- /// Create a fungible asset with zero amount.
980
- /// This can be useful when starting a series of computations where the initial value is 0.
981
- public fun zero<T: key>(metadata: Object<T>): FungibleAsset {
982
- FungibleAsset {
983
- metadata: object::convert(metadata),
984
- amount: 0,
985
- }
986
- }
987
-
988
- /// Extract a given amount from the given fungible asset and return a new one.
989
- public fun extract(fungible_asset: &mut FungibleAsset, amount: u64): FungibleAsset {
990
- assert!(fungible_asset.amount >= amount, error::invalid_argument(EINSUFFICIENT_BALANCE));
991
- fungible_asset.amount = fungible_asset.amount - amount;
992
- FungibleAsset {
993
- metadata: fungible_asset.metadata,
994
- amount,
995
- }
996
- }
997
-
998
- /// "Merges" the two given fungible assets. The fungible asset passed in as `dst_fungible_asset` will have a value
999
- /// equal to the sum of the two (`dst_fungible_asset` and `src_fungible_asset`).
1000
- public fun merge(dst_fungible_asset: &mut FungibleAsset, src_fungible_asset: FungibleAsset) {
1001
- let FungibleAsset { metadata, amount } = src_fungible_asset;
1002
- assert!(metadata == dst_fungible_asset.metadata, error::invalid_argument(EFUNGIBLE_ASSET_MISMATCH));
1003
- dst_fungible_asset.amount = dst_fungible_asset.amount + amount;
1004
- }
1005
-
1006
- /// Destroy an empty fungible asset.
1007
- public fun destroy_zero(fungible_asset: FungibleAsset) {
1008
- let FungibleAsset { amount, metadata: _ } = fungible_asset;
1009
- assert!(amount == 0, error::invalid_argument(EAMOUNT_IS_NOT_ZERO));
1010
- }
1011
-
1012
- public(friend) fun deposit_internal(store_addr: address, fa: FungibleAsset) acquires FungibleStore, ConcurrentFungibleBalance {
1013
- let FungibleAsset { metadata, amount } = fa;
1014
- assert!(exists<FungibleStore>(store_addr), error::not_found(EFUNGIBLE_STORE_EXISTENCE));
1015
- let store = borrow_global_mut<FungibleStore>(store_addr);
1016
- assert!(metadata == store.metadata, error::invalid_argument(EFUNGIBLE_ASSET_AND_STORE_MISMATCH));
1017
-
1018
- if (amount == 0) return;
1019
-
1020
- if (store.balance == 0 && concurrent_fungible_balance_exists_inline(store_addr)) {
1021
- let balance_resource = borrow_global_mut<ConcurrentFungibleBalance>(store_addr);
1022
- aggregator_v2::add(&mut balance_resource.balance, amount);
1023
- } else {
1024
- store.balance = store.balance + amount;
1025
- };
1026
-
1027
- event::emit(Deposit { store: store_addr, amount });
1028
- }
1029
-
1030
- /// Extract `amount` of the fungible asset from `store`.
1031
- public(friend) fun withdraw_internal(
1032
- store_addr: address,
1033
- amount: u64,
1034
- ): FungibleAsset acquires FungibleStore, ConcurrentFungibleBalance {
1035
- assert!(exists<FungibleStore>(store_addr), error::not_found(EFUNGIBLE_STORE_EXISTENCE));
1036
-
1037
- let store = borrow_global_mut<FungibleStore>(store_addr);
1038
- let metadata = store.metadata;
1039
- if (amount != 0) {
1040
- if (store.balance == 0 && concurrent_fungible_balance_exists_inline(store_addr)) {
1041
- let balance_resource = borrow_global_mut<ConcurrentFungibleBalance>(store_addr);
1042
- assert!(
1043
- aggregator_v2::try_sub(&mut balance_resource.balance, amount),
1044
- error::invalid_argument(EINSUFFICIENT_BALANCE)
1045
- );
1046
- } else {
1047
- assert!(store.balance >= amount, error::invalid_argument(EINSUFFICIENT_BALANCE));
1048
- store.balance = store.balance - amount;
1049
- };
1050
-
1051
- event::emit<Withdraw>(Withdraw { store: store_addr, amount });
1052
- };
1053
- FungibleAsset { metadata, amount }
1054
- }
1055
-
1056
- /// Increase the supply of a fungible asset by minting.
1057
- fun increase_supply<T: key>(metadata: &Object<T>, amount: u64) acquires Supply, ConcurrentSupply {
1058
- if (amount == 0) {
1059
- return
1060
- };
1061
- let metadata_address = object::object_address(metadata);
1062
-
1063
- if (exists<ConcurrentSupply>(metadata_address)) {
1064
- let supply = borrow_global_mut<ConcurrentSupply>(metadata_address);
1065
- assert!(
1066
- aggregator_v2::try_add(&mut supply.current, (amount as u128)),
1067
- error::out_of_range(EMAX_SUPPLY_EXCEEDED)
1068
- );
1069
- } else if (exists<Supply>(metadata_address)) {
1070
- let supply = borrow_global_mut<Supply>(metadata_address);
1071
- if (option::is_some(&supply.maximum)) {
1072
- let max = *option::borrow_mut(&mut supply.maximum);
1073
- assert!(
1074
- max - supply.current >= (amount as u128),
1075
- error::out_of_range(EMAX_SUPPLY_EXCEEDED)
1076
- )
1077
- };
1078
- supply.current = supply.current + (amount as u128);
1079
- } else {
1080
- abort error::not_found(ESUPPLY_NOT_FOUND)
1081
- }
1082
- }
1083
-
1084
- /// Decrease the supply of a fungible asset by burning.
1085
- fun decrease_supply<T: key>(metadata: &Object<T>, amount: u64) acquires Supply, ConcurrentSupply {
1086
- if (amount == 0) {
1087
- return
1088
- };
1089
- let metadata_address = object::object_address(metadata);
1090
-
1091
- if (exists<ConcurrentSupply>(metadata_address)) {
1092
- let supply = borrow_global_mut<ConcurrentSupply>(metadata_address);
1093
-
1094
- assert!(
1095
- aggregator_v2::try_sub(&mut supply.current, (amount as u128)),
1096
- error::out_of_range(ESUPPLY_UNDERFLOW)
1097
- );
1098
- } else if (exists<Supply>(metadata_address)) {
1099
- assert!(exists<Supply>(metadata_address), error::not_found(ESUPPLY_NOT_FOUND));
1100
- let supply = borrow_global_mut<Supply>(metadata_address);
1101
- assert!(
1102
- supply.current >= (amount as u128),
1103
- error::invalid_state(ESUPPLY_UNDERFLOW)
1104
- );
1105
- supply.current = supply.current - (amount as u128);
1106
- } else {
1107
- assert!(false, error::not_found(ESUPPLY_NOT_FOUND));
1108
- }
1109
- }
1110
-
1111
- inline fun borrow_fungible_metadata<T: key>(
1112
- metadata: &Object<T>
1113
- ): &Metadata acquires Metadata {
1114
- let addr = object::object_address(metadata);
1115
- borrow_global<Metadata>(addr)
1116
- }
1117
-
1118
- inline fun borrow_fungible_metadata_mut<T: key>(
1119
- metadata: &Object<T>
1120
- ): &mut Metadata acquires Metadata {
1121
- let addr = object::object_address(metadata);
1122
- borrow_global_mut<Metadata>(addr)
1123
- }
1124
-
1125
- inline fun borrow_store_resource<T: key>(store: &Object<T>): &FungibleStore acquires FungibleStore {
1126
- let store_addr = object::object_address(store);
1127
- assert!(exists<FungibleStore>(store_addr), error::not_found(EFUNGIBLE_STORE_EXISTENCE));
1128
- borrow_global<FungibleStore>(store_addr)
1129
- }
1130
-
1131
- public fun upgrade_to_concurrent(
1132
- ref: &ExtendRef,
1133
- ) acquires Supply {
1134
- let metadata_object_address = object::address_from_extend_ref(ref);
1135
- let metadata_object_signer = object::generate_signer_for_extending(ref);
1136
- assert!(
1137
- features::concurrent_fungible_assets_enabled(),
1138
- error::invalid_argument(ECONCURRENT_SUPPLY_NOT_ENABLED)
1139
- );
1140
- assert!(exists<Supply>(metadata_object_address), error::not_found(ESUPPLY_NOT_FOUND));
1141
- let Supply {
1142
- current,
1143
- maximum,
1144
- } = move_from<Supply>(metadata_object_address);
1145
-
1146
- let unlimited = option::is_none(&maximum);
1147
- let supply = ConcurrentSupply {
1148
- current: if (unlimited) {
1149
- aggregator_v2::create_unbounded_aggregator_with_value(current)
1150
- }
1151
- else {
1152
- aggregator_v2::create_aggregator_with_value(current, option::extract(&mut maximum))
1153
- },
1154
- };
1155
- move_to(&metadata_object_signer, supply);
1156
- }
1157
-
1158
- public entry fun upgrade_store_to_concurrent<T: key>(
1159
- owner: &signer,
1160
- store: Object<T>,
1161
- ) acquires FungibleStore {
1162
- assert!(object::owns(store, signer::address_of(owner)), error::permission_denied(ENOT_STORE_OWNER));
1163
- assert!(!is_frozen(store), error::invalid_argument(ESTORE_IS_FROZEN));
1164
- assert!(allow_upgrade_to_concurrent_fungible_balance(), error::invalid_argument(ECONCURRENT_BALANCE_NOT_ENABLED));
1165
- ensure_store_upgraded_to_concurrent_internal(object::object_address(&store));
1166
- }
1167
-
1168
- /// Ensure a known `FungibleStore` has `ConcurrentFungibleBalance`.
1169
- fun ensure_store_upgraded_to_concurrent_internal(
1170
- fungible_store_address: address,
1171
- ) acquires FungibleStore {
1172
- if (exists<ConcurrentFungibleBalance>(fungible_store_address)) {
1173
- return
1174
- };
1175
- let store = borrow_global_mut<FungibleStore>(fungible_store_address);
1176
- let balance = aggregator_v2::create_unbounded_aggregator_with_value(store.balance);
1177
- store.balance = 0;
1178
- let object_signer = create_signer::create_signer(fungible_store_address);
1179
- move_to(&object_signer, ConcurrentFungibleBalance { balance });
1180
- }
1181
-
1182
- #[test_only]
1183
- use aptos_framework::account;
1184
-
1185
- #[test_only]
1186
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
1187
-
1188
- struct TestToken has key {}
1189
-
1190
- #[test_only]
1191
- public fun create_test_token(creator: &signer): (ConstructorRef, Object<TestToken>) {
1192
- account::create_account_for_test(signer::address_of(creator));
1193
- let creator_ref = object::create_named_object(creator, b"TEST");
1194
- let object_signer = object::generate_signer(&creator_ref);
1195
- move_to(&object_signer, TestToken {});
1196
-
1197
- let token = object::object_from_constructor_ref<TestToken>(&creator_ref);
1198
- (creator_ref, token)
1199
- }
1200
-
1201
- #[test_only]
1202
- public fun init_test_metadata(constructor_ref: &ConstructorRef): (MintRef, TransferRef, BurnRef, MutateMetadataRef) {
1203
- add_fungibility(
1204
- constructor_ref,
1205
- option::some(100) /* max supply */,
1206
- string::utf8(b"TEST"),
1207
- string::utf8(b"@@"),
1208
- 0,
1209
- string::utf8(b"http://www.example.com/favicon.ico"),
1210
- string::utf8(b"http://www.example.com"),
1211
- );
1212
- let mint_ref = generate_mint_ref(constructor_ref);
1213
- let burn_ref = generate_burn_ref(constructor_ref);
1214
- let transfer_ref = generate_transfer_ref(constructor_ref);
1215
- let mutate_metadata_ref= generate_mutate_metadata_ref(constructor_ref);
1216
- (mint_ref, transfer_ref, burn_ref, mutate_metadata_ref)
1217
- }
1218
-
1219
- #[test_only]
1220
- public fun create_fungible_asset(
1221
- creator: &signer
1222
- ): (MintRef, TransferRef, BurnRef, MutateMetadataRef, Object<Metadata>) {
1223
- let (creator_ref, token_object) = create_test_token(creator);
1224
- let (mint, transfer, burn, mutate_metadata) = init_test_metadata(&creator_ref);
1225
- (mint, transfer, burn, mutate_metadata, object::convert(token_object))
1226
- }
1227
-
1228
- #[test_only]
1229
- public fun create_test_store<T: key>(owner: &signer, metadata: Object<T>): Object<FungibleStore> {
1230
- let owner_addr = signer::address_of(owner);
1231
- if (!account::exists_at(owner_addr)) {
1232
- account::create_account_for_test(owner_addr);
1233
- };
1234
- create_store(&object::create_object_from_account(owner), metadata)
1235
- }
1236
-
1237
- #[test(creator = @0xcafe)]
1238
- fun test_metadata_basic_flow(creator: &signer) acquires Metadata, Supply, ConcurrentSupply {
1239
- let (creator_ref, metadata) = create_test_token(creator);
1240
- init_test_metadata(&creator_ref);
1241
- assert!(supply(metadata) == option::some(0), 1);
1242
- assert!(maximum(metadata) == option::some(100), 2);
1243
- assert!(name(metadata) == string::utf8(b"TEST"), 3);
1244
- assert!(symbol(metadata) == string::utf8(b"@@"), 4);
1245
- assert!(decimals(metadata) == 0, 5);
1246
- assert!(icon_uri(metadata) == string::utf8(b"http://www.example.com/favicon.ico"), 6);
1247
- assert!(project_uri(metadata) == string::utf8(b"http://www.example.com"), 7);
1248
-
1249
- assert!(metadata(metadata) == Metadata {
1250
- name: string::utf8(b"TEST"),
1251
- symbol: string::utf8(b"@@"),
1252
- decimals: 0,
1253
- icon_uri: string::utf8(b"http://www.example.com/favicon.ico"),
1254
- project_uri: string::utf8(b"http://www.example.com"),
1255
- }, 8);
1256
-
1257
- increase_supply(&metadata, 50);
1258
- assert!(supply(metadata) == option::some(50), 9);
1259
- decrease_supply(&metadata, 30);
1260
- assert!(supply(metadata) == option::some(20), 10);
1261
- }
1262
-
1263
- #[test(creator = @0xcafe)]
1264
- #[expected_failure(abort_code = 0x20005, location = Self)]
1265
- fun test_supply_overflow(creator: &signer) acquires Supply, ConcurrentSupply {
1266
- let (creator_ref, metadata) = create_test_token(creator);
1267
- init_test_metadata(&creator_ref);
1268
- increase_supply(&metadata, 101);
1269
- }
1270
-
1271
- #[test(creator = @0xcafe)]
1272
- fun test_create_and_remove_store(creator: &signer) acquires FungibleStore, FungibleAssetEvents, ConcurrentFungibleBalance {
1273
- let (_, _, _, _, metadata) = create_fungible_asset(creator);
1274
- let creator_ref = object::create_object_from_account(creator);
1275
- create_store(&creator_ref, metadata);
1276
- let delete_ref = object::generate_delete_ref(&creator_ref);
1277
- remove_store(&delete_ref);
1278
- }
1279
-
1280
- #[test(creator = @0xcafe, aaron = @0xface)]
1281
- fun test_e2e_basic_flow(
1282
- creator: &signer,
1283
- aaron: &signer,
1284
- ) acquires FungibleStore, Supply, ConcurrentSupply, DispatchFunctionStore, ConcurrentFungibleBalance, Metadata {
1285
- let (mint_ref, transfer_ref, burn_ref, mutate_metadata_ref, test_token) = create_fungible_asset(creator);
1286
- let metadata = mint_ref.metadata;
1287
- let creator_store = create_test_store(creator, metadata);
1288
- let aaron_store = create_test_store(aaron, metadata);
1289
-
1290
- assert!(supply(test_token) == option::some(0), 1);
1291
- // Mint
1292
- let fa = mint(&mint_ref, 100);
1293
- assert!(supply(test_token) == option::some(100), 2);
1294
- // Deposit
1295
- deposit(creator_store, fa);
1296
- // Withdraw
1297
- let fa = withdraw(creator, creator_store, 80);
1298
- assert!(supply(test_token) == option::some(100), 3);
1299
- deposit(aaron_store, fa);
1300
- // Burn
1301
- burn_from(&burn_ref, aaron_store, 30);
1302
- assert!(supply(test_token) == option::some(70), 4);
1303
- // Transfer
1304
- transfer(creator, creator_store, aaron_store, 10);
1305
- assert!(balance(creator_store) == 10, 5);
1306
- assert!(balance(aaron_store) == 60, 6);
1307
-
1308
- set_frozen_flag(&transfer_ref, aaron_store, true);
1309
- assert!(is_frozen(aaron_store), 7);
1310
- // Mutate Metadata
1311
- mutate_metadata(
1312
- &mutate_metadata_ref,
1313
- option::some(string::utf8(b"mutated_name")),
1314
- option::some(string::utf8(b"mutated_symbol")),
1315
- option::none(),
1316
- option::none(),
1317
- option::none()
1318
- );
1319
- assert!(name(metadata) == string::utf8(b"mutated_name"), 8);
1320
- assert!(symbol(metadata) == string::utf8(b"mutated_symbol"), 9);
1321
- assert!(decimals(metadata) == 0, 10);
1322
- assert!(icon_uri(metadata) == string::utf8(b"http://www.example.com/favicon.ico"), 11);
1323
- assert!(project_uri(metadata) == string::utf8(b"http://www.example.com"), 12);
1324
- }
1325
-
1326
- #[test(creator = @0xcafe)]
1327
- #[expected_failure(abort_code = 0x50003, location = Self)]
1328
- fun test_frozen(
1329
- creator: &signer
1330
- ) acquires FungibleStore, Supply, ConcurrentSupply, DispatchFunctionStore, ConcurrentFungibleBalance {
1331
- let (mint_ref, transfer_ref, _burn_ref, _mutate_metadata_ref, _) = create_fungible_asset(creator);
1332
-
1333
- let creator_store = create_test_store(creator, mint_ref.metadata);
1334
- let fa = mint(&mint_ref, 100);
1335
- set_frozen_flag(&transfer_ref, creator_store, true);
1336
- deposit(creator_store, fa);
1337
- }
1338
-
1339
- #[test(creator = @0xcafe)]
1340
- #[expected_failure(abort_code = 0x50003, location = Self)]
1341
- fun test_mint_to_frozen(
1342
- creator: &signer
1343
- ) acquires FungibleStore, ConcurrentFungibleBalance, Supply, ConcurrentSupply, DispatchFunctionStore {
1344
- let (mint_ref, transfer_ref, _burn_ref, _mutate_metadata_ref, _) = create_fungible_asset(creator);
1345
-
1346
- let creator_store = create_test_store(creator, mint_ref.metadata);
1347
- set_frozen_flag(&transfer_ref, creator_store, true);
1348
- mint_to(&mint_ref, creator_store, 100);
1349
- }
1350
-
1351
- #[test(creator = @0xcafe)]
1352
- #[expected_failure(abort_code = 0x50003, location = aptos_framework::object)]
1353
- fun test_untransferable(
1354
- creator: &signer
1355
- ) {
1356
- let (creator_ref, _) = create_test_token(creator);
1357
- let (mint_ref, _, _, _) = init_test_metadata(&creator_ref);
1358
- set_untransferable(&creator_ref);
1359
-
1360
- let creator_store = create_test_store(creator, mint_ref.metadata);
1361
- object::transfer(creator, creator_store, @0x456);
1362
- }
1363
-
1364
- #[test(creator = @0xcafe, aaron = @0xface)]
1365
- fun test_transfer_with_ref(
1366
- creator: &signer,
1367
- aaron: &signer,
1368
- ) acquires FungibleStore, Supply, ConcurrentSupply, ConcurrentFungibleBalance {
1369
- let (mint_ref, transfer_ref, _burn_ref, _mutate_metadata_ref, _) = create_fungible_asset(creator);
1370
- let metadata = mint_ref.metadata;
1371
- let creator_store = create_test_store(creator, metadata);
1372
- let aaron_store = create_test_store(aaron, metadata);
1373
-
1374
- let fa = mint(&mint_ref, 100);
1375
- set_frozen_flag(&transfer_ref, creator_store, true);
1376
- set_frozen_flag(&transfer_ref, aaron_store, true);
1377
- deposit_with_ref(&transfer_ref, creator_store, fa);
1378
- transfer_with_ref(&transfer_ref, creator_store, aaron_store, 80);
1379
- assert!(balance(creator_store) == 20, 1);
1380
- assert!(balance(aaron_store) == 80, 2);
1381
- assert!(!!is_frozen(creator_store), 3);
1382
- assert!(!!is_frozen(aaron_store), 4);
1383
- }
1384
-
1385
- #[test(creator = @0xcafe)]
1386
- fun test_mutate_metadata(
1387
- creator: &signer
1388
- ) acquires Metadata {
1389
- let (mint_ref, _transfer_ref, _burn_ref, mutate_metadata_ref, _) = create_fungible_asset(creator);
1390
- let metadata = mint_ref.metadata;
1391
-
1392
- mutate_metadata(
1393
- &mutate_metadata_ref,
1394
- option::some(string::utf8(b"mutated_name")),
1395
- option::some(string::utf8(b"mutated_symbol")),
1396
- option::some(10),
1397
- option::some(string::utf8(b"http://www.mutated-example.com/favicon.ico")),
1398
- option::some(string::utf8(b"http://www.mutated-example.com"))
1399
- );
1400
- assert!(name(metadata) == string::utf8(b"mutated_name"), 1);
1401
- assert!(symbol(metadata) == string::utf8(b"mutated_symbol"), 2);
1402
- assert!(decimals(metadata) == 10, 3);
1403
- assert!(icon_uri(metadata) == string::utf8(b"http://www.mutated-example.com/favicon.ico"), 4);
1404
- assert!(project_uri(metadata) == string::utf8(b"http://www.mutated-example.com"), 5);
1405
- }
1406
-
1407
- #[test(creator = @0xcafe)]
1408
- fun test_partial_mutate_metadata(
1409
- creator: &signer
1410
- ) acquires Metadata {
1411
- let (mint_ref, _transfer_ref, _burn_ref, mutate_metadata_ref, _) = create_fungible_asset(creator);
1412
- let metadata = mint_ref.metadata;
1413
-
1414
- mutate_metadata(
1415
- &mutate_metadata_ref,
1416
- option::some(string::utf8(b"mutated_name")),
1417
- option::some(string::utf8(b"mutated_symbol")),
1418
- option::none(),
1419
- option::none(),
1420
- option::none()
1421
- );
1422
- assert!(name(metadata) == string::utf8(b"mutated_name"), 8);
1423
- assert!(symbol(metadata) == string::utf8(b"mutated_symbol"), 9);
1424
- assert!(decimals(metadata) == 0, 10);
1425
- assert!(icon_uri(metadata) == string::utf8(b"http://www.example.com/favicon.ico"), 11);
1426
- assert!(project_uri(metadata) == string::utf8(b"http://www.example.com"), 12);
1427
- }
1428
-
1429
- #[test(creator = @0xcafe)]
1430
- fun test_merge_and_exact(creator: &signer) acquires Supply, ConcurrentSupply {
1431
- let (mint_ref, _transfer_ref, burn_ref, _mutate_metadata_ref, _) = create_fungible_asset(creator);
1432
- let fa = mint(&mint_ref, 100);
1433
- let cash = extract(&mut fa, 80);
1434
- assert!(fa.amount == 20, 1);
1435
- assert!(cash.amount == 80, 2);
1436
- let more_cash = extract(&mut fa, 20);
1437
- destroy_zero(fa);
1438
- merge(&mut cash, more_cash);
1439
- assert!(cash.amount == 100, 3);
1440
- burn(&burn_ref, cash);
1441
- }
1442
-
1443
- #[test(creator = @0xcafe)]
1444
- #[expected_failure(abort_code = 0x10012, location = Self)]
1445
- fun test_add_fungibility_to_deletable_object(creator: &signer) {
1446
- account::create_account_for_test(signer::address_of(creator));
1447
- let creator_ref = &object::create_object_from_account(creator);
1448
- init_test_metadata(creator_ref);
1449
- }
1450
-
1451
- #[test(creator = @0xcafe, aaron = @0xface)]
1452
- #[expected_failure(abort_code = 0x10006, location = Self)]
1453
- fun test_fungible_asset_mismatch_when_merge(creator: &signer, aaron: &signer) {
1454
- let (_, _, _, _, metadata1) = create_fungible_asset(creator);
1455
- let (_, _, _, _, metadata2) = create_fungible_asset(aaron);
1456
- let base = FungibleAsset {
1457
- metadata: metadata1,
1458
- amount: 1,
1459
- };
1460
- let addon = FungibleAsset {
1461
- metadata: metadata2,
1462
- amount: 1
1463
- };
1464
- merge(&mut base, addon);
1465
- let FungibleAsset {
1466
- metadata: _,
1467
- amount: _
1468
- } = base;
1469
- }
1470
-
1471
- #[test(fx = @aptos_framework, creator = @0xcafe)]
1472
- fun test_fungible_asset_upgrade(fx: &signer, creator: &signer) acquires Supply, ConcurrentSupply, FungibleStore, ConcurrentFungibleBalance {
1473
- let supply_feature = features::get_concurrent_fungible_assets_feature();
1474
- let balance_feature = features::get_concurrent_fungible_balance_feature();
1475
- let default_balance_feature = features::get_default_to_concurrent_fungible_balance_feature();
1476
-
1477
- features::change_feature_flags_for_testing(fx, vector[], vector[supply_feature, balance_feature, default_balance_feature]);
1478
-
1479
- let (creator_ref, token_object) = create_test_token(creator);
1480
- let (mint_ref, transfer_ref, _burn, _mutate_metadata_ref) = init_test_metadata(&creator_ref);
1481
- let test_token = object::convert<TestToken, Metadata>(token_object);
1482
- assert!(exists<Supply>(object::object_address(&test_token)), 1);
1483
- assert!(!exists<ConcurrentSupply>(object::object_address(&test_token)), 2);
1484
- let creator_store = create_test_store(creator, test_token);
1485
- assert!(exists<FungibleStore>(object::object_address(&creator_store)), 3);
1486
- assert!(!exists<ConcurrentFungibleBalance>(object::object_address(&creator_store)), 4);
1487
-
1488
- let fa = mint(&mint_ref, 30);
1489
- assert!(supply(test_token) == option::some(30), 5);
1490
-
1491
- deposit_with_ref(&transfer_ref, creator_store, fa);
1492
- assert!(exists<FungibleStore>(object::object_address(&creator_store)), 13);
1493
- assert!(borrow_store_resource(&creator_store).balance == 30, 14);
1494
- assert!(!exists<ConcurrentFungibleBalance>(object::object_address(&creator_store)), 15);
1495
-
1496
- features::change_feature_flags_for_testing(fx, vector[supply_feature, balance_feature], vector[default_balance_feature]);
1497
-
1498
- let extend_ref = object::generate_extend_ref(&creator_ref);
1499
- // manual conversion of supply
1500
- upgrade_to_concurrent(&extend_ref);
1501
- assert!(!exists<Supply>(object::object_address(&test_token)), 6);
1502
- assert!(exists<ConcurrentSupply>(object::object_address(&test_token)), 7);
1503
-
1504
- // assert conversion of balance
1505
- upgrade_store_to_concurrent(creator, creator_store);
1506
- let fb = withdraw_with_ref(&transfer_ref, creator_store, 20);
1507
- // both store and new balance need to exist. Old balance should be 0.
1508
- assert!(exists<FungibleStore>(object::object_address(&creator_store)), 9);
1509
- assert!(borrow_store_resource(&creator_store).balance == 0, 10);
1510
- assert!(exists<ConcurrentFungibleBalance>(object::object_address(&creator_store)), 11);
1511
- assert!(aggregator_v2::read(&borrow_global<ConcurrentFungibleBalance>(object::object_address(&creator_store)).balance) == 10, 12);
1512
-
1513
- deposit_with_ref(&transfer_ref, creator_store, fb);
1514
- }
1515
-
1516
- #[test(fx = @aptos_framework, creator = @0xcafe)]
1517
- fun test_fungible_asset_default_concurrent(fx: &signer, creator: &signer) acquires Supply, ConcurrentSupply, FungibleStore, ConcurrentFungibleBalance {
1518
- let supply_feature = features::get_concurrent_fungible_assets_feature();
1519
- let balance_feature = features::get_concurrent_fungible_balance_feature();
1520
- let default_balance_feature = features::get_default_to_concurrent_fungible_balance_feature();
1521
-
1522
- features::change_feature_flags_for_testing(fx, vector[supply_feature, balance_feature, default_balance_feature], vector[]);
1523
-
1524
- let (creator_ref, token_object) = create_test_token(creator);
1525
- let (mint_ref, transfer_ref, _burn, _mutate_metadata_ref) = init_test_metadata(&creator_ref);
1526
- let test_token = object::convert<TestToken, Metadata>(token_object);
1527
- assert!(!exists<Supply>(object::object_address(&test_token)), 1);
1528
- assert!(exists<ConcurrentSupply>(object::object_address(&test_token)), 2);
1529
- let creator_store = create_test_store(creator, test_token);
1530
- assert!(exists<FungibleStore>(object::object_address(&creator_store)), 3);
1531
- assert!(exists<ConcurrentFungibleBalance>(object::object_address(&creator_store)), 4);
1532
-
1533
- let fa = mint(&mint_ref, 30);
1534
- assert!(supply(test_token) == option::some(30), 5);
1535
-
1536
- deposit_with_ref(&transfer_ref, creator_store, fa);
1537
-
1538
- assert!(exists<FungibleStore>(object::object_address(&creator_store)), 9);
1539
- assert!(borrow_store_resource(&creator_store).balance == 0, 10);
1540
- assert!(exists<ConcurrentFungibleBalance>(object::object_address(&creator_store)), 11);
1541
- assert!(aggregator_v2::read(&borrow_global<ConcurrentFungibleBalance>(object::object_address(&creator_store)).balance) == 30, 12);
1542
- }
1543
-
1544
- #[deprecated]
1545
- #[resource_group_member(group = aptos_framework::object::ObjectGroup)]
1546
- struct FungibleAssetEvents has key {
1547
- deposit_events: event::EventHandle<DepositEvent>,
1548
- withdraw_events: event::EventHandle<WithdrawEvent>,
1549
- frozen_events: event::EventHandle<FrozenEvent>,
1550
- }
1551
-
1552
- #[deprecated]
1553
- struct DepositEvent has drop, store {
1554
- amount: u64,
1555
- }
1556
-
1557
- #[deprecated]
1558
- struct WithdrawEvent has drop, store {
1559
- amount: u64,
1560
- }
1561
-
1562
- #[deprecated]
1563
- struct FrozenEvent has drop, store {
1564
- frozen: bool,
1565
- }
1566
- }