@aptos-labs/ts-sdk 1.27.0 → 1.27.1-zeta.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 (793) hide show
  1. package/dist/common/{accountAddress-C7mFGxlX.d.ts → accountAddress-BeSCq9i_.d.ts} +8 -1
  2. package/dist/common/chunk-CZKNJSPC.js +46 -0
  3. package/dist/common/chunk-CZKNJSPC.js.map +1 -0
  4. package/dist/common/cli/index.d.ts +1 -1
  5. package/dist/common/cli/index.js +453 -1
  6. package/dist/common/cli/index.js.map +1 -1
  7. package/dist/common/index.d.ts +252 -19
  8. package/dist/common/index.js +12738 -412
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/esm/account/Account.mjs +70 -1
  11. package/dist/esm/account/Ed25519Account.mjs +68 -1
  12. package/dist/esm/account/EphemeralKeyPair.mjs +49 -1
  13. package/dist/esm/account/FederatedKeylessAccount.d.mts +177 -0
  14. package/dist/esm/account/FederatedKeylessAccount.mjs +71 -0
  15. package/dist/esm/account/KeylessAccount.d.mts +29 -3
  16. package/dist/esm/account/KeylessAccount.mjs +71 -1
  17. package/dist/esm/account/MultiKeyAccount.mjs +70 -1
  18. package/dist/esm/account/SingleKeyAccount.mjs +68 -1
  19. package/dist/esm/account/index.d.mts +1 -1
  20. package/dist/esm/account/index.mjs +91 -1
  21. package/dist/esm/api/account.mjs +81 -1
  22. package/dist/esm/api/ans.mjs +91 -1
  23. package/dist/esm/api/aptos.d.mts +2 -0
  24. package/dist/esm/api/aptos.mjs +124 -1
  25. package/dist/esm/api/aptosConfig.mjs +9 -1
  26. package/dist/esm/api/coin.mjs +90 -1
  27. package/dist/esm/api/digitalAsset.mjs +91 -1
  28. package/dist/esm/api/event.mjs +58 -1
  29. package/dist/esm/api/faucet.mjs +57 -1
  30. package/dist/esm/api/fungibleAsset.mjs +91 -1
  31. package/dist/esm/api/general.mjs +89 -1
  32. package/dist/esm/api/index.d.mts +2 -0
  33. package/dist/esm/api/index.mjs +128 -1
  34. package/dist/esm/api/keyless.d.mts +15 -16
  35. package/dist/esm/api/keyless.mjs +81 -1
  36. package/dist/esm/api/object.mjs +58 -1
  37. package/dist/esm/api/staking.mjs +58 -1
  38. package/dist/esm/api/table.mjs +36 -1
  39. package/dist/esm/api/transaction.mjs +98 -1
  40. package/dist/esm/api/transactionSubmission/build.mjs +89 -1
  41. package/dist/esm/api/transactionSubmission/helpers.mjs +9 -1
  42. package/dist/esm/api/transactionSubmission/management.mjs +93 -1
  43. package/dist/esm/api/transactionSubmission/sign.mjs +113 -1
  44. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  45. package/dist/esm/api/transactionSubmission/simulate.mjs +90 -1
  46. package/dist/esm/api/transactionSubmission/submit.mjs +90 -1
  47. package/dist/esm/api/utils.mjs +34 -1
  48. package/dist/esm/bcs/consts.mjs +17 -1
  49. package/dist/esm/bcs/deserializer.d.mts +6 -0
  50. package/dist/esm/bcs/deserializer.mjs +8 -1
  51. package/dist/esm/bcs/index.mjs +57 -1
  52. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +12 -1
  53. package/dist/esm/bcs/serializable/fixedBytes.mjs +11 -1
  54. package/dist/esm/bcs/serializable/movePrimitives.mjs +25 -1
  55. package/dist/esm/bcs/serializable/moveStructs.mjs +18 -1
  56. package/dist/esm/bcs/serializer.mjs +18 -1
  57. package/dist/esm/chunk-26HCJOBL.mjs +23 -0
  58. package/dist/esm/{chunk-BOYYQAB4.mjs.map → chunk-26HCJOBL.mjs.map} +1 -1
  59. package/dist/esm/chunk-2CPL3GJ7.mjs +132 -0
  60. package/dist/esm/{chunk-MXCLTDVQ.mjs.map → chunk-2CPL3GJ7.mjs.map} +1 -1
  61. package/dist/esm/chunk-2LHXYQXO.mjs +673 -0
  62. package/dist/esm/{chunk-U3U5DCSJ.mjs.map → chunk-2LHXYQXO.mjs.map} +1 -1
  63. package/dist/esm/chunk-2P7TONQL.mjs +36 -0
  64. package/dist/esm/{chunk-LYHKOJUH.mjs.map → chunk-2P7TONQL.mjs.map} +1 -1
  65. package/dist/esm/chunk-2UN35LUX.mjs +84 -0
  66. package/dist/esm/{chunk-J6ANJ7FB.mjs.map → chunk-2UN35LUX.mjs.map} +1 -1
  67. package/dist/esm/chunk-2ZOJUUXC.mjs +121 -0
  68. package/dist/esm/chunk-2ZOJUUXC.mjs.map +1 -0
  69. package/dist/esm/chunk-3NHOLSZE.mjs +65 -0
  70. package/dist/esm/chunk-3NHOLSZE.mjs.map +1 -0
  71. package/dist/esm/chunk-3V5WGOZH.mjs +118 -0
  72. package/dist/esm/{chunk-SEHLOI3A.mjs.map → chunk-3V5WGOZH.mjs.map} +1 -1
  73. package/dist/esm/chunk-3WDVQYWL.mjs +51 -0
  74. package/dist/esm/{chunk-ZYXAQCTP.mjs.map → chunk-3WDVQYWL.mjs.map} +1 -1
  75. package/dist/esm/chunk-4FVXWQGX.mjs +211 -0
  76. package/dist/esm/chunk-4FVXWQGX.mjs.map +1 -0
  77. package/dist/esm/chunk-4K4TZF3H.mjs +38 -0
  78. package/dist/esm/{chunk-L36ZHC7J.mjs.map → chunk-4K4TZF3H.mjs.map} +1 -1
  79. package/dist/esm/chunk-4SPKF2Q3.mjs +91 -0
  80. package/dist/esm/{chunk-QNRRPDI4.mjs.map → chunk-4SPKF2Q3.mjs.map} +1 -1
  81. package/dist/esm/chunk-5J7P2N3A.mjs +92 -0
  82. package/dist/esm/{chunk-NMD45OTM.mjs.map → chunk-5J7P2N3A.mjs.map} +1 -1
  83. package/dist/esm/chunk-64OZO6BS.mjs +54 -0
  84. package/dist/esm/{chunk-76HTG7Z7.mjs.map → chunk-64OZO6BS.mjs.map} +1 -1
  85. package/dist/esm/chunk-65TWSJTX.mjs +252 -0
  86. package/dist/esm/{chunk-S47LIZ6P.mjs.map → chunk-65TWSJTX.mjs.map} +1 -1
  87. package/dist/esm/chunk-67J3MGN7.mjs +195 -0
  88. package/dist/esm/{chunk-NCGSRBA7.mjs.map → chunk-67J3MGN7.mjs.map} +1 -1
  89. package/dist/esm/chunk-6AO2MJMN.mjs +49 -0
  90. package/dist/esm/{chunk-P5V7OZNN.mjs.map → chunk-6AO2MJMN.mjs.map} +1 -1
  91. package/dist/esm/chunk-6BI4XTJN.mjs +22 -0
  92. package/dist/esm/{chunk-MLDQ2TY2.mjs.map → chunk-6BI4XTJN.mjs.map} +1 -1
  93. package/dist/esm/chunk-6J7C4S3H.mjs +255 -0
  94. package/dist/esm/chunk-6J7C4S3H.mjs.map +1 -0
  95. package/dist/esm/chunk-6LK3MDX7.mjs +578 -0
  96. package/dist/esm/{chunk-CNIJWO2B.mjs.map → chunk-6LK3MDX7.mjs.map} +1 -1
  97. package/dist/esm/chunk-6SEUVXPK.mjs +250 -0
  98. package/dist/esm/chunk-6SEUVXPK.mjs.map +1 -0
  99. package/dist/esm/chunk-6XNCA4KS.mjs +33 -0
  100. package/dist/esm/{chunk-IVATNKQ3.mjs.map → chunk-6XNCA4KS.mjs.map} +1 -1
  101. package/dist/esm/chunk-7CNDQXDM.mjs +429 -0
  102. package/dist/esm/{chunk-5GWYK4ML.mjs.map → chunk-7CNDQXDM.mjs.map} +1 -1
  103. package/dist/esm/chunk-7F5TMJVQ.mjs +410 -0
  104. package/dist/esm/{chunk-SWEFVHOU.mjs.map → chunk-7F5TMJVQ.mjs.map} +1 -1
  105. package/dist/esm/chunk-7PLTJUOO.mjs +66 -0
  106. package/dist/esm/{chunk-NYS75GNZ.mjs.map → chunk-7PLTJUOO.mjs.map} +1 -1
  107. package/dist/esm/chunk-AC3OGAL6.mjs +87 -0
  108. package/dist/esm/{chunk-U6Z4FNB7.mjs.map → chunk-AC3OGAL6.mjs.map} +1 -1
  109. package/dist/esm/chunk-ACAXM6CI.mjs +32 -0
  110. package/dist/esm/{chunk-H6YNXJNF.mjs.map → chunk-ACAXM6CI.mjs.map} +1 -1
  111. package/dist/esm/chunk-AF7GBOBQ.mjs +315 -0
  112. package/dist/esm/{chunk-PYUM5CVT.mjs.map → chunk-AF7GBOBQ.mjs.map} +1 -1
  113. package/dist/esm/chunk-ANOJYMO2.mjs +94 -0
  114. package/dist/esm/{chunk-G5MGSV7Y.mjs.map → chunk-ANOJYMO2.mjs.map} +1 -1
  115. package/dist/esm/chunk-AW4P5HCX.mjs +53 -0
  116. package/dist/esm/{chunk-3LH2ZHWN.mjs.map → chunk-AW4P5HCX.mjs.map} +1 -1
  117. package/dist/esm/chunk-B673XLJY.mjs +309 -0
  118. package/dist/esm/{chunk-Q7MD4V7H.mjs.map → chunk-B673XLJY.mjs.map} +1 -1
  119. package/dist/esm/chunk-BBCNBKEC.mjs +104 -0
  120. package/dist/esm/chunk-BBCNBKEC.mjs.map +1 -0
  121. package/dist/esm/chunk-BEEISUWP.mjs +42 -0
  122. package/dist/esm/{chunk-GHTDMP7S.mjs.map → chunk-BEEISUWP.mjs.map} +1 -1
  123. package/dist/esm/chunk-BMXV6WQK.mjs +463 -0
  124. package/dist/esm/{chunk-2BHMYVC6.mjs.map → chunk-BMXV6WQK.mjs.map} +1 -1
  125. package/dist/esm/chunk-CIPO346F.mjs +35 -0
  126. package/dist/esm/{chunk-JDTQJUGX.mjs.map → chunk-CIPO346F.mjs.map} +1 -1
  127. package/dist/esm/chunk-CZ22MKHG.mjs +41 -0
  128. package/dist/esm/{chunk-ZWUC7YTU.mjs.map → chunk-CZ22MKHG.mjs.map} +1 -1
  129. package/dist/esm/chunk-DNMI5PWU.mjs +100 -0
  130. package/dist/esm/{chunk-CH7QZLYK.mjs.map → chunk-DNMI5PWU.mjs.map} +1 -1
  131. package/dist/esm/chunk-DPM4FHN4.mjs +33 -0
  132. package/dist/esm/{chunk-WB62ASAQ.mjs.map → chunk-DPM4FHN4.mjs.map} +1 -1
  133. package/dist/esm/chunk-DXGNWBVW.mjs +127 -0
  134. package/dist/esm/{chunk-G7UNU5GI.mjs.map → chunk-DXGNWBVW.mjs.map} +1 -1
  135. package/dist/esm/chunk-EKY7QRXH.mjs +79 -0
  136. package/dist/esm/{chunk-DWUY5RQ3.mjs.map → chunk-EKY7QRXH.mjs.map} +1 -1
  137. package/dist/esm/chunk-EPUYKFAT.mjs +73 -0
  138. package/dist/esm/{chunk-XVDG55LQ.mjs.map → chunk-EPUYKFAT.mjs.map} +1 -1
  139. package/dist/esm/chunk-EYHRMZPO.mjs +34 -0
  140. package/dist/esm/{chunk-AH44UPM4.mjs.map → chunk-EYHRMZPO.mjs.map} +1 -1
  141. package/dist/esm/chunk-FBF77YDQ.mjs +243 -0
  142. package/dist/esm/{chunk-QDTSJJUI.mjs.map → chunk-FBF77YDQ.mjs.map} +1 -1
  143. package/dist/esm/chunk-FBRETS2O.mjs +74 -0
  144. package/dist/esm/{chunk-VP5OE7Y2.mjs.map → chunk-FBRETS2O.mjs.map} +1 -1
  145. package/dist/esm/chunk-FH6RKWVF.mjs +72 -0
  146. package/dist/esm/{chunk-IJMBUEJB.mjs.map → chunk-FH6RKWVF.mjs.map} +1 -1
  147. package/dist/esm/chunk-G2VEDGO7.mjs +15 -0
  148. package/dist/esm/{chunk-WV5AD4IE.mjs.map → chunk-G2VEDGO7.mjs.map} +1 -1
  149. package/dist/esm/chunk-GDE3IBAB.mjs +126 -0
  150. package/dist/esm/{chunk-JLR6A2WV.mjs.map → chunk-GDE3IBAB.mjs.map} +1 -1
  151. package/dist/esm/chunk-GKF3HFY2.mjs +232 -0
  152. package/dist/esm/{chunk-UWPO7WWS.mjs.map → chunk-GKF3HFY2.mjs.map} +1 -1
  153. package/dist/esm/chunk-GMGJ6Q5P.mjs +166 -0
  154. package/dist/esm/{chunk-MDHO3KVQ.mjs.map → chunk-GMGJ6Q5P.mjs.map} +1 -1
  155. package/dist/esm/chunk-GWS7OLIU.mjs +173 -0
  156. package/dist/esm/{chunk-YPHH6CAO.mjs.map → chunk-GWS7OLIU.mjs.map} +1 -1
  157. package/dist/esm/chunk-HCIGCJ62.mjs +70 -0
  158. package/dist/esm/{chunk-CD33AKWQ.mjs.map → chunk-HCIGCJ62.mjs.map} +1 -1
  159. package/dist/esm/chunk-I2ZYQVA3.mjs +142 -0
  160. package/dist/esm/{chunk-J6XDOBLU.mjs.map → chunk-I2ZYQVA3.mjs.map} +1 -1
  161. package/dist/esm/chunk-I5BTSNTY.mjs +89 -0
  162. package/dist/esm/{chunk-623AQCWU.mjs.map → chunk-I5BTSNTY.mjs.map} +1 -1
  163. package/dist/esm/chunk-IUC6XUYA.mjs +346 -0
  164. package/dist/esm/{chunk-OHRL766V.mjs.map → chunk-IUC6XUYA.mjs.map} +1 -1
  165. package/dist/esm/chunk-IX2XMCWZ.mjs +22 -0
  166. package/dist/esm/{chunk-MQGW234H.mjs.map → chunk-IX2XMCWZ.mjs.map} +1 -1
  167. package/dist/esm/chunk-J24CDBEH.mjs +91 -0
  168. package/dist/esm/{chunk-W5MKG4FW.mjs.map → chunk-J24CDBEH.mjs.map} +1 -1
  169. package/dist/esm/chunk-JKM62HRP.mjs +109 -0
  170. package/dist/esm/{chunk-52KPINA4.mjs.map → chunk-JKM62HRP.mjs.map} +1 -1
  171. package/dist/esm/chunk-JRVQNM7A.mjs +441 -0
  172. package/dist/esm/{chunk-55X7L6ZK.mjs.map → chunk-JRVQNM7A.mjs.map} +1 -1
  173. package/dist/esm/chunk-JWEFNE2S.mjs +121 -0
  174. package/dist/esm/{chunk-IVVWQKCF.mjs.map → chunk-JWEFNE2S.mjs.map} +1 -1
  175. package/dist/esm/chunk-K77JV6D7.mjs +414 -0
  176. package/dist/esm/{chunk-KQGQ5EUJ.mjs.map → chunk-K77JV6D7.mjs.map} +1 -1
  177. package/dist/esm/chunk-KWX2PWAP.mjs +349 -0
  178. package/dist/esm/{chunk-MLL54PYO.mjs.map → chunk-KWX2PWAP.mjs.map} +1 -1
  179. package/dist/esm/chunk-L3E7YJBM.mjs +25 -0
  180. package/dist/esm/{chunk-76OH2Z4Q.mjs.map → chunk-L3E7YJBM.mjs.map} +1 -1
  181. package/dist/esm/chunk-LD2CRNA2.mjs +265 -0
  182. package/dist/esm/{chunk-UNFMS77T.mjs.map → chunk-LD2CRNA2.mjs.map} +1 -1
  183. package/dist/esm/chunk-LITCPMVC.mjs +41 -0
  184. package/dist/esm/{chunk-TDGQGILY.mjs.map → chunk-LITCPMVC.mjs.map} +1 -1
  185. package/dist/esm/chunk-LMUCX6RP.mjs +43 -0
  186. package/dist/esm/{chunk-SOCR2CUV.mjs.map → chunk-LMUCX6RP.mjs.map} +1 -1
  187. package/dist/esm/chunk-LMUNGBGS.mjs +58 -0
  188. package/dist/esm/{chunk-3NRBTP3S.mjs.map → chunk-LMUNGBGS.mjs.map} +1 -1
  189. package/dist/esm/chunk-M55VZUKD.mjs +64 -0
  190. package/dist/esm/chunk-M55VZUKD.mjs.map +1 -0
  191. package/dist/esm/chunk-MQALTYRJ.mjs +127 -0
  192. package/dist/esm/{chunk-MKQQWM4G.mjs.map → chunk-MQALTYRJ.mjs.map} +1 -1
  193. package/dist/esm/chunk-MXMVEGUO.mjs +93 -0
  194. package/dist/esm/{chunk-2ICPZGFR.mjs.map → chunk-MXMVEGUO.mjs.map} +1 -1
  195. package/dist/esm/chunk-MY6PZIXF.mjs +254 -0
  196. package/dist/esm/{chunk-U2MRTO2K.mjs.map → chunk-MY6PZIXF.mjs.map} +1 -1
  197. package/dist/esm/chunk-N6K44CGJ.mjs +7 -0
  198. package/dist/esm/{chunk-U74ZLMCT.mjs.map → chunk-N6K44CGJ.mjs.map} +1 -1
  199. package/dist/esm/{chunk-VHNX2NUR.mjs → chunk-NFA2AU5E.mjs} +352 -29
  200. package/dist/esm/{chunk-VHNX2NUR.mjs.map → chunk-NFA2AU5E.mjs.map} +1 -1
  201. package/dist/esm/chunk-NGUFBDTH.mjs +129 -0
  202. package/dist/esm/{chunk-GXTEJ7NO.mjs.map → chunk-NGUFBDTH.mjs.map} +1 -1
  203. package/dist/esm/chunk-NMKCJNQM.mjs +20 -0
  204. package/dist/esm/{chunk-F7EMGK4M.mjs.map → chunk-NMKCJNQM.mjs.map} +1 -1
  205. package/dist/esm/chunk-NUA7L6XF.mjs +120 -0
  206. package/dist/esm/{chunk-MILJW2HW.mjs.map → chunk-NUA7L6XF.mjs.map} +1 -1
  207. package/dist/esm/chunk-NYELBSVO.mjs +172 -0
  208. package/dist/esm/chunk-NYELBSVO.mjs.map +1 -0
  209. package/dist/esm/chunk-OL2YPOXZ.mjs +349 -0
  210. package/dist/esm/{chunk-UXNNTPRT.mjs.map → chunk-OL2YPOXZ.mjs.map} +1 -1
  211. package/dist/esm/chunk-OR7TEZ25.mjs +16 -0
  212. package/dist/esm/chunk-OR7TEZ25.mjs.map +1 -0
  213. package/dist/esm/chunk-P3RTJ6VC.mjs +324 -0
  214. package/dist/esm/{chunk-SUJLWCRN.mjs.map → chunk-P3RTJ6VC.mjs.map} +1 -1
  215. package/dist/esm/chunk-PLUMRBKI.mjs +241 -0
  216. package/dist/esm/{chunk-NWOMSL6K.mjs.map → chunk-PLUMRBKI.mjs.map} +1 -1
  217. package/dist/esm/chunk-PNGNBHMD.mjs +44 -0
  218. package/dist/esm/{chunk-HKMG3LZX.mjs.map → chunk-PNGNBHMD.mjs.map} +1 -1
  219. package/dist/esm/chunk-PSRD6U34.mjs +19 -0
  220. package/dist/esm/{chunk-V753QNIE.mjs.map → chunk-PSRD6U34.mjs.map} +1 -1
  221. package/dist/esm/chunk-PSW5OBY2.mjs +359 -0
  222. package/dist/esm/chunk-PSW5OBY2.mjs.map +1 -0
  223. package/dist/esm/chunk-PU5AFUX3.mjs +52 -0
  224. package/dist/esm/{chunk-LR65XHSF.mjs.map → chunk-PU5AFUX3.mjs.map} +1 -1
  225. package/dist/esm/chunk-QMM2KL6C.mjs +12 -0
  226. package/dist/esm/{chunk-LG7RJQ57.mjs.map → chunk-QMM2KL6C.mjs.map} +1 -1
  227. package/dist/esm/chunk-S7KNZC2A.mjs +45 -0
  228. package/dist/esm/{chunk-DDQKF4ZO.mjs.map → chunk-S7KNZC2A.mjs.map} +1 -1
  229. package/dist/esm/chunk-SBB4YEPT.mjs +17 -0
  230. package/dist/esm/{chunk-56CNRT2K.mjs.map → chunk-SBB4YEPT.mjs.map} +1 -1
  231. package/dist/esm/chunk-SIJELMDP.mjs +29 -0
  232. package/dist/esm/{chunk-6EMN3BOV.mjs.map → chunk-SIJELMDP.mjs.map} +1 -1
  233. package/dist/esm/chunk-SRKSXJ5U.mjs +242 -0
  234. package/dist/esm/{chunk-O4BBULNE.mjs.map → chunk-SRKSXJ5U.mjs.map} +1 -1
  235. package/dist/esm/chunk-U6N546EH.mjs +43 -0
  236. package/dist/esm/{chunk-4UXGDPFI.mjs.map → chunk-U6N546EH.mjs.map} +1 -1
  237. package/dist/esm/chunk-UZLU45X7.mjs +274 -0
  238. package/dist/esm/{chunk-WF6HCH5G.mjs.map → chunk-UZLU45X7.mjs.map} +1 -1
  239. package/dist/esm/chunk-UZXDD3QH.mjs +327 -0
  240. package/dist/esm/{chunk-A63SMUOU.mjs.map → chunk-UZXDD3QH.mjs.map} +1 -1
  241. package/dist/esm/chunk-V2LEZDNS.mjs +29 -0
  242. package/dist/esm/{chunk-WRRQ7L5K.mjs.map → chunk-V2LEZDNS.mjs.map} +1 -1
  243. package/dist/esm/chunk-WKNU6EPA.mjs +40 -0
  244. package/dist/esm/{chunk-OOVYAUSQ.mjs.map → chunk-WKNU6EPA.mjs.map} +1 -1
  245. package/dist/esm/chunk-WVT25KQR.mjs +51 -0
  246. package/dist/esm/{chunk-ZXPBRVOA.mjs.map → chunk-WVT25KQR.mjs.map} +1 -1
  247. package/dist/esm/chunk-XBY4UM6M.mjs +206 -0
  248. package/dist/esm/{chunk-7LVDK4VF.mjs.map → chunk-XBY4UM6M.mjs.map} +1 -1
  249. package/dist/esm/chunk-XUNU6GVQ.mjs +319 -0
  250. package/dist/esm/{chunk-LDTF3ABK.mjs.map → chunk-XUNU6GVQ.mjs.map} +1 -1
  251. package/dist/esm/chunk-YJJTCGDT.mjs +49 -0
  252. package/dist/esm/{chunk-YDZBU2DJ.mjs.map → chunk-YJJTCGDT.mjs.map} +1 -1
  253. package/dist/esm/chunk-YPHGPN2P.mjs +33 -0
  254. package/dist/esm/{chunk-ZOMXBB6Z.mjs.map → chunk-YPHGPN2P.mjs.map} +1 -1
  255. package/dist/esm/chunk-YQPKNTIN.mjs +23 -0
  256. package/dist/esm/{chunk-YUNDX5I7.mjs.map → chunk-YQPKNTIN.mjs.map} +1 -1
  257. package/dist/esm/chunk-YSSWVBLZ.mjs +135 -0
  258. package/dist/esm/{chunk-HMDXJ46S.mjs.map → chunk-YSSWVBLZ.mjs.map} +1 -1
  259. package/dist/esm/chunk-YV7M4CFP.mjs +137 -0
  260. package/dist/esm/{chunk-BCUSI3N6.mjs.map → chunk-YV7M4CFP.mjs.map} +1 -1
  261. package/dist/esm/chunk-ZR36Y2RX.mjs +93 -0
  262. package/dist/esm/{chunk-UXQ6B5Y4.mjs.map → chunk-ZR36Y2RX.mjs.map} +1 -1
  263. package/dist/esm/chunk-ZZA2BSOF.mjs +97 -0
  264. package/dist/esm/{chunk-J32MGYNW.mjs.map → chunk-ZZA2BSOF.mjs.map} +1 -1
  265. package/dist/esm/cli/index.mjs +12 -1
  266. package/dist/esm/cli/localNode.mjs +8 -1
  267. package/dist/esm/cli/move.mjs +7 -1
  268. package/dist/esm/client/core.mjs +28 -1
  269. package/dist/esm/client/get.mjs +33 -1
  270. package/dist/esm/client/index.mjs +56 -1
  271. package/dist/esm/client/post.mjs +37 -1
  272. package/dist/esm/client/types.mjs +8 -1
  273. package/dist/esm/core/account/index.mjs +20 -1
  274. package/dist/esm/core/account/utils/address.mjs +18 -1
  275. package/dist/esm/core/account/utils/index.mjs +19 -1
  276. package/dist/esm/core/accountAddress.mjs +15 -1
  277. package/dist/esm/core/authenticationKey.mjs +14 -1
  278. package/dist/esm/core/common.mjs +7 -1
  279. package/dist/esm/core/crypto/ed25519.mjs +31 -1
  280. package/dist/esm/core/crypto/ephemeral.mjs +28 -1
  281. package/dist/esm/core/crypto/federatedKeyless.d.mts +97 -0
  282. package/dist/esm/core/crypto/federatedKeyless.mjs +43 -0
  283. package/dist/esm/core/crypto/federatedKeyless.mjs.map +1 -0
  284. package/dist/esm/core/crypto/hdKey.mjs +25 -1
  285. package/dist/esm/core/crypto/index.mjs +143 -1
  286. package/dist/esm/core/crypto/keyless.mjs +71 -1
  287. package/dist/esm/core/crypto/multiEd25519.mjs +28 -1
  288. package/dist/esm/core/crypto/multiKey.mjs +47 -1
  289. package/dist/esm/core/crypto/poseidon.mjs +15 -1
  290. package/dist/esm/core/crypto/privateKey.mjs +1 -1
  291. package/dist/esm/core/crypto/proof.mjs +19 -1
  292. package/dist/esm/core/crypto/publicKey.mjs +21 -1
  293. package/dist/esm/core/crypto/secp256k1.mjs +27 -1
  294. package/dist/esm/core/crypto/signature.mjs +19 -1
  295. package/dist/esm/core/crypto/singleKey.mjs +46 -1
  296. package/dist/esm/core/crypto/utils.mjs +9 -1
  297. package/dist/esm/core/hex.mjs +10 -1
  298. package/dist/esm/core/index.mjs +170 -1
  299. package/dist/esm/index.d.mts +3 -1
  300. package/dist/esm/index.mjs +673 -1
  301. package/dist/esm/internal/account.mjs +112 -1
  302. package/dist/esm/internal/ans.mjs +128 -1
  303. package/dist/esm/internal/coin.mjs +89 -1
  304. package/dist/esm/internal/digitalAsset.mjs +135 -1
  305. package/dist/esm/internal/event.mjs +61 -1
  306. package/dist/esm/internal/faucet.mjs +56 -1
  307. package/dist/esm/internal/fungibleAsset.mjs +95 -1
  308. package/dist/esm/internal/general.mjs +41 -1
  309. package/dist/esm/internal/keyless.d.mts +14 -3
  310. package/dist/esm/internal/keyless.mjs +86 -1
  311. package/dist/esm/internal/object.mjs +57 -1
  312. package/dist/esm/internal/staking.mjs +59 -1
  313. package/dist/esm/internal/table.mjs +36 -1
  314. package/dist/esm/internal/transaction.mjs +55 -1
  315. package/dist/esm/internal/transactionSubmission.mjs +106 -1
  316. package/dist/esm/internal/view.mjs +90 -1
  317. package/dist/esm/transactions/authenticator/account.mjs +57 -1
  318. package/dist/esm/transactions/authenticator/index.mjs +76 -1
  319. package/dist/esm/transactions/authenticator/transaction.mjs +64 -1
  320. package/dist/esm/transactions/index.mjs +291 -1
  321. package/dist/esm/transactions/instances/chainId.mjs +11 -1
  322. package/dist/esm/transactions/instances/identifier.mjs +11 -1
  323. package/dist/esm/transactions/instances/index.mjs +112 -1
  324. package/dist/esm/transactions/instances/moduleId.mjs +54 -1
  325. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +59 -1
  326. package/dist/esm/transactions/instances/rawTransaction.mjs +64 -1
  327. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +20 -1
  328. package/dist/esm/transactions/instances/signedTransaction.mjs +61 -1
  329. package/dist/esm/transactions/instances/simpleTransaction.mjs +59 -1
  330. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  331. package/dist/esm/transactions/instances/transactionPayload.mjs +72 -1
  332. package/dist/esm/transactions/management/accountSequenceNumber.mjs +79 -1
  333. package/dist/esm/transactions/management/asyncQueue.mjs +9 -1
  334. package/dist/esm/transactions/management/index.mjs +99 -1
  335. package/dist/esm/transactions/management/transactionWorker.mjs +95 -1
  336. package/dist/esm/transactions/transactionBuilder/helpers.mjs +93 -1
  337. package/dist/esm/transactions/transactionBuilder/index.mjs +169 -1
  338. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +91 -1
  339. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +73 -1
  340. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +103 -1
  341. package/dist/esm/transactions/typeTag/index.mjs +90 -1
  342. package/dist/esm/transactions/typeTag/parser.mjs +59 -1
  343. package/dist/esm/transactions/types.mjs +1 -1
  344. package/dist/esm/types/generated/queries.mjs +61 -1
  345. package/dist/esm/types/generated/types.mjs +833 -1
  346. package/dist/esm/types/generated/types.mjs.map +1 -1
  347. package/dist/esm/types/index.d.mts +2 -1
  348. package/dist/esm/types/index.mjs +70 -1
  349. package/dist/esm/types/indexer.mjs +1 -1
  350. package/dist/esm/utils/apiEndpoints.mjs +21 -1
  351. package/dist/esm/utils/const.mjs +21 -1
  352. package/dist/esm/utils/helpers.mjs +17 -1
  353. package/dist/esm/utils/index.mjs +70 -1
  354. package/dist/esm/utils/memoize.mjs +9 -1
  355. package/dist/esm/utils/normalizeBundle.mjs +19 -1
  356. package/dist/esm/version.d.mts +1 -1
  357. package/dist/esm/version.mjs +7 -1
  358. package/package.json +6 -3
  359. package/src/account/FederatedKeylessAccount.ts +328 -0
  360. package/src/account/KeylessAccount.ts +1 -1
  361. package/src/api/keyless.ts +35 -3
  362. package/src/bcs/deserializer.ts +9 -0
  363. package/src/bcs/serializable/moveStructs.ts +2 -1
  364. package/src/core/crypto/federatedKeyless.ts +134 -0
  365. package/src/core/crypto/singleKey.ts +6 -0
  366. package/src/internal/keyless.ts +31 -2
  367. package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +56 -0
  368. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
  369. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
  370. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
  371. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
  372. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
  373. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
  374. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
  375. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
  376. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
  377. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
  378. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
  379. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
  380. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
  381. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
  382. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
  383. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
  384. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
  385. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
  386. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
  387. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
  388. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
  389. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
  390. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
  391. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
  392. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
  393. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
  394. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
  395. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
  396. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
  397. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
  398. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
  399. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
  400. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
  401. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
  402. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
  403. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
  404. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
  405. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
  406. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
  407. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
  408. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
  409. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
  410. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
  411. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
  412. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
  413. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
  414. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
  415. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
  416. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
  417. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
  418. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
  419. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
  420. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
  421. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
  422. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
  423. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
  424. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
  425. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
  426. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
  427. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
  428. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
  429. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
  430. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
  431. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
  432. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
  433. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
  434. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
  435. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
  436. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
  437. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
  438. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
  439. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
  440. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
  441. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
  442. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
  443. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
  444. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
  445. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
  446. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
  447. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
  448. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
  449. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
  450. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
  451. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
  452. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
  453. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
  454. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
  455. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
  456. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
  457. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
  458. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
  459. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
  460. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
  461. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
  462. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
  463. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
  464. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
  465. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
  466. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
  467. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
  468. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
  469. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
  470. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
  471. package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
  472. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
  473. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
  474. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
  475. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
  476. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
  477. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
  478. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
  479. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
  480. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
  481. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
  482. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
  483. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
  484. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
  485. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
  486. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
  487. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
  488. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
  489. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
  490. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
  491. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
  492. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
  493. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
  494. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
  495. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
  496. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
  497. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
  498. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
  499. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
  500. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
  501. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
  502. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
  503. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
  504. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
  505. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
  506. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
  507. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
  508. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
  509. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
  510. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
  511. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
  512. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
  513. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
  514. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
  515. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
  516. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
  517. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
  518. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
  519. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
  520. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
  521. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
  522. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
  523. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
  524. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
  525. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
  526. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
  527. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
  528. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
  529. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
  530. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
  531. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
  532. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
  533. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
  534. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
  535. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
  536. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
  537. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
  538. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
  539. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
  540. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
  541. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
  542. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
  543. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
  544. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
  545. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
  546. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
  547. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
  548. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
  549. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
  550. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
  551. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
  552. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
  553. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
  554. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
  555. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
  556. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
  557. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
  558. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
  559. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
  560. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
  561. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
  562. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
  563. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
  564. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
  565. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
  566. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
  567. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
  568. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
  569. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
  570. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
  571. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
  572. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
  573. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
  574. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
  575. package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
  576. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +1533 -0
  577. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +48 -0
  578. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +66 -0
  579. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +280 -0
  580. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +443 -0
  581. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +204 -0
  582. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +1387 -0
  583. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +394 -0
  584. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +41 -0
  585. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +48 -0
  586. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +367 -0
  587. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +2214 -0
  588. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +101 -0
  589. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +77 -0
  590. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +21 -0
  591. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +5568 -0
  592. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +228 -0
  593. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +121 -0
  594. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +92 -0
  595. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +66 -0
  596. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +100 -0
  597. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +1566 -0
  598. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +176 -0
  599. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +550 -0
  600. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +23 -0
  601. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +68 -0
  602. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +148 -0
  603. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +817 -0
  604. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +312 -0
  605. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +205 -0
  606. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +2477 -0
  607. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +1073 -0
  608. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +147 -0
  609. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +295 -0
  610. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +405 -0
  611. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +574 -0
  612. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +57 -0
  613. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +153 -0
  614. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +49 -0
  615. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +237 -0
  616. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +132 -0
  617. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +69 -0
  618. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +267 -0
  619. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +3286 -0
  620. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +686 -0
  621. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +1618 -0
  622. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +228 -0
  623. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +90 -0
  624. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +622 -0
  625. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +82 -0
  626. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +88 -0
  627. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +262 -0
  628. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +457 -0
  629. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +501 -0
  630. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +16 -0
  631. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +42 -0
  632. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +115 -0
  633. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +2183 -0
  634. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +1279 -0
  635. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +57 -0
  636. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +253 -0
  637. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +469 -0
  638. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +985 -0
  639. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +802 -0
  640. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +855 -0
  641. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +193 -0
  642. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +173 -0
  643. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +45 -0
  644. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +351 -0
  645. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +278 -0
  646. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +262 -0
  647. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +447 -0
  648. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +91 -0
  649. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +381 -0
  650. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +336 -0
  651. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +139 -0
  652. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +142 -0
  653. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +482 -0
  654. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +571 -0
  655. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +270 -0
  656. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +1310 -0
  657. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +253 -0
  658. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +234 -0
  659. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +158 -0
  660. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +114 -0
  661. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +319 -0
  662. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +769 -0
  663. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +766 -0
  664. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +148 -0
  665. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +152 -0
  666. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +141 -0
  667. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +351 -0
  668. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +46 -0
  669. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +27 -0
  670. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +239 -0
  671. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +88 -0
  672. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +780 -0
  673. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +295 -0
  674. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +8 -0
  675. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +356 -0
  676. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +21 -0
  677. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +93 -0
  678. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +669 -0
  679. package/src/internal/move/jwks/build/jwk/sources/main.move +20 -0
  680. package/src/types/index.ts +1 -0
  681. package/src/utils/apiEndpoints.ts +6 -4
  682. package/src/version.ts +1 -1
  683. package/dist/common/chunk-J4IUXT5W.js +0 -2
  684. package/dist/common/chunk-J4IUXT5W.js.map +0 -1
  685. package/dist/esm/chunk-2BHMYVC6.mjs +0 -2
  686. package/dist/esm/chunk-2ICPZGFR.mjs +0 -2
  687. package/dist/esm/chunk-3LH2ZHWN.mjs +0 -2
  688. package/dist/esm/chunk-3NRBTP3S.mjs +0 -2
  689. package/dist/esm/chunk-4UXGDPFI.mjs +0 -2
  690. package/dist/esm/chunk-52KPINA4.mjs +0 -2
  691. package/dist/esm/chunk-55X7L6ZK.mjs +0 -2
  692. package/dist/esm/chunk-56CNRT2K.mjs +0 -2
  693. package/dist/esm/chunk-5GWYK4ML.mjs +0 -2
  694. package/dist/esm/chunk-623AQCWU.mjs +0 -2
  695. package/dist/esm/chunk-6EMN3BOV.mjs +0 -2
  696. package/dist/esm/chunk-76HTG7Z7.mjs +0 -2
  697. package/dist/esm/chunk-76OH2Z4Q.mjs +0 -2
  698. package/dist/esm/chunk-7LVDK4VF.mjs +0 -2
  699. package/dist/esm/chunk-A63SMUOU.mjs +0 -2
  700. package/dist/esm/chunk-AH44UPM4.mjs +0 -2
  701. package/dist/esm/chunk-BBEOE3HR.mjs +0 -2
  702. package/dist/esm/chunk-BBEOE3HR.mjs.map +0 -1
  703. package/dist/esm/chunk-BCUSI3N6.mjs +0 -2
  704. package/dist/esm/chunk-BOYYQAB4.mjs +0 -2
  705. package/dist/esm/chunk-CD33AKWQ.mjs +0 -2
  706. package/dist/esm/chunk-CH7QZLYK.mjs +0 -2
  707. package/dist/esm/chunk-CNIJWO2B.mjs +0 -2
  708. package/dist/esm/chunk-DDQKF4ZO.mjs +0 -2
  709. package/dist/esm/chunk-DWUY5RQ3.mjs +0 -2
  710. package/dist/esm/chunk-DZXM2MQY.mjs +0 -2
  711. package/dist/esm/chunk-DZXM2MQY.mjs.map +0 -1
  712. package/dist/esm/chunk-F7EMGK4M.mjs +0 -2
  713. package/dist/esm/chunk-FVA2OPG4.mjs +0 -2
  714. package/dist/esm/chunk-G5MGSV7Y.mjs +0 -2
  715. package/dist/esm/chunk-G7UNU5GI.mjs +0 -2
  716. package/dist/esm/chunk-GHTDMP7S.mjs +0 -2
  717. package/dist/esm/chunk-GXTEJ7NO.mjs +0 -2
  718. package/dist/esm/chunk-H6YNXJNF.mjs +0 -2
  719. package/dist/esm/chunk-HKMG3LZX.mjs +0 -2
  720. package/dist/esm/chunk-HMDXJ46S.mjs +0 -2
  721. package/dist/esm/chunk-IJMBUEJB.mjs +0 -2
  722. package/dist/esm/chunk-IVATNKQ3.mjs +0 -2
  723. package/dist/esm/chunk-IVVWQKCF.mjs +0 -2
  724. package/dist/esm/chunk-J32MGYNW.mjs +0 -2
  725. package/dist/esm/chunk-J6ANJ7FB.mjs +0 -2
  726. package/dist/esm/chunk-J6XDOBLU.mjs +0 -2
  727. package/dist/esm/chunk-JDTQJUGX.mjs +0 -2
  728. package/dist/esm/chunk-JLR6A2WV.mjs +0 -2
  729. package/dist/esm/chunk-KMJ6TF6Y.mjs +0 -2
  730. package/dist/esm/chunk-KMJ6TF6Y.mjs.map +0 -1
  731. package/dist/esm/chunk-KQGQ5EUJ.mjs +0 -2
  732. package/dist/esm/chunk-L36ZHC7J.mjs +0 -2
  733. package/dist/esm/chunk-LDTF3ABK.mjs +0 -2
  734. package/dist/esm/chunk-LG7RJQ57.mjs +0 -2
  735. package/dist/esm/chunk-LR65XHSF.mjs +0 -2
  736. package/dist/esm/chunk-LYHKOJUH.mjs +0 -2
  737. package/dist/esm/chunk-MDHO3KVQ.mjs +0 -2
  738. package/dist/esm/chunk-MERZGV2A.mjs +0 -2
  739. package/dist/esm/chunk-MERZGV2A.mjs.map +0 -1
  740. package/dist/esm/chunk-MILJW2HW.mjs +0 -2
  741. package/dist/esm/chunk-MKQQWM4G.mjs +0 -2
  742. package/dist/esm/chunk-MLDQ2TY2.mjs +0 -2
  743. package/dist/esm/chunk-MLL54PYO.mjs +0 -2
  744. package/dist/esm/chunk-MQGW234H.mjs +0 -2
  745. package/dist/esm/chunk-MXCLTDVQ.mjs +0 -2
  746. package/dist/esm/chunk-NCGSRBA7.mjs +0 -2
  747. package/dist/esm/chunk-NMD45OTM.mjs +0 -2
  748. package/dist/esm/chunk-NWOMSL6K.mjs +0 -2
  749. package/dist/esm/chunk-NYS75GNZ.mjs +0 -2
  750. package/dist/esm/chunk-O4BBULNE.mjs +0 -2
  751. package/dist/esm/chunk-OHRL766V.mjs +0 -2
  752. package/dist/esm/chunk-OOVYAUSQ.mjs +0 -2
  753. package/dist/esm/chunk-P5V7OZNN.mjs +0 -2
  754. package/dist/esm/chunk-PYUM5CVT.mjs +0 -2
  755. package/dist/esm/chunk-Q7MD4V7H.mjs +0 -2
  756. package/dist/esm/chunk-QDTSJJUI.mjs +0 -2
  757. package/dist/esm/chunk-QNRRPDI4.mjs +0 -2
  758. package/dist/esm/chunk-S47LIZ6P.mjs +0 -2
  759. package/dist/esm/chunk-SCHZ67F3.mjs +0 -2
  760. package/dist/esm/chunk-SCHZ67F3.mjs.map +0 -1
  761. package/dist/esm/chunk-SEHLOI3A.mjs +0 -2
  762. package/dist/esm/chunk-SOCR2CUV.mjs +0 -2
  763. package/dist/esm/chunk-SUJLWCRN.mjs +0 -2
  764. package/dist/esm/chunk-SWEFVHOU.mjs +0 -2
  765. package/dist/esm/chunk-TDGQGILY.mjs +0 -2
  766. package/dist/esm/chunk-THRXIXIO.mjs +0 -2
  767. package/dist/esm/chunk-THRXIXIO.mjs.map +0 -1
  768. package/dist/esm/chunk-TS37AYYA.mjs +0 -2
  769. package/dist/esm/chunk-TS37AYYA.mjs.map +0 -1
  770. package/dist/esm/chunk-U2MRTO2K.mjs +0 -2
  771. package/dist/esm/chunk-U3U5DCSJ.mjs +0 -2
  772. package/dist/esm/chunk-U6Z4FNB7.mjs +0 -2
  773. package/dist/esm/chunk-U74ZLMCT.mjs +0 -2
  774. package/dist/esm/chunk-UNFMS77T.mjs +0 -2
  775. package/dist/esm/chunk-UWPO7WWS.mjs +0 -2
  776. package/dist/esm/chunk-UXNNTPRT.mjs +0 -2
  777. package/dist/esm/chunk-UXQ6B5Y4.mjs +0 -2
  778. package/dist/esm/chunk-V753QNIE.mjs +0 -2
  779. package/dist/esm/chunk-VP5OE7Y2.mjs +0 -2
  780. package/dist/esm/chunk-W5MKG4FW.mjs +0 -2
  781. package/dist/esm/chunk-WB62ASAQ.mjs +0 -2
  782. package/dist/esm/chunk-WF6HCH5G.mjs +0 -2
  783. package/dist/esm/chunk-WRRQ7L5K.mjs +0 -2
  784. package/dist/esm/chunk-WV5AD4IE.mjs +0 -2
  785. package/dist/esm/chunk-XVDG55LQ.mjs +0 -2
  786. package/dist/esm/chunk-YDZBU2DJ.mjs +0 -2
  787. package/dist/esm/chunk-YPHH6CAO.mjs +0 -2
  788. package/dist/esm/chunk-YUNDX5I7.mjs +0 -2
  789. package/dist/esm/chunk-ZOMXBB6Z.mjs +0 -2
  790. package/dist/esm/chunk-ZWUC7YTU.mjs +0 -2
  791. package/dist/esm/chunk-ZXPBRVOA.mjs +0 -2
  792. package/dist/esm/chunk-ZYXAQCTP.mjs +0 -2
  793. /package/dist/esm/{chunk-FVA2OPG4.mjs.map → account/FederatedKeylessAccount.mjs.map} +0 -0
