@aptos-labs/ts-sdk 1.27.0 → 1.27.1-zeta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (793) hide show
  1. package/dist/common/{accountAddress-C7mFGxlX.d.ts → accountAddress-BeSCq9i_.d.ts} +8 -1
  2. package/dist/common/chunk-CZKNJSPC.js +46 -0
  3. package/dist/common/chunk-CZKNJSPC.js.map +1 -0
  4. package/dist/common/cli/index.d.ts +1 -1
  5. package/dist/common/cli/index.js +453 -1
  6. package/dist/common/cli/index.js.map +1 -1
  7. package/dist/common/index.d.ts +252 -19
  8. package/dist/common/index.js +12738 -412
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/esm/account/Account.mjs +70 -1
  11. package/dist/esm/account/Ed25519Account.mjs +68 -1
  12. package/dist/esm/account/EphemeralKeyPair.mjs +49 -1
  13. package/dist/esm/account/FederatedKeylessAccount.d.mts +177 -0
  14. package/dist/esm/account/FederatedKeylessAccount.mjs +71 -0
  15. package/dist/esm/account/KeylessAccount.d.mts +29 -3
  16. package/dist/esm/account/KeylessAccount.mjs +71 -1
  17. package/dist/esm/account/MultiKeyAccount.mjs +70 -1
  18. package/dist/esm/account/SingleKeyAccount.mjs +68 -1
  19. package/dist/esm/account/index.d.mts +1 -1
  20. package/dist/esm/account/index.mjs +91 -1
  21. package/dist/esm/api/account.mjs +81 -1
  22. package/dist/esm/api/ans.mjs +91 -1
  23. package/dist/esm/api/aptos.d.mts +2 -0
  24. package/dist/esm/api/aptos.mjs +124 -1
  25. package/dist/esm/api/aptosConfig.mjs +9 -1
  26. package/dist/esm/api/coin.mjs +90 -1
  27. package/dist/esm/api/digitalAsset.mjs +91 -1
  28. package/dist/esm/api/event.mjs +58 -1
  29. package/dist/esm/api/faucet.mjs +57 -1
  30. package/dist/esm/api/fungibleAsset.mjs +91 -1
  31. package/dist/esm/api/general.mjs +89 -1
  32. package/dist/esm/api/index.d.mts +2 -0
  33. package/dist/esm/api/index.mjs +128 -1
  34. package/dist/esm/api/keyless.d.mts +15 -16
  35. package/dist/esm/api/keyless.mjs +81 -1
  36. package/dist/esm/api/object.mjs +58 -1
  37. package/dist/esm/api/staking.mjs +58 -1
  38. package/dist/esm/api/table.mjs +36 -1
  39. package/dist/esm/api/transaction.mjs +98 -1
  40. package/dist/esm/api/transactionSubmission/build.mjs +89 -1
  41. package/dist/esm/api/transactionSubmission/helpers.mjs +9 -1
  42. package/dist/esm/api/transactionSubmission/management.mjs +93 -1
  43. package/dist/esm/api/transactionSubmission/sign.mjs +113 -1
  44. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  45. package/dist/esm/api/transactionSubmission/simulate.mjs +90 -1
  46. package/dist/esm/api/transactionSubmission/submit.mjs +90 -1
  47. package/dist/esm/api/utils.mjs +34 -1
  48. package/dist/esm/bcs/consts.mjs +17 -1
  49. package/dist/esm/bcs/deserializer.d.mts +6 -0
  50. package/dist/esm/bcs/deserializer.mjs +8 -1
  51. package/dist/esm/bcs/index.mjs +57 -1
  52. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +12 -1
  53. package/dist/esm/bcs/serializable/fixedBytes.mjs +11 -1
  54. package/dist/esm/bcs/serializable/movePrimitives.mjs +25 -1
  55. package/dist/esm/bcs/serializable/moveStructs.mjs +18 -1
  56. package/dist/esm/bcs/serializer.mjs +18 -1
  57. package/dist/esm/chunk-26HCJOBL.mjs +23 -0
  58. package/dist/esm/{chunk-BOYYQAB4.mjs.map → chunk-26HCJOBL.mjs.map} +1 -1
  59. package/dist/esm/chunk-2CPL3GJ7.mjs +132 -0
  60. package/dist/esm/{chunk-MXCLTDVQ.mjs.map → chunk-2CPL3GJ7.mjs.map} +1 -1
  61. package/dist/esm/chunk-2LHXYQXO.mjs +673 -0
  62. package/dist/esm/{chunk-U3U5DCSJ.mjs.map → chunk-2LHXYQXO.mjs.map} +1 -1
  63. package/dist/esm/chunk-2P7TONQL.mjs +36 -0
  64. package/dist/esm/{chunk-LYHKOJUH.mjs.map → chunk-2P7TONQL.mjs.map} +1 -1
  65. package/dist/esm/chunk-2UN35LUX.mjs +84 -0
  66. package/dist/esm/{chunk-J6ANJ7FB.mjs.map → chunk-2UN35LUX.mjs.map} +1 -1
  67. package/dist/esm/chunk-2ZOJUUXC.mjs +121 -0
  68. package/dist/esm/chunk-2ZOJUUXC.mjs.map +1 -0
  69. package/dist/esm/chunk-3NHOLSZE.mjs +65 -0
  70. package/dist/esm/chunk-3NHOLSZE.mjs.map +1 -0
  71. package/dist/esm/chunk-3V5WGOZH.mjs +118 -0
  72. package/dist/esm/{chunk-SEHLOI3A.mjs.map → chunk-3V5WGOZH.mjs.map} +1 -1
  73. package/dist/esm/chunk-3WDVQYWL.mjs +51 -0
  74. package/dist/esm/{chunk-ZYXAQCTP.mjs.map → chunk-3WDVQYWL.mjs.map} +1 -1
  75. package/dist/esm/chunk-4FVXWQGX.mjs +211 -0
  76. package/dist/esm/chunk-4FVXWQGX.mjs.map +1 -0
  77. package/dist/esm/chunk-4K4TZF3H.mjs +38 -0
  78. package/dist/esm/{chunk-L36ZHC7J.mjs.map → chunk-4K4TZF3H.mjs.map} +1 -1
  79. package/dist/esm/chunk-4SPKF2Q3.mjs +91 -0
  80. package/dist/esm/{chunk-QNRRPDI4.mjs.map → chunk-4SPKF2Q3.mjs.map} +1 -1
  81. package/dist/esm/chunk-5J7P2N3A.mjs +92 -0
  82. package/dist/esm/{chunk-NMD45OTM.mjs.map → chunk-5J7P2N3A.mjs.map} +1 -1
  83. package/dist/esm/chunk-64OZO6BS.mjs +54 -0
  84. package/dist/esm/{chunk-76HTG7Z7.mjs.map → chunk-64OZO6BS.mjs.map} +1 -1
  85. package/dist/esm/chunk-65TWSJTX.mjs +252 -0
  86. package/dist/esm/{chunk-S47LIZ6P.mjs.map → chunk-65TWSJTX.mjs.map} +1 -1
  87. package/dist/esm/chunk-67J3MGN7.mjs +195 -0
  88. package/dist/esm/{chunk-NCGSRBA7.mjs.map → chunk-67J3MGN7.mjs.map} +1 -1
  89. package/dist/esm/chunk-6AO2MJMN.mjs +49 -0
  90. package/dist/esm/{chunk-P5V7OZNN.mjs.map → chunk-6AO2MJMN.mjs.map} +1 -1
  91. package/dist/esm/chunk-6BI4XTJN.mjs +22 -0
  92. package/dist/esm/{chunk-MLDQ2TY2.mjs.map → chunk-6BI4XTJN.mjs.map} +1 -1
  93. package/dist/esm/chunk-6J7C4S3H.mjs +255 -0
  94. package/dist/esm/chunk-6J7C4S3H.mjs.map +1 -0
  95. package/dist/esm/chunk-6LK3MDX7.mjs +578 -0
  96. package/dist/esm/{chunk-CNIJWO2B.mjs.map → chunk-6LK3MDX7.mjs.map} +1 -1
  97. package/dist/esm/chunk-6SEUVXPK.mjs +250 -0
  98. package/dist/esm/chunk-6SEUVXPK.mjs.map +1 -0
  99. package/dist/esm/chunk-6XNCA4KS.mjs +33 -0
  100. package/dist/esm/{chunk-IVATNKQ3.mjs.map → chunk-6XNCA4KS.mjs.map} +1 -1
  101. package/dist/esm/chunk-7CNDQXDM.mjs +429 -0
  102. package/dist/esm/{chunk-5GWYK4ML.mjs.map → chunk-7CNDQXDM.mjs.map} +1 -1
  103. package/dist/esm/chunk-7F5TMJVQ.mjs +410 -0
  104. package/dist/esm/{chunk-SWEFVHOU.mjs.map → chunk-7F5TMJVQ.mjs.map} +1 -1
  105. package/dist/esm/chunk-7PLTJUOO.mjs +66 -0
  106. package/dist/esm/{chunk-NYS75GNZ.mjs.map → chunk-7PLTJUOO.mjs.map} +1 -1
  107. package/dist/esm/chunk-AC3OGAL6.mjs +87 -0
  108. package/dist/esm/{chunk-U6Z4FNB7.mjs.map → chunk-AC3OGAL6.mjs.map} +1 -1
  109. package/dist/esm/chunk-ACAXM6CI.mjs +32 -0
  110. package/dist/esm/{chunk-H6YNXJNF.mjs.map → chunk-ACAXM6CI.mjs.map} +1 -1
  111. package/dist/esm/chunk-AF7GBOBQ.mjs +315 -0
  112. package/dist/esm/{chunk-PYUM5CVT.mjs.map → chunk-AF7GBOBQ.mjs.map} +1 -1
  113. package/dist/esm/chunk-ANOJYMO2.mjs +94 -0
  114. package/dist/esm/{chunk-G5MGSV7Y.mjs.map → chunk-ANOJYMO2.mjs.map} +1 -1
  115. package/dist/esm/chunk-AW4P5HCX.mjs +53 -0
  116. package/dist/esm/{chunk-3LH2ZHWN.mjs.map → chunk-AW4P5HCX.mjs.map} +1 -1
  117. package/dist/esm/chunk-B673XLJY.mjs +309 -0
  118. package/dist/esm/{chunk-Q7MD4V7H.mjs.map → chunk-B673XLJY.mjs.map} +1 -1
  119. package/dist/esm/chunk-BBCNBKEC.mjs +104 -0
  120. package/dist/esm/chunk-BBCNBKEC.mjs.map +1 -0
  121. package/dist/esm/chunk-BEEISUWP.mjs +42 -0
  122. package/dist/esm/{chunk-GHTDMP7S.mjs.map → chunk-BEEISUWP.mjs.map} +1 -1
  123. package/dist/esm/chunk-BMXV6WQK.mjs +463 -0
  124. package/dist/esm/{chunk-2BHMYVC6.mjs.map → chunk-BMXV6WQK.mjs.map} +1 -1
  125. package/dist/esm/chunk-CIPO346F.mjs +35 -0
  126. package/dist/esm/{chunk-JDTQJUGX.mjs.map → chunk-CIPO346F.mjs.map} +1 -1
  127. package/dist/esm/chunk-CZ22MKHG.mjs +41 -0
  128. package/dist/esm/{chunk-ZWUC7YTU.mjs.map → chunk-CZ22MKHG.mjs.map} +1 -1
  129. package/dist/esm/chunk-DNMI5PWU.mjs +100 -0
  130. package/dist/esm/{chunk-CH7QZLYK.mjs.map → chunk-DNMI5PWU.mjs.map} +1 -1
  131. package/dist/esm/chunk-DPM4FHN4.mjs +33 -0
  132. package/dist/esm/{chunk-WB62ASAQ.mjs.map → chunk-DPM4FHN4.mjs.map} +1 -1
  133. package/dist/esm/chunk-DXGNWBVW.mjs +127 -0
  134. package/dist/esm/{chunk-G7UNU5GI.mjs.map → chunk-DXGNWBVW.mjs.map} +1 -1
  135. package/dist/esm/chunk-EKY7QRXH.mjs +79 -0
  136. package/dist/esm/{chunk-DWUY5RQ3.mjs.map → chunk-EKY7QRXH.mjs.map} +1 -1
  137. package/dist/esm/chunk-EPUYKFAT.mjs +73 -0
  138. package/dist/esm/{chunk-XVDG55LQ.mjs.map → chunk-EPUYKFAT.mjs.map} +1 -1
  139. package/dist/esm/chunk-EYHRMZPO.mjs +34 -0
  140. package/dist/esm/{chunk-AH44UPM4.mjs.map → chunk-EYHRMZPO.mjs.map} +1 -1
  141. package/dist/esm/chunk-FBF77YDQ.mjs +243 -0
  142. package/dist/esm/{chunk-QDTSJJUI.mjs.map → chunk-FBF77YDQ.mjs.map} +1 -1
  143. package/dist/esm/chunk-FBRETS2O.mjs +74 -0
  144. package/dist/esm/{chunk-VP5OE7Y2.mjs.map → chunk-FBRETS2O.mjs.map} +1 -1
  145. package/dist/esm/chunk-FH6RKWVF.mjs +72 -0
  146. package/dist/esm/{chunk-IJMBUEJB.mjs.map → chunk-FH6RKWVF.mjs.map} +1 -1
  147. package/dist/esm/chunk-G2VEDGO7.mjs +15 -0
  148. package/dist/esm/{chunk-WV5AD4IE.mjs.map → chunk-G2VEDGO7.mjs.map} +1 -1
  149. package/dist/esm/chunk-GDE3IBAB.mjs +126 -0
  150. package/dist/esm/{chunk-JLR6A2WV.mjs.map → chunk-GDE3IBAB.mjs.map} +1 -1
  151. package/dist/esm/chunk-GKF3HFY2.mjs +232 -0
  152. package/dist/esm/{chunk-UWPO7WWS.mjs.map → chunk-GKF3HFY2.mjs.map} +1 -1
  153. package/dist/esm/chunk-GMGJ6Q5P.mjs +166 -0
  154. package/dist/esm/{chunk-MDHO3KVQ.mjs.map → chunk-GMGJ6Q5P.mjs.map} +1 -1
  155. package/dist/esm/chunk-GWS7OLIU.mjs +173 -0
  156. package/dist/esm/{chunk-YPHH6CAO.mjs.map → chunk-GWS7OLIU.mjs.map} +1 -1
  157. package/dist/esm/chunk-HCIGCJ62.mjs +70 -0
  158. package/dist/esm/{chunk-CD33AKWQ.mjs.map → chunk-HCIGCJ62.mjs.map} +1 -1
  159. package/dist/esm/chunk-I2ZYQVA3.mjs +142 -0
  160. package/dist/esm/{chunk-J6XDOBLU.mjs.map → chunk-I2ZYQVA3.mjs.map} +1 -1
  161. package/dist/esm/chunk-I5BTSNTY.mjs +89 -0
  162. package/dist/esm/{chunk-623AQCWU.mjs.map → chunk-I5BTSNTY.mjs.map} +1 -1
  163. package/dist/esm/chunk-IUC6XUYA.mjs +346 -0
  164. package/dist/esm/{chunk-OHRL766V.mjs.map → chunk-IUC6XUYA.mjs.map} +1 -1
  165. package/dist/esm/chunk-IX2XMCWZ.mjs +22 -0
  166. package/dist/esm/{chunk-MQGW234H.mjs.map → chunk-IX2XMCWZ.mjs.map} +1 -1
  167. package/dist/esm/chunk-J24CDBEH.mjs +91 -0
  168. package/dist/esm/{chunk-W5MKG4FW.mjs.map → chunk-J24CDBEH.mjs.map} +1 -1
  169. package/dist/esm/chunk-JKM62HRP.mjs +109 -0
  170. package/dist/esm/{chunk-52KPINA4.mjs.map → chunk-JKM62HRP.mjs.map} +1 -1
  171. package/dist/esm/chunk-JRVQNM7A.mjs +441 -0
  172. package/dist/esm/{chunk-55X7L6ZK.mjs.map → chunk-JRVQNM7A.mjs.map} +1 -1
  173. package/dist/esm/chunk-JWEFNE2S.mjs +121 -0
  174. package/dist/esm/{chunk-IVVWQKCF.mjs.map → chunk-JWEFNE2S.mjs.map} +1 -1
  175. package/dist/esm/chunk-K77JV6D7.mjs +414 -0
  176. package/dist/esm/{chunk-KQGQ5EUJ.mjs.map → chunk-K77JV6D7.mjs.map} +1 -1
  177. package/dist/esm/chunk-KWX2PWAP.mjs +349 -0
  178. package/dist/esm/{chunk-MLL54PYO.mjs.map → chunk-KWX2PWAP.mjs.map} +1 -1
  179. package/dist/esm/chunk-L3E7YJBM.mjs +25 -0
  180. package/dist/esm/{chunk-76OH2Z4Q.mjs.map → chunk-L3E7YJBM.mjs.map} +1 -1
  181. package/dist/esm/chunk-LD2CRNA2.mjs +265 -0
  182. package/dist/esm/{chunk-UNFMS77T.mjs.map → chunk-LD2CRNA2.mjs.map} +1 -1
  183. package/dist/esm/chunk-LITCPMVC.mjs +41 -0
  184. package/dist/esm/{chunk-TDGQGILY.mjs.map → chunk-LITCPMVC.mjs.map} +1 -1
  185. package/dist/esm/chunk-LMUCX6RP.mjs +43 -0
  186. package/dist/esm/{chunk-SOCR2CUV.mjs.map → chunk-LMUCX6RP.mjs.map} +1 -1
  187. package/dist/esm/chunk-LMUNGBGS.mjs +58 -0
  188. package/dist/esm/{chunk-3NRBTP3S.mjs.map → chunk-LMUNGBGS.mjs.map} +1 -1
  189. package/dist/esm/chunk-M55VZUKD.mjs +64 -0
  190. package/dist/esm/chunk-M55VZUKD.mjs.map +1 -0
  191. package/dist/esm/chunk-MQALTYRJ.mjs +127 -0
  192. package/dist/esm/{chunk-MKQQWM4G.mjs.map → chunk-MQALTYRJ.mjs.map} +1 -1
  193. package/dist/esm/chunk-MXMVEGUO.mjs +93 -0
  194. package/dist/esm/{chunk-2ICPZGFR.mjs.map → chunk-MXMVEGUO.mjs.map} +1 -1
  195. package/dist/esm/chunk-MY6PZIXF.mjs +254 -0
  196. package/dist/esm/{chunk-U2MRTO2K.mjs.map → chunk-MY6PZIXF.mjs.map} +1 -1
  197. package/dist/esm/chunk-N6K44CGJ.mjs +7 -0
  198. package/dist/esm/{chunk-U74ZLMCT.mjs.map → chunk-N6K44CGJ.mjs.map} +1 -1
  199. package/dist/esm/{chunk-VHNX2NUR.mjs → chunk-NFA2AU5E.mjs} +352 -29
  200. package/dist/esm/{chunk-VHNX2NUR.mjs.map → chunk-NFA2AU5E.mjs.map} +1 -1
  201. package/dist/esm/chunk-NGUFBDTH.mjs +129 -0
  202. package/dist/esm/{chunk-GXTEJ7NO.mjs.map → chunk-NGUFBDTH.mjs.map} +1 -1
  203. package/dist/esm/chunk-NMKCJNQM.mjs +20 -0
  204. package/dist/esm/{chunk-F7EMGK4M.mjs.map → chunk-NMKCJNQM.mjs.map} +1 -1
  205. package/dist/esm/chunk-NUA7L6XF.mjs +120 -0
  206. package/dist/esm/{chunk-MILJW2HW.mjs.map → chunk-NUA7L6XF.mjs.map} +1 -1
  207. package/dist/esm/chunk-NYELBSVO.mjs +172 -0
  208. package/dist/esm/chunk-NYELBSVO.mjs.map +1 -0
  209. package/dist/esm/chunk-OL2YPOXZ.mjs +349 -0
  210. package/dist/esm/{chunk-UXNNTPRT.mjs.map → chunk-OL2YPOXZ.mjs.map} +1 -1
  211. package/dist/esm/chunk-OR7TEZ25.mjs +16 -0
  212. package/dist/esm/chunk-OR7TEZ25.mjs.map +1 -0
  213. package/dist/esm/chunk-P3RTJ6VC.mjs +324 -0
  214. package/dist/esm/{chunk-SUJLWCRN.mjs.map → chunk-P3RTJ6VC.mjs.map} +1 -1
  215. package/dist/esm/chunk-PLUMRBKI.mjs +241 -0
  216. package/dist/esm/{chunk-NWOMSL6K.mjs.map → chunk-PLUMRBKI.mjs.map} +1 -1
  217. package/dist/esm/chunk-PNGNBHMD.mjs +44 -0
  218. package/dist/esm/{chunk-HKMG3LZX.mjs.map → chunk-PNGNBHMD.mjs.map} +1 -1
  219. package/dist/esm/chunk-PSRD6U34.mjs +19 -0
  220. package/dist/esm/{chunk-V753QNIE.mjs.map → chunk-PSRD6U34.mjs.map} +1 -1
  221. package/dist/esm/chunk-PSW5OBY2.mjs +359 -0
  222. package/dist/esm/chunk-PSW5OBY2.mjs.map +1 -0
  223. package/dist/esm/chunk-PU5AFUX3.mjs +52 -0
  224. package/dist/esm/{chunk-LR65XHSF.mjs.map → chunk-PU5AFUX3.mjs.map} +1 -1
  225. package/dist/esm/chunk-QMM2KL6C.mjs +12 -0
  226. package/dist/esm/{chunk-LG7RJQ57.mjs.map → chunk-QMM2KL6C.mjs.map} +1 -1
  227. package/dist/esm/chunk-S7KNZC2A.mjs +45 -0
  228. package/dist/esm/{chunk-DDQKF4ZO.mjs.map → chunk-S7KNZC2A.mjs.map} +1 -1
  229. package/dist/esm/chunk-SBB4YEPT.mjs +17 -0
  230. package/dist/esm/{chunk-56CNRT2K.mjs.map → chunk-SBB4YEPT.mjs.map} +1 -1
  231. package/dist/esm/chunk-SIJELMDP.mjs +29 -0
  232. package/dist/esm/{chunk-6EMN3BOV.mjs.map → chunk-SIJELMDP.mjs.map} +1 -1
  233. package/dist/esm/chunk-SRKSXJ5U.mjs +242 -0
  234. package/dist/esm/{chunk-O4BBULNE.mjs.map → chunk-SRKSXJ5U.mjs.map} +1 -1
  235. package/dist/esm/chunk-U6N546EH.mjs +43 -0
  236. package/dist/esm/{chunk-4UXGDPFI.mjs.map → chunk-U6N546EH.mjs.map} +1 -1
  237. package/dist/esm/chunk-UZLU45X7.mjs +274 -0
  238. package/dist/esm/{chunk-WF6HCH5G.mjs.map → chunk-UZLU45X7.mjs.map} +1 -1
  239. package/dist/esm/chunk-UZXDD3QH.mjs +327 -0
  240. package/dist/esm/{chunk-A63SMUOU.mjs.map → chunk-UZXDD3QH.mjs.map} +1 -1
  241. package/dist/esm/chunk-V2LEZDNS.mjs +29 -0
  242. package/dist/esm/{chunk-WRRQ7L5K.mjs.map → chunk-V2LEZDNS.mjs.map} +1 -1
  243. package/dist/esm/chunk-WKNU6EPA.mjs +40 -0
  244. package/dist/esm/{chunk-OOVYAUSQ.mjs.map → chunk-WKNU6EPA.mjs.map} +1 -1
  245. package/dist/esm/chunk-WVT25KQR.mjs +51 -0
  246. package/dist/esm/{chunk-ZXPBRVOA.mjs.map → chunk-WVT25KQR.mjs.map} +1 -1
  247. package/dist/esm/chunk-XBY4UM6M.mjs +206 -0
  248. package/dist/esm/{chunk-7LVDK4VF.mjs.map → chunk-XBY4UM6M.mjs.map} +1 -1
  249. package/dist/esm/chunk-XUNU6GVQ.mjs +319 -0
  250. package/dist/esm/{chunk-LDTF3ABK.mjs.map → chunk-XUNU6GVQ.mjs.map} +1 -1
  251. package/dist/esm/chunk-YJJTCGDT.mjs +49 -0
  252. package/dist/esm/{chunk-YDZBU2DJ.mjs.map → chunk-YJJTCGDT.mjs.map} +1 -1
  253. package/dist/esm/chunk-YPHGPN2P.mjs +33 -0
  254. package/dist/esm/{chunk-ZOMXBB6Z.mjs.map → chunk-YPHGPN2P.mjs.map} +1 -1
  255. package/dist/esm/chunk-YQPKNTIN.mjs +23 -0
  256. package/dist/esm/{chunk-YUNDX5I7.mjs.map → chunk-YQPKNTIN.mjs.map} +1 -1
  257. package/dist/esm/chunk-YSSWVBLZ.mjs +135 -0
  258. package/dist/esm/{chunk-HMDXJ46S.mjs.map → chunk-YSSWVBLZ.mjs.map} +1 -1
  259. package/dist/esm/chunk-YV7M4CFP.mjs +137 -0
  260. package/dist/esm/{chunk-BCUSI3N6.mjs.map → chunk-YV7M4CFP.mjs.map} +1 -1
  261. package/dist/esm/chunk-ZR36Y2RX.mjs +93 -0
  262. package/dist/esm/{chunk-UXQ6B5Y4.mjs.map → chunk-ZR36Y2RX.mjs.map} +1 -1
  263. package/dist/esm/chunk-ZZA2BSOF.mjs +97 -0
  264. package/dist/esm/{chunk-J32MGYNW.mjs.map → chunk-ZZA2BSOF.mjs.map} +1 -1
  265. package/dist/esm/cli/index.mjs +12 -1
  266. package/dist/esm/cli/localNode.mjs +8 -1
  267. package/dist/esm/cli/move.mjs +7 -1
  268. package/dist/esm/client/core.mjs +28 -1
  269. package/dist/esm/client/get.mjs +33 -1
  270. package/dist/esm/client/index.mjs +56 -1
  271. package/dist/esm/client/post.mjs +37 -1
  272. package/dist/esm/client/types.mjs +8 -1
  273. package/dist/esm/core/account/index.mjs +20 -1
  274. package/dist/esm/core/account/utils/address.mjs +18 -1
  275. package/dist/esm/core/account/utils/index.mjs +19 -1
  276. package/dist/esm/core/accountAddress.mjs +15 -1
  277. package/dist/esm/core/authenticationKey.mjs +14 -1
  278. package/dist/esm/core/common.mjs +7 -1
  279. package/dist/esm/core/crypto/ed25519.mjs +31 -1
  280. package/dist/esm/core/crypto/ephemeral.mjs +28 -1
  281. package/dist/esm/core/crypto/federatedKeyless.d.mts +97 -0
  282. package/dist/esm/core/crypto/federatedKeyless.mjs +43 -0
  283. package/dist/esm/core/crypto/federatedKeyless.mjs.map +1 -0
  284. package/dist/esm/core/crypto/hdKey.mjs +25 -1
  285. package/dist/esm/core/crypto/index.mjs +143 -1
  286. package/dist/esm/core/crypto/keyless.mjs +71 -1
  287. package/dist/esm/core/crypto/multiEd25519.mjs +28 -1
  288. package/dist/esm/core/crypto/multiKey.mjs +47 -1
  289. package/dist/esm/core/crypto/poseidon.mjs +15 -1
  290. package/dist/esm/core/crypto/privateKey.mjs +1 -1
  291. package/dist/esm/core/crypto/proof.mjs +19 -1
  292. package/dist/esm/core/crypto/publicKey.mjs +21 -1
  293. package/dist/esm/core/crypto/secp256k1.mjs +27 -1
  294. package/dist/esm/core/crypto/signature.mjs +19 -1
  295. package/dist/esm/core/crypto/singleKey.mjs +46 -1
  296. package/dist/esm/core/crypto/utils.mjs +9 -1
  297. package/dist/esm/core/hex.mjs +10 -1
  298. package/dist/esm/core/index.mjs +170 -1
  299. package/dist/esm/index.d.mts +3 -1
  300. package/dist/esm/index.mjs +673 -1
  301. package/dist/esm/internal/account.mjs +112 -1
  302. package/dist/esm/internal/ans.mjs +128 -1
  303. package/dist/esm/internal/coin.mjs +89 -1
  304. package/dist/esm/internal/digitalAsset.mjs +135 -1
  305. package/dist/esm/internal/event.mjs +61 -1
  306. package/dist/esm/internal/faucet.mjs +56 -1
  307. package/dist/esm/internal/fungibleAsset.mjs +95 -1
  308. package/dist/esm/internal/general.mjs +41 -1
  309. package/dist/esm/internal/keyless.d.mts +14 -3
  310. package/dist/esm/internal/keyless.mjs +86 -1
  311. package/dist/esm/internal/object.mjs +57 -1
  312. package/dist/esm/internal/staking.mjs +59 -1
  313. package/dist/esm/internal/table.mjs +36 -1
  314. package/dist/esm/internal/transaction.mjs +55 -1
  315. package/dist/esm/internal/transactionSubmission.mjs +106 -1
  316. package/dist/esm/internal/view.mjs +90 -1
  317. package/dist/esm/transactions/authenticator/account.mjs +57 -1
  318. package/dist/esm/transactions/authenticator/index.mjs +76 -1
  319. package/dist/esm/transactions/authenticator/transaction.mjs +64 -1
  320. package/dist/esm/transactions/index.mjs +291 -1
  321. package/dist/esm/transactions/instances/chainId.mjs +11 -1
  322. package/dist/esm/transactions/instances/identifier.mjs +11 -1
  323. package/dist/esm/transactions/instances/index.mjs +112 -1
  324. package/dist/esm/transactions/instances/moduleId.mjs +54 -1
  325. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +59 -1
  326. package/dist/esm/transactions/instances/rawTransaction.mjs +64 -1
  327. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +20 -1
  328. package/dist/esm/transactions/instances/signedTransaction.mjs +61 -1
  329. package/dist/esm/transactions/instances/simpleTransaction.mjs +59 -1
  330. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  331. package/dist/esm/transactions/instances/transactionPayload.mjs +72 -1
  332. package/dist/esm/transactions/management/accountSequenceNumber.mjs +79 -1
  333. package/dist/esm/transactions/management/asyncQueue.mjs +9 -1
  334. package/dist/esm/transactions/management/index.mjs +99 -1
  335. package/dist/esm/transactions/management/transactionWorker.mjs +95 -1
  336. package/dist/esm/transactions/transactionBuilder/helpers.mjs +93 -1
  337. package/dist/esm/transactions/transactionBuilder/index.mjs +169 -1
  338. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +91 -1
  339. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +73 -1
  340. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +103 -1
  341. package/dist/esm/transactions/typeTag/index.mjs +90 -1
  342. package/dist/esm/transactions/typeTag/parser.mjs +59 -1
  343. package/dist/esm/transactions/types.mjs +1 -1
  344. package/dist/esm/types/generated/queries.mjs +61 -1
  345. package/dist/esm/types/generated/types.mjs +833 -1
  346. package/dist/esm/types/generated/types.mjs.map +1 -1
  347. package/dist/esm/types/index.d.mts +2 -1
  348. package/dist/esm/types/index.mjs +70 -1
  349. package/dist/esm/types/indexer.mjs +1 -1
  350. package/dist/esm/utils/apiEndpoints.mjs +21 -1
  351. package/dist/esm/utils/const.mjs +21 -1
  352. package/dist/esm/utils/helpers.mjs +17 -1
  353. package/dist/esm/utils/index.mjs +70 -1
  354. package/dist/esm/utils/memoize.mjs +9 -1
  355. package/dist/esm/utils/normalizeBundle.mjs +19 -1
  356. package/dist/esm/version.d.mts +1 -1
  357. package/dist/esm/version.mjs +7 -1
  358. package/package.json +6 -3
  359. package/src/account/FederatedKeylessAccount.ts +328 -0
  360. package/src/account/KeylessAccount.ts +1 -1
  361. package/src/api/keyless.ts +35 -3
  362. package/src/bcs/deserializer.ts +9 -0
  363. package/src/bcs/serializable/moveStructs.ts +2 -1
  364. package/src/core/crypto/federatedKeyless.ts +134 -0
  365. package/src/core/crypto/singleKey.ts +6 -0
  366. package/src/internal/keyless.ts +31 -2
  367. package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +56 -0
  368. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
  369. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
  370. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
  371. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
  372. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
  373. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
  374. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
  375. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
  376. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
  377. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
  378. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
  379. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
  380. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
  381. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
  382. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
  383. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
  384. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
  385. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
  386. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
  387. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
  388. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
  389. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
  390. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
  391. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
  392. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
  393. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
  394. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
  395. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
  396. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
  397. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
  398. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
  399. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
  400. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
  401. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
  402. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
  403. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
  404. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
  405. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
  406. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
  407. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
  408. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
  409. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
  410. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
  411. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
  412. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
  413. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
  414. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
  415. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
  416. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
  417. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
  418. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
  419. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
  420. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
  421. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
  422. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
  423. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
  424. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
  425. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
  426. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
  427. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
  428. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
  429. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
  430. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
  431. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
  432. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
  433. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
  434. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
  435. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
  436. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
  437. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
  438. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
  439. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
  440. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
  441. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
  442. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
  443. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
  444. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
  445. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
  446. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
  447. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
  448. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
  449. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
  450. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
  451. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
  452. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
  453. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
  454. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
  455. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
  456. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
  457. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
  458. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
  459. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
  460. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
  461. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
  462. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
  463. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
  464. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
  465. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
  466. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
  467. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
  468. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
  469. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
  470. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
  471. package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
  472. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
  473. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
  474. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
  475. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
  476. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
  477. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
  478. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
  479. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
  480. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
  481. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
  482. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
  483. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
  484. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
  485. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
  486. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
  487. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
  488. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
  489. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
  490. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
  491. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
  492. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
  493. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
  494. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
  495. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
  496. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
  497. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
  498. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
  499. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
  500. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
  501. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
  502. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
  503. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
  504. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
  505. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
  506. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
  507. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
  508. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
  509. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
  510. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
  511. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
  512. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
  513. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
  514. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
  515. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
  516. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
  517. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
  518. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
  519. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
  520. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
  521. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
  522. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
  523. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
  524. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
  525. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
  526. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
  527. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
  528. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
  529. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
  530. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
  531. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
  532. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
  533. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
  534. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
  535. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
  536. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
  537. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
  538. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
  539. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
  540. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
  541. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
  542. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
  543. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
  544. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
  545. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
  546. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
  547. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
  548. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
  549. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
  550. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
  551. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
  552. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
  553. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
  554. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
  555. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
  556. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
  557. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
  558. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
  559. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
  560. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
  561. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
  562. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
  563. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
  564. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
  565. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
  566. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
  567. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
  568. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
  569. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
  570. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
  571. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
  572. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
  573. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
  574. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
  575. package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
  576. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +1533 -0
  577. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +48 -0
  578. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +66 -0
  579. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +280 -0
  580. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +443 -0
  581. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +204 -0
  582. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +1387 -0
  583. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +394 -0
  584. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +41 -0
  585. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +48 -0
  586. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +367 -0
  587. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +2214 -0
  588. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +101 -0
  589. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +77 -0
  590. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +21 -0
  591. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +5568 -0
  592. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +228 -0
  593. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +121 -0
  594. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +92 -0
  595. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +66 -0
  596. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +100 -0
  597. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +1566 -0
  598. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +176 -0
  599. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +550 -0
  600. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +23 -0
  601. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +68 -0
  602. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +148 -0
  603. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +817 -0
  604. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +312 -0
  605. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +205 -0
  606. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +2477 -0
  607. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +1073 -0
  608. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +147 -0
  609. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +295 -0
  610. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +405 -0
  611. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +574 -0
  612. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +57 -0
  613. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +153 -0
  614. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +49 -0
  615. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +237 -0
  616. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +132 -0
  617. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +69 -0
  618. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +267 -0
  619. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +3286 -0
  620. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +686 -0
  621. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +1618 -0
  622. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +228 -0
  623. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +90 -0
  624. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +622 -0
  625. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +82 -0
  626. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +88 -0
  627. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +262 -0
  628. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +457 -0
  629. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +501 -0
  630. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +16 -0
  631. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +42 -0
  632. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +115 -0
  633. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +2183 -0
  634. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +1279 -0
  635. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +57 -0
  636. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +253 -0
  637. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +469 -0
  638. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +985 -0
  639. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +802 -0
  640. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +855 -0
  641. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +193 -0
  642. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +173 -0
  643. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +45 -0
  644. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +351 -0
  645. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +278 -0
  646. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +262 -0
  647. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +447 -0
  648. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +91 -0
  649. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +381 -0
  650. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +336 -0
  651. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +139 -0
  652. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +142 -0
  653. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +482 -0
  654. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +571 -0
  655. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +270 -0
  656. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +1310 -0
  657. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +253 -0
  658. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +234 -0
  659. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +158 -0
  660. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +114 -0
  661. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +319 -0
  662. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +769 -0
  663. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +766 -0
  664. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +148 -0
  665. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +152 -0
  666. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +141 -0
  667. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +351 -0
  668. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +46 -0
  669. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +27 -0
  670. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +239 -0
  671. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +88 -0
  672. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +780 -0
  673. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +295 -0
  674. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +8 -0
  675. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +356 -0
  676. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +21 -0
  677. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +93 -0
  678. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +669 -0
  679. package/src/internal/move/jwks/build/jwk/sources/main.move +20 -0
  680. package/src/types/index.ts +1 -0
  681. package/src/utils/apiEndpoints.ts +6 -4
  682. package/src/version.ts +1 -1
  683. package/dist/common/chunk-J4IUXT5W.js +0 -2
  684. package/dist/common/chunk-J4IUXT5W.js.map +0 -1
  685. package/dist/esm/chunk-2BHMYVC6.mjs +0 -2
  686. package/dist/esm/chunk-2ICPZGFR.mjs +0 -2
  687. package/dist/esm/chunk-3LH2ZHWN.mjs +0 -2
  688. package/dist/esm/chunk-3NRBTP3S.mjs +0 -2
  689. package/dist/esm/chunk-4UXGDPFI.mjs +0 -2
  690. package/dist/esm/chunk-52KPINA4.mjs +0 -2
  691. package/dist/esm/chunk-55X7L6ZK.mjs +0 -2
  692. package/dist/esm/chunk-56CNRT2K.mjs +0 -2
  693. package/dist/esm/chunk-5GWYK4ML.mjs +0 -2
  694. package/dist/esm/chunk-623AQCWU.mjs +0 -2
  695. package/dist/esm/chunk-6EMN3BOV.mjs +0 -2
  696. package/dist/esm/chunk-76HTG7Z7.mjs +0 -2
  697. package/dist/esm/chunk-76OH2Z4Q.mjs +0 -2
  698. package/dist/esm/chunk-7LVDK4VF.mjs +0 -2
  699. package/dist/esm/chunk-A63SMUOU.mjs +0 -2
  700. package/dist/esm/chunk-AH44UPM4.mjs +0 -2
  701. package/dist/esm/chunk-BBEOE3HR.mjs +0 -2
  702. package/dist/esm/chunk-BBEOE3HR.mjs.map +0 -1
  703. package/dist/esm/chunk-BCUSI3N6.mjs +0 -2
  704. package/dist/esm/chunk-BOYYQAB4.mjs +0 -2
  705. package/dist/esm/chunk-CD33AKWQ.mjs +0 -2
  706. package/dist/esm/chunk-CH7QZLYK.mjs +0 -2
  707. package/dist/esm/chunk-CNIJWO2B.mjs +0 -2
  708. package/dist/esm/chunk-DDQKF4ZO.mjs +0 -2
  709. package/dist/esm/chunk-DWUY5RQ3.mjs +0 -2
  710. package/dist/esm/chunk-DZXM2MQY.mjs +0 -2
  711. package/dist/esm/chunk-DZXM2MQY.mjs.map +0 -1
  712. package/dist/esm/chunk-F7EMGK4M.mjs +0 -2
  713. package/dist/esm/chunk-FVA2OPG4.mjs +0 -2
  714. package/dist/esm/chunk-G5MGSV7Y.mjs +0 -2
  715. package/dist/esm/chunk-G7UNU5GI.mjs +0 -2
  716. package/dist/esm/chunk-GHTDMP7S.mjs +0 -2
  717. package/dist/esm/chunk-GXTEJ7NO.mjs +0 -2
  718. package/dist/esm/chunk-H6YNXJNF.mjs +0 -2
  719. package/dist/esm/chunk-HKMG3LZX.mjs +0 -2
  720. package/dist/esm/chunk-HMDXJ46S.mjs +0 -2
  721. package/dist/esm/chunk-IJMBUEJB.mjs +0 -2
  722. package/dist/esm/chunk-IVATNKQ3.mjs +0 -2
  723. package/dist/esm/chunk-IVVWQKCF.mjs +0 -2
  724. package/dist/esm/chunk-J32MGYNW.mjs +0 -2
  725. package/dist/esm/chunk-J6ANJ7FB.mjs +0 -2
  726. package/dist/esm/chunk-J6XDOBLU.mjs +0 -2
  727. package/dist/esm/chunk-JDTQJUGX.mjs +0 -2
  728. package/dist/esm/chunk-JLR6A2WV.mjs +0 -2
  729. package/dist/esm/chunk-KMJ6TF6Y.mjs +0 -2
  730. package/dist/esm/chunk-KMJ6TF6Y.mjs.map +0 -1
  731. package/dist/esm/chunk-KQGQ5EUJ.mjs +0 -2
  732. package/dist/esm/chunk-L36ZHC7J.mjs +0 -2
  733. package/dist/esm/chunk-LDTF3ABK.mjs +0 -2
  734. package/dist/esm/chunk-LG7RJQ57.mjs +0 -2
  735. package/dist/esm/chunk-LR65XHSF.mjs +0 -2
  736. package/dist/esm/chunk-LYHKOJUH.mjs +0 -2
  737. package/dist/esm/chunk-MDHO3KVQ.mjs +0 -2
  738. package/dist/esm/chunk-MERZGV2A.mjs +0 -2
  739. package/dist/esm/chunk-MERZGV2A.mjs.map +0 -1
  740. package/dist/esm/chunk-MILJW2HW.mjs +0 -2
  741. package/dist/esm/chunk-MKQQWM4G.mjs +0 -2
  742. package/dist/esm/chunk-MLDQ2TY2.mjs +0 -2
  743. package/dist/esm/chunk-MLL54PYO.mjs +0 -2
  744. package/dist/esm/chunk-MQGW234H.mjs +0 -2
  745. package/dist/esm/chunk-MXCLTDVQ.mjs +0 -2
  746. package/dist/esm/chunk-NCGSRBA7.mjs +0 -2
  747. package/dist/esm/chunk-NMD45OTM.mjs +0 -2
  748. package/dist/esm/chunk-NWOMSL6K.mjs +0 -2
  749. package/dist/esm/chunk-NYS75GNZ.mjs +0 -2
  750. package/dist/esm/chunk-O4BBULNE.mjs +0 -2
  751. package/dist/esm/chunk-OHRL766V.mjs +0 -2
  752. package/dist/esm/chunk-OOVYAUSQ.mjs +0 -2
  753. package/dist/esm/chunk-P5V7OZNN.mjs +0 -2
  754. package/dist/esm/chunk-PYUM5CVT.mjs +0 -2
  755. package/dist/esm/chunk-Q7MD4V7H.mjs +0 -2
  756. package/dist/esm/chunk-QDTSJJUI.mjs +0 -2
  757. package/dist/esm/chunk-QNRRPDI4.mjs +0 -2
  758. package/dist/esm/chunk-S47LIZ6P.mjs +0 -2
  759. package/dist/esm/chunk-SCHZ67F3.mjs +0 -2
  760. package/dist/esm/chunk-SCHZ67F3.mjs.map +0 -1
  761. package/dist/esm/chunk-SEHLOI3A.mjs +0 -2
  762. package/dist/esm/chunk-SOCR2CUV.mjs +0 -2
  763. package/dist/esm/chunk-SUJLWCRN.mjs +0 -2
  764. package/dist/esm/chunk-SWEFVHOU.mjs +0 -2
  765. package/dist/esm/chunk-TDGQGILY.mjs +0 -2
  766. package/dist/esm/chunk-THRXIXIO.mjs +0 -2
  767. package/dist/esm/chunk-THRXIXIO.mjs.map +0 -1
  768. package/dist/esm/chunk-TS37AYYA.mjs +0 -2
  769. package/dist/esm/chunk-TS37AYYA.mjs.map +0 -1
  770. package/dist/esm/chunk-U2MRTO2K.mjs +0 -2
  771. package/dist/esm/chunk-U3U5DCSJ.mjs +0 -2
  772. package/dist/esm/chunk-U6Z4FNB7.mjs +0 -2
  773. package/dist/esm/chunk-U74ZLMCT.mjs +0 -2
  774. package/dist/esm/chunk-UNFMS77T.mjs +0 -2
  775. package/dist/esm/chunk-UWPO7WWS.mjs +0 -2
  776. package/dist/esm/chunk-UXNNTPRT.mjs +0 -2
  777. package/dist/esm/chunk-UXQ6B5Y4.mjs +0 -2
  778. package/dist/esm/chunk-V753QNIE.mjs +0 -2
  779. package/dist/esm/chunk-VP5OE7Y2.mjs +0 -2
  780. package/dist/esm/chunk-W5MKG4FW.mjs +0 -2
  781. package/dist/esm/chunk-WB62ASAQ.mjs +0 -2
  782. package/dist/esm/chunk-WF6HCH5G.mjs +0 -2
  783. package/dist/esm/chunk-WRRQ7L5K.mjs +0 -2
  784. package/dist/esm/chunk-WV5AD4IE.mjs +0 -2
  785. package/dist/esm/chunk-XVDG55LQ.mjs +0 -2
  786. package/dist/esm/chunk-YDZBU2DJ.mjs +0 -2
  787. package/dist/esm/chunk-YPHH6CAO.mjs +0 -2
  788. package/dist/esm/chunk-YUNDX5I7.mjs +0 -2
  789. package/dist/esm/chunk-ZOMXBB6Z.mjs +0 -2
  790. package/dist/esm/chunk-ZWUC7YTU.mjs +0 -2
  791. package/dist/esm/chunk-ZXPBRVOA.mjs +0 -2
  792. package/dist/esm/chunk-ZYXAQCTP.mjs +0 -2
  793. /package/dist/esm/{chunk-FVA2OPG4.mjs.map → account/FederatedKeylessAccount.mjs.map} +0 -0
