@aptos-labs/ts-sdk 1.27.1-zeta.0 → 1.28.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 (814) hide show
  1. package/dist/common/{accountAddress-BeSCq9i_.d.ts → accountAddress-OVl7-qVN.d.ts} +3 -3
  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 +67 -254
  8. package/dist/common/index.js +429 -12755
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/esm/account/Account.mjs +1 -70
  11. package/dist/esm/account/Ed25519Account.mjs +1 -68
  12. package/dist/esm/account/EphemeralKeyPair.mjs +1 -49
  13. package/dist/esm/account/KeylessAccount.d.mts +3 -29
  14. package/dist/esm/account/KeylessAccount.mjs +1 -71
  15. package/dist/esm/account/MultiKeyAccount.d.mts +2 -1
  16. package/dist/esm/account/MultiKeyAccount.mjs +1 -70
  17. package/dist/esm/account/SingleKeyAccount.mjs +1 -68
  18. package/dist/esm/account/index.d.mts +1 -1
  19. package/dist/esm/account/index.mjs +1 -91
  20. package/dist/esm/api/account.d.mts +2 -1
  21. package/dist/esm/api/account.mjs +1 -81
  22. package/dist/esm/api/ans.mjs +1 -91
  23. package/dist/esm/api/aptos.d.mts +0 -2
  24. package/dist/esm/api/aptos.mjs +1 -124
  25. package/dist/esm/api/aptosConfig.mjs +1 -9
  26. package/dist/esm/api/coin.mjs +1 -90
  27. package/dist/esm/api/digitalAsset.mjs +1 -91
  28. package/dist/esm/api/event.mjs +1 -58
  29. package/dist/esm/api/faucet.mjs +1 -57
  30. package/dist/esm/api/fungibleAsset.mjs +1 -91
  31. package/dist/esm/api/general.mjs +1 -89
  32. package/dist/esm/api/index.d.mts +0 -2
  33. package/dist/esm/api/index.mjs +1 -128
  34. package/dist/esm/api/keyless.d.mts +16 -15
  35. package/dist/esm/api/keyless.mjs +1 -81
  36. package/dist/esm/api/object.mjs +1 -58
  37. package/dist/esm/api/staking.mjs +1 -58
  38. package/dist/esm/api/table.mjs +1 -36
  39. package/dist/esm/api/transaction.mjs +1 -98
  40. package/dist/esm/api/transactionSubmission/build.mjs +1 -89
  41. package/dist/esm/api/transactionSubmission/helpers.mjs +1 -9
  42. package/dist/esm/api/transactionSubmission/management.mjs +1 -93
  43. package/dist/esm/api/transactionSubmission/sign.mjs +1 -113
  44. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  45. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -90
  46. package/dist/esm/api/transactionSubmission/submit.mjs +1 -90
  47. package/dist/esm/api/utils.mjs +1 -34
  48. package/dist/esm/bcs/consts.mjs +1 -17
  49. package/dist/esm/bcs/deserializer.mjs +1 -8
  50. package/dist/esm/bcs/index.d.mts +1 -1
  51. package/dist/esm/bcs/index.mjs +1 -57
  52. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -12
  53. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -11
  54. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -25
  55. package/dist/esm/bcs/serializable/moveStructs.d.mts +10 -1
  56. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -18
  57. package/dist/esm/bcs/serializer.mjs +1 -18
  58. package/dist/esm/chunk-2CAGPXCX.mjs +2 -0
  59. package/dist/esm/{chunk-S7KNZC2A.mjs.map → chunk-2CAGPXCX.mjs.map} +1 -1
  60. package/dist/esm/chunk-2XYA7NOU.mjs +2 -0
  61. package/dist/esm/{chunk-MQALTYRJ.mjs.map → chunk-2XYA7NOU.mjs.map} +1 -1
  62. package/dist/esm/chunk-3F3FCWT5.mjs +2 -0
  63. package/dist/esm/{chunk-DPM4FHN4.mjs.map → chunk-3F3FCWT5.mjs.map} +1 -1
  64. package/dist/esm/chunk-3GOJQ5JD.mjs +2 -0
  65. package/dist/esm/{chunk-EKY7QRXH.mjs.map → chunk-3GOJQ5JD.mjs.map} +1 -1
  66. package/dist/esm/chunk-3HTSCV3R.mjs +2 -0
  67. package/dist/esm/{chunk-DXGNWBVW.mjs.map → chunk-3HTSCV3R.mjs.map} +1 -1
  68. package/dist/esm/chunk-4ENUSVZB.mjs +2 -0
  69. package/dist/esm/{chunk-GMGJ6Q5P.mjs.map → chunk-4ENUSVZB.mjs.map} +1 -1
  70. package/dist/esm/chunk-52HZTDBB.mjs +2 -0
  71. package/dist/esm/chunk-52HZTDBB.mjs.map +1 -0
  72. package/dist/esm/chunk-53DBMWMU.mjs +2 -0
  73. package/dist/esm/{chunk-64OZO6BS.mjs.map → chunk-53DBMWMU.mjs.map} +1 -1
  74. package/dist/esm/chunk-54QUDAAC.mjs +2 -0
  75. package/dist/esm/{chunk-HCIGCJ62.mjs.map → chunk-54QUDAAC.mjs.map} +1 -1
  76. package/dist/esm/chunk-56CNRT2K.mjs +2 -0
  77. package/dist/esm/{chunk-SBB4YEPT.mjs.map → chunk-56CNRT2K.mjs.map} +1 -1
  78. package/dist/esm/chunk-56F7EYFE.mjs +2 -0
  79. package/dist/esm/{chunk-CIPO346F.mjs.map → chunk-56F7EYFE.mjs.map} +1 -1
  80. package/dist/esm/chunk-5L3UXSQI.mjs +2 -0
  81. package/dist/esm/{chunk-ZR36Y2RX.mjs.map → chunk-5L3UXSQI.mjs.map} +1 -1
  82. package/dist/esm/chunk-5P7MXLZA.mjs +2 -0
  83. package/dist/esm/{chunk-PSRD6U34.mjs.map → chunk-5P7MXLZA.mjs.map} +1 -1
  84. package/dist/esm/chunk-5TBIWC7N.mjs +2 -0
  85. package/dist/esm/{chunk-FBRETS2O.mjs.map → chunk-5TBIWC7N.mjs.map} +1 -1
  86. package/dist/esm/chunk-6CHBLB3V.mjs +2 -0
  87. package/dist/esm/{chunk-6XNCA4KS.mjs.map → chunk-6CHBLB3V.mjs.map} +1 -1
  88. package/dist/esm/chunk-6EMN3BOV.mjs +2 -0
  89. package/dist/esm/{chunk-SIJELMDP.mjs.map → chunk-6EMN3BOV.mjs.map} +1 -1
  90. package/dist/esm/chunk-76OH2Z4Q.mjs +2 -0
  91. package/dist/esm/{chunk-L3E7YJBM.mjs.map → chunk-76OH2Z4Q.mjs.map} +1 -1
  92. package/dist/esm/chunk-A63SMUOU.mjs +2 -0
  93. package/dist/esm/{chunk-UZXDD3QH.mjs.map → chunk-A63SMUOU.mjs.map} +1 -1
  94. package/dist/esm/chunk-AH44UPM4.mjs +2 -0
  95. package/dist/esm/{chunk-EYHRMZPO.mjs.map → chunk-AH44UPM4.mjs.map} +1 -1
  96. package/dist/esm/chunk-AVSM2BJR.mjs +2 -0
  97. package/dist/esm/{chunk-7CNDQXDM.mjs.map → chunk-AVSM2BJR.mjs.map} +1 -1
  98. package/dist/esm/chunk-B5NYEWNM.mjs +2 -0
  99. package/dist/esm/{chunk-JKM62HRP.mjs.map → chunk-B5NYEWNM.mjs.map} +1 -1
  100. package/dist/esm/chunk-BCUSI3N6.mjs +2 -0
  101. package/dist/esm/{chunk-YV7M4CFP.mjs.map → chunk-BCUSI3N6.mjs.map} +1 -1
  102. package/dist/esm/chunk-BIGX2RJL.mjs +2 -0
  103. package/dist/esm/{chunk-AF7GBOBQ.mjs.map → chunk-BIGX2RJL.mjs.map} +1 -1
  104. package/dist/esm/chunk-BOYYQAB4.mjs +2 -0
  105. package/dist/esm/{chunk-26HCJOBL.mjs.map → chunk-BOYYQAB4.mjs.map} +1 -1
  106. package/dist/esm/chunk-BSUYPXRD.mjs +2 -0
  107. package/dist/esm/{chunk-G2VEDGO7.mjs.map → chunk-BSUYPXRD.mjs.map} +1 -1
  108. package/dist/esm/chunk-DCNBMUKN.mjs +2 -0
  109. package/dist/esm/chunk-DCNBMUKN.mjs.map +1 -0
  110. package/dist/esm/chunk-DVIRUFCY.mjs +2 -0
  111. package/dist/esm/{chunk-OL2YPOXZ.mjs.map → chunk-DVIRUFCY.mjs.map} +1 -1
  112. package/dist/esm/chunk-EJMPY5MF.mjs +2 -0
  113. package/dist/esm/{chunk-BEEISUWP.mjs.map → chunk-EJMPY5MF.mjs.map} +1 -1
  114. package/dist/esm/chunk-EQSON7Y5.mjs +2 -0
  115. package/dist/esm/{chunk-FBF77YDQ.mjs.map → chunk-EQSON7Y5.mjs.map} +1 -1
  116. package/dist/esm/chunk-EXMQBH3I.mjs +2 -0
  117. package/dist/esm/{chunk-EPUYKFAT.mjs.map → chunk-EXMQBH3I.mjs.map} +1 -1
  118. package/dist/esm/chunk-EXP5STXZ.mjs +2 -0
  119. package/dist/esm/chunk-EXP5STXZ.mjs.map +1 -0
  120. package/dist/esm/chunk-F5PNGH44.mjs +2 -0
  121. package/dist/esm/{chunk-UZLU45X7.mjs.map → chunk-F5PNGH44.mjs.map} +1 -1
  122. package/dist/esm/chunk-F7EMGK4M.mjs +2 -0
  123. package/dist/esm/{chunk-NMKCJNQM.mjs.map → chunk-F7EMGK4M.mjs.map} +1 -1
  124. package/dist/esm/chunk-FVA2OPG4.mjs +2 -0
  125. package/dist/esm/chunk-G5MGSV7Y.mjs +2 -0
  126. package/dist/esm/{chunk-ANOJYMO2.mjs.map → chunk-G5MGSV7Y.mjs.map} +1 -1
  127. package/dist/esm/chunk-G773HST5.mjs +2 -0
  128. package/dist/esm/chunk-G773HST5.mjs.map +1 -0
  129. package/dist/esm/chunk-GGPA6QTN.mjs +2 -0
  130. package/dist/esm/{chunk-CZ22MKHG.mjs.map → chunk-GGPA6QTN.mjs.map} +1 -1
  131. package/dist/esm/chunk-GKERWKMB.mjs +2 -0
  132. package/dist/esm/{chunk-LMUCX6RP.mjs.map → chunk-GKERWKMB.mjs.map} +1 -1
  133. package/dist/esm/chunk-GR4PHW7K.mjs +2 -0
  134. package/dist/esm/{chunk-I2ZYQVA3.mjs.map → chunk-GR4PHW7K.mjs.map} +1 -1
  135. package/dist/esm/chunk-H6YNXJNF.mjs +2 -0
  136. package/dist/esm/{chunk-ACAXM6CI.mjs.map → chunk-H6YNXJNF.mjs.map} +1 -1
  137. package/dist/esm/chunk-HAT5S2XX.mjs +2 -0
  138. package/dist/esm/{chunk-KWX2PWAP.mjs.map → chunk-HAT5S2XX.mjs.map} +1 -1
  139. package/dist/esm/chunk-HBQLX5QF.mjs +2 -0
  140. package/dist/esm/{chunk-WVT25KQR.mjs.map → chunk-HBQLX5QF.mjs.map} +1 -1
  141. package/dist/esm/chunk-IVOEXGOG.mjs +2 -0
  142. package/dist/esm/{chunk-LD2CRNA2.mjs.map → chunk-IVOEXGOG.mjs.map} +1 -1
  143. package/dist/esm/chunk-IVVWQKCF.mjs +2 -0
  144. package/dist/esm/{chunk-JWEFNE2S.mjs.map → chunk-IVVWQKCF.mjs.map} +1 -1
  145. package/dist/esm/chunk-JOROI7FE.mjs +2 -0
  146. package/dist/esm/{chunk-U6N546EH.mjs.map → chunk-JOROI7FE.mjs.map} +1 -1
  147. package/dist/esm/chunk-JUNVPIW4.mjs +2 -0
  148. package/dist/esm/chunk-JUNVPIW4.mjs.map +1 -0
  149. package/dist/esm/chunk-KEYAPEAX.mjs +2 -0
  150. package/dist/esm/{chunk-6J7C4S3H.mjs.map → chunk-KEYAPEAX.mjs.map} +1 -1
  151. package/dist/esm/chunk-KRIIRH5L.mjs +2 -0
  152. package/dist/esm/{chunk-67J3MGN7.mjs.map → chunk-KRIIRH5L.mjs.map} +1 -1
  153. package/dist/esm/chunk-LFUBUXHD.mjs +2 -0
  154. package/dist/esm/{chunk-J24CDBEH.mjs.map → chunk-LFUBUXHD.mjs.map} +1 -1
  155. package/dist/esm/chunk-LG7RJQ57.mjs +2 -0
  156. package/dist/esm/{chunk-QMM2KL6C.mjs.map → chunk-LG7RJQ57.mjs.map} +1 -1
  157. package/dist/esm/chunk-LJZPPBTH.mjs +2 -0
  158. package/dist/esm/chunk-LJZPPBTH.mjs.map +1 -0
  159. package/dist/esm/chunk-LR65XHSF.mjs +2 -0
  160. package/dist/esm/{chunk-PU5AFUX3.mjs.map → chunk-LR65XHSF.mjs.map} +1 -1
  161. package/dist/esm/chunk-LS6G4DZV.mjs +2 -0
  162. package/dist/esm/{chunk-2UN35LUX.mjs.map → chunk-LS6G4DZV.mjs.map} +1 -1
  163. package/dist/esm/chunk-MLDQ2TY2.mjs +2 -0
  164. package/dist/esm/{chunk-6BI4XTJN.mjs.map → chunk-MLDQ2TY2.mjs.map} +1 -1
  165. package/dist/esm/chunk-MNVDBUF3.mjs +2 -0
  166. package/dist/esm/{chunk-NGUFBDTH.mjs.map → chunk-MNVDBUF3.mjs.map} +1 -1
  167. package/dist/esm/chunk-MQGW234H.mjs +2 -0
  168. package/dist/esm/{chunk-IX2XMCWZ.mjs.map → chunk-MQGW234H.mjs.map} +1 -1
  169. package/dist/esm/chunk-NBO2BDDZ.mjs +2 -0
  170. package/dist/esm/{chunk-3WDVQYWL.mjs.map → chunk-NBO2BDDZ.mjs.map} +1 -1
  171. package/dist/esm/chunk-NDJKEFNU.mjs +2 -0
  172. package/dist/esm/{chunk-YSSWVBLZ.mjs.map → chunk-NDJKEFNU.mjs.map} +1 -1
  173. package/dist/esm/chunk-NKDHR2DA.mjs +2 -0
  174. package/dist/esm/{chunk-AW4P5HCX.mjs.map → chunk-NKDHR2DA.mjs.map} +1 -1
  175. package/dist/esm/chunk-NMD45OTM.mjs +2 -0
  176. package/dist/esm/{chunk-5J7P2N3A.mjs.map → chunk-NMD45OTM.mjs.map} +1 -1
  177. package/dist/esm/chunk-NPFW6ZFY.mjs +2 -0
  178. package/dist/esm/{chunk-4SPKF2Q3.mjs.map → chunk-NPFW6ZFY.mjs.map} +1 -1
  179. package/dist/esm/chunk-NWOMSL6K.mjs +2 -0
  180. package/dist/esm/{chunk-PLUMRBKI.mjs.map → chunk-NWOMSL6K.mjs.map} +1 -1
  181. package/dist/esm/chunk-O4BBULNE.mjs +2 -0
  182. package/dist/esm/{chunk-SRKSXJ5U.mjs.map → chunk-O4BBULNE.mjs.map} +1 -1
  183. package/dist/esm/chunk-OHRL766V.mjs +2 -0
  184. package/dist/esm/{chunk-IUC6XUYA.mjs.map → chunk-OHRL766V.mjs.map} +1 -1
  185. package/dist/esm/chunk-OPTI3MH2.mjs +2 -0
  186. package/dist/esm/{chunk-2P7TONQL.mjs.map → chunk-OPTI3MH2.mjs.map} +1 -1
  187. package/dist/esm/chunk-ORGMRM5K.mjs +2 -0
  188. package/dist/esm/{chunk-6LK3MDX7.mjs.map → chunk-ORGMRM5K.mjs.map} +1 -1
  189. package/dist/esm/chunk-OTNGLTKS.mjs +2 -0
  190. package/dist/esm/{chunk-I5BTSNTY.mjs.map → chunk-OTNGLTKS.mjs.map} +1 -1
  191. package/dist/esm/chunk-P2EKDA7R.mjs +2 -0
  192. package/dist/esm/{chunk-2LHXYQXO.mjs.map → chunk-P2EKDA7R.mjs.map} +1 -1
  193. package/dist/esm/chunk-P5V7OZNN.mjs +2 -0
  194. package/dist/esm/{chunk-6AO2MJMN.mjs.map → chunk-P5V7OZNN.mjs.map} +1 -1
  195. package/dist/esm/chunk-PDNA4H34.mjs +2 -0
  196. package/dist/esm/{chunk-DNMI5PWU.mjs.map → chunk-PDNA4H34.mjs.map} +1 -1
  197. package/dist/esm/chunk-Q7MD4V7H.mjs +2 -0
  198. package/dist/esm/{chunk-B673XLJY.mjs.map → chunk-Q7MD4V7H.mjs.map} +1 -1
  199. package/dist/esm/chunk-QQHA2Y46.mjs +2 -0
  200. package/dist/esm/{chunk-3V5WGOZH.mjs.map → chunk-QQHA2Y46.mjs.map} +1 -1
  201. package/dist/esm/chunk-QQU4IQ27.mjs +2 -0
  202. package/dist/esm/chunk-QQU4IQ27.mjs.map +1 -0
  203. package/dist/esm/chunk-SCHZ67F3.mjs +2 -0
  204. package/dist/esm/chunk-SCHZ67F3.mjs.map +1 -0
  205. package/dist/esm/chunk-SCYGW3VV.mjs +2 -0
  206. package/dist/esm/chunk-SCYGW3VV.mjs.map +1 -0
  207. package/dist/esm/chunk-SUAA25UP.mjs +2 -0
  208. package/dist/esm/{chunk-LMUNGBGS.mjs.map → chunk-SUAA25UP.mjs.map} +1 -1
  209. package/dist/esm/chunk-SUJLWCRN.mjs +2 -0
  210. package/dist/esm/{chunk-P3RTJ6VC.mjs.map → chunk-SUJLWCRN.mjs.map} +1 -1
  211. package/dist/esm/chunk-T53MZO2U.mjs +2 -0
  212. package/dist/esm/{chunk-7F5TMJVQ.mjs.map → chunk-T53MZO2U.mjs.map} +1 -1
  213. package/dist/esm/chunk-TDGQGILY.mjs +2 -0
  214. package/dist/esm/{chunk-LITCPMVC.mjs.map → chunk-TDGQGILY.mjs.map} +1 -1
  215. package/dist/esm/chunk-U6Z4FNB7.mjs +2 -0
  216. package/dist/esm/{chunk-AC3OGAL6.mjs.map → chunk-U6Z4FNB7.mjs.map} +1 -1
  217. package/dist/esm/chunk-UAL27G6B.mjs +2 -0
  218. package/dist/esm/chunk-UAL27G6B.mjs.map +1 -0
  219. package/dist/esm/chunk-UWPO7WWS.mjs +2 -0
  220. package/dist/esm/{chunk-GKF3HFY2.mjs.map → chunk-UWPO7WWS.mjs.map} +1 -1
  221. package/dist/esm/{chunk-NFA2AU5E.mjs → chunk-VHNX2NUR.mjs} +29 -352
  222. package/dist/esm/{chunk-NFA2AU5E.mjs.map → chunk-VHNX2NUR.mjs.map} +1 -1
  223. package/dist/esm/chunk-VQVNUN5Y.mjs +2 -0
  224. package/dist/esm/{chunk-7PLTJUOO.mjs.map → chunk-VQVNUN5Y.mjs.map} +1 -1
  225. package/dist/esm/chunk-VTEZ6TBO.mjs +2 -0
  226. package/dist/esm/{chunk-ZZA2BSOF.mjs.map → chunk-VTEZ6TBO.mjs.map} +1 -1
  227. package/dist/esm/chunk-VYXJ7FUF.mjs +2 -0
  228. package/dist/esm/{chunk-MXMVEGUO.mjs.map → chunk-VYXJ7FUF.mjs.map} +1 -1
  229. package/dist/esm/chunk-VYXS7TLB.mjs +2 -0
  230. package/dist/esm/{chunk-BMXV6WQK.mjs.map → chunk-VYXS7TLB.mjs.map} +1 -1
  231. package/dist/esm/chunk-WLZYSLHP.mjs +2 -0
  232. package/dist/esm/{chunk-PNGNBHMD.mjs.map → chunk-WLZYSLHP.mjs.map} +1 -1
  233. package/dist/esm/chunk-WRRQ7L5K.mjs +2 -0
  234. package/dist/esm/{chunk-V2LEZDNS.mjs.map → chunk-WRRQ7L5K.mjs.map} +1 -1
  235. package/dist/esm/chunk-WX6P3Q4I.mjs +2 -0
  236. package/dist/esm/{chunk-XBY4UM6M.mjs.map → chunk-WX6P3Q4I.mjs.map} +1 -1
  237. package/dist/esm/chunk-WYQLUB4H.mjs +2 -0
  238. package/dist/esm/{chunk-WKNU6EPA.mjs.map → chunk-WYQLUB4H.mjs.map} +1 -1
  239. package/dist/esm/chunk-XSTCHOUI.mjs +2 -0
  240. package/dist/esm/chunk-XSTCHOUI.mjs.map +1 -0
  241. package/dist/esm/chunk-YDZBU2DJ.mjs +2 -0
  242. package/dist/esm/{chunk-YJJTCGDT.mjs.map → chunk-YDZBU2DJ.mjs.map} +1 -1
  243. package/dist/esm/chunk-YFMFXRJX.mjs +2 -0
  244. package/dist/esm/{chunk-GDE3IBAB.mjs.map → chunk-YFMFXRJX.mjs.map} +1 -1
  245. package/dist/esm/chunk-YPHH6CAO.mjs +2 -0
  246. package/dist/esm/{chunk-GWS7OLIU.mjs.map → chunk-YPHH6CAO.mjs.map} +1 -1
  247. package/dist/esm/chunk-YPQZJ72F.mjs +2 -0
  248. package/dist/esm/{chunk-65TWSJTX.mjs.map → chunk-YPQZJ72F.mjs.map} +1 -1
  249. package/dist/esm/chunk-YUNDX5I7.mjs +2 -0
  250. package/dist/esm/{chunk-YQPKNTIN.mjs.map → chunk-YUNDX5I7.mjs.map} +1 -1
  251. package/dist/esm/chunk-Z2AJWV6D.mjs +2 -0
  252. package/dist/esm/chunk-Z2AJWV6D.mjs.map +1 -0
  253. package/dist/esm/chunk-ZNC3FRSK.mjs +2 -0
  254. package/dist/esm/{chunk-MY6PZIXF.mjs.map → chunk-ZNC3FRSK.mjs.map} +1 -1
  255. package/dist/esm/chunk-ZWX3NHGU.mjs +2 -0
  256. package/dist/esm/chunk-ZWX3NHGU.mjs.map +1 -0
  257. package/dist/esm/chunk-ZXVQ2OBJ.mjs +2 -0
  258. package/dist/esm/{chunk-N6K44CGJ.mjs.map → chunk-ZXVQ2OBJ.mjs.map} +1 -1
  259. package/dist/esm/chunk-ZXYTLPP6.mjs +2 -0
  260. package/dist/esm/{chunk-NUA7L6XF.mjs.map → chunk-ZXYTLPP6.mjs.map} +1 -1
  261. package/dist/esm/cli/index.mjs +1 -12
  262. package/dist/esm/cli/localNode.mjs +1 -8
  263. package/dist/esm/cli/move.mjs +1 -7
  264. package/dist/esm/client/core.mjs +1 -28
  265. package/dist/esm/client/get.mjs +1 -33
  266. package/dist/esm/client/index.mjs +1 -56
  267. package/dist/esm/client/post.mjs +1 -37
  268. package/dist/esm/client/types.mjs +1 -8
  269. package/dist/esm/core/account/index.mjs +1 -20
  270. package/dist/esm/core/account/utils/address.mjs +1 -18
  271. package/dist/esm/core/account/utils/index.mjs +1 -19
  272. package/dist/esm/core/accountAddress.mjs +1 -15
  273. package/dist/esm/core/authenticationKey.mjs +1 -14
  274. package/dist/esm/core/common.mjs +1 -7
  275. package/dist/esm/core/crypto/ed25519.mjs +1 -31
  276. package/dist/esm/core/crypto/ephemeral.mjs +1 -28
  277. package/dist/esm/core/crypto/hdKey.mjs +1 -25
  278. package/dist/esm/core/crypto/index.mjs +1 -143
  279. package/dist/esm/core/crypto/keyless.mjs +1 -71
  280. package/dist/esm/core/crypto/multiEd25519.mjs +1 -28
  281. package/dist/esm/core/crypto/multiKey.mjs +1 -47
  282. package/dist/esm/core/crypto/poseidon.mjs +1 -15
  283. package/dist/esm/core/crypto/privateKey.mjs +1 -1
  284. package/dist/esm/core/crypto/proof.mjs +1 -19
  285. package/dist/esm/core/crypto/publicKey.mjs +1 -21
  286. package/dist/esm/core/crypto/secp256k1.mjs +1 -27
  287. package/dist/esm/core/crypto/signature.mjs +1 -19
  288. package/dist/esm/core/crypto/singleKey.mjs +1 -46
  289. package/dist/esm/core/crypto/utils.mjs +1 -9
  290. package/dist/esm/core/hex.mjs +1 -10
  291. package/dist/esm/core/index.mjs +1 -170
  292. package/dist/esm/index.d.mts +4 -6
  293. package/dist/esm/index.mjs +1 -673
  294. package/dist/esm/internal/account.mjs +1 -112
  295. package/dist/esm/internal/ans.mjs +1 -128
  296. package/dist/esm/internal/coin.mjs +1 -89
  297. package/dist/esm/internal/digitalAsset.mjs +1 -135
  298. package/dist/esm/internal/event.mjs +1 -61
  299. package/dist/esm/internal/faucet.mjs +1 -56
  300. package/dist/esm/internal/fungibleAsset.mjs +1 -95
  301. package/dist/esm/internal/general.mjs +1 -41
  302. package/dist/esm/internal/keyless.d.mts +3 -14
  303. package/dist/esm/internal/keyless.mjs +1 -86
  304. package/dist/esm/internal/object.mjs +1 -57
  305. package/dist/esm/internal/staking.mjs +1 -59
  306. package/dist/esm/internal/table.mjs +1 -36
  307. package/dist/esm/internal/transaction.mjs +1 -55
  308. package/dist/esm/internal/transactionSubmission.mjs +1 -106
  309. package/dist/esm/internal/view.mjs +1 -90
  310. package/dist/esm/transactions/authenticator/account.mjs +1 -57
  311. package/dist/esm/transactions/authenticator/index.mjs +1 -76
  312. package/dist/esm/transactions/authenticator/transaction.mjs +1 -64
  313. package/dist/esm/transactions/index.mjs +1 -291
  314. package/dist/esm/transactions/instances/chainId.mjs +1 -11
  315. package/dist/esm/transactions/instances/identifier.mjs +1 -11
  316. package/dist/esm/transactions/instances/index.mjs +1 -112
  317. package/dist/esm/transactions/instances/moduleId.mjs +1 -54
  318. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -59
  319. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -64
  320. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -20
  321. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -61
  322. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -59
  323. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  324. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -72
  325. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -79
  326. package/dist/esm/transactions/management/asyncQueue.mjs +1 -9
  327. package/dist/esm/transactions/management/index.mjs +1 -99
  328. package/dist/esm/transactions/management/transactionWorker.mjs +1 -95
  329. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -93
  330. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -169
  331. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -91
  332. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -73
  333. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -103
  334. package/dist/esm/transactions/typeTag/index.mjs +1 -90
  335. package/dist/esm/transactions/typeTag/parser.mjs +1 -59
  336. package/dist/esm/transactions/types.d.mts +2 -2
  337. package/dist/esm/transactions/types.mjs +1 -1
  338. package/dist/esm/types/generated/queries.mjs +1 -61
  339. package/dist/esm/types/generated/types.mjs +1 -833
  340. package/dist/esm/types/generated/types.mjs.map +1 -1
  341. package/dist/esm/types/index.d.mts +3 -3
  342. package/dist/esm/types/index.mjs +1 -70
  343. package/dist/esm/types/indexer.mjs +1 -1
  344. package/dist/esm/utils/apiEndpoints.mjs +1 -21
  345. package/dist/esm/utils/const.d.mts +2 -1
  346. package/dist/esm/utils/const.mjs +1 -21
  347. package/dist/esm/utils/helpers.d.mts +41 -1
  348. package/dist/esm/utils/helpers.mjs +1 -17
  349. package/dist/esm/utils/index.d.mts +2 -2
  350. package/dist/esm/utils/index.mjs +1 -70
  351. package/dist/esm/utils/memoize.mjs +1 -9
  352. package/dist/esm/utils/normalizeBundle.mjs +1 -19
  353. package/dist/esm/version.d.mts +1 -1
  354. package/dist/esm/version.mjs +1 -7
  355. package/package.json +1 -1
  356. package/src/account/KeylessAccount.ts +1 -1
  357. package/src/account/MultiKeyAccount.ts +4 -4
  358. package/src/api/account.ts +31 -4
  359. package/src/api/keyless.ts +3 -35
  360. package/src/bcs/serializable/moveStructs.ts +39 -7
  361. package/src/cli/move.ts +1 -1
  362. package/src/core/crypto/singleKey.ts +0 -6
  363. package/src/internal/account.ts +6 -5
  364. package/src/internal/event.ts +10 -3
  365. package/src/internal/keyless.ts +2 -31
  366. package/src/transactions/instances/transactionPayload.ts +3 -1
  367. package/src/transactions/types.ts +4 -2
  368. package/src/types/index.ts +1 -1
  369. package/src/utils/apiEndpoints.ts +4 -6
  370. package/src/utils/const.ts +1 -0
  371. package/src/utils/helpers.ts +70 -0
  372. package/src/version.ts +1 -1
  373. package/dist/common/chunk-CZKNJSPC.js +0 -46
  374. package/dist/common/chunk-CZKNJSPC.js.map +0 -1
  375. package/dist/esm/account/FederatedKeylessAccount.d.mts +0 -177
  376. package/dist/esm/account/FederatedKeylessAccount.mjs +0 -71
  377. package/dist/esm/chunk-26HCJOBL.mjs +0 -23
  378. package/dist/esm/chunk-2CPL3GJ7.mjs +0 -132
  379. package/dist/esm/chunk-2CPL3GJ7.mjs.map +0 -1
  380. package/dist/esm/chunk-2LHXYQXO.mjs +0 -673
  381. package/dist/esm/chunk-2P7TONQL.mjs +0 -36
  382. package/dist/esm/chunk-2UN35LUX.mjs +0 -84
  383. package/dist/esm/chunk-2ZOJUUXC.mjs +0 -121
  384. package/dist/esm/chunk-2ZOJUUXC.mjs.map +0 -1
  385. package/dist/esm/chunk-3NHOLSZE.mjs +0 -65
  386. package/dist/esm/chunk-3NHOLSZE.mjs.map +0 -1
  387. package/dist/esm/chunk-3V5WGOZH.mjs +0 -118
  388. package/dist/esm/chunk-3WDVQYWL.mjs +0 -51
  389. package/dist/esm/chunk-4FVXWQGX.mjs +0 -211
  390. package/dist/esm/chunk-4FVXWQGX.mjs.map +0 -1
  391. package/dist/esm/chunk-4K4TZF3H.mjs +0 -38
  392. package/dist/esm/chunk-4K4TZF3H.mjs.map +0 -1
  393. package/dist/esm/chunk-4SPKF2Q3.mjs +0 -91
  394. package/dist/esm/chunk-5J7P2N3A.mjs +0 -92
  395. package/dist/esm/chunk-64OZO6BS.mjs +0 -54
  396. package/dist/esm/chunk-65TWSJTX.mjs +0 -252
  397. package/dist/esm/chunk-67J3MGN7.mjs +0 -195
  398. package/dist/esm/chunk-6AO2MJMN.mjs +0 -49
  399. package/dist/esm/chunk-6BI4XTJN.mjs +0 -22
  400. package/dist/esm/chunk-6J7C4S3H.mjs +0 -255
  401. package/dist/esm/chunk-6LK3MDX7.mjs +0 -578
  402. package/dist/esm/chunk-6SEUVXPK.mjs +0 -250
  403. package/dist/esm/chunk-6SEUVXPK.mjs.map +0 -1
  404. package/dist/esm/chunk-6XNCA4KS.mjs +0 -33
  405. package/dist/esm/chunk-7CNDQXDM.mjs +0 -429
  406. package/dist/esm/chunk-7F5TMJVQ.mjs +0 -410
  407. package/dist/esm/chunk-7PLTJUOO.mjs +0 -66
  408. package/dist/esm/chunk-AC3OGAL6.mjs +0 -87
  409. package/dist/esm/chunk-ACAXM6CI.mjs +0 -32
  410. package/dist/esm/chunk-AF7GBOBQ.mjs +0 -315
  411. package/dist/esm/chunk-ANOJYMO2.mjs +0 -94
  412. package/dist/esm/chunk-AW4P5HCX.mjs +0 -53
  413. package/dist/esm/chunk-B673XLJY.mjs +0 -309
  414. package/dist/esm/chunk-BBCNBKEC.mjs +0 -104
  415. package/dist/esm/chunk-BBCNBKEC.mjs.map +0 -1
  416. package/dist/esm/chunk-BEEISUWP.mjs +0 -42
  417. package/dist/esm/chunk-BMXV6WQK.mjs +0 -463
  418. package/dist/esm/chunk-CIPO346F.mjs +0 -35
  419. package/dist/esm/chunk-CZ22MKHG.mjs +0 -41
  420. package/dist/esm/chunk-DNMI5PWU.mjs +0 -100
  421. package/dist/esm/chunk-DPM4FHN4.mjs +0 -33
  422. package/dist/esm/chunk-DXGNWBVW.mjs +0 -127
  423. package/dist/esm/chunk-EKY7QRXH.mjs +0 -79
  424. package/dist/esm/chunk-EPUYKFAT.mjs +0 -73
  425. package/dist/esm/chunk-EYHRMZPO.mjs +0 -34
  426. package/dist/esm/chunk-FBF77YDQ.mjs +0 -243
  427. package/dist/esm/chunk-FBRETS2O.mjs +0 -74
  428. package/dist/esm/chunk-FH6RKWVF.mjs +0 -72
  429. package/dist/esm/chunk-FH6RKWVF.mjs.map +0 -1
  430. package/dist/esm/chunk-G2VEDGO7.mjs +0 -15
  431. package/dist/esm/chunk-GDE3IBAB.mjs +0 -126
  432. package/dist/esm/chunk-GKF3HFY2.mjs +0 -232
  433. package/dist/esm/chunk-GMGJ6Q5P.mjs +0 -166
  434. package/dist/esm/chunk-GWS7OLIU.mjs +0 -173
  435. package/dist/esm/chunk-HCIGCJ62.mjs +0 -70
  436. package/dist/esm/chunk-I2ZYQVA3.mjs +0 -142
  437. package/dist/esm/chunk-I5BTSNTY.mjs +0 -89
  438. package/dist/esm/chunk-IUC6XUYA.mjs +0 -346
  439. package/dist/esm/chunk-IX2XMCWZ.mjs +0 -22
  440. package/dist/esm/chunk-J24CDBEH.mjs +0 -91
  441. package/dist/esm/chunk-JKM62HRP.mjs +0 -109
  442. package/dist/esm/chunk-JRVQNM7A.mjs +0 -441
  443. package/dist/esm/chunk-JRVQNM7A.mjs.map +0 -1
  444. package/dist/esm/chunk-JWEFNE2S.mjs +0 -121
  445. package/dist/esm/chunk-K77JV6D7.mjs +0 -414
  446. package/dist/esm/chunk-K77JV6D7.mjs.map +0 -1
  447. package/dist/esm/chunk-KWX2PWAP.mjs +0 -349
  448. package/dist/esm/chunk-L3E7YJBM.mjs +0 -25
  449. package/dist/esm/chunk-LD2CRNA2.mjs +0 -265
  450. package/dist/esm/chunk-LITCPMVC.mjs +0 -41
  451. package/dist/esm/chunk-LMUCX6RP.mjs +0 -43
  452. package/dist/esm/chunk-LMUNGBGS.mjs +0 -58
  453. package/dist/esm/chunk-M55VZUKD.mjs +0 -64
  454. package/dist/esm/chunk-M55VZUKD.mjs.map +0 -1
  455. package/dist/esm/chunk-MQALTYRJ.mjs +0 -127
  456. package/dist/esm/chunk-MXMVEGUO.mjs +0 -93
  457. package/dist/esm/chunk-MY6PZIXF.mjs +0 -254
  458. package/dist/esm/chunk-N6K44CGJ.mjs +0 -7
  459. package/dist/esm/chunk-NGUFBDTH.mjs +0 -129
  460. package/dist/esm/chunk-NMKCJNQM.mjs +0 -20
  461. package/dist/esm/chunk-NUA7L6XF.mjs +0 -120
  462. package/dist/esm/chunk-NYELBSVO.mjs +0 -172
  463. package/dist/esm/chunk-NYELBSVO.mjs.map +0 -1
  464. package/dist/esm/chunk-OL2YPOXZ.mjs +0 -349
  465. package/dist/esm/chunk-OR7TEZ25.mjs +0 -16
  466. package/dist/esm/chunk-OR7TEZ25.mjs.map +0 -1
  467. package/dist/esm/chunk-P3RTJ6VC.mjs +0 -324
  468. package/dist/esm/chunk-PLUMRBKI.mjs +0 -241
  469. package/dist/esm/chunk-PNGNBHMD.mjs +0 -44
  470. package/dist/esm/chunk-PSRD6U34.mjs +0 -19
  471. package/dist/esm/chunk-PSW5OBY2.mjs +0 -359
  472. package/dist/esm/chunk-PSW5OBY2.mjs.map +0 -1
  473. package/dist/esm/chunk-PU5AFUX3.mjs +0 -52
  474. package/dist/esm/chunk-QMM2KL6C.mjs +0 -12
  475. package/dist/esm/chunk-S7KNZC2A.mjs +0 -45
  476. package/dist/esm/chunk-SBB4YEPT.mjs +0 -17
  477. package/dist/esm/chunk-SIJELMDP.mjs +0 -29
  478. package/dist/esm/chunk-SRKSXJ5U.mjs +0 -242
  479. package/dist/esm/chunk-U6N546EH.mjs +0 -43
  480. package/dist/esm/chunk-UZLU45X7.mjs +0 -274
  481. package/dist/esm/chunk-UZXDD3QH.mjs +0 -327
  482. package/dist/esm/chunk-V2LEZDNS.mjs +0 -29
  483. package/dist/esm/chunk-WKNU6EPA.mjs +0 -40
  484. package/dist/esm/chunk-WVT25KQR.mjs +0 -51
  485. package/dist/esm/chunk-XBY4UM6M.mjs +0 -206
  486. package/dist/esm/chunk-XUNU6GVQ.mjs +0 -319
  487. package/dist/esm/chunk-XUNU6GVQ.mjs.map +0 -1
  488. package/dist/esm/chunk-YJJTCGDT.mjs +0 -49
  489. package/dist/esm/chunk-YPHGPN2P.mjs +0 -33
  490. package/dist/esm/chunk-YPHGPN2P.mjs.map +0 -1
  491. package/dist/esm/chunk-YQPKNTIN.mjs +0 -23
  492. package/dist/esm/chunk-YSSWVBLZ.mjs +0 -135
  493. package/dist/esm/chunk-YV7M4CFP.mjs +0 -137
  494. package/dist/esm/chunk-ZR36Y2RX.mjs +0 -93
  495. package/dist/esm/chunk-ZZA2BSOF.mjs +0 -97
  496. package/dist/esm/core/crypto/federatedKeyless.d.mts +0 -97
  497. package/dist/esm/core/crypto/federatedKeyless.mjs +0 -43
  498. package/dist/esm/core/crypto/federatedKeyless.mjs.map +0 -1
  499. package/src/account/FederatedKeylessAccount.ts +0 -328
  500. package/src/core/crypto/federatedKeyless.ts +0 -134
  501. package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +0 -56
  502. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
  503. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
  504. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
  505. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
  506. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
  507. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
  508. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
  509. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
  510. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
  511. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
  512. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
  513. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
  514. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
  515. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
  516. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
  517. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
  518. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
  519. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
  520. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
  521. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
  522. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
  523. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
  524. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
  525. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
  526. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
  527. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
  528. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
  529. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
  530. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
  531. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
  532. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
  533. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
  534. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
  535. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
  536. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
  537. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
  538. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
  539. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
  540. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
  541. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
  542. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
  543. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
  544. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
  545. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
  546. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
  547. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
  548. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
  549. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
  550. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
  551. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
  552. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
  553. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
  554. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
  555. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
  556. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
  557. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
  558. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
  559. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
  560. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
  561. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
  562. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
  563. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
  564. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
  565. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
  566. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
  567. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
  568. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
  569. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
  570. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
  571. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
  572. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
  573. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
  574. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
  575. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
  576. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
  577. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
  578. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
  579. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
  580. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
  581. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
  582. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
  583. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
  584. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
  585. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
  586. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
  587. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
  588. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
  589. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
  590. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
  591. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
  592. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
  593. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
  594. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
  595. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
  596. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
  597. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
  598. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
  599. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
  600. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
  601. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
  602. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
  603. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
  604. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
  605. package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
  606. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
  607. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
  608. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
  609. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
  610. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
  611. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
  612. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
  613. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
  614. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
  615. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
  616. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
  617. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
  618. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
  619. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
  620. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
  621. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
  622. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
  623. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
  624. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
  625. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
  626. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
  627. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
  628. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
  629. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
  630. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
  631. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
  632. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
  633. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
  634. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
  635. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
  636. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
  637. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
  638. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
  639. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
  640. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
  641. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
  642. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
  643. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
  644. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
  645. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
  646. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
  647. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
  648. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
  649. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
  650. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
  651. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
  652. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
  653. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
  654. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
  655. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
  656. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
  657. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
  658. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
  659. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
  660. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
  661. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
  662. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
  663. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
  664. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
  665. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
  666. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
  667. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
  668. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
  669. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
  670. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
  671. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
  672. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
  673. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
  674. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
  675. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
  676. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
  677. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
  678. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
  679. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
  680. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
  681. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
  682. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
  683. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
  684. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
  685. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
  686. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
  687. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
  688. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
  689. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
  690. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
  691. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
  692. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
  693. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
  694. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
  695. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
  696. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
  697. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
  698. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
  699. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
  700. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
  701. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
  702. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
  703. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
  704. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
  705. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
  706. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
  707. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
  708. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
  709. package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
  710. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +0 -1533
  711. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +0 -48
  712. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +0 -66
  713. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +0 -280
  714. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +0 -443
  715. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +0 -204
  716. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +0 -1387
  717. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +0 -394
  718. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +0 -41
  719. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +0 -48
  720. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +0 -367
  721. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +0 -2214
  722. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +0 -101
  723. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +0 -77
  724. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +0 -21
  725. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +0 -5568
  726. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +0 -228
  727. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +0 -121
  728. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +0 -92
  729. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +0 -66
  730. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +0 -100
  731. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +0 -1566
  732. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +0 -176
  733. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +0 -550
  734. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +0 -23
  735. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +0 -68
  736. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +0 -148
  737. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +0 -817
  738. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +0 -312
  739. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +0 -205
  740. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +0 -2477
  741. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +0 -1073
  742. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +0 -147
  743. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +0 -295
  744. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +0 -405
  745. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +0 -574
  746. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +0 -57
  747. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +0 -153
  748. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +0 -49
  749. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +0 -237
  750. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +0 -132
  751. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +0 -69
  752. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +0 -267
  753. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +0 -3286
  754. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +0 -686
  755. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +0 -1618
  756. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +0 -228
  757. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +0 -90
  758. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +0 -622
  759. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +0 -82
  760. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +0 -88
  761. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +0 -262
  762. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +0 -457
  763. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +0 -501
  764. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +0 -16
  765. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +0 -42
  766. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +0 -115
  767. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +0 -2183
  768. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +0 -1279
  769. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +0 -57
  770. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +0 -253
  771. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +0 -469
  772. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +0 -985
  773. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +0 -802
  774. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +0 -855
  775. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +0 -193
  776. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +0 -173
  777. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +0 -45
  778. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +0 -351
  779. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +0 -278
  780. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +0 -262
  781. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +0 -447
  782. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +0 -91
  783. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +0 -381
  784. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +0 -336
  785. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +0 -139
  786. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +0 -142
  787. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +0 -482
  788. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +0 -571
  789. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +0 -270
  790. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +0 -1310
  791. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +0 -253
  792. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +0 -234
  793. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +0 -158
  794. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +0 -114
  795. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +0 -319
  796. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +0 -769
  797. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +0 -766
  798. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +0 -148
  799. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +0 -152
  800. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +0 -141
  801. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +0 -351
  802. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +0 -46
  803. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +0 -27
  804. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +0 -239
  805. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +0 -88
  806. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +0 -780
  807. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +0 -295
  808. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +0 -8
  809. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +0 -356
  810. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +0 -21
  811. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +0 -93
  812. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +0 -669
  813. package/src/internal/move/jwks/build/jwk/sources/main.move +0 -20
  814. /package/dist/esm/{account/FederatedKeylessAccount.mjs.map → chunk-FVA2OPG4.mjs.map} +0 -0