@@ -0,0 +1,817 @@
1
+ /// JWK functions and structs.
2
+ ///
3
+ /// Note: An important design constraint for this module is that the JWK consensus Rust code is unable to
4
+ /// spawn a VM and make a Move function call. Instead, the JWK consensus Rust code will have to directly
5
+ /// write some of the resources in this file. As a result, the structs in this file are declared so as to
6
+ /// have a simple layout which is easily accessible in Rust.
7
+ module aptos_framework::jwks {
8
+ use std::bcs;
9
+ use std::error;
10
+ use std::option;
11
+ use std::option::Option;
12
+ use std::signer;
13
+ use std::string;
14
+ use std::string::{String, utf8};
15
+ use std::vector;
16
+ use aptos_std::comparator::{compare_u8_vector, is_greater_than, is_equal};
17
+ use aptos_std::copyable_any;
18
+ use aptos_std::copyable_any::Any;
19
+ use aptos_framework::chain_status;
20
+ use aptos_framework::config_buffer;
21
+ use aptos_framework::event::emit;
22
+ use aptos_framework::reconfiguration;
23
+ use aptos_framework::system_addresses;
24
+ #[test_only]
25
+ use aptos_framework::account::create_account_for_test;
26
+
27
+ friend aptos_framework::genesis;
28
+ friend aptos_framework::reconfiguration_with_dkg;
29
+
30
+ /// We limit the size of a `PatchedJWKs` resource installed by a dapp owner for federated keyless accounts.
31
+ /// Note: If too large, validators waste work reading it for invalid TXN signatures.
32
+ const MAX_FEDERATED_JWKS_SIZE_BYTES: u64 = 2 * 1024; // 2 KiB
33
+
34
+ const EUNEXPECTED_EPOCH: u64 = 1;
35
+ const EUNEXPECTED_VERSION: u64 = 2;
36
+ const EUNKNOWN_PATCH_VARIANT: u64 = 3;
37
+ const EUNKNOWN_JWK_VARIANT: u64 = 4;
38
+ const EISSUER_NOT_FOUND: u64 = 5;
39
+ const EJWK_ID_NOT_FOUND: u64 = 6;
40
+ const EINSTALL_FEDERATED_JWKS_AT_APTOS_FRAMEWORK: u64 = 7;
41
+ const EFEDERATED_JWKS_TOO_LARGE: u64 = 8;
42
+
43
+ const ENATIVE_MISSING_RESOURCE_VALIDATOR_SET: u64 = 0x0101;
44
+ const ENATIVE_MISSING_RESOURCE_OBSERVED_JWKS: u64 = 0x0102;
45
+ const ENATIVE_INCORRECT_VERSION: u64 = 0x0103;
46
+ const ENATIVE_MULTISIG_VERIFICATION_FAILED: u64 = 0x0104;
47
+ const ENATIVE_NOT_ENOUGH_VOTING_POWER: u64 = 0x0105;
48
+
49
+ /// An OIDC provider.
50
+ struct OIDCProvider has copy, drop, store {
51
+ /// The utf-8 encoded issuer string. E.g., b"https://www.facebook.com".
52
+ name: vector<u8>,
53
+
54
+ /// The ut8-8 encoded OpenID configuration URL of the provider.
55
+ /// E.g., b"https://www.facebook.com/.well-known/openid-configuration/".
56
+ config_url: vector<u8>,
57
+ }
58
+
59
+ /// A list of OIDC providers whose JWKs should be watched by validators. Maintained by governance proposals.
60
+ struct SupportedOIDCProviders has copy, drop, key, store {
61
+ providers: vector<OIDCProvider>,
62
+ }
63
+
64
+ /// An JWK variant that represents the JWKs which were observed but not yet supported by Aptos.
65
+ /// Observing `UnsupportedJWK`s means the providers adopted a new key type/format, and the system should be updated.
66
+ struct UnsupportedJWK has copy, drop, store {
67
+ id: vector<u8>,
68
+ payload: vector<u8>,
69
+ }
70
+
71
+ /// A JWK variant where `kty` is `RSA`.
72
+ struct RSA_JWK has copy, drop, store {
73
+ kid: String,
74
+ kty: String,
75
+ alg: String,
76
+ e: String,
77
+ n: String,
78
+ }
79
+
80
+ /// A JSON web key.
81
+ struct JWK has copy, drop, store {
82
+ /// A `JWK` variant packed as an `Any`.
83
+ /// Currently the variant type is one of the following.
84
+ /// - `RSA_JWK`
85
+ /// - `UnsupportedJWK`
86
+ variant: Any,
87
+ }
88
+
89
+ /// A provider and its `JWK`s.
90
+ struct ProviderJWKs has copy, drop, store {
91
+ /// The utf-8 encoding of the issuer string (e.g., "https://www.facebook.com").
92
+ issuer: vector<u8>,
93
+
94
+ /// A version number is needed by JWK consensus to dedup the updates.
95
+ /// e.g, when on chain version = 5, multiple nodes can propose an update with version = 6.
96
+ /// Bumped every time the JWKs for the current issuer is updated.
97
+ /// The Rust authenticator only uses the latest version.
98
+ version: u64,
99
+
100
+ /// Vector of `JWK`'s sorted by their unique ID (from `get_jwk_id`) in dictionary order.
101
+ jwks: vector<JWK>,
102
+ }
103
+
104
+ /// Multiple `ProviderJWKs` objects, indexed by issuer and key ID.
105
+ struct AllProvidersJWKs has copy, drop, store {
106
+ /// Vector of `ProviderJWKs` sorted by `ProviderJWKs::issuer` in dictionary order.
107
+ entries: vector<ProviderJWKs>,
108
+ }
109
+
110
+ /// The `AllProvidersJWKs` that validators observed and agreed on.
111
+ struct ObservedJWKs has copy, drop, key, store {
112
+ jwks: AllProvidersJWKs,
113
+ }
114
+
115
+ #[event]
116
+ /// When `ObservedJWKs` is updated, this event is sent to resync the JWK consensus state in all validators.
117
+ struct ObservedJWKsUpdated has drop, store {
118
+ epoch: u64,
119
+ jwks: AllProvidersJWKs,
120
+ }
121
+
122
+ /// A small edit or patch that is applied to a `AllProvidersJWKs` to obtain `PatchedJWKs`.
123
+ struct Patch has copy, drop, store {
124
+ /// A `Patch` variant packed as an `Any`.
125
+ /// Currently the variant type is one of the following.
126
+ /// - `PatchRemoveAll`
127
+ /// - `PatchRemoveIssuer`
128
+ /// - `PatchRemoveJWK`
129
+ /// - `PatchUpsertJWK`
130
+ variant: Any,
131
+ }
132
+
133
+ /// A `Patch` variant to remove all JWKs.
134
+ struct PatchRemoveAll has copy, drop, store {}
135
+
136
+ /// A `Patch` variant to remove an issuer and all its JWKs.
137
+ struct PatchRemoveIssuer has copy, drop, store {
138
+ issuer: vector<u8>,
139
+ }
140
+
141
+ /// A `Patch` variant to remove a specific JWK of an issuer.
142
+ struct PatchRemoveJWK has copy, drop, store {
143
+ issuer: vector<u8>,
144
+ jwk_id: vector<u8>,
145
+ }
146
+
147
+ /// A `Patch` variant to upsert a JWK for an issuer.
148
+ struct PatchUpsertJWK has copy, drop, store {
149
+ issuer: vector<u8>,
150
+ jwk: JWK,
151
+ }
152
+
153
+ /// A sequence of `Patch` objects that are applied *one by one* to the `ObservedJWKs`.
154
+ ///
155
+ /// Maintained by governance proposals.
156
+ struct Patches has key {
157
+ patches: vector<Patch>,
158
+ }
159
+
160
+ /// The result of applying the `Patches` to the `ObservedJWKs`.
161
+ /// This is what applications should consume.
162
+ struct PatchedJWKs has drop, key {
163
+ jwks: AllProvidersJWKs,
164
+ }
165
+
166
+ /// JWKs for federated keyless accounts are stored in this resource.
167
+ struct FederatedJWKs has drop, key {
168
+ jwks: AllProvidersJWKs,
169
+ }
170
+
171
+ //
172
+ // Structs end.
173
+ // Functions begin.
174
+ //
175
+
176
+ /// Called by a federated keyless dapp owner to install the JWKs for the federated OIDC provider (e.g., Auth0, AWS
177
+ /// Cognito, etc).
178
+ ///
179
+ /// For type-safety, we explicitly use a `struct FederatedJWKs { jwks: AllProviderJWKs }` instead of
180
+ /// reusing `PatchedJWKs { jwks: AllProviderJWKs }`, which is a JWK-consensus-specific struct. We'd
181
+ /// need to be careful how we read it in Rust (but BCS serialization should be the same).
182
+ public fun patch_federated_jwks(jwk_owner: &signer, patches: vector<Patch>) acquires FederatedJWKs {
183
+ // Prevents accidental calls in 0x1::jwks that install federated JWKs at the Aptos framework address.
184
+ assert!(!system_addresses::is_aptos_framework_address(signer::address_of(jwk_owner)),
185
+ error::invalid_argument(EINSTALL_FEDERATED_JWKS_AT_APTOS_FRAMEWORK)
186
+ );
187
+
188
+ let jwk_addr = signer::address_of(jwk_owner);
189
+ if (!exists<FederatedJWKs>(jwk_addr)) {
190
+ move_to(jwk_owner, FederatedJWKs { jwks: AllProvidersJWKs { entries: vector[] } });
191
+ };
192
+
193
+ let fed_jwks = borrow_global_mut<FederatedJWKs>(jwk_addr);
194
+ vector::for_each_ref(&patches, |obj|{
195
+ let patch: &Patch = obj;
196
+ apply_patch(&mut fed_jwks.jwks, *patch);
197
+ });
198
+
199
+ // TODO: Can we check the size more efficiently instead of serializing it via BCS?
200
+ let num_bytes = vector::length(&bcs::to_bytes(fed_jwks));
201
+ assert!(num_bytes < MAX_FEDERATED_JWKS_SIZE_BYTES, error::invalid_argument(EFEDERATED_JWKS_TOO_LARGE));
202
+ }
203
+
204
+ /// Get a JWK by issuer and key ID from the `PatchedJWKs`.
205
+ /// Abort if such a JWK does not exist.
206
+ /// More convenient to call from Rust, since it does not wrap the JWK in an `Option`.
207
+ public fun get_patched_jwk(issuer: vector<u8>, jwk_id: vector<u8>): JWK acquires PatchedJWKs {
208
+ option::extract(&mut try_get_patched_jwk(issuer, jwk_id))
209
+ }
210
+
211
+ /// Get a JWK by issuer and key ID from the `PatchedJWKs`, if it exists.
212
+ /// More convenient to call from Move, since it does not abort.
213
+ public fun try_get_patched_jwk(issuer: vector<u8>, jwk_id: vector<u8>): Option<JWK> acquires PatchedJWKs {
214
+ let jwks = &borrow_global<PatchedJWKs>(@aptos_framework).jwks;
215
+ try_get_jwk_by_issuer(jwks, issuer, jwk_id)
216
+ }
217
+
218
+ /// Deprecated by `upsert_oidc_provider_for_next_epoch()`.
219
+ ///
220
+ /// TODO: update all the tests that reference this function, then disable this function.
221
+ public fun upsert_oidc_provider(fx: &signer, name: vector<u8>, config_url: vector<u8>): Option<vector<u8>> acquires SupportedOIDCProviders {
222
+ system_addresses::assert_aptos_framework(fx);
223
+ chain_status::assert_genesis();
224
+
225
+ let provider_set = borrow_global_mut<SupportedOIDCProviders>(@aptos_framework);
226
+
227
+ let old_config_url= remove_oidc_provider_internal(provider_set, name);
228
+ vector::push_back(&mut provider_set.providers, OIDCProvider { name, config_url });
229
+ old_config_url
230
+ }
231
+
232
+ /// Used in on-chain governances to update the supported OIDC providers, effective starting next epoch.
233
+ /// Example usage:
234
+ /// ```
235
+ /// aptos_framework::jwks::upsert_oidc_provider_for_next_epoch(
236
+ /// &framework_signer,
237
+ /// b"https://accounts.google.com",
238
+ /// b"https://accounts.google.com/.well-known/openid-configuration"
239
+ /// );
240
+ /// aptos_framework::aptos_governance::reconfigure(&framework_signer);
241
+ /// ```
242
+ public fun upsert_oidc_provider_for_next_epoch(fx: &signer, name: vector<u8>, config_url: vector<u8>): Option<vector<u8>> acquires SupportedOIDCProviders {
243
+ system_addresses::assert_aptos_framework(fx);
244
+
245
+ let provider_set = if (config_buffer::does_exist<SupportedOIDCProviders>()) {
246
+ config_buffer::extract<SupportedOIDCProviders>()
247
+ } else {
248
+ *borrow_global_mut<SupportedOIDCProviders>(@aptos_framework)
249
+ };
250
+
251
+ let old_config_url = remove_oidc_provider_internal(&mut provider_set, name);
252
+ vector::push_back(&mut provider_set.providers, OIDCProvider { name, config_url });
253
+ config_buffer::upsert(provider_set);
254
+ old_config_url
255
+ }
256
+
257
+ /// Deprecated by `remove_oidc_provider_for_next_epoch()`.
258
+ ///
259
+ /// TODO: update all the tests that reference this function, then disable this function.
260
+ public fun remove_oidc_provider(fx: &signer, name: vector<u8>): Option<vector<u8>> acquires SupportedOIDCProviders {
261
+ system_addresses::assert_aptos_framework(fx);
262
+ chain_status::assert_genesis();
263
+
264
+ let provider_set = borrow_global_mut<SupportedOIDCProviders>(@aptos_framework);
265
+ remove_oidc_provider_internal(provider_set, name)
266
+ }
267
+
268
+ /// Used in on-chain governances to update the supported OIDC providers, effective starting next epoch.
269
+ /// Example usage:
270
+ /// ```
271
+ /// aptos_framework::jwks::remove_oidc_provider_for_next_epoch(
272
+ /// &framework_signer,
273
+ /// b"https://accounts.google.com",
274
+ /// );
275
+ /// aptos_framework::aptos_governance::reconfigure(&framework_signer);
276
+ /// ```
277
+ public fun remove_oidc_provider_for_next_epoch(fx: &signer, name: vector<u8>): Option<vector<u8>> acquires SupportedOIDCProviders {
278
+ system_addresses::assert_aptos_framework(fx);
279
+
280
+ let provider_set = if (config_buffer::does_exist<SupportedOIDCProviders>()) {
281
+ config_buffer::extract<SupportedOIDCProviders>()
282
+ } else {
283
+ *borrow_global_mut<SupportedOIDCProviders>(@aptos_framework)
284
+ };
285
+ let ret = remove_oidc_provider_internal(&mut provider_set, name);
286
+ config_buffer::upsert(provider_set);
287
+ ret
288
+ }
289
+
290
+ /// Only used in reconfigurations to apply the pending `SupportedOIDCProviders`, if there is any.
291
+ public(friend) fun on_new_epoch(framework: &signer) acquires SupportedOIDCProviders {
292
+ system_addresses::assert_aptos_framework(framework);
293
+ if (config_buffer::does_exist<SupportedOIDCProviders>()) {
294
+ let new_config = config_buffer::extract<SupportedOIDCProviders>();
295
+ if (exists<SupportedOIDCProviders>(@aptos_framework)) {
296
+ *borrow_global_mut<SupportedOIDCProviders>(@aptos_framework) = new_config;
297
+ } else {
298
+ move_to(framework, new_config);
299
+ }
300
+ }
301
+ }
302
+
303
+ /// Set the `Patches`. Only called in governance proposals.
304
+ public fun set_patches(fx: &signer, patches: vector<Patch>) acquires Patches, PatchedJWKs, ObservedJWKs {
305
+ system_addresses::assert_aptos_framework(fx);
306
+ borrow_global_mut<Patches>(@aptos_framework).patches = patches;
307
+ regenerate_patched_jwks();
308
+ }
309
+
310
+ /// Create a `Patch` that removes all entries.
311
+ public fun new_patch_remove_all(): Patch {
312
+ Patch {
313
+ variant: copyable_any::pack(PatchRemoveAll {}),
314
+ }
315
+ }
316
+
317
+ /// Create a `Patch` that removes the entry of a given issuer, if exists.
318
+ public fun new_patch_remove_issuer(issuer: vector<u8>): Patch {
319
+ Patch {
320
+ variant: copyable_any::pack(PatchRemoveIssuer { issuer }),
321
+ }
322
+ }
323
+
324
+ /// Create a `Patch` that removes the entry of a given issuer, if exists.
325
+ public fun new_patch_remove_jwk(issuer: vector<u8>, jwk_id: vector<u8>): Patch {
326
+ Patch {
327
+ variant: copyable_any::pack(PatchRemoveJWK { issuer, jwk_id })
328
+ }
329
+ }
330
+
331
+ /// Create a `Patch` that upserts a JWK into an issuer's JWK set.
332
+ public fun new_patch_upsert_jwk(issuer: vector<u8>, jwk: JWK): Patch {
333
+ Patch {
334
+ variant: copyable_any::pack(PatchUpsertJWK { issuer, jwk })
335
+ }
336
+ }
337
+
338
+ /// Create a `JWK` of variant `RSA_JWK`.
339
+ public fun new_rsa_jwk(kid: String, alg: String, e: String, n: String): JWK {
340
+ JWK {
341
+ variant: copyable_any::pack(RSA_JWK {
342
+ kid,
343
+ kty: utf8(b"RSA"),
344
+ e,
345
+ n,
346
+ alg,
347
+ }),
348
+ }
349
+ }
350
+
351
+ /// Create a `JWK` of variant `UnsupportedJWK`.
352
+ public fun new_unsupported_jwk(id: vector<u8>, payload: vector<u8>): JWK {
353
+ JWK {
354
+ variant: copyable_any::pack(UnsupportedJWK { id, payload })
355
+ }
356
+ }
357
+
358
+ /// Initialize some JWK resources. Should only be invoked by genesis.
359
+ public fun initialize(fx: &signer) {
360
+ system_addresses::assert_aptos_framework(fx);
361
+ move_to(fx, SupportedOIDCProviders { providers: vector[] });
362
+ move_to(fx, ObservedJWKs { jwks: AllProvidersJWKs { entries: vector[] } });
363
+ move_to(fx, Patches { patches: vector[] });
364
+ move_to(fx, PatchedJWKs { jwks: AllProvidersJWKs { entries: vector[] } });
365
+ }
366
+
367
+ /// Helper function that removes an OIDC provider from the `SupportedOIDCProviders`.
368
+ /// Returns the old config URL of the provider, if any, as an `Option`.
369
+ fun remove_oidc_provider_internal(provider_set: &mut SupportedOIDCProviders, name: vector<u8>): Option<vector<u8>> {
370
+ let (name_exists, idx) = vector::find(&provider_set.providers, |obj| {
371
+ let provider: &OIDCProvider = obj;
372
+ provider.name == name
373
+ });
374
+
375
+ if (name_exists) {
376
+ let old_provider = vector::swap_remove(&mut provider_set.providers, idx);
377
+ option::some(old_provider.config_url)
378
+ } else {
379
+ option::none()
380
+ }
381
+ }
382
+
383
+ /// Only used by validators to publish their observed JWK update.
384
+ ///
385
+ /// NOTE: It is assumed verification has been done to ensure each update is quorum-certified,
386
+ /// and its `version` equals to the on-chain version + 1.
387
+ public fun upsert_into_observed_jwks(fx: &signer, provider_jwks_vec: vector<ProviderJWKs>) acquires ObservedJWKs, PatchedJWKs, Patches {
388
+ system_addresses::assert_aptos_framework(fx);
389
+ let observed_jwks = borrow_global_mut<ObservedJWKs>(@aptos_framework);
390
+ vector::for_each(provider_jwks_vec, |obj| {
391
+ let provider_jwks: ProviderJWKs = obj;
392
+ upsert_provider_jwks(&mut observed_jwks.jwks, provider_jwks);
393
+ });
394
+
395
+ let epoch = reconfiguration::current_epoch();
396
+ emit(ObservedJWKsUpdated { epoch, jwks: observed_jwks.jwks });
397
+ regenerate_patched_jwks();
398
+ }
399
+
400
+ /// Only used by governance to delete an issuer from `ObservedJWKs`, if it exists.
401
+ ///
402
+ /// Return the potentially existing `ProviderJWKs` of the given issuer.
403
+ public fun remove_issuer_from_observed_jwks(fx: &signer, issuer: vector<u8>): Option<ProviderJWKs> acquires ObservedJWKs, PatchedJWKs, Patches {
404
+ system_addresses::assert_aptos_framework(fx);
405
+ let observed_jwks = borrow_global_mut<ObservedJWKs>(@aptos_framework);
406
+ let old_value = remove_issuer(&mut observed_jwks.jwks, issuer);
407
+
408
+ let epoch = reconfiguration::current_epoch();
409
+ emit(ObservedJWKsUpdated { epoch, jwks: observed_jwks.jwks });
410
+ regenerate_patched_jwks();
411
+
412
+ old_value
413
+ }
414
+
415
+ /// Regenerate `PatchedJWKs` from `ObservedJWKs` and `Patches` and save the result.
416
+ fun regenerate_patched_jwks() acquires PatchedJWKs, Patches, ObservedJWKs {
417
+ let jwks = borrow_global<ObservedJWKs>(@aptos_framework).jwks;
418
+ let patches = borrow_global<Patches>(@aptos_framework);
419
+ vector::for_each_ref(&patches.patches, |obj|{
420
+ let patch: &Patch = obj;
421
+ apply_patch(&mut jwks, *patch);
422
+ });
423
+ *borrow_global_mut<PatchedJWKs>(@aptos_framework) = PatchedJWKs { jwks };
424
+ }
425
+
426
+ /// Get a JWK by issuer and key ID from an `AllProvidersJWKs`, if it exists.
427
+ fun try_get_jwk_by_issuer(jwks: &AllProvidersJWKs, issuer: vector<u8>, jwk_id: vector<u8>): Option<JWK> {
428
+ let (issuer_found, index) = vector::find(&jwks.entries, |obj| {
429
+ let provider_jwks: &ProviderJWKs = obj;
430
+ issuer == provider_jwks.issuer
431
+ });
432
+
433
+ if (issuer_found) {
434
+ try_get_jwk_by_id(vector::borrow(&jwks.entries, index), jwk_id)
435
+ } else {
436
+ option::none()
437
+ }
438
+ }
439
+
440
+ /// Get a JWK by key ID from a `ProviderJWKs`, if it exists.
441
+ fun try_get_jwk_by_id(provider_jwks: &ProviderJWKs, jwk_id: vector<u8>): Option<JWK> {
442
+ let (jwk_id_found, index) = vector::find(&provider_jwks.jwks, |obj|{
443
+ let jwk: &JWK = obj;
444
+ jwk_id == get_jwk_id(jwk)
445
+ });
446
+
447
+ if (jwk_id_found) {
448
+ option::some(*vector::borrow(&provider_jwks.jwks, index))
449
+ } else {
450
+ option::none()
451
+ }
452
+ }
453
+
454
+ /// Get the ID of a JWK.
455
+ fun get_jwk_id(jwk: &JWK): vector<u8> {
456
+ let variant_type_name = *string::bytes(copyable_any::type_name(&jwk.variant));
457
+ if (variant_type_name == b"0x1::jwks::RSA_JWK") {
458
+ let rsa = copyable_any::unpack<RSA_JWK>(jwk.variant);
459
+ *string::bytes(&rsa.kid)
460
+ } else if (variant_type_name == b"0x1::jwks::UnsupportedJWK") {
461
+ let unsupported = copyable_any::unpack<UnsupportedJWK>(jwk.variant);
462
+ unsupported.id
463
+ } else {
464
+ abort(error::invalid_argument(EUNKNOWN_JWK_VARIANT))
465
+ }
466
+ }
467
+
468
+ /// Upsert a `ProviderJWKs` into an `AllProvidersJWKs`. If this upsert replaced an existing entry, return it.
469
+ /// Maintains the sorted-by-issuer invariant in `AllProvidersJWKs`.
470
+ fun upsert_provider_jwks(jwks: &mut AllProvidersJWKs, provider_jwks: ProviderJWKs): Option<ProviderJWKs> {
471
+ // NOTE: Using a linear-time search here because we do not expect too many providers.
472
+ let found = false;
473
+ let index = 0;
474
+ let num_entries = vector::length(&jwks.entries);
475
+ while (index < num_entries) {
476
+ let cur_entry = vector::borrow(&jwks.entries, index);
477
+ let comparison = compare_u8_vector(provider_jwks.issuer, cur_entry.issuer);
478
+ if (is_greater_than(&comparison)) {
479
+ index = index + 1;
480
+ } else {
481
+ found = is_equal(&comparison);
482
+ break
483
+ }
484
+ };
485
+
486
+ // Now if `found == true`, `index` points to the JWK we want to update/remove; otherwise, `index` points to
487
+ // where we want to insert.
488
+ let ret = if (found) {
489
+ let entry = vector::borrow_mut(&mut jwks.entries, index);
490
+ let old_entry = option::some(*entry);
491
+ *entry = provider_jwks;
492
+ old_entry
493
+ } else {
494
+ vector::insert(&mut jwks.entries, index, provider_jwks);
495
+ option::none()
496
+ };
497
+
498
+ ret
499
+ }
500
+
501
+ /// Remove the entry of an issuer from a `AllProvidersJWKs` and return the entry, if exists.
502
+ /// Maintains the sorted-by-issuer invariant in `AllProvidersJWKs`.
503
+ fun remove_issuer(jwks: &mut AllProvidersJWKs, issuer: vector<u8>): Option<ProviderJWKs> {
504
+ let (found, index) = vector::find(&jwks.entries, |obj| {
505
+ let provider_jwk_set: &ProviderJWKs = obj;
506
+ provider_jwk_set.issuer == issuer
507
+ });
508
+
509
+ let ret = if (found) {
510
+ option::some(vector::remove(&mut jwks.entries, index))
511
+ } else {
512
+ option::none()
513
+ };
514
+
515
+ ret
516
+ }
517
+
518
+ /// Upsert a `JWK` into a `ProviderJWKs`. If this upsert replaced an existing entry, return it.
519
+ fun upsert_jwk(set: &mut ProviderJWKs, jwk: JWK): Option<JWK> {
520
+ let found = false;
521
+ let index = 0;
522
+ let num_entries = vector::length(&set.jwks);
523
+ while (index < num_entries) {
524
+ let cur_entry = vector::borrow(&set.jwks, index);
525
+ let comparison = compare_u8_vector(get_jwk_id(&jwk), get_jwk_id(cur_entry));
526
+ if (is_greater_than(&comparison)) {
527
+ index = index + 1;
528
+ } else {
529
+ found = is_equal(&comparison);
530
+ break
531
+ }
532
+ };
533
+
534
+ // Now if `found == true`, `index` points to the JWK we want to update/remove; otherwise, `index` points to
535
+ // where we want to insert.
536
+ let ret = if (found) {
537
+ let entry = vector::borrow_mut(&mut set.jwks, index);
538
+ let old_entry = option::some(*entry);
539
+ *entry = jwk;
540
+ old_entry
541
+ } else {
542
+ vector::insert(&mut set.jwks, index, jwk);
543
+ option::none()
544
+ };
545
+
546
+ ret
547
+ }
548
+
549
+ /// Remove the entry of a key ID from a `ProviderJWKs` and return the entry, if exists.
550
+ fun remove_jwk(jwks: &mut ProviderJWKs, jwk_id: vector<u8>): Option<JWK> {
551
+ let (found, index) = vector::find(&jwks.jwks, |obj| {
552
+ let jwk: &JWK = obj;
553
+ jwk_id == get_jwk_id(jwk)
554
+ });
555
+
556
+ let ret = if (found) {
557
+ option::some(vector::remove(&mut jwks.jwks, index))
558
+ } else {
559
+ option::none()
560
+ };
561
+
562
+ ret
563
+ }
564
+
565
+ /// Modify an `AllProvidersJWKs` object with a `Patch`.
566
+ /// Maintains the sorted-by-issuer invariant in `AllProvidersJWKs`.
567
+ fun apply_patch(jwks: &mut AllProvidersJWKs, patch: Patch) {
568
+ let variant_type_name = *string::bytes(copyable_any::type_name(&patch.variant));
569
+ if (variant_type_name == b"0x1::jwks::PatchRemoveAll") {
570
+ jwks.entries = vector[];
571
+ } else if (variant_type_name == b"0x1::jwks::PatchRemoveIssuer") {
572
+ let cmd = copyable_any::unpack<PatchRemoveIssuer>(patch.variant);
573
+ remove_issuer(jwks, cmd.issuer);
574
+ } else if (variant_type_name == b"0x1::jwks::PatchRemoveJWK") {
575
+ let cmd = copyable_any::unpack<PatchRemoveJWK>(patch.variant);
576
+ // TODO: This is inefficient: we remove the issuer, modify its JWKs & and reinsert the updated issuer. Why
577
+ // not just update it in place?
578
+ let existing_jwk_set = remove_issuer(jwks, cmd.issuer);
579
+ if (option::is_some(&existing_jwk_set)) {
580
+ let jwk_set = option::extract(&mut existing_jwk_set);
581
+ remove_jwk(&mut jwk_set, cmd.jwk_id);
582
+ upsert_provider_jwks(jwks, jwk_set);
583
+ };
584
+ } else if (variant_type_name == b"0x1::jwks::PatchUpsertJWK") {
585
+ let cmd = copyable_any::unpack<PatchUpsertJWK>(patch.variant);
586
+ // TODO: This is inefficient: we remove the issuer, modify its JWKs & and reinsert the updated issuer. Why
587
+ // not just update it in place?
588
+ let existing_jwk_set = remove_issuer(jwks, cmd.issuer);
589
+ let jwk_set = if (option::is_some(&existing_jwk_set)) {
590
+ option::extract(&mut existing_jwk_set)
591
+ } else {
592
+ ProviderJWKs {
593
+ version: 0,
594
+ issuer: cmd.issuer,
595
+ jwks: vector[],
596
+ }
597
+ };
598
+ upsert_jwk(&mut jwk_set, cmd.jwk);
599
+ upsert_provider_jwks(jwks, jwk_set);
600
+ } else {
601
+ abort(std::error::invalid_argument(EUNKNOWN_PATCH_VARIANT))
602
+ }
603
+ }
604
+
605
+ //
606
+ // Functions end.
607
+ // Tests begin.
608
+ //
609
+
610
+ #[test_only]
611
+ fun initialize_for_test(aptos_framework: &signer) {
612
+ create_account_for_test(@aptos_framework);
613
+ reconfiguration::initialize_for_test(aptos_framework);
614
+ initialize(aptos_framework);
615
+ }
616
+
617
+ #[test(fx = @aptos_framework)]
618
+ fun test_observed_jwks_operations(fx: &signer) acquires ObservedJWKs, PatchedJWKs, Patches {
619
+ initialize_for_test(fx);
620
+ let jwk_0 = new_unsupported_jwk(b"key_id_0", b"key_payload_0");
621
+ let jwk_1 = new_unsupported_jwk(b"key_id_1", b"key_payload_1");
622
+ let jwk_2 = new_unsupported_jwk(b"key_id_2", b"key_payload_2");
623
+ let jwk_3 = new_unsupported_jwk(b"key_id_3", b"key_payload_3");
624
+ let jwk_4 = new_unsupported_jwk(b"key_id_4", b"key_payload_4");
625
+ let expected = AllProvidersJWKs { entries: vector[] };
626
+ assert!(expected == borrow_global<ObservedJWKs>(@aptos_framework).jwks, 1);
627
+
628
+ let alice_jwks_v1 = ProviderJWKs {
629
+ issuer: b"alice",
630
+ version: 1,
631
+ jwks: vector[jwk_0, jwk_1],
632
+ };
633
+ let bob_jwks_v1 = ProviderJWKs{
634
+ issuer: b"bob",
635
+ version: 1,
636
+ jwks: vector[jwk_2, jwk_3],
637
+ };
638
+ upsert_into_observed_jwks(fx, vector[bob_jwks_v1]);
639
+ upsert_into_observed_jwks(fx, vector[alice_jwks_v1]);
640
+ let expected = AllProvidersJWKs { entries: vector[
641
+ alice_jwks_v1,
642
+ bob_jwks_v1,
643
+ ] };
644
+ assert!(expected == borrow_global<ObservedJWKs>(@aptos_framework).jwks, 2);
645
+
646
+ let alice_jwks_v2 = ProviderJWKs {
647
+ issuer: b"alice",
648
+ version: 2,
649
+ jwks: vector[jwk_1, jwk_4],
650
+ };
651
+ upsert_into_observed_jwks(fx, vector[alice_jwks_v2]);
652
+ let expected = AllProvidersJWKs { entries: vector[
653
+ alice_jwks_v2,
654
+ bob_jwks_v1,
655
+ ] };
656
+ assert!(expected == borrow_global<ObservedJWKs>(@aptos_framework).jwks, 3);
657
+
658
+ remove_issuer_from_observed_jwks(fx, b"alice");
659
+ let expected = AllProvidersJWKs { entries: vector[bob_jwks_v1] };
660
+ assert!(expected == borrow_global<ObservedJWKs>(@aptos_framework).jwks, 4);
661
+ }
662
+
663
+ #[test]
664
+ fun test_apply_patch() {
665
+ let jwks = AllProvidersJWKs {
666
+ entries: vector[
667
+ ProviderJWKs {
668
+ issuer: b"alice",
669
+ version: 111,
670
+ jwks: vector[
671
+ new_rsa_jwk(
672
+ utf8(b"e4adfb436b9e197e2e1106af2c842284e4986aff"), // kid
673
+ utf8(b"RS256"), // alg
674
+ utf8(b"AQAB"), // e
675
+ utf8(b"psply8S991RswM0JQJwv51fooFFvZUtYdL8avyKObshyzj7oJuJD8vkf5DKJJF1XOGi6Wv2D-U4b3htgrVXeOjAvaKTYtrQVUG_Txwjebdm2EvBJ4R6UaOULjavcSkb8VzW4l4AmP_yWoidkHq8n6vfHt9alDAONILi7jPDzRC7NvnHQ_x0hkRVh_OAmOJCpkgb0gx9-U8zSBSmowQmvw15AZ1I0buYZSSugY7jwNS2U716oujAiqtRkC7kg4gPouW_SxMleeo8PyRsHpYCfBME66m-P8Zr9Fh1Qgmqg4cWdy_6wUuNc1cbVY_7w1BpHZtZCNeQ56AHUgUFmo2LAQQ"), // n
676
+ ),
677
+ new_unsupported_jwk(b"key_id_0", b"key_content_0"),
678
+ ],
679
+ },
680
+ ProviderJWKs {
681
+ issuer: b"bob",
682
+ version: 222,
683
+ jwks: vector[
684
+ new_unsupported_jwk(b"key_id_1", b"key_content_1"),
685
+ new_unsupported_jwk(b"key_id_2", b"key_content_2"),
686
+ ],
687
+ },
688
+ ],
689
+ };
690
+
691
+ let patch = new_patch_remove_issuer(b"alice");
692
+ apply_patch(&mut jwks, patch);
693
+ assert!(jwks == AllProvidersJWKs {
694
+ entries: vector[
695
+ ProviderJWKs {
696
+ issuer: b"bob",
697
+ version: 222,
698
+ jwks: vector[
699
+ new_unsupported_jwk(b"key_id_1", b"key_content_1"),
700
+ new_unsupported_jwk(b"key_id_2", b"key_content_2"),
701
+ ],
702
+ },
703
+ ],
704
+ }, 1);
705
+
706
+ let patch = new_patch_remove_jwk(b"bob", b"key_id_1");
707
+ apply_patch(&mut jwks, patch);
708
+ assert!(jwks == AllProvidersJWKs {
709
+ entries: vector[
710
+ ProviderJWKs {
711
+ issuer: b"bob",
712
+ version: 222,
713
+ jwks: vector[
714
+ new_unsupported_jwk(b"key_id_2", b"key_content_2"),
715
+ ],
716
+ },
717
+ ],
718
+ }, 1);
719
+
720
+ let patch = new_patch_upsert_jwk(b"carl", new_rsa_jwk(
721
+ utf8(b"0ad1fec78504f447bae65bcf5afaedb65eec9e81"), // kid
722
+ utf8(b"RS256"), // alg
723
+ utf8(b"AQAB"), // e
724
+ utf8(b"sm72oBH-R2Rqt4hkjp66tz5qCtq42TMnVgZg2Pdm_zs7_-EoFyNs9sD1MKsZAFaBPXBHDiWywyaHhLgwETLN9hlJIZPzGCEtV3mXJFSYG-8L6t3kyKi9X1lUTZzbmNpE0tf-eMW-3gs3VQSBJQOcQnuiANxbSXwS3PFmi173C_5fDSuC1RoYGT6X3JqLc3DWUmBGucuQjPaUF0w6LMqEIy0W_WYbW7HImwANT6dT52T72md0JWZuAKsRRnRr_bvaUX8_e3K8Pb1K_t3dD6WSLvtmEfUnGQgLynVl3aV5sRYC0Hy_IkRgoxl2fd8AaZT1X_rdPexYpx152Pl_CHJ79Q"), // n
725
+ ));
726
+ apply_patch(&mut jwks, patch);
727
+ let edit = new_patch_upsert_jwk(b"bob", new_unsupported_jwk(b"key_id_2", b"key_content_2b"));
728
+ apply_patch(&mut jwks, edit);
729
+ let edit = new_patch_upsert_jwk(b"alice", new_unsupported_jwk(b"key_id_3", b"key_content_3"));
730
+ apply_patch(&mut jwks, edit);
731
+ let edit = new_patch_upsert_jwk(b"alice", new_unsupported_jwk(b"key_id_0", b"key_content_0b"));
732
+ apply_patch(&mut jwks, edit);
733
+ assert!(jwks == AllProvidersJWKs {
734
+ entries: vector[
735
+ ProviderJWKs {
736
+ issuer: b"alice",
737
+ version: 0,
738
+ jwks: vector[
739
+ new_unsupported_jwk(b"key_id_0", b"key_content_0b"),
740
+ new_unsupported_jwk(b"key_id_3", b"key_content_3"),
741
+ ],
742
+ },
743
+ ProviderJWKs {
744
+ issuer: b"bob",
745
+ version: 222,
746
+ jwks: vector[
747
+ new_unsupported_jwk(b"key_id_2", b"key_content_2b"),
748
+ ],
749
+ },
750
+ ProviderJWKs {
751
+ issuer: b"carl",
752
+ version: 0,
753
+ jwks: vector[
754
+ new_rsa_jwk(
755
+ utf8(b"0ad1fec78504f447bae65bcf5afaedb65eec9e81"), // kid
756
+ utf8(b"RS256"), // alg
757
+ utf8(b"AQAB"), // e
758
+ utf8(b"sm72oBH-R2Rqt4hkjp66tz5qCtq42TMnVgZg2Pdm_zs7_-EoFyNs9sD1MKsZAFaBPXBHDiWywyaHhLgwETLN9hlJIZPzGCEtV3mXJFSYG-8L6t3kyKi9X1lUTZzbmNpE0tf-eMW-3gs3VQSBJQOcQnuiANxbSXwS3PFmi173C_5fDSuC1RoYGT6X3JqLc3DWUmBGucuQjPaUF0w6LMqEIy0W_WYbW7HImwANT6dT52T72md0JWZuAKsRRnRr_bvaUX8_e3K8Pb1K_t3dD6WSLvtmEfUnGQgLynVl3aV5sRYC0Hy_IkRgoxl2fd8AaZT1X_rdPexYpx152Pl_CHJ79Q"), // n
759
+ )
760
+ ],
761
+ },
762
+ ],
763
+ }, 1);
764
+
765
+ let patch = new_patch_remove_all();
766
+ apply_patch(&mut jwks, patch);
767
+ assert!(jwks == AllProvidersJWKs { entries: vector[] }, 1);
768
+ }
769
+
770
+ #[test(aptos_framework = @aptos_framework)]
771
+ fun test_patched_jwks(aptos_framework: signer) acquires ObservedJWKs, PatchedJWKs, Patches {
772
+ initialize_for_test(&aptos_framework);
773
+ let jwk_0 = new_unsupported_jwk(b"key_id_0", b"key_payload_0");
774
+ let jwk_1 = new_unsupported_jwk(b"key_id_1", b"key_payload_1");
775
+ let jwk_2 = new_unsupported_jwk(b"key_id_2", b"key_payload_2");
776
+ let jwk_3 = new_unsupported_jwk(b"key_id_3", b"key_payload_3");
777
+ let jwk_3b = new_unsupported_jwk(b"key_id_3", b"key_payload_3b");
778
+
779
+ // Fake observation from validators.
780
+ upsert_into_observed_jwks(&aptos_framework, vector [
781
+ ProviderJWKs {
782
+ issuer: b"alice",
783
+ version: 111,
784
+ jwks: vector[jwk_0, jwk_1],
785
+ },
786
+ ProviderJWKs{
787
+ issuer: b"bob",
788
+ version: 222,
789
+ jwks: vector[jwk_2, jwk_3],
790
+ },
791
+ ]);
792
+ assert!(jwk_3 == get_patched_jwk(b"bob", b"key_id_3"), 1);
793
+ assert!(option::some(jwk_3) == try_get_patched_jwk(b"bob", b"key_id_3"), 1);
794
+
795
+ // Ignore all Bob's keys.
796
+ set_patches(&aptos_framework, vector[
797
+ new_patch_remove_issuer(b"bob"),
798
+ ]);
799
+ assert!(option::none() == try_get_patched_jwk(b"bob", b"key_id_3"), 1);
800
+
801
+ // Update one of Bob's key..
802
+ set_patches(&aptos_framework, vector[
803
+ new_patch_upsert_jwk(b"bob", jwk_3b),
804
+ ]);
805
+ assert!(jwk_3b == get_patched_jwk(b"bob", b"key_id_3"), 1);
806
+ assert!(option::some(jwk_3b) == try_get_patched_jwk(b"bob", b"key_id_3"), 1);
807
+
808
+ // Wipe everything, then add some keys back.
809
+ set_patches(&aptos_framework, vector[
810
+ new_patch_remove_all(),
811
+ new_patch_upsert_jwk(b"alice", jwk_1),
812
+ new_patch_upsert_jwk(b"bob", jwk_3),
813
+ ]);
814
+ assert!(jwk_3 == get_patched_jwk(b"bob", b"key_id_3"), 1);
815
+ assert!(option::some(jwk_3) == try_get_patched_jwk(b"bob", b"key_id_3"), 1);
816
+ }
817
+ }