@@ -0,0 +1,265 @@
1
+ import {
2
+ deriveTransactionType,
3
+ generateSigningMessage
4
+ } from "./chunk-LMUNGBGS.mjs";
5
+ import {
6
+ AccountAuthenticatorSingleKey
7
+ } from "./chunk-MQALTYRJ.mjs";
8
+ import {
9
+ EphemeralKeyPair
10
+ } from "./chunk-3V5WGOZH.mjs";
11
+ import {
12
+ AnyPublicKey,
13
+ AnySignature
14
+ } from "./chunk-NYELBSVO.mjs";
15
+ import {
16
+ EphemeralCertificate,
17
+ KeylessPublicKey,
18
+ KeylessSignature,
19
+ ZeroKnowledgeSig
20
+ } from "./chunk-BMXV6WQK.mjs";
21
+ import {
22
+ AccountAddress
23
+ } from "./chunk-IUC6XUYA.mjs";
24
+ import {
25
+ base64UrlDecode
26
+ } from "./chunk-YPHGPN2P.mjs";
27
+ import {
28
+ Deserializer
29
+ } from "./chunk-6J7C4S3H.mjs";
30
+ import {
31
+ Serializable
32
+ } from "./chunk-UZXDD3QH.mjs";
33
+ import {
34
+ Hex
35
+ } from "./chunk-YV7M4CFP.mjs";
36
+
37
+ // src/account/KeylessAccount.ts
38
+ import { jwtDecode } from "jwt-decode";
39
+ import EventEmitter from "eventemitter3";
40
+ var _KeylessAccount = class _KeylessAccount extends Serializable {
41
+ // Use the static constructor 'create' instead.
42
+ constructor(args) {
43
+ super();
44
+ const { address, ephemeralKeyPair, uidKey, uidVal, aud, pepper, proof, proofFetchCallback, jwt } = args;
45
+ this.ephemeralKeyPair = ephemeralKeyPair;
46
+ this.publicKey = KeylessPublicKey.create(args);
47
+ this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();
48
+ this.uidKey = uidKey;
49
+ this.uidVal = uidVal;
50
+ this.aud = aud;
51
+ this.jwt = jwt;
52
+ this.emitter = new EventEmitter();
53
+ this.proofOrPromise = proof;
54
+ if (proof instanceof ZeroKnowledgeSig) {
55
+ this.proof = proof;
56
+ } else {
57
+ if (proofFetchCallback === void 0) {
58
+ throw new Error("Must provide callback for async proof fetch");
59
+ }
60
+ this.emitter.on("proofFetchFinish", async (status) => {
61
+ await proofFetchCallback(status);
62
+ this.emitter.removeAllListeners();
63
+ });
64
+ this.init(proof);
65
+ }
66
+ this.signingScheme = 2 /* SingleKey */;
67
+ const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();
68
+ if (pepperBytes.length !== _KeylessAccount.PEPPER_LENGTH) {
69
+ throw new Error(`Pepper length in bytes should be ${_KeylessAccount.PEPPER_LENGTH}`);
70
+ }
71
+ this.pepper = pepperBytes;
72
+ }
73
+ /**
74
+ * This initializes the asyncronous proof fetch
75
+ * @return
76
+ */
77
+ async init(promise) {
78
+ try {
79
+ this.proof = await promise;
80
+ this.emitter.emit("proofFetchFinish", { status: "Success" });
81
+ } catch (error) {
82
+ if (error instanceof Error) {
83
+ this.emitter.emit("proofFetchFinish", { status: "Failed", error: error.toString() });
84
+ } else {
85
+ this.emitter.emit("proofFetchFinish", { status: "Failed", error: "Unknown" });
86
+ }
87
+ }
88
+ }
89
+ serialize(serializer) {
90
+ serializer.serializeStr(this.jwt);
91
+ serializer.serializeStr(this.uidKey);
92
+ serializer.serializeFixedBytes(this.pepper);
93
+ this.ephemeralKeyPair.serialize(serializer);
94
+ if (this.proof === void 0) {
95
+ throw new Error("Connot serialize - proof undefined");
96
+ }
97
+ this.proof.serialize(serializer);
98
+ }
99
+ static deserialize(deserializer) {
100
+ const jwt = deserializer.deserializeStr();
101
+ const uidKey = deserializer.deserializeStr();
102
+ const pepper = deserializer.deserializeFixedBytes(31);
103
+ const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);
104
+ const proof = ZeroKnowledgeSig.deserialize(deserializer);
105
+ return _KeylessAccount.create({
106
+ proof,
107
+ pepper,
108
+ uidKey,
109
+ jwt,
110
+ ephemeralKeyPair
111
+ });
112
+ }
113
+ /**
114
+ * Checks if the proof is expired. If so the account must be rederived with a new EphemeralKeyPair
115
+ * and JWT token.
116
+ * @return boolean
117
+ */
118
+ isExpired() {
119
+ return this.ephemeralKeyPair.isExpired();
120
+ }
121
+ /**
122
+ * Sign a message using Keyless.
123
+ * @param message the message to sign, as binary input
124
+ * @return the AccountAuthenticator containing the signature, together with the account's public key
125
+ */
126
+ signWithAuthenticator(message) {
127
+ const signature = new AnySignature(this.sign(message));
128
+ const publicKey = new AnyPublicKey(this.publicKey);
129
+ return new AccountAuthenticatorSingleKey(publicKey, signature);
130
+ }
131
+ /**
132
+ * Sign a transaction using Keyless.
133
+ * @param transaction the raw transaction
134
+ * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key
135
+ */
136
+ signTransactionWithAuthenticator(transaction) {
137
+ const signature = new AnySignature(this.signTransaction(transaction));
138
+ const publicKey = new AnyPublicKey(this.publicKey);
139
+ return new AccountAuthenticatorSingleKey(publicKey, signature);
140
+ }
141
+ /**
142
+ * Waits for asyncronous proof fetching to finish.
143
+ * @return
144
+ */
145
+ async waitForProofFetch() {
146
+ if (this.proofOrPromise instanceof Promise) {
147
+ await this.proofOrPromise;
148
+ }
149
+ }
150
+ /**
151
+ * Sign the given message using Keyless.
152
+ * @param message in HexInput format
153
+ * @returns Signature
154
+ */
155
+ sign(data) {
156
+ const { expiryDateSecs } = this.ephemeralKeyPair;
157
+ if (this.isExpired()) {
158
+ throw new Error("EphemeralKeyPair is expired");
159
+ }
160
+ if (this.proof === void 0) {
161
+ throw new Error("Proof not defined");
162
+ }
163
+ const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();
164
+ const ephemeralSignature = this.ephemeralKeyPair.sign(data);
165
+ return new KeylessSignature({
166
+ jwtHeader: base64UrlDecode(this.jwt.split(".")[0]),
167
+ ephemeralCertificate: new EphemeralCertificate(this.proof, 0 /* ZkProof */),
168
+ expiryDateSecs,
169
+ ephemeralPublicKey,
170
+ ephemeralSignature
171
+ });
172
+ }
173
+ /**
174
+ * Sign the given transaction with Keyless.
175
+ * Signs the transaction and proof to guard against proof malleability.
176
+ * @param transaction the transaction to be signed
177
+ * @returns KeylessSignature
178
+ */
179
+ signTransaction(transaction) {
180
+ if (this.proof === void 0) {
181
+ throw new Error("Proof not found");
182
+ }
183
+ const raw = deriveTransactionType(transaction);
184
+ const txnAndProof = new TransactionAndProof(raw, this.proof.proof);
185
+ const signMess = txnAndProof.hash();
186
+ return this.sign(signMess);
187
+ }
188
+ /**
189
+ * Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount
190
+ *
191
+ * Verifies a signature given the message.
192
+ *
193
+ * TODO: Groth16 proof verification
194
+ *
195
+ * @param args.message the message that was signed.
196
+ * @param args.signature the KeylessSignature to verify
197
+ * @returns boolean
198
+ */
199
+ verifySignature(args) {
200
+ const { message, signature } = args;
201
+ if (this.isExpired()) {
202
+ return false;
203
+ }
204
+ if (!this.ephemeralKeyPair.getPublicKey().verifySignature({ message, signature: signature.ephemeralSignature })) {
205
+ return false;
206
+ }
207
+ return true;
208
+ }
209
+ static fromBytes(bytes) {
210
+ return _KeylessAccount.deserialize(new Deserializer(bytes));
211
+ }
212
+ static create(args) {
213
+ const { address, proof, jwt, ephemeralKeyPair, pepper, uidKey = "sub", proofFetchCallback } = args;
214
+ const jwtPayload = jwtDecode(jwt);
215
+ const iss = jwtPayload.iss;
216
+ if (typeof jwtPayload.aud !== "string") {
217
+ throw new Error("aud was not found or an array of values");
218
+ }
219
+ const aud = jwtPayload.aud;
220
+ const uidVal = jwtPayload[uidKey];
221
+ return new _KeylessAccount({
222
+ address,
223
+ proof,
224
+ ephemeralKeyPair,
225
+ iss,
226
+ uidKey,
227
+ uidVal,
228
+ aud,
229
+ pepper,
230
+ jwt,
231
+ proofFetchCallback
232
+ });
233
+ }
234
+ };
235
+ _KeylessAccount.PEPPER_LENGTH = 31;
236
+ var KeylessAccount = _KeylessAccount;
237
+ var TransactionAndProof = class extends Serializable {
238
+ constructor(transaction, proof) {
239
+ super();
240
+ /**
241
+ * The domain separator prefix used when hashing.
242
+ */
243
+ this.domainSeparator = "APTOS::TransactionAndProof";
244
+ this.transaction = transaction;
245
+ this.proof = proof;
246
+ }
247
+ serialize(serializer) {
248
+ serializer.serializeFixedBytes(this.transaction.bcsToBytes());
249
+ serializer.serializeOption(this.proof);
250
+ }
251
+ /**
252
+ * Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.
253
+ *
254
+ * @returns Uint8Array
255
+ */
256
+ hash() {
257
+ return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);
258
+ }
259
+ };
260
+
261
+ export {
262
+ KeylessAccount,
263
+ TransactionAndProof
264
+ };
265
+ //# sourceMappingURL=chunk-LD2CRNA2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/account/KeylessAccount.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { JwtPayload, jwtDecode } from \"jwt-decode\";\nimport EventEmitter from \"eventemitter3\";\nimport { EphemeralCertificateVariant, HexInput, SigningScheme } from \"../types\";\nimport { AccountAddress } from \"../core/accountAddress\";\nimport {\n AnyPublicKey,\n AnySignature,\n KeylessPublicKey,\n KeylessSignature,\n EphemeralCertificate,\n ZeroKnowledgeSig,\n ZkProof,\n} from \"../core/crypto\";\n\nimport { Account } from \"./Account\";\nimport { EphemeralKeyPair } from \"./EphemeralKeyPair\";\nimport { Hex } from \"../core/hex\";\nimport { AccountAuthenticatorSingleKey } from \"../transactions/authenticator/account\";\nimport { Deserializer, Serializable, Serializer } from \"../bcs\";\nimport { deriveTransactionType, generateSigningMessage } from \"../transactions/transactionBuilder/signingMessage\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../transactions/types\";\nimport { base64UrlDecode } from \"../utils/helpers\";\n\n/**\n * Account implementation for the Keyless authentication scheme.\n *\n * Used to represent a Keyless based account and sign transactions with it.\n *\n * Use KeylessAccount.fromJWTAndProof to instantiate a KeylessAccount with a JWT, proof and EphemeralKeyPair.\n *\n * When the proof expires or the JWT becomes invalid, the KeylessAccount must be instantiated again with a new JWT,\n * EphemeralKeyPair, and corresponding proof.\n */\nexport class KeylessAccount extends Serializable implements Account {\n static readonly PEPPER_LENGTH: number = 31;\n\n /**\n * The KeylessPublicKey associated with the account\n */\n readonly publicKey: KeylessPublicKey;\n\n /**\n * The EphemeralKeyPair used to generate sign.\n */\n readonly ephemeralKeyPair: EphemeralKeyPair;\n\n /**\n * The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n */\n readonly uidKey: string;\n\n /**\n * The value of the uidKey claim on the JWT. This intended to be a stable user identifier.\n */\n readonly uidVal: string;\n\n /**\n * The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n */\n readonly aud: string;\n\n /**\n * A value contains 31 bytes of entropy that preserves privacy of the account. Typically fetched from a pepper provider.\n */\n readonly pepper: Uint8Array;\n\n /**\n * Account address associated with the account\n */\n readonly accountAddress: AccountAddress;\n\n /**\n * The zero knowledge signature (if ready) which contains the proof used to validate the EphemeralKeyPair.\n */\n proof: ZeroKnowledgeSig | undefined;\n\n /**\n * The proof of the EphemeralKeyPair or a promise that provides the proof. This is used to allow for awaiting on\n * fetching the proof.\n */\n readonly proofOrPromise: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n\n /**\n * Signing scheme used to sign transactions\n */\n readonly signingScheme: SigningScheme;\n\n /**\n * The JWT token used to derive the account\n */\n readonly jwt: string;\n\n /**\n * An event emitter used to assist in handling asycronous proof fetching.\n */\n private readonly emitter: EventEmitter<ProofFetchEvents>;\n\n // Use the static constructor 'create' instead.\n private constructor(args: {\n address?: AccountAddress;\n ephemeralKeyPair: EphemeralKeyPair;\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n proof: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n proofFetchCallback?: ProofFetchCallback;\n jwt: string;\n }) {\n super();\n const { address, ephemeralKeyPair, uidKey, uidVal, aud, pepper, proof, proofFetchCallback, jwt } = args;\n this.ephemeralKeyPair = ephemeralKeyPair;\n this.publicKey = KeylessPublicKey.create(args);\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n this.uidKey = uidKey;\n this.uidVal = uidVal;\n this.aud = aud;\n this.jwt = jwt;\n this.emitter = new EventEmitter<ProofFetchEvents>();\n this.proofOrPromise = proof;\n if (proof instanceof ZeroKnowledgeSig) {\n this.proof = proof;\n } else {\n if (proofFetchCallback === undefined) {\n throw new Error(\"Must provide callback for async proof fetch\");\n }\n this.emitter.on(\"proofFetchFinish\", async (status) => {\n await proofFetchCallback(status);\n this.emitter.removeAllListeners();\n });\n this.init(proof);\n }\n this.signingScheme = SigningScheme.SingleKey;\n const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();\n if (pepperBytes.length !== KeylessAccount.PEPPER_LENGTH) {\n throw new Error(`Pepper length in bytes should be ${KeylessAccount.PEPPER_LENGTH}`);\n }\n this.pepper = pepperBytes;\n }\n\n /**\n * This initializes the asyncronous proof fetch\n * @return\n */\n async init(promise: Promise<ZeroKnowledgeSig>) {\n try {\n this.proof = await promise;\n this.emitter.emit(\"proofFetchFinish\", { status: \"Success\" });\n } catch (error) {\n if (error instanceof Error) {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: error.toString() });\n } else {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: \"Unknown\" });\n }\n }\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.jwt);\n serializer.serializeStr(this.uidKey);\n serializer.serializeFixedBytes(this.pepper);\n this.ephemeralKeyPair.serialize(serializer);\n if (this.proof === undefined) {\n throw new Error(\"Connot serialize - proof undefined\");\n }\n this.proof.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): KeylessAccount {\n const jwt = deserializer.deserializeStr();\n const uidKey = deserializer.deserializeStr();\n const pepper = deserializer.deserializeFixedBytes(31);\n const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);\n const proof = ZeroKnowledgeSig.deserialize(deserializer);\n return KeylessAccount.create({\n proof,\n pepper,\n uidKey,\n jwt,\n ephemeralKeyPair,\n });\n }\n\n /**\n * Checks if the proof is expired. If so the account must be rederived with a new EphemeralKeyPair\n * and JWT token.\n * @return boolean\n */\n isExpired(): boolean {\n return this.ephemeralKeyPair.isExpired();\n }\n\n /**\n * Sign a message using Keyless.\n * @param message the message to sign, as binary input\n * @return the AccountAuthenticator containing the signature, together with the account's public key\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.sign(message));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Sign a transaction using Keyless.\n * @param transaction the raw transaction\n * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.signTransaction(transaction));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Waits for asyncronous proof fetching to finish.\n * @return\n */\n async waitForProofFetch() {\n if (this.proofOrPromise instanceof Promise) {\n await this.proofOrPromise;\n }\n }\n\n /**\n * Sign the given message using Keyless.\n * @param message in HexInput format\n * @returns Signature\n */\n sign(data: HexInput): KeylessSignature {\n const { expiryDateSecs } = this.ephemeralKeyPair;\n if (this.isExpired()) {\n throw new Error(\"EphemeralKeyPair is expired\");\n }\n if (this.proof === undefined) {\n throw new Error(\"Proof not defined\");\n }\n const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();\n const ephemeralSignature = this.ephemeralKeyPair.sign(data);\n\n return new KeylessSignature({\n jwtHeader: base64UrlDecode(this.jwt.split(\".\")[0]),\n ephemeralCertificate: new EphemeralCertificate(this.proof, EphemeralCertificateVariant.ZkProof),\n expiryDateSecs,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n /**\n * Sign the given transaction with Keyless.\n * Signs the transaction and proof to guard against proof malleability.\n * @param transaction the transaction to be signed\n * @returns KeylessSignature\n */\n signTransaction(transaction: AnyRawTransaction): KeylessSignature {\n if (this.proof === undefined) {\n throw new Error(\"Proof not found\");\n }\n const raw = deriveTransactionType(transaction);\n const txnAndProof = new TransactionAndProof(raw, this.proof.proof);\n const signMess = txnAndProof.hash();\n return this.sign(signMess);\n }\n\n /**\n * Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount\n *\n * Verifies a signature given the message.\n *\n * TODO: Groth16 proof verification\n *\n * @param args.message the message that was signed.\n * @param args.signature the KeylessSignature to verify\n * @returns boolean\n */\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n const { message, signature } = args;\n if (this.isExpired()) {\n return false;\n }\n if (!this.ephemeralKeyPair.getPublicKey().verifySignature({ message, signature: signature.ephemeralSignature })) {\n return false;\n }\n return true;\n }\n\n static fromBytes(bytes: Uint8Array): KeylessAccount {\n return KeylessAccount.deserialize(new Deserializer(bytes));\n }\n\n static create(args: {\n address?: AccountAddress;\n proof: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n jwt: string;\n ephemeralKeyPair: EphemeralKeyPair;\n pepper: HexInput;\n uidKey?: string;\n proofFetchCallback?: ProofFetchCallback;\n }): KeylessAccount {\n const { address, proof, jwt, ephemeralKeyPair, pepper, uidKey = \"sub\", proofFetchCallback } = args;\n\n const jwtPayload = jwtDecode<JwtPayload & { [key: string]: string }>(jwt);\n const iss = jwtPayload.iss!;\n if (typeof jwtPayload.aud !== \"string\") {\n throw new Error(\"aud was not found or an array of values\");\n }\n const aud = jwtPayload.aud!;\n const uidVal = jwtPayload[uidKey];\n return new KeylessAccount({\n address,\n proof,\n ephemeralKeyPair,\n iss,\n uidKey,\n uidVal,\n aud,\n pepper,\n jwt,\n proofFetchCallback,\n });\n }\n}\n\n/**\n * A container class to hold a transaction and a proof. It implements CryptoHashable which is used to create\n * the signing message for Keyless transactions. We sign over the proof to ensure non-malleability.\n */\nclass TransactionAndProof extends Serializable {\n /**\n * The transaction to sign.\n */\n transaction: AnyRawTransactionInstance;\n\n /**\n * The zero knowledge proof used in signing the transaction.\n */\n proof?: ZkProof;\n\n /**\n * The domain separator prefix used when hashing.\n */\n readonly domainSeparator = \"APTOS::TransactionAndProof\";\n\n constructor(transaction: AnyRawTransactionInstance, proof?: ZkProof) {\n super();\n this.transaction = transaction;\n this.proof = proof;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.transaction.bcsToBytes());\n serializer.serializeOption(this.proof);\n }\n\n /**\n * Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.\n *\n * @returns Uint8Array\n */\n hash(): Uint8Array {\n return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);\n }\n}\n\nexport type ProofFetchSuccess = {\n status: \"Success\";\n};\n\nexport type ProofFetchFailure = {\n status: \"Failed\";\n error: string;\n};\n\nexport type ProofFetchStatus = ProofFetchSuccess | ProofFetchFailure;\n\nexport type ProofFetchCallback = (status: ProofFetchStatus) => Promise<void>;\n\nexport interface ProofFetchEvents {\n proofFetchFinish: (status: ProofFetchStatus) => void;\n}\n"],"mappings":"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","names":["jwtDecode","EventEmitter","_KeylessAccount","Serializable","args","address","ephemeralKeyPair","uidKey","uidVal","aud","pepper","proof","proofFetchCallback","jwt","KeylessPublicKey","AccountAddress","EventEmitter","ZeroKnowledgeSig","status","pepperBytes","Hex","promise","error","serializer","deserializer","EphemeralKeyPair","message","signature","AnySignature","publicKey","AnyPublicKey","AccountAuthenticatorSingleKey","transaction","data","expiryDateSecs","ephemeralPublicKey","ephemeralSignature","KeylessSignature","base64UrlDecode","EphemeralCertificate","raw","deriveTransactionType","signMess","TransactionAndProof","bytes","Deserializer","jwtPayload","jwtDecode","iss","KeylessAccount","generateSigningMessage"]}
1
+ {"version":3,"sources":["../../src/account/KeylessAccount.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { JwtPayload, jwtDecode } from \"jwt-decode\";\nimport EventEmitter from \"eventemitter3\";\nimport { EphemeralCertificateVariant, HexInput, SigningScheme } from \"../types\";\nimport { AccountAddress } from \"../core/accountAddress\";\nimport {\n AnyPublicKey,\n AnySignature,\n KeylessPublicKey,\n KeylessSignature,\n EphemeralCertificate,\n ZeroKnowledgeSig,\n ZkProof,\n} from \"../core/crypto\";\n\nimport { Account } from \"./Account\";\nimport { EphemeralKeyPair } from \"./EphemeralKeyPair\";\nimport { Hex } from \"../core/hex\";\nimport { AccountAuthenticatorSingleKey } from \"../transactions/authenticator/account\";\nimport { Deserializer, Serializable, Serializer } from \"../bcs\";\nimport { deriveTransactionType, generateSigningMessage } from \"../transactions/transactionBuilder/signingMessage\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../transactions/types\";\nimport { base64UrlDecode } from \"../utils/helpers\";\n\n/**\n * Account implementation for the Keyless authentication scheme.\n *\n * Used to represent a Keyless based account and sign transactions with it.\n *\n * Use KeylessAccount.fromJWTAndProof to instantiate a KeylessAccount with a JWT, proof and EphemeralKeyPair.\n *\n * When the proof expires or the JWT becomes invalid, the KeylessAccount must be instantiated again with a new JWT,\n * EphemeralKeyPair, and corresponding proof.\n */\nexport class KeylessAccount extends Serializable implements Account {\n static readonly PEPPER_LENGTH: number = 31;\n\n /**\n * The KeylessPublicKey associated with the account\n */\n readonly publicKey: KeylessPublicKey;\n\n /**\n * The EphemeralKeyPair used to generate sign.\n */\n readonly ephemeralKeyPair: EphemeralKeyPair;\n\n /**\n * The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n */\n readonly uidKey: string;\n\n /**\n * The value of the uidKey claim on the JWT. This intended to be a stable user identifier.\n */\n readonly uidVal: string;\n\n /**\n * The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n */\n readonly aud: string;\n\n /**\n * A value contains 31 bytes of entropy that preserves privacy of the account. Typically fetched from a pepper provider.\n */\n readonly pepper: Uint8Array;\n\n /**\n * Account address associated with the account\n */\n readonly accountAddress: AccountAddress;\n\n /**\n * The zero knowledge signature (if ready) which contains the proof used to validate the EphemeralKeyPair.\n */\n proof: ZeroKnowledgeSig | undefined;\n\n /**\n * The proof of the EphemeralKeyPair or a promise that provides the proof. This is used to allow for awaiting on\n * fetching the proof.\n */\n readonly proofOrPromise: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n\n /**\n * Signing scheme used to sign transactions\n */\n readonly signingScheme: SigningScheme;\n\n /**\n * The JWT token used to derive the account\n */\n readonly jwt: string;\n\n /**\n * An event emitter used to assist in handling asycronous proof fetching.\n */\n private readonly emitter: EventEmitter<ProofFetchEvents>;\n\n // Use the static constructor 'create' instead.\n private constructor(args: {\n address?: AccountAddress;\n ephemeralKeyPair: EphemeralKeyPair;\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n proof: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n proofFetchCallback?: ProofFetchCallback;\n jwt: string;\n }) {\n super();\n const { address, ephemeralKeyPair, uidKey, uidVal, aud, pepper, proof, proofFetchCallback, jwt } = args;\n this.ephemeralKeyPair = ephemeralKeyPair;\n this.publicKey = KeylessPublicKey.create(args);\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n this.uidKey = uidKey;\n this.uidVal = uidVal;\n this.aud = aud;\n this.jwt = jwt;\n this.emitter = new EventEmitter<ProofFetchEvents>();\n this.proofOrPromise = proof;\n if (proof instanceof ZeroKnowledgeSig) {\n this.proof = proof;\n } else {\n if (proofFetchCallback === undefined) {\n throw new Error(\"Must provide callback for async proof fetch\");\n }\n this.emitter.on(\"proofFetchFinish\", async (status) => {\n await proofFetchCallback(status);\n this.emitter.removeAllListeners();\n });\n this.init(proof);\n }\n this.signingScheme = SigningScheme.SingleKey;\n const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();\n if (pepperBytes.length !== KeylessAccount.PEPPER_LENGTH) {\n throw new Error(`Pepper length in bytes should be ${KeylessAccount.PEPPER_LENGTH}`);\n }\n this.pepper = pepperBytes;\n }\n\n /**\n * This initializes the asyncronous proof fetch\n * @return\n */\n async init(promise: Promise<ZeroKnowledgeSig>) {\n try {\n this.proof = await promise;\n this.emitter.emit(\"proofFetchFinish\", { status: \"Success\" });\n } catch (error) {\n if (error instanceof Error) {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: error.toString() });\n } else {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: \"Unknown\" });\n }\n }\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.jwt);\n serializer.serializeStr(this.uidKey);\n serializer.serializeFixedBytes(this.pepper);\n this.ephemeralKeyPair.serialize(serializer);\n if (this.proof === undefined) {\n throw new Error(\"Connot serialize - proof undefined\");\n }\n this.proof.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): KeylessAccount {\n const jwt = deserializer.deserializeStr();\n const uidKey = deserializer.deserializeStr();\n const pepper = deserializer.deserializeFixedBytes(31);\n const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);\n const proof = ZeroKnowledgeSig.deserialize(deserializer);\n return KeylessAccount.create({\n proof,\n pepper,\n uidKey,\n jwt,\n ephemeralKeyPair,\n });\n }\n\n /**\n * Checks if the proof is expired. If so the account must be rederived with a new EphemeralKeyPair\n * and JWT token.\n * @return boolean\n */\n isExpired(): boolean {\n return this.ephemeralKeyPair.isExpired();\n }\n\n /**\n * Sign a message using Keyless.\n * @param message the message to sign, as binary input\n * @return the AccountAuthenticator containing the signature, together with the account's public key\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.sign(message));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Sign a transaction using Keyless.\n * @param transaction the raw transaction\n * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.signTransaction(transaction));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Waits for asyncronous proof fetching to finish.\n * @return\n */\n async waitForProofFetch() {\n if (this.proofOrPromise instanceof Promise) {\n await this.proofOrPromise;\n }\n }\n\n /**\n * Sign the given message using Keyless.\n * @param message in HexInput format\n * @returns Signature\n */\n sign(data: HexInput): KeylessSignature {\n const { expiryDateSecs } = this.ephemeralKeyPair;\n if (this.isExpired()) {\n throw new Error(\"EphemeralKeyPair is expired\");\n }\n if (this.proof === undefined) {\n throw new Error(\"Proof not defined\");\n }\n const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();\n const ephemeralSignature = this.ephemeralKeyPair.sign(data);\n\n return new KeylessSignature({\n jwtHeader: base64UrlDecode(this.jwt.split(\".\")[0]),\n ephemeralCertificate: new EphemeralCertificate(this.proof, EphemeralCertificateVariant.ZkProof),\n expiryDateSecs,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n /**\n * Sign the given transaction with Keyless.\n * Signs the transaction and proof to guard against proof malleability.\n * @param transaction the transaction to be signed\n * @returns KeylessSignature\n */\n signTransaction(transaction: AnyRawTransaction): KeylessSignature {\n if (this.proof === undefined) {\n throw new Error(\"Proof not found\");\n }\n const raw = deriveTransactionType(transaction);\n const txnAndProof = new TransactionAndProof(raw, this.proof.proof);\n const signMess = txnAndProof.hash();\n return this.sign(signMess);\n }\n\n /**\n * Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount\n *\n * Verifies a signature given the message.\n *\n * TODO: Groth16 proof verification\n *\n * @param args.message the message that was signed.\n * @param args.signature the KeylessSignature to verify\n * @returns boolean\n */\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n const { message, signature } = args;\n if (this.isExpired()) {\n return false;\n }\n if (!this.ephemeralKeyPair.getPublicKey().verifySignature({ message, signature: signature.ephemeralSignature })) {\n return false;\n }\n return true;\n }\n\n static fromBytes(bytes: Uint8Array): KeylessAccount {\n return KeylessAccount.deserialize(new Deserializer(bytes));\n }\n\n static create(args: {\n address?: AccountAddress;\n proof: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n jwt: string;\n ephemeralKeyPair: EphemeralKeyPair;\n pepper: HexInput;\n uidKey?: string;\n proofFetchCallback?: ProofFetchCallback;\n }): KeylessAccount {\n const { address, proof, jwt, ephemeralKeyPair, pepper, uidKey = \"sub\", proofFetchCallback } = args;\n\n const jwtPayload = jwtDecode<JwtPayload & { [key: string]: string }>(jwt);\n const iss = jwtPayload.iss!;\n if (typeof jwtPayload.aud !== \"string\") {\n throw new Error(\"aud was not found or an array of values\");\n }\n const aud = jwtPayload.aud!;\n const uidVal = jwtPayload[uidKey];\n return new KeylessAccount({\n address,\n proof,\n ephemeralKeyPair,\n iss,\n uidKey,\n uidVal,\n aud,\n pepper,\n jwt,\n proofFetchCallback,\n });\n }\n}\n\n/**\n * A container class to hold a transaction and a proof. It implements CryptoHashable which is used to create\n * the signing message for Keyless transactions. We sign over the proof to ensure non-malleability.\n */\nexport class TransactionAndProof extends Serializable {\n /**\n * The transaction to sign.\n */\n transaction: AnyRawTransactionInstance;\n\n /**\n * The zero knowledge proof used in signing the transaction.\n */\n proof?: ZkProof;\n\n /**\n * The domain separator prefix used when hashing.\n */\n readonly domainSeparator = \"APTOS::TransactionAndProof\";\n\n constructor(transaction: AnyRawTransactionInstance, proof?: ZkProof) {\n super();\n this.transaction = transaction;\n this.proof = proof;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.transaction.bcsToBytes());\n serializer.serializeOption(this.proof);\n }\n\n /**\n * Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.\n *\n * @returns Uint8Array\n */\n hash(): Uint8Array {\n return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);\n }\n}\n\nexport type ProofFetchSuccess = {\n status: \"Success\";\n};\n\nexport type ProofFetchFailure = {\n status: \"Failed\";\n error: string;\n};\n\nexport type ProofFetchStatus = ProofFetchSuccess | ProofFetchFailure;\n\nexport type ProofFetchCallback = (status: ProofFetchStatus) => Promise<void>;\n\nexport interface ProofFetchEvents {\n proofFetchFinish: (status: ProofFetchStatus) => void;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,SAAqB,iBAAiB;AACtC,OAAO,kBAAkB;AAgClB,IAAM,kBAAN,MAAM,wBAAuB,aAAgC;AAAA;AAAA,EAkE1D,YAAY,MAWjB;AACD,UAAM;AACN,UAAM,EAAE,SAAS,kBAAkB,QAAQ,QAAQ,KAAK,QAAQ,OAAO,oBAAoB,IAAI,IAAI;AACnG,SAAK,mBAAmB;AACxB,SAAK,YAAY,iBAAiB,OAAO,IAAI;AAC7C,SAAK,iBAAiB,UAAU,eAAe,KAAK,OAAO,IAAI,KAAK,UAAU,QAAQ,EAAE,eAAe;AACvG,SAAK,SAAS;AACd,SAAK,SAAS;AACd,SAAK,MAAM;AACX,SAAK,MAAM;AACX,SAAK,UAAU,IAAI,aAA+B;AAClD,SAAK,iBAAiB;AACtB,QAAI,iBAAiB,kBAAkB;AACrC,WAAK,QAAQ;AAAA,IACf,OAAO;AACL,UAAI,uBAAuB,QAAW;AACpC,cAAM,IAAI,MAAM,6CAA6C;AAAA,MAC/D;AACA,WAAK,QAAQ,GAAG,oBAAoB,OAAO,WAAW;AACpD,cAAM,mBAAmB,MAAM;AAC/B,aAAK,QAAQ,mBAAmB;AAAA,MAClC,CAAC;AACD,WAAK,KAAK,KAAK;AAAA,IACjB;AACA,SAAK;AACL,UAAM,cAAc,IAAI,aAAa,MAAM,EAAE,aAAa;AAC1D,QAAI,YAAY,WAAW,gBAAe,eAAe;AACvD,YAAM,IAAI,MAAM,oCAAoC,gBAAe,aAAa,EAAE;AAAA,IACpF;AACA,SAAK,SAAS;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,KAAK,SAAoC;AAC7C,QAAI;AACF,WAAK,QAAQ,MAAM;AACnB,WAAK,QAAQ,KAAK,oBAAoB,EAAE,QAAQ,UAAU,CAAC;AAAA,IAC7D,SAAS,OAAO;AACd,UAAI,iBAAiB,OAAO;AAC1B,aAAK,QAAQ,KAAK,oBAAoB,EAAE,QAAQ,UAAU,OAAO,MAAM,SAAS,EAAE,CAAC;AAAA,MACrF,OAAO;AACL,aAAK,QAAQ,KAAK,oBAAoB,EAAE,QAAQ,UAAU,OAAO,UAAU,CAAC;AAAA,MAC9E;AAAA,IACF;AAAA,EACF;AAAA,EAEA,UAAU,YAA8B;AACtC,eAAW,aAAa,KAAK,GAAG;AAChC,eAAW,aAAa,KAAK,MAAM;AACnC,eAAW,oBAAoB,KAAK,MAAM;AAC1C,SAAK,iBAAiB,UAAU,UAAU;AAC1C,QAAI,KAAK,UAAU,QAAW;AAC5B,YAAM,IAAI,MAAM,oCAAoC;AAAA,IACtD;AACA,SAAK,MAAM,UAAU,UAAU;AAAA,EACjC;AAAA,EAEA,OAAO,YAAY,cAA4C;AAC7D,UAAM,MAAM,aAAa,eAAe;AACxC,UAAM,SAAS,aAAa,eAAe;AAC3C,UAAM,SAAS,aAAa,sBAAsB,EAAE;AACpD,UAAM,mBAAmB,iBAAiB,YAAY,YAAY;AAClE,UAAM,QAAQ,iBAAiB,YAAY,YAAY;AACvD,WAAO,gBAAe,OAAO;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAqB;AACnB,WAAO,KAAK,iBAAiB,UAAU;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,sBAAsB,SAAkD;AACtE,UAAM,YAAY,IAAI,aAAa,KAAK,KAAK,OAAO,CAAC;AACrD,UAAM,YAAY,IAAI,aAAa,KAAK,SAAS;AACjD,WAAO,IAAI,8BAA8B,WAAW,SAAS;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iCAAiC,aAA+D;AAC9F,UAAM,YAAY,IAAI,aAAa,KAAK,gBAAgB,WAAW,CAAC;AACpE,UAAM,YAAY,IAAI,aAAa,KAAK,SAAS;AACjD,WAAO,IAAI,8BAA8B,WAAW,SAAS;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,oBAAoB;AACxB,QAAI,KAAK,0BAA0B,SAAS;AAC1C,YAAM,KAAK;AAAA,IACb;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,MAAkC;AACrC,UAAM,EAAE,eAAe,IAAI,KAAK;AAChC,QAAI,KAAK,UAAU,GAAG;AACpB,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC/C;AACA,QAAI,KAAK,UAAU,QAAW;AAC5B,YAAM,IAAI,MAAM,mBAAmB;AAAA,IACrC;AACA,UAAM,qBAAqB,KAAK,iBAAiB,aAAa;AAC9D,UAAM,qBAAqB,KAAK,iBAAiB,KAAK,IAAI;AAE1D,WAAO,IAAI,iBAAiB;AAAA,MAC1B,WAAW,gBAAgB,KAAK,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,MACjD,sBAAsB,IAAI,qBAAqB,KAAK,sBAA0C;AAAA,MAC9F;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,gBAAgB,aAAkD;AAChE,QAAI,KAAK,UAAU,QAAW;AAC5B,YAAM,IAAI,MAAM,iBAAiB;AAAA,IACnC;AACA,UAAM,MAAM,sBAAsB,WAAW;AAC7C,UAAM,cAAc,IAAI,oBAAoB,KAAK,KAAK,MAAM,KAAK;AACjE,UAAM,WAAW,YAAY,KAAK;AAClC,WAAO,KAAK,KAAK,QAAQ;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,gBAAgB,MAAmE;AACjF,UAAM,EAAE,SAAS,UAAU,IAAI;AAC/B,QAAI,KAAK,UAAU,GAAG;AACpB,aAAO;AAAA,IACT;AACA,QAAI,CAAC,KAAK,iBAAiB,aAAa,EAAE,gBAAgB,EAAE,SAAS,WAAW,UAAU,mBAAmB,CAAC,GAAG;AAC/G,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,UAAU,OAAmC;AAClD,WAAO,gBAAe,YAAY,IAAI,aAAa,KAAK,CAAC;AAAA,EAC3D;AAAA,EAEA,OAAO,OAAO,MAQK;AACjB,UAAM,EAAE,SAAS,OAAO,KAAK,kBAAkB,QAAQ,SAAS,OAAO,mBAAmB,IAAI;AAE9F,UAAM,aAAa,UAAkD,GAAG;AACxE,UAAM,MAAM,WAAW;AACvB,QAAI,OAAO,WAAW,QAAQ,UAAU;AACtC,YAAM,IAAI,MAAM,yCAAyC;AAAA,IAC3D;AACA,UAAM,MAAM,WAAW;AACvB,UAAM,SAAS,WAAW,MAAM;AAChC,WAAO,IAAI,gBAAe;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAnSa,gBACK,gBAAwB;AADnC,IAAM,iBAAN;AAySA,IAAM,sBAAN,cAAkC,aAAa;AAAA,EAgBpD,YAAY,aAAwC,OAAiB;AACnE,UAAM;AAHR;AAAA;AAAA;AAAA,SAAS,kBAAkB;AAIzB,SAAK,cAAc;AACnB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,UAAU,YAA8B;AACtC,eAAW,oBAAoB,KAAK,YAAY,WAAW,CAAC;AAC5D,eAAW,gBAAgB,KAAK,KAAK;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAmB;AACjB,WAAO,uBAAuB,KAAK,WAAW,GAAG,KAAK,eAAe;AAAA,EACvE;AACF;","names":[]}
@@ -0,0 +1,41 @@
1
+ // src/client/types.ts
2
+ var AptosApiError = class extends Error {
3
+ /** @internal this constructor is for sdk internal use - do not instantiate outside of the SDK codebase */
4
+ constructor({ apiType, aptosRequest, aptosResponse }) {
5
+ super(deriveErrorMessage({ apiType, aptosRequest, aptosResponse }));
6
+ this.name = "AptosApiError";
7
+ this.url = aptosResponse.url;
8
+ this.status = aptosResponse.status;
9
+ this.statusText = aptosResponse.statusText;
10
+ this.data = aptosResponse.data;
11
+ this.request = aptosRequest;
12
+ }
13
+ };
14
+ function deriveErrorMessage({ apiType, aptosRequest, aptosResponse }) {
15
+ const traceId = aptosResponse.headers?.traceparent?.split("-")[1];
16
+ const traceIdString = traceId ? `(trace_id:${traceId}) ` : "";
17
+ const errorPrelude = `Request to [${apiType}]: ${aptosRequest.method} ${aptosResponse.url ?? aptosRequest.url} ${traceIdString}failed with`;
18
+ if (apiType === "Indexer" /* INDEXER */ && aptosResponse.data?.errors?.[0]?.message != null) {
19
+ return `${errorPrelude}: ${aptosResponse.data.errors[0].message}`;
20
+ }
21
+ if (aptosResponse.data?.message != null && aptosResponse.data?.error_code != null) {
22
+ return `${errorPrelude}: ${JSON.stringify(aptosResponse.data)}`;
23
+ }
24
+ return `${errorPrelude} status: ${aptosResponse.statusText}(code:${aptosResponse.status}) and response body: ${serializeAnyPayloadForErrorMessage(aptosResponse.data)}`;
25
+ }
26
+ var SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH = 400;
27
+ function serializeAnyPayloadForErrorMessage(payload) {
28
+ const serializedPayload = JSON.stringify(payload);
29
+ if (serializedPayload.length <= SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH) {
30
+ return serializedPayload;
31
+ }
32
+ return `truncated(original_size:${serializedPayload.length}): ${serializedPayload.slice(
33
+ 0,
34
+ SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH / 2
35
+ )}...${serializedPayload.slice(-SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH / 2)}`;
36
+ }
37
+
38
+ export {
39
+ AptosApiError
40
+ };
41
+ //# sourceMappingURL=chunk-LITCPMVC.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/types.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosRequest } from \"../types\";\nimport { AptosApiType } from \"../utils/const.js\";\n\n/**\n * The API response type\n *\n * @param status - the response status. i.e. 200\n * @param statusText - the response message\n * @param data the response data\n * @param url the url the request was made to\n * @param headers the response headers\n * @param config (optional) - the request object\n * @param request (optional) - the request object\n */\nexport interface AptosResponse<Req, Res> {\n status: number;\n statusText: string;\n data: Res;\n url: string;\n headers: any;\n config?: any;\n request?: Req;\n}\n\ntype AptosApiErrorOpts = {\n apiType: AptosApiType;\n aptosRequest: AptosRequest;\n aptosResponse: AptosResponse<any, any>;\n};\n\n/**\n * The type returned from an API error\n *\n * @param name - the error name \"AptosApiError\"\n * @param url the url the request was made to\n * @param status - the response status. i.e. 400\n * @param statusText - the response message\n * @param data the response data\n * @param request - the AptosRequest\n */\nexport class AptosApiError extends Error {\n readonly url: string;\n\n readonly status: number;\n\n readonly statusText: string;\n\n readonly data: any;\n\n readonly request: AptosRequest;\n\n /** @internal this constructor is for sdk internal use - do not instantiate outside of the SDK codebase */\n constructor({ apiType, aptosRequest, aptosResponse }: AptosApiErrorOpts) {\n super(deriveErrorMessage({ apiType, aptosRequest, aptosResponse }));\n\n this.name = \"AptosApiError\";\n this.url = aptosResponse.url;\n this.status = aptosResponse.status;\n this.statusText = aptosResponse.statusText;\n this.data = aptosResponse.data;\n this.request = aptosRequest;\n }\n}\n\nfunction deriveErrorMessage({ apiType, aptosRequest, aptosResponse }: AptosApiErrorOpts): string {\n // extract the W3C trace_id from the response headers if it exists. Some services set this in the response and it's useful for debugging.\n // See https://www.w3.org/TR/trace-context/#relationship-between-the-headers .\n const traceId = aptosResponse.headers?.traceparent?.split(\"-\")[1];\n const traceIdString = traceId ? `(trace_id:${traceId}) ` : \"\";\n\n const errorPrelude: string = `Request to [${apiType}]: ${aptosRequest.method} ${\n aptosResponse.url ?? aptosRequest.url\n } ${traceIdString}failed with`;\n\n // handle graphql responses from indexer api and extract the error message of the first error\n if (apiType === AptosApiType.INDEXER && aptosResponse.data?.errors?.[0]?.message != null) {\n return `${errorPrelude}: ${aptosResponse.data.errors[0].message}`;\n }\n\n // Received well-known structured error response body - simply serialize and return it.\n // We don't need http status codes etc. in this case.\n if (aptosResponse.data?.message != null && aptosResponse.data?.error_code != null) {\n return `${errorPrelude}: ${JSON.stringify(aptosResponse.data)}`;\n }\n\n // This is the generic/catch-all case. We received some response from the API but it doesn't appear to be a well-known structure.\n // We print http status codes and the response body (after some trimming),\n // in the hope that this gives enough context what went wrong without printing overly huge messages.\n return `${errorPrelude} status: ${aptosResponse.statusText}(code:${\n aptosResponse.status\n }) and response body: ${serializeAnyPayloadForErrorMessage(aptosResponse.data)}`;\n}\n\nconst SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH = 400;\n\n// this function accepts a payload of any type (probably an object) and serializes it to a string\n// Since we don't know the type or size of the payload and we don't want to add a huge object in full to the error message\n// we limit the to the first 200 and last 200 characters of the serialized payload and put a \"...\" in the middle.\nfunction serializeAnyPayloadForErrorMessage(payload: any): string {\n const serializedPayload = JSON.stringify(payload);\n if (serializedPayload.length <= SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH) {\n return serializedPayload;\n }\n return `truncated(original_size:${serializedPayload.length}): ${serializedPayload.slice(\n 0,\n SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH / 2,\n )}...${serializedPayload.slice(-SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH / 2)}`;\n}\n"],"mappings":"AA2CO,IAAMA,EAAN,cAA4B,KAAM,CAYvC,YAAY,CAAE,QAAAC,EAAS,aAAAC,EAAc,cAAAC,CAAc,EAAsB,CACvE,MAAMC,EAAmB,CAAE,QAAAH,EAAS,aAAAC,EAAc,cAAAC,CAAc,CAAC,CAAC,EAElE,KAAK,KAAO,gBACZ,KAAK,IAAMA,EAAc,IACzB,KAAK,OAASA,EAAc,OAC5B,KAAK,WAAaA,EAAc,WAChC,KAAK,KAAOA,EAAc,KAC1B,KAAK,QAAUD,CACjB,CACF,EAEA,SAASE,EAAmB,CAAE,QAAAH,EAAS,aAAAC,EAAc,cAAAC,CAAc,EAA8B,CAG/F,IAAME,EAAUF,EAAc,SAAS,aAAa,MAAM,GAAG,EAAE,CAAC,EAC1DG,EAAgBD,EAAU,aAAaA,CAAO,KAAO,GAErDE,EAAuB,eAAeN,CAAO,MAAMC,EAAa,MAAM,IAC1EC,EAAc,KAAOD,EAAa,GACpC,IAAII,CAAa,cAGjB,OAAIL,eAAoCE,EAAc,MAAM,SAAS,CAAC,GAAG,SAAW,KAC3E,GAAGI,CAAY,KAAKJ,EAAc,KAAK,OAAO,CAAC,EAAE,OAAO,GAK7DA,EAAc,MAAM,SAAW,MAAQA,EAAc,MAAM,YAAc,KACpE,GAAGI,CAAY,KAAK,KAAK,UAAUJ,EAAc,IAAI,CAAC,GAMxD,GAAGI,CAAY,YAAYJ,EAAc,UAAU,SACxDA,EAAc,MAChB,wBAAwBK,EAAmCL,EAAc,IAAI,CAAC,EAChF,CAEA,IAAMM,EAAwC,IAK9C,SAASD,EAAmCE,EAAsB,CAChE,IAAMC,EAAoB,KAAK,UAAUD,CAAO,EAChD,OAAIC,EAAkB,QAAUF,EACvBE,EAEF,2BAA2BA,EAAkB,MAAM,MAAMA,EAAkB,MAChF,EACAF,EAAwC,CAC1C,CAAC,MAAME,EAAkB,MAAM,CAACF,EAAwC,CAAC,CAAC,EAC5E","names":["AptosApiError","apiType","aptosRequest","aptosResponse","deriveErrorMessage","traceId","traceIdString","errorPrelude","serializeAnyPayloadForErrorMessage","SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH","payload","serializedPayload"]}
1
+ {"version":3,"sources":["../../src/client/types.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosRequest } from \"../types\";\nimport { AptosApiType } from \"../utils/const.js\";\n\n/**\n * The API response type\n *\n * @param status - the response status. i.e. 200\n * @param statusText - the response message\n * @param data the response data\n * @param url the url the request was made to\n * @param headers the response headers\n * @param config (optional) - the request object\n * @param request (optional) - the request object\n */\nexport interface AptosResponse<Req, Res> {\n status: number;\n statusText: string;\n data: Res;\n url: string;\n headers: any;\n config?: any;\n request?: Req;\n}\n\ntype AptosApiErrorOpts = {\n apiType: AptosApiType;\n aptosRequest: AptosRequest;\n aptosResponse: AptosResponse<any, any>;\n};\n\n/**\n * The type returned from an API error\n *\n * @param name - the error name \"AptosApiError\"\n * @param url the url the request was made to\n * @param status - the response status. i.e. 400\n * @param statusText - the response message\n * @param data the response data\n * @param request - the AptosRequest\n */\nexport class AptosApiError extends Error {\n readonly url: string;\n\n readonly status: number;\n\n readonly statusText: string;\n\n readonly data: any;\n\n readonly request: AptosRequest;\n\n /** @internal this constructor is for sdk internal use - do not instantiate outside of the SDK codebase */\n constructor({ apiType, aptosRequest, aptosResponse }: AptosApiErrorOpts) {\n super(deriveErrorMessage({ apiType, aptosRequest, aptosResponse }));\n\n this.name = \"AptosApiError\";\n this.url = aptosResponse.url;\n this.status = aptosResponse.status;\n this.statusText = aptosResponse.statusText;\n this.data = aptosResponse.data;\n this.request = aptosRequest;\n }\n}\n\nfunction deriveErrorMessage({ apiType, aptosRequest, aptosResponse }: AptosApiErrorOpts): string {\n // extract the W3C trace_id from the response headers if it exists. Some services set this in the response and it's useful for debugging.\n // See https://www.w3.org/TR/trace-context/#relationship-between-the-headers .\n const traceId = aptosResponse.headers?.traceparent?.split(\"-\")[1];\n const traceIdString = traceId ? `(trace_id:${traceId}) ` : \"\";\n\n const errorPrelude: string = `Request to [${apiType}]: ${aptosRequest.method} ${\n aptosResponse.url ?? aptosRequest.url\n } ${traceIdString}failed with`;\n\n // handle graphql responses from indexer api and extract the error message of the first error\n if (apiType === AptosApiType.INDEXER && aptosResponse.data?.errors?.[0]?.message != null) {\n return `${errorPrelude}: ${aptosResponse.data.errors[0].message}`;\n }\n\n // Received well-known structured error response body - simply serialize and return it.\n // We don't need http status codes etc. in this case.\n if (aptosResponse.data?.message != null && aptosResponse.data?.error_code != null) {\n return `${errorPrelude}: ${JSON.stringify(aptosResponse.data)}`;\n }\n\n // This is the generic/catch-all case. We received some response from the API but it doesn't appear to be a well-known structure.\n // We print http status codes and the response body (after some trimming),\n // in the hope that this gives enough context what went wrong without printing overly huge messages.\n return `${errorPrelude} status: ${aptosResponse.statusText}(code:${\n aptosResponse.status\n }) and response body: ${serializeAnyPayloadForErrorMessage(aptosResponse.data)}`;\n}\n\nconst SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH = 400;\n\n// this function accepts a payload of any type (probably an object) and serializes it to a string\n// Since we don't know the type or size of the payload and we don't want to add a huge object in full to the error message\n// we limit the to the first 200 and last 200 characters of the serialized payload and put a \"...\" in the middle.\nfunction serializeAnyPayloadForErrorMessage(payload: any): string {\n const serializedPayload = JSON.stringify(payload);\n if (serializedPayload.length <= SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH) {\n return serializedPayload;\n }\n return `truncated(original_size:${serializedPayload.length}): ${serializedPayload.slice(\n 0,\n SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH / 2,\n )}...${serializedPayload.slice(-SERIALIZED_PAYLOAD_TRIM_TO_MAX_LENGTH / 2)}`;\n}\n"],"mappings":";AA2CO,IAAM,gBAAN,cAA4B,MAAM;AAAA;AAAA,EAYvC,YAAY,EAAE,SAAS,cAAc,cAAc,GAAsB;AACvE,UAAM,mBAAmB,EAAE,SAAS,cAAc,cAAc,CAAC,CAAC;AAElE,SAAK,OAAO;AACZ,SAAK,MAAM,cAAc;AACzB,SAAK,SAAS,cAAc;AAC5B,SAAK,aAAa,cAAc;AAChC,SAAK,OAAO,cAAc;AAC1B,SAAK,UAAU;AAAA,EACjB;AACF;AAEA,SAAS,mBAAmB,EAAE,SAAS,cAAc,cAAc,GAA8B;AAG/F,QAAM,UAAU,cAAc,SAAS,aAAa,MAAM,GAAG,EAAE,CAAC;AAChE,QAAM,gBAAgB,UAAU,aAAa,OAAO,OAAO;AAE3D,QAAM,eAAuB,eAAe,OAAO,MAAM,aAAa,MAAM,IAC1E,cAAc,OAAO,aAAa,GACpC,IAAI,aAAa;AAGjB,MAAI,uCAAoC,cAAc,MAAM,SAAS,CAAC,GAAG,WAAW,MAAM;AACxF,WAAO,GAAG,YAAY,KAAK,cAAc,KAAK,OAAO,CAAC,EAAE,OAAO;AAAA,EACjE;AAIA,MAAI,cAAc,MAAM,WAAW,QAAQ,cAAc,MAAM,cAAc,MAAM;AACjF,WAAO,GAAG,YAAY,KAAK,KAAK,UAAU,cAAc,IAAI,CAAC;AAAA,EAC/D;AAKA,SAAO,GAAG,YAAY,YAAY,cAAc,UAAU,SACxD,cAAc,MAChB,wBAAwB,mCAAmC,cAAc,IAAI,CAAC;AAChF;AAEA,IAAM,wCAAwC;AAK9C,SAAS,mCAAmC,SAAsB;AAChE,QAAM,oBAAoB,KAAK,UAAU,OAAO;AAChD,MAAI,kBAAkB,UAAU,uCAAuC;AACrE,WAAO;AAAA,EACT;AACA,SAAO,2BAA2B,kBAAkB,MAAM,MAAM,kBAAkB;AAAA,IAChF;AAAA,IACA,wCAAwC;AAAA,EAC1C,CAAC,MAAM,kBAAkB,MAAM,CAAC,wCAAwC,CAAC,CAAC;AAC5E;","names":[]}
@@ -0,0 +1,43 @@
1
+ import {
2
+ RawTransaction
3
+ } from "./chunk-NGUFBDTH.mjs";
4
+ import {
5
+ TransactionAuthenticator
6
+ } from "./chunk-I2ZYQVA3.mjs";
7
+ import {
8
+ Serializable
9
+ } from "./chunk-UZXDD3QH.mjs";
10
+
11
+ // src/transactions/instances/signedTransaction.ts
12
+ var SignedTransaction = class _SignedTransaction extends Serializable {
13
+ /**
14
+ * A SignedTransaction consists of a raw transaction and an authenticator. The authenticator
15
+ * contains a client's public key and the signature of the raw transaction.
16
+ *
17
+ * @see {@link https://aptos.dev/integration/creating-a-signed-transaction | Creating a Signed Transaction}
18
+ *
19
+ * @param raw_txn
20
+ * @param authenticator Contains a client's public key and the signature of the raw transaction.
21
+ * Authenticator has 3 flavors: single signature, multi-signature and multi-agent.
22
+ * @see {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/authenticator.rs} for details.
23
+ */
24
+ constructor(raw_txn, authenticator) {
25
+ super();
26
+ this.raw_txn = raw_txn;
27
+ this.authenticator = authenticator;
28
+ }
29
+ serialize(serializer) {
30
+ this.raw_txn.serialize(serializer);
31
+ this.authenticator.serialize(serializer);
32
+ }
33
+ static deserialize(deserializer) {
34
+ const raw_txn = RawTransaction.deserialize(deserializer);
35
+ const authenticator = TransactionAuthenticator.deserialize(deserializer);
36
+ return new _SignedTransaction(raw_txn, authenticator);
37
+ }
38
+ };
39
+
40
+ export {
41
+ SignedTransaction
42
+ };
43
+ //# sourceMappingURL=chunk-LMUCX6RP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transactions/instances/signedTransaction.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { TransactionAuthenticator } from \"../authenticator/transaction\";\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\nimport { RawTransaction } from \"./rawTransaction\";\n\nexport class SignedTransaction extends Serializable {\n public readonly raw_txn: RawTransaction;\n\n public readonly authenticator: TransactionAuthenticator;\n\n /**\n * A SignedTransaction consists of a raw transaction and an authenticator. The authenticator\n * contains a client's public key and the signature of the raw transaction.\n *\n * @see {@link https://aptos.dev/integration/creating-a-signed-transaction | Creating a Signed Transaction}\n *\n * @param raw_txn\n * @param authenticator Contains a client's public key and the signature of the raw transaction.\n * Authenticator has 3 flavors: single signature, multi-signature and multi-agent.\n * @see {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/authenticator.rs} for details.\n */\n constructor(raw_txn: RawTransaction, authenticator: TransactionAuthenticator) {\n super();\n this.raw_txn = raw_txn;\n this.authenticator = authenticator;\n }\n\n serialize(serializer: Serializer): void {\n this.raw_txn.serialize(serializer);\n this.authenticator.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): SignedTransaction {\n const raw_txn = RawTransaction.deserialize(deserializer);\n const authenticator = TransactionAuthenticator.deserialize(deserializer);\n return new SignedTransaction(raw_txn, authenticator);\n }\n}\n"],"mappings":"2HAUO,IAAMA,EAAN,MAAMC,UAA0BC,CAAa,CAgBlD,YAAYC,EAAyBC,EAAyC,CAC5E,MAAM,EACN,KAAK,QAAUD,EACf,KAAK,cAAgBC,CACvB,CAEA,UAAUC,EAA8B,CACtC,KAAK,QAAQ,UAAUA,CAAU,EACjC,KAAK,cAAc,UAAUA,CAAU,CACzC,CAEA,OAAO,YAAYC,EAA+C,CAChE,IAAMH,EAAUI,EAAe,YAAYD,CAAY,EACjDF,EAAgBI,EAAyB,YAAYF,CAAY,EACvE,OAAO,IAAIL,EAAkBE,EAASC,CAAa,CACrD,CACF","names":["SignedTransaction","_SignedTransaction","Serializable","raw_txn","authenticator","serializer","deserializer","RawTransaction","TransactionAuthenticator"]}
1
+ {"version":3,"sources":["../../src/transactions/instances/signedTransaction.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { TransactionAuthenticator } from \"../authenticator/transaction\";\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\nimport { RawTransaction } from \"./rawTransaction\";\n\nexport class SignedTransaction extends Serializable {\n public readonly raw_txn: RawTransaction;\n\n public readonly authenticator: TransactionAuthenticator;\n\n /**\n * A SignedTransaction consists of a raw transaction and an authenticator. The authenticator\n * contains a client's public key and the signature of the raw transaction.\n *\n * @see {@link https://aptos.dev/integration/creating-a-signed-transaction | Creating a Signed Transaction}\n *\n * @param raw_txn\n * @param authenticator Contains a client's public key and the signature of the raw transaction.\n * Authenticator has 3 flavors: single signature, multi-signature and multi-agent.\n * @see {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/authenticator.rs} for details.\n */\n constructor(raw_txn: RawTransaction, authenticator: TransactionAuthenticator) {\n super();\n this.raw_txn = raw_txn;\n this.authenticator = authenticator;\n }\n\n serialize(serializer: Serializer): void {\n this.raw_txn.serialize(serializer);\n this.authenticator.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): SignedTransaction {\n const raw_txn = RawTransaction.deserialize(deserializer);\n const authenticator = TransactionAuthenticator.deserialize(deserializer);\n return new SignedTransaction(raw_txn, authenticator);\n }\n}\n"],"mappings":";;;;;;;;;;;AAUO,IAAM,oBAAN,MAAM,2BAA0B,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBlD,YAAY,SAAyB,eAAyC;AAC5E,UAAM;AACN,SAAK,UAAU;AACf,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEA,UAAU,YAA8B;AACtC,SAAK,QAAQ,UAAU,UAAU;AACjC,SAAK,cAAc,UAAU,UAAU;AAAA,EACzC;AAAA,EAEA,OAAO,YAAY,cAA+C;AAChE,UAAM,UAAU,eAAe,YAAY,YAAY;AACvD,UAAM,gBAAgB,yBAAyB,YAAY,YAAY;AACvE,WAAO,IAAI,mBAAkB,SAAS,aAAa;AAAA,EACrD;AACF;","names":[]}
@@ -0,0 +1,58 @@
1
+ import {
2
+ FeePayerRawTransaction,
3
+ MultiAgentRawTransaction
4
+ } from "./chunk-NGUFBDTH.mjs";
5
+ import {
6
+ RAW_TRANSACTION_SALT,
7
+ RAW_TRANSACTION_WITH_DATA_SALT
8
+ } from "./chunk-4K4TZF3H.mjs";
9
+
10
+ // src/transactions/transactionBuilder/signingMessage.ts
11
+ import { sha3_256 as sha3Hash } from "@noble/hashes/sha3";
12
+ function deriveTransactionType(transaction) {
13
+ if (transaction.feePayerAddress) {
14
+ return new FeePayerRawTransaction(
15
+ transaction.rawTransaction,
16
+ transaction.secondarySignerAddresses ?? [],
17
+ transaction.feePayerAddress
18
+ );
19
+ }
20
+ if (transaction.secondarySignerAddresses) {
21
+ return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);
22
+ }
23
+ return transaction.rawTransaction;
24
+ }
25
+ function generateSigningMessage(bytes, domainSeparator) {
26
+ const hash = sha3Hash.create();
27
+ if (!domainSeparator.startsWith("APTOS::")) {
28
+ throw new Error(`Domain separator needs to start with 'APTOS::'. Provided - ${domainSeparator}`);
29
+ }
30
+ hash.update(domainSeparator);
31
+ const prefix = hash.digest();
32
+ const body = bytes;
33
+ const mergedArray = new Uint8Array(prefix.length + body.length);
34
+ mergedArray.set(prefix);
35
+ mergedArray.set(body, prefix.length);
36
+ return mergedArray;
37
+ }
38
+ function generateSigningMessageForSerializable(serializable) {
39
+ return generateSigningMessage(serializable.bcsToBytes(), `APTOS::${serializable.constructor.name}`);
40
+ }
41
+ function generateSigningMessageForTransaction(transaction) {
42
+ const rawTxn = deriveTransactionType(transaction);
43
+ if (transaction.feePayerAddress) {
44
+ return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);
45
+ }
46
+ if (transaction.secondarySignerAddresses) {
47
+ return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);
48
+ }
49
+ return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_SALT);
50
+ }
51
+
52
+ export {
53
+ deriveTransactionType,
54
+ generateSigningMessage,
55
+ generateSigningMessageForSerializable,
56
+ generateSigningMessageForTransaction
57
+ };
58
+ //# sourceMappingURL=chunk-LMUNGBGS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transactions/transactionBuilder/signingMessage.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file handles the generation of the signing message.\n */\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { RAW_TRANSACTION_SALT, RAW_TRANSACTION_WITH_DATA_SALT } from \"../../utils/const\";\nimport { FeePayerRawTransaction, MultiAgentRawTransaction } from \"../instances\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../types\";\nimport { Serializable } from \"../../bcs\";\n\n/**\n * Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction\n *\n * @param transaction A aptos transaction type\n *\n * @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction\n */\nexport function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {\n if (transaction.feePayerAddress) {\n return new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n }\n if (transaction.secondarySignerAddresses) {\n return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);\n }\n\n return transaction.rawTransaction;\n}\n\n/**\n * Generates the 'signing message' form of a message to be signed.\n *\n * @param bytes The byte representation of the message to be signed and sent to the chain\n * @param domainSeparator A domain separator that starts with 'APTOS::'\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessage(bytes: Uint8Array, domainSeparator: string): Uint8Array {\n const hash = sha3Hash.create();\n\n if (!domainSeparator.startsWith(\"APTOS::\")) {\n throw new Error(`Domain separator needs to start with 'APTOS::'. Provided - ${domainSeparator}`);\n }\n\n hash.update(domainSeparator);\n\n const prefix = hash.digest();\n\n const body = bytes;\n\n const mergedArray = new Uint8Array(prefix.length + body.length);\n mergedArray.set(prefix);\n mergedArray.set(body, prefix.length);\n\n return mergedArray;\n}\n\n/**\n * @deprecated\n * Use CryptoHashable instead by having your class implement it and call hash() to get the signing message.\n *\n * Generates the 'signing message' form of a serilizable value. It bcs serializes the value and uses the name of\n * its constructor as the domain separator.\n *\n * @param serializable An object that has a bcs serialized form\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessageForSerializable(serializable: Serializable): Uint8Array {\n return generateSigningMessage(serializable.bcsToBytes(), `APTOS::${serializable.constructor.name}`);\n}\n\n/**\n * Generates the 'signing message' form of a transaction. It derives the type of transaction and\n * applies the appropriate domain separator based on if there is extra data such as a fee payer or\n * secondary signers.\n *\n * @param transaction A transaction that is to be signed\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessageForTransaction(transaction: AnyRawTransaction): Uint8Array {\n const rawTxn = deriveTransactionType(transaction);\n if (transaction.feePayerAddress) {\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);\n }\n if (transaction.secondarySignerAddresses) {\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);\n }\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_SALT);\n}\n"],"mappings":"gGAMA,OAAS,YAAYA,MAAgB,qBAa9B,SAASC,EAAsBC,EAA2D,CAC/F,OAAIA,EAAY,gBACP,IAAIC,EACTD,EAAY,eACZA,EAAY,0BAA4B,CAAC,EACzCA,EAAY,eACd,EAEEA,EAAY,yBACP,IAAIE,EAAyBF,EAAY,eAAgBA,EAAY,wBAAwB,EAG/FA,EAAY,cACrB,CAUO,SAASG,EAAuBC,EAAmBC,EAAqC,CAC7F,IAAMC,EAAOC,EAAS,OAAO,EAE7B,GAAI,CAACF,EAAgB,WAAW,SAAS,EACvC,MAAM,IAAI,MAAM,+DAA+DA,CAAe,EAAE,EAGlGC,EAAK,OAAOD,CAAe,EAE3B,IAAMG,EAASF,EAAK,OAAO,EAErBG,EAAOL,EAEPM,EAAc,IAAI,WAAWF,EAAO,OAASC,EAAK,MAAM,EAC9D,OAAAC,EAAY,IAAIF,CAAM,EACtBE,EAAY,IAAID,EAAMD,EAAO,MAAM,EAE5BE,CACT,CAaO,SAASC,EAAsCC,EAAwC,CAC5F,OAAOT,EAAuBS,EAAa,WAAW,EAAG,UAAUA,EAAa,YAAY,IAAI,EAAE,CACpG,CAWO,SAASC,EAAqCb,EAA4C,CAC/F,IAAMc,EAASf,EAAsBC,CAAW,EAChD,OAAIA,EAAY,gBACPG,EAAuBW,EAAO,WAAW,EAAGC,CAA8B,EAE/Ef,EAAY,yBACPG,EAAuBW,EAAO,WAAW,EAAGC,CAA8B,EAE5EZ,EAAuBW,EAAO,WAAW,EAAGE,CAAoB,CACzE","names":["sha3Hash","deriveTransactionType","transaction","FeePayerRawTransaction","MultiAgentRawTransaction","generateSigningMessage","bytes","domainSeparator","hash","sha3Hash","prefix","body","mergedArray","generateSigningMessageForSerializable","serializable","generateSigningMessageForTransaction","rawTxn","RAW_TRANSACTION_WITH_DATA_SALT","RAW_TRANSACTION_SALT"]}
1
+ {"version":3,"sources":["../../src/transactions/transactionBuilder/signingMessage.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file handles the generation of the signing message.\n */\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { RAW_TRANSACTION_SALT, RAW_TRANSACTION_WITH_DATA_SALT } from \"../../utils/const\";\nimport { FeePayerRawTransaction, MultiAgentRawTransaction } from \"../instances\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../types\";\nimport { Serializable } from \"../../bcs\";\n\n/**\n * Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction\n *\n * @param transaction A aptos transaction type\n *\n * @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction\n */\nexport function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {\n if (transaction.feePayerAddress) {\n return new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n }\n if (transaction.secondarySignerAddresses) {\n return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);\n }\n\n return transaction.rawTransaction;\n}\n\n/**\n * Generates the 'signing message' form of a message to be signed.\n *\n * @param bytes The byte representation of the message to be signed and sent to the chain\n * @param domainSeparator A domain separator that starts with 'APTOS::'\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessage(bytes: Uint8Array, domainSeparator: string): Uint8Array {\n const hash = sha3Hash.create();\n\n if (!domainSeparator.startsWith(\"APTOS::\")) {\n throw new Error(`Domain separator needs to start with 'APTOS::'. Provided - ${domainSeparator}`);\n }\n\n hash.update(domainSeparator);\n\n const prefix = hash.digest();\n\n const body = bytes;\n\n const mergedArray = new Uint8Array(prefix.length + body.length);\n mergedArray.set(prefix);\n mergedArray.set(body, prefix.length);\n\n return mergedArray;\n}\n\n/**\n * @deprecated\n * Use CryptoHashable instead by having your class implement it and call hash() to get the signing message.\n *\n * Generates the 'signing message' form of a serilizable value. It bcs serializes the value and uses the name of\n * its constructor as the domain separator.\n *\n * @param serializable An object that has a bcs serialized form\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessageForSerializable(serializable: Serializable): Uint8Array {\n return generateSigningMessage(serializable.bcsToBytes(), `APTOS::${serializable.constructor.name}`);\n}\n\n/**\n * Generates the 'signing message' form of a transaction. It derives the type of transaction and\n * applies the appropriate domain separator based on if there is extra data such as a fee payer or\n * secondary signers.\n *\n * @param transaction A transaction that is to be signed\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessageForTransaction(transaction: AnyRawTransaction): Uint8Array {\n const rawTxn = deriveTransactionType(transaction);\n if (transaction.feePayerAddress) {\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);\n }\n if (transaction.secondarySignerAddresses) {\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);\n }\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_SALT);\n}\n"],"mappings":";;;;;;;;;;AAMA,SAAS,YAAY,gBAAgB;AAa9B,SAAS,sBAAsB,aAA2D;AAC/F,MAAI,YAAY,iBAAiB;AAC/B,WAAO,IAAI;AAAA,MACT,YAAY;AAAA,MACZ,YAAY,4BAA4B,CAAC;AAAA,MACzC,YAAY;AAAA,IACd;AAAA,EACF;AACA,MAAI,YAAY,0BAA0B;AACxC,WAAO,IAAI,yBAAyB,YAAY,gBAAgB,YAAY,wBAAwB;AAAA,EACtG;AAEA,SAAO,YAAY;AACrB;AAUO,SAAS,uBAAuB,OAAmB,iBAAqC;AAC7F,QAAM,OAAO,SAAS,OAAO;AAE7B,MAAI,CAAC,gBAAgB,WAAW,SAAS,GAAG;AAC1C,UAAM,IAAI,MAAM,+DAA+D,eAAe,EAAE;AAAA,EAClG;AAEA,OAAK,OAAO,eAAe;AAE3B,QAAM,SAAS,KAAK,OAAO;AAE3B,QAAM,OAAO;AAEb,QAAM,cAAc,IAAI,WAAW,OAAO,SAAS,KAAK,MAAM;AAC9D,cAAY,IAAI,MAAM;AACtB,cAAY,IAAI,MAAM,OAAO,MAAM;AAEnC,SAAO;AACT;AAaO,SAAS,sCAAsC,cAAwC;AAC5F,SAAO,uBAAuB,aAAa,WAAW,GAAG,UAAU,aAAa,YAAY,IAAI,EAAE;AACpG;AAWO,SAAS,qCAAqC,aAA4C;AAC/F,QAAM,SAAS,sBAAsB,WAAW;AAChD,MAAI,YAAY,iBAAiB;AAC/B,WAAO,uBAAuB,OAAO,WAAW,GAAG,8BAA8B;AAAA,EACnF;AACA,MAAI,YAAY,0BAA0B;AACxC,WAAO,uBAAuB,OAAO,WAAW,GAAG,8BAA8B;AAAA,EACnF;AACA,SAAO,uBAAuB,OAAO,WAAW,GAAG,oBAAoB;AACzE;","names":[]}
@@ -0,0 +1,64 @@
1
+ import {
2
+ deriveFederatedKeylessAccount,
3
+ deriveKeylessAccount,
4
+ getPepper,
5
+ getProof
6
+ } from "./chunk-2ZOJUUXC.mjs";
7
+
8
+ // src/api/keyless.ts
9
+ var Keyless = class {
10
+ constructor(config) {
11
+ this.config = config;
12
+ }
13
+ /**
14
+ * Fetches the pepper from the Aptos pepper service API.
15
+ *
16
+ * @param args.jwt JWT token
17
+ * @param args.ephemeralKeyPair the EphemeralKeyPair used to generate the nonce in the JWT token
18
+ * @param args.derivationPath a derivation path used for creating multiple accounts per user via the BIP-44 standard. Defaults
19
+ * to "m/44'/637'/0'/0'/0".
20
+ * @returns The pepper which is a Uint8Array of length 31.
21
+ */
22
+ async getPepper(args) {
23
+ return getPepper({ aptosConfig: this.config, ...args });
24
+ }
25
+ /**
26
+ * Fetches a proof from the Aptos prover service API.
27
+ *
28
+ * @param args.jwt JWT token
29
+ * @param args.ephemeralKeyPair the EphemeralKeyPair used to generate the nonce in the JWT token
30
+ * @param args.uidKey a key in the JWT token to use to set the uidVal in the IdCommitment
31
+ * @param args.pepper the pepper used for the account. If not provided it will be fetched from the Aptos pepper service
32
+ *
33
+ * @returns The proof which is represented by a ZeroKnowledgeSig.
34
+ */
35
+ async getProof(args) {
36
+ return getProof({ aptosConfig: this.config, ...args });
37
+ }
38
+ /**
39
+ * Derives the Keyless Account from the JWT token and corresponding EphemeralKeyPair. It will lookup the pepper from
40
+ * the pepper service if not explicitly provided. It will compute the proof via the proving service. It will ch
41
+ *
42
+ * @param args.jwt JWT token
43
+ * @param args.ephemeralKeyPair the EphemeralKeyPair used to generate the nonce in the JWT token
44
+ * @param args.uidKey a key in the JWT token to use to set the uidVal in the IdCommitment
45
+ * @param args.pepper the pepper
46
+ * @param args.proofFetchCallback a callback function that if set, the fetch of the proof will be done in the background. Once
47
+ * fetching finishes the callback function will be called. This should be used to provide a more responsive user experience as now
48
+ * they are not blocked on fetching the proof. Thus the function will return much more quickly.
49
+ *
50
+ * @returns A KeylessAccount that can be used to sign transactions
51
+ */
52
+ async deriveKeylessAccount(args) {
53
+ const { jwkAddress } = args;
54
+ if (jwkAddress !== void 0) {
55
+ return deriveFederatedKeylessAccount({ aptosConfig: this.config, jwkAddress, ...args });
56
+ }
57
+ return deriveKeylessAccount({ aptosConfig: this.config, ...args });
58
+ }
59
+ };
60
+
61
+ export {
62
+ Keyless
63
+ };
64
+ //# sourceMappingURL=chunk-M55VZUKD.mjs.map