@aptos-labs/ts-sdk 1.27.1-zeta.0 → 1.28.0-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 (882) hide show
  1. package/dist/common/{accountAddress-BeSCq9i_.d.ts → accountAddress-0OnKb1b9.d.ts} +3 -2
  2. package/dist/common/chunk-HBPH2AD3.js +2 -0
  3. package/dist/common/chunk-HBPH2AD3.js.map +1 -0
  4. package/dist/common/cli/index.d.ts +1 -1
  5. package/dist/common/cli/index.js +1 -453
  6. package/dist/common/cli/index.js.map +1 -1
  7. package/dist/common/index.d.ts +221 -243
  8. package/dist/common/index.js +429 -12755
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/esm/{Ed25519Account-B1VMJOY2.d.mts → Ed25519Account-9zBaZEnp.d.mts} +1 -1
  11. package/dist/esm/account/Account.d.mts +2 -2
  12. package/dist/esm/account/Account.mjs +1 -70
  13. package/dist/esm/account/Ed25519Account.d.mts +2 -2
  14. package/dist/esm/account/Ed25519Account.mjs +1 -68
  15. package/dist/esm/account/EphemeralKeyPair.d.mts +1 -1
  16. package/dist/esm/account/EphemeralKeyPair.mjs +1 -49
  17. package/dist/esm/account/FederatedKeylessAccount.d.mts +18 -120
  18. package/dist/esm/account/FederatedKeylessAccount.mjs +1 -70
  19. package/dist/esm/account/KeylessAccount.d.mts +13 -156
  20. package/dist/esm/account/KeylessAccount.mjs +1 -71
  21. package/dist/esm/account/KeylessAccountCommon.d.mts +207 -0
  22. package/dist/esm/account/KeylessAccountCommon.mjs +2 -0
  23. package/dist/esm/account/MultiKeyAccount.d.mts +4 -3
  24. package/dist/esm/account/MultiKeyAccount.mjs +1 -70
  25. package/dist/esm/account/SingleKeyAccount.d.mts +2 -2
  26. package/dist/esm/account/SingleKeyAccount.mjs +1 -68
  27. package/dist/esm/account/index.d.mts +6 -3
  28. package/dist/esm/account/index.mjs +1 -91
  29. package/dist/esm/api/account.d.mts +4 -3
  30. package/dist/esm/api/account.mjs +1 -81
  31. package/dist/esm/api/ans.d.mts +2 -2
  32. package/dist/esm/api/ans.mjs +1 -91
  33. package/dist/esm/api/aptos.d.mts +4 -3
  34. package/dist/esm/api/aptos.mjs +1 -124
  35. package/dist/esm/api/aptosConfig.mjs +1 -9
  36. package/dist/esm/api/coin.d.mts +1 -1
  37. package/dist/esm/api/coin.mjs +1 -90
  38. package/dist/esm/api/digitalAsset.d.mts +2 -2
  39. package/dist/esm/api/digitalAsset.mjs +1 -91
  40. package/dist/esm/api/event.mjs +1 -58
  41. package/dist/esm/api/faucet.mjs +1 -57
  42. package/dist/esm/api/fungibleAsset.d.mts +2 -2
  43. package/dist/esm/api/fungibleAsset.mjs +1 -91
  44. package/dist/esm/api/general.d.mts +1 -1
  45. package/dist/esm/api/general.mjs +1 -89
  46. package/dist/esm/api/index.d.mts +4 -3
  47. package/dist/esm/api/index.mjs +1 -128
  48. package/dist/esm/api/keyless.d.mts +25 -10
  49. package/dist/esm/api/keyless.mjs +1 -81
  50. package/dist/esm/api/object.mjs +1 -58
  51. package/dist/esm/api/staking.mjs +1 -58
  52. package/dist/esm/api/table.mjs +1 -36
  53. package/dist/esm/api/transaction.d.mts +2 -2
  54. package/dist/esm/api/transaction.mjs +1 -98
  55. package/dist/esm/api/transactionSubmission/build.d.mts +1 -1
  56. package/dist/esm/api/transactionSubmission/build.mjs +1 -89
  57. package/dist/esm/api/transactionSubmission/helpers.mjs +1 -9
  58. package/dist/esm/api/transactionSubmission/management.d.mts +2 -2
  59. package/dist/esm/api/transactionSubmission/management.mjs +1 -93
  60. package/dist/esm/api/transactionSubmission/sign.d.mts +2 -2
  61. package/dist/esm/api/transactionSubmission/sign.mjs +1 -113
  62. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  63. package/dist/esm/api/transactionSubmission/simulate.d.mts +1 -1
  64. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -90
  65. package/dist/esm/api/transactionSubmission/submit.d.mts +1 -1
  66. package/dist/esm/api/transactionSubmission/submit.mjs +1 -90
  67. package/dist/esm/api/utils.mjs +1 -34
  68. package/dist/esm/bcs/consts.mjs +1 -17
  69. package/dist/esm/bcs/deserializer.mjs +1 -8
  70. package/dist/esm/bcs/index.d.mts +1 -1
  71. package/dist/esm/bcs/index.mjs +1 -57
  72. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -12
  73. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -11
  74. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -25
  75. package/dist/esm/bcs/serializable/moveStructs.d.mts +10 -1
  76. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -18
  77. package/dist/esm/bcs/serializer.mjs +1 -18
  78. package/dist/esm/chunk-23J256KA.mjs +2 -0
  79. package/dist/esm/chunk-23J256KA.mjs.map +1 -0
  80. package/dist/esm/chunk-2KLLSBBN.mjs +2 -0
  81. package/dist/esm/{chunk-2P7TONQL.mjs.map → chunk-2KLLSBBN.mjs.map} +1 -1
  82. package/dist/esm/chunk-2X3YDREK.mjs +2 -0
  83. package/dist/esm/{chunk-ZZA2BSOF.mjs.map → chunk-2X3YDREK.mjs.map} +1 -1
  84. package/dist/esm/chunk-35LCHJIH.mjs +2 -0
  85. package/dist/esm/{chunk-65TWSJTX.mjs.map → chunk-35LCHJIH.mjs.map} +1 -1
  86. package/dist/esm/chunk-3CE63FFN.mjs +2 -0
  87. package/dist/esm/{chunk-ANOJYMO2.mjs.map → chunk-3CE63FFN.mjs.map} +1 -1
  88. package/dist/esm/chunk-3TSO6PDV.mjs +2 -0
  89. package/dist/esm/{chunk-LITCPMVC.mjs.map → chunk-3TSO6PDV.mjs.map} +1 -1
  90. package/dist/esm/chunk-3XXBKVEX.mjs +2 -0
  91. package/dist/esm/{chunk-6LK3MDX7.mjs.map → chunk-3XXBKVEX.mjs.map} +1 -1
  92. package/dist/esm/chunk-4I6IUAHQ.mjs +2 -0
  93. package/dist/esm/{chunk-NUA7L6XF.mjs.map → chunk-4I6IUAHQ.mjs.map} +1 -1
  94. package/dist/esm/chunk-4LHVEO7T.mjs +2 -0
  95. package/dist/esm/chunk-4LHVEO7T.mjs.map +1 -0
  96. package/dist/esm/chunk-4X4ODN6K.mjs +2 -0
  97. package/dist/esm/{chunk-S7KNZC2A.mjs.map → chunk-4X4ODN6K.mjs.map} +1 -1
  98. package/dist/esm/chunk-56CNRT2K.mjs +2 -0
  99. package/dist/esm/{chunk-SBB4YEPT.mjs.map → chunk-56CNRT2K.mjs.map} +1 -1
  100. package/dist/esm/chunk-5FPWLBZT.mjs +2 -0
  101. package/dist/esm/{chunk-P3RTJ6VC.mjs.map → chunk-5FPWLBZT.mjs.map} +1 -1
  102. package/dist/esm/chunk-5HI4R3A2.mjs +2 -0
  103. package/dist/esm/{chunk-YQPKNTIN.mjs.map → chunk-5HI4R3A2.mjs.map} +1 -1
  104. package/dist/esm/chunk-5HWJ3SN4.mjs +2 -0
  105. package/dist/esm/{chunk-OL2YPOXZ.mjs.map → chunk-5HWJ3SN4.mjs.map} +1 -1
  106. package/dist/esm/chunk-5MZJD6SA.mjs +2 -0
  107. package/dist/esm/{chunk-PSRD6U34.mjs.map → chunk-5MZJD6SA.mjs.map} +1 -1
  108. package/dist/esm/chunk-5RNKD3GW.mjs +2 -0
  109. package/dist/esm/{chunk-EKY7QRXH.mjs.map → chunk-5RNKD3GW.mjs.map} +1 -1
  110. package/dist/esm/chunk-5VQK4F5X.mjs +2 -0
  111. package/dist/esm/chunk-5VQK4F5X.mjs.map +1 -0
  112. package/dist/esm/chunk-6EMN3BOV.mjs +2 -0
  113. package/dist/esm/{chunk-SIJELMDP.mjs.map → chunk-6EMN3BOV.mjs.map} +1 -1
  114. package/dist/esm/chunk-72S2NOM5.mjs +2 -0
  115. package/dist/esm/chunk-72S2NOM5.mjs.map +1 -0
  116. package/dist/esm/chunk-7BPKOPP7.mjs +2 -0
  117. package/dist/esm/{chunk-64OZO6BS.mjs.map → chunk-7BPKOPP7.mjs.map} +1 -1
  118. package/dist/esm/chunk-7NQHLM3Y.mjs +2 -0
  119. package/dist/esm/chunk-7NQHLM3Y.mjs.map +1 -0
  120. package/dist/esm/chunk-7T4PLPI7.mjs +2 -0
  121. package/dist/esm/{chunk-7CNDQXDM.mjs.map → chunk-7T4PLPI7.mjs.map} +1 -1
  122. package/dist/esm/chunk-7T5CUI2H.mjs +2 -0
  123. package/dist/esm/{chunk-B673XLJY.mjs.map → chunk-7T5CUI2H.mjs.map} +1 -1
  124. package/dist/esm/chunk-AGFN3VVA.mjs +2 -0
  125. package/dist/esm/{chunk-BEEISUWP.mjs.map → chunk-AGFN3VVA.mjs.map} +1 -1
  126. package/dist/esm/chunk-AGTINH7K.mjs +2 -0
  127. package/dist/esm/{chunk-UZLU45X7.mjs.map → chunk-AGTINH7K.mjs.map} +1 -1
  128. package/dist/esm/chunk-AH44UPM4.mjs +2 -0
  129. package/dist/esm/{chunk-EYHRMZPO.mjs.map → chunk-AH44UPM4.mjs.map} +1 -1
  130. package/dist/esm/chunk-AOCNYMMX.mjs +2 -0
  131. package/dist/esm/{chunk-YV7M4CFP.mjs.map → chunk-AOCNYMMX.mjs.map} +1 -1
  132. package/dist/esm/chunk-ASQ2YBOR.mjs +2 -0
  133. package/dist/esm/{chunk-DNMI5PWU.mjs.map → chunk-ASQ2YBOR.mjs.map} +1 -1
  134. package/dist/esm/chunk-ASQIKTEF.mjs +2 -0
  135. package/dist/esm/{chunk-NYELBSVO.mjs.map → chunk-ASQIKTEF.mjs.map} +1 -1
  136. package/dist/esm/chunk-AT2A7OZD.mjs +2 -0
  137. package/dist/esm/{chunk-EPUYKFAT.mjs.map → chunk-AT2A7OZD.mjs.map} +1 -1
  138. package/dist/esm/chunk-AWQNX3RT.mjs +2 -0
  139. package/dist/esm/{chunk-AW4P5HCX.mjs.map → chunk-AWQNX3RT.mjs.map} +1 -1
  140. package/dist/esm/chunk-AZ642ORV.mjs +2 -0
  141. package/dist/esm/{chunk-PLUMRBKI.mjs.map → chunk-AZ642ORV.mjs.map} +1 -1
  142. package/dist/esm/chunk-B5NYEWNM.mjs +2 -0
  143. package/dist/esm/{chunk-JKM62HRP.mjs.map → chunk-B5NYEWNM.mjs.map} +1 -1
  144. package/dist/esm/chunk-BC5BEOKM.mjs +2 -0
  145. package/dist/esm/{chunk-MQALTYRJ.mjs.map → chunk-BC5BEOKM.mjs.map} +1 -1
  146. package/dist/esm/chunk-BQPQLOIW.mjs +2 -0
  147. package/dist/esm/{chunk-DXGNWBVW.mjs.map → chunk-BQPQLOIW.mjs.map} +1 -1
  148. package/dist/esm/chunk-BSUYPXRD.mjs +2 -0
  149. package/dist/esm/{chunk-G2VEDGO7.mjs.map → chunk-BSUYPXRD.mjs.map} +1 -1
  150. package/dist/esm/chunk-CDIKSNSU.mjs +2 -0
  151. package/dist/esm/{chunk-6AO2MJMN.mjs.map → chunk-CDIKSNSU.mjs.map} +1 -1
  152. package/dist/esm/chunk-CUDIVR4U.mjs +2 -0
  153. package/dist/esm/chunk-CUDIVR4U.mjs.map +1 -0
  154. package/dist/esm/chunk-DAIOG6HU.mjs +2 -0
  155. package/dist/esm/chunk-DAIOG6HU.mjs.map +1 -0
  156. package/dist/esm/chunk-DFMC56WX.mjs +2 -0
  157. package/dist/esm/chunk-DFMC56WX.mjs.map +1 -0
  158. package/dist/esm/chunk-DYMN66K5.mjs +2 -0
  159. package/dist/esm/{chunk-BMXV6WQK.mjs.map → chunk-DYMN66K5.mjs.map} +1 -1
  160. package/dist/esm/chunk-E2WOZVJX.mjs +2 -0
  161. package/dist/esm/{chunk-LMUNGBGS.mjs.map → chunk-E2WOZVJX.mjs.map} +1 -1
  162. package/dist/esm/chunk-E7VSBBQM.mjs +2 -0
  163. package/dist/esm/{chunk-GWS7OLIU.mjs.map → chunk-E7VSBBQM.mjs.map} +1 -1
  164. package/dist/esm/chunk-EDVGFSB5.mjs +2 -0
  165. package/dist/esm/{chunk-IUC6XUYA.mjs.map → chunk-EDVGFSB5.mjs.map} +1 -1
  166. package/dist/esm/chunk-EXP5STXZ.mjs +2 -0
  167. package/dist/esm/chunk-EXP5STXZ.mjs.map +1 -0
  168. package/dist/esm/chunk-FBPNHF54.mjs +2 -0
  169. package/dist/esm/{chunk-QMM2KL6C.mjs.map → chunk-FBPNHF54.mjs.map} +1 -1
  170. package/dist/esm/chunk-FDD6WNN6.mjs +2 -0
  171. package/dist/esm/{chunk-GKF3HFY2.mjs.map → chunk-FDD6WNN6.mjs.map} +1 -1
  172. package/dist/esm/chunk-FDTLBR6D.mjs +2 -0
  173. package/dist/esm/{chunk-XBY4UM6M.mjs.map → chunk-FDTLBR6D.mjs.map} +1 -1
  174. package/dist/esm/chunk-FLNLQ7K5.mjs +2 -0
  175. package/dist/esm/{chunk-CZ22MKHG.mjs.map → chunk-FLNLQ7K5.mjs.map} +1 -1
  176. package/dist/esm/chunk-FOLCONSQ.mjs +2 -0
  177. package/dist/esm/{chunk-L3E7YJBM.mjs.map → chunk-FOLCONSQ.mjs.map} +1 -1
  178. package/dist/esm/chunk-FTBXTZM2.mjs +2 -0
  179. package/dist/esm/{chunk-2UN35LUX.mjs.map → chunk-FTBXTZM2.mjs.map} +1 -1
  180. package/dist/esm/chunk-FVA2OPG4.mjs +2 -0
  181. package/dist/esm/chunk-GAEAYY44.mjs +1 -0
  182. package/dist/esm/chunk-GKRIMGKW.mjs +2 -0
  183. package/dist/esm/{chunk-WVT25KQR.mjs.map → chunk-GKRIMGKW.mjs.map} +1 -1
  184. package/dist/esm/chunk-GX2II7H4.mjs +2 -0
  185. package/dist/esm/{chunk-7PLTJUOO.mjs.map → chunk-GX2II7H4.mjs.map} +1 -1
  186. package/dist/esm/chunk-H3TJNBHX.mjs +2 -0
  187. package/dist/esm/{chunk-HCIGCJ62.mjs.map → chunk-H3TJNBHX.mjs.map} +1 -1
  188. package/dist/esm/chunk-HAT5S2XX.mjs +2 -0
  189. package/dist/esm/{chunk-KWX2PWAP.mjs.map → chunk-HAT5S2XX.mjs.map} +1 -1
  190. package/dist/esm/chunk-HOQCND6F.mjs +2 -0
  191. package/dist/esm/{chunk-3V5WGOZH.mjs.map → chunk-HOQCND6F.mjs.map} +1 -1
  192. package/dist/esm/chunk-IA4RELOH.mjs +1 -0
  193. package/dist/esm/chunk-IA4RELOH.mjs.map +1 -0
  194. package/dist/esm/chunk-IEH7ILF3.mjs +2 -0
  195. package/dist/esm/chunk-IEH7ILF3.mjs.map +1 -0
  196. package/dist/esm/chunk-ILI5TDXD.mjs +2 -0
  197. package/dist/esm/{chunk-3WDVQYWL.mjs.map → chunk-ILI5TDXD.mjs.map} +1 -1
  198. package/dist/esm/chunk-IVVWQKCF.mjs +2 -0
  199. package/dist/esm/{chunk-JWEFNE2S.mjs.map → chunk-IVVWQKCF.mjs.map} +1 -1
  200. package/dist/esm/chunk-J45FMNYT.mjs +2 -0
  201. package/dist/esm/{chunk-I5BTSNTY.mjs.map → chunk-J45FMNYT.mjs.map} +1 -1
  202. package/dist/esm/chunk-K7ZPRL7C.mjs +2 -0
  203. package/dist/esm/chunk-K7ZPRL7C.mjs.map +1 -0
  204. package/dist/esm/chunk-KEYAPEAX.mjs +2 -0
  205. package/dist/esm/{chunk-6J7C4S3H.mjs.map → chunk-KEYAPEAX.mjs.map} +1 -1
  206. package/dist/esm/chunk-KRRHWHTG.mjs +2 -0
  207. package/dist/esm/{chunk-CIPO346F.mjs.map → chunk-KRRHWHTG.mjs.map} +1 -1
  208. package/dist/esm/chunk-LKN324IO.mjs +2 -0
  209. package/dist/esm/{chunk-WKNU6EPA.mjs.map → chunk-LKN324IO.mjs.map} +1 -1
  210. package/dist/esm/chunk-LR65XHSF.mjs +2 -0
  211. package/dist/esm/{chunk-PU5AFUX3.mjs.map → chunk-LR65XHSF.mjs.map} +1 -1
  212. package/dist/esm/chunk-MYF2VRVN.mjs +2 -0
  213. package/dist/esm/chunk-MYF2VRVN.mjs.map +1 -0
  214. package/dist/esm/chunk-N6EC72OZ.mjs +2 -0
  215. package/dist/esm/{chunk-IX2XMCWZ.mjs.map → chunk-N6EC72OZ.mjs.map} +1 -1
  216. package/dist/esm/chunk-ND23H3AK.mjs +2 -0
  217. package/dist/esm/{chunk-NGUFBDTH.mjs.map → chunk-ND23H3AK.mjs.map} +1 -1
  218. package/dist/esm/chunk-NGIPNL7N.mjs +2 -0
  219. package/dist/esm/{chunk-ZR36Y2RX.mjs.map → chunk-NGIPNL7N.mjs.map} +1 -1
  220. package/dist/esm/chunk-NLV3PTOE.mjs +2 -0
  221. package/dist/esm/{chunk-6XNCA4KS.mjs.map → chunk-NLV3PTOE.mjs.map} +1 -1
  222. package/dist/esm/chunk-NOVJ2ROD.mjs +2 -0
  223. package/dist/esm/{chunk-GDE3IBAB.mjs.map → chunk-NOVJ2ROD.mjs.map} +1 -1
  224. package/dist/esm/chunk-NWTMTPPX.mjs +2 -0
  225. package/dist/esm/{chunk-4SPKF2Q3.mjs.map → chunk-NWTMTPPX.mjs.map} +1 -1
  226. package/dist/esm/chunk-OOVNFKA6.mjs +2 -0
  227. package/dist/esm/{chunk-LMUCX6RP.mjs.map → chunk-OOVNFKA6.mjs.map} +1 -1
  228. package/dist/esm/chunk-PDY3AFVI.mjs +2 -0
  229. package/dist/esm/{chunk-2LHXYQXO.mjs.map → chunk-PDY3AFVI.mjs.map} +1 -1
  230. package/dist/esm/chunk-QKVID52D.mjs +2 -0
  231. package/dist/esm/{chunk-67J3MGN7.mjs.map → chunk-QKVID52D.mjs.map} +1 -1
  232. package/dist/esm/chunk-QOE5WJMC.mjs +2 -0
  233. package/dist/esm/{chunk-J24CDBEH.mjs.map → chunk-QOE5WJMC.mjs.map} +1 -1
  234. package/dist/esm/chunk-QP2A5ISX.mjs +2 -0
  235. package/dist/esm/{chunk-6BI4XTJN.mjs.map → chunk-QP2A5ISX.mjs.map} +1 -1
  236. package/dist/esm/chunk-QTTDBQAJ.mjs +2 -0
  237. package/dist/esm/{chunk-SRKSXJ5U.mjs.map → chunk-QTTDBQAJ.mjs.map} +1 -1
  238. package/dist/esm/chunk-R2RMAWDH.mjs +2 -0
  239. package/dist/esm/{chunk-GMGJ6Q5P.mjs.map → chunk-R2RMAWDH.mjs.map} +1 -1
  240. package/dist/esm/chunk-S3I4THN5.mjs +2 -0
  241. package/dist/esm/{chunk-U6N546EH.mjs.map → chunk-S3I4THN5.mjs.map} +1 -1
  242. package/dist/esm/chunk-S6TRBKP5.mjs +2 -0
  243. package/dist/esm/{chunk-MY6PZIXF.mjs.map → chunk-S6TRBKP5.mjs.map} +1 -1
  244. package/dist/esm/chunk-SHOPSMRK.mjs +2 -0
  245. package/dist/esm/{chunk-V2LEZDNS.mjs.map → chunk-SHOPSMRK.mjs.map} +1 -1
  246. package/dist/esm/chunk-SP4PT77Z.mjs +2 -0
  247. package/dist/esm/{chunk-YJJTCGDT.mjs.map → chunk-SP4PT77Z.mjs.map} +1 -1
  248. package/dist/esm/chunk-SVO6PVAX.mjs +2 -0
  249. package/dist/esm/chunk-SVO6PVAX.mjs.map +1 -0
  250. package/dist/esm/chunk-TJDC5PWD.mjs +2 -0
  251. package/dist/esm/{chunk-NMKCJNQM.mjs.map → chunk-TJDC5PWD.mjs.map} +1 -1
  252. package/dist/esm/chunk-TKQEC2WD.mjs +2 -0
  253. package/dist/esm/chunk-TKQEC2WD.mjs.map +1 -0
  254. package/dist/esm/chunk-TVWAYKEP.mjs +2 -0
  255. package/dist/esm/{chunk-ACAXM6CI.mjs.map → chunk-TVWAYKEP.mjs.map} +1 -1
  256. package/dist/esm/chunk-U6Z4FNB7.mjs +2 -0
  257. package/dist/esm/{chunk-AC3OGAL6.mjs.map → chunk-U6Z4FNB7.mjs.map} +1 -1
  258. package/dist/esm/chunk-UAL27G6B.mjs +2 -0
  259. package/dist/esm/chunk-UAL27G6B.mjs.map +1 -0
  260. package/dist/esm/chunk-UW5TIZFE.mjs +2 -0
  261. package/dist/esm/{chunk-26HCJOBL.mjs.map → chunk-UW5TIZFE.mjs.map} +1 -1
  262. package/dist/esm/{chunk-NFA2AU5E.mjs → chunk-VHNX2NUR.mjs} +29 -352
  263. package/dist/esm/{chunk-NFA2AU5E.mjs.map → chunk-VHNX2NUR.mjs.map} +1 -1
  264. package/dist/esm/chunk-VNIBQXNX.mjs +2 -0
  265. package/dist/esm/{chunk-DPM4FHN4.mjs.map → chunk-VNIBQXNX.mjs.map} +1 -1
  266. package/dist/esm/chunk-VTEOS4PS.mjs +2 -0
  267. package/dist/esm/{chunk-5J7P2N3A.mjs.map → chunk-VTEOS4PS.mjs.map} +1 -1
  268. package/dist/esm/chunk-VZKENIJR.mjs +2 -0
  269. package/dist/esm/{chunk-FBRETS2O.mjs.map → chunk-VZKENIJR.mjs.map} +1 -1
  270. package/dist/esm/chunk-X26OHQZO.mjs +2 -0
  271. package/dist/esm/{chunk-MXMVEGUO.mjs.map → chunk-X26OHQZO.mjs.map} +1 -1
  272. package/dist/esm/chunk-YACGA3YS.mjs +2 -0
  273. package/dist/esm/{chunk-PNGNBHMD.mjs.map → chunk-YACGA3YS.mjs.map} +1 -1
  274. package/dist/esm/chunk-YELQZVBK.mjs +2 -0
  275. package/dist/esm/chunk-YELQZVBK.mjs.map +1 -0
  276. package/dist/esm/chunk-YSVXROOO.mjs +2 -0
  277. package/dist/esm/{chunk-YSSWVBLZ.mjs.map → chunk-YSVXROOO.mjs.map} +1 -1
  278. package/dist/esm/chunk-YTOQGCAM.mjs +2 -0
  279. package/dist/esm/{chunk-AF7GBOBQ.mjs.map → chunk-YTOQGCAM.mjs.map} +1 -1
  280. package/dist/esm/chunk-Z56T4OGM.mjs +2 -0
  281. package/dist/esm/chunk-Z56T4OGM.mjs.map +1 -0
  282. package/dist/esm/chunk-ZAHUEAGT.mjs +2 -0
  283. package/dist/esm/{chunk-BBCNBKEC.mjs.map → chunk-ZAHUEAGT.mjs.map} +1 -1
  284. package/dist/esm/chunk-ZASN3QQQ.mjs +2 -0
  285. package/dist/esm/{chunk-I2ZYQVA3.mjs.map → chunk-ZASN3QQQ.mjs.map} +1 -1
  286. package/dist/esm/chunk-ZXVQ2OBJ.mjs +2 -0
  287. package/dist/esm/{chunk-N6K44CGJ.mjs.map → chunk-ZXVQ2OBJ.mjs.map} +1 -1
  288. package/dist/esm/chunk-ZZIMFLVT.mjs +2 -0
  289. package/dist/esm/{chunk-UZXDD3QH.mjs.map → chunk-ZZIMFLVT.mjs.map} +1 -1
  290. package/dist/esm/cli/index.mjs +1 -12
  291. package/dist/esm/cli/localNode.mjs +1 -8
  292. package/dist/esm/cli/move.mjs +1 -7
  293. package/dist/esm/client/core.mjs +1 -28
  294. package/dist/esm/client/get.mjs +1 -33
  295. package/dist/esm/client/index.mjs +1 -56
  296. package/dist/esm/client/post.mjs +1 -37
  297. package/dist/esm/client/types.mjs +1 -8
  298. package/dist/esm/core/account/index.mjs +1 -20
  299. package/dist/esm/core/account/utils/address.mjs +1 -18
  300. package/dist/esm/core/account/utils/index.mjs +1 -19
  301. package/dist/esm/core/accountAddress.mjs +1 -15
  302. package/dist/esm/core/authenticationKey.d.mts +1 -1
  303. package/dist/esm/core/authenticationKey.mjs +1 -14
  304. package/dist/esm/core/common.mjs +1 -7
  305. package/dist/esm/core/crypto/ed25519.d.mts +1 -1
  306. package/dist/esm/core/crypto/ed25519.mjs +1 -31
  307. package/dist/esm/core/crypto/ephemeral.d.mts +1 -1
  308. package/dist/esm/core/crypto/ephemeral.mjs +1 -28
  309. package/dist/esm/core/crypto/federatedKeyless.d.mts +1 -1
  310. package/dist/esm/core/crypto/federatedKeyless.mjs +1 -42
  311. package/dist/esm/core/crypto/hdKey.mjs +1 -25
  312. package/dist/esm/core/crypto/index.d.mts +4 -3
  313. package/dist/esm/core/crypto/index.mjs +1 -143
  314. package/dist/esm/core/crypto/keyless.d.mts +1 -1
  315. package/dist/esm/core/crypto/keyless.mjs +1 -71
  316. package/dist/esm/core/crypto/multiEd25519.d.mts +1 -1
  317. package/dist/esm/core/crypto/multiEd25519.mjs +1 -28
  318. package/dist/esm/core/crypto/multiKey.d.mts +1 -1
  319. package/dist/esm/core/crypto/multiKey.mjs +1 -47
  320. package/dist/esm/core/crypto/poseidon.mjs +1 -15
  321. package/dist/esm/core/crypto/privateKey.d.mts +1 -1
  322. package/dist/esm/core/crypto/privateKey.mjs +1 -1
  323. package/dist/esm/core/crypto/proof.mjs +1 -19
  324. package/dist/esm/core/crypto/publicKey.d.mts +1 -1
  325. package/dist/esm/core/crypto/publicKey.mjs +1 -21
  326. package/dist/esm/core/crypto/secp256k1.d.mts +1 -1
  327. package/dist/esm/core/crypto/secp256k1.mjs +1 -27
  328. package/dist/esm/core/crypto/signature.mjs +1 -19
  329. package/dist/esm/core/crypto/singleKey.d.mts +1 -1
  330. package/dist/esm/core/crypto/singleKey.mjs +1 -46
  331. package/dist/esm/core/crypto/utils.mjs +1 -9
  332. package/dist/esm/core/hex.mjs +1 -10
  333. package/dist/esm/core/index.d.mts +2 -1
  334. package/dist/esm/core/index.mjs +1 -170
  335. package/dist/esm/index.d.mts +9 -8
  336. package/dist/esm/index.mjs +1 -673
  337. package/dist/esm/internal/account.d.mts +2 -2
  338. package/dist/esm/internal/account.mjs +1 -112
  339. package/dist/esm/internal/ans.d.mts +2 -2
  340. package/dist/esm/internal/ans.mjs +1 -128
  341. package/dist/esm/internal/coin.d.mts +1 -1
  342. package/dist/esm/internal/coin.mjs +1 -89
  343. package/dist/esm/internal/digitalAsset.d.mts +2 -2
  344. package/dist/esm/internal/digitalAsset.mjs +1 -135
  345. package/dist/esm/internal/event.mjs +1 -61
  346. package/dist/esm/internal/faucet.mjs +1 -56
  347. package/dist/esm/internal/fungibleAsset.d.mts +2 -2
  348. package/dist/esm/internal/fungibleAsset.mjs +1 -95
  349. package/dist/esm/internal/general.mjs +1 -41
  350. package/dist/esm/internal/keyless.d.mts +14 -14
  351. package/dist/esm/internal/keyless.mjs +1 -86
  352. package/dist/esm/internal/object.mjs +1 -57
  353. package/dist/esm/internal/staking.mjs +1 -59
  354. package/dist/esm/internal/table.mjs +1 -36
  355. package/dist/esm/internal/transaction.mjs +1 -55
  356. package/dist/esm/internal/transactionSubmission.d.mts +2 -2
  357. package/dist/esm/internal/transactionSubmission.mjs +1 -106
  358. package/dist/esm/internal/view.d.mts +1 -1
  359. package/dist/esm/internal/view.mjs +1 -90
  360. package/dist/esm/transactions/authenticator/account.d.mts +1 -1
  361. package/dist/esm/transactions/authenticator/account.mjs +1 -57
  362. package/dist/esm/transactions/authenticator/index.d.mts +1 -1
  363. package/dist/esm/transactions/authenticator/index.mjs +1 -76
  364. package/dist/esm/transactions/authenticator/transaction.d.mts +1 -1
  365. package/dist/esm/transactions/authenticator/transaction.mjs +1 -64
  366. package/dist/esm/transactions/index.d.mts +1 -1
  367. package/dist/esm/transactions/index.mjs +1 -291
  368. package/dist/esm/transactions/instances/chainId.mjs +1 -11
  369. package/dist/esm/transactions/instances/identifier.mjs +1 -11
  370. package/dist/esm/transactions/instances/index.d.mts +1 -1
  371. package/dist/esm/transactions/instances/index.mjs +1 -112
  372. package/dist/esm/transactions/instances/moduleId.mjs +1 -54
  373. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -59
  374. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -64
  375. package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +1 -1
  376. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -20
  377. package/dist/esm/transactions/instances/signedTransaction.d.mts +1 -1
  378. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -61
  379. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -59
  380. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  381. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -72
  382. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +2 -2
  383. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -79
  384. package/dist/esm/transactions/management/asyncQueue.mjs +1 -9
  385. package/dist/esm/transactions/management/index.d.mts +2 -2
  386. package/dist/esm/transactions/management/index.mjs +1 -99
  387. package/dist/esm/transactions/management/transactionWorker.d.mts +2 -2
  388. package/dist/esm/transactions/management/transactionWorker.mjs +1 -95
  389. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +1 -1
  390. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -93
  391. package/dist/esm/transactions/transactionBuilder/index.d.mts +1 -1
  392. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -169
  393. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +1 -1
  394. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -91
  395. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +1 -1
  396. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -73
  397. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +1 -1
  398. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -103
  399. package/dist/esm/transactions/typeTag/index.mjs +1 -90
  400. package/dist/esm/transactions/typeTag/parser.mjs +1 -59
  401. package/dist/esm/transactions/types.d.mts +3 -3
  402. package/dist/esm/transactions/types.mjs +1 -1
  403. package/dist/esm/types/generated/queries.mjs +1 -61
  404. package/dist/esm/types/generated/types.mjs +1 -833
  405. package/dist/esm/types/generated/types.mjs.map +1 -1
  406. package/dist/esm/types/index.d.mts +2 -1
  407. package/dist/esm/types/index.mjs +1 -70
  408. package/dist/esm/types/indexer.mjs +1 -1
  409. package/dist/esm/utils/apiEndpoints.mjs +1 -21
  410. package/dist/esm/utils/const.d.mts +2 -1
  411. package/dist/esm/utils/const.mjs +1 -21
  412. package/dist/esm/utils/helpers.d.mts +41 -1
  413. package/dist/esm/utils/helpers.mjs +1 -17
  414. package/dist/esm/utils/index.d.mts +2 -2
  415. package/dist/esm/utils/index.mjs +1 -70
  416. package/dist/esm/utils/memoize.mjs +1 -9
  417. package/dist/esm/utils/normalizeBundle.mjs +1 -19
  418. package/dist/esm/version.d.mts +1 -1
  419. package/dist/esm/version.mjs +1 -7
  420. package/package.json +1 -1
  421. package/src/account/FederatedKeylessAccount.ts +16 -229
  422. package/src/account/KeylessAccount.ts +6 -291
  423. package/src/account/KeylessAccountCommon.ts +329 -0
  424. package/src/account/MultiKeyAccount.ts +4 -4
  425. package/src/account/index.ts +2 -0
  426. package/src/api/account.ts +31 -4
  427. package/src/api/keyless.ts +45 -31
  428. package/src/bcs/serializable/moveStructs.ts +39 -7
  429. package/src/cli/move.ts +1 -1
  430. package/src/core/crypto/index.ts +1 -0
  431. package/src/internal/account.ts +6 -5
  432. package/src/internal/event.ts +10 -3
  433. package/src/internal/keyless.ts +72 -27
  434. package/src/internal/transactionSubmission.ts +2 -2
  435. package/src/transactions/instances/transactionPayload.ts +3 -1
  436. package/src/transactions/transactionBuilder/transactionBuilder.ts +25 -14
  437. package/src/transactions/types.ts +4 -2
  438. package/src/types/index.ts +1 -0
  439. package/src/utils/apiEndpoints.ts +4 -6
  440. package/src/utils/const.ts +1 -0
  441. package/src/utils/helpers.ts +70 -0
  442. package/src/version.ts +1 -1
  443. package/dist/common/chunk-CZKNJSPC.js +0 -46
  444. package/dist/common/chunk-CZKNJSPC.js.map +0 -1
  445. package/dist/esm/chunk-26HCJOBL.mjs +0 -23
  446. package/dist/esm/chunk-2CPL3GJ7.mjs +0 -132
  447. package/dist/esm/chunk-2CPL3GJ7.mjs.map +0 -1
  448. package/dist/esm/chunk-2LHXYQXO.mjs +0 -673
  449. package/dist/esm/chunk-2P7TONQL.mjs +0 -36
  450. package/dist/esm/chunk-2UN35LUX.mjs +0 -84
  451. package/dist/esm/chunk-2ZOJUUXC.mjs +0 -121
  452. package/dist/esm/chunk-2ZOJUUXC.mjs.map +0 -1
  453. package/dist/esm/chunk-3NHOLSZE.mjs +0 -65
  454. package/dist/esm/chunk-3NHOLSZE.mjs.map +0 -1
  455. package/dist/esm/chunk-3V5WGOZH.mjs +0 -118
  456. package/dist/esm/chunk-3WDVQYWL.mjs +0 -51
  457. package/dist/esm/chunk-4FVXWQGX.mjs +0 -211
  458. package/dist/esm/chunk-4FVXWQGX.mjs.map +0 -1
  459. package/dist/esm/chunk-4K4TZF3H.mjs +0 -38
  460. package/dist/esm/chunk-4K4TZF3H.mjs.map +0 -1
  461. package/dist/esm/chunk-4SPKF2Q3.mjs +0 -91
  462. package/dist/esm/chunk-5J7P2N3A.mjs +0 -92
  463. package/dist/esm/chunk-64OZO6BS.mjs +0 -54
  464. package/dist/esm/chunk-65TWSJTX.mjs +0 -252
  465. package/dist/esm/chunk-67J3MGN7.mjs +0 -195
  466. package/dist/esm/chunk-6AO2MJMN.mjs +0 -49
  467. package/dist/esm/chunk-6BI4XTJN.mjs +0 -22
  468. package/dist/esm/chunk-6J7C4S3H.mjs +0 -255
  469. package/dist/esm/chunk-6LK3MDX7.mjs +0 -578
  470. package/dist/esm/chunk-6SEUVXPK.mjs +0 -250
  471. package/dist/esm/chunk-6SEUVXPK.mjs.map +0 -1
  472. package/dist/esm/chunk-6XNCA4KS.mjs +0 -33
  473. package/dist/esm/chunk-7CNDQXDM.mjs +0 -429
  474. package/dist/esm/chunk-7F5TMJVQ.mjs +0 -410
  475. package/dist/esm/chunk-7F5TMJVQ.mjs.map +0 -1
  476. package/dist/esm/chunk-7PLTJUOO.mjs +0 -66
  477. package/dist/esm/chunk-7Z6DYLCA.mjs +0 -1
  478. package/dist/esm/chunk-AC3OGAL6.mjs +0 -87
  479. package/dist/esm/chunk-ACAXM6CI.mjs +0 -32
  480. package/dist/esm/chunk-AF7GBOBQ.mjs +0 -315
  481. package/dist/esm/chunk-ANOJYMO2.mjs +0 -94
  482. package/dist/esm/chunk-AQ4I7VVB.mjs +0 -1
  483. package/dist/esm/chunk-AW4P5HCX.mjs +0 -53
  484. package/dist/esm/chunk-B673XLJY.mjs +0 -309
  485. package/dist/esm/chunk-BBCNBKEC.mjs +0 -104
  486. package/dist/esm/chunk-BEEISUWP.mjs +0 -42
  487. package/dist/esm/chunk-BMXV6WQK.mjs +0 -463
  488. package/dist/esm/chunk-CIPO346F.mjs +0 -35
  489. package/dist/esm/chunk-CZ22MKHG.mjs +0 -41
  490. package/dist/esm/chunk-DNMI5PWU.mjs +0 -100
  491. package/dist/esm/chunk-DPM4FHN4.mjs +0 -33
  492. package/dist/esm/chunk-DXGNWBVW.mjs +0 -127
  493. package/dist/esm/chunk-EKY7QRXH.mjs +0 -79
  494. package/dist/esm/chunk-EPUYKFAT.mjs +0 -73
  495. package/dist/esm/chunk-EYHRMZPO.mjs +0 -34
  496. package/dist/esm/chunk-FBF77YDQ.mjs +0 -243
  497. package/dist/esm/chunk-FBF77YDQ.mjs.map +0 -1
  498. package/dist/esm/chunk-FBRETS2O.mjs +0 -74
  499. package/dist/esm/chunk-FH6RKWVF.mjs +0 -72
  500. package/dist/esm/chunk-FH6RKWVF.mjs.map +0 -1
  501. package/dist/esm/chunk-G2VEDGO7.mjs +0 -15
  502. package/dist/esm/chunk-GDE3IBAB.mjs +0 -126
  503. package/dist/esm/chunk-GKF3HFY2.mjs +0 -232
  504. package/dist/esm/chunk-GMGJ6Q5P.mjs +0 -166
  505. package/dist/esm/chunk-GWS7OLIU.mjs +0 -173
  506. package/dist/esm/chunk-HCIGCJ62.mjs +0 -70
  507. package/dist/esm/chunk-I2ZYQVA3.mjs +0 -142
  508. package/dist/esm/chunk-I5BTSNTY.mjs +0 -89
  509. package/dist/esm/chunk-IUC6XUYA.mjs +0 -346
  510. package/dist/esm/chunk-IX2XMCWZ.mjs +0 -22
  511. package/dist/esm/chunk-J24CDBEH.mjs +0 -91
  512. package/dist/esm/chunk-JKM62HRP.mjs +0 -109
  513. package/dist/esm/chunk-JRVQNM7A.mjs +0 -441
  514. package/dist/esm/chunk-JRVQNM7A.mjs.map +0 -1
  515. package/dist/esm/chunk-JWEFNE2S.mjs +0 -121
  516. package/dist/esm/chunk-K77JV6D7.mjs +0 -414
  517. package/dist/esm/chunk-K77JV6D7.mjs.map +0 -1
  518. package/dist/esm/chunk-KWX2PWAP.mjs +0 -349
  519. package/dist/esm/chunk-L3E7YJBM.mjs +0 -25
  520. package/dist/esm/chunk-LD2CRNA2.mjs +0 -265
  521. package/dist/esm/chunk-LD2CRNA2.mjs.map +0 -1
  522. package/dist/esm/chunk-LITCPMVC.mjs +0 -41
  523. package/dist/esm/chunk-LMUCX6RP.mjs +0 -43
  524. package/dist/esm/chunk-LMUNGBGS.mjs +0 -58
  525. package/dist/esm/chunk-M55VZUKD.mjs +0 -64
  526. package/dist/esm/chunk-M55VZUKD.mjs.map +0 -1
  527. package/dist/esm/chunk-MQALTYRJ.mjs +0 -127
  528. package/dist/esm/chunk-MXMVEGUO.mjs +0 -93
  529. package/dist/esm/chunk-MY6PZIXF.mjs +0 -254
  530. package/dist/esm/chunk-N6K44CGJ.mjs +0 -7
  531. package/dist/esm/chunk-NGUFBDTH.mjs +0 -129
  532. package/dist/esm/chunk-NMKCJNQM.mjs +0 -20
  533. package/dist/esm/chunk-NUA7L6XF.mjs +0 -120
  534. package/dist/esm/chunk-NYELBSVO.mjs +0 -172
  535. package/dist/esm/chunk-OL2YPOXZ.mjs +0 -349
  536. package/dist/esm/chunk-OR7TEZ25.mjs +0 -16
  537. package/dist/esm/chunk-P3RTJ6VC.mjs +0 -324
  538. package/dist/esm/chunk-PLUMRBKI.mjs +0 -241
  539. package/dist/esm/chunk-PNGNBHMD.mjs +0 -44
  540. package/dist/esm/chunk-PSRD6U34.mjs +0 -19
  541. package/dist/esm/chunk-PSW5OBY2.mjs +0 -359
  542. package/dist/esm/chunk-PSW5OBY2.mjs.map +0 -1
  543. package/dist/esm/chunk-PU5AFUX3.mjs +0 -52
  544. package/dist/esm/chunk-QMM2KL6C.mjs +0 -12
  545. package/dist/esm/chunk-S7KNZC2A.mjs +0 -45
  546. package/dist/esm/chunk-SBB4YEPT.mjs +0 -17
  547. package/dist/esm/chunk-SIJELMDP.mjs +0 -29
  548. package/dist/esm/chunk-SRKSXJ5U.mjs +0 -242
  549. package/dist/esm/chunk-U6N546EH.mjs +0 -43
  550. package/dist/esm/chunk-UZLU45X7.mjs +0 -274
  551. package/dist/esm/chunk-UZXDD3QH.mjs +0 -327
  552. package/dist/esm/chunk-V2LEZDNS.mjs +0 -29
  553. package/dist/esm/chunk-WKNU6EPA.mjs +0 -40
  554. package/dist/esm/chunk-WVT25KQR.mjs +0 -51
  555. package/dist/esm/chunk-XBY4UM6M.mjs +0 -206
  556. package/dist/esm/chunk-XUNU6GVQ.mjs +0 -319
  557. package/dist/esm/chunk-XUNU6GVQ.mjs.map +0 -1
  558. package/dist/esm/chunk-YJJTCGDT.mjs +0 -49
  559. package/dist/esm/chunk-YPHGPN2P.mjs +0 -33
  560. package/dist/esm/chunk-YPHGPN2P.mjs.map +0 -1
  561. package/dist/esm/chunk-YQPKNTIN.mjs +0 -23
  562. package/dist/esm/chunk-YSSWVBLZ.mjs +0 -135
  563. package/dist/esm/chunk-YV7M4CFP.mjs +0 -137
  564. package/dist/esm/chunk-ZR36Y2RX.mjs +0 -93
  565. package/dist/esm/chunk-ZZA2BSOF.mjs +0 -97
  566. package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +0 -56
  567. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
  568. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
  569. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
  570. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
  571. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
  572. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
  573. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
  574. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
  575. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
  576. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
  577. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
  578. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
  579. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
  580. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
  581. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
  582. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
  583. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
  584. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
  585. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
  586. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
  587. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
  588. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
  589. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
  590. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
  591. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
  592. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
  593. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
  594. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
  595. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
  596. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
  597. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
  598. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
  599. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
  600. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
  601. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
  602. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
  603. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
  604. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
  605. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
  606. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
  607. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
  608. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
  609. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
  610. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
  611. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
  612. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
  613. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
  614. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
  615. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
  616. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
  617. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
  618. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
  619. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
  620. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
  621. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
  622. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
  623. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
  624. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
  625. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
  626. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
  627. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
  628. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
  629. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
  630. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
  631. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
  632. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
  633. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
  634. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
  635. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
  636. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
  637. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
  638. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
  639. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
  640. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
  641. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
  642. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
  643. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
  644. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
  645. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
  646. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
  647. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
  648. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
  649. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
  650. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
  651. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
  652. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
  653. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
  654. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
  655. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
  656. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
  657. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
  658. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
  659. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
  660. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
  661. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
  662. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
  663. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
  664. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
  665. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
  666. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
  667. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
  668. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
  669. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
  670. package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
  671. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
  672. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
  673. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
  674. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
  675. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
  676. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
  677. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
  678. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
  679. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
  680. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
  681. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
  682. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
  683. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
  684. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
  685. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
  686. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
  687. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
  688. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
  689. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
  690. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
  691. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
  692. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
  693. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
  694. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
  695. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
  696. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
  697. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
  698. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
  699. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
  700. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
  701. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
  702. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
  703. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
  704. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
  705. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
  706. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
  707. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
  708. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
  709. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
  710. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
  711. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
  712. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
  713. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
  714. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
  715. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
  716. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
  717. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
  718. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
  719. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
  720. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
  721. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
  722. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
  723. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
  724. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
  725. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
  726. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
  727. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
  728. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
  729. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
  730. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
  731. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
  732. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
  733. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
  734. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
  735. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
  736. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
  737. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
  738. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
  739. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
  740. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
  741. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
  742. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
  743. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
  744. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
  745. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
  746. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
  747. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
  748. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
  749. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
  750. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
  751. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
  752. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
  753. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
  754. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
  755. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
  756. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
  757. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
  758. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
  759. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
  760. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
  761. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
  762. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
  763. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
  764. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
  765. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
  766. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
  767. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
  768. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
  769. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
  770. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
  771. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
  772. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
  773. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
  774. package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
  775. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +0 -1533
  776. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +0 -48
  777. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +0 -66
  778. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +0 -280
  779. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +0 -443
  780. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +0 -204
  781. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +0 -1387
  782. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +0 -394
  783. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +0 -41
  784. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +0 -48
  785. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +0 -367
  786. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +0 -2214
  787. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +0 -101
  788. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +0 -77
  789. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +0 -21
  790. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +0 -5568
  791. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +0 -228
  792. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +0 -121
  793. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +0 -92
  794. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +0 -66
  795. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +0 -100
  796. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +0 -1566
  797. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +0 -176
  798. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +0 -550
  799. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +0 -23
  800. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +0 -68
  801. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +0 -148
  802. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +0 -817
  803. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +0 -312
  804. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +0 -205
  805. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +0 -2477
  806. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +0 -1073
  807. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +0 -147
  808. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +0 -295
  809. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +0 -405
  810. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +0 -574
  811. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +0 -57
  812. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +0 -153
  813. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +0 -49
  814. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +0 -237
  815. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +0 -132
  816. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +0 -69
  817. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +0 -267
  818. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +0 -3286
  819. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +0 -686
  820. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +0 -1618
  821. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +0 -228
  822. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +0 -90
  823. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +0 -622
  824. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +0 -82
  825. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +0 -88
  826. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +0 -262
  827. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +0 -457
  828. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +0 -501
  829. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +0 -16
  830. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +0 -42
  831. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +0 -115
  832. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +0 -2183
  833. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +0 -1279
  834. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +0 -57
  835. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +0 -253
  836. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +0 -469
  837. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +0 -985
  838. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +0 -802
  839. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +0 -855
  840. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +0 -193
  841. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +0 -173
  842. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +0 -45
  843. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +0 -351
  844. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +0 -278
  845. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +0 -262
  846. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +0 -447
  847. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +0 -91
  848. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +0 -381
  849. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +0 -336
  850. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +0 -139
  851. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +0 -142
  852. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +0 -482
  853. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +0 -571
  854. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +0 -270
  855. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +0 -1310
  856. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +0 -253
  857. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +0 -234
  858. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +0 -158
  859. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +0 -114
  860. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +0 -319
  861. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +0 -769
  862. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +0 -766
  863. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +0 -148
  864. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +0 -152
  865. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +0 -141
  866. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +0 -351
  867. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +0 -46
  868. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +0 -27
  869. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +0 -239
  870. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +0 -88
  871. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +0 -780
  872. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +0 -295
  873. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +0 -8
  874. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +0 -356
  875. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +0 -21
  876. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +0 -93
  877. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +0 -669
  878. package/src/internal/move/jwks/build/jwk/sources/main.move +0 -20
  879. /package/dist/esm/{chunk-7Z6DYLCA.mjs.map → account/KeylessAccountCommon.mjs.map} +0 -0
  880. /package/dist/esm/{chunk-AQ4I7VVB.mjs.map → chunk-FVA2OPG4.mjs.map} +0 -0
  881. /package/dist/esm/{chunk-OR7TEZ25.mjs.map → chunk-GAEAYY44.mjs.map} +0 -0
  882. /package/dist/esm/{publicKey-B3XRNhHO.d.mts → publicKey-lq5djCIY.d.mts} +0 -0