@@ -1,802 +0,0 @@
1
- /// This module defines marker types, constants and test cases for working with BLS12-381 curves
2
- /// using the generic API defined in `algebra.move`.
3
- /// See https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-pairing-friendly-curves-11#name-bls-curves-for-the-128-bit-
4
- /// for the full specification of BLS12-381 curves.
5
- ///
6
- /// Currently-supported BLS12-381 structures include `Fq12`, `Fr`, `G1`, `G2` and `Gt`,
7
- /// along with their widely-used serialization formats,
8
- /// the pairing between `G1`, `G2` and `Gt`,
9
- /// and the hash-to-curve operations for `G1` and `G2` defined in https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-16.
10
- ///
11
- /// Other unimplemented BLS12-381 structures and serialization formats are also listed here,
12
- /// as they help define some of the currently supported structures.
13
- /// Their implementation may also be added in the future.
14
- ///
15
- /// `Fq`: the finite field $F_q$ used in BLS12-381 curves with a prime order $q$ equal to
16
- /// 0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab.
17
- ///
18
- /// `FormatFqLsb`: a serialization format for `Fq` elements,
19
- /// where an element is represented by a byte array `b[]` of size 48 with the least significant byte (LSB) coming first.
20
- ///
21
- /// `FormatFqMsb`: a serialization format for `Fq` elements,
22
- /// where an element is represented by a byte array `b[]` of size 48 with the most significant byte (MSB) coming first.
23
- ///
24
- /// `Fq2`: the finite field $F_{q^2}$ used in BLS12-381 curves,
25
- /// which is an extension field of `Fq`, constructed as $F_{q^2}=F_q[u]/(u^2+1)$.
26
- ///
27
- /// `FormatFq2LscLsb`: a serialization format for `Fq2` elements,
28
- /// where an element in the form $(c_0+c_1\cdot u)$ is represented by a byte array `b[]` of size 96,
29
- /// which is a concatenation of its coefficients serialized, with the least significant coefficient (LSC) coming first:
30
- /// - `b[0..48]` is $c_0$ serialized using `FormatFqLsb`.
31
- /// - `b[48..96]` is $c_1$ serialized using `FormatFqLsb`.
32
- ///
33
- /// `FormatFq2MscMsb`: a serialization format for `Fq2` elements,
34
- /// where an element in the form $(c_0+c_1\cdot u)$ is represented by a byte array `b[]` of size 96,
35
- /// which is a concatenation of its coefficients serialized, with the most significant coefficient (MSC) coming first:
36
- /// - `b[0..48]` is $c_1$ serialized using `FormatFqLsb`.
37
- /// - `b[48..96]` is $c_0$ serialized using `FormatFqLsb`.
38
- ///
39
- /// `Fq6`: the finite field $F_{q^6}$ used in BLS12-381 curves,
40
- /// which is an extension field of `Fq2`, constructed as $F_{q^6}=F_{q^2}[v]/(v^3-u-1)$.
41
- ///
42
- /// `FormatFq6LscLsb`: a serialization scheme for `Fq6` elements,
43
- /// where an element in the form $(c_0+c_1\cdot v+c_2\cdot v^2)$ is represented by a byte array `b[]` of size 288,
44
- /// which is a concatenation of its coefficients serialized, with the least significant coefficient (LSC) coming first:
45
- /// - `b[0..96]` is $c_0$ serialized using `FormatFq2LscLsb`.
46
- /// - `b[96..192]` is $c_1$ serialized using `FormatFq2LscLsb`.
47
- /// - `b[192..288]` is $c_2$ serialized using `FormatFq2LscLsb`.
48
- ///
49
- /// `G1Full`: a group constructed by the points on the BLS12-381 curve $E(F_q): y^2=x^3+4$ and the point at infinity,
50
- /// under the elliptic curve point addition.
51
- /// It contains the prime-order subgroup $G_1$ used in pairing.
52
- ///
53
- /// `G2Full`: a group constructed by the points on a curve $E'(F_{q^2}): y^2=x^3+4(u+1)$ and the point at infinity,
54
- /// under the elliptic curve point addition.
55
- /// It contains the prime-order subgroup $G_2$ used in pairing.
56
- module aptos_std::bls12381_algebra {
57
- //
58
- // Marker types + serialization formats begin.
59
- //
60
-
61
- /// The finite field $F_{q^12}$ used in BLS12-381 curves,
62
- /// which is an extension field of `Fq6` (defined in the module documentation), constructed as $F_{q^12}=F_{q^6}[w]/(w^2-v)$.
63
- struct Fq12 {}
64
-
65
- /// A serialization scheme for `Fq12` elements,
66
- /// where an element $(c_0+c_1\cdot w)$ is represented by a byte array `b[]` of size 576,
67
- /// which is a concatenation of its coefficients serialized, with the least significant coefficient (LSC) coming first.
68
- /// - `b[0..288]` is $c_0$ serialized using `FormatFq6LscLsb` (defined in the module documentation).
69
- /// - `b[288..576]` is $c_1$ serialized using `FormatFq6LscLsb`.
70
- ///
71
- /// NOTE: other implementation(s) using this format: ark-bls12-381-0.4.0.
72
- struct FormatFq12LscLsb {}
73
-
74
- /// The group $G_1$ in BLS12-381-based pairing $G_1 \times G_2 \rightarrow G_t$.
75
- /// It is a subgroup of `G1Full` (defined in the module documentation) with a prime order $r$
76
- /// equal to 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001.
77
- /// (so `Fr` is the associated scalar field).
78
- struct G1 {}
79
-
80
- /// A serialization scheme for `G1` elements derived from
81
- /// https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-11.html#name-zcash-serialization-format-.
82
- ///
83
- /// Below is the serialization procedure that takes a `G1` element `p` and outputs a byte array of size 96.
84
- /// 1. Let `(x,y)` be the coordinates of `p` if `p` is on the curve, or `(0,0)` otherwise.
85
- /// 1. Serialize `x` and `y` into `b_x[]` and `b_y[]` respectively using `FormatFqMsb` (defined in the module documentation).
86
- /// 1. Concatenate `b_x[]` and `b_y[]` into `b[]`.
87
- /// 1. If `p` is the point at infinity, set the infinity bit: `b[0]: = b[0] | 0x40`.
88
- /// 1. Return `b[]`.
89
- ///
90
- /// Below is the deserialization procedure that takes a byte array `b[]` and outputs either a `G1` element or none.
91
- /// 1. If the size of `b[]` is not 96, return none.
92
- /// 1. Compute the compression flag as `b[0] & 0x80 != 0`.
93
- /// 1. If the compression flag is true, return none.
94
- /// 1. Compute the infinity flag as `b[0] & 0x40 != 0`.
95
- /// 1. If the infinity flag is set, return the point at infinity.
96
- /// 1. Deserialize `[b[0] & 0x1f, b[1], ..., b[47]]` to `x` using `FormatFqMsb`. If `x` is none, return none.
97
- /// 1. Deserialize `[b[48], ..., b[95]]` to `y` using `FormatFqMsb`. If `y` is none, return none.
98
- /// 1. Check if `(x,y)` is on curve `E`. If not, return none.
99
- /// 1. Check if `(x,y)` is in the subgroup of order `r`. If not, return none.
100
- /// 1. Return `(x,y)`.
101
- ///
102
- /// NOTE: other implementation(s) using this format: ark-bls12-381-0.4.0.
103
- struct FormatG1Uncompr {}
104
-
105
- /// A serialization scheme for `G1` elements derived from
106
- /// https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-11.html#name-zcash-serialization-format-.
107
- ///
108
- /// Below is the serialization procedure that takes a `G1` element `p` and outputs a byte array of size 48.
109
- /// 1. Let `(x,y)` be the coordinates of `p` if `p` is on the curve, or `(0,0)` otherwise.
110
- /// 1. Serialize `x` into `b[]` using `FormatFqMsb` (defined in the module documentation).
111
- /// 1. Set the compression bit: `b[0] := b[0] | 0x80`.
112
- /// 1. If `p` is the point at infinity, set the infinity bit: `b[0]: = b[0] | 0x40`.
113
- /// 1. If `y > -y`, set the lexicographical flag: `b[0] := b[0] | 0x20`.
114
- /// 1. Return `b[]`.
115
- ///
116
- /// Below is the deserialization procedure that takes a byte array `b[]` and outputs either a `G1` element or none.
117
- /// 1. If the size of `b[]` is not 48, return none.
118
- /// 1. Compute the compression flag as `b[0] & 0x80 != 0`.
119
- /// 1. If the compression flag is false, return none.
120
- /// 1. Compute the infinity flag as `b[0] & 0x40 != 0`.
121
- /// 1. If the infinity flag is set, return the point at infinity.
122
- /// 1. Compute the lexicographical flag as `b[0] & 0x20 != 0`.
123
- /// 1. Deserialize `[b[0] & 0x1f, b[1], ..., b[47]]` to `x` using `FormatFqMsb`. If `x` is none, return none.
124
- /// 1. Solve the curve equation with `x` for `y`. If no such `y` exists, return none.
125
- /// 1. Let `y'` be `max(y,-y)` if the lexicographical flag is set, or `min(y,-y)` otherwise.
126
- /// 1. Check if `(x,y')` is in the subgroup of order `r`. If not, return none.
127
- /// 1. Return `(x,y')`.
128
- ///
129
- /// NOTE: other implementation(s) using this format: ark-bls12-381-0.4.0.
130
- struct FormatG1Compr {}
131
-
132
- /// The group $G_2$ in BLS12-381-based pairing $G_1 \times G_2 \rightarrow G_t$.
133
- /// It is a subgroup of `G2Full` (defined in the module documentation) with a prime order $r$ equal to
134
- /// 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001.
135
- /// (so `Fr` is the scalar field).
136
- struct G2 {}
137
-
138
- /// A serialization scheme for `G2` elements derived from
139
- /// https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-11.html#name-zcash-serialization-format-.
140
- ///
141
- /// Below is the serialization procedure that takes a `G2` element `p` and outputs a byte array of size 192.
142
- /// 1. Let `(x,y)` be the coordinates of `p` if `p` is on the curve, or `(0,0)` otherwise.
143
- /// 1. Serialize `x` and `y` into `b_x[]` and `b_y[]` respectively using `FormatFq2MscMsb` (defined in the module documentation).
144
- /// 1. Concatenate `b_x[]` and `b_y[]` into `b[]`.
145
- /// 1. If `p` is the point at infinity, set the infinity bit in `b[]`: `b[0]: = b[0] | 0x40`.
146
- /// 1. Return `b[]`.
147
- ///
148
- /// Below is the deserialization procedure that takes a byte array `b[]` and outputs either a `G2` element or none.
149
- /// 1. If the size of `b[]` is not 192, return none.
150
- /// 1. Compute the compression flag as `b[0] & 0x80 != 0`.
151
- /// 1. If the compression flag is true, return none.
152
- /// 1. Compute the infinity flag as `b[0] & 0x40 != 0`.
153
- /// 1. If the infinity flag is set, return the point at infinity.
154
- /// 1. Deserialize `[b[0] & 0x1f, ..., b[95]]` to `x` using `FormatFq2MscMsb`. If `x` is none, return none.
155
- /// 1. Deserialize `[b[96], ..., b[191]]` to `y` using `FormatFq2MscMsb`. If `y` is none, return none.
156
- /// 1. Check if `(x,y)` is on the curve `E'`. If not, return none.
157
- /// 1. Check if `(x,y)` is in the subgroup of order `r`. If not, return none.
158
- /// 1. Return `(x,y)`.
159
- ///
160
- /// NOTE: other implementation(s) using this format: ark-bls12-381-0.4.0.
161
- struct FormatG2Uncompr {}
162
-
163
- /// A serialization scheme for `G2` elements derived from
164
- /// https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-11.html#name-zcash-serialization-format-.
165
- ///
166
- /// Below is the serialization procedure that takes a `G2` element `p` and outputs a byte array of size 96.
167
- /// 1. Let `(x,y)` be the coordinates of `p` if `p` is on the curve, or `(0,0)` otherwise.
168
- /// 1. Serialize `x` into `b[]` using `FormatFq2MscMsb` (defined in the module documentation).
169
- /// 1. Set the compression bit: `b[0] := b[0] | 0x80`.
170
- /// 1. If `p` is the point at infinity, set the infinity bit: `b[0]: = b[0] | 0x40`.
171
- /// 1. If `y > -y`, set the lexicographical flag: `b[0] := b[0] | 0x20`.
172
- /// 1. Return `b[]`.
173
- ///
174
- /// Below is the deserialization procedure that takes a byte array `b[]` and outputs either a `G2` element or none.
175
- /// 1. If the size of `b[]` is not 96, return none.
176
- /// 1. Compute the compression flag as `b[0] & 0x80 != 0`.
177
- /// 1. If the compression flag is false, return none.
178
- /// 1. Compute the infinity flag as `b[0] & 0x40 != 0`.
179
- /// 1. If the infinity flag is set, return the point at infinity.
180
- /// 1. Compute the lexicographical flag as `b[0] & 0x20 != 0`.
181
- /// 1. Deserialize `[b[0] & 0x1f, b[1], ..., b[95]]` to `x` using `FormatFq2MscMsb`. If `x` is none, return none.
182
- /// 1. Solve the curve equation with `x` for `y`. If no such `y` exists, return none.
183
- /// 1. Let `y'` be `max(y,-y)` if the lexicographical flag is set, or `min(y,-y)` otherwise.
184
- /// 1. Check if `(x,y')` is in the subgroup of order `r`. If not, return none.
185
- /// 1. Return `(x,y')`.
186
- ///
187
- /// NOTE: other implementation(s) using this format: ark-bls12-381-0.4.0.
188
- struct FormatG2Compr {}
189
-
190
- /// The group $G_t$ in BLS12-381-based pairing $G_1 \times G_2 \rightarrow G_t$.
191
- /// It is a multiplicative subgroup of `Fq12`,
192
- /// with a prime order $r$ equal to 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001.
193
- /// (so `Fr` is the scalar field).
194
- /// The identity of `Gt` is 1.
195
- struct Gt {}
196
-
197
- /// A serialization scheme for `Gt` elements.
198
- ///
199
- /// To serialize, it treats a `Gt` element `p` as an `Fq12` element and serialize it using `FormatFq12LscLsb`.
200
- ///
201
- /// To deserialize, it uses `FormatFq12LscLsb` to try deserializing to an `Fq12` element then test the membership in `Gt`.
202
- ///
203
- /// NOTE: other implementation(s) using this format: ark-bls12-381-0.4.0.
204
- struct FormatGt {}
205
-
206
- /// The finite field $F_r$ that can be used as the scalar fields
207
- /// associated with the groups $G_1$, $G_2$, $G_t$ in BLS12-381-based pairing.
208
- struct Fr {}
209
-
210
- /// A serialization format for `Fr` elements,
211
- /// where an element is represented by a byte array `b[]` of size 32 with the least significant byte (LSB) coming first.
212
- ///
213
- /// NOTE: other implementation(s) using this format: ark-bls12-381-0.4.0, blst-0.3.7.
214
- struct FormatFrLsb {}
215
-
216
- /// A serialization scheme for `Fr` elements,
217
- /// where an element is represented by a byte array `b[]` of size 32 with the most significant byte (MSB) coming first.
218
- ///
219
- /// NOTE: other implementation(s) using this format: ark-bls12-381-0.4.0, blst-0.3.7.
220
- struct FormatFrMsb {}
221
-
222
- //
223
- // (Marker types + serialization formats end here.)
224
- // Hash-to-structure suites begin.
225
- //
226
-
227
- /// The hash-to-curve suite `BLS12381G1_XMD:SHA-256_SSWU_RO_` that hashes a byte array into `G1` elements.
228
- ///
229
- /// Full specification is defined in https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-16#name-bls12-381-g1.
230
- struct HashG1XmdSha256SswuRo {}
231
-
232
- /// The hash-to-curve suite `BLS12381G2_XMD:SHA-256_SSWU_RO_` that hashes a byte array into `G2` elements.
233
- ///
234
- /// Full specification is defined in https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-16#name-bls12-381-g2.
235
- struct HashG2XmdSha256SswuRo {}
236
-
237
- //
238
- // (Hash-to-structure suites end here.)
239
- // Tests begin.
240
- //
241
-
242
- #[test_only]
243
- const FQ12_VAL_0_SERIALIZED: vector<u8> = x"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
244
- #[test_only]
245
- const FQ12_VAL_1_SERIALIZED: vector<u8> = x"010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
246
- #[test_only]
247
- const FQ12_VAL_7_SERIALIZED: vector<u8> = x"070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
248
- #[test_only]
249
- const FQ12_VAL_7_NEG_SERIALIZED: vector<u8> = x"a4aafffffffffeb9ffff53b1feffab1e24f6b0f6a0d23067bf1285f3844b7764d7ac4b43b6a71b4b9ae67f39ea11011a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
250
- #[test_only]
251
- const Q12_SERIALIZED: vector<u8> = x"1175f55da544c7625f8ccb1360e2b1d3ca40747811c8f5ed04440afe232b476c0215676aec05f2a44ac2da6b6d1b7cff075e7b2a587e0aab601a8d3db4f0d29906e5e4d0d78119f396d5a59f0f8d1ca8bca62540be6ab9c12d0ca00de1f311f106278d000e55a393c9766a74e0d08a298450f60d7e666575e3354bf14b8731f4e721c0c180a5ed55c2f8f51f815baecbf96b5fc717eb58ac161a27d1d5f2bdc1a079609b9d6449165b2466b32a01eac7992a1ea0cac2f223cde1d56f9bbccc67afe44621daf858df3fc0eb837818f3e42ab3e131ce4e492efa63c108e6ef91c29ed63b3045baebcb0ab8d203c7f558beaffccba31b12aca7f54b58d0c28340e4fdb3c7c94fe9c4fef9d640ff2fcff02f1748416cbed0981fbff49f0e39eaf8a30273e67ed851944d33d6a593ef5ddcd62da84568822a6045b633bf6a513b3cfe8f9de13e76f8dcbd915980dec205eab6a5c0c72dcebd9afff1d25509ddbf33f8e24131fbd74cda93336514340cf8036b66b09ed9e6a6ac37e22fb3ac407e321beae8cd9fe74c8aaeb4edaa9a7272848fc623f6fe835a2e647379f547fc5ec6371318a85bfa60009cb20ccbb8a467492988a87633c14c0324ba0d0c3e1798ed29c8494cea35023746da05e35d184b4a301d5b2238d665495c6318b5af8653758008952d06cb9e62487b196d64383c73c06d6e1cccdf9b3ce8f95679e7050d949004a55f4ccf95b2552880ae36d1f7e09504d2338316d87d14a064511a295d768113e301bdf9d4383a8be32192d3f2f3b2de14181c73839a7cb4af5301";
252
-
253
- #[test_only]
254
- fun rand_vector<S>(num: u64): vector<Element<S>> {
255
- let elements = vector[];
256
- while (num > 0) {
257
- std::vector::push_back(&mut elements, rand_insecure<S>());
258
- num = num - 1;
259
- };
260
- elements
261
- }
262
-
263
- #[test(fx = @std)]
264
- fun test_fq12(fx: signer) {
265
- enable_cryptography_algebra_natives(&fx);
266
-
267
- // Constants.
268
- assert!(Q12_SERIALIZED == order<Fq12>(), 1);
269
-
270
- // Serialization/deserialization.
271
- let val_0 = zero<Fq12>();
272
- let val_1 = one<Fq12>();
273
- assert!(FQ12_VAL_0_SERIALIZED == serialize<Fq12, FormatFq12LscLsb>(&val_0), 1);
274
- assert!(FQ12_VAL_1_SERIALIZED == serialize<Fq12, FormatFq12LscLsb>(&val_1), 1);
275
- let val_7 = from_u64<Fq12>(7);
276
- let val_7_another = std::option::extract(&mut deserialize<Fq12, FormatFq12LscLsb>(&FQ12_VAL_7_SERIALIZED));
277
- assert!(eq(&val_7, &val_7_another), 1);
278
- assert!(FQ12_VAL_7_SERIALIZED == serialize<Fq12, FormatFq12LscLsb>(&val_7), 1);
279
- assert!(std::option::is_none(&deserialize<Fq12, FormatFq12LscLsb>(&x"ffff")), 1);
280
-
281
- // Negation.
282
- let val_minus_7 = neg(&val_7);
283
- assert!(FQ12_VAL_7_NEG_SERIALIZED == serialize<Fq12, FormatFq12LscLsb>(&val_minus_7), 1);
284
-
285
- // Addition.
286
- let val_9 = from_u64<Fq12>(9);
287
- let val_2 = from_u64<Fq12>(2);
288
- assert!(eq(&val_2, &add(&val_minus_7, &val_9)), 1);
289
-
290
- // Subtraction.
291
- assert!(eq(&val_9, &sub(&val_2, &val_minus_7)), 1);
292
-
293
- // Multiplication.
294
- let val_63 = from_u64<Fq12>(63);
295
- assert!(eq(&val_63, &mul(&val_7, &val_9)), 1);
296
-
297
- // division.
298
- let val_0 = from_u64<Fq12>(0);
299
- assert!(eq(&val_7, &std::option::extract(&mut div(&val_63, &val_9))), 1);
300
- assert!(std::option::is_none(&div(&val_63, &val_0)), 1);
301
-
302
- // Inversion.
303
- assert!(eq(&val_minus_7, &neg(&val_7)), 1);
304
- assert!(std::option::is_none(&inv(&val_0)), 1);
305
-
306
- // Squaring.
307
- let val_x = rand_insecure<Fq12>();
308
- assert!(eq(&mul(&val_x, &val_x), &sqr(&val_x)), 1);
309
-
310
- // Downcasting.
311
- assert!(eq(&zero<Gt>(), &std::option::extract(&mut downcast<Fq12, Gt>(&val_1))), 1);
312
- }
313
-
314
- #[test_only]
315
- const R_SERIALIZED: vector<u8> = x"01000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73";
316
- #[test_only]
317
- const G1_INF_SERIALIZED_COMP: vector<u8> = x"c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
318
- #[test_only]
319
- const G1_INF_SERIALIZED_UNCOMP: vector<u8> = x"400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
320
- #[test_only]
321
- const G1_GENERATOR_SERIALIZED_COMP: vector<u8> = x"97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb";
322
- #[test_only]
323
- const G1_GENERATOR_SERIALIZED_UNCOMP: vector<u8> = x"17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1";
324
- #[test_only]
325
- const G1_GENERATOR_MUL_BY_7_SERIALIZED_COMP: vector<u8> = x"b928f3beb93519eecf0145da903b40a4c97dca00b21f12ac0df3be9116ef2ef27b2ae6bcd4c5bc2d54ef5a70627efcb7";
326
- #[test_only]
327
- const G1_GENERATOR_MUL_BY_7_SERIALIZED_UNCOMP: vector<u8> = x"1928f3beb93519eecf0145da903b40a4c97dca00b21f12ac0df3be9116ef2ef27b2ae6bcd4c5bc2d54ef5a70627efcb7108dadbaa4b636445639d5ae3089b3c43a8a1d47818edd1839d7383959a41c10fdc66849cfa1b08c5a11ec7e28981a1c";
328
- #[test_only]
329
- const G1_GENERATOR_MUL_BY_7_NEG_SERIALIZED_COMP: vector<u8> = x"9928f3beb93519eecf0145da903b40a4c97dca00b21f12ac0df3be9116ef2ef27b2ae6bcd4c5bc2d54ef5a70627efcb7";
330
- #[test_only]
331
- const G1_GENERATOR_MUL_BY_7_NEG_SERIALIZED_UNCOMP: vector<u8> = x"1928f3beb93519eecf0145da903b40a4c97dca00b21f12ac0df3be9116ef2ef27b2ae6bcd4c5bc2d54ef5a70627efcb70973642f94c9b055f4e1d20812c1f91329ed2e3d71f635a72d599a679d0cda1320e597b4e1b24f735fed1381d767908f";
332
-
333
- #[test(fx = @std)]
334
- fun test_g1affine(fx: signer) {
335
- enable_cryptography_algebra_natives(&fx);
336
-
337
- // Constants.
338
- assert!(R_SERIALIZED == order<G1>(), 1);
339
- let point_at_infinity = zero<G1>();
340
- let generator = one<G1>();
341
-
342
- // Serialization/deserialization.
343
- assert!(G1_GENERATOR_SERIALIZED_UNCOMP == serialize<G1, FormatG1Uncompr>(&generator), 1);
344
- assert!(G1_GENERATOR_SERIALIZED_COMP == serialize<G1, FormatG1Compr>(&generator), 1);
345
- let generator_from_comp = std::option::extract(&mut deserialize<G1, FormatG1Compr>(&G1_GENERATOR_SERIALIZED_COMP
346
- ));
347
- let generator_from_uncomp = std::option::extract(&mut deserialize<G1, FormatG1Uncompr>(&G1_GENERATOR_SERIALIZED_UNCOMP
348
- ));
349
- assert!(eq(&generator, &generator_from_comp), 1);
350
- assert!(eq(&generator, &generator_from_uncomp), 1);
351
-
352
- // Deserialization should fail if given a byte array of correct size but the value is not a member.
353
- assert!(std::option::is_none(&deserialize<Fq12, FormatFq12LscLsb>(&x"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")), 1);
354
-
355
- // Deserialization should fail if given a byte array of wrong size.
356
- assert!(std::option::is_none(&deserialize<Fq12, FormatFq12LscLsb>(&x"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")), 1);
357
-
358
- assert!(
359
- G1_INF_SERIALIZED_UNCOMP == serialize<G1, FormatG1Uncompr>(&point_at_infinity), 1);
360
- assert!(G1_INF_SERIALIZED_COMP == serialize<G1, FormatG1Compr>(&point_at_infinity), 1);
361
- let inf_from_uncomp = std::option::extract(&mut deserialize<G1, FormatG1Uncompr>(&G1_INF_SERIALIZED_UNCOMP
362
- ));
363
- let inf_from_comp = std::option::extract(&mut deserialize<G1, FormatG1Compr>(&G1_INF_SERIALIZED_COMP
364
- ));
365
- assert!(eq(&point_at_infinity, &inf_from_comp), 1);
366
- assert!(eq(&point_at_infinity, &inf_from_uncomp), 1);
367
-
368
- let point_7g_from_uncomp = std::option::extract(&mut deserialize<G1, FormatG1Uncompr>(&G1_GENERATOR_MUL_BY_7_SERIALIZED_UNCOMP
369
- ));
370
- let point_7g_from_comp = std::option::extract(&mut deserialize<G1, FormatG1Compr>(&G1_GENERATOR_MUL_BY_7_SERIALIZED_COMP
371
- ));
372
- assert!(eq(&point_7g_from_comp, &point_7g_from_uncomp), 1);
373
-
374
- // Deserialization should fail if given a point on the curve but off its prime-order subgroup, e.g., `(0,2)`.
375
- assert!(std::option::is_none(&deserialize<G1, FormatG1Uncompr>(&x"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002")), 1);
376
- assert!(std::option::is_none(&deserialize<G1, FormatG1Compr>(&x"800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")), 1);
377
-
378
- // Deserialization should fail if given a valid point in (Fq,Fq) but not on the curve.
379
- assert!(std::option::is_none(&deserialize<G1, FormatG1Uncompr>(&x"8959e137e0719bf872abb08411010f437a8955bd42f5ba20fca64361af58ce188b1adb96ef229698bb7860b79e24ba12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")), 1);
380
-
381
- // Deserialization should fail if given an invalid point (x not in Fq).
382
- assert!(std::option::is_none(&deserialize<G1, FormatG1Uncompr>(&x"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa76e9853b35f5c9b2002d9e5833fd8f9ab4cd3934a4722a06f6055bfca720c91629811e2ecae7f0cf301b6d07898a90f")), 1);
383
- assert!(std::option::is_none(&deserialize<G1, FormatG1Compr>(&x"9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")), 1);
384
-
385
- // Deserialization should fail if given a byte array of wrong size.
386
- assert!(std::option::is_none(&deserialize<G1, FormatG1Uncompr>(&x"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab")), 1);
387
- assert!(std::option::is_none(&deserialize<G1, FormatG1Compr>(&x"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab")), 1);
388
-
389
- // Scalar multiplication.
390
- let scalar_7 = from_u64<Fr>(7);
391
- let point_7g_calc = scalar_mul(&generator, &scalar_7);
392
- assert!(eq(&point_7g_calc, &point_7g_from_comp), 1);
393
- assert!(G1_GENERATOR_MUL_BY_7_SERIALIZED_UNCOMP == serialize<G1, FormatG1Uncompr>(&point_7g_calc), 1);
394
- assert!(G1_GENERATOR_MUL_BY_7_SERIALIZED_COMP == serialize<G1, FormatG1Compr>( &point_7g_calc), 1);
395
-
396
- // Multi-scalar multiplication.
397
- let num_entries = 1;
398
- while (num_entries < 10) {
399
- let scalars = rand_vector<Fr>(num_entries);
400
- let elements = rand_vector<G1>(num_entries);
401
-
402
- let expected = zero<G1>();
403
- let i = 0;
404
- while (i < num_entries) {
405
- let element = std::vector::borrow(&elements, i);
406
- let scalar = std::vector::borrow(&scalars, i);
407
- expected = add(&expected, &scalar_mul(element, scalar));
408
- i = i + 1;
409
- };
410
-
411
- let actual = multi_scalar_mul(&elements, &scalars);
412
- assert!(eq(&expected, &actual), 1);
413
-
414
- num_entries = num_entries + 1;
415
- };
416
-
417
- // Doubling.
418
- let scalar_2 = from_u64<Fr>(2);
419
- let point_2g = scalar_mul(&generator, &scalar_2);
420
- let point_double_g = double(&generator);
421
- assert!(eq(&point_2g, &point_double_g), 1);
422
-
423
- // Negation.
424
- let point_minus_7g_calc = neg(&point_7g_calc);
425
- assert!(G1_GENERATOR_MUL_BY_7_NEG_SERIALIZED_COMP == serialize<G1, FormatG1Compr>(&point_minus_7g_calc), 1);
426
- assert!(G1_GENERATOR_MUL_BY_7_NEG_SERIALIZED_UNCOMP == serialize<G1, FormatG1Uncompr>(&point_minus_7g_calc), 1);
427
-
428
- // Addition.
429
- let scalar_9 = from_u64<Fr>(9);
430
- let point_9g = scalar_mul(&generator, &scalar_9);
431
- let point_2g = scalar_mul(&generator, &scalar_2);
432
- let point_2g_calc = add(&point_minus_7g_calc, &point_9g);
433
- assert!(eq(&point_2g, &point_2g_calc), 1);
434
-
435
- // Subtraction.
436
- assert!(eq(&point_9g, &sub(&point_2g, &point_minus_7g_calc)), 1);
437
-
438
- // Hash-to-group using suite `BLS12381G1_XMD:SHA-256_SSWU_RO_`.
439
- // Test vectors source: https://www.ietf.org/archive/id/draft-irtf-cfrg-hash-to-curve-16.html#name-bls12381g1_xmdsha-256_sswu_
440
- let actual = hash_to<G1, HashG1XmdSha256SswuRo>(&b"QUUX-V01-CS02-with-BLS12381G1_XMD:SHA-256_SSWU_RO_", &b"");
441
- let expected = std::option::extract(&mut deserialize<G1, FormatG1Uncompr>(&x"052926add2207b76ca4fa57a8734416c8dc95e24501772c814278700eed6d1e4e8cf62d9c09db0fac349612b759e79a108ba738453bfed09cb546dbb0783dbb3a5f1f566ed67bb6be0e8c67e2e81a4cc68ee29813bb7994998f3eae0c9c6a265"));
442
- assert!(eq(&expected, &actual), 1);
443
- let actual = hash_to<G1, HashG1XmdSha256SswuRo>(&b"QUUX-V01-CS02-with-BLS12381G1_XMD:SHA-256_SSWU_RO_", &b"abcdef0123456789");
444
- let expected = std::option::extract(&mut deserialize<G1, FormatG1Uncompr>(&x"11e0b079dea29a68f0383ee94fed1b940995272407e3bb916bbf268c263ddd57a6a27200a784cbc248e84f357ce82d9803a87ae2caf14e8ee52e51fa2ed8eefe80f02457004ba4d486d6aa1f517c0889501dc7413753f9599b099ebcbbd2d709"));
445
- assert!(eq(&expected, &actual), 1);
446
- }
447
-
448
- #[test_only]
449
- const G2_INF_SERIALIZED_UNCOMP: vector<u8> = x"400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
450
- #[test_only]
451
- const G2_INF_SERIALIZED_COMP: vector<u8> = x"c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
452
- #[test_only]
453
- const G2_GENERATOR_SERIALIZED_UNCOMP: vector<u8> = x"13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb80606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801";
454
- #[test_only]
455
- const G2_GENERATOR_SERIALIZED_COMP: vector<u8> = x"93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8";
456
- #[test_only]
457
- const G2_GENERATOR_MUL_BY_7_SERIALIZED_UNCOMP: vector<u8> = x"0d0273f6bf31ed37c3b8d68083ec3d8e20b5f2cc170fa24b9b5be35b34ed013f9a921f1cad1644d4bdb14674247234c8049cd1dbb2d2c3581e54c088135fef36505a6823d61b859437bfc79b617030dc8b40e32bad1fa85b9c0f368af6d38d3c05ecf93654b7a1885695aaeeb7caf41b0239dc45e1022be55d37111af2aecef87799638bec572de86a7437898efa702008b7ae4dbf802c17a6648842922c9467e460a71c88d393ee7af356da123a2f3619e80c3bdcc8e2b1da52f8cd9913ccdd";
458
- #[test_only]
459
- const G2_GENERATOR_MUL_BY_7_SERIALIZED_COMP: vector<u8> = x"8d0273f6bf31ed37c3b8d68083ec3d8e20b5f2cc170fa24b9b5be35b34ed013f9a921f1cad1644d4bdb14674247234c8049cd1dbb2d2c3581e54c088135fef36505a6823d61b859437bfc79b617030dc8b40e32bad1fa85b9c0f368af6d38d3c";
460
- #[test_only]
461
- const G2_GENERATOR_MUL_BY_7_NEG_SERIALIZED_UNCOMP: vector<u8> = x"0d0273f6bf31ed37c3b8d68083ec3d8e20b5f2cc170fa24b9b5be35b34ed013f9a921f1cad1644d4bdb14674247234c8049cd1dbb2d2c3581e54c088135fef36505a6823d61b859437bfc79b617030dc8b40e32bad1fa85b9c0f368af6d38d3c141418b3e4c84511f485fcc78b80b8bc623d6f3f1282e6da09f9c1860402272ba7129c72c4fcd2174f8ac87671053a8b1149639c79ffba82a4b71f73b11f186f8016a4686ab17ed0ec3d7bc6e476c6ee04c3f3c2d48b1d4ddfac073266ebddce";
462
- #[test_only]
463
- const G2_GENERATOR_MUL_BY_7_NEG_SERIALIZED_COMP: vector<u8> = x"ad0273f6bf31ed37c3b8d68083ec3d8e20b5f2cc170fa24b9b5be35b34ed013f9a921f1cad1644d4bdb14674247234c8049cd1dbb2d2c3581e54c088135fef36505a6823d61b859437bfc79b617030dc8b40e32bad1fa85b9c0f368af6d38d3c";
464
-
465
- #[test(fx = @std)]
466
- fun test_g2affine(fx: signer) {
467
- enable_cryptography_algebra_natives(&fx);
468
-
469
- // Special constants.
470
- assert!(R_SERIALIZED == order<G2>(), 1);
471
- let point_at_infinity = zero<G2>();
472
- let generator = one<G2>();
473
-
474
- // Serialization/deserialization.
475
- assert!(G2_GENERATOR_SERIALIZED_COMP == serialize<G2, FormatG2Compr>(&generator), 1);
476
- assert!(G2_GENERATOR_SERIALIZED_UNCOMP == serialize<G2, FormatG2Uncompr>(&generator), 1);
477
- let generator_from_uncomp = std::option::extract(&mut deserialize<G2, FormatG2Uncompr>(&G2_GENERATOR_SERIALIZED_UNCOMP
478
- ));
479
- let generator_from_comp = std::option::extract(&mut deserialize<G2, FormatG2Compr>(&G2_GENERATOR_SERIALIZED_COMP
480
- ));
481
- assert!(eq(&generator, &generator_from_comp), 1);
482
- assert!(eq(&generator, &generator_from_uncomp), 1);
483
- assert!(G2_INF_SERIALIZED_UNCOMP == serialize<G2, FormatG2Uncompr>(&point_at_infinity), 1);
484
- assert!(G2_INF_SERIALIZED_COMP == serialize<G2, FormatG2Compr>(&point_at_infinity), 1);
485
- let inf_from_uncomp = std::option::extract(&mut deserialize<G2, FormatG2Uncompr>(&G2_INF_SERIALIZED_UNCOMP));
486
- let inf_from_comp = std::option::extract(&mut deserialize<G2, FormatG2Compr>(&G2_INF_SERIALIZED_COMP));
487
- assert!(eq(&point_at_infinity, &inf_from_comp), 1);
488
- assert!(eq(&point_at_infinity, &inf_from_uncomp), 1);
489
- let point_7g_from_uncomp = std::option::extract(&mut deserialize<G2, FormatG2Uncompr>(&G2_GENERATOR_MUL_BY_7_SERIALIZED_UNCOMP
490
- ));
491
- let point_7g_from_comp = std::option::extract(&mut deserialize<G2, FormatG2Compr>(&G2_GENERATOR_MUL_BY_7_SERIALIZED_COMP
492
- ));
493
- assert!(eq(&point_7g_from_comp, &point_7g_from_uncomp), 1);
494
-
495
- // Deserialization should fail if given a point on the curve but not in the prime-order subgroup.
496
- assert!(std::option::is_none(&deserialize<G1, FormatG1Uncompr>(&x"f037d4ccd5ee751eba1c1fd4c7edbb76d2b04c3a1f3f554827cf37c3acbc2dbb7cdb320a2727c2462d6c55ca1f637707b96eeebc622c1dbe7c56c34f93887c8751b42bd04f29253a82251c192ef27ece373993b663f4360505299c5bd18c890ddd862a6308796bf47e2265073c1f7d81afd69f9497fc1403e2e97a866129b43b672295229c21116d4a99f3e5c2ae720a31f181dbed8a93e15f909c20cf69d11a8879adbbe6890740def19814e6d4ed23fb0dcbd79291655caf48b466ac9cae04")), 1);
497
- assert!(std::option::is_none(&deserialize<G1, FormatG1Compr>(&x"f037d4ccd5ee751eba1c1fd4c7edbb76d2b04c3a1f3f554827cf37c3acbc2dbb7cdb320a2727c2462d6c55ca1f637707b96eeebc622c1dbe7c56c34f93887c8751b42bd04f29253a82251c192ef27ece373993b663f4360505299c5bd18c890d")), 1);
498
-
499
- // Deserialization should fail if given a valid point in (Fq2,Fq2) but not on the curve.
500
- assert!(std::option::is_none(&deserialize<G1, FormatG1Uncompr>(&x"f037d4ccd5ee751eba1c1fd4c7edbb76d2b04c3a1f3f554827cf37c3acbc2dbb7cdb320a2727c2462d6c55ca1f637707b96eeebc622c1dbe7c56c34f93887c8751b42bd04f29253a82251c192ef27ece373993b663f4360505299c5bd18c890d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")), 1);
501
-
502
- // Deserialization should fail if given an invalid point (x not in Fq2).
503
- assert!(std::option::is_none(&deserialize<G1, FormatG1Uncompr>(&x"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd862a6308796bf47e2265073c1f7d81afd69f9497fc1403e2e97a866129b43b672295229c21116d4a99f3e5c2ae720a31f181dbed8a93e15f909c20cf69d11a8879adbbe6890740def19814e6d4ed23fb0dcbd79291655caf48b466ac9cae04")), 1);
504
- assert!(std::option::is_none(&deserialize<G1, FormatG1Compr>(&x"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")), 1);
505
-
506
- // Deserialization should fail if given a byte array of wrong size.
507
- assert!(std::option::is_none(&deserialize<G1, FormatG1Uncompr>(&x"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab")), 1);
508
- assert!(std::option::is_none(&deserialize<G1, FormatG1Compr>(&x"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab")), 1);
509
-
510
- // Scalar multiplication.
511
- let scalar_7 = from_u64<Fr>(7);
512
- let point_7g_calc = scalar_mul(&generator, &scalar_7);
513
- assert!(eq(&point_7g_calc, &point_7g_from_comp), 1);
514
- assert!(G2_GENERATOR_MUL_BY_7_SERIALIZED_UNCOMP == serialize<G2, FormatG2Uncompr>(&point_7g_calc), 1);
515
- assert!(G2_GENERATOR_MUL_BY_7_SERIALIZED_COMP == serialize<G2, FormatG2Compr>(&point_7g_calc), 1);
516
-
517
- // Multi-scalar multiplication.
518
- let num_entries = 1;
519
- while (num_entries < 10) {
520
- let scalars = rand_vector<Fr>(num_entries);
521
- let elements = rand_vector<G2>(num_entries);
522
-
523
- let expected = zero<G2>();
524
- let i = 0;
525
- while (i < num_entries) {
526
- let element = std::vector::borrow(&elements, i);
527
- let scalar = std::vector::borrow(&scalars, i);
528
- expected = add(&expected, &scalar_mul(element, scalar));
529
- i = i + 1;
530
- };
531
-
532
- let actual = multi_scalar_mul(&elements, &scalars);
533
- assert!(eq(&expected, &actual), 1);
534
-
535
- num_entries = num_entries + 1;
536
- };
537
-
538
- // Doubling.
539
- let scalar_2 = from_u64<Fr>(2);
540
- let point_2g = scalar_mul(&generator, &scalar_2);
541
- let point_double_g = double(&generator);
542
- assert!(eq(&point_2g, &point_double_g), 1);
543
-
544
- // Negation.
545
- let point_minus_7g_calc = neg(&point_7g_calc);
546
- assert!(G2_GENERATOR_MUL_BY_7_NEG_SERIALIZED_COMP == serialize<G2, FormatG2Compr>(&point_minus_7g_calc), 1);
547
- assert!(G2_GENERATOR_MUL_BY_7_NEG_SERIALIZED_UNCOMP == serialize<G2, FormatG2Uncompr>(&point_minus_7g_calc), 1);
548
-
549
- // Addition.
550
- let scalar_9 = from_u64<Fr>(9);
551
- let point_9g = scalar_mul(&generator, &scalar_9);
552
- let point_2g = scalar_mul(&generator, &scalar_2);
553
- let point_2g_calc = add(&point_minus_7g_calc, &point_9g);
554
- assert!(eq(&point_2g, &point_2g_calc), 1);
555
-
556
- // Subtraction.
557
- assert!(eq(&point_9g, &sub(&point_2g, &point_minus_7g_calc)), 1);
558
-
559
- // Hash-to-group using suite `BLS12381G2_XMD:SHA-256_SSWU_RO_`.
560
- // Test vectors source: https://www.ietf.org/archive/id/draft-irtf-cfrg-hash-to-curve-16.html#name-bls12381g2_xmdsha-256_sswu_
561
- let actual = hash_to<G2, HashG2XmdSha256SswuRo>(&b"QUUX-V01-CS02-with-BLS12381G2_XMD:SHA-256_SSWU_RO_", &b"");
562
- let expected = std::option::extract(&mut deserialize<G2, FormatG2Uncompr>(&x"05cb8437535e20ecffaef7752baddf98034139c38452458baeefab379ba13dff5bf5dd71b72418717047f5b0f37da03d0141ebfbdca40eb85b87142e130ab689c673cf60f1a3e98d69335266f30d9b8d4ac44c1038e9dcdd5393faf5c41fb78a12424ac32561493f3fe3c260708a12b7c620e7be00099a974e259ddc7d1f6395c3c811cdd19f1e8dbf3e9ecfdcbab8d60503921d7f6a12805e72940b963c0cf3471c7b2a524950ca195d11062ee75ec076daf2d4bc358c4b190c0c98064fdd92"));
563
- assert!(eq(&expected, &actual), 1);
564
- let actual = hash_to<G2, HashG2XmdSha256SswuRo>(&b"QUUX-V01-CS02-with-BLS12381G2_XMD:SHA-256_SSWU_RO_", &b"abcdef0123456789");
565
- let expected = std::option::extract(&mut deserialize<G2, FormatG2Uncompr>(&x"190d119345b94fbd15497bcba94ecf7db2cbfd1e1fe7da034d26cbba169fb3968288b3fafb265f9ebd380512a71c3f2c121982811d2491fde9ba7ed31ef9ca474f0e1501297f68c298e9f4c0028add35aea8bb83d53c08cfc007c1e005723cd00bb5e7572275c567462d91807de765611490205a941a5a6af3b1691bfe596c31225d3aabdf15faff860cb4ef17c7c3be05571a0f8d3c08d094576981f4a3b8eda0a8e771fcdcc8ecceaf1356a6acf17574518acb506e435b639353c2e14827c8"));
566
- assert!(eq(&expected, &actual), 1);
567
- }
568
-
569
- #[test_only]
570
- const FQ12_ONE_SERIALIZED: vector<u8> = x"010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
571
- #[test_only]
572
- const GT_GENERATOR_SERIALIZED: vector<u8> = x"b68917caaa0543a808c53908f694d1b6e7b38de90ce9d83d505ca1ef1b442d2727d7d06831d8b2a7920afc71d8eb50120f17a0ea982a88591d9f43503e94a8f1abaf2e4589f65aafb7923c484540a868883432a5c60e75860b11e5465b1c9a08873ec29e844c1c888cb396933057ffdd541b03a5220eda16b2b3a6728ea678034ce39c6839f20397202d7c5c44bb68134f93193cec215031b17399577a1de5ff1f5b0666bdd8907c61a7651e4e79e0372951505a07fa73c25788db6eb8023519a5aa97b51f1cad1d43d8aabbff4dc319c79a58cafc035218747c2f75daf8f2fb7c00c44da85b129113173d4722f5b201b6b4454062e9ea8ba78c5ca3cadaf7238b47bace5ce561804ae16b8f4b63da4645b8457a93793cbd64a7254f150781019de87ee42682940f3e70a88683d512bb2c3fb7b2434da5dedbb2d0b3fb8487c84da0d5c315bdd69c46fb05d23763f2191aabd5d5c2e12a10b8f002ff681bfd1b2ee0bf619d80d2a795eb22f2aa7b85d5ffb671a70c94809f0dafc5b73ea2fb0657bae23373b4931bc9fa321e8848ef78894e987bff150d7d671aee30b3931ac8c50e0b3b0868effc38bf48cd24b4b811a2995ac2a09122bed9fd9fa0c510a87b10290836ad06c8203397b56a78e9a0c61c77e56ccb4f1bc3d3fcaea7550f3503efe30f2d24f00891cb45620605fcfaa4292687b3a7db7c1c0554a93579e889a121fd8f72649b2402996a084d2381c5043166673b3849e4fd1e7ee4af24aa8ed443f56dfd6b68ffde4435a92cd7a4ac3bc77e1ad0cb728606cf08bf6386e5410f";
573
- #[test_only]
574
- const GT_GENERATOR_MUL_BY_7_SERIALIZED: vector<u8> = x"2041ea7b66c19680e2c0bb23245a71918753220b31f88a925aa9b1e192e7c188a0b365cb994b3ec5e809206117c6411242b940b10caa37ce734496b3b7c63578a0e3c076f9b31a7ca13a716262e0e4cda4ac994efb9e19893cbfe4d464b9210d099d808a08b3c4c3846e7529984899478639c4e6c46152ef49a04af9c8e6ff442d286c4613a3dac6a4bee4b40e1f6b030f2871dabe4223b250c3181ecd3bc6819004745aeb6bac567407f2b9c7d1978c45ee6712ae46930bc00638383f6696158bad488cbe7663d681c96c035481dbcf78e7a7fbaec3799163aa6914cef3365156bdc3e533a7c883d5974e3462ac6f19e3f9ce26800ae248a45c5f0dd3a48a185969224e6cd6af9a048241bdcac9800d94aeee970e08488fb961e36a769b6c185d185b4605dc9808517196bba9d00a3e37bca466c19187486db104ee03962d39fe473e276355618e44c965f05082bb027a7baa4bcc6d8c0775c1e8a481e77df36ddad91e75a982302937f543a11fe71922dcd4f46fe8f951f91cde412b359507f2b3b6df0374bfe55c9a126ad31ce254e67d64194d32d7955ec791c9555ea5a917fc47aba319e909de82da946eb36e12aff936708402228295db2712f2fc807c95092a86afd71220699df13e2d2fdf2857976cb1e605f72f1b2edabadba3ff05501221fe81333c13917c85d725ce92791e115eb0289a5d0b3330901bb8b0ed146abeb81381b7331f1c508fb14e057b05d8b0190a9e74a3d046dcd24e7ab747049945b3d8a120c4f6d88e67661b55573aa9b361367488a1ef7dffd967d64a1518";
575
- #[test_only]
576
- const GT_GENERATOR_MUL_BY_7_NEG_SERIALIZED: vector<u8> = x"2041ea7b66c19680e2c0bb23245a71918753220b31f88a925aa9b1e192e7c188a0b365cb994b3ec5e809206117c6411242b940b10caa37ce734496b3b7c63578a0e3c076f9b31a7ca13a716262e0e4cda4ac994efb9e19893cbfe4d464b9210d099d808a08b3c4c3846e7529984899478639c4e6c46152ef49a04af9c8e6ff442d286c4613a3dac6a4bee4b40e1f6b030f2871dabe4223b250c3181ecd3bc6819004745aeb6bac567407f2b9c7d1978c45ee6712ae46930bc00638383f6696158bad488cbe7663d681c96c035481dbcf78e7a7fbaec3799163aa6914cef3365156bdc3e533a7c883d5974e3462ac6f19e3f9ce26800ae248a45c5f0dd3a48a185969224e6cd6af9a048241bdcac9800d94aeee970e08488fb961e36a769b6c184e92a4b9fa2366b1ae8ebdf5542fa1e0ec390c90df40a91e5261800581b5492bd9640d1c5352babc551d1a49998f4517312f55b4339272b28a3e6b0c7d182e2bb61bd7d72b29ae3696db8fafe32b904ab5d0764e46bf21f9a0c9a1f7bedc6b12b9f64820fc8b3fd4a26541472be3c9c93d784cdd53a059d1604bf3292fedd1babfb00398128e3241bc63a5a47b5e9207fcb0c88f7bfddc376a242c9f0c032ba28eec8670f1fa1d47567593b4571c983b8015df91cfa1241b7fb8a57e0e6e01145b98de017eccc2a66e83ced9d83119a505e552467838d35b8ce2f4d7cc9a894f6dee922f35f0e72b7e96f0879b0c8614d3f9e5f5618b5be9b82381628448641a8bb0fd1dffb16c70e6831d8d69f61f2a2ef9e90c421f7a5b1ce7a5d113c7eb01";
577
-
578
- #[test(fx = @std)]
579
- fun test_gt(fx: signer) {
580
- enable_cryptography_algebra_natives(&fx);
581
-
582
- // Special constants.
583
- assert!(R_SERIALIZED == order<Gt>(), 1);
584
- let identity = zero<Gt>();
585
- let generator = one<Gt>();
586
-
587
- // Serialization/deserialization.
588
- assert!(GT_GENERATOR_SERIALIZED == serialize<Gt, FormatGt>(&generator), 1);
589
- let generator_from_deser = std::option::extract(&mut deserialize<Gt, FormatGt>(&GT_GENERATOR_SERIALIZED));
590
- assert!(eq(&generator, &generator_from_deser), 1);
591
- assert!(FQ12_ONE_SERIALIZED == serialize<Gt, FormatGt>(&identity), 1);
592
- let identity_from_deser = std::option::extract(&mut deserialize<Gt, FormatGt>(&FQ12_ONE_SERIALIZED));
593
- assert!(eq(&identity, &identity_from_deser), 1);
594
- let element_7g_from_deser = std::option::extract(&mut deserialize<Gt, FormatGt>(&GT_GENERATOR_MUL_BY_7_SERIALIZED
595
- ));
596
- assert!(std::option::is_none(&deserialize<Gt, FormatGt>(&x"ffff")), 1);
597
-
598
- // Deserialization should fail if given an element in Fq12 but not in the prime-order subgroup.
599
- assert!(std::option::is_none(&deserialize<Gt, FormatGt>(&x"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")), 1);
600
-
601
- // Deserialization should fail if given a byte array of wrong size.
602
- assert!(std::option::is_none(&deserialize<Gt, FormatGt>(&x"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab")), 1);
603
-
604
- // Element scalar multiplication.
605
- let scalar_7 = from_u64<Fr>(7);
606
- let element_7g_calc = scalar_mul(&generator, &scalar_7);
607
- assert!(eq(&element_7g_calc, &element_7g_from_deser), 1);
608
- assert!(GT_GENERATOR_MUL_BY_7_SERIALIZED == serialize<Gt, FormatGt>(&element_7g_calc), 1);
609
-
610
- // Element negation.
611
- let element_minus_7g_calc = neg(&element_7g_calc);
612
- assert!(GT_GENERATOR_MUL_BY_7_NEG_SERIALIZED == serialize<Gt, FormatGt>(&element_minus_7g_calc), 1);
613
-
614
- // Element addition.
615
- let scalar_9 = from_u64<Fr>(9);
616
- let element_9g = scalar_mul(&generator, &scalar_9);
617
- let scalar_2 = from_u64<Fr>(2);
618
- let element_2g = scalar_mul(&generator, &scalar_2);
619
- let element_2g_calc = add(&element_minus_7g_calc, &element_9g);
620
- assert!(eq(&element_2g, &element_2g_calc), 1);
621
-
622
- // Subtraction.
623
- assert!(eq(&element_9g, &sub(&element_2g, &element_minus_7g_calc)), 1);
624
-
625
- // Upcasting to Fq12.
626
- assert!(eq(&one<Fq12>(), &upcast<Gt, Fq12>(&identity)), 1);
627
- }
628
-
629
- #[test_only]
630
- use aptos_std::crypto_algebra::{zero, one, from_u64, eq, deserialize, serialize, neg, add, sub, mul, div, inv, rand_insecure, sqr, order, scalar_mul, multi_scalar_mul, double, hash_to, upcast, enable_cryptography_algebra_natives, pairing, multi_pairing, downcast, Element};
631
-
632
- #[test_only]
633
- const FR_VAL_0_SERIALIZED_LSB: vector<u8> = x"0000000000000000000000000000000000000000000000000000000000000000";
634
- #[test_only]
635
- const FR_VAL_1_SERIALIZED_LSB: vector<u8> = x"0100000000000000000000000000000000000000000000000000000000000000";
636
- #[test_only]
637
- const FR_VAL_7_SERIALIZED_LSB: vector<u8> = x"0700000000000000000000000000000000000000000000000000000000000000";
638
- #[test_only]
639
- const FR_VAL_7_SERIALIZED_MSB: vector<u8> = x"0000000000000000000000000000000000000000000000000000000000000007";
640
- #[test_only]
641
- const FR_VAL_7_NEG_SERIALIZED_LSB: vector<u8> = x"fafffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73";
642
-
643
- #[test(fx = @std)]
644
- fun test_fr(fx: signer) {
645
- enable_cryptography_algebra_natives(&fx);
646
-
647
- // Constants.
648
- assert!(R_SERIALIZED == order<Fr>(), 1);
649
-
650
- // Serialization/deserialization.
651
- let val_0 = zero<Fr>();
652
- let val_1 = one<Fr>();
653
- assert!(FR_VAL_0_SERIALIZED_LSB == serialize<Fr, FormatFrLsb>(&val_0), 1);
654
- assert!(FR_VAL_1_SERIALIZED_LSB == serialize<Fr, FormatFrLsb>(&val_1), 1);
655
- let val_7 = from_u64<Fr>(7);
656
- let val_7_2nd = std::option::extract(&mut deserialize<Fr, FormatFrLsb>(&FR_VAL_7_SERIALIZED_LSB));
657
- let val_7_3rd = std::option::extract(&mut deserialize<Fr, FormatFrMsb>(&FR_VAL_7_SERIALIZED_MSB));
658
- assert!(eq(&val_7, &val_7_2nd), 1);
659
- assert!(eq(&val_7, &val_7_3rd), 1);
660
- assert!(FR_VAL_7_SERIALIZED_LSB == serialize<Fr, FormatFrLsb>(&val_7), 1);
661
- assert!(FR_VAL_7_SERIALIZED_MSB == serialize<Fr, FormatFrMsb>(&val_7), 1);
662
-
663
- // Deserialization should fail if given a byte array of right size but the value is not a member.
664
- assert!(std::option::is_none(&deserialize<Fr, FormatFrLsb>(&x"01000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73")), 1);
665
- assert!(std::option::is_none(&deserialize<Fr, FormatFrMsb>(&x"73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001")), 1);
666
-
667
- // Deserialization should fail if given a byte array of wrong size.
668
- assert!(std::option::is_none(&deserialize<Fr, FormatFrLsb>(&x"01000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed7300")), 1);
669
- assert!(std::option::is_none(&deserialize<Fr, FormatFrMsb>(&x"0073eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001")), 1);
670
- assert!(std::option::is_none(&deserialize<Fr, FormatFrLsb>(&x"ffff")), 1);
671
- assert!(std::option::is_none(&deserialize<Fr, FormatFrMsb>(&x"ffff")), 1);
672
-
673
- // Negation.
674
- let val_minus_7 = neg(&val_7);
675
- assert!(FR_VAL_7_NEG_SERIALIZED_LSB == serialize<Fr, FormatFrLsb>(&val_minus_7), 1);
676
-
677
- // Addition.
678
- let val_9 = from_u64<Fr>(9);
679
- let val_2 = from_u64<Fr>(2);
680
- assert!(eq(&val_2, &add(&val_minus_7, &val_9)), 1);
681
-
682
- // Subtraction.
683
- assert!(eq(&val_9, &sub(&val_2, &val_minus_7)), 1);
684
-
685
- // Multiplication.
686
- let val_63 = from_u64<Fr>(63);
687
- assert!(eq(&val_63, &mul(&val_7, &val_9)), 1);
688
-
689
- // division.
690
- let val_0 = from_u64<Fr>(0);
691
- assert!(eq(&val_7, &std::option::extract(&mut div(&val_63, &val_9))), 1);
692
- assert!(std::option::is_none(&div(&val_63, &val_0)), 1);
693
-
694
- // Inversion.
695
- assert!(eq(&val_minus_7, &neg(&val_7)), 1);
696
- assert!(std::option::is_none(&inv(&val_0)), 1);
697
-
698
- // Squaring.
699
- let val_x = rand_insecure<Fr>();
700
- assert!(eq(&mul(&val_x, &val_x), &sqr(&val_x)), 1);
701
- }
702
-
703
- #[test(fx = @std)]
704
- fun test_pairing(fx: signer) {
705
- enable_cryptography_algebra_natives(&fx);
706
-
707
- // pairing(a*P,b*Q) == (a*b)*pairing(P,Q)
708
- let element_p = rand_insecure<G1>();
709
- let element_q = rand_insecure<G2>();
710
- let a = rand_insecure<Fr>();
711
- let b = rand_insecure<Fr>();
712
- let gt_element = pairing<G1, G2,Gt>(&scalar_mul(&element_p, &a), &scalar_mul(&element_q, &b));
713
- let gt_element_another = scalar_mul(&pairing<G1, G2,Gt>(&element_p, &element_q), &mul(&a, &b));
714
- assert!(eq(&gt_element, &gt_element_another), 1);
715
- }
716
-
717
- #[test(fx = @std)]
718
- fun test_multi_pairing(fx: signer) {
719
- enable_cryptography_algebra_natives(&fx);
720
-
721
- // Will compute e(a0*P0,b0*Q0)+e(a1*P1,b1*Q1)+e(a2*P2,b2*Q2).
722
- let a0 = rand_insecure<Fr>();
723
- let a1 = rand_insecure<Fr>();
724
- let a2 = rand_insecure<Fr>();
725
- let element_p0 = rand_insecure<G1>();
726
- let element_p1 = rand_insecure<G1>();
727
- let element_p2 = rand_insecure<G1>();
728
- let p0_a0 = scalar_mul(&element_p0, &a0);
729
- let p1_a1 = scalar_mul(&element_p1, &a1);
730
- let p2_a2 = scalar_mul(&element_p2, &a2);
731
- let b0 = rand_insecure<Fr>();
732
- let b1 = rand_insecure<Fr>();
733
- let b2 = rand_insecure<Fr>();
734
- let element_q0 = rand_insecure<G2>();
735
- let element_q1 = rand_insecure<G2>();
736
- let element_q2 = rand_insecure<G2>();
737
- let q0_b0 = scalar_mul(&element_q0, &b0);
738
- let q1_b1 = scalar_mul(&element_q1, &b1);
739
- let q2_b2 = scalar_mul(&element_q2, &b2);
740
-
741
- // Naive method.
742
- let n0 = pairing<G1, G2,Gt>(&p0_a0, &q0_b0);
743
- let n1 = pairing<G1, G2,Gt>(&p1_a1, &q1_b1);
744
- let n2 = pairing<G1, G2,Gt>(&p2_a2, &q2_b2);
745
- let n = zero<Gt>();
746
- n = add(&n, &n0);
747
- n = add(&n, &n1);
748
- n = add(&n, &n2);
749
-
750
- // Efficient API.
751
- let m = multi_pairing<G1, G2, Gt>(&vector[p0_a0, p1_a1, p2_a2], &vector[q0_b0, q1_b1, q2_b2]);
752
- assert!(eq(&n, &m), 1);
753
- }
754
-
755
- #[test(fx = @std)]
756
- #[expected_failure(abort_code = 0x010002, location = aptos_std::crypto_algebra)]
757
- fun test_multi_pairing_should_abort_when_sizes_mismatch(fx: signer) {
758
- enable_cryptography_algebra_natives(&fx);
759
- let g1_elements = vector[rand_insecure<G1>()];
760
- let g2_elements = vector[rand_insecure<G2>(), rand_insecure<G2>()];
761
- multi_pairing<G1, G2, Gt>(&g1_elements, &g2_elements);
762
- }
763
-
764
- #[test(fx = @std)]
765
- #[expected_failure(abort_code = 0x010002, location = aptos_std::crypto_algebra)]
766
- fun test_multi_scalar_mul_should_abort_when_sizes_mismatch(fx: signer) {
767
- enable_cryptography_algebra_natives(&fx);
768
- let elements = vector[rand_insecure<G1>()];
769
- let scalars = vector[rand_insecure<Fr>(), rand_insecure<Fr>()];
770
- multi_scalar_mul(&elements, &scalars);
771
- }
772
-
773
- #[test_only]
774
- /// The maximum number of `G1` elements that can be created in a transaction,
775
- /// calculated by the current memory limit (1MB) and the in-mem G1 representation size (144 bytes per element).
776
- const G1_NUM_MAX: u64 = 1048576 / 144;
777
-
778
- #[test(fx = @std)]
779
- fun test_memory_limit(fx: signer) {
780
- enable_cryptography_algebra_natives(&fx);
781
- let remaining = G1_NUM_MAX;
782
- while (remaining > 0) {
783
- zero<G1>();
784
- remaining = remaining - 1;
785
- }
786
- }
787
-
788
- #[test(fx = @std)]
789
- #[expected_failure(abort_code = 0x090003, location = std::crypto_algebra)]
790
- fun test_memory_limit_exceeded_with_g1(fx: signer) {
791
- enable_cryptography_algebra_natives(&fx);
792
- let remaining = G1_NUM_MAX + 1;
793
- while (remaining > 0) {
794
- zero<G1>();
795
- remaining = remaining - 1;
796
- }
797
- }
798
-
799
- //
800
- // (Tests end here.)
801
- //
802
- }