@@ -1,985 +0,0 @@
1
- /// Contains functions for:
2
- ///
3
- /// The minimum-pubkey-size variant of [Boneh-Lynn-Shacham (BLS) signatures](https://en.wikipedia.org/wiki/BLS_digital_signature),
4
- /// where public keys are BLS12-381 elliptic-curve points in $\mathbb{G}_1$ and signatures are in $\mathbb{G}_2$,
5
- /// as per the [IETF BLS draft standard](https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature#section-2.1).
6
-
7
- module aptos_std::bls12381 {
8
- use std::option::{Self, Option};
9
- #[test_only]
10
- use std::error::invalid_argument;
11
-
12
- /// The signature size, in bytes
13
- const SIGNATURE_SIZE: u64 = 96;
14
-
15
- /// The public key size, in bytes
16
- const PUBLIC_KEY_NUM_BYTES: u64 = 48;
17
-
18
- /// The caller was supposed to input one or more public keys.
19
- const EZERO_PUBKEYS: u64 = 1;
20
-
21
- /// One of the given inputs has the wrong size.s
22
- const EWRONG_SIZE: u64 = 2;
23
-
24
- /// The number of signers does not match the number of messages to be signed.
25
- const E_NUM_SIGNERS_MUST_EQ_NUM_MESSAGES: u64 = 3;
26
-
27
- // TODO: Performance would increase if structs in this module are implemented natively via handles (similar to Table and
28
- // RistrettoPoint). This will avoid unnecessary (de)serialization. We would need to allow storage of these structs too.
29
-
30
- #[test_only]
31
- struct SecretKey has copy, drop {
32
- bytes: vector<u8>,
33
- }
34
-
35
- /// A *validated* public key that:
36
- /// (1) is a point in the prime-order subgroup of the BLS12-381 elliptic curve, and
37
- /// (2) is not the identity point
38
- ///
39
- /// This struct can be used to verify a normal (non-aggregated) signature.
40
- ///
41
- /// This struct can be combined with a ProofOfPossession struct in order to create a PublicKeyWithPop struct, which
42
- /// can be used to verify a multisignature.
43
- struct PublicKey has copy, drop, store {
44
- bytes: vector<u8>
45
- }
46
-
47
- /// A proof-of-possession (PoP).
48
- /// Given such a struct and a PublicKey struct, one can construct a PublicKeyWithPoP (see below).
49
- struct ProofOfPossession has copy, drop, store {
50
- bytes: vector<u8>
51
- }
52
-
53
- /// A *validated* public key that had a successfully-verified proof-of-possession (PoP).
54
- ///
55
- /// A vector of these structs can be either:
56
- /// (1) used to verify an aggregate signature
57
- /// (2) aggregated with other PublicKeyWithPoP structs into an AggrPublicKeysWithPoP, which in turn can be used
58
- /// to verify a multisignature
59
- struct PublicKeyWithPoP has copy, drop, store {
60
- bytes: vector<u8>
61
- }
62
-
63
- /// An aggregation of public keys with verified PoPs, which can be used to verify multisignatures.
64
- struct AggrPublicKeysWithPoP has copy, drop, store {
65
- bytes: vector<u8>
66
- }
67
-
68
- /// A BLS signature. This can be either a:
69
- /// (1) normal (non-aggregated) signature
70
- /// (2) signature share (for a multisignature or aggregate signature)
71
- struct Signature has copy, drop, store {
72
- bytes: vector<u8>
73
- }
74
-
75
- /// An aggregation of BLS signatures. This can be either a:
76
- /// (4) aggregated signature (i.e., an aggregation of signatures s_i, each on a message m_i)
77
- /// (3) multisignature (i.e., an aggregation of signatures s_i, each on the same message m)
78
- ///
79
- /// We distinguish between a Signature type and a AggrOrMultiSignature type to prevent developers from interchangeably
80
- /// calling `verify_multisignature` and `verify_signature_share` to verify both multisignatures and signature shares,
81
- /// which could create problems down the line.
82
- struct AggrOrMultiSignature has copy, drop, store {
83
- bytes: vector<u8>
84
- }
85
-
86
- /// Creates a new public key from a sequence of bytes.
87
- public fun public_key_from_bytes(bytes: vector<u8>): Option<PublicKey> {
88
- if (validate_pubkey_internal(bytes)) {
89
- option::some(PublicKey {
90
- bytes
91
- })
92
- } else {
93
- option::none<PublicKey>()
94
- }
95
- }
96
-
97
- /// Serializes a public key into 48 bytes.
98
- public fun public_key_to_bytes(pk: &PublicKey): vector<u8> {
99
- pk.bytes
100
- }
101
-
102
- /// Creates a new proof-of-possession (PoP) which can be later used to create a PublicKeyWithPoP struct,
103
- public fun proof_of_possession_from_bytes(bytes: vector<u8>): ProofOfPossession {
104
- ProofOfPossession {
105
- bytes
106
- }
107
- }
108
-
109
- /// Serializes the signature into 96 bytes.
110
- public fun proof_of_possession_to_bytes(pop: &ProofOfPossession): vector<u8> {
111
- pop.bytes
112
- }
113
-
114
- /// Creates a PoP'd public key from a normal public key and a corresponding proof-of-possession.
115
- public fun public_key_from_bytes_with_pop(pk_bytes: vector<u8>, pop: &ProofOfPossession): Option<PublicKeyWithPoP> {
116
- if (verify_proof_of_possession_internal(pk_bytes, pop.bytes)) {
117
- option::some(PublicKeyWithPoP {
118
- bytes: pk_bytes
119
- })
120
- } else {
121
- option::none<PublicKeyWithPoP>()
122
- }
123
- }
124
-
125
- /// Creates a normal public key from a PoP'd public key.
126
- public fun public_key_with_pop_to_normal(pkpop: &PublicKeyWithPoP): PublicKey {
127
- PublicKey {
128
- bytes: pkpop.bytes
129
- }
130
- }
131
-
132
- /// Serializes a PoP'd public key into 48 bytes.
133
- public fun public_key_with_pop_to_bytes(pk: &PublicKeyWithPoP): vector<u8> {
134
- pk.bytes
135
- }
136
-
137
- /// Creates a new signature from a sequence of bytes. Does not check the signature for prime-order subgroup
138
- /// membership since that is done implicitly during verification.
139
- public fun signature_from_bytes(bytes: vector<u8>): Signature {
140
- Signature {
141
- bytes
142
- }
143
- }
144
-
145
- /// Serializes the signature into 96 bytes.
146
- public fun signature_to_bytes(sig: &Signature): vector<u8> {
147
- sig.bytes
148
- }
149
-
150
- /// Checks that the group element that defines a signature is in the prime-order subgroup.
151
- /// This check is implicitly performed when verifying any signature via this module, but we expose this functionality
152
- /// in case it might be useful for applications to easily dismiss invalid signatures early on.
153
- public fun signature_subgroup_check(signature: &Signature): bool {
154
- signature_subgroup_check_internal(signature.bytes)
155
- }
156
-
157
- /// Given a vector of public keys with verified PoPs, combines them into an *aggregated* public key which can be used
158
- /// to verify multisignatures using `verify_multisignature` and aggregate signatures using `verify_aggregate_signature`.
159
- /// Aborts if no public keys are given as input.
160
- public fun aggregate_pubkeys(public_keys: vector<PublicKeyWithPoP>): AggrPublicKeysWithPoP {
161
- let (bytes, success) = aggregate_pubkeys_internal(public_keys);
162
- assert!(success, std::error::invalid_argument(EZERO_PUBKEYS));
163
-
164
- AggrPublicKeysWithPoP {
165
- bytes
166
- }
167
- }
168
-
169
- /// Serializes an aggregate public key into 48 bytes.
170
- public fun aggregate_pubkey_to_bytes(apk: &AggrPublicKeysWithPoP): vector<u8> {
171
- apk.bytes
172
- }
173
-
174
- /// Aggregates the input signatures into an aggregate-or-multi-signature structure, which can be later verified via
175
- /// `verify_aggregate_signature` or `verify_multisignature`. Returns `None` if zero signatures are given as input
176
- /// or if some of the signatures are not valid group elements.
177
- public fun aggregate_signatures(signatures: vector<Signature>): Option<AggrOrMultiSignature> {
178
- let (bytes, success) = aggregate_signatures_internal(signatures);
179
- if (success) {
180
- option::some(
181
- AggrOrMultiSignature {
182
- bytes
183
- }
184
- )
185
- } else {
186
- option::none<AggrOrMultiSignature>()
187
- }
188
- }
189
-
190
- /// Serializes an aggregate-or-multi-signature into 96 bytes.
191
- public fun aggr_or_multi_signature_to_bytes(sig: &AggrOrMultiSignature): vector<u8> {
192
- sig.bytes
193
- }
194
-
195
- /// Deserializes an aggregate-or-multi-signature from 96 bytes.
196
- public fun aggr_or_multi_signature_from_bytes(bytes: vector<u8>): AggrOrMultiSignature {
197
- assert!(std::vector::length(&bytes) == SIGNATURE_SIZE, std::error::invalid_argument(EWRONG_SIZE));
198
-
199
- AggrOrMultiSignature {
200
- bytes
201
- }
202
- }
203
-
204
-
205
- /// Checks that the group element that defines an aggregate-or-multi-signature is in the prime-order subgroup.
206
- public fun aggr_or_multi_signature_subgroup_check(signature: &AggrOrMultiSignature): bool {
207
- signature_subgroup_check_internal(signature.bytes)
208
- }
209
-
210
- /// Verifies an aggregate signature, an aggregation of many signatures `s_i`, each on a different message `m_i`.
211
- public fun verify_aggregate_signature(
212
- aggr_sig: &AggrOrMultiSignature,
213
- public_keys: vector<PublicKeyWithPoP>,
214
- messages: vector<vector<u8>>,
215
- ): bool {
216
- verify_aggregate_signature_internal(aggr_sig.bytes, public_keys, messages)
217
- }
218
-
219
- /// Verifies a multisignature: an aggregation of many signatures, each on the same message `m`.
220
- public fun verify_multisignature(
221
- multisig: &AggrOrMultiSignature,
222
- aggr_public_key: &AggrPublicKeysWithPoP,
223
- message: vector<u8>
224
- ): bool {
225
- verify_multisignature_internal(multisig.bytes, aggr_public_key.bytes, message)
226
- }
227
-
228
- /// Verifies a normal, non-aggregated signature.
229
- public fun verify_normal_signature(
230
- signature: &Signature,
231
- public_key: &PublicKey,
232
- message: vector<u8>
233
- ): bool {
234
- verify_normal_signature_internal(signature.bytes, public_key.bytes, message)
235
- }
236
-
237
- /// Verifies a signature share in the multisignature share or an aggregate signature share.
238
- public fun verify_signature_share(
239
- signature_share: &Signature,
240
- public_key: &PublicKeyWithPoP,
241
- message: vector<u8>
242
- ): bool {
243
- verify_signature_share_internal(signature_share.bytes, public_key.bytes, message)
244
- }
245
-
246
- #[test_only]
247
- /// Generates a BLS key-pair: a secret key with its corresponding public key.
248
- public fun generate_keys(): (SecretKey, PublicKeyWithPoP) {
249
- let (sk_bytes, pk_bytes) = generate_keys_internal();
250
- let sk = SecretKey {
251
- bytes: sk_bytes
252
- };
253
- let pkpop = PublicKeyWithPoP {
254
- bytes: pk_bytes
255
- };
256
- (sk, pkpop)
257
- }
258
-
259
- #[test_only]
260
- /// Generates a BLS signature for a message with a signing key.
261
- public fun sign_arbitrary_bytes(signing_key: &SecretKey, message: vector<u8>): Signature {
262
- Signature {
263
- bytes: sign_internal(signing_key.bytes, message)
264
- }
265
- }
266
-
267
- #[test_only]
268
- /// Generates a multi-signature for a message with multiple signing keys.
269
- public fun multi_sign_arbitrary_bytes(signing_keys: &vector<SecretKey>, message: vector<u8>): AggrOrMultiSignature {
270
- let n = std::vector::length(signing_keys);
271
- let sigs = vector[];
272
- let i: u64 = 0;
273
- while (i < n) {
274
- let sig = sign_arbitrary_bytes(std::vector::borrow(signing_keys, i), message);
275
- std::vector::push_back(&mut sigs, sig);
276
- i = i + 1;
277
- };
278
- let multisig = aggregate_signatures(sigs);
279
- option::extract(&mut multisig)
280
- }
281
-
282
- #[test_only]
283
- /// Generates an aggregated signature over all messages in messages, where signing_keys[i] signs messages[i].
284
- public fun aggr_sign_arbitrary_bytes(signing_keys: &vector<SecretKey>, messages: &vector<vector<u8>>): AggrOrMultiSignature {
285
- let signing_key_count = std::vector::length(signing_keys);
286
- let message_count = std::vector::length(messages);
287
- assert!(signing_key_count == message_count, invalid_argument(E_NUM_SIGNERS_MUST_EQ_NUM_MESSAGES));
288
- let sigs = vector[];
289
- let i: u64 = 0;
290
- while (i < signing_key_count) {
291
- let sig = sign_arbitrary_bytes(std::vector::borrow(signing_keys, i), *std::vector::borrow(messages, i));
292
- std::vector::push_back(&mut sigs, sig);
293
- i = i + 1;
294
- };
295
- let aggr_sig = aggregate_signatures(sigs);
296
- option::extract(&mut aggr_sig)
297
- }
298
-
299
- #[test_only]
300
- /// Returns a mauled copy of a byte array.
301
- public fun maul_bytes(bytes: &vector<u8>): vector<u8> {
302
- let new_bytes = *bytes;
303
- let first_byte = std::vector::borrow_mut(&mut new_bytes, 0);
304
- *first_byte = *first_byte ^ 0xff;
305
- new_bytes
306
- }
307
-
308
- #[test_only]
309
- /// Returns a mauled copy of a normal signature.
310
- public fun maul_signature(sig: &Signature): Signature {
311
- Signature {
312
- bytes: maul_bytes(&signature_to_bytes(sig))
313
- }
314
- }
315
-
316
- #[test_only]
317
- /// Returns a mauled copy of an aggregated signature or a multi-signature.
318
- public fun maul_aggr_or_multi_signature(sig: &AggrOrMultiSignature): AggrOrMultiSignature {
319
- AggrOrMultiSignature {
320
- bytes: maul_bytes(&aggr_or_multi_signature_to_bytes(sig))
321
- }
322
- }
323
-
324
- #[test_only]
325
- /// Returns a mauled copy of a normal public key.
326
- public fun maul_public_key(pk: &PublicKey): PublicKey {
327
- PublicKey {
328
- bytes: maul_bytes(&public_key_to_bytes(pk))
329
- }
330
- }
331
-
332
- #[test_only]
333
- /// Returns a mauled copy of a PoP'd public key.
334
- public fun maul_public_key_with_pop(pk: &PublicKeyWithPoP): PublicKeyWithPoP {
335
- PublicKeyWithPoP {
336
- bytes: maul_bytes(&public_key_with_pop_to_bytes(pk))
337
- }
338
- }
339
-
340
- #[test_only]
341
- /// Returns a mauled copy of an aggregated public key.
342
- public fun maul_aggregated_public_key(pk: &AggrPublicKeysWithPoP): AggrPublicKeysWithPoP {
343
- AggrPublicKeysWithPoP {
344
- bytes: maul_bytes(&aggregate_pubkey_to_bytes(pk))
345
- }
346
- }
347
-
348
- #[test_only]
349
- /// Returns a mauled copy of a proof-of-possession.
350
- public fun maul_proof_of_possession(pop: &ProofOfPossession): ProofOfPossession {
351
- ProofOfPossession {
352
- bytes: maul_bytes(&proof_of_possession_to_bytes(pop))
353
- }
354
- }
355
-
356
-
357
- #[test_only]
358
- /// Generates a proof-of-possession (PoP) for the public key associated with the secret key `sk`.
359
- public fun generate_proof_of_possession(sk: &SecretKey): ProofOfPossession {
360
- ProofOfPossession {
361
- bytes: generate_proof_of_possession_internal(sk.bytes)
362
- }
363
- }
364
-
365
- //
366
- // Native functions
367
- //
368
-
369
- /// CRYPTOGRAPHY WARNING: This function assumes that the caller verified all public keys have a valid
370
- /// proof-of-possesion (PoP) using `verify_proof_of_possession`.
371
- ///
372
- /// Given a vector of serialized public keys, combines them into an aggregated public key, returning `(bytes, true)`,
373
- /// where `bytes` store the serialized public key.
374
- /// Aborts if no public keys are given as input.
375
- native fun aggregate_pubkeys_internal(public_keys: vector<PublicKeyWithPoP>): (vector<u8>, bool);
376
-
377
-
378
- /// CRYPTOGRAPHY WARNING: This function can be safely called without verifying that the input signatures are elements
379
- /// of the prime-order subgroup of the BLS12-381 curve.
380
- ///
381
- /// Given a vector of serialized signatures, combines them into an aggregate signature, returning `(bytes, true)`,
382
- /// where `bytes` store the serialized signature.
383
- /// Does not check the input signatures nor the final aggregated signatures for prime-order subgroup membership.
384
- /// Returns `(_, false)` if no signatures are given as input.
385
- /// Does not abort.
386
- native fun aggregate_signatures_internal(signatures: vector<Signature>): (vector<u8>, bool);
387
-
388
- /// Return `true` if the bytes in `public_key` are a valid BLS12-381 public key:
389
- /// (1) it is NOT the identity point, and
390
- /// (2) it is a BLS12-381 elliptic curve point, and
391
- /// (3) it is a prime-order point
392
- /// Return `false` otherwise.
393
- /// Does not abort.
394
- native fun validate_pubkey_internal(public_key: vector<u8>): bool;
395
-
396
- /// Return `true` if the elliptic curve point serialized in `signature`:
397
- /// (1) is NOT the identity point, and
398
- /// (2) is a BLS12-381 elliptic curve point, and
399
- /// (3) is a prime-order point
400
- /// Return `false` otherwise.
401
- /// Does not abort.
402
- native fun signature_subgroup_check_internal(signature: vector<u8>): bool;
403
-
404
- /// CRYPTOGRAPHY WARNING: First, this function assumes all public keys have a valid proof-of-possesion (PoP).
405
- /// This prevents both small-subgroup attacks and rogue-key attacks. Second, this function can be safely called
406
- /// without verifying that the aggregate signature is in the prime-order subgroup of the BLS12-381 curve.
407
- ///
408
- /// Returns `true` if the aggregate signature `aggsig` on `messages` under `public_keys` verifies (where `messages[i]`
409
- /// should be signed by `public_keys[i]`).
410
- ///
411
- /// Returns `false` if either:
412
- /// - no public keys or messages are given as input,
413
- /// - number of messages does not equal number of public keys
414
- /// - `aggsig` (1) is the identity point, or (2) is NOT a BLS12-381 elliptic curve point, or (3) is NOT a
415
- /// prime-order point
416
- /// Does not abort.
417
- native fun verify_aggregate_signature_internal(
418
- aggsig: vector<u8>,
419
- public_keys: vector<PublicKeyWithPoP>,
420
- messages: vector<vector<u8>>,
421
- ): bool;
422
-
423
- /// CRYPTOGRAPHY WARNING: This function assumes verified proofs-of-possesion (PoP) for the public keys used in
424
- /// computing the aggregate public key. This prevents small-subgroup attacks and rogue-key attacks.
425
- ///
426
- /// Return `true` if the BLS `multisignature` on `message` verifies against the BLS aggregate public key `agg_public_key`.
427
- /// Returns `false` otherwise.
428
- /// Does not abort.
429
- native fun verify_multisignature_internal(
430
- multisignature: vector<u8>,
431
- agg_public_key: vector<u8>,
432
- message: vector<u8>
433
- ): bool;
434
-
435
- /// CRYPTOGRAPHY WARNING: This function WILL check that the public key is a prime-order point, in order to prevent
436
- /// library users from misusing the library by forgetting to validate public keys before giving them as arguments to
437
- /// this function.
438
- ///
439
- /// Returns `true` if the `signature` on `message` verifies under `public key`.
440
- /// Returns `false` otherwise.
441
- /// Does not abort.
442
- native fun verify_normal_signature_internal(
443
- signature: vector<u8>,
444
- public_key: vector<u8>,
445
- message: vector<u8>
446
- ): bool;
447
-
448
- /// Return `true` if the bytes in `public_key` are a valid bls12381 public key (as per `validate_pubkey`)
449
- /// *and* this public key has a valid proof-of-possesion (PoP).
450
- /// Return `false` otherwise.
451
- /// Does not abort.
452
- native fun verify_proof_of_possession_internal(
453
- public_key: vector<u8>,
454
- proof_of_possesion: vector<u8>
455
- ): bool;
456
-
457
- /// CRYPTOGRAPHY WARNING: Assumes the public key has a valid proof-of-possesion (PoP). This prevents rogue-key
458
- /// attacks later on during signature aggregation.
459
- ///
460
- /// Returns `true` if the `signature_share` on `message` verifies under `public key`.
461
- /// Returns `false` otherwise, similar to `verify_multisignature`.
462
- /// Does not abort.
463
- native fun verify_signature_share_internal(
464
- signature_share: vector<u8>,
465
- public_key: vector<u8>,
466
- message: vector<u8>
467
- ): bool;
468
-
469
- #[test_only]
470
- native fun generate_keys_internal(): (vector<u8>, vector<u8>);
471
-
472
- #[test_only]
473
- native fun sign_internal(sk: vector<u8>, msg: vector<u8>): vector<u8>;
474
-
475
- #[test_only]
476
- native fun generate_proof_of_possession_internal(sk: vector<u8>): vector<u8>;
477
-
478
- //
479
- // Constants and helpers for tests
480
- //
481
-
482
- /// Random signature generated by running `cargo test -- bls12381_sample_signature --nocapture --include-ignored` in `crates/aptos-crypto`.
483
- /// The message signed is "Hello Aptos!" and the associated SK is 07416693b6b32c84abe45578728e2379f525729e5b94762435a31e65ecc728da.
484
- const RANDOM_SIGNATURE: vector<u8> = x"a01a65854f987d3434149b7f08f70730e30b241984e8712bc2aca885d632aafced4c3f661209debb6b1c8601326623cc16ca2f6c9edc53b7b88b7435fb6b05ddece418d2c34dc6aca2f5a11a79e67774582c14084a01dcb7820e4cb4bad0ea8d";
485
-
486
- /// Random signature generated by running `cargo test -- bls12381_sample_signature --nocapture --include-ignored` in `crates/aptos-crypto`.
487
- /// The associated SK is 07416693b6b32c84abe45578728e2379f525729e5b94762435a31e65ecc728da.
488
- const RANDOM_PK: vector<u8> = x"8a53e7ae5270e3e765cd8a4032c2e77c6f7e87a44ebb85bf28a4d7865565698f975346714262f9e47c6f3e0d5d951660";
489
-
490
- //
491
- // Tests
492
- //
493
-
494
- #[test_only]
495
- fun get_random_aggsig(): AggrOrMultiSignature {
496
- assert!(signature_subgroup_check_internal(RANDOM_SIGNATURE), 1);
497
-
498
- AggrOrMultiSignature { bytes: RANDOM_SIGNATURE }
499
- }
500
-
501
- #[test_only]
502
- fun get_random_pk_with_pop(): PublicKeyWithPoP {
503
- assert!(validate_pubkey_internal(RANDOM_PK), 1);
504
-
505
- PublicKeyWithPoP {
506
- bytes: RANDOM_PK
507
- }
508
- }
509
-
510
- #[test]
511
- fun test_pubkey_validation() {
512
- // test low order points (in group for PK)
513
- assert!(option::is_none(&public_key_from_bytes(x"ae3cd9403b69c20a0d455fd860e977fe6ee7140a7f091f26c860f2caccd3e0a7a7365798ac10df776675b3a67db8faa0")), 1);
514
- assert!(option::is_none(&public_key_from_bytes(x"928d4862a40439a67fd76a9c7560e2ff159e770dcf688ff7b2dd165792541c88ee76c82eb77dd6e9e72c89cbf1a56a68")), 1);
515
- assert!(option::is_some(&public_key_from_bytes(x"b3e4921277221e01ed71284be5e3045292b26c7f465a6fcdba53ee47edd39ec5160da3b229a73c75671024dcb36de091")), 1);
516
- }
517
-
518
- #[test]
519
- #[expected_failure(abort_code = 65537, location = Self)]
520
- fun test_empty_pubkey_aggregation() {
521
- // First, make sure if no inputs are given, the function returns None
522
- // assert!(aggregate_pop_verified_pubkeys(vector::empty()) == option::none(), 1);
523
- aggregate_pubkeys(std::vector::empty());
524
- }
525
-
526
- #[test]
527
- fun test_pubkey_aggregation() {
528
- // Second, try some test-cases generated by running the following command in `crates/aptos-crypto`:
529
- // $ cargo test -- sample_aggregate_pk_and_multisig --nocapture --include-ignored
530
- let pks = vector[
531
- PublicKeyWithPoP { bytes: x"92e201a806af246f805f460fbdc6fc90dd16a18d6accc236e85d3578671d6f6690dde22134d19596c58ce9d63252410a" },
532
- PublicKeyWithPoP { bytes: x"ab9df801c6f96ade1c0490c938c87d5bcc2e52ccb8768e1b5d14197c5e8bfa562783b96711b702dda411a1a9f08ebbfa" },
533
- PublicKeyWithPoP { bytes: x"b698c932cf7097d99c17bd6e9c9dc4eeba84278c621700a8f80ec726b1daa11e3ab55fc045b4dbadefbeef05c4182494" },
534
- PublicKeyWithPoP { bytes: x"934706a8b876d47a996d427e1526ce52c952d5ec0858d49cd262efb785b62b1972d06270b0a7adda1addc98433ad1843" },
535
- PublicKeyWithPoP { bytes: x"a4cd352daad3a0651c1998dfbaa7a748e08d248a54347544bfedd51a197e016bb6008e9b8e45a744e1a030cc3b27d2da" },
536
- ];
537
-
538
- // agg_pks[i] = \sum_{j <= i} pk[j]
539
- let agg_pks = vector[
540
- AggrPublicKeysWithPoP { bytes: x"92e201a806af246f805f460fbdc6fc90dd16a18d6accc236e85d3578671d6f6690dde22134d19596c58ce9d63252410a" },
541
- AggrPublicKeysWithPoP { bytes: x"b79ad47abb441d7eda9b220a626df2e4e4910738c5f777947f0213398ecafae044ec0c20d552d1348347e9abfcf3eca1" },
542
- AggrPublicKeysWithPoP { bytes: x"b5f5eb6153ab5388a1a76343d714e4a2dcf224c5d0722d1e8e90c6bcead05c573fffe986460bd4000645a655bf52bc60" },
543
- AggrPublicKeysWithPoP { bytes: x"b922006ec14c183572a8864c31dc6632dccffa9f9c86411796f8b1b5a93a2457762c8e2f5ef0a2303506c4bca9a4e0bf" },
544
- AggrPublicKeysWithPoP { bytes: x"b53df1cfee2168f59e5792e710bf22928dc0553e6531dae5c7656c0a66fc12cb82fbb04863938c953dc901a5a79cc0f3" },
545
- ];
546
-
547
- let i = 0;
548
- let accum_pk = std::vector::empty<PublicKeyWithPoP>();
549
- while (i < std::vector::length(&pks)) {
550
- std::vector::push_back(&mut accum_pk, *std::vector::borrow(&pks, i));
551
-
552
- let apk = aggregate_pubkeys(accum_pk);
553
-
554
- // Make sure PKs were aggregated correctly
555
- assert!(apk == *std::vector::borrow(&agg_pks, i), 1);
556
- assert!(validate_pubkey_internal(apk.bytes), 1);
557
-
558
- i = i + 1;
559
- };
560
- }
561
-
562
- #[test]
563
- fun test_pubkey_validation_against_invalid_keys() {
564
- let (_sk, pk) = generate_keys();
565
- let pk_bytes = public_key_with_pop_to_bytes(&pk);
566
- assert!(option::is_some(&public_key_from_bytes(pk_bytes)), 1);
567
- assert!(option::is_none(&public_key_from_bytes(maul_bytes(&pk_bytes))), 1);
568
- }
569
-
570
- #[test]
571
- fun test_signature_aggregation() {
572
- // First, test empty aggregation
573
- assert!(option::is_none(&mut aggregate_signatures(vector[])), 1);
574
-
575
- // Second, try some test-cases generated by running the following command in `crates/aptos-crypto`:
576
- // $ cargo test -- sample_aggregate_sigs --nocapture --include-ignored
577
-
578
- // Signatures of each signer i
579
- let sigs = vector[
580
- signature_from_bytes(x"a55ac2d64b4c1d141b15d876d3e54ad1eea07ee488e8287cce7cdf3eec551458ab5795ab196f8c112590346f7bc7c97e0053cd5be0f9bd74b93a87cd44458e98d125d6d5c6950ea5e62666beb34422ead79121f8cb0815dae41a986688d03eaf"),
581
- signature_from_bytes(x"90a639a44491191c46379a843266c293de3a46197714ead2ad3886233dd5c2b608b6437fa32fbf9d218b20f1cbfa7970182663beb9c148e2e9412b148e16abf283ffa51b8a536c0e55d61b2e5c849edc49f636c0ef07cb99f125cbcf602e22bb"),
582
- signature_from_bytes(x"9527d81aa15863ef3a3bf96bea6d58157d5063a93a6d0eb9d8b4f4bbda3b31142ec4586cb519da2cd7600941283d1bad061b5439703fd584295b44037a969876962ae1897dcc7cadf909d06faae213c4fef8e015dfb33ec109af02ab0c3f6833"),
583
- signature_from_bytes(x"a54d264f5cab9654b1744232c4650c42b29adf2b19bd00bbdaf4a4d792ee4dfd40a1fe1b067f298bcfd8ae4fdc8250660a2848bd4a80d96585afccec5c6cfa617033dd7913c9acfdf98a72467e8a5155d4cad589a72d6665be7cb410aebc0068"),
584
- signature_from_bytes(x"8d22876bdf73e6ad36ed98546018f6258cd47e45904b87c071e774a6ef4b07cac323258cb920b2fe2b07cca1f2b24bcb0a3194ec76f32edb92391ed2c39e1ada8919f8ea755c5e39873d33ff3a8f4fba21b1261c1ddb9d1688c2b40b77e355d1"),
585
- ];
586
-
587
- // multisigs[i] is a signature on "Hello, Aptoverse!" from signers 1 through i (inclusive)
588
- let multisigs = vector[
589
- AggrOrMultiSignature { bytes: x"a55ac2d64b4c1d141b15d876d3e54ad1eea07ee488e8287cce7cdf3eec551458ab5795ab196f8c112590346f7bc7c97e0053cd5be0f9bd74b93a87cd44458e98d125d6d5c6950ea5e62666beb34422ead79121f8cb0815dae41a986688d03eaf" },
590
- AggrOrMultiSignature { bytes: x"8f1949a06b95c3cb62898d861f889350c0d2cb740da513bfa195aa0ab8fa006ea2efe004a7bbbd9bb363637a279aed20132efd0846f520e7ee0e8ed847a1c6969bb986ad2239bcc9af561b6c2aa6d3016e1c722146471f1e28313de189fe7ebc" },
591
- AggrOrMultiSignature { bytes: x"ab5ad42bb8f350f8a6b4ae897946a05dbe8f2b22db4f6c37eff6ff737aebd6c5d75bd1abdfc99345ac8ec38b9a449700026f98647752e1c99f69bb132340f063b8a989728e0a3d82a753740bf63e5d8f51e413ebd9a36f6acbe1407a00c4b3e7" },
592
- AggrOrMultiSignature { bytes: x"ae307a0d055d3ba55ad6ec7094adef27ed821bdcf735fb509ab2c20b80952732394bc67ea1fd8c26ea963540df7448f8102509f7b8c694e4d75f30a43c455f251b6b3fd8b580b9228ffeeb9039834927aacefccd3069bef4b847180d036971cf" },
593
- AggrOrMultiSignature { bytes: x"8284e4e3983f29cb45020c3e2d89066df2eae533a01cb6ca2c4d466b5e02dd22467f59640aa120db2b9cc49e931415c3097e3d54ff977fd9067b5bc6cfa1c885d9d8821aef20c028999a1d97e783ae049d8fa3d0bbac36ce4ca8e10e551d3461" },
594
- ];
595
-
596
- let i = 0;
597
- let accum_sigs = std::vector::empty<Signature>();
598
- while (i < std::vector::length(&sigs)) {
599
- std::vector::push_back(&mut accum_sigs, *std::vector::borrow(&sigs, i));
600
-
601
- let multisig = option::extract(&mut aggregate_signatures(accum_sigs));
602
-
603
- // Make sure sigs were aggregated correctly
604
- assert!(multisig == *std::vector::borrow(&multisigs, i), 1);
605
- assert!(signature_subgroup_check_internal(multisig.bytes), 1);
606
-
607
- i = i + 1;
608
- };
609
- }
610
-
611
- #[test]
612
- fun test_empty_signature_aggregation() {
613
- assert!(option::is_none(&mut aggregate_signatures(vector[])), 1);
614
- }
615
-
616
- #[test]
617
- fun test_verify_multisig() {
618
- // Second, try some test-cases generated by running the following command in `crates/aptos-crypto`:
619
- // $ cargo test -- sample_aggregate_pk_and_multisig --nocapture --include-ignored
620
- let pks = vector[
621
- PublicKeyWithPoP { bytes: x"92e201a806af246f805f460fbdc6fc90dd16a18d6accc236e85d3578671d6f6690dde22134d19596c58ce9d63252410a" },
622
- PublicKeyWithPoP { bytes: x"ab9df801c6f96ade1c0490c938c87d5bcc2e52ccb8768e1b5d14197c5e8bfa562783b96711b702dda411a1a9f08ebbfa" },
623
- PublicKeyWithPoP { bytes: x"b698c932cf7097d99c17bd6e9c9dc4eeba84278c621700a8f80ec726b1daa11e3ab55fc045b4dbadefbeef05c4182494" },
624
- PublicKeyWithPoP { bytes: x"934706a8b876d47a996d427e1526ce52c952d5ec0858d49cd262efb785b62b1972d06270b0a7adda1addc98433ad1843" },
625
- PublicKeyWithPoP { bytes: x"a4cd352daad3a0651c1998dfbaa7a748e08d248a54347544bfedd51a197e016bb6008e9b8e45a744e1a030cc3b27d2da" },
626
- ];
627
-
628
- // agg_pks[i] = \sum_{j <= i} pk[j]
629
- let agg_pks = vector[
630
- AggrPublicKeysWithPoP { bytes: x"92e201a806af246f805f460fbdc6fc90dd16a18d6accc236e85d3578671d6f6690dde22134d19596c58ce9d63252410a" },
631
- AggrPublicKeysWithPoP { bytes: x"b79ad47abb441d7eda9b220a626df2e4e4910738c5f777947f0213398ecafae044ec0c20d552d1348347e9abfcf3eca1" },
632
- AggrPublicKeysWithPoP { bytes: x"b5f5eb6153ab5388a1a76343d714e4a2dcf224c5d0722d1e8e90c6bcead05c573fffe986460bd4000645a655bf52bc60" },
633
- AggrPublicKeysWithPoP { bytes: x"b922006ec14c183572a8864c31dc6632dccffa9f9c86411796f8b1b5a93a2457762c8e2f5ef0a2303506c4bca9a4e0bf" },
634
- AggrPublicKeysWithPoP { bytes: x"b53df1cfee2168f59e5792e710bf22928dc0553e6531dae5c7656c0a66fc12cb82fbb04863938c953dc901a5a79cc0f3" },
635
- ];
636
-
637
- // multisigs[i] is a signature on "Hello, Aptoverse!" under agg_pks[i]
638
- let multisigs = vector[
639
- AggrOrMultiSignature { bytes: x"ade45c67bff09ae57e0575feb0be870f2d351ce078e8033d847615099366da1299c69497027b77badb226ff1708543cd062597030c3f1553e0aef6c17e7af5dd0de63c1e4f1f9da68c966ea6c1dcade2cdc646bd5e8bcd4773931021ec5be3fd" },
640
- AggrOrMultiSignature { bytes: x"964af3d83436f6a9a382f34590c0c14e4454dc1de536af205319ce1ed417b87a2374863d5df7b7d5ed900cf91dffa7a105d3f308831d698c0d74fb2259d4813434fb86425db0ded664ae8f85d02ec1d31734910317d4155cbf69017735900d4d" },
641
- AggrOrMultiSignature { bytes: x"b523a31813e771e55aa0fc99a48db716ecc1085f9899ccadb64e759ecb481a2fb1cdcc0b266f036695f941361de773081729311f6a1bca9d47393f5359c8c87dc34a91f5dae335590aacbff974076ad1f910dd81750553a72ccbcad3c8cc0f07" },
642
- AggrOrMultiSignature { bytes: x"a945f61699df58617d37530a85e67bd1181349678b89293951ed29d1fb7588b5c12ebb7917dfc9d674f3f4fde4d062740b85a5f4927f5a4f0091e46e1ac6e41bbd650a74dd49e91445339d741e3b10bdeb9bc8bba46833e0011ff91fa5c77bd2" },
643
- AggrOrMultiSignature { bytes: x"b627b2cfd8ae59dcf5e58cc6c230ae369985fd096e1bc3be38da5deafcbed7d939f07cccc75383539940c56c6b6453db193f563f5b6e4fe54915afd9e1baea40a297fa7eda74abbdcd4cc5c667d6db3b9bd265782f7693798894400f2beb4637" },
644
- ];
645
-
646
- let i = 0;
647
- let accum_pk = std::vector::empty<PublicKeyWithPoP>();
648
- while (i < std::vector::length(&pks)) {
649
- std::vector::push_back(&mut accum_pk, *std::vector::borrow(&pks, i));
650
-
651
- let apk = aggregate_pubkeys(accum_pk);
652
-
653
- assert!(apk == *std::vector::borrow(&agg_pks, i), 1);
654
-
655
- assert!(verify_multisignature(std::vector::borrow(&multisigs, i), &apk, b"Hello, Aptoverse!"), 1);
656
-
657
- i = i + 1;
658
- };
659
- }
660
-
661
- #[test]
662
- fun test_verify_multisignature_randomized() {
663
- let signer_count = 1;
664
- let max_signer_count = 5;
665
- let msg = b"hello world";
666
- while (signer_count <= max_signer_count) {
667
- // Generate key pairs.
668
- let signing_keys = vector[];
669
- let public_keys = vector[];
670
- let i = 0;
671
- while (i < signer_count) {
672
- let (sk, pk) = generate_keys();
673
- std::vector::push_back(&mut signing_keys, sk);
674
- std::vector::push_back(&mut public_keys, pk);
675
- i = i + 1;
676
- };
677
-
678
- // Generate multi-signature.
679
- let aggr_pk = aggregate_pubkeys(public_keys);
680
- let multisig = multi_sign_arbitrary_bytes(&signing_keys, msg);
681
-
682
- // Test signature verification.
683
- assert!(verify_multisignature(&multisig, &aggr_pk, msg), 1);
684
- assert!(!verify_multisignature(&maul_aggr_or_multi_signature(&multisig), &aggr_pk, msg), 1);
685
- assert!(!verify_multisignature(&multisig, &maul_aggregated_public_key(&aggr_pk), msg), 1);
686
- assert!(!verify_multisignature(&multisig, &aggr_pk, maul_bytes(&msg)), 1);
687
-
688
- // Also test signature aggregation.
689
- let signatures = vector[];
690
- let i = 0;
691
- while (i < signer_count) {
692
- let sk = std::vector::borrow(&signing_keys, i);
693
- let sig = sign_arbitrary_bytes(sk, msg);
694
- std::vector::push_back(&mut signatures, sig);
695
- i = i + 1;
696
- };
697
- let aggregated_signature = option::extract(&mut aggregate_signatures(signatures));
698
- assert!(aggr_or_multi_signature_subgroup_check(&aggregated_signature), 1);
699
- assert!(aggr_or_multi_signature_to_bytes(&aggregated_signature) == aggr_or_multi_signature_to_bytes(&multisig), 1);
700
-
701
- signer_count = signer_count + 1;
702
- }
703
- }
704
-
705
- #[test]
706
- fun test_verify_aggsig() {
707
- assert!(aggr_or_multi_signature_to_bytes(&aggr_or_multi_signature_from_bytes(RANDOM_SIGNATURE)) == RANDOM_SIGNATURE, 1);
708
-
709
- // First, make sure verification returns None when no inputs are given or |pks| != |msgs|
710
- assert!(verify_aggregate_signature(&get_random_aggsig(), vector[], vector[]) == false, 1);
711
-
712
- assert!(verify_aggregate_signature(
713
- &get_random_aggsig(),
714
- vector[ get_random_pk_with_pop() ],
715
- vector[]) == false, 1);
716
-
717
- assert!(verify_aggregate_signature(
718
- &get_random_aggsig(),
719
- vector[],
720
- vector[ x"ab" ]) == false, 1);
721
-
722
- assert!(verify_aggregate_signature(
723
- &get_random_aggsig(),
724
- vector[ get_random_pk_with_pop() ],
725
- vector[
726
- x"cd", x"ef"
727
- ]) == false, 1);
728
-
729
- assert!(verify_aggregate_signature(
730
- &get_random_aggsig(),
731
- vector[
732
- get_random_pk_with_pop(),
733
- get_random_pk_with_pop(),
734
- get_random_pk_with_pop(),
735
- ],
736
- vector[
737
- x"cd", x"ef"
738
- ]) == false, 1);
739
-
740
- // Second, try some test-cases generated by running the following command in `crates/aptos-crypto`:
741
- // $ cargo test -- bls12381_sample_aggregate_pk_and_aggsig --nocapture --ignored
742
-
743
- // The signed messages are "Hello, Aptos <i>!", where <i> \in {1, ..., 5}
744
- let msgs = vector[
745
- x"48656c6c6f2c204170746f73203121",
746
- x"48656c6c6f2c204170746f73203221",
747
- x"48656c6c6f2c204170746f73203321",
748
- x"48656c6c6f2c204170746f73203421",
749
- x"48656c6c6f2c204170746f73203521",
750
- ];
751
-
752
- // Public key of signer i
753
- let pks = vector[
754
- PublicKeyWithPoP { bytes: x"b93d6aabb2b83e52f4b8bda43c24ea920bbced87a03ffc80f8f70c814a8b3f5d69fbb4e579ca76ee008d61365747dbc6" },
755
- PublicKeyWithPoP { bytes: x"b45648ceae3a983bcb816a96db599b5aef3b688c5753fa20ce36ac7a4f2c9ed792ab20af6604e85e42dab746398bb82c" },
756
- PublicKeyWithPoP { bytes: x"b3e4921277221e01ed71284be5e3045292b26c7f465a6fcdba53ee47edd39ec5160da3b229a73c75671024dcb36de091" },
757
- PublicKeyWithPoP { bytes: x"8463b8671c9775a7dbd98bf76d3deba90b5a90535fc87dc8c13506bb5c7bbd99be4d257e60c548140e1e30b107ff5822" },
758
- PublicKeyWithPoP { bytes: x"a79e3d0e9d04587a3b27d05efe5717da05fd93485dc47978c866dc70a01695c2efd247d1dd843a011a4b6b24079d7384" },
759
- ];
760
-
761
- // aggsigs[i] = \sum_{j <= i} sigs[j], where sigs[j] is a signature on msgs[j] under pks[j]
762
- let aggsigs = vector[
763
- AggrOrMultiSignature { bytes: x"a2bc8bdebe6215ba74b5b53c5ed2aa0c68221a4adf868989ccdcfb62bb0eecc6537def9ee686a7960169c5917d25e5220177ed1c5e95ecfd68c09694062e76efcb00759beac874e4f9a715fd144210883bf9bb272f156b0a1fa15d0e9460f01f" },
764
- AggrOrMultiSignature { bytes: x"a523aa3c3f1f1074d968ffecf017c7b93ae5243006bf0abd2e45c036ddbec99302984b650ebe5ba306cda4071d281ba50a99ef0e66c3957fab94163296f9d673fc58a36de4276f82bfb1d9180b591df93b5c2804d40dd68cf0f72cd92f86442e" },
765
- AggrOrMultiSignature { bytes: x"abed10f464de74769121fc09715e59a3ac96a5054a43a9d43cc890a2d4d332614c74c7fb4cceef6d25f85c65dee337330f062f89f23fec9ecf7ce3193fbba2c886630d753be6a4513a4634428904b767af2f230c5cadbcb53a451dd9c7d977f6" },
766
- AggrOrMultiSignature { bytes: x"8362871631ba822742a31209fa4abce6dc94b741ac4725995459da2951324b51efbbf6bc3ab4681e547ebfbadd80e0360dc078c04188198f0acea26c12645ace9107a4a23cf8db46abc7a402637f16a0477c72569fc9966fe804ef4dc0e5e758" },
767
- AggrOrMultiSignature { bytes: x"a44d967935fbe63a763ce2dd2b16981f967ecd31e20d3266eef5517530cdc233c8a18273b6d9fd7f61dd39178826e3f115df4e7b304f2de17373a95ea0c9a14293dcfd6f0ef416e06fa23f6a3c850d638e4d8f97ab4562ef55d49a96a50baa13" },
768
- ];
769
-
770
- let i = 0;
771
- let msg_subset = std::vector::empty<vector<u8>>();
772
- let pk_subset = std::vector::empty<PublicKeyWithPoP>();
773
- while (i < std::vector::length(&pks)) {
774
- let aggsig = *std::vector::borrow(&aggsigs, i);
775
-
776
- std::vector::push_back(&mut pk_subset, *std::vector::borrow(&pks, i));
777
- std::vector::push_back(&mut msg_subset, *std::vector::borrow(&msgs, i));
778
-
779
- assert!(verify_aggregate_signature(&aggsig, pk_subset, msg_subset), 1);
780
-
781
- i = i + 1;
782
- };
783
- }
784
-
785
- #[test]
786
- fun test_verify_aggregated_signature_randomized() {
787
- let signer_count = 1;
788
- let max_signer_count = 5;
789
- while (signer_count <= max_signer_count) {
790
- // Generate key pairs and messages.
791
- let signing_keys = vector[];
792
- let public_keys = vector[];
793
- let messages: vector<vector<u8>> = vector[];
794
- let i = 0;
795
- while (i < signer_count) {
796
- let (sk, pk) = generate_keys();
797
- std::vector::push_back(&mut signing_keys, sk);
798
- std::vector::push_back(&mut public_keys, pk);
799
- let msg: vector<u8> = vector[104, 101, 108, 108, 111, 32, 97, 112, 116, 111, 115, 32, 117, 115, 101, 114, 32, 48+(i as u8)]; //"hello aptos user {i}"
800
- std::vector::push_back(&mut messages, msg);
801
- i = i + 1;
802
- };
803
-
804
- // Maul messages and public keys.
805
- let mauled_public_keys = vector[maul_public_key_with_pop(std::vector::borrow(&public_keys, 0))];
806
- let mauled_messages = vector[maul_bytes(std::vector::borrow(&messages, 0))];
807
- let i = 1;
808
- while (i < signer_count) {
809
- let pk = std::vector::borrow(&public_keys, i);
810
- let msg = std::vector::borrow(&messages, i);
811
- std::vector::push_back(&mut mauled_public_keys, *pk);
812
- std::vector::push_back(&mut mauled_messages, *msg);
813
- i = i + 1;
814
- };
815
-
816
- // Generate aggregated signature.
817
- let aggrsig = aggr_sign_arbitrary_bytes(&signing_keys, &messages);
818
-
819
- // Test signature verification.
820
- assert!(verify_aggregate_signature(&aggrsig, public_keys, messages), 1);
821
- assert!(!verify_aggregate_signature(&maul_aggr_or_multi_signature(&aggrsig), public_keys, messages), 1);
822
- assert!(!verify_aggregate_signature(&aggrsig, mauled_public_keys, messages), 1);
823
- assert!(!verify_aggregate_signature(&aggrsig, public_keys, mauled_messages), 1);
824
-
825
- // Also test signature aggregation.
826
- let signatures = vector[];
827
- let i = 0;
828
- while (i < signer_count) {
829
- let sk = std::vector::borrow(&signing_keys, i);
830
- let msg = std::vector::borrow(&messages, i);
831
- let sig = sign_arbitrary_bytes(sk, *msg);
832
- std::vector::push_back(&mut signatures, sig);
833
- i = i + 1;
834
- };
835
- let aggrsig_another = option::extract(&mut aggregate_signatures(signatures));
836
- assert!(aggr_or_multi_signature_to_bytes(&aggrsig_another) == aggr_or_multi_signature_to_bytes(&aggrsig), 1);
837
-
838
- signer_count = signer_count + 1;
839
- }
840
- }
841
-
842
- #[test]
843
- /// Tests verification of a random BLS signature created using sk = x""
844
- fun test_verify_normal_and_verify_sigshare() {
845
- // Test case generated by running `cargo test -- bls12381_sample_signature --nocapture --include-ignored` in
846
- // `crates/aptos-crypto`
847
- // =============================================================================================================
848
- // SK: 077c8a56f26259215a4a245373ab6ddf328ac6e00e5ea38d8700efa361bdc58d
849
-
850
- let message = b"Hello Aptos!";
851
-
852
- // First, test signatures that verify
853
- let ok = verify_normal_signature(
854
- &signature_from_bytes(x"b01ce4632e94d8c611736e96aa2ad8e0528a02f927a81a92db8047b002a8c71dc2d6bfb94729d0973790c10b6ece446817e4b7543afd7ca9a17c75de301ae835d66231c26a003f11ae26802b98d90869a9e73788c38739f7ac9d52659e1f7cf7"),
855
- &option::extract(&mut public_key_from_bytes(x"94209a296b739577cb076d3bfb1ca8ee936f29b69b7dae436118c4dd1cc26fd43dcd16249476a006b8b949bf022a7858")),
856
- message,
857
- );
858
- assert!(ok == true, 1);
859
-
860
- let pk = option::extract(&mut public_key_from_bytes(x"94209a296b739577cb076d3bfb1ca8ee936f29b69b7dae436118c4dd1cc26fd43dcd16249476a006b8b949bf022a7858"));
861
- let pk_with_pop = PublicKeyWithPoP { bytes: pk.bytes };
862
-
863
- let ok = verify_signature_share(
864
- &signature_from_bytes(x"b01ce4632e94d8c611736e96aa2ad8e0528a02f927a81a92db8047b002a8c71dc2d6bfb94729d0973790c10b6ece446817e4b7543afd7ca9a17c75de301ae835d66231c26a003f11ae26802b98d90869a9e73788c38739f7ac9d52659e1f7cf7"),
865
- &pk_with_pop,
866
- message,
867
- );
868
- assert!(ok == true, 1);
869
-
870
- // Second, test signatures that do NOT verify
871
- let sigs = vector[
872
- Signature { bytes: x"a01ce4632e94d8c611736e96aa2ad8e0528a02f927a81a92db8047b002a8c71dc2d6bfb94729d0973790c10b6ece446817e4b7543afd7ca9a17c75de301ae835d66231c26a003f11ae26802b98d90869a9e73788c38739f7ac9d52659e1f7cf7" },
873
- Signature { bytes: x"b01ce4632e94d8c611736e96aa2ad8e0528a02f927a81a92db8047b002a8c71dc2d6bfb94729d0973790c10b6ece446817e4b7543afd7ca9a17c75de301ae835d66231c26a003f11ae26802b98d90869a9e73788c38739f7ac9d52659e1f7cf7" },
874
- Signature { bytes: x"b01ce4632e94d8c611736e96aa2ad8e0528a02f927a81a92db8047b002a8c71dc2d6bfb94729d0973790c10b6ece446817e4b7543afd7ca9a17c75de301ae835d66231c26a003f11ae26802b98d90869a9e73788c38739f7ac9d52659e1f7cf7" },
875
- ];
876
- let pks = vector[
877
- x"94209a296b739577cb076d3bfb1ca8ee936f29b69b7dae436118c4dd1cc26fd43dcd16249476a006b8b949bf022a7858",
878
- x"ae4851bb9e7782027437ed0e2c026dd63b77a972ddf4bd9f72bcc218e327986568317e3aa9f679c697a2cb7cebf992f3",
879
- x"82ed7bb5528303a2e306775040a7309e0bd597b70d9949d8c6198a01a7be0b00079320ebfeaf7bbd5bfe86809940d252",
880
- ];
881
- let messages = vector[
882
- b"Hello Aptos!",
883
- b"Hello Aptos!",
884
- b"Bello Aptos!",
885
- ];
886
-
887
- let i = 0;
888
- while (i < std::vector::length(&pks)) {
889
- let sig = std::vector::borrow(&sigs, i);
890
- let pk = *std::vector::borrow(&pks, i);
891
- let msg = *std::vector::borrow(&messages, i);
892
-
893
- let pk = option::extract(&mut public_key_from_bytes(pk));
894
-
895
- let notok = verify_normal_signature(
896
- sig,
897
- &pk,
898
- msg,
899
- );
900
- assert!(notok == false, 1);
901
-
902
- let notok = verify_signature_share(
903
- sig,
904
- &PublicKeyWithPoP { bytes: pk.bytes },
905
- msg,
906
- );
907
- assert!(notok == false, 1);
908
-
909
- i = i + 1;
910
- }
911
- }
912
-
913
- #[test]
914
- fun test_verify_normal_signature_or_signature_share_randomized() {
915
- let (sk, pkpop) = generate_keys();
916
- let pk = public_key_with_pop_to_normal(&pkpop);
917
-
918
- let msg = b"hello world";
919
- let sig = sign_arbitrary_bytes(&sk, msg);
920
- assert!(verify_normal_signature(&sig, &pk, msg), 1);
921
- assert!(!verify_normal_signature(&maul_signature(&sig), &pk, msg), 1);
922
- assert!(!verify_normal_signature(&sig, &maul_public_key(&pk), msg), 1);
923
- assert!(!verify_normal_signature(&sig, &pk, maul_bytes(&msg)), 1);
924
-
925
- assert!(verify_signature_share(&sig, &pkpop, msg), 1);
926
- assert!(!verify_signature_share(&maul_signature(&sig), &pkpop, msg), 1);
927
- assert!(!verify_signature_share(&sig, &maul_public_key_with_pop(&pkpop), msg), 1);
928
- assert!(!verify_signature_share(&sig, &pkpop, maul_bytes(&msg)), 1);
929
- }
930
-
931
- #[test]
932
- /// Tests verification of random BLS proofs-of-possession (PoPs)
933
- fun test_verify_pop() {
934
- // Test case generated by running `cargo test -- sample_pop --nocapture --include-ignored` in `crates/aptos-crypto`
935
- // =============================================================================================================
936
-
937
- let pks = vector[
938
- x"808864c91ae7a9998b3f5ee71f447840864e56d79838e4785ff5126c51480198df3d972e1e0348c6da80d396983e42d7",
939
- x"8843843c76d167c02842a214c21277bad0bfd83da467cb5cf2d3ee67b2dcc7221b9fafa6d430400164012580e0c34d27",
940
- x"a23b524d4308d46e43ee8cbbf57f3e1c20c47061ad9c3f915212334ea6532451dd5c01d3d3ada6bea10fe180b2c3b450",
941
- x"a2aaa3eae1df3fc36365491afa1da5181acbb03801afd1430f04bb3b3eb18036f8b756b3508e4caee04beff50d455d1c",
942
- x"84985b7e983dbdaddfca1f0b7dad9660bb39fff660e329acec15f69ac48c75dfa5d2df9f0dc320e4e7b7658166e0ac1c",
943
- ];
944
-
945
- let pops = vector[
946
- proof_of_possession_from_bytes(x"ab42afff92510034bf1232a37a0d31bc8abfc17e7ead9170d2d100f6cf6c75ccdcfedbd31699a112b4464a06fd636f3f190595863677d660b4c5d922268ace421f9e86e3a054946ee34ce29e1f88c1a10f27587cf5ec528d65ba7c0dc4863364"),
947
- proof_of_possession_from_bytes(x"a6da5f2bc17df70ce664cff3e3a3e09d17162e47e652032b9fedc0c772fd5a533583242cba12095602e422e579c5284b1735009332dbdd23430bbcf61cc506ae37e41ff9a1fc78f0bc0d99b6bc7bf74c8f567dfb59079a035842bdc5fa3a0464"),
948
- proof_of_possession_from_bytes(x"b8eef236595e2eab34d3c1abdab65971f5cfa1988c731ef62bd63c9a9ad3dfc9259f4f183bfffbc8375a38ba62e1c41a11173209705996ce889859bcbb3ddd7faa3c4ea3d8778f30a9ff814fdcfea1fb163d745c54dfb4dcc5a8cee092ee0070"),
949
- proof_of_possession_from_bytes(x"a03a12fab68ad59d85c15dd1528560eff2c89250070ad0654ba260fda4334da179811d2ecdaca57693f80e9ce977d62011e3b1ee7bb4f7e0eb9b349468dd758f10fc35d54e0d0b8536ca713a77a301944392a5c192b6adf2a79ae2b38912dc98"),
950
- proof_of_possession_from_bytes(x"8899b294f3c066e6dfb59bc0843265a1ccd6afc8f0f38a074d45ded8799c39d25ee0376cd6d6153b0d4d2ff8655e578b140254f1287b9e9df4e2aecc5b049d8556a4ab07f574df68e46348fd78e5298b7913377cf5bb3cf4796bfc755902bfdd"),
951
- ];
952
-
953
- assert!(std::vector::length(&pks) == std::vector::length(&pops), 1);
954
-
955
- let i = 0;
956
- while (i < std::vector::length(&pks)) {
957
- let opt_pk = public_key_from_bytes_with_pop(*std::vector::borrow(&pks, i), std::vector::borrow(&pops, i));
958
- assert!(option::is_some(&opt_pk), 1);
959
-
960
- i = i + 1;
961
- };
962
-
963
- // assert first PK's PoP does not verify against modifed PK' = 0xa0 | PK[1:]
964
- let opt_pk = public_key_from_bytes_with_pop(
965
- x"a08864c91ae7a9998b3f5ee71f447840864e56d79838e4785ff5126c51480198df3d972e1e0348c6da80d396983e42d7",
966
- &proof_of_possession_from_bytes(x"ab42afff92510034bf1232a37a0d31bc8abfc17e7ead9170d2d100f6cf6c75ccdcfedbd31699a112b4464a06fd636f3f190595863677d660b4c5d922268ace421f9e86e3a054946ee34ce29e1f88c1a10f27587cf5ec528d65ba7c0dc4863364"));
967
- assert!(option::is_none(&opt_pk), 1);
968
-
969
- // assert first PK's PoP does not verify if modifed as pop' = 0xb0 | pop[1:]
970
- let opt_pk = public_key_from_bytes_with_pop(
971
- x"808864c91ae7a9998b3f5ee71f447840864e56d79838e4785ff5126c51480198df3d972e1e0348c6da80d396983e42d7",
972
- &proof_of_possession_from_bytes(x"bb42afff92510034bf1232a37a0d31bc8abfc17e7ead9170d2d100f6cf6c75ccdcfedbd31699a112b4464a06fd636f3f190595863677d660b4c5d922268ace421f9e86e3a054946ee34ce29e1f88c1a10f27587cf5ec528d65ba7c0dc4863364"));
973
- assert!(option::is_none(&opt_pk), 1);
974
- }
975
-
976
- #[test]
977
- fun test_verify_pop_randomized() {
978
- let (sk, pk) = generate_keys();
979
- let pk_bytes = public_key_with_pop_to_bytes(&pk);
980
- let pop = generate_proof_of_possession(&sk);
981
- assert!(option::is_some(&public_key_from_bytes_with_pop(pk_bytes, &pop)), 1);
982
- assert!(option::is_none(&public_key_from_bytes_with_pop(pk_bytes, &maul_proof_of_possession(&pop))), 1);
983
- assert!(option::is_none(&public_key_from_bytes_with_pop(maul_bytes(&pk_bytes), &pop)), 1);
984
- }
985
- }