@aptos-labs/ts-sdk 5.1.5 → 5.2.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 (295) hide show
  1. package/dist/common/{account-DefhsHe3.d.ts → account-DvGDel4s.d.ts} +2 -0
  2. package/dist/common/{chunk-HO5ESTN4.js → chunk-JQCMXTY7.js} +1 -1
  3. package/dist/common/chunk-JQCMXTY7.js.map +1 -0
  4. package/dist/common/cli/index.d.ts +1 -1
  5. package/dist/common/cli/index.js +1 -1
  6. package/dist/common/cli/index.js.map +1 -1
  7. package/dist/common/index.d.ts +4 -3
  8. package/dist/common/index.js +5 -5
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/esm/{Ed25519Account-CVg5T_jc.d.mts → Ed25519Account-C25CwEJi.d.mts} +1 -1
  11. package/dist/esm/account/AbstractKeylessAccount.d.mts +3 -3
  12. package/dist/esm/account/AbstractKeylessAccount.mjs +1 -1
  13. package/dist/esm/account/AbstractedAccount.d.mts +2 -2
  14. package/dist/esm/account/AbstractedAccount.mjs +1 -1
  15. package/dist/esm/account/Account.d.mts +2 -2
  16. package/dist/esm/account/Account.mjs +1 -1
  17. package/dist/esm/account/AccountUtils.d.mts +3 -3
  18. package/dist/esm/account/AccountUtils.mjs +1 -1
  19. package/dist/esm/account/DerivableAbstractedAccount.d.mts +2 -2
  20. package/dist/esm/account/DerivableAbstractedAccount.mjs +1 -1
  21. package/dist/esm/account/Ed25519Account.d.mts +2 -2
  22. package/dist/esm/account/Ed25519Account.mjs +1 -1
  23. package/dist/esm/account/EphemeralKeyPair.d.mts +1 -1
  24. package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
  25. package/dist/esm/account/FederatedKeylessAccount.d.mts +3 -3
  26. package/dist/esm/account/FederatedKeylessAccount.mjs +1 -1
  27. package/dist/esm/account/KeylessAccount.d.mts +3 -3
  28. package/dist/esm/account/KeylessAccount.mjs +1 -1
  29. package/dist/esm/account/MultiEd25519Account.d.mts +2 -2
  30. package/dist/esm/account/MultiEd25519Account.mjs +1 -1
  31. package/dist/esm/account/MultiKeyAccount.d.mts +3 -3
  32. package/dist/esm/account/MultiKeyAccount.mjs +1 -1
  33. package/dist/esm/account/SingleKeyAccount.d.mts +2 -2
  34. package/dist/esm/account/SingleKeyAccount.mjs +1 -1
  35. package/dist/esm/account/index.d.mts +3 -3
  36. package/dist/esm/account/index.mjs +1 -1
  37. package/dist/esm/account/utils.d.mts +1 -1
  38. package/dist/esm/account/utils.mjs +1 -1
  39. package/dist/esm/{account-DOs8SpoQ.d.mts → account-Bwu9vUe3.d.mts} +2 -0
  40. package/dist/esm/api/account/abstraction.d.mts +1 -1
  41. package/dist/esm/api/account/abstraction.mjs +1 -1
  42. package/dist/esm/api/account.d.mts +2 -2
  43. package/dist/esm/api/account.mjs +1 -1
  44. package/dist/esm/api/ans.d.mts +2 -2
  45. package/dist/esm/api/ans.mjs +1 -1
  46. package/dist/esm/api/aptos.d.mts +4 -4
  47. package/dist/esm/api/aptos.mjs +1 -1
  48. package/dist/esm/api/aptosConfig.d.mts +1 -1
  49. package/dist/esm/api/coin.d.mts +1 -1
  50. package/dist/esm/api/coin.mjs +1 -1
  51. package/dist/esm/api/digitalAsset.d.mts +2 -2
  52. package/dist/esm/api/digitalAsset.mjs +1 -1
  53. package/dist/esm/api/faucet.d.mts +1 -1
  54. package/dist/esm/api/faucet.mjs +1 -1
  55. package/dist/esm/api/fungibleAsset.d.mts +2 -2
  56. package/dist/esm/api/fungibleAsset.mjs +1 -1
  57. package/dist/esm/api/general.d.mts +1 -1
  58. package/dist/esm/api/general.mjs +1 -1
  59. package/dist/esm/api/index.d.mts +3 -3
  60. package/dist/esm/api/index.mjs +1 -1
  61. package/dist/esm/api/keyless.d.mts +3 -3
  62. package/dist/esm/api/keyless.mjs +1 -1
  63. package/dist/esm/api/object.d.mts +1 -1
  64. package/dist/esm/api/object.mjs +1 -1
  65. package/dist/esm/api/staking.d.mts +1 -1
  66. package/dist/esm/api/staking.mjs +1 -1
  67. package/dist/esm/api/table.d.mts +1 -1
  68. package/dist/esm/api/table.mjs +1 -1
  69. package/dist/esm/api/transaction.d.mts +2 -2
  70. package/dist/esm/api/transaction.mjs +1 -1
  71. package/dist/esm/api/transactionSubmission/build.d.mts +1 -1
  72. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  73. package/dist/esm/api/transactionSubmission/helpers.d.mts +1 -1
  74. package/dist/esm/api/transactionSubmission/management.d.mts +2 -2
  75. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  76. package/dist/esm/api/transactionSubmission/sign.d.mts +2 -2
  77. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  78. package/dist/esm/api/transactionSubmission/simulate.d.mts +1 -1
  79. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  80. package/dist/esm/api/transactionSubmission/submit.d.mts +1 -1
  81. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  82. package/dist/esm/api/utils.d.mts +1 -1
  83. package/dist/esm/api/utils.mjs +1 -1
  84. package/dist/esm/bcs/consts.d.mts +1 -1
  85. package/dist/esm/bcs/deserializer.d.mts +1 -1
  86. package/dist/esm/bcs/index.d.mts +1 -1
  87. package/dist/esm/bcs/index.mjs +1 -1
  88. package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +1 -1
  89. package/dist/esm/bcs/serializable/fixedBytes.d.mts +1 -1
  90. package/dist/esm/bcs/serializable/movePrimitives.d.mts +1 -1
  91. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  92. package/dist/esm/bcs/serializable/moveStructs.d.mts +1 -1
  93. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  94. package/dist/esm/bcs/serializer.d.mts +1 -1
  95. package/dist/esm/{chunk-VO3JD6U6.mjs → chunk-2LCPW76G.mjs} +2 -2
  96. package/dist/esm/{chunk-GRF3NBRO.mjs → chunk-52PWWLJJ.mjs} +2 -2
  97. package/dist/esm/{chunk-3JDGB4IL.mjs → chunk-6XLLQB5P.mjs} +2 -2
  98. package/dist/esm/chunk-6XLLQB5P.mjs.map +1 -0
  99. package/dist/esm/{chunk-NV35GUIY.mjs → chunk-76PXED26.mjs} +3 -3
  100. package/dist/esm/{chunk-NV35GUIY.mjs.map → chunk-76PXED26.mjs.map} +1 -1
  101. package/dist/esm/{chunk-YDWD2GVM.mjs → chunk-A2G3V23K.mjs} +2 -2
  102. package/dist/esm/chunk-AEXYYFIZ.mjs +2 -0
  103. package/dist/esm/{chunk-JYXE7MWR.mjs.map → chunk-AEXYYFIZ.mjs.map} +1 -1
  104. package/dist/esm/{chunk-3Q4MUGFR.mjs → chunk-BIQOJ3OK.mjs} +2 -2
  105. package/dist/esm/{chunk-L5EMB6TN.mjs → chunk-G2VFBYHG.mjs} +2 -2
  106. package/dist/esm/{chunk-UQT4B7EQ.mjs → chunk-HIAEKFG6.mjs} +2 -2
  107. package/dist/esm/{chunk-I7UCQWRH.mjs → chunk-IFWE34P5.mjs} +2 -2
  108. package/dist/esm/{chunk-Z7NBE6RR.mjs → chunk-IKTH33UN.mjs} +2 -2
  109. package/dist/esm/{chunk-SQW3MYZL.mjs → chunk-J426EZGD.mjs} +2 -2
  110. package/dist/esm/chunk-K2TQQFRV.mjs +2 -0
  111. package/dist/esm/chunk-K2TQQFRV.mjs.map +1 -0
  112. package/dist/esm/{chunk-M2R4ECLZ.mjs → chunk-LND3GTJ3.mjs} +2 -2
  113. package/dist/esm/{chunk-XP66F4IY.mjs → chunk-TRIYATBI.mjs} +2 -2
  114. package/dist/esm/{chunk-EM7NAPDX.mjs → chunk-UXUMXAUZ.mjs} +2 -2
  115. package/dist/esm/cli/index.d.mts +1 -1
  116. package/dist/esm/cli/index.mjs +1 -1
  117. package/dist/esm/cli/localNode.mjs +1 -1
  118. package/dist/esm/cli/move.d.mts +1 -1
  119. package/dist/esm/client/core.d.mts +2 -1
  120. package/dist/esm/client/core.mjs +1 -1
  121. package/dist/esm/client/get.d.mts +1 -1
  122. package/dist/esm/client/get.mjs +1 -1
  123. package/dist/esm/client/index.d.mts +1 -1
  124. package/dist/esm/client/index.mjs +1 -1
  125. package/dist/esm/client/post.d.mts +1 -1
  126. package/dist/esm/client/post.mjs +1 -1
  127. package/dist/esm/core/account/index.d.mts +1 -1
  128. package/dist/esm/core/account/index.mjs +1 -1
  129. package/dist/esm/core/account/utils/address.d.mts +1 -1
  130. package/dist/esm/core/account/utils/address.mjs +1 -1
  131. package/dist/esm/core/account/utils/index.d.mts +1 -1
  132. package/dist/esm/core/account/utils/index.mjs +1 -1
  133. package/dist/esm/core/accountAddress.d.mts +1 -1
  134. package/dist/esm/core/accountAddress.mjs +1 -1
  135. package/dist/esm/core/authenticationKey.d.mts +1 -1
  136. package/dist/esm/core/authenticationKey.mjs +1 -1
  137. package/dist/esm/core/crypto/abstraction.d.mts +1 -1
  138. package/dist/esm/core/crypto/abstraction.mjs +1 -1
  139. package/dist/esm/core/crypto/deserializationUtils.d.mts +1 -1
  140. package/dist/esm/core/crypto/deserializationUtils.mjs +1 -1
  141. package/dist/esm/core/crypto/ed25519.d.mts +1 -1
  142. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  143. package/dist/esm/core/crypto/ephemeral.d.mts +1 -1
  144. package/dist/esm/core/crypto/ephemeral.mjs +1 -1
  145. package/dist/esm/core/crypto/federatedKeyless.d.mts +2 -2
  146. package/dist/esm/core/crypto/federatedKeyless.mjs +1 -1
  147. package/dist/esm/core/crypto/index.d.mts +2 -2
  148. package/dist/esm/core/crypto/index.mjs +1 -1
  149. package/dist/esm/core/crypto/keyless.d.mts +2 -2
  150. package/dist/esm/core/crypto/keyless.mjs +1 -1
  151. package/dist/esm/core/crypto/multiEd25519.d.mts +1 -1
  152. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  153. package/dist/esm/core/crypto/multiKey.d.mts +1 -1
  154. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  155. package/dist/esm/core/crypto/privateKey.d.mts +1 -1
  156. package/dist/esm/core/crypto/privateKey.mjs +1 -1
  157. package/dist/esm/core/crypto/proof.d.mts +1 -1
  158. package/dist/esm/core/crypto/proof.mjs +1 -1
  159. package/dist/esm/core/crypto/publicKey.d.mts +1 -1
  160. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  161. package/dist/esm/core/crypto/secp256k1.d.mts +1 -1
  162. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  163. package/dist/esm/core/crypto/secp256r1.d.mts +1 -1
  164. package/dist/esm/core/crypto/secp256r1.mjs +1 -1
  165. package/dist/esm/core/crypto/signature.d.mts +1 -1
  166. package/dist/esm/core/crypto/signature.mjs +1 -1
  167. package/dist/esm/core/crypto/singleKey.d.mts +1 -1
  168. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  169. package/dist/esm/core/crypto/types.d.mts +1 -1
  170. package/dist/esm/core/crypto/utils.d.mts +1 -1
  171. package/dist/esm/core/crypto/utils.mjs +1 -1
  172. package/dist/esm/core/hex.d.mts +1 -1
  173. package/dist/esm/core/index.d.mts +2 -2
  174. package/dist/esm/core/index.mjs +1 -1
  175. package/dist/esm/errors/index.d.mts +1 -1
  176. package/dist/esm/errors/index.mjs +1 -1
  177. package/dist/esm/{federatedKeyless-CxdU4W95.d.mts → federatedKeyless-BfOrG2BM.d.mts} +1 -1
  178. package/dist/esm/index.d.mts +3 -3
  179. package/dist/esm/index.mjs +1 -1
  180. package/dist/esm/internal/abstraction.d.mts +1 -1
  181. package/dist/esm/internal/abstraction.mjs +1 -1
  182. package/dist/esm/internal/account.d.mts +2 -2
  183. package/dist/esm/internal/account.mjs +1 -1
  184. package/dist/esm/internal/ans.d.mts +2 -2
  185. package/dist/esm/internal/ans.mjs +1 -1
  186. package/dist/esm/internal/coin.d.mts +1 -1
  187. package/dist/esm/internal/coin.mjs +1 -1
  188. package/dist/esm/internal/digitalAsset.d.mts +2 -2
  189. package/dist/esm/internal/digitalAsset.mjs +1 -1
  190. package/dist/esm/internal/faucet.d.mts +1 -1
  191. package/dist/esm/internal/faucet.mjs +1 -1
  192. package/dist/esm/internal/fungibleAsset.d.mts +2 -2
  193. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  194. package/dist/esm/internal/general.d.mts +1 -1
  195. package/dist/esm/internal/general.mjs +1 -1
  196. package/dist/esm/internal/keyless.d.mts +3 -3
  197. package/dist/esm/internal/keyless.mjs +1 -1
  198. package/dist/esm/internal/object.d.mts +1 -1
  199. package/dist/esm/internal/object.mjs +1 -1
  200. package/dist/esm/internal/staking.d.mts +1 -1
  201. package/dist/esm/internal/staking.mjs +1 -1
  202. package/dist/esm/internal/table.d.mts +1 -1
  203. package/dist/esm/internal/table.mjs +1 -1
  204. package/dist/esm/internal/transaction.d.mts +1 -1
  205. package/dist/esm/internal/transaction.mjs +1 -1
  206. package/dist/esm/internal/transactionSubmission.d.mts +2 -2
  207. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  208. package/dist/esm/internal/utils/index.d.mts +1 -1
  209. package/dist/esm/internal/utils/index.mjs +1 -1
  210. package/dist/esm/internal/utils/utils.d.mts +1 -1
  211. package/dist/esm/internal/utils/utils.mjs +1 -1
  212. package/dist/esm/internal/view.d.mts +1 -1
  213. package/dist/esm/internal/view.mjs +1 -1
  214. package/dist/esm/transactions/authenticator/account.d.mts +1 -1
  215. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  216. package/dist/esm/transactions/authenticator/index.d.mts +1 -1
  217. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  218. package/dist/esm/transactions/authenticator/transaction.d.mts +1 -1
  219. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  220. package/dist/esm/transactions/index.d.mts +1 -1
  221. package/dist/esm/transactions/index.mjs +1 -1
  222. package/dist/esm/transactions/instances/chainId.d.mts +1 -1
  223. package/dist/esm/transactions/instances/identifier.d.mts +1 -1
  224. package/dist/esm/transactions/instances/index.d.mts +1 -1
  225. package/dist/esm/transactions/instances/index.mjs +1 -1
  226. package/dist/esm/transactions/instances/moduleId.d.mts +1 -1
  227. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  228. package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +1 -1
  229. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  230. package/dist/esm/transactions/instances/rawTransaction.d.mts +1 -1
  231. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  232. package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +1 -1
  233. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  234. package/dist/esm/transactions/instances/signedTransaction.d.mts +1 -1
  235. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  236. package/dist/esm/transactions/instances/simpleTransaction.d.mts +1 -1
  237. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  238. package/dist/esm/transactions/instances/transactionArgument.d.mts +1 -1
  239. package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -1
  240. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  241. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +2 -2
  242. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  243. package/dist/esm/transactions/management/index.d.mts +2 -2
  244. package/dist/esm/transactions/management/index.mjs +1 -1
  245. package/dist/esm/transactions/management/transactionWorker.d.mts +2 -2
  246. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  247. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +1 -1
  248. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  249. package/dist/esm/transactions/transactionBuilder/index.d.mts +1 -1
  250. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  251. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +1 -1
  252. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  253. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +1 -1
  254. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
  255. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +1 -1
  256. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  257. package/dist/esm/transactions/typeTag/index.d.mts +1 -1
  258. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  259. package/dist/esm/transactions/typeTag/parser.d.mts +1 -1
  260. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  261. package/dist/esm/transactions/types.d.mts +1 -1
  262. package/dist/esm/types/index.d.mts +1 -1
  263. package/dist/esm/types/index.mjs +1 -1
  264. package/dist/esm/types/types.d.mts +1 -1
  265. package/dist/esm/types/types.mjs +1 -1
  266. package/dist/esm/utils/helpers.d.mts +1 -1
  267. package/dist/esm/utils/helpers.mjs +1 -1
  268. package/dist/esm/utils/index.d.mts +1 -1
  269. package/dist/esm/utils/index.mjs +1 -1
  270. package/dist/esm/utils/normalizeBundle.d.mts +1 -1
  271. package/dist/esm/utils/normalizeBundle.mjs +1 -1
  272. package/dist/esm/version.d.mts +1 -1
  273. package/dist/esm/version.mjs +1 -1
  274. package/package.json +2 -2
  275. package/src/api/aptos.ts +0 -2
  276. package/src/client/core.ts +2 -0
  277. package/src/types/types.ts +2 -0
  278. package/src/version.ts +1 -1
  279. package/dist/common/chunk-HO5ESTN4.js.map +0 -1
  280. package/dist/esm/chunk-3JDGB4IL.mjs.map +0 -1
  281. package/dist/esm/chunk-JYXE7MWR.mjs +0 -2
  282. package/dist/esm/chunk-KNVQ5OJ7.mjs +0 -2
  283. package/dist/esm/chunk-KNVQ5OJ7.mjs.map +0 -1
  284. /package/dist/esm/{chunk-VO3JD6U6.mjs.map → chunk-2LCPW76G.mjs.map} +0 -0
  285. /package/dist/esm/{chunk-GRF3NBRO.mjs.map → chunk-52PWWLJJ.mjs.map} +0 -0
  286. /package/dist/esm/{chunk-YDWD2GVM.mjs.map → chunk-A2G3V23K.mjs.map} +0 -0
  287. /package/dist/esm/{chunk-3Q4MUGFR.mjs.map → chunk-BIQOJ3OK.mjs.map} +0 -0
  288. /package/dist/esm/{chunk-L5EMB6TN.mjs.map → chunk-G2VFBYHG.mjs.map} +0 -0
  289. /package/dist/esm/{chunk-UQT4B7EQ.mjs.map → chunk-HIAEKFG6.mjs.map} +0 -0
  290. /package/dist/esm/{chunk-I7UCQWRH.mjs.map → chunk-IFWE34P5.mjs.map} +0 -0
  291. /package/dist/esm/{chunk-Z7NBE6RR.mjs.map → chunk-IKTH33UN.mjs.map} +0 -0
  292. /package/dist/esm/{chunk-SQW3MYZL.mjs.map → chunk-J426EZGD.mjs.map} +0 -0
  293. /package/dist/esm/{chunk-M2R4ECLZ.mjs.map → chunk-LND3GTJ3.mjs.map} +0 -0
  294. /package/dist/esm/{chunk-XP66F4IY.mjs.map → chunk-TRIYATBI.mjs.map} +0 -0
  295. /package/dist/esm/{chunk-EM7NAPDX.mjs.map → chunk-UXUMXAUZ.mjs.map} +0 -0
@@ -1,4 +1,4 @@
1
- import{a as Qn,b as Lr}from"./chunk-A5L76YP7.mjs";import{a as Ln}from"./chunk-6IWGTO2J.mjs";import{a as D}from"./chunk-3P474TWM.mjs";import{a as oo}from"./chunk-Z7NBE6RR.mjs";import{a as Nr,c as Gr}from"./chunk-VO3JD6U6.mjs";import{a as Fe,b as Vn,c as Gt,d as Fr,e as Mt}from"./chunk-GOXRBEIJ.mjs";import{a as Nt}from"./chunk-2PASUPUO.mjs";import{a as Bi}from"./chunk-KUF4DKN5.mjs";import{a as kr,b as zi}from"./chunk-GRF3NBRO.mjs";import{a as Q}from"./chunk-QDJDZ3ON.mjs";import{a as Mn,b as ke}from"./chunk-5FNZUL2Y.mjs";import{d as Di,e as Ri,f as Oi,g as Ni,h as Gi,i as Mi,j as Bn}from"./chunk-C3Q23D22.mjs";import{a as Wn,b as Io}from"./chunk-L5EMB6TN.mjs";import{a as Vr,b as Hr}from"./chunk-QREVMGQZ.mjs";import{a as ne}from"./chunk-RYOICF37.mjs";import{a as $r}from"./chunk-I7UCQWRH.mjs";import{a as Eo}from"./chunk-XP66F4IY.mjs";import{a as T}from"./chunk-M2R4ECLZ.mjs";import{a as vo,b as jn,c as Co,d as _o,e as Uo,g as $t,h as ko,k as Fo,l as zo}from"./chunk-EM7NAPDX.mjs";import{a as Ht}from"./chunk-YOZBVVKL.mjs";import{a as qn,b as Po,c as P,e as Ko,f as xo}from"./chunk-SQW3MYZL.mjs";import{A as To,B as Br,C as So,d as so,e as ao,f as co,g as uo,h as po,j as lo,k as go,l as yo,m as mo,o as fo,p as Ao,q as ho,s as bo,t as wo,u as Lt,v as Mr,w as $n}from"./chunk-UL777LTI.mjs";import{b as st,d as to,e as Rr,f as Or}from"./chunk-YDWD2GVM.mjs";import{b as Vt,d as no,e as ro,f as io}from"./chunk-UQT4B7EQ.mjs";import{a as Wi}from"./chunk-LD3I4CYO.mjs";import{d as S,e as eo}from"./chunk-G3HAIETV.mjs";import{a as yn,b as ji,c as Ve,d as Qi,e as Ji,f as Zi,i as Yi,j as Xi,k as ue,l as Bt}from"./chunk-PYVKCTUN.mjs";import{a as Hn}from"./chunk-C5UZZHA4.mjs";import{b as u}from"./chunk-MEG27LEV.mjs";import{a as Ui}from"./chunk-43LWUUXS.mjs";import{a as Ft}from"./chunk-DIFSO4N6.mjs";import{a as K,b as Fi,c as z,d as te}from"./chunk-3Q4MUGFR.mjs";import{a as H,b as Se,c as zt,d as Dt,e as fe,f as Rt,g as Ot}from"./chunk-5ABS6RDR.mjs";import{J as j,m as ki}from"./chunk-3JDGB4IL.mjs";import{a as w,b as ee}from"./chunk-I42Z32Q2.mjs";import{a as F}from"./chunk-Y426VCPM.mjs";import{b as m,c as _i}from"./chunk-STY74NUA.mjs";import{d as Ci}from"./chunk-X2TPNKLV.mjs";import{a as Do}from"./chunk-NCKJ7X57.mjs";import{g as zr}from"./chunk-P5HCJN3A.mjs";import{d as Vi,e as Be,f as Hi,g as Li,h as Dr,i as $i,k as qi}from"./chunk-OLILO7VD.mjs";import{a as Ur}from"./chunk-KDMSOCZY.mjs";import{ed25519 as _r}from"@noble/curves/ed25519";import{jwtDecode as Ia}from"jwt-decode";import{sha3_256 as Mc}from"@noble/hashes/sha3";import{bn254 as Ue}from"@noble/curves/bn254";import{bytesToNumberBE as Bc}from"@noble/curves/abstract/utils";import{encode as Vc}from"js-base64";import{sha3_256 as Ro}from"@noble/hashes/sha3";import{secp256k1 as mn}from"@noble/curves/secp256k1";import{HDKey as va}from"@scure/bip32";var Pe=class Pe extends Mn{constructor(t){super();this.keyType="secp256k1";let r=m.fromHexInput(t),{length:i}=r.toUint8Array();if(i===Pe.LENGTH)this.key=r;else if(i===Pe.COMPRESSED_LENGTH){let o=mn.ProjectivePoint.fromHex(r.toUint8Array());this.key=m.fromHexInput(o.toRawBytes(!1))}else throw new Error(`PublicKey length should be ${Pe.LENGTH} or ${Pe.COMPRESSED_LENGTH}, received ${i}`)}verifySignature(t){let{message:r,signature:i}=t,o=Wt(r),s=m.fromHexInput(o).toUint8Array(),a=Ro(s),c=i.toUint8Array();return mn.verify(c,a,this.key.toUint8Array(),{lowS:!0})}async verifySignatureAsync(t){return this.verifySignature(t)}toUint8Array(){return this.key.toUint8Array()}serialize(t){t.serializeBytes(this.key.toUint8Array())}deserialize(t){let r=t.deserializeBytes();return new Le(r)}static deserialize(t){let r=t.deserializeBytes();return new Pe(r)}static isPublicKey(t){return t instanceof Pe}static isInstance(t){return"key"in t&&t.key?.data?.length===Pe.LENGTH&&"keyType"in t&&t.keyType==="secp256k1"}};Pe.LENGTH=65,Pe.COMPRESSED_LENGTH=33;var Ke=Pe,ze=class ze extends w{constructor(e,t){super();let r=Nt.parseHexInput(e,"secp256k1",t);if(r.toUint8Array().length!==ze.LENGTH)throw new Error(`PrivateKey length should be ${ze.LENGTH}`);this.key=r}static generate(){let e=mn.utils.randomPrivateKey();return new ze(e,!1)}static fromDerivationPath(e,t){if(!Ri(e))throw new Error(`Invalid derivation path ${e}`);return ze.fromDerivationPathInner(e,Bn(t))}static fromDerivationPathInner(e,t){let{privateKey:r}=va.fromMasterSeed(t).derive(e);if(r===null)throw new Error("Invalid key");return new ze(r,!1)}sign(e){let t=Wt(e),r=m.fromHexInput(t),i=Ro(r.toUint8Array()),o=mn.sign(i,this.key.toUint8Array(),{lowS:!0});return new Le(o.toCompactRawBytes())}publicKey(){let e=mn.getPublicKey(this.key.toUint8Array(),!1);return new Ke(e)}toUint8Array(){return this.key.toUint8Array()}toString(){return this.toAIP80String()}toHexString(){return this.key.toString()}toAIP80String(){return Nt.formatPrivateKey(this.key.toString(),"secp256k1")}serialize(e){e.serializeBytes(this.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new ze(t,!1)}static isPrivateKey(e){return e instanceof ze}};ze.LENGTH=32;var He=ze,qt=class qt extends Q{constructor(e){super();let t=m.fromHexInput(e);if(t.toUint8Array().length!==qt.LENGTH)throw new Error(`Signature length should be ${qt.LENGTH}, received ${t.toUint8Array().length}`);this.data=t}toUint8Array(){return this.data.toUint8Array()}serialize(e){e.serializeBytes(this.data.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new qt(t)}};qt.LENGTH=64;var Le=qt;var x=class n extends ke{constructor(e){if(super(),this.publicKey=e,e instanceof b)this.variant=0;else if(e instanceof Ke)this.variant=1;else if(e instanceof Nr)this.variant=2;else if(e instanceof E)this.variant=3;else if(e instanceof G)this.variant=4;else throw new Error("Unsupported public key type")}verifySignature(e){let{message:t,signature:r}=e;if(this.publicKey instanceof E)throw new Error("Use verifySignatureAsync to verify Keyless signatures");return this.publicKey.verifySignature({message:t,signature:r.signature})}async verifySignatureAsync(e){if(!(e.signature instanceof R)){if(e.options?.throwErrorWithReason)throw new Error("Signature must be an instance of AnySignature");return!1}return await this.publicKey.verifySignatureAsync({...e,signature:e.signature.signature})}authKey(){return ne.fromSchemeAndBytes({scheme:2,input:this.toUint8Array()})}toUint8Array(){return this.bcsToBytes()}serialize(e){e.serializeU32AsUleb128(this.variant),this.publicKey.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32(),r;switch(t){case 0:r=b.deserialize(e);break;case 1:r=Ke.deserialize(e);break;case 2:r=Nr.deserialize(e);break;case 3:r=E.deserialize(e);break;case 4:r=G.deserialize(e);break;default:throw new Error(`Unknown variant index for AnyPublicKey: ${t}`)}return new n(r)}static isPublicKey(e){return e instanceof n}isEd25519(){return this.publicKey instanceof b}isSecp256k1PublicKey(){return this.publicKey instanceof Ke}static isInstance(e){return"publicKey"in e&&"variant"in e}},R=class n extends Q{constructor(e){if(super(),this.signature=e,e instanceof v)this.variant=0;else if(e instanceof Le)this.variant=1;else if(e instanceof Gr)this.variant=2;else if(e instanceof re)this.variant=3;else throw new Error("Unsupported signature type")}toUint8Array(){return console.warn("[Aptos SDK] Calls to AnySignature.toUint8Array() will soon return the underlying signature bytes. Use AnySignature.bcsToBytes() instead."),this.bcsToBytes()}serialize(e){e.serializeU32AsUleb128(this.variant),this.signature.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32(),r;switch(t){case 0:r=v.deserialize(e);break;case 1:r=Le.deserialize(e);break;case 2:r=Gr.deserialize(e);break;case 3:r=re.deserialize(e);break;default:throw new Error(`Unknown variant index for AnySignature: ${t}`)}return new n(r)}static isInstance(e){return"signature"in e&&typeof e.signature=="object"&&e.signature!==null&&"toUint8Array"in e.signature}};function Ca(n){let e=n;return e-=e>>1&1431655765,e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}var Zn=3,xe=class extends ke{constructor(e){super(),this.publicKeys=e.publicKeys}createBitmap(e){let{bits:t}=e,r=128,i=new Uint8Array([0,0,0,0]),o=new Set;return t.forEach((s,a)=>{if(a+1>this.publicKeys.length)throw new Error(`Signature index ${a+1} is out of public keys range, ${this.publicKeys.length}.`);if(o.has(s))throw new Error(`Duplicate bit ${s} detected.`);o.add(s);let c=Math.floor(s/8),d=i[c];d|=r>>s%8,i[c]=d}),i}getIndex(e){let t=this.publicKeys.findIndex(r=>r.toString()===e.toString());if(t!==-1)return t;throw new Error(`Public key ${e} not found in multi key set ${this.publicKeys}`)}},B=class n extends xe{constructor(e){let{publicKeys:t,signaturesRequired:r}=e;if(super({publicKeys:t}),r<1)throw new Error("The number of required signatures needs to be greater than 0");if(t.length<r)throw new Error(`Provided ${t.length} public keys is smaller than the ${r} required signatures`);if(this.publicKeys=t.map(i=>i instanceof x?i:new x(i)),r>Zn&&this.publicKeys.filter(o=>o.variant===3||o.variant===4).length>Zn)throw new Error(`Construction of MultiKey with more than ${Zn} keyless public keys is not allowed when signaturesRequired
1
+ import{a as Wn,b as Io}from"./chunk-G2VFBYHG.mjs";import{a as Bi}from"./chunk-KUF4DKN5.mjs";import{a as Nr,c as Gr}from"./chunk-2LCPW76G.mjs";import{a as Nt}from"./chunk-2PASUPUO.mjs";import{d as Di,e as Ri,f as Oi,g as Ni,h as Gi,i as Mi,j as Bn}from"./chunk-C3Q23D22.mjs";import{a as Fe,b as Vn,c as Gt,d as Fr,e as Mt}from"./chunk-GOXRBEIJ.mjs";import{a as kr,b as zi}from"./chunk-52PWWLJJ.mjs";import{a as Mn,b as ke}from"./chunk-5FNZUL2Y.mjs";import{a as Q}from"./chunk-QDJDZ3ON.mjs";import{a as oo}from"./chunk-IKTH33UN.mjs";import{a as Qn,b as Lr}from"./chunk-A5L76YP7.mjs";import{a as Ln}from"./chunk-6IWGTO2J.mjs";import{a as D}from"./chunk-3P474TWM.mjs";import{a as Vr,b as Hr}from"./chunk-QREVMGQZ.mjs";import{a as $r}from"./chunk-IFWE34P5.mjs";import{a as Eo}from"./chunk-TRIYATBI.mjs";import{a as T}from"./chunk-LND3GTJ3.mjs";import{a as vo,b as jn,c as Co,d as _o,e as Uo,g as $t,h as ko,k as Fo,l as zo}from"./chunk-UXUMXAUZ.mjs";import{a as Ht}from"./chunk-YOZBVVKL.mjs";import{a as qn,b as Po,c as P,e as Ko,f as xo}from"./chunk-J426EZGD.mjs";import{A as To,B as Br,C as So,d as so,e as ao,f as co,g as uo,h as po,j as lo,k as go,l as yo,m as mo,o as fo,p as Ao,q as ho,s as bo,t as wo,u as Lt,v as Mr,w as $n}from"./chunk-UL777LTI.mjs";import{a as ne}from"./chunk-RYOICF37.mjs";import{b as st,d as to,e as Rr,f as Or}from"./chunk-A2G3V23K.mjs";import{b as Vt,d as no,e as ro,f as io}from"./chunk-HIAEKFG6.mjs";import{a as Do}from"./chunk-NCKJ7X57.mjs";import{a as Wi}from"./chunk-LD3I4CYO.mjs";import{d as S,e as eo}from"./chunk-G3HAIETV.mjs";import{g as zr}from"./chunk-P5HCJN3A.mjs";import{d as Vi,e as Be,f as Hi,g as Li,h as Dr,i as $i,k as qi}from"./chunk-OLILO7VD.mjs";import{a as K,b as Fi,c as z,d as te}from"./chunk-BIQOJ3OK.mjs";import{a as Ui}from"./chunk-43LWUUXS.mjs";import{a as Ft}from"./chunk-DIFSO4N6.mjs";import{a as H,b as Se,c as zt,d as Dt,e as fe,f as Rt,g as Ot}from"./chunk-5ABS6RDR.mjs";import{a as F}from"./chunk-Y426VCPM.mjs";import{a as yn,b as ji,c as Ve,d as Qi,e as Ji,f as Zi,i as Yi,j as Xi,k as ce,l as Bt}from"./chunk-PYVKCTUN.mjs";import{a as Hn}from"./chunk-C5UZZHA4.mjs";import{b as u}from"./chunk-MEG27LEV.mjs";import{J as j,m as ki}from"./chunk-6XLLQB5P.mjs";import{a as w,b as ee}from"./chunk-I42Z32Q2.mjs";import{b as m,c as _i}from"./chunk-STY74NUA.mjs";import{d as Ci}from"./chunk-X2TPNKLV.mjs";import{a as Ur}from"./chunk-KDMSOCZY.mjs";import{ed25519 as _r}from"@noble/curves/ed25519";import{jwtDecode as Ia}from"jwt-decode";import{sha3_256 as Mc}from"@noble/hashes/sha3";import{bn254 as Ue}from"@noble/curves/bn254";import{bytesToNumberBE as Bc}from"@noble/curves/abstract/utils";import{encode as Vc}from"js-base64";import{sha3_256 as Ro}from"@noble/hashes/sha3";import{secp256k1 as mn}from"@noble/curves/secp256k1";import{HDKey as va}from"@scure/bip32";var Pe=class Pe extends Mn{constructor(t){super();this.keyType="secp256k1";let r=m.fromHexInput(t),{length:i}=r.toUint8Array();if(i===Pe.LENGTH)this.key=r;else if(i===Pe.COMPRESSED_LENGTH){let o=mn.ProjectivePoint.fromHex(r.toUint8Array());this.key=m.fromHexInput(o.toRawBytes(!1))}else throw new Error(`PublicKey length should be ${Pe.LENGTH} or ${Pe.COMPRESSED_LENGTH}, received ${i}`)}verifySignature(t){let{message:r,signature:i}=t,o=Wt(r),s=m.fromHexInput(o).toUint8Array(),a=Ro(s),c=i.toUint8Array();return mn.verify(c,a,this.key.toUint8Array(),{lowS:!0})}async verifySignatureAsync(t){return this.verifySignature(t)}toUint8Array(){return this.key.toUint8Array()}serialize(t){t.serializeBytes(this.key.toUint8Array())}deserialize(t){let r=t.deserializeBytes();return new Le(r)}static deserialize(t){let r=t.deserializeBytes();return new Pe(r)}static isPublicKey(t){return t instanceof Pe}static isInstance(t){return"key"in t&&t.key?.data?.length===Pe.LENGTH&&"keyType"in t&&t.keyType==="secp256k1"}};Pe.LENGTH=65,Pe.COMPRESSED_LENGTH=33;var Ke=Pe,ze=class ze extends w{constructor(e,t){super();let r=Nt.parseHexInput(e,"secp256k1",t);if(r.toUint8Array().length!==ze.LENGTH)throw new Error(`PrivateKey length should be ${ze.LENGTH}`);this.key=r}static generate(){let e=mn.utils.randomPrivateKey();return new ze(e,!1)}static fromDerivationPath(e,t){if(!Ri(e))throw new Error(`Invalid derivation path ${e}`);return ze.fromDerivationPathInner(e,Bn(t))}static fromDerivationPathInner(e,t){let{privateKey:r}=va.fromMasterSeed(t).derive(e);if(r===null)throw new Error("Invalid key");return new ze(r,!1)}sign(e){let t=Wt(e),r=m.fromHexInput(t),i=Ro(r.toUint8Array()),o=mn.sign(i,this.key.toUint8Array(),{lowS:!0});return new Le(o.toCompactRawBytes())}publicKey(){let e=mn.getPublicKey(this.key.toUint8Array(),!1);return new Ke(e)}toUint8Array(){return this.key.toUint8Array()}toString(){return this.toAIP80String()}toHexString(){return this.key.toString()}toAIP80String(){return Nt.formatPrivateKey(this.key.toString(),"secp256k1")}serialize(e){e.serializeBytes(this.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new ze(t,!1)}static isPrivateKey(e){return e instanceof ze}};ze.LENGTH=32;var He=ze,qt=class qt extends Q{constructor(e){super();let t=m.fromHexInput(e);if(t.toUint8Array().length!==qt.LENGTH)throw new Error(`Signature length should be ${qt.LENGTH}, received ${t.toUint8Array().length}`);this.data=t}toUint8Array(){return this.data.toUint8Array()}serialize(e){e.serializeBytes(this.data.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new qt(t)}};qt.LENGTH=64;var Le=qt;var x=class n extends ke{constructor(e){if(super(),this.publicKey=e,e instanceof b)this.variant=0;else if(e instanceof Ke)this.variant=1;else if(e instanceof Nr)this.variant=2;else if(e instanceof E)this.variant=3;else if(e instanceof G)this.variant=4;else throw new Error("Unsupported public key type")}verifySignature(e){let{message:t,signature:r}=e;if(this.publicKey instanceof E)throw new Error("Use verifySignatureAsync to verify Keyless signatures");return this.publicKey.verifySignature({message:t,signature:r.signature})}async verifySignatureAsync(e){if(!(e.signature instanceof R)){if(e.options?.throwErrorWithReason)throw new Error("Signature must be an instance of AnySignature");return!1}return await this.publicKey.verifySignatureAsync({...e,signature:e.signature.signature})}authKey(){return ne.fromSchemeAndBytes({scheme:2,input:this.toUint8Array()})}toUint8Array(){return this.bcsToBytes()}serialize(e){e.serializeU32AsUleb128(this.variant),this.publicKey.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32(),r;switch(t){case 0:r=b.deserialize(e);break;case 1:r=Ke.deserialize(e);break;case 2:r=Nr.deserialize(e);break;case 3:r=E.deserialize(e);break;case 4:r=G.deserialize(e);break;default:throw new Error(`Unknown variant index for AnyPublicKey: ${t}`)}return new n(r)}static isPublicKey(e){return e instanceof n}isEd25519(){return this.publicKey instanceof b}isSecp256k1PublicKey(){return this.publicKey instanceof Ke}static isInstance(e){return"publicKey"in e&&"variant"in e}},R=class n extends Q{constructor(e){if(super(),this.signature=e,e instanceof v)this.variant=0;else if(e instanceof Le)this.variant=1;else if(e instanceof Gr)this.variant=2;else if(e instanceof re)this.variant=3;else throw new Error("Unsupported signature type")}toUint8Array(){return console.warn("[Aptos SDK] Calls to AnySignature.toUint8Array() will soon return the underlying signature bytes. Use AnySignature.bcsToBytes() instead."),this.bcsToBytes()}serialize(e){e.serializeU32AsUleb128(this.variant),this.signature.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32(),r;switch(t){case 0:r=v.deserialize(e);break;case 1:r=Le.deserialize(e);break;case 2:r=Gr.deserialize(e);break;case 3:r=re.deserialize(e);break;default:throw new Error(`Unknown variant index for AnySignature: ${t}`)}return new n(r)}static isInstance(e){return"signature"in e&&typeof e.signature=="object"&&e.signature!==null&&"toUint8Array"in e.signature}};function Ca(n){let e=n;return e-=e>>1&1431655765,e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}var Zn=3,xe=class extends ke{constructor(e){super(),this.publicKeys=e.publicKeys}createBitmap(e){let{bits:t}=e,r=128,i=new Uint8Array([0,0,0,0]),o=new Set;return t.forEach((s,a)=>{if(a+1>this.publicKeys.length)throw new Error(`Signature index ${a+1} is out of public keys range, ${this.publicKeys.length}.`);if(o.has(s))throw new Error(`Duplicate bit ${s} detected.`);o.add(s);let c=Math.floor(s/8),d=i[c];d|=r>>s%8,i[c]=d}),i}getIndex(e){let t=this.publicKeys.findIndex(r=>r.toString()===e.toString());if(t!==-1)return t;throw new Error(`Public key ${e} not found in multi key set ${this.publicKeys}`)}},B=class n extends xe{constructor(e){let{publicKeys:t,signaturesRequired:r}=e;if(super({publicKeys:t}),r<1)throw new Error("The number of required signatures needs to be greater than 0");if(t.length<r)throw new Error(`Provided ${t.length} public keys is smaller than the ${r} required signatures`);if(this.publicKeys=t.map(i=>i instanceof x?i:new x(i)),r>Zn&&this.publicKeys.filter(o=>o.variant===3||o.variant===4).length>Zn)throw new Error(`Construction of MultiKey with more than ${Zn} keyless public keys is not allowed when signaturesRequired
2
2
  is greater than ${Zn}. This is because a maximum of 3 keyless signatures are supported for a
3
- K-of-N MultiKey transaction.`);this.signaturesRequired=r}getSignaturesRequired(){return this.signaturesRequired}verifySignature(e){let{message:t,signature:r}=e;if(r.signatures.length!==this.signaturesRequired)throw new Error("The number of signatures does not match the number of required signatures");let i=r.bitMapToSignerIndices();for(let o=0;o<r.signatures.length;o+=1){let s=r.signatures[o];if(!this.publicKeys[i[o]].verifySignature({message:t,signature:s}))return!1}return!0}async verifySignatureAsync(e){let{signature:t}=e;try{if(!(t instanceof Ae))throw new Error("Signature is not a MultiKeySignature");if(t.signatures.length!==this.signaturesRequired)throw new Error("The number of signatures does not match the number of required signatures");let r=t.bitMapToSignerIndices();for(let i=0;i<t.signatures.length;i+=1){let o=t.signatures[i];if(!await this.publicKeys[r[i]].verifySignatureAsync({...e,signature:o}))return!1}return!0}catch(r){if(e.options?.throwErrorWithReason)throw r;return!1}}authKey(){return ne.fromSchemeAndBytes({scheme:3,input:this.toUint8Array()})}serialize(e){e.serializeVector(this.publicKeys),e.serializeU8(this.signaturesRequired)}static deserialize(e){let t=e.deserializeVector(x),r=e.deserializeU8();return new n({publicKeys:t,signaturesRequired:r})}getIndex(e){let t=e instanceof x?e:new x(e);return super.getIndex(t)}static isInstance(e){return"publicKeys"in e&&"signaturesRequired"in e}},de=class de extends Q{constructor(e){super();let{signatures:t,bitmap:r}=e;if(t.length>de.MAX_SIGNATURES_SUPPORTED)throw new Error(`The number of signatures cannot be greater than ${de.MAX_SIGNATURES_SUPPORTED}`);if(this.signatures=t.map(o=>o instanceof R?o:new R(o)),!(r instanceof Uint8Array))this.bitmap=de.createBitmap({bits:r});else{if(r.length!==de.BITMAP_LEN)throw new Error(`"bitmap" length should be ${de.BITMAP_LEN}`);this.bitmap=r}let i=this.bitmap.reduce((o,s)=>o+Ca(s),0);if(i!==this.signatures.length)throw new Error(`Expecting ${i} signatures from the bitmap, but got ${this.signatures.length}`)}static createBitmap(e){let{bits:t}=e,r=128,i=new Uint8Array([0,0,0,0]),o=new Set;return t.forEach(s=>{if(s>=de.MAX_SIGNATURES_SUPPORTED)throw new Error(`Cannot have a signature larger than ${de.MAX_SIGNATURES_SUPPORTED-1}.`);if(o.has(s))throw new Error("Duplicate bits detected.");o.add(s);let a=Math.floor(s/8),c=i[a];c|=r>>s%8,i[a]=c}),i}bitMapToSignerIndices(){let e=[];for(let t=0;t<this.bitmap.length;t+=1){let r=this.bitmap[t];for(let i=0;i<8;i+=1)(r&128>>i)!==0&&e.push(t*8+i)}return e}serialize(e){e.serializeVector(this.signatures),e.serializeBytes(this.bitmap)}static deserialize(e){let t=e.deserializeVector(R),r=e.deserializeBytes();return new de({signatures:t,bitmap:r})}};de.BITMAP_LEN=4,de.MAX_SIGNATURES_SUPPORTED=de.BITMAP_LEN*8;var Ae=de;var pe=class pe extends xe{constructor(e){let{publicKeys:t,threshold:r}=e;if(super({publicKeys:t}),t.length>pe.MAX_KEYS||t.length<pe.MIN_KEYS)throw new Error(`Must have between ${pe.MIN_KEYS} and ${pe.MAX_KEYS} public keys, inclusive`);if(r<pe.MIN_THRESHOLD||r>t.length)throw new Error(`Threshold must be between ${pe.MIN_THRESHOLD} and ${t.length}, inclusive`);this.publicKeys=t,this.threshold=r}getSignaturesRequired(){return this.threshold}verifySignature(e){let{message:t,signature:r}=e;if(!(r instanceof Ie))return!1;let i=[];for(let o=0;o<4;o+=1)for(let s=0;s<8;s+=1)if((r.bitmap[o]&1<<7-s)!==0){let c=o*8+s;i.push(c)}if(i.length!==r.signatures.length)throw new Error("Bitmap and signatures length mismatch");if(i.length<this.threshold)throw new Error("Not enough signatures");for(let o=0;o<i.length;o+=1)if(!this.publicKeys[i[o]].verifySignature({message:t,signature:r.signatures[o]}))return!1;return!0}async verifySignatureAsync(e){return this.verifySignature(e)}authKey(){return ne.fromSchemeAndBytes({scheme:1,input:this.toUint8Array()})}toUint8Array(){let e=new Uint8Array(this.publicKeys.length*b.LENGTH+1);return this.publicKeys.forEach((t,r)=>{e.set(t.toUint8Array(),r*b.LENGTH)}),e[this.publicKeys.length*b.LENGTH]=this.threshold,e}serialize(e){e.serializeBytes(this.toUint8Array())}static deserialize(e){let t=e.deserializeBytes(),r=t[t.length-1],i=[];for(let o=0;o<t.length-1;o+=b.LENGTH){let s=o;i.push(new b(t.subarray(s,s+b.LENGTH)))}return new pe({publicKeys:i,threshold:r})}static deserializeWithoutLength(e){let t=e.remaining(),r=e.deserializeFixedBytes(t),i=r[r.length-1],o=[];for(let s=0;s<r.length-1;s+=b.LENGTH){let a=s;o.push(new b(r.subarray(a,a+b.LENGTH)))}return new pe({publicKeys:o,threshold:i})}getIndex(e){return super.getIndex(e)}};pe.MAX_KEYS=32,pe.MIN_KEYS=2,pe.MIN_THRESHOLD=1;var Z=pe,le=class le extends Q{constructor(e){super();let{signatures:t,bitmap:r}=e;if(t.length>le.MAX_SIGNATURES_SUPPORTED)throw new Error(`The number of signatures cannot be greater than ${le.MAX_SIGNATURES_SUPPORTED}`);if(this.signatures=t,!(r instanceof Uint8Array))this.bitmap=le.createBitmap({bits:r});else{if(r.length!==le.BITMAP_LEN)throw new Error(`"bitmap" length should be ${le.BITMAP_LEN}`);this.bitmap=r}}toUint8Array(){let e=new Uint8Array(this.signatures.length*v.LENGTH+le.BITMAP_LEN);return this.signatures.forEach((t,r)=>{e.set(t.toUint8Array(),r*v.LENGTH)}),e.set(this.bitmap,this.signatures.length*v.LENGTH),e}serialize(e){e.serializeBytes(this.toUint8Array())}static deserialize(e){let t=e.deserializeBytes(),r=t.subarray(t.length-4),i=[];for(let o=0;o<t.length-r.length;o+=v.LENGTH){let s=o;i.push(new v(t.subarray(s,s+v.LENGTH)))}return new le({signatures:i,bitmap:r})}static createBitmap(e){let{bits:t}=e,r=128,i=new Uint8Array([0,0,0,0]),o=new Set;return t.forEach((s,a)=>{if(s>=le.MAX_SIGNATURES_SUPPORTED)throw new Error(`Cannot have a signature larger than ${le.MAX_SIGNATURES_SUPPORTED-1}.`);if(o.has(s))throw new Error("Duplicate bits detected.");if(a>0&&s<=t[a-1])throw new Error("The bits need to be sorted in ascending order.");o.add(s);let c=Math.floor(s/8),d=i[c];d|=r>>s%8,i[c]=d}),i}};le.MAX_SIGNATURES_SUPPORTED=32,le.BITMAP_LEN=4;var Ie=le;var Yn="Multiple possible deserializations found";function sd(n){let e=[b,x,Z,B,E,G,Ke],t;for(let r of e)try{let i=F.fromHex(n),o=r.deserialize(i);if(i.assertFinished(),t)throw new Error(`${Yn}: ${n}`);t=o}catch(i){if(i instanceof Error&&i.message.includes(Yn))throw i}if(!t)throw new Error(`Failed to deserialize public key: ${n}`);return t}function ad(n){let e=[v,R,Ie,Ae,re,Le],t;for(let r of e)try{let i=F.fromHex(n),o=r.deserialize(i);if(i.assertFinished(),t)throw new Error(`${Yn}: ${n}`);t=o}catch(i){if(i instanceof Error&&i.message.includes(Yn))throw i}if(!t)throw new Error(`Failed to deserialize signature: ${n}`);return t}var q=class extends w{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return Ee.load(e);case 1:return $e.load(e);case 2:return ie.load(e);case 3:return De.load(e);case 4:return jt.load(e);case 5:return yt.load(e);default:throw new Error(`Unknown variant index for AccountAuthenticator: ${t}`)}}isEd25519(){return this instanceof Ee}isMultiEd25519(){return this instanceof $e}isSingleKey(){return this instanceof ie}isMultiKey(){return this instanceof De}},Ee=class n extends q{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(0),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=b.deserialize(e),r=v.deserialize(e);return new n(t,r)}},$e=class n extends q{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(1),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=Z.deserialize(e),r=Ie.deserialize(e);return new n(t,r)}},ie=class n extends q{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(2),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=x.deserialize(e),r=R.deserialize(e);return new n(t,r)}},De=class n extends q{constructor(e,t){super(),this.public_keys=e,this.signatures=t}serialize(e){e.serializeU32AsUleb128(3),this.public_keys.serialize(e),this.signatures.serialize(e)}static load(e){let t=B.deserialize(e),r=Ae.deserialize(e);return new n(t,r)}},jt=class n extends q{serialize(e){e.serializeU32AsUleb128(4)}static load(e){return new n}},yt=class n extends q{constructor(e,t,r,i){if(super(),!Bt(e))throw new Error(`Invalid function info ${e} passed into AccountAuthenticatorAbstraction`);this.functionInfo=e,this.abstractionSignature=r,this.signingMessageDigest=m.fromHexInput(m.fromHexInput(t).toUint8Array()),this.accountIdentity=i}serialize(e){e.serializeU32AsUleb128(5);let{moduleAddress:t,moduleName:r,functionName:i}=ue(this.functionInfo);u.fromString(t).serialize(e),e.serializeStr(r),e.serializeStr(i),this.accountIdentity?e.serializeU32AsUleb128(1):e.serializeU32AsUleb128(0),e.serializeBytes(this.signingMessageDigest.toUint8Array()),this.accountIdentity?e.serializeBytes(this.abstractionSignature):e.serializeFixedBytes(this.abstractionSignature),this.accountIdentity&&e.serializeBytes(this.accountIdentity)}static load(e){let t=u.deserialize(e),r=e.deserializeStr(),i=e.deserializeStr(),o=e.deserializeUleb128AsU32(),s=e.deserializeBytes();if(o===0){let a=e.deserializeFixedBytes(e.remaining());return new n(`${t}::${r}::${i}`,s,a)}if(o===1){let a=e.deserializeBytes(),c=e.deserializeBytes();return new n(`${t}::${r}::${i}`,s,a,c)}throw new Error(`Unknown variant index for AccountAuthenticatorAbstraction: ${o}`)}},Xn=class n extends w{constructor(e,t){super(),this.originalSigningMessage=m.fromHexInput(m.fromHexInput(e).toUint8Array()),this.functionInfo=t}serialize(e){e.serializeU32AsUleb128(0),e.serializeBytes(this.originalSigningMessage.toUint8Array());let{moduleAddress:t,moduleName:r,functionName:i}=ue(this.functionInfo);u.fromString(t).serialize(e),e.serializeStr(r),e.serializeStr(i)}static deserialize(e){let t=e.deserializeUleb128AsU32();if(t!==0)throw new Error(`Unknown variant index for AccountAbstractionMessage: ${t}`);let r=e.deserializeBytes(),i=u.deserialize(e),o=e.deserializeStr(),s=e.deserializeStr(),a=`${i}::${o}::${s}`;return new n(r,a)}};import{sha3_256 as Ua}from"@noble/hashes/sha3";var fn=class n extends w{constructor(e,t){super(),this.address=e,this.name=t}static fromStr(e){let t=e.split("::");if(t.length!==2)throw new Error("Invalid module id.");return new n(u.fromString(t[0]),new D(t[1]))}serialize(e){this.address.serialize(e),this.name.serialize(e)}static deserialize(e){let t=u.deserialize(e),r=D.deserialize(e);return new n(t,r)}};var C=class n extends w{deserialize(e){let t=u.deserialize(e),r=D.deserialize(e),i=D.deserialize(e),o=e.deserializeVector(n);return new Re(t,r,i,o)}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return V.load(e);case 1:return oe.load(e);case 2:return W.load(e);case 3:return je.load(e);case 4:return O.load(e);case 5:return Tt.load(e);case 6:return _.load(e);case 7:return f.load(e);case 8:return qe.load(e);case 9:return We.load(e);case 10:return Qe.load(e);case 11:return mt.load(e);case 12:return ft.load(e);case 13:return At.load(e);case 14:return ht.load(e);case 15:return bt.load(e);case 16:return wt.load(e);case 255:return N.load(e);default:throw new Error(`Unknown variant index for TypeTag: ${t}`)}}isBool(){return this instanceof V}isAddress(){return this instanceof O}isGeneric(){return this instanceof N}isSigner(){return this instanceof Tt}isVector(){return this instanceof _}isStruct(){return this instanceof f}isU8(){return this instanceof oe}isU16(){return this instanceof qe}isU32(){return this instanceof We}isU64(){return this instanceof W}isU128(){return this instanceof je}isU256(){return this instanceof Qe}isI8(){return this instanceof mt}isI16(){return this instanceof ft}isI32(){return this instanceof At}isI64(){return this instanceof ht}isI128(){return this instanceof bt}isI256(){return this instanceof wt}isPrimitive(){return this instanceof Tt||this instanceof O||this instanceof V||this instanceof oe||this instanceof qe||this instanceof We||this instanceof W||this instanceof je||this instanceof Qe||this instanceof mt||this instanceof ft||this instanceof At||this instanceof ht||this instanceof bt||this instanceof wt}},V=class n extends C{toString(){return"bool"}serialize(e){e.serializeU32AsUleb128(0)}static load(e){return new n}},oe=class n extends C{toString(){return"u8"}serialize(e){e.serializeU32AsUleb128(1)}static load(e){return new n}},mt=class n extends C{toString(){return"i8"}serialize(e){e.serializeU32AsUleb128(11)}static load(e){return new n}},qe=class n extends C{toString(){return"u16"}serialize(e){e.serializeU32AsUleb128(8)}static load(e){return new n}},ft=class n extends C{toString(){return"i16"}serialize(e){e.serializeU32AsUleb128(12)}static load(e){return new n}},We=class n extends C{toString(){return"u32"}serialize(e){e.serializeU32AsUleb128(9)}static load(e){return new n}},At=class n extends C{toString(){return"i32"}serialize(e){e.serializeU32AsUleb128(13)}static load(e){return new n}},W=class n extends C{toString(){return"u64"}serialize(e){e.serializeU32AsUleb128(2)}static load(e){return new n}},ht=class n extends C{toString(){return"i64"}serialize(e){e.serializeU32AsUleb128(14)}static load(e){return new n}},je=class n extends C{toString(){return"u128"}serialize(e){e.serializeU32AsUleb128(3)}static load(e){return new n}},bt=class n extends C{toString(){return"i128"}serialize(e){e.serializeU32AsUleb128(15)}static load(e){return new n}},Qe=class n extends C{toString(){return"u256"}serialize(e){e.serializeU32AsUleb128(10)}static load(e){return new n}},wt=class n extends C{toString(){return"i256"}serialize(e){e.serializeU32AsUleb128(16)}static load(e){return new n}},O=class n extends C{toString(){return"address"}serialize(e){e.serializeU32AsUleb128(4)}static load(e){return new n}},Tt=class n extends C{toString(){return"signer"}serialize(e){e.serializeU32AsUleb128(5)}static load(e){return new n}},er=class n extends C{constructor(t){super();this.value=t}toString(){return`&${this.value.toString()}`}serialize(t){t.serializeU32AsUleb128(254)}static load(t){let r=C.deserialize(t);return new n(r)}},N=class n extends C{constructor(t){super();this.value=t;if(t<0)throw new Error("Generic type parameter index cannot be negative")}toString(){return`T${this.value}`}serialize(t){t.serializeU32AsUleb128(255),t.serializeU32(this.value)}static load(t){let r=t.deserializeU32();return new n(r)}},_=class n extends C{constructor(t){super();this.value=t}toString(){return`vector<${this.value.toString()}>`}static u8(){return new n(new oe)}serialize(t){t.serializeU32AsUleb128(6),this.value.serialize(t)}static load(t){let r=C.deserialize(t);return new n(r)}},f=class n extends C{constructor(t){super();this.value=t}toString(){let t="";return this.value.typeArgs.length>0&&(t=`<${this.value.typeArgs.map(r=>r.toString()).join(", ")}>`),`${this.value.address.toString()}::${this.value.moduleName.identifier}::${this.value.name.identifier}${t}`}serialize(t){t.serializeU32AsUleb128(7),this.value.serialize(t)}static load(t){let r=Re.deserialize(t);return new n(r)}isTypeTag(t,r,i){return this.value.moduleName.identifier===r&&this.value.name.identifier===i&&this.value.address.equals(t)}isString(){return this.isTypeTag(u.ONE,"string","String")}isOption(){return this.isTypeTag(u.ONE,"option","Option")}isObject(){return this.isTypeTag(u.ONE,"object","Object")}isDelegationKey(){return this.isTypeTag(u.ONE,"permissioned_delegation","DelegationKey")}isRateLimiter(){return this.isTypeTag(u.ONE,"rate_limiter","RateLimiter")}},Re=class n extends w{constructor(e,t,r,i){super(),this.address=e,this.moduleName=t,this.name=r,this.typeArgs=i}serialize(e){e.serialize(this.address),e.serialize(this.moduleName),e.serialize(this.name),e.serializeVector(this.typeArgs)}static deserialize(e){let t=u.deserialize(e),r=D.deserialize(e),i=D.deserialize(e),o=e.deserializeVector(C);return new n(t,r,i,o)}};function tp(){return new Re(u.ONE,new D("aptos_coin"),new D("AptosCoin"),[])}function I(){return new Re(u.ONE,new D("string"),new D("String"),[])}function np(n){return new Re(u.ONE,new D("option"),new D("Option"),[n])}function ge(n){return new Re(u.ONE,new D("object"),new D("Object"),[n])}function _a(n){let e=n.deserializeUleb128AsU32();switch(e){case 0:return Se.deserialize(n);case 1:return fe.deserialize(n);case 2:return Rt.deserialize(n);case 3:return u.deserialize(n);case 4:return K.deserialize(n,Se);case 5:return H.deserialize(n);case 6:return zt.deserialize(n);case 7:return Dt.deserialize(n);case 8:return Ot.deserialize(n);case 9:return Fi.deserialize(n);default:throw new Error(`Unknown variant index for ScriptTransactionArgument: ${e}`)}}var at=class extends w{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return Qt.load(e);case 2:return Jt.load(e);case 3:return Zt.load(e);case 4:return tr.deserialize(e);default:throw new Error(`Unknown variant index for TransactionPayload: ${t}`)}}},Qt=class n extends at{constructor(e){super(),this.script=e}serialize(e){e.serializeU32AsUleb128(0),this.script.serialize(e)}static load(e){let t=Yt.deserialize(e);return new n(t)}},Jt=class n extends at{constructor(e){super(),this.entryFunction=e}serialize(e){e.serializeU32AsUleb128(2),this.entryFunction.serialize(e)}static load(e){let t=Je.deserialize(e);return new n(t)}},Zt=class n extends at{constructor(e){super(),this.multiSig=e}serialize(e){e.serializeU32AsUleb128(3),this.multiSig.serialize(e)}static load(e){let t=An.deserialize(e);return new n(t)}},Je=class n{constructor(e,t,r,i){this.module_name=e,this.function_name=t,this.type_args=r,this.args=i}static build(e,t,r,i){return new n(fn.fromStr(e),new D(t),r,i)}serialize(e){this.module_name.serialize(e),this.function_name.serialize(e),e.serializeVector(this.type_args),e.serializeU32AsUleb128(this.args.length),this.args.forEach(t=>{t.serializeForEntryFunction(e)})}static deserialize(e){let t=fn.deserialize(e),r=D.deserialize(e),i=e.deserializeVector(C),o=e.deserializeUleb128AsU32(),s=new Array;for(let a=0;a<o;a+=1){let c=e.deserializeUleb128AsU32(),d=Ui.deserialize(e,c);s.push(d)}return new n(t,r,i,s)}},Yt=class n{constructor(e,t,r){this.bytecode=e,this.type_args=t,this.args=r}serialize(e){e.serializeBytes(this.bytecode),e.serializeVector(this.type_args),e.serializeU32AsUleb128(this.args.length),this.args.forEach(t=>{t.serializeForScriptFunction(e)})}static deserialize(e){let t=e.deserializeBytes(),r=e.deserializeVector(C),i=e.deserializeUleb128AsU32(),o=new Array;for(let s=0;s<i;s+=1){let a=_a(e);o.push(a)}return new n(t,r,o)}},An=class n{constructor(e,t){this.multisig_address=e,this.transaction_payload=t}serialize(e){this.multisig_address.serialize(e),this.transaction_payload===void 0?e.serializeBool(!1):(e.serializeBool(!0),this.transaction_payload.serialize(e))}static deserialize(e){let t=u.deserialize(e),r=e.deserializeBool(),i;return r&&(i=hn.deserialize(e)),new n(t,i)}},hn=class n extends w{constructor(e){super(),this.transaction_payload=e}serialize(e){e.serializeU32AsUleb128(0),this.transaction_payload.serialize(e)}static deserialize(e){return e.deserializeUleb128AsU32(),new n(Je.deserialize(e))}},tr=class extends at{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return St.load(e);default:throw new Error(`Unknown variant index for TransactionInnerPayload: ${t}`)}}},St=class n extends tr{constructor(e,t){super(),this.executable=e,this.extra_config=t}serialize(e){e.serializeU32AsUleb128(4),e.serializeU32AsUleb128(0),this.executable.serialize(e),this.extra_config.serialize(e)}static load(e){let t=Xt.deserialize(e),r=nr.deserialize(e);return new n(t,r)}},Xt=class{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return bn.load(e);case 1:return en.load(e);case 2:return wn.load(e);default:throw new Error(`Unknown variant index for TransactionExecutable: ${t}`)}}},bn=class n extends Xt{constructor(e){super(),this.script=e}serialize(e){e.serializeU32AsUleb128(0),this.script.serialize(e)}static load(e){let t=Yt.deserialize(e);return new n(t)}},en=class n extends Xt{constructor(e){super(),this.entryFunction=e}serialize(e){e.serializeU32AsUleb128(1),this.entryFunction.serialize(e)}static load(e){let t=Je.deserialize(e);return new n(t)}},wn=class n extends Xt{serialize(e){e.serializeU32AsUleb128(2)}static load(e){return new n}},nr=class{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return Pt.load(e);default:throw new Error(`Unknown variant index for TransactionExtraConfig: ${t}`)}}},Pt=class n extends nr{constructor(e,t){super(),this.multisigAddress=e,this.replayProtectionNonce=t!==void 0?BigInt(t):void 0}serialize(e){e.serializeU32AsUleb128(0),e.serializeOption(this.multisigAddress),e.serializeOption(this.replayProtectionNonce!==void 0?new fe(this.replayProtectionNonce):void 0)}static load(e){let t=e.deserializeOption(u),r=e.deserializeOption(fe);return new n(t,r?.value)}};var he=class n extends w{constructor(e,t,r,i,o,s,a){super(),this.sender=e,this.sequence_number=t,this.payload=r,this.max_gas_amount=i,this.gas_unit_price=o,this.expiration_timestamp_secs=s,this.chain_id=a}serialize(e){this.sender.serialize(e),e.serializeU64(this.sequence_number),this.payload.serialize(e),e.serializeU64(this.max_gas_amount),e.serializeU64(this.gas_unit_price),e.serializeU64(this.expiration_timestamp_secs),this.chain_id.serialize(e)}static deserialize(e){let t=u.deserialize(e),r=e.deserializeU64(),i=at.deserialize(e),o=e.deserializeU64(),s=e.deserializeU64(),a=e.deserializeU64(),c=Ln.deserialize(e);return new n(t,r,i,o,s,a,c)}},rr=class extends w{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return Kt.load(e);case 1:return xt.load(e);default:throw new Error(`Unknown variant index for RawTransactionWithData: ${t}`)}}},Kt=class n extends rr{constructor(e,t){super(),this.raw_txn=e,this.secondary_signer_addresses=t}serialize(e){e.serializeU32AsUleb128(0),this.raw_txn.serialize(e),e.serializeVector(this.secondary_signer_addresses)}static load(e){let t=he.deserialize(e),r=e.deserializeVector(u);return new n(t,r)}},xt=class n extends rr{constructor(e,t,r){super(),this.raw_txn=e,this.secondary_signer_addresses=t,this.fee_payer_address=r}serialize(e){e.serializeU32AsUleb128(1),this.raw_txn.serialize(e),e.serializeVector(this.secondary_signer_addresses),this.fee_payer_address.serialize(e)}static load(e){let t=he.deserialize(e),r=e.deserializeVector(u),i=u.deserialize(e);return new n(t,r,i)}};var Ze=class extends w{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return It.load(e);case 1:return tn.load(e);case 2:return Et.load(e);case 3:return vt.load(e);case 4:return ct.load(e);default:throw new Error(`Unknown variant index for TransactionAuthenticator: ${t}`)}}isEd25519(){return this instanceof It}isMultiEd25519(){return this instanceof tn}isMultiAgent(){return this instanceof Et}isFeePayer(){return this instanceof vt}isSingleSender(){return this instanceof ct}},It=class n extends Ze{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(0),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=b.deserialize(e),r=v.deserialize(e);return new n(t,r)}},tn=class n extends Ze{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(1),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=Z.deserialize(e),r=Ie.deserialize(e);return new n(t,r)}},Et=class n extends Ze{constructor(e,t,r){super(),this.sender=e,this.secondary_signer_addresses=t,this.secondary_signers=r}serialize(e){e.serializeU32AsUleb128(2),this.sender.serialize(e),e.serializeVector(this.secondary_signer_addresses),e.serializeVector(this.secondary_signers)}static load(e){let t=q.deserialize(e),r=e.deserializeVector(u),i=e.deserializeVector(q);return new n(t,r,i)}},vt=class n extends Ze{constructor(e,t,r,i){super(),this.sender=e,this.secondary_signer_addresses=t,this.secondary_signers=r,this.fee_payer=i}serialize(e){e.serializeU32AsUleb128(3),this.sender.serialize(e),e.serializeVector(this.secondary_signer_addresses),e.serializeVector(this.secondary_signers),this.fee_payer.address.serialize(e),this.fee_payer.authenticator.serialize(e)}static load(e){let t=q.deserialize(e),r=e.deserializeVector(u),i=e.deserializeVector(q),o=u.deserialize(e),s=q.deserialize(e),a={address:o,authenticator:s};return new n(t,r,i,a)}},ct=class n extends Ze{constructor(e){super(),this.sender=e}serialize(e){e.serializeU32AsUleb128(4),this.sender.serialize(e)}static load(e){let t=q.deserialize(e);return new n(t)}};var Ye=class n extends w{constructor(e,t){super(),this.raw_txn=e,this.authenticator=t}serialize(e){this.raw_txn.serialize(e),this.authenticator.serialize(e)}static deserialize(e){let t=he.deserialize(e),r=Ze.deserialize(e);return new n(t,r)}};var ir=class n extends w{constructor(e,t){super(),this.rawTransaction=e,this.feePayerAddress=t}serialize(e){this.rawTransaction.serialize(e),this.feePayerAddress===void 0?e.serializeBool(!1):(e.serializeBool(!0),this.feePayerAddress.serialize(e))}static deserialize(e){let t=he.deserialize(e),r=e.deserializeBool(),i;return r&&(i=u.deserialize(e)),new n(t,i)}};var or=class n extends w{constructor(e,t,r){super(),this.rawTransaction=e,this.feePayerAddress=r,this.secondarySignerAddresses=t}serialize(e){this.rawTransaction.serialize(e),e.serializeVector(this.secondarySignerAddresses),this.feePayerAddress===void 0?e.serializeBool(!1):(e.serializeBool(!0),this.feePayerAddress.serialize(e))}static deserialize(e){let t=he.deserialize(e),r=e.deserializeVector(u),i=e.deserializeBool(),o;return i&&(o=u.deserialize(e)),new n(t,r,o)}};function sr(n){return n.feePayerAddress?new xt(n.rawTransaction,n.secondarySignerAddresses??[],n.feePayerAddress):n.secondarySignerAddresses?new Kt(n.rawTransaction,n.secondarySignerAddresses):n.rawTransaction}function Oe(n,e){let t=Ua.create();if(!e.startsWith("APTOS::"))throw new Error(`Domain separator needs to start with 'APTOS::'. Provided - ${e}`);t.update(e);let r=t.digest(),i=n,o=new Uint8Array(r.length+i.length);return o.set(r),o.set(i,r.length),o}function fl(n){return Oe(n.bcsToBytes(),`APTOS::${n.constructor.name}`)}function ve(n){let e=sr(n);return n.feePayerAddress?Oe(e.bcsToBytes(),Dr):n.secondarySignerAddresses?Oe(e.bcsToBytes(),Dr):Oe(e.bcsToBytes(),Li)}var Y=class n{constructor(e){this.signingScheme=0;let{privateKey:t,address:r}=e;this.privateKey=t,this.publicKey=t.publicKey(),this.accountAddress=r?u.from(r):this.publicKey.authKey().derivedAddress()}static generate(){let e=L.generate();return new n({privateKey:e})}static fromDerivationPath(e){let{path:t,mnemonic:r}=e,i=L.fromDerivationPath(t,r);return new n({privateKey:i})}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return this.publicKey.verifySignatureAsync({...e,signature:e.signature})}signWithAuthenticator(e){return new Ee(this.publicKey,this.privateKey.sign(e))}signTransactionWithAuthenticator(e){return new Ee(this.publicKey,this.signTransaction(e))}sign(e){return this.privateKey.sign(e)}signTransaction(e){return this.sign(ve(e))}};function qr(n){return typeof n=="object"&&n!==null&&"getAnyPublicKey"in n&&typeof n.getAnyPublicKey=="function"}var se=class n{constructor(e){this.signingScheme=2;let{privateKey:t,address:r}=e;this.privateKey=t,this.publicKey=new x(t.publicKey()),this.accountAddress=r?u.from(r):this.publicKey.authKey().derivedAddress()}getAnyPublicKey(){return this.publicKey}static generate(e={}){let{scheme:t=0}=e,r;switch(t){case 0:r=L.generate();break;case 2:r=He.generate();break;default:throw new Error(`Unsupported signature scheme ${t}`)}return new n({privateKey:r})}static fromDerivationPath(e){let{scheme:t=0,path:r,mnemonic:i}=e,o;switch(t){case 0:o=L.fromDerivationPath(r,i);break;case 2:o=He.fromDerivationPath(r,i);break;default:throw new Error(`Unsupported signature scheme ${t}`)}return new n({privateKey:o})}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return this.publicKey.verifySignatureAsync({...e,signature:e.signature})}signWithAuthenticator(e){return new ie(this.publicKey,this.sign(e))}signTransactionWithAuthenticator(e){return new ie(this.publicKey,this.signTransaction(e))}sign(e){return new R(this.privateKey.sign(e))}signTransaction(e){return this.sign(ve(e))}static fromEd25519Account(e){return new n({privateKey:e.privateKey,address:e.accountAddress})}};var Xe=class{static generate(e={}){let{scheme:t=0,legacy:r=!0}=e;return t===0&&r?Y.generate():se.generate({scheme:t})}static fromPrivateKey(e){let{privateKey:t,address:r,legacy:i=!0}=e;return t instanceof L&&i?new Y({privateKey:t,address:r}):new se({privateKey:t,address:r})}static fromPrivateKeyAndAddress(e){return this.fromPrivateKey(e)}static fromDerivationPath(e){let{scheme:t=0,mnemonic:r,path:i,legacy:o=!0}=e;return t===0&&o?Y.fromDerivationPath({mnemonic:r,path:i}):se.fromDerivationPath({scheme:t,mnemonic:r,path:i})}static authKey(e){let{publicKey:t}=e;return t.authKey()}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return this.publicKey.verifySignatureAsync(e)}};import{randomBytes as za}from"@noble/hashes/utils";var Da=1209600,nn=class nn extends w{constructor(e){super();let{privateKey:t,expiryDateSecs:r,blinder:i}=e;this.privateKey=t,this.publicKey=new ut(t.publicKey()),this.expiryDateSecs=r||Qi(Ve()+Da),this.blinder=i!==void 0?m.fromHexInput(i).toUint8Array():Ra();let o=Vn(this.publicKey.bcsToBytes(),93);o.push(BigInt(this.expiryDateSecs)),o.push(Gt(this.blinder));let s=Mt(o);this.nonce=s.toString()}getPublicKey(){return this.publicKey}isExpired(){return Math.floor(Date.now()/1e3)>this.expiryDateSecs}serialize(e){e.serializeU32AsUleb128(this.publicKey.variant),e.serializeBytes(this.privateKey.toUint8Array()),e.serializeU64(this.expiryDateSecs),e.serializeFixedBytes(this.blinder)}static deserialize(e){let t=e.deserializeUleb128AsU32(),r;switch(t){case 0:r=L.deserialize(e);break;default:throw new Error(`Unknown variant index for EphemeralPublicKey: ${t}`)}let i=e.deserializeU64(),o=e.deserializeFixedBytes(31);return new nn({privateKey:r,expiryDateSecs:Number(i),blinder:o})}static fromBytes(e){return nn.deserialize(new F(e))}static generate(e){let t;switch(e?.scheme){case 0:default:t=L.generate()}return new nn({privateKey:t,expiryDateSecs:e?.expiryDateSecs})}sign(e){if(this.isExpired())throw new Error("EphemeralKeyPair has expired");return new Ne(this.privateKey.sign(e))}};nn.BLINDER_LENGTH=31;var Ct=nn;function Ra(){return za(Ct.BLINDER_LENGTH)}import Na from"eventemitter3";import{jwtDecode as Ga}from"jwt-decode";function cr(n){return n!=null&&typeof n.checkKeylessAccountValidity=="function"}var rn=class rn extends w{constructor(t){super();this.signingScheme=2;let{address:r,ephemeralKeyPair:i,publicKey:o,uidKey:s,uidVal:a,aud:c,pepper:d,proof:l,proofFetchCallback:g,jwt:p,verificationKeyHash:y}=t;if(this.ephemeralKeyPair=i,this.publicKey=o,this.accountAddress=r?u.from(r):this.publicKey.authKey().derivedAddress(),this.uidKey=s,this.uidVal=a,this.aud=c,this.jwt=p,this.emitter=new Na,this.proofOrPromise=l,l instanceof ye)this.proof=l;else{if(g===void 0)throw new Error("Must provide callback for async proof fetch");this.emitter.on("proofFetchFinish",async k=>{await g(k),this.emitter.removeAllListeners()}),this.init(l)}let h=m.fromHexInput(d).toUint8Array();if(h.length!==rn.PEPPER_LENGTH)throw new Error(`Pepper length in bytes should be ${rn.PEPPER_LENGTH}`);if(this.pepper=h,y!==void 0){if(m.hexInputToUint8Array(y).length!==32)throw new Error("verificationKeyHash must be 32 bytes");this.verificationKeyHash=m.hexInputToUint8Array(y)}}getAnyPublicKey(){return new x(this.publicKey)}async init(t){try{this.proof=await t,this.emitter.emit("proofFetchFinish",{status:"Success"})}catch(r){r instanceof Error?this.emitter.emit("proofFetchFinish",{status:"Failed",error:r.toString()}):this.emitter.emit("proofFetchFinish",{status:"Failed",error:"Unknown"})}}serialize(t){if(this.accountAddress.serialize(t),t.serializeStr(this.jwt),t.serializeStr(this.uidKey),t.serializeFixedBytes(this.pepper),this.ephemeralKeyPair.serialize(t),this.proof===void 0)throw new Error("Cannot serialize - proof undefined");this.proof.serialize(t),t.serializeOption(this.verificationKeyHash,32)}static partialDeserialize(t){let r=u.deserialize(t),i=t.deserializeStr(),o=t.deserializeStr(),s=t.deserializeFixedBytes(31),a=Ct.deserialize(t),c=ye.deserialize(t),d=t.deserializeOption("fixedBytes",32);return{address:r,jwt:i,uidKey:o,pepper:s,ephemeralKeyPair:a,proof:c,verificationKeyHash:d}}isExpired(){return this.ephemeralKeyPair.isExpired()}signWithAuthenticator(t){let r=new R(this.sign(t)),i=new x(this.publicKey);return new ie(i,r)}signTransactionWithAuthenticator(t){let r=new R(this.signTransaction(t)),i=new x(this.publicKey);return new ie(i,r)}async waitForProofFetch(){this.proofOrPromise instanceof Promise&&await this.proofOrPromise}async checkKeylessAccountValidity(t){if(this.isExpired())throw S.fromErrorType({type:0});if(await this.waitForProofFetch(),this.proof===void 0)throw S.fromErrorType({type:2});let r=Ga(this.jwt,{header:!0});if(r.kid===void 0)throw S.fromErrorType({type:12,details:"checkKeylessAccountValidity failed. JWT is missing 'kid' in header. This should never happen."});if(this.verificationKeyHash!==void 0){let{verificationKey:i}=await sn({aptosConfig:t});if(m.hexInputToString(i.hash())!==m.hexInputToString(this.verificationKeyHash))throw S.fromErrorType({type:4})}else console.warn("[Aptos SDK] The verification key hash was not set. Proof may be invalid if the verification key has rotated.");await rn.fetchJWK({aptosConfig:t,publicKey:this.publicKey,kid:r.kid})}sign(t){let{expiryDateSecs:r}=this.ephemeralKeyPair;if(this.isExpired())throw S.fromErrorType({type:0});if(this.proof===void 0)throw S.fromErrorType({type:1,details:"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."});let i=this.ephemeralKeyPair.getPublicKey(),o=this.ephemeralKeyPair.sign(t);return new re({jwtHeader:Ji(this.jwt.split(".")[0]),ephemeralCertificate:new on(this.proof,0),expiryDateSecs:r,ephemeralPublicKey:i,ephemeralSignature:o})}signTransaction(t){if(this.proof===void 0)throw S.fromErrorType({type:1,details:"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."});let r=sr(t),o=new ar(r,this.proof.proof).hash();return this.sign(o)}getSigningMessage(t){if(this.proof===void 0)throw S.fromErrorType({type:1,details:"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."});let r=sr(t);return new ar(r,this.proof.proof).hash()}verifySignature(t){return this.publicKey.verifySignature(t)}async verifySignatureAsync(t){return this.publicKey.verifySignatureAsync({...t})}static async fetchJWK(t){return Wr(t)}};rn.PEPPER_LENGTH=31;var me=rn,ar=class extends w{constructor(t,r){super();this.domainSeparator="APTOS::TransactionAndProof";this.transaction=t,this.proof=r}serialize(t){t.serializeFixedBytes(this.transaction.bcsToBytes()),t.serializeOption(this.proof)}hash(){return Oe(this.bcsToBytes(),this.domainSeparator)}};var be=class n extends me{constructor(e){let t=E.create(e);super({publicKey:t,...e}),this.publicKey=t}serialize(e){super.serialize(e)}static deserialize(e){let{address:t,proof:r,ephemeralKeyPair:i,jwt:o,uidKey:s,pepper:a,verificationKeyHash:c}=me.partialDeserialize(e),{iss:d,aud:l,uidVal:g}=et({jwt:o,uidKey:s});return new n({address:t,proof:r,ephemeralKeyPair:i,iss:d,uidKey:s,uidVal:g,aud:l,pepper:a,jwt:o,verificationKeyHash:c})}static fromBytes(e){return n.deserialize(new F(m.hexInputToUint8Array(e)))}static create(e){let{address:t,proof:r,jwt:i,ephemeralKeyPair:o,pepper:s,uidKey:a="sub",proofFetchCallback:c,verificationKey:d,verificationKeyHash:l}=e;if(l&&d)throw new Error("Cannot provide both verificationKey and verificationKeyHash");let{iss:g,aud:p,uidVal:y}=et({jwt:i,uidKey:a});return new n({address:t,proof:r,ephemeralKeyPair:o,iss:g,uidKey:a,uidVal:y,aud:p,pepper:s,jwt:i,proofFetchCallback:c,verificationKeyHash:l??(d?d.hash():void 0)})}};var Ce=class n extends me{constructor(e){let t=G.create(e);super({publicKey:t,...e}),this.publicKey=t,this.audless=e.audless??!1}serialize(e){super.serialize(e),this.publicKey.jwkAddress.serialize(e)}static deserialize(e){let{address:t,proof:r,ephemeralKeyPair:i,jwt:o,uidKey:s,pepper:a,verificationKeyHash:c}=me.partialDeserialize(e),d=u.deserialize(e),{iss:l,aud:g,uidVal:p}=et({jwt:o,uidKey:s});return new n({address:t,proof:r,ephemeralKeyPair:i,iss:l,uidKey:s,uidVal:p,aud:g,pepper:a,jwt:o,verificationKeyHash:c,jwkAddress:d})}static fromBytes(e){return n.deserialize(F.fromHex(e))}static create(e){let{address:t,proof:r,jwt:i,ephemeralKeyPair:o,pepper:s,jwkAddress:a,uidKey:c="sub",proofFetchCallback:d,verificationKey:l,verificationKeyHash:g}=e;if(g&&l)throw new Error("Cannot provide both verificationKey and verificationKeyHash");let{iss:p,aud:y,uidVal:h}=et({jwt:i,uidKey:c});return new n({address:t,proof:r,ephemeralKeyPair:o,iss:p,uidKey:c,uidVal:h,aud:y,pepper:s,jwkAddress:u.from(a),jwt:i,proofFetchCallback:d,verificationKeyHash:g??(l?l.hash():void 0)})}};var tt=class n{constructor(e){this.signingScheme=3;let{multiKey:t,address:r}=e,i=e.signers.map(a=>a instanceof Y?se.fromEd25519Account(a):a);if(t.signaturesRequired>i.length)throw new Error(`Not enough signers provided to satisfy the required signatures. Need ${t.signaturesRequired} signers, but only ${i.length} provided`);if(t.signaturesRequired<i.length)throw new Error(`More signers provided than required. Need ${t.signaturesRequired} signers, but ${i.length} provided`);this.publicKey=t,this.accountAddress=r?u.from(r):this.publicKey.authKey().derivedAddress();let o=[];for(let a of i)o.push(this.publicKey.getIndex(a.getAnyPublicKey()));let s=i.map((a,c)=>[a,o[c]]);s.sort((a,c)=>a[1]-c[1]),this.signers=s.map(a=>a[0]),this.signerIndicies=s.map(a=>a[1]),this.signaturesBitmap=this.publicKey.createBitmap({bits:o})}static fromPublicKeysAndSigners(e){let{address:t,publicKeys:r,signaturesRequired:i,signers:o}=e,s=new B({publicKeys:r,signaturesRequired:i});return new n({multiKey:s,signers:o,address:t})}static isMultiKeySigner(e){return e instanceof n}signWithAuthenticator(e){return new De(this.publicKey,this.sign(e))}signTransactionWithAuthenticator(e){return new De(this.publicKey,this.signTransaction(e))}async waitForProofFetch(){let t=this.signers.filter(r=>r instanceof me).map(async r=>r.waitForProofFetch());await Promise.all(t)}async checkKeylessAccountValidity(e){let r=this.signers.filter(i=>i instanceof me).map(i=>i.checkKeylessAccountValidity(e));await Promise.all(r)}sign(e){let t=[];for(let r of this.signers)t.push(r.sign(e));return new Ae({signatures:t,bitmap:this.signaturesBitmap})}signTransaction(e){let t=[];for(let r of this.signers)t.push(r.signTransaction(e));return new Ae({signatures:t,bitmap:this.signaturesBitmap})}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return await this.publicKey.verifySignatureAsync(e)}};var Tn=class{constructor(e){this.signingScheme=1;let{signers:t,publicKey:r,address:i}=e;if(this.publicKey=r,this.accountAddress=i?u.from(i):this.publicKey.authKey().derivedAddress(),r.threshold>t.length)throw new Error(`Not enough signers provided to satisfy the required signatures. Need ${r.threshold} signers, but only ${t.length} provided`);if(r.threshold<t.length)throw new Error(`More signers provided than required. Need ${r.threshold} signers, but ${t.length} provided`);let o=[];for(let a of t)o.push(this.publicKey.getIndex(a.publicKey()));let s=t.map((a,c)=>[a,o[c]]);s.sort((a,c)=>a[1]-c[1]),this.signers=s.map(a=>a[0]),this.signerIndices=s.map(a=>a[1]),this.signaturesBitmap=this.publicKey.createBitmap({bits:o})}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return this.publicKey.verifySignatureAsync({...e,signature:e.signature})}signWithAuthenticator(e){return new $e(this.publicKey,this.sign(e))}signTransactionWithAuthenticator(e){return new $e(this.publicKey,this.signTransaction(e))}sign(e){let t=[];for(let r of this.signers)t.push(r.sign(e));return new Ie({signatures:t,bitmap:this.signaturesBitmap})}signTransaction(e){return this.sign(ve(e))}};function No(n){let e=n.deserializeUleb128AsU32();if(!Object.values(j).includes(e))throw new Error(`Deserialization of Account failed: SigningScheme variant ${e} is invalid`);return{address:u.deserialize(n),signingScheme:e}}function Go(n,e){if(e.serializeStr(n.jwt),e.serializeStr(n.uidKey),e.serializeFixedBytes(n.pepper),n.ephemeralKeyPair.serialize(e),n.proof===void 0)throw new Error("Cannot serialize - proof undefined");n.proof.serialize(e),e.serializeOption(n.verificationKeyHash,32)}function Mo(n){let e=n.deserializeStr(),t=n.deserializeStr(),r=n.deserializeFixedBytes(31),i=Ct.deserialize(n),o=ye.deserialize(n),s=n.deserializeOption("fixedBytes",32);return{jwt:e,uidKey:t,pepper:r,ephemeralKeyPair:i,proof:o,verificationKeyHash:s}}var Bo;(g=>{function n(p){let y=new ee;switch(y.serializeU32AsUleb128(p.signingScheme),p.accountAddress.serialize(y),p.signingScheme){case 0:return p.privateKey.serialize(y),y.toUint8Array();case 2:{if(!qr(p))throw new Error("Account is not a SingleKeySigner");let h=p.getAnyPublicKey();switch(y.serializeU32AsUleb128(h.variant),h.variant){case 3:return Go(p,y),y.toUint8Array();case 4:{let k=p;return Go(k,y),k.publicKey.jwkAddress.serialize(y),y.serializeBool(k.audless),y.toUint8Array()}case 1:case 0:return p.privateKey.serialize(y),y.toUint8Array();default:throw new Error(`Invalid public key variant: ${h.variant}`)}}case 3:{let h=p;return h.publicKey.serialize(y),y.serializeU32AsUleb128(h.signers.length),h.signers.forEach(k=>{y.serializeFixedBytes(n(k))}),y.toUint8Array()}default:throw new Error(`Deserialization of Account failed: invalid signingScheme value ${p.signingScheme}`)}}g.toBytes=n;function e(p){return m.hexInputToStringWithoutPrefix(n(p))}g.toHexStringWithoutPrefix=e;function t(p){return m.hexInputToString(n(p))}g.toHexString=t;function r(p){let{address:y,signingScheme:h}=No(p);switch(h){case 0:{let k=L.deserialize(p);return new Y({privateKey:k,address:y})}case 2:{let k=p.deserializeUleb128AsU32();switch(k){case 0:{let M=L.deserialize(p);return new se({privateKey:M,address:y})}case 1:{let M=He.deserialize(p);return new se({privateKey:M,address:y})}case 3:{let M=Mo(p),X=et(M);return new be({...M,...X})}case 4:{let M=Mo(p),X=u.deserialize(p),Me=p.deserializeBool(),ot=et(M);return new Ce({...M,...ot,jwkAddress:X,audless:Me})}default:throw new Error(`Unsupported public key variant ${k}`)}}case 3:{let k=B.deserialize(p),M=p.deserializeUleb128AsU32(),X=new Array;for(let Me=0;Me<M;Me+=1){let ot=r(p);if(!qr(ot)&&!(ot instanceof Y))throw new Error("Deserialization of MultiKeyAccount failed. Signer is not a SingleKeySigner or Ed25519Account");X.push(ot)}return new tt({multiKey:k,signers:X,address:y})}default:throw new Error(`Deserialization of Account failed: invalid signingScheme value ${h}`)}}g.deserialize=r;function i(p){let y=d(p);if(!(y instanceof be))throw new Error("Deserialization of KeylessAccount failed");return y}g.keylessAccountFromHex=i;function o(p){let y=d(p);if(!(y instanceof Ce))throw new Error("Deserialization of FederatedKeylessAccount failed");return y}g.federatedKeylessAccountFromHex=o;function s(p){let y=d(p);if(!(y instanceof tt))throw new Error("Deserialization of MultiKeyAccount failed");return y}g.multiKeyAccountFromHex=s;function a(p){let y=d(p);if(!(y instanceof se))throw new Error("Deserialization of SingleKeyAccount failed");return y}g.singleKeyAccountFromHex=a;function c(p){let y=d(p);if(!(y instanceof Y))throw new Error("Deserialization of Ed25519Account failed");return y}g.ed25519AccountFromHex=c;function d(p){return r(F.fromHex(p))}g.fromHex=d;function l(p){return d(p)}g.fromBytes=l})(Bo||(Bo={}));import{sha3_256 as Vo}from"@noble/hashes/sha3";var ur=class n extends Xe{constructor({signer:t,accountAddress:r,authenticationFunction:i}){super();this.signingScheme=2;if(!Bt(i))throw new Error(`Invalid authentication function ${i} passed into AbstractedAccount`);this.authenticationFunction=i,this.accountAddress=r,this.publicKey=new zi(this.accountAddress),this.sign=o=>new kr(t(o))}static fromPermissionedSigner({signer:t,accountAddress:r}){return new n({signer:i=>{let o=new ee;return t.publicKey.serialize(o),t.sign(i).serialize(o),o.toUint8Array()},accountAddress:r??t.accountAddress,authenticationFunction:"0x1::permissioned_delegation::authenticate"})}static generateAccountAbstractionMessage(t,r){let i=new Xn(t,r);return Oe(i.bcsToBytes(),$i)}signWithAuthenticator(t){return new yt(this.authenticationFunction,Vo(t),this.sign(Vo(t)).toUint8Array())}signTransactionWithAuthenticator(t){let r=n.generateAccountAbstractionMessage(ve(t),this.authenticationFunction);return this.signWithAuthenticator(r)}signTransaction(t){return this.sign(ve(t))}setSigner(t){this.sign=r=>new kr(t(r))}};import{sha3_256 as jr}from"@noble/hashes/sha3";var Sn=class Sn extends ur{constructor({signer:e,authenticationFunction:t,abstractPublicKey:r}){let i=new u(Sn.computeAccountAddress(t,r));super({accountAddress:i,signer:e,authenticationFunction:t}),this.abstractPublicKey=r}static computeAccountAddress(e,t){if(!Bt(e))throw new Error(`Invalid authentication function ${e} passed into DerivableAbstractedAccount`);let[r,i,o]=e.split("::"),s=jr.create(),a=new ee;u.fromString(r).serialize(a),a.serializeStr(i),a.serializeStr(o),s.update(a.toUint8Array());let c=new ee;return c.serializeBytes(t),s.update(c.toUint8Array()),s.update(new Uint8Array([Sn.ADDRESS_DOMAIN_SEPERATOR])),s.digest()}signWithAuthenticator(e){return new yt(this.authenticationFunction,jr(e),this.sign(jr(e)).value,this.abstractPublicKey)}};Sn.ADDRESS_DOMAIN_SEPERATOR=5;var Ho=Sn;import{sha3_256 as Ja}from"@noble/hashes/sha3";function Lo(n){return!!n.match(/^[_a-zA-Z0-9]+$/)}function $o(n){return!!n.match(/\s/)}function Ma(n){return!!n.match(/^T[0-9]+$/)}function Ba(n){return!!n.match(/^&.+$/)}function Va(n){switch(n){case"signer":case"address":case"bool":case"u8":case"u16":case"u32":case"u64":case"u128":case"u256":case"i8":case"i16":case"i32":case"i64":case"i128":case"i256":return!0;default:return!1}}function Ha(n,e){let t=e;for(;t<n.length;t+=1){let r=n[t];if(!$o(r))break}return t}var La=(h=>(h.InvalidTypeTag="unknown type",h.UnexpectedGenericType="unexpected generic type",h.UnexpectedTypeArgumentClose="unexpected '>'",h.UnexpectedWhitespaceCharacter="unexpected whitespace character",h.UnexpectedComma="unexpected ','",h.TypeArgumentCountMismatch="type argument count doesn't match expected amount",h.MissingTypeArgumentClose="no matching '>' for '<'",h.MissingTypeArgument="no type argument before ','",h.UnexpectedPrimitiveTypeArguments="primitive types not expected to have type arguments",h.UnexpectedVectorTypeArgumentCount="vector type expected to have exactly one type argument",h.UnexpectedStructFormat="unexpected struct format, must be of the form 0xaddress::module_name::struct_name",h.InvalidModuleNameCharacter="module name must only contain alphanumeric or '_' characters",h.InvalidStructNameCharacter="struct name must only contain alphanumeric or '_' characters",h.InvalidAddress="struct address must be valid",h))(La||{}),$=class extends Error{constructor(e,t){super(`Failed to parse typeTag '${e}', ${t}`)}};function _e(n,e){let t=e?.allowGenerics??!1,r=[],i=[],o=[],s=0,a="",c=1;for(;s<n.length;){let d=n[s];if(d==="<")r.push({savedExpectedTypes:c,savedStr:a,savedTypes:o}),a="",o=[],c=1;else if(d===">"){if(a!==""){let h=Pn(a,i,t);o.push(h)}let l=r.pop();if(l===void 0)throw new $(n,"unexpected '>'");if(c!==o.length)throw new $(n,"type argument count doesn't match expected amount");let{savedStr:g,savedTypes:p,savedExpectedTypes:y}=l;i=o,o=p,a=g,c=y}else if(d===","){if(r.length===0)throw new $(n,"unexpected ','");if(a.length===0)throw new $(n,"no type argument before ','");let l=Pn(a,i,t);i=[],o.push(l),a="",c+=1}else if($o(d)){let l=!1;if(a.length!==0){let p=Pn(a,i,t);i=[],o.push(p),a="",l=!0}s=Ha(n,s);let g=n[s];if(s<n.length&&l&&g!==","&&g!==">")throw new $(n,"unexpected whitespace character");continue}else a+=d;s+=1}if(r.length>0)throw new $(n,"no matching '>' for '<'");switch(o.length){case 0:return Pn(a,i,t);case 1:if(a==="")return o[0];throw new $(n,"unexpected ','");default:throw new $(n,"unexpected whitespace character")}}function Pn(n,e,t){let r=n.trim(),i=r.toLowerCase();if(Va(i)&&e.length>0)throw new $(n,"primitive types not expected to have type arguments");switch(r.toLowerCase()){case"signer":return new Tt;case"bool":return new V;case"address":return new O;case"u8":return new oe;case"u16":return new qe;case"u32":return new We;case"u64":return new W;case"u128":return new je;case"u256":return new Qe;case"i8":return new mt;case"i16":return new ft;case"i32":return new At;case"i64":return new ht;case"i128":return new bt;case"i256":return new wt;case"vector":if(e.length!==1)throw new $(n,"vector type expected to have exactly one type argument");return new _(e[0]);default:if(Ba(r)){let a=r.substring(1);return new er(Pn(a,e,t))}if(Ma(r)){if(t)return new N(Number(r.split("T")[1]));throw new $(n,"unexpected generic type")}if(!r.match(/:/))throw new $(n,"unknown type");let o=r.split("::");if(o.length!==3)throw new $(n,"unexpected struct format, must be of the form 0xaddress::module_name::struct_name");let s;try{s=u.fromString(o[0])}catch{throw new $(n,"struct address must be valid")}if(!Lo(o[1]))throw new $(n,"module name must only contain alphanumeric or '_' characters");if(!Lo(o[2]))throw new $(n,"struct name must only contain alphanumeric or '_' characters");return new f(new Re(s,new D(o[1]),new D(o[2]),e))}}function qo(n){return typeof n=="boolean"}function nt(n){return typeof n=="string"}function $a(n){return typeof n=="number"}function dr(n){if($a(n))return n;if(nt(n)&&n!=="")return Number.parseInt(n,10)}function pr(n){return typeof n=="number"||typeof n=="bigint"||typeof n=="string"}function Wo(n){return n==null}function jo(n){return Qr(n)||Zr(n)||Yr(n)||Xr(n)||ei(n)||ti(n)||ni(n)||lr(n)||Jr(n)||qa(n)||n instanceof K||n instanceof te}function Qr(n){return n instanceof H}function lr(n){return n instanceof u}function Jr(n){return n instanceof z}function qa(n){return n instanceof Ft}function Zr(n){return n instanceof Se}function Yr(n){return n instanceof zt}function Xr(n){return n instanceof Dt}function ei(n){return n instanceof fe}function ti(n){return n instanceof Rt}function ni(n){return n instanceof Ot}function Qo(n){return"bytecode"in n}function U(n,e){throw new Error(`Type mismatch for argument ${e}, expected '${n}'`)}function Jo(n){let e=n.params.findIndex(t=>t!=="signer"&&t!=="&signer");return e<0?n.params.length:e}var Wa=new TextEncoder;function gr(n){return n?.map(e=>nt(e)?_e(e):e)??[]}async function ja(n,e,t){return(await yr({aptosConfig:t,accountAddress:n,moduleName:e})).abi}async function ii(n,e,t,r){let i=await ja(n,e,r);if(!i)throw new Error(`Could not find module ABI for '${n}::${e}'`);return i.exposed_functions.find(o=>o.name===t)}async function Km(n,e,t,r){let i=await ii(n,e,t,r);if(!i)throw new Error(`Could not find function ABI for '${n}::${e}::${t}'`);let o=[];for(let s=0;s<i.params.length;s+=1)o.push(_e(i.params[s],{allowGenerics:!0}));return{typeParameters:i.generic_type_params,parameters:o}}async function Zo(n,e,t,r){let i=await ii(n,e,t,r);if(!i)throw new Error(`Could not find entry function ABI for '${n}::${e}::${t}'`);if(!i.is_entry)throw new Error(`'${n}::${e}::${t}' is not an entry function`);let o=Jo(i),s=[];for(let a=o;a<i.params.length;a+=1)s.push(_e(i.params[a],{allowGenerics:!0}));return{signers:o,typeParameters:i.generic_type_params,parameters:s}}async function Yo(n,e,t,r){let i=await ii(n,e,t,r);if(!i)throw new Error(`Could not find view function ABI for '${n}::${e}::${t}'`);if(!i.is_view)throw new Error(`'${n}::${e}::${t}' is not an view function`);let o=[];for(let a=0;a<i.params.length;a+=1)o.push(_e(i.params[a],{allowGenerics:!0}));let s=[];for(let a=0;a<i.return.length;a+=1)s.push(_e(i.return[a],{allowGenerics:!0}));return{typeParameters:i.generic_type_params,parameters:o,returnTypes:s}}function oi(n,e,t,r,i,o){let s;if("exposed_functions"in e){let a=e.exposed_functions.find(c=>c.name===n);if(!a)throw new Error(`Could not find function ABI for '${e.address}::${e.name}::${n}'`);if(r>=a.params.length)throw new Error(`Too many arguments for '${n}', expected ${a.params.length}`);s=_e(a.params[r],{allowGenerics:!0})}else{if(r>=e.parameters.length)throw new Error(`Too many arguments for '${n}', expected ${e.parameters.length}`);s=e.parameters[r]}return _t(t,s,r,i,"exposed_functions"in e?e:void 0,o)}function _t(n,e,t,r,i,o){return jo(n)?(ri(e,n,t),n):Qa(n,e,t,r,i,o)}function Qa(n,e,t,r,i,o){if(e.isBool()){if(qo(n))return new H(n);if(nt(n)){if(n==="true")return new H(!0);if(n==="false")return new H(!1)}U("boolean",t)}if(e.isAddress()){if(nt(n))return u.fromString(n);if(n&&typeof n=="object"&&"data"in n&&n.data instanceof Uint8Array)return new u(n.data);U("string | AccountAddress",t)}if(e.isU8()){let s=dr(n);if(s!==void 0)return new Se(s);U("number | string",t)}if(e.isU16()){let s=dr(n);if(s!==void 0)return new zt(s);U("number | string",t)}if(e.isU32()){let s=dr(n);if(s!==void 0)return new Dt(s);U("number | string",t)}if(e.isU64()){if(pr(n))return new fe(BigInt(n));U("bigint | number | string",t)}if(e.isU128()){if(pr(n))return new Rt(BigInt(n));U("bigint | number | string",t)}if(e.isU256()){if(pr(n))return new Ot(BigInt(n));U("bigint | number | string",t)}if(e.isGeneric()){let s=e.value;if(s<0||s>=r.length)throw new Error(`Generic argument ${e.toString()} is invalid for argument ${t}`);return _t(n,r[s],t,r,i)}if(e.isVector()){if(e.value.isU8()){if(nt(n))return K.U8(Wa.encode(n));if(n instanceof Uint8Array)return K.U8(n);if(n instanceof ArrayBuffer)return K.U8(new Uint8Array(n))}if(nt(n)&&n.startsWith("["))return _t(JSON.parse(n),e,t,r);if(Array.isArray(n))return new K(n.map(s=>_t(s,e.value,t,r,i)));throw new Error(`Type mismatch for argument ${t}, type '${e.toString()}'`)}if(e.isStruct()){if(e.isString()){if(nt(n))return new z(n);U("string",t)}if(e.isObject()){if(nt(n))return u.fromString(n);if(n&&typeof n=="object"&&"data"in n&&n.data instanceof Uint8Array)return new u(n.data);U("string | AccountAddress",t)}if(e.isDelegationKey()||e.isRateLimiter()){if(n instanceof Uint8Array)return new Ft(n);U("Uint8Array",t)}if(e.isOption()){if(Wo(n)){let a=e.value.typeArgs[0];return a instanceof V?new te(null):a instanceof O?new te(null):a instanceof oe?new te(null):a instanceof qe?new te(null):a instanceof We?new te(null):a instanceof W?new te(null):a instanceof je?new te(null):a instanceof Qe?new te(null):new te(null)}return new te(_t(n,e.value.typeArgs[0],t,r,i))}if(i?.structs.find(a=>a.name===e.value.name.identifier)?.fields.length===0&&n instanceof Uint8Array)return new Ft(n);if(n instanceof Uint8Array&&o?.allowUnknownStructs)return console.warn(`Unsupported struct input type for argument ${t}. Continuing since 'allowUnknownStructs' is enabled.`),new Ft(n);throw new Error(`Unsupported struct input type for argument ${t}, type '${e.toString()}'`)}throw new Error(`Type mismatch for argument ${t}, type '${e.toString()}'`)}function ri(n,e,t){if(n.isBool()){if(Qr(e))return;U("Bool",t)}if(n.isAddress()){if(lr(e))return;U("AccountAddress",t)}if(n.isU8()){if(Zr(e))return;U("U8",t)}if(n.isU16()){if(Yr(e))return;U("U16",t)}if(n.isU32()){if(Xr(e))return;U("U32",t)}if(n.isU64()){if(ei(e))return;U("U64",t)}if(n.isU128()){if(ti(e))return;U("U128",t)}if(n.isU256()){if(ni(e))return;U("U256",t)}if(n.isVector()){if(e instanceof K){e.values.length>0&&ri(n.value,e.values[0],t);return}U("MoveVector",t)}if(n instanceof f){if(n.isString()){if(Jr(e))return;U("MoveString",t)}if(n.isObject()){if(lr(e))return;U("AccountAddress",t)}if(n.isOption()){if(e instanceof te){e.value!==void 0&&ri(n.value.typeArgs[0],e.value,t);return}U("MoveOption",t)}}throw new Error(`Type mismatch for argument ${t}, expected '${n.toString()}'`)}async function mr(n){if(Qo(n))return Xa(n);let{moduleAddress:e,moduleName:t,functionName:r}=ue(n.function),i=await ns({key:"entry-function",moduleAddress:e,moduleName:t,functionName:r,aptosConfig:n.aptosConfig,abi:n.abi,fetch:Zo});return Za({...n,abi:i})}function Za(n){let e=n.abi,{moduleAddress:t,moduleName:r,functionName:i}=ue(n.function),o=gr(n.typeArguments);if(o.length!==e.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${e.typeParameters.length}, received ${o.length}`);let s=n.functionArguments.map((c,d)=>oi(n.function,e,c,d,o));if(s.length!==e.parameters.length)throw new Error(`Too few arguments for '${t}::${r}::${i}', expected ${e.parameters.length} but got ${s.length}`);let a=Je.build(`${t}::${r}`,i,o,s);if("multisigAddress"in n){let c=u.from(n.multisigAddress);return new Zt(new An(c,new hn(a)))}return new Jt(a)}async function Xo(n){let{moduleAddress:e,moduleName:t,functionName:r}=ue(n.function),i=await ns({key:"view-function",moduleAddress:e,moduleName:t,functionName:r,aptosConfig:n.aptosConfig,abi:n.abi,fetch:Yo});return Ya({abi:i,...n})}function Ya(n){let e=n.abi,{moduleAddress:t,moduleName:r,functionName:i}=ue(n.function),o=gr(n.typeArguments);if(o.length!==e.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${e.typeParameters.length}, received ${o.length}`);let s=n?.functionArguments?.map((a,c)=>oi(n.function,e,a,c,o))??[];if(s.length!==e.parameters.length)throw new Error(`Too few arguments for '${t}::${r}::${i}', expected ${e.parameters.length} but got ${s.length}`);return Je.build(`${t}::${r}`,i,o,s)}function Xa(n){return new Qt(new Yt(m.fromHexInput(n.bytecode).toUint8Array(),gr(n.typeArguments),n.functionArguments))}async function ec(n){let{aptosConfig:e,sender:t,payload:r,options:i,feePayerAddress:o}=n;if(i?.replayProtectionNonce!==void 0&&i?.accountSequenceNumber!==void 0)throw new Error("Cannot specify both replayProtectionNonce and accountSequenceNumber in options.");let s=async()=>zr[e.network]?{chainId:zr[e.network]}:{chainId:(await qn({aptosConfig:e})).chain_id},a=async()=>i?.gasUnitPrice?{gasEstimate:i.gasUnitPrice}:{gasEstimate:(await jn({aptosConfig:e})).gas_estimate},c=async()=>{let X=async()=>i?.accountSequenceNumber!==void 0?i.accountSequenceNumber:i?.replayProtectionNonce!==void 0?0xdeadbeefn:(await Wn({aptosConfig:e,accountAddress:t})).sequence_number;if(o&&u.from(o).equals(u.ZERO))try{return await X()}catch{return 0}else return X()},[{chainId:d},{gasEstimate:l},g]=await Promise.all([s(),a(),c()]),{maxGasAmount:p,gasUnitPrice:y,expireTimestamp:h,replayProtectionNonce:k}={maxGasAmount:i?.maxGasAmount?BigInt(i.maxGasAmount):BigInt(e.getDefaultMaxGasAmount()),gasUnitPrice:i?.gasUnitPrice??BigInt(l),expireTimestamp:i?.expireTimestamp??BigInt(Math.floor(Date.now()/1e3)+e.getDefaultTxnExpirySecFromNow()),replayProtectionNonce:i?.replayProtectionNonce?BigInt(i.replayProtectionNonce):void 0},M=r;return k!==void 0&&(M=tc(r,k)),new he(u.from(t),BigInt(g),M,BigInt(p),BigInt(y),BigInt(h),new Ln(d))}function tc(n,e){if(n instanceof Qt)return new St(new bn(n.script),new Pt(void 0,e));if(n instanceof Jt)return new St(new en(n.entryFunction),new Pt(void 0,e));if(n instanceof Zt){let t=n.multiSig.transaction_payload,r;if(t===void 0||t?.transaction_payload===void 0)r=new wn;else if(t.transaction_payload instanceof Je)r=new en(t.transaction_payload);else throw new Error("Scripts are not supported in multi-sig transactions.");return new St(r,new Pt(n.multiSig.multisig_address,e))}else throw new Error(`Unsupported payload type: ${n}`)}async function si(n){let{aptosConfig:e,sender:t,payload:r,options:i,feePayerAddress:o}=n,s=await ec({aptosConfig:e,sender:t,payload:r,options:i,feePayerAddress:o});if("secondarySignerAddresses"in n){let a=n.secondarySignerAddresses?.map(c=>u.from(c))??[];return new or(s,a,n.feePayerAddress?u.from(n.feePayerAddress):void 0)}return new ir(s,n.feePayerAddress?u.from(n.feePayerAddress):void 0)}function es(n){let{signerPublicKey:e,transaction:t,secondarySignersPublicKeys:r,feePayerPublicKey:i}=n,o=an(e);if(t.feePayerAddress){let a=new xt(t.rawTransaction,t.secondarySignerAddresses??[],t.feePayerAddress),c=[];t.secondarySignerAddresses&&(r?c=r.map(g=>an(g)):c=Array.from({length:t.secondarySignerAddresses.length},()=>an(void 0)));let d=an(i),l=new vt(o,t.secondarySignerAddresses??[],c,{address:t.feePayerAddress,authenticator:d});return new Ye(a.raw_txn,l).bcsToBytes()}if(t.secondarySignerAddresses){let a=new Kt(t.rawTransaction,t.secondarySignerAddresses),c=[];r?c=r.map(l=>an(l)):c=Array.from({length:t.secondarySignerAddresses.length},()=>an(void 0));let d=new Et(o,t.secondarySignerAddresses,c);return new Ye(a.raw_txn,d).bcsToBytes()}let s;if(o instanceof Ee)s=new It(o.public_key,o.signature);else if(o instanceof ie||o instanceof De)s=new ct(o);else if(o instanceof jt)s=new ct(o);else throw new Error("Invalid public key");return new Ye(t.rawTransaction,s).bcsToBytes()}function an(n){if(!n)return new jt;let t=E.isInstance(n)||G.isInstance(n)||Ke.isInstance(n)?new x(n):n,r=new v(new Uint8Array(64));if(b.isInstance(t))return new Ee(t,r);if(x.isInstance(t))return E.isInstance(t.publicKey)?new ie(t,new R(re.getSimulationSignature())):new ie(t,new R(r));if(B.isInstance(t))return new De(t,new Ae({signatures:t.publicKeys.map(i=>E.isInstance(i.publicKey)||G.isInstance(i.publicKey)?new R(re.getSimulationSignature()):new R(r)),bitmap:t.createBitmap({bits:Array(t.publicKeys.length).fill(0).map((i,o)=>o)})}));throw new Error("Unsupported PublicKey used for simulations")}function ai(n){let{transaction:e,feePayerAuthenticator:t,additionalSignersAuthenticators:r}=n,i=Wi(q,n.senderAuthenticator),o;if(e.feePayerAddress){if(!t)throw new Error("Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction");o=new vt(i,e.secondarySignerAddresses??[],r??[],{address:e.feePayerAddress,authenticator:t})}else if(e.secondarySignerAddresses){if(!r)throw new Error("Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction");o=new Et(i,e.secondarySignerAddresses,r)}else i instanceof Ee?o=new It(i.public_key,i.signature):i instanceof $e?o=new tn(i.public_key,i.signature):o=new ct(i);return new Ye(e.rawTransaction,o).bcsToBytes()}function ts(n){let e=Ja.create();for(let t of n)e.update(t);return e.digest()}var nc=ts(["APTOS::Transaction"]);function Zm(n){let e=ai(n);return new m(ts([nc,new Uint8Array([0]),e])).toString()}async function ns({key:n,moduleAddress:e,moduleName:t,functionName:r,aptosConfig:i,abi:o,fetch:s}){return o!==void 0?o:Ht(async()=>s(e,t,r,i),`${n}-${i.network}-${e}-${t}-${r}`,1e3*60*5)()}async function A(n){let e=await ic(n);return oc(n,e)}async function ic(n){let{aptosConfig:e,data:t}=n,r,i;return"bytecode"in t?i=await mr(t):"multisigAddress"in t?(r={aptosConfig:e,multisigAddress:t.multisigAddress,function:t.function,functionArguments:t.functionArguments,typeArguments:t.typeArguments,abi:t.abi},i=await mr(r)):(r={aptosConfig:e,function:t.function,functionArguments:t.functionArguments,typeArguments:t.typeArguments,abi:t.abi},i=await mr(r)),i}async function oc(n,e){let{aptosConfig:t,sender:r,options:i}=n,o;if(sc(n)&&(o=u.ZERO.toString()),ac(n)){let{secondarySignerAddresses:s}=n;return si({aptosConfig:t,sender:r,payload:e,options:i,secondarySignerAddresses:s,feePayerAddress:o})}return si({aptosConfig:t,sender:r,payload:e,options:i,feePayerAddress:o})}function sc(n){return n.withFeePayer===!0}function ac(n){return"secondarySignerAddresses"in n}function rs(n){let{transaction:e}=n;return ve(e)}function fr(n){let{signer:e,transaction:t}=n;return e.signTransactionWithAuthenticator(t)}function Ar(n){let{signer:e,transaction:t}=n;if(!t.feePayerAddress)throw new Error(`Transaction ${t} is not a Fee Payer transaction`);return t.feePayerAddress=e.accountAddress,fr({signer:e,transaction:t})}async function ci(n){let{aptosConfig:e,transaction:t,signerPublicKey:r,secondarySignersPublicKeys:i,feePayerPublicKey:o,options:s}=n,a=es({transaction:t,signerPublicKey:r,secondarySignersPublicKeys:i,feePayerPublicKey:o,options:s}),{data:c}=await Vt({aptosConfig:e,body:a,path:"transactions/simulate",params:{estimate_gas_unit_price:n.options?.estimateGasUnitPrice??!1,estimate_max_gas_amount:n.options?.estimateMaxGasAmount??!1,estimate_prioritized_gas_unit_price:n.options?.estimatePrioritizedGasUnitPrice??!1},originMethod:"simulateTransaction",contentType:"application/x.aptos.signed_transaction+bcs"});return c}async function Kn(n){let{aptosConfig:e,transactionSubmitter:t}=n,r=t===void 0?e.getTransactionSubmitter():t;if(r)return r.submitTransaction(n);let i=ai({...n});try{let{data:o}=await Vt({aptosConfig:e,body:i,path:"transactions",originMethod:"submitTransaction",contentType:"application/x.aptos.signed_transaction+bcs"});return o}catch(o){let s=Ye.deserialize(new F(i));throw s.authenticator.isSingleSender()&&s.authenticator.sender.isSingleKey()&&(s.authenticator.sender.public_key.publicKey instanceof E||s.authenticator.sender.public_key.publicKey instanceof G)&&await me.fetchJWK({aptosConfig:e,publicKey:s.authenticator.sender.public_key.publicKey,kid:s.authenticator.sender.signature.signature.getJwkKid()}),o}}async function hr(n){let{aptosConfig:e,signer:t,feePayer:r,transaction:i,...o}=n;cr(t)&&await t.checkKeylessAccountValidity(e),cr(r)&&await r.checkKeylessAccountValidity(e);let s=n.feePayerAuthenticator||r&&Ar({signer:r,transaction:i}),a=fr({signer:t,transaction:i});return Kn({aptosConfig:e,transaction:i,senderAuthenticator:a,feePayerAuthenticator:s,...o})}async function is(n){let{aptosConfig:e,senderAuthenticator:t,feePayer:r,transaction:i,...o}=n;cr(r)&&await r.checkKeylessAccountValidity(e);let s=Ar({signer:r,transaction:i});return Kn({aptosConfig:e,transaction:i,senderAuthenticator:t,feePayerAuthenticator:s,...o})}var cc={typeParameters:[],parameters:[_.u8(),new _(_.u8())]};async function os(n){let{aptosConfig:e,account:t,metadataBytes:r,moduleBytecode:i,options:o}=n,s=i.map(a=>K.U8(a));return A({aptosConfig:e,sender:u.from(t),data:{function:"0x1::code::publish_package_txn",functionArguments:[K.U8(r),new K(s)],abi:cc},options:o})}async function cn(n){return Wn(n)}async function as(n){let{aptosConfig:e,accountAddress:t,options:r}=n;return Rr({aptosConfig:e,originMethod:"getModules",path:`accounts/${u.from(t).toString()}/modules`,params:{ledger_version:r?.ledgerVersion,limit:r?.limit??1e3}})}async function cs(n){let{aptosConfig:e,accountAddress:t,options:r}=n,{response:i,cursor:o}=await Or({aptosConfig:e,originMethod:"getModulesPage",path:`accounts/${u.from(t).toString()}/modules`,params:{ledger_version:r?.ledgerVersion,cursor:r?.cursor,limit:r?.limit??100}});return{modules:i.data,cursor:o}}async function yr(n){return Io(n)}async function pi(n){let{aptosConfig:e,accountAddress:t,options:r}=n;return to({aptosConfig:e,originMethod:"getTransactions",path:`accounts/${u.from(t).toString()}/transactions`,params:{start:r?.offset,limit:r?.limit}})}async function li(n){let{aptosConfig:e,accountAddress:t,options:r}=n;return Rr({aptosConfig:e,originMethod:"getResources",path:`accounts/${u.from(t).toString()}/resources`,params:{ledger_version:r?.ledgerVersion,limit:r?.limit??999}})}async function us(n){let{aptosConfig:e,accountAddress:t,options:r}=n,{response:i,cursor:o}=await Or({aptosConfig:e,originMethod:"getResourcesPage",path:`accounts/${u.from(t).toString()}/resources`,params:{ledger_version:r?.ledgerVersion,cursor:r?.cursor,limit:r?.limit??100}});return{resources:i.data,cursor:o}}async function gi(n){let{aptosConfig:e,accountAddress:t,resourceType:r,options:i}=n,{data:o}=await st({aptosConfig:e,originMethod:"getResource",path:`accounts/${u.from(t).toString()}/resource/${r}`,params:{ledger_version:i?.ledgerVersion}});return o.data}async function un(n){let{aptosConfig:e,authenticationKey:t,options:r}=n,i=await gi({aptosConfig:e,accountAddress:"0x1",resourceType:"0x1::account::OriginatingAddress",options:r}),{address_map:{handle:o}}=i,s=u.from(t);try{let a=await Eo({aptosConfig:e,handle:o,data:{key:s.toString(),key_type:"address",value_type:"address"},options:r});return u.from(a)}catch(a){if(a instanceof eo&&a.data.error_code==="table_item_not_found")return s;throw a}}async function ds(n){let{aptosConfig:e,accountAddress:t}=n,i={owner_address:{_eq:u.from(t).toStringLong()},amount:{_gt:0}},s=await P({aptosConfig:e,query:{query:go,variables:{where_condition:i}},originMethod:"getAccountTokensCount"});return s.current_token_ownerships_v2_aggregate.aggregate?s.current_token_ownerships_v2_aggregate.aggregate.count:0}async function ps(n){let{aptosConfig:e,accountAddress:t,options:r}=n,o={owner_address:{_eq:u.from(t).toStringLong()},amount:{_gt:0}};r?.tokenStandard&&(o.token_standard={_eq:r?.tokenStandard});let s={query:po,variables:{where_condition:o,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:s,originMethod:"getAccountOwnedTokens"})).current_token_ownerships_v2}async function ls(n){let{aptosConfig:e,accountAddress:t,collectionAddress:r,options:i}=n,o=u.from(t).toStringLong(),s=u.from(r).toStringLong(),a={owner_address:{_eq:o},current_token_data:{collection_id:{_eq:s}},amount:{_gt:0}};i?.tokenStandard&&(a.token_standard={_eq:i?.tokenStandard});let c={query:lo,variables:{where_condition:a,offset:i?.offset,limit:i?.limit,order_by:i?.orderBy}};return(await P({aptosConfig:e,query:c,originMethod:"getAccountOwnedTokensFromCollectionAddress"})).current_token_ownerships_v2}async function gs(n){let{aptosConfig:e,accountAddress:t,options:r}=n,o={owner_address:{_eq:u.from(t).toStringLong()}};r?.tokenStandard&&(o.current_collection={token_standard:{_eq:r?.tokenStandard}});let s={query:uo,variables:{where_condition:o,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:s,originMethod:"getAccountCollectionsWithOwnedTokens"})).current_collection_ownership_v2_view}async function ys(n){let{aptosConfig:e,accountAddress:t}=n,r=u.from(t).toStringLong(),o=await P({aptosConfig:e,query:{query:yo,variables:{address:r}},originMethod:"getAccountTransactionsCount"});return o.account_transactions_aggregate.aggregate?o.account_transactions_aggregate.aggregate.count:0}async function bA(n){let{aptosConfig:e,accountAddress:t,coinType:r,faMetadataAddress:i}=n,o=r,s;if(r!==void 0&&i!==void 0)s=u.from(i).toStringLong();else if(r!==void 0&&i===void 0)r===Be?s=u.A.toStringLong():s=Hn(u.A,r).toStringLong();else if(r===void 0&&i!==void 0){let l=u.from(i);s=l.toStringLong(),l===u.A&&(o=Be)}else throw new Error("Either coinType, fungibleAssetAddress, or both must be provided");let a=u.from(t).toStringLong(),c={asset_type:{_eq:s}};o!==void 0&&(c={asset_type:{_in:[o,s]}});let d=await yi({aptosConfig:e,accountAddress:a,options:{where:c}});return d[0]?d[0].amount:0}async function yi(n){let{aptosConfig:e,accountAddress:t,options:r}=n,i=u.from(t).toStringLong(),o={...r?.where,owner_address:{_eq:i}},s={query:co,variables:{where_condition:o,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:s,originMethod:"getAccountCoinsData"})).current_fungible_asset_balances}async function ms(n){let{aptosConfig:e,accountAddress:t}=n,r=u.from(t).toStringLong(),o=await P({aptosConfig:e,query:{query:ao,variables:{address:r}},originMethod:"getAccountCoinsCount"});if(!o.current_fungible_asset_balances_aggregate.aggregate)throw Error("Failed to get the count of account coins");return o.current_fungible_asset_balances_aggregate.aggregate.count}async function fs(n){let{aptosConfig:e,accountAddress:t,asset:r}=n,i=await st({aptosConfig:e,originMethod:"getBalance",path:`accounts/${t}/balance/${r}`,params:{accountAddress:t.toString(),asset:r instanceof Uint8Array?u.from(r).toString():r.toString()}});return parseInt(i.data.toString(),10)}async function mi(n){let{aptosConfig:e,accountAddress:t,options:r}=n,o={owner_address:{_eq:u.from(t).toStringLong()}},s={query:$n,variables:{where_condition:o,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:s,originMethod:"getAccountOwnedObjects"})).current_objects}async function As(n){let{aptosConfig:e,privateKey:t,options:r}=n,i=r?.throwIfNoAccountFound??!1,o=await br({aptosConfig:e,privateKey:t});if(o.length===0){if(i)throw new Error("No existing account found for private key.");return Xe.fromPrivateKey({privateKey:t})}return o[0]}async function wA(n){let{aptosConfig:e,authKey:t}=n,r=await un({aptosConfig:e,authenticationKey:t.derivedAddress()});return hs({aptosConfig:e,accountAddress:r})}async function hs(n){let{aptosConfig:e,accountAddress:t,options:r}=n;try{let[i,o]=await Promise.all([li({aptosConfig:e,accountAddress:t}),mi({aptosConfig:e,accountAddress:t,options:{limit:1}})]),s=i.find(c=>c.type==="0x1::account::Account");if(!s&&o.length===0)return!1;if(!r?.withAuthKey)return!0;let a;return s?a=s.data.authentication_key:a=t.toStringLong(),a===r.withAuthKey.toString()}catch(i){throw new Error(`Error while checking if account exists at ${t.toString()}: ${i}`)}}var uc={typeParameters:[],parameters:[new oe,_.u8(),new oe,_.u8(),_.u8(),_.u8()]};async function bs(n){let{aptosConfig:e,fromAccount:t,options:r}=n;if("toNewPrivateKey"in n)return ui({aptosConfig:e,fromAccount:t,toNewPrivateKey:n.toNewPrivateKey,options:r});if("toAccount"in n)return n.toAccount instanceof Y?ui({aptosConfig:e,fromAccount:t,toNewPrivateKey:n.toAccount.privateKey,options:r}):ui({aptosConfig:e,fromAccount:t,toAccount:n.toAccount,options:r});throw new Error("Invalid arguments")}async function ui(n){let{aptosConfig:e,fromAccount:t,options:r}=n,i=await cn({aptosConfig:e,accountAddress:t.accountAddress}),o;"toNewPrivateKey"in n?o=Xe.fromPrivateKey({privateKey:n.toNewPrivateKey,legacy:!0}):o=n.toAccount;let a=new oo({sequenceNumber:BigInt(i.sequence_number),originator:t.accountAddress,currentAuthKey:u.from(i.authentication_key),newPublicKey:o.publicKey}).bcsToBytes(),c=t.sign(a),d=o.sign(a);return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::account::rotate_authentication_key",functionArguments:[new Se(t.signingScheme),K.U8(t.publicKey.toUint8Array()),new Se(o.signingScheme),K.U8(o.publicKey.toUint8Array()),K.U8(c.toUint8Array()),K.U8(d.toUint8Array())],abi:uc},options:r})}var dc={typeParameters:[],parameters:[new oe,_.u8()]};async function ws(n){let{aptosConfig:e,fromAccount:t,toNewPublicKey:r,options:i}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::account::rotate_authentication_key_from_public_key",functionArguments:[new Se(ss(r)),K.U8(di(r).toUint8Array())],abi:dc},options:i})}async function wr(n){let{aptosConfig:e,publicKey:t,options:r}=n,i=r?.noMultiKey??!1;if(i&&t instanceof xe)throw new Error("Multi-key accounts are not supported when noMultiKey is true.");let o=[t];t instanceof x&&t.publicKey instanceof b?o.push(t.publicKey):t instanceof b&&o.push(new x(t));let[s,a]=await Promise.all([Promise.all(o.map(async g=>{let p=await mc({aptosConfig:e,publicKey:g});if(p)return{...p,publicKey:g}})),!(t instanceof xe)&&!i?lc({aptosConfig:e,publicKey:t,options:r}):Promise.resolve([])]),c=[];for(let g of s)g&&c.push(g);o.push(...a);let d=new Map(o.map(g=>[g.authKey().toString(),g])),l=await gc({aptosConfig:e,authKeys:o.map(g=>g.authKey()),options:r});for(let g of l){if(c.find(y=>y.accountAddress===g.accountAddress))continue;let p=d.get(g.authKey.toString());if(!p)throw new Error(`No publicKey found for authentication key ${g.authKey}. This should never happen.`);c.push({accountAddress:g.accountAddress,publicKey:p,lastTransactionVersion:g.lastTransactionVersion})}return c.sort((g,p)=>p.lastTransactionVersion-g.lastTransactionVersion)}async function fi(n){let{aptosConfig:e,signer:t,options:r}=n;if(t instanceof L||t instanceof He)return br({aptosConfig:e,privateKey:t,options:r});if(t instanceof Y||t instanceof se)return br({aptosConfig:e,privateKey:t.privateKey,options:r});if(t instanceof be||t instanceof Ce)return pc({aptosConfig:e,keylessAccount:t,options:r});if(t instanceof tt&&t.signers.length===1)return fi({aptosConfig:e,signer:t.signers[0],options:r});if(t instanceof Tn&&t.signers.length===1)return br({aptosConfig:e,privateKey:t.signers[0],options:r});throw new Error("Unknown signer type")}async function pc(n){let{aptosConfig:e,keylessAccount:t,options:r}=n,i=await wr({aptosConfig:e,publicKey:t.getAnyPublicKey(),options:r}),o={proof:t.proofOrPromise,jwt:t.jwt,ephemeralKeyPair:t.ephemeralKeyPair,pepper:t.pepper,verificationKeyHash:t.verificationKeyHash},s=[];for(let{accountAddress:a,publicKey:c}of i)if(c instanceof xe){if(c.getSignaturesRequired()>1)continue;if(c instanceof Z)throw new Error("Keyless authentication cannot be used for multi-ed25519 accounts. This should never happen.");c instanceof B&&s.push(new tt({multiKey:c,signers:[t],address:a}))}else t instanceof Ce?s.push(Ce.create({...o,address:a,jwkAddress:t.publicKey.jwkAddress})):s.push(be.create({...o,address:a}));return s}async function br(n){let{aptosConfig:e,privateKey:t,options:r}=n,i=Xe.fromPrivateKey({privateKey:t,legacy:!1}),o=await wr({aptosConfig:e,publicKey:new x(t.publicKey()),options:r}),s=[];for(let{accountAddress:a,publicKey:c}of o)if(c instanceof xe){if(c.getSignaturesRequired()>1)continue;c instanceof Z?s.push(new Tn({publicKey:c,signers:[t],address:a})):c instanceof B&&s.push(new tt({multiKey:c,signers:[i],address:a}))}else{let d=c instanceof b;s.push(Xe.fromPrivateKey({privateKey:t,address:a,legacy:d}))}return s}async function lc(n){let{aptosConfig:e,publicKey:t,options:r}=n;if(t instanceof xe)throw new Error("Public key is a multi-key.");let i=r?.includeUnverified??!1,o=t instanceof x?t:new x(t),s=o.publicKey,a=ki(o.variant),c={public_key:{_eq:s.toString()},public_key_type:{_eq:a},account_public_key:{_is_null:!1},...i?{}:{is_public_key_used:{_eq:!0}}},d={query:mo,variables:{where_condition:c}},{public_key_auth_keys:l}=await P({aptosConfig:e,query:d,originMethod:"getMultiKeysForPublicKey"});return l.filter(p=>p.account_public_key!==null).map(p=>{switch(p.signature_type){case"multi_ed25519_signature":return Z.deserializeWithoutLength(F.fromHex(p.account_public_key));case"multi_key_signature":return B.deserialize(F.fromHex(p.account_public_key));default:throw new Error(`Unknown multi-signature type: ${p.signature_type}`)}})}async function gc(n){let{aptosConfig:e,authKeys:t,options:r}=n,i=r?.includeUnverified??!1;if(t.length===0)throw new Error("No authentication keys provided");let o={auth_key:{_in:t.map(c=>c.toString())},...i?{}:{is_auth_key_used:{_eq:!0}}},s={query:so,variables:{where_condition:o,order_by:[{last_transaction_version:"desc"}]}},{auth_key_account_addresses:a}=await P({aptosConfig:e,query:s,originMethod:"getAccountAddressesForAuthKeys"});return a.map(c=>({authKey:new ne({data:c.auth_key}),accountAddress:new u(m.hexInputToUint8Array(c.account_address)),lastTransactionVersion:Number(c.last_transaction_version)}))}async function yc(n){let{aptosConfig:e,accountAddress:t}=n,r=await pi({aptosConfig:e,accountAddress:t,options:{limit:1}});return r.length===0?0:Number(r[0].version)}async function mc(n){let{aptosConfig:e,publicKey:t}=n,r=t.authKey().derivedAddress(),[i,o]=await Promise.all([yc({aptosConfig:e,accountAddress:r}),hs({aptosConfig:e,accountAddress:r,options:{withAuthKey:t.authKey()}})]);if(o)return{accountAddress:r,lastTransactionVersion:i}}async function ae(n){let{aptosConfig:e,payload:t,options:r}=n,i=await Xo({...t,aptosConfig:e}),o=new ee;i.serialize(o);let s=o.toUint8Array(),{data:a}=await Vt({aptosConfig:e,path:"view",originMethod:"view",contentType:"application/x.aptos.view_function+bcs",params:{ledger_version:r?.ledgerVersion},body:s});return a}async function Ts(n){let{aptosConfig:e,payload:t,options:r}=n,{data:i}=await Vt({aptosConfig:e,originMethod:"viewJson",path:"view",params:{ledger_version:r?.ledgerVersion},body:{function:t.function,type_arguments:t.typeArguments??[],arguments:t.functionArguments??[]}});return i}async function Ss(n){let{aptosConfig:e,sender:t,authenticationFunction:r,options:i}=n,{moduleAddress:o,moduleName:s,functionName:a}=ue(r);return A({aptosConfig:e,sender:t,data:{function:"0x1::account_abstraction::add_authentication_function",typeArguments:[],functionArguments:[o,s,a],abi:{typeParameters:[],parameters:[new O,new f(I()),new f(I())]}},options:i})}async function Ps(n){let{aptosConfig:e,sender:t,authenticationFunction:r,options:i}=n,{moduleAddress:o,moduleName:s,functionName:a}=ue(r);return A({aptosConfig:e,sender:t,data:{function:"0x1::account_abstraction::remove_authentication_function",typeArguments:[],functionArguments:[o,s,a],abi:{typeParameters:[],parameters:[new O,new f(I()),new f(I())]}},options:i})}async function Ks(n){let{aptosConfig:e,sender:t,options:r}=n;return A({aptosConfig:e,sender:t,data:{function:"0x1::account_abstraction::remove_authenticator",typeArguments:[],functionArguments:[],abi:{typeParameters:[],parameters:[]}},options:r})}var Ut=class{constructor(e){this.config=e;this.isAccountAbstractionEnabled=async e=>{let t=await this.getAuthenticationFunction(e),{moduleAddress:r,moduleName:i,functionName:o}=ue(e.authenticationFunction);return t?.some(s=>u.fromString(r).equals(s.moduleAddress)&&i===s.moduleName&&o===s.functionName)??!1};this.enableAccountAbstractionTransaction=this.addAuthenticationFunctionTransaction;this.disableAccountAbstractionTransaction=async e=>{let{accountAddress:t,authenticationFunction:r,options:i}=e;return r?this.removeAuthenticationFunctionTransaction({accountAddress:t,authenticationFunction:r,options:i}):this.removeDispatchableAuthenticatorTransaction({accountAddress:t,options:i})}}async addAuthenticationFunctionTransaction(e){let{accountAddress:t,authenticationFunction:r,options:i}=e;return Ss({aptosConfig:this.config,authenticationFunction:r,sender:t,options:i})}async removeAuthenticationFunctionTransaction(e){let{accountAddress:t,authenticationFunction:r,options:i}=e;return Ps({aptosConfig:this.config,sender:t,authenticationFunction:r,options:i})}async removeDispatchableAuthenticatorTransaction(e){let{accountAddress:t,options:r}=e;return Ks({aptosConfig:this.config,sender:t,options:r})}async getAuthenticationFunction(e){let{accountAddress:t}=e,[{vec:r}]=await ae({aptosConfig:this.config,payload:{function:"0x1::account_abstraction::dispatchable_authenticator",functionArguments:[u.from(t)],abi:{typeParameters:[],parameters:[new O],returnTypes:[]}}});if(r.length!==0)return r[0].map(i=>({moduleAddress:u.fromString(i.module_address),moduleName:i.module_name,functionName:i.function_name}))}};var xn=class{constructor(e){this.config=e;this.abstraction=new Ut(e)}async getAccountInfo(e){return cn({aptosConfig:this.config,...e})}async getAccountModules(e){return as({aptosConfig:this.config,...e})}async getAccountModulesPage(e){return cs({aptosConfig:this.config,...e})}async getAccountModule(e){return yr({aptosConfig:this.config,...e})}async getAccountTransactions(e){return pi({aptosConfig:this.config,...e})}async getAccountResources(e){return li({aptosConfig:this.config,...e})}async getAccountResourcesPage(e){return us({aptosConfig:this.config,...e})}async getAccountResource(e){return gi({aptosConfig:this.config,...e})}async lookupOriginalAccountAddress(e){return un({aptosConfig:this.config,...e})}async getAccountTokensCount(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_transactions_processor"}),ds({aptosConfig:this.config,...e})}async getAccountOwnedTokens(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),ps({aptosConfig:this.config,...e})}async getAccountOwnedTokensFromCollectionAddress(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),ls({aptosConfig:this.config,...e})}async getAccountCollectionsWithOwnedTokens(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),gs({aptosConfig:this.config,...e})}async getAccountTransactionsCount(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_transactions_processor"}),ys({aptosConfig:this.config,...e})}async getAccountCoinsData(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"fungible_asset_processor"}),yi({aptosConfig:this.config,...e})}async getAccountCoinsCount(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"fungible_asset_processor"}),ms({aptosConfig:this.config,...e})}async getAccountAPTAmount(e){return this.getAccountCoinAmount({coinType:Be,faMetadataAddress:Hi,...e})}async getAccountCoinAmount(e){let{accountAddress:t,coinType:r,faMetadataAddress:i}=e,o=r;r===void 0&&i!==void 0&&(o=await Ht(async()=>{try{let c=(await ae({aptosConfig:this.config,payload:{function:"0x1::coin::paired_coin",functionArguments:[i]}}))[0];if(c.vec.length>0&&Xi(c.vec[0]))return Yi(c.vec[0])}catch{}},`coin-mapping-${i.toString()}`,1e3*60*5)());let s;if(r!==void 0&&i!==void 0)s=u.from(i).toStringLong();else if(r!==void 0&&i===void 0)r===Be?s=u.A.toStringLong():s=Hn(u.A,r).toStringLong();else if(r===void 0&&i!==void 0){let c=u.from(i);s=c.toStringLong(),c===u.A&&(o=Be)}else throw new Error("Either coinType, faMetadataAddress, or both must be provided");if(o!==void 0){let[c]=await ae({aptosConfig:this.config,payload:{function:"0x1::coin::balance",typeArguments:[o],functionArguments:[t]}});return parseInt(c,10)}let[a]=await ae({aptosConfig:this.config,payload:{function:"0x1::primary_fungible_store::balance",typeArguments:["0x1::object::ObjectCore"],functionArguments:[t,s]}});return parseInt(a,10)}async getBalance(e){return fs({aptosConfig:this.config,...e})}async getAccountOwnedObjects(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"default_processor"}),mi({aptosConfig:this.config,...e})}async deriveAccountFromPrivateKey(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_restoration_processor"}),await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"objects_processor"}),As({aptosConfig:this.config,...e})}async deriveOwnedAccountsFromSigner(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_restoration_processor"}),await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"objects_processor"}),fi({aptosConfig:this.config,...e})}async getAccountsForPublicKey(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_restoration_processor"}),await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"objects_processor"}),wr({aptosConfig:this.config,...e})}};var fc={typeParameters:[{constraints:[]}],parameters:[new O,new W]};async function xs(n){let{aptosConfig:e,sender:t,recipient:r,amount:i,coinType:o,options:s}=n;return A({aptosConfig:e,sender:t,data:{function:"0x1::aptos_account::transfer_coins",typeArguments:[o??Be],functionArguments:[r,i],abi:fc},options:s})}var En=class{constructor(e){this.config=e}async transferCoinTransaction(e){return xs({aptosConfig:this.config,...e})}};var dt={BOOLEAN:"bool",U8:"u8",U16:"u16",U32:"u32",U64:"u64",U128:"u128",U256:"u256",ADDRESS:"address",STRING:"0x1::string::String",ARRAY:"vector<u8>"},we="0x4::token::Token";async function Is(n){let{aptosConfig:e,digitalAssetAddress:t}=n,r={token_data_id:{_eq:u.from(t).toStringLong()}};return(await P({aptosConfig:e,query:{query:So,variables:{where_condition:r}},originMethod:"getDigitalAssetData"})).current_token_datas_v2[0]}async function Es(n){let{aptosConfig:e,digitalAssetAddress:t}=n,r={token_data_id:{_eq:u.from(t).toStringLong()},amount:{_gt:0}};return(await P({aptosConfig:e,query:{query:Br,variables:{where_condition:r}},originMethod:"getCurrentDigitalAssetOwnership"})).current_token_ownerships_v2[0]}async function vs(n){let{aptosConfig:e,ownerAddress:t,options:r}=n,i={owner_address:{_eq:u.from(t).toStringLong()},amount:{_gt:0}},o={query:Br,variables:{where_condition:i,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:o,originMethod:"getOwnedDigitalAssets"})).current_token_ownerships_v2}async function Cs(n){let{aptosConfig:e,digitalAssetAddress:t,options:r}=n,i={token_data_id:{_eq:u.from(t).toStringLong()}},o={query:To,variables:{where_condition:i,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:o,originMethod:"getDigitalAssetActivity"})).token_activities_v2}var Ac={typeParameters:[],parameters:[new f(I()),new W,new f(I()),new f(I()),new V,new V,new V,new V,new V,new V,new V,new V,new V,new W,new W]};async function _s(n){let{aptosConfig:e,options:t,creator:r}=n;return A({aptosConfig:e,sender:r.accountAddress,data:{function:"0x4::aptos_token::create_collection",functionArguments:[new z(n.description),new fe(n.maxSupply??Ci),new z(n.name),new z(n.uri),new H(n.mutableDescription??!0),new H(n.mutableRoyalty??!0),new H(n.mutableURI??!0),new H(n.mutableTokenDescription??!0),new H(n.mutableTokenName??!0),new H(n.mutableTokenProperties??!0),new H(n.mutableTokenURI??!0),new H(n.tokensBurnableByCreator??!0),new H(n.tokensFreezableByCreator??!0),new fe(n.royaltyNumerator??0),new fe(n.royaltyDenominator??1)],abi:Ac},options:t})}async function dn(n){let{aptosConfig:e,options:t}=n,r=t?.where;t?.tokenStandard&&(r.token_standard={_eq:t?.tokenStandard??"v2"});let i={query:fo,variables:{where_condition:r,offset:t?.offset,limit:t?.limit}};return(await P({aptosConfig:e,query:i,originMethod:"getCollectionData"})).current_collections_v2[0]}async function Us(n){let{aptosConfig:e,creatorAddress:t,collectionName:r,options:i}=n,o=u.from(t),s={collection_name:{_eq:r},creator_address:{_eq:o.toStringLong()}};return i?.tokenStandard&&(s.token_standard={_eq:i?.tokenStandard??"v2"}),dn({aptosConfig:e,options:{...i,where:s}})}async function ks(n){let{aptosConfig:e,creatorAddress:t,options:r}=n,o={creator_address:{_eq:u.from(t).toStringLong()}};return r?.tokenStandard&&(o.token_standard={_eq:r?.tokenStandard??"v2"}),dn({aptosConfig:e,options:{...r,where:o}})}async function Fs(n){let{aptosConfig:e,collectionId:t,options:r}=n,o={collection_id:{_eq:u.from(t).toStringLong()}};return r?.tokenStandard&&(o.token_standard={_eq:r?.tokenStandard??"v2"}),dn({aptosConfig:e,options:{...r,where:o}})}async function zs(n){let{creatorAddress:e,collectionName:t,options:r,aptosConfig:i}=n,o=u.from(e),s={collection_name:{_eq:t},creator_address:{_eq:o.toStringLong()}};return r?.tokenStandard&&(s.token_standard={_eq:r?.tokenStandard??"v2"}),(await dn({aptosConfig:i,options:{where:s}})).collection_id}var hc={typeParameters:[],parameters:[new f(I()),new f(I()),new f(I()),new f(I()),new _(new f(I())),new _(new f(I())),new _(_.u8())]};async function Ds(n){let{aptosConfig:e,options:t,creator:r,collection:i,description:o,name:s,uri:a,propertyKeys:c,propertyTypes:d,propertyValues:l}=n,g=d?.map(p=>dt[p]);return A({aptosConfig:e,sender:r.accountAddress,data:{function:"0x4::aptos_token::mint",functionArguments:[new z(i),new z(o),new z(s),new z(a),K.MoveString(c??[]),K.MoveString(g??[]),Qs(l??[],g??[])],abi:hc},options:t})}var bc={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0))),new O]};async function Rs(n){let{aptosConfig:e,sender:t,digitalAssetAddress:r,recipient:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::object::transfer",typeArguments:[o??we],functionArguments:[u.from(r),u.from(i)],abi:bc},options:s})}var wc={typeParameters:[],parameters:[new f(I()),new f(I()),new f(I()),new f(I()),new _(new f(I())),new _(new f(I())),new _(_.u8()),new O]};async function Os(n){let{aptosConfig:e,account:t,collection:r,description:i,name:o,uri:s,recipient:a,propertyKeys:c,propertyTypes:d,propertyValues:l,options:g}=n;if(c?.length!==l?.length)throw new Error("Property keys and property values counts do not match");if(d?.length!==l?.length)throw new Error("Property types and property values counts do not match");let p=d?.map(y=>dt[y]);return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::mint_soul_bound",functionArguments:[r,i,o,s,K.MoveString(c??[]),K.MoveString(p??[]),Qs(l??[],p??[]),a],abi:wc},options:g})}var Tc={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0)))]};async function Ns(n){let{aptosConfig:e,creator:t,digitalAssetAddress:r,digitalAssetType:i,options:o}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::burn",typeArguments:[i??we],functionArguments:[u.from(r)],abi:Tc},options:o})}var Sc={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0)))]};async function Gs(n){let{aptosConfig:e,creator:t,digitalAssetAddress:r,digitalAssetType:i,options:o}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::freeze_transfer",typeArguments:[i??we],functionArguments:[r],abi:Sc},options:o})}var Pc={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0)))]};async function Ms(n){let{aptosConfig:e,creator:t,digitalAssetAddress:r,digitalAssetType:i,options:o}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::unfreeze_transfer",typeArguments:[i??we],functionArguments:[r],abi:Pc},options:o})}var Kc={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0))),new f(I())]};async function Bs(n){let{aptosConfig:e,creator:t,description:r,digitalAssetAddress:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::set_description",typeArguments:[o??we],functionArguments:[u.from(i),new z(r)],abi:Kc},options:s})}var xc={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0))),new f(I())]};async function Vs(n){let{aptosConfig:e,creator:t,name:r,digitalAssetAddress:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::set_name",typeArguments:[o??we],functionArguments:[u.from(i),new z(r)],abi:xc},options:s})}var Ic={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0))),new f(I())]};async function Hs(n){let{aptosConfig:e,creator:t,uri:r,digitalAssetAddress:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::set_uri",typeArguments:[o??we],functionArguments:[u.from(i),new z(r)],abi:Ic},options:s})}var Ec={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0))),new f(I()),new f(I()),_.u8()]};async function Ls(n){let{aptosConfig:e,creator:t,propertyKey:r,propertyType:i,propertyValue:o,digitalAssetAddress:s,digitalAssetType:a,options:c}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::add_property",typeArguments:[a??we],functionArguments:[u.from(s),new z(r),new z(dt[i]),K.U8(Ai(o,dt[i]))],abi:Ec},options:c})}var vc={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0))),new f(I())]};async function $s(n){let{aptosConfig:e,creator:t,propertyKey:r,digitalAssetAddress:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::remove_property",typeArguments:[o??we],functionArguments:[u.from(i),new z(r)],abi:vc},options:s})}var Cc={typeParameters:[{constraints:["key"]}],parameters:[new f(ge(new N(0))),new f(I()),new f(I()),_.u8()]};async function qs(n){let{aptosConfig:e,creator:t,propertyKey:r,propertyType:i,propertyValue:o,digitalAssetAddress:s,digitalAssetType:a,options:c}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::update_property",typeArguments:[a??we],functionArguments:[u.from(s),new z(r),new z(dt[i]),Ai(o,dt[i])],abi:Cc},options:c})}var _c={typeParameters:[{constraints:["key"]},{constraints:[]}],parameters:[new f(ge(new N(0))),new f(I()),new N(1)]};async function Ws(n){let{aptosConfig:e,creator:t,propertyKey:r,propertyType:i,propertyValue:o,digitalAssetAddress:s,digitalAssetType:a,options:c}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::add_typed_property",typeArguments:[a??we,dt[i]],functionArguments:[u.from(s),new z(r),o],abi:_c},options:c})}var Uc={typeParameters:[{constraints:["key"]},{constraints:[]}],parameters:[new f(ge(new N(0))),new f(I()),new N(1)]};async function js(n){let{aptosConfig:e,creator:t,propertyKey:r,propertyType:i,propertyValue:o,digitalAssetAddress:s,digitalAssetType:a,options:c}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::update_typed_property",typeArguments:[a??we,dt[i]],functionArguments:[u.from(s),new z(r),o],abi:Uc},options:c})}function Qs(n,e){let t=new Array;return e.forEach((r,i)=>{t.push(Ai(n[i],r))}),t}function Ai(n,e){let t=_e(e);return _t(n,t,0,[]).bcsToBytes()}var vn=class{constructor(e){this.config=e}async getCollectionData(e){await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"});let{creatorAddress:t,collectionName:r,options:i}=e,o=u.from(t),s={collection_name:{_eq:r},creator_address:{_eq:o.toStringLong()}};return i?.tokenStandard&&(s.token_standard={_eq:i?.tokenStandard??"v2"}),dn({aptosConfig:this.config,options:{where:s}})}async getCollectionDataByCreatorAddressAndCollectionName(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Us({aptosConfig:this.config,...e})}async getCollectionDataByCreatorAddress(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),ks({aptosConfig:this.config,...e})}async getCollectionDataByCollectionId(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Fs({aptosConfig:this.config,...e})}async getCollectionId(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),zs({aptosConfig:this.config,...e})}async getDigitalAssetData(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Is({aptosConfig:this.config,...e})}async getCurrentDigitalAssetOwnership(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Es({aptosConfig:this.config,...e})}async getOwnedDigitalAssets(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),vs({aptosConfig:this.config,...e})}async getDigitalAssetActivity(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Cs({aptosConfig:this.config,...e})}async createCollectionTransaction(e){return _s({aptosConfig:this.config,...e})}async mintDigitalAssetTransaction(e){return Ds({aptosConfig:this.config,...e})}async transferDigitalAssetTransaction(e){return Rs({aptosConfig:this.config,...e})}async mintSoulBoundTransaction(e){return Os({aptosConfig:this.config,...e})}async burnDigitalAssetTransaction(e){return Ns({aptosConfig:this.config,...e})}async freezeDigitalAssetTransaferTransaction(e){return Gs({aptosConfig:this.config,...e})}async unfreezeDigitalAssetTransaferTransaction(e){return Ms({aptosConfig:this.config,...e})}async setDigitalAssetDescriptionTransaction(e){return Bs({aptosConfig:this.config,...e})}async setDigitalAssetNameTransaction(e){return Vs({aptosConfig:this.config,...e})}async setDigitalAssetURITransaction(e){return Hs({aptosConfig:this.config,...e})}async addDigitalAssetPropertyTransaction(e){return Ls({aptosConfig:this.config,...e})}async removeDigitalAssetPropertyTransaction(e){return $s({aptosConfig:this.config,...e})}async updateDigitalAssetPropertyTransaction(e){return qs({aptosConfig:this.config,...e})}async addDigitalAssetTypedPropertyTransaction(e){return Ws({aptosConfig:this.config,...e})}async updateDigitalAssetTypedPropertyTransaction(e){return js({aptosConfig:this.config,...e})}};async function Js(n){let{aptosConfig:e,accountAddress:t,amount:r,options:i}=n,o=i?.timeoutSecs||20,{data:s}=await no({aptosConfig:e,path:"fund",body:{address:u.from(t).toString(),amount:r},originMethod:"fundAccount"}),a=s.txn_hashes[0],c=await $t({aptosConfig:e,transactionHash:a,options:{timeoutSecs:o,checkSuccess:i?.checkSuccess}});if(c.type==="user_transaction")return c;throw new Error(`Unexpected transaction received for fund account: ${c.type}`)}var Cn=class{constructor(e){this.config=e}async fundAccount(e){let t=await Js({aptosConfig:this.config,...e});return(e.options?.waitForIndexer===void 0||e.options?.waitForIndexer)&&await ko({aptosConfig:this.config,minimumLedgerVersion:BigInt(t.version),processorType:"fungible_asset_processor"}),t}};async function Tr(n){let{aptosConfig:e,options:t}=n,r={query:wo,variables:{where_condition:t?.where,limit:t?.limit,offset:t?.offset}};return(await P({aptosConfig:e,query:r,originMethod:"getFungibleAssetMetadata"})).fungible_asset_metadata}async function Zs(n){let{aptosConfig:e,options:t}=n,r={query:bo,variables:{where_condition:t?.where,limit:t?.limit,offset:t?.offset}};return(await P({aptosConfig:e,query:r,originMethod:"getFungibleAssetActivities"})).fungible_asset_activities}async function Ys(n){let{aptosConfig:e,options:t}=n,r={query:Ao,variables:{where_condition:t?.where,limit:t?.limit,offset:t?.offset}};return(await P({aptosConfig:e,query:r,originMethod:"getCurrentFungibleAssetBalances"})).current_fungible_asset_balances}var Xs={typeParameters:[{constraints:[]}],parameters:[_e("0x1::object::Object"),new O,new W]};async function ea(n){let{aptosConfig:e,sender:t,fungibleAssetMetadataAddress:r,recipient:i,amount:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::primary_fungible_store::transfer",typeArguments:["0x1::fungible_asset::Metadata"],functionArguments:[r,i,o],abi:Xs},options:s})}async function ta(n){let{aptosConfig:e,sender:t,fromStore:r,toStore:i,amount:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::dispatchable_fungible_asset::transfer",typeArguments:["0x1::fungible_asset::FungibleStore"],functionArguments:[r,i,o],abi:Xs},options:s})}var _n=class{constructor(e){this.config=e}async getFungibleAssetMetadata(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),Tr({aptosConfig:this.config,...e})}async getFungibleAssetMetadataByAssetType(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),(await Tr({aptosConfig:this.config,options:{where:{asset_type:{_eq:e.assetType}}}}))[0]}async getFungibleAssetMetadataByCreatorAddress(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),await Tr({aptosConfig:this.config,options:{where:{creator_address:{_eq:u.from(e.creatorAddress).toStringLong()}}}})}async getFungibleAssetActivities(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),Zs({aptosConfig:this.config,...e})}async getCurrentFungibleAssetBalances(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),Ys({aptosConfig:this.config,...e})}async transferFungibleAsset(e){return ea({aptosConfig:this.config,...e})}async transferFungibleAssetBetweenStores(e){return ta({aptosConfig:this.config,...e})}};var Un=class{constructor(e){this.config=e}async getLedgerInfo(){return qn({aptosConfig:this.config})}async getChainId(){return(await this.getLedgerInfo()).chain_id}async getBlockByVersion(e){return Fo({aptosConfig:this.config,...e})}async getBlockByHeight(e){return zo({aptosConfig:this.config,...e})}async view(e){return ae({aptosConfig:this.config,...e})}async viewJson(e){return Ts({aptosConfig:this.config,...e})}async getChainTopUserTransactions(e){return Po({aptosConfig:this.config,...e})}async queryIndexer(e){return P({aptosConfig:this.config,...e})}async getIndexerLastSuccessVersion(){return Ko({aptosConfig:this.config})}async getProcessorStatus(e){return xo({aptosConfig:this.config,processorType:e})}};var na=["A name must be between 3 and 63 characters long,","and can only contain lowercase a-z, 0-9, and hyphens.","A name may not start or end with a hyphen."].join(" ");function ra(n){return!(!n||n.length<3||n.length>63||!/^[a-z\d][a-z\d-]{1,61}[a-z\d]$/.test(n))}function pt(n){let[e,t,...r]=n.replace(/\.apt$/,"").split(".");if(r.length>0)throw new Error(`${n} is invalid. A name can only have two parts, a domain and a subdomain separated by a "."`);if(!ra(e))throw new Error(`${e} is not valid. ${na}`);if(t&&!ra(t))throw new Error(`${t} is not valid. ${na}`);return{domainName:t||e,subdomainName:t?e:void 0}}var kc=(t=>(t[t.Independent=0]="Independent",t[t.FollowsDomain=1]="FollowsDomain",t))(kc||{});function ia(n){if(!n)return!1;let e=new Date(n.domain_expiration_timestamp).getTime()<Date.now(),t=new Date(n.expiration_timestamp).getTime()<Date.now();return n.subdomain&&e?!1:n.subdomain&&n.subdomain_expiration_policy===1?!0:!t}var Eb="0x37368b46ce665362562c6d1d4ec01a08c8644c488690df5a17e13ba163e20221",Fc="0x585fc9f0f0c54183b039ffc770ca282ebd87307916c215a3e692f2f8e4305e82",zc={testnet:"0x5f8fd2347449685cf41d4db97926ec3a096eaf381332be4f1318ad4d16a8497c",mainnet:"0x867ed1f6bf916171b1de3ee92849b8978b7d1b9e0a8cc982a3d19d535dfd9c0c",local:Fc,custom:null,devnet:null,shelbynet:null,netna:null};function rt(n){let e=zc[n.network];if(!e)throw new Error(`The ANS contract is not deployed to ${n.network}`);return e}var Sr=n=>{if(n&&typeof n=="object"&&"vec"in n&&Array.isArray(n.vec))return n.vec[0]};async function oa(n){let{aptosConfig:e,name:t}=n,r=rt(e),{domainName:i,subdomainName:o}=pt(t),s=await ae({aptosConfig:e,payload:{function:`${r}::router::get_owner_addr`,functionArguments:[i,o]}}),a=Sr(s[0]);return a?u.from(a):void 0}async function sa(n){let{aptosConfig:e,expiration:t,name:r,sender:i,targetAddress:o,toAddress:s,options:a,transferable:c}=n,d=rt(e),{domainName:l,subdomainName:g}=pt(r),p=t.policy==="subdomain:independent"||t.policy==="subdomain:follow-domain";if(g&&!p)throw new Error("Subdomains must have an expiration policy of either 'subdomain:independent' or 'subdomain:follow-domain'");if(p&&!g)throw new Error(`Policy is set to ${t.policy} but no subdomain was provided`);if(t.policy==="domain"){let M=t.years??1;if(M!==1)throw new Error("For now, names can only be registered for 1 year at a time");let Me=M*31536e3;return await A({aptosConfig:e,sender:i.accountAddress.toString(),data:{function:`${d}::router::register_domain`,functionArguments:[l,Me,o,s]},options:a})}if(!g)throw new Error(`${t.policy} requires a subdomain to be provided.`);let y=await hi({aptosConfig:e,name:l});if(!y)throw new Error("The domain does not exist");let h=t.policy==="subdomain:independent"?t.expirationDate:y;if(h>y)throw new Error("The subdomain expiration time cannot be greater than the domain expiration time");return await A({aptosConfig:e,sender:i.accountAddress.toString(),data:{function:`${d}::router::register_subdomain`,functionArguments:[l,g,Math.round(h/1e3),t.policy==="subdomain:follow-domain"?1:0,!!c,o,s]},options:a})}async function hi(n){let{aptosConfig:e,name:t}=n,r=rt(e),{domainName:i,subdomainName:o}=pt(t);try{let s=await ae({aptosConfig:e,payload:{function:`${r}::router::get_expiration`,functionArguments:[i,o]}});return Number(s[0])*1e3}catch{return}}async function aa(n){let{aptosConfig:e,address:t}=n,r=rt(e),i=await ae({aptosConfig:e,payload:{function:`${r}::router::get_primary_name`,functionArguments:[u.from(t).toString()]}}),o=Sr(i[1]),s=Sr(i[0]);if(o)return[s,o].filter(Boolean).join(".")}async function ca(n){let{aptosConfig:e,sender:t,name:r,options:i}=n,o=rt(e);if(!r)return await A({aptosConfig:e,sender:t.accountAddress.toString(),data:{function:`${o}::router::clear_primary_name`,functionArguments:[]},options:i});let{domainName:s,subdomainName:a}=pt(r);return await A({aptosConfig:e,sender:t.accountAddress.toString(),data:{function:`${o}::router::set_primary_name`,functionArguments:[s,a]},options:i})}async function ua(n){let{aptosConfig:e,name:t}=n,r=rt(e),{domainName:i,subdomainName:o}=pt(t),s=await ae({aptosConfig:e,payload:{function:`${r}::router::get_target_addr`,functionArguments:[i,o]}}),a=Sr(s[0]);return a?u.from(a):void 0}async function da(n){let{aptosConfig:e,sender:t,name:r,address:i,options:o}=n,s=rt(e),{domainName:a,subdomainName:c}=pt(r);return await A({aptosConfig:e,sender:t.accountAddress.toString(),data:{function:`${s}::router::set_target_addr`,functionArguments:[a,c,i]},options:o})}async function pa(n){let{aptosConfig:e,name:t}=n,{domainName:r,subdomainName:i=""}=pt(t),a=(await P({aptosConfig:e,query:{query:Lt,variables:{where_condition:{domain:{_eq:r},subdomain:{_eq:i}},limit:1}},originMethod:"getName"})).current_aptos_names[0];return a&&(a=kn(a)),ia(a)?a:void 0}async function la(n){let{aptosConfig:e,options:t,accountAddress:r}=n,i=await bi({aptosConfig:e});return(await P({aptosConfig:e,originMethod:"getAccountNames",query:{query:Lt,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...n.options?.where??{},owner_address:{_eq:r.toString()},expiration_timestamp:{_gte:i}}}}})).current_aptos_names.map(kn)}async function ga(n){let{aptosConfig:e,options:t,accountAddress:r}=n,i=await bi({aptosConfig:e});return(await P({aptosConfig:e,originMethod:"getAccountDomains",query:{query:Lt,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...n.options?.where??{},owner_address:{_eq:r.toString()},expiration_timestamp:{_gte:i},subdomain:{_eq:""}}}}})).current_aptos_names.map(kn)}async function ya(n){let{aptosConfig:e,options:t,accountAddress:r}=n,i=await bi({aptosConfig:e});return(await P({aptosConfig:e,originMethod:"getAccountSubdomains",query:{query:Lt,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...n.options?.where??{},owner_address:{_eq:r.toString()},expiration_timestamp:{_gte:i},subdomain:{_neq:""}}}}})).current_aptos_names.map(kn)}async function ma(n){let{aptosConfig:e,options:t,domain:r}=n;return(await P({aptosConfig:e,originMethod:"getDomainSubdomains",query:{query:Lt,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...n.options?.where??{},domain:{_eq:r},subdomain:{_neq:""}}}}})).current_aptos_names.map(kn).filter(ia)}async function bi(n){let{aptosConfig:e}=n,t=rt(e),[r]=await ae({aptosConfig:e,payload:{function:`${t}::config::reregistration_grace_sec`,functionArguments:[]}}),i=r/60/60/24,o=()=>new Date;return new Date(o().setDate(o().getDate()-i)).toISOString()}async function fa(n){let{aptosConfig:e,sender:t,name:r,years:i=1,options:o}=n,s=rt(e),a=i*31536e3,{domainName:c,subdomainName:d}=pt(r);if(d)throw new Error("Subdomains cannot be renewed");if(i!==1)throw new Error("Currently, only 1 year renewals are supported");return await A({aptosConfig:e,sender:t.accountAddress.toString(),data:{function:`${s}::router::renew_domain`,functionArguments:[c,a]},options:o})}function kn(n){return{...n,expiration_timestamp:new Date(n.expiration_timestamp).getTime()}}var Fn=class{constructor(e){this.config=e}async getOwnerAddress(e){return oa({aptosConfig:this.config,...e})}async getExpiration(e){return hi({aptosConfig:this.config,...e})}async getTargetAddress(e){return ua({aptosConfig:this.config,...e})}async setTargetAddress(e){return da({aptosConfig:this.config,...e})}async getPrimaryName(e){return aa({aptosConfig:this.config,...e})}async setPrimaryName(e){return ca({aptosConfig:this.config,...e})}async registerName(e){return sa({aptosConfig:this.config,...e})}async renewDomain(e){return fa({aptosConfig:this.config,...e})}async getName(e){return pa({aptosConfig:this.config,...e})}async getAccountNames(e){return la({aptosConfig:this.config,...e})}async getAccountDomains(e){return ga({aptosConfig:this.config,...e})}async getAccountSubdomains(e){return ya({aptosConfig:this.config,...e})}async getDomainSubdomains(e){return ma({aptosConfig:this.config,...e})}};async function Aa(n){let{aptosConfig:e,poolAddress:t}=n,r=u.from(t).toStringLong(),o=await P({aptosConfig:e,query:{query:Mr,variables:{where_condition:{pool_address:{_eq:r}}}}});return o.num_active_delegator_per_pool[0]?o.num_active_delegator_per_pool[0].num_active_delegator:0}async function ha(n){let{aptosConfig:e,options:t}=n,r={query:Mr,variables:{order_by:t?.orderBy}};return(await P({aptosConfig:e,query:r})).num_active_delegator_per_pool}async function ba(n){let{aptosConfig:e,delegatorAddress:t,poolAddress:r}=n,i={query:ho,variables:{delegatorAddress:u.from(t).toStringLong(),poolAddress:u.from(r).toStringLong()}};return(await P({aptosConfig:e,query:i})).delegated_staking_activities}var zn=class{constructor(e){this.config=e}async getNumberOfDelegators(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"stake_processor"}),Aa({aptosConfig:this.config,...e})}async getNumberOfDelegatorsForAllPools(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"stake_processor"}),ha({aptosConfig:this.config,...e})}async getDelegatedStakingActivities(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"stake_processor"}),ba({aptosConfig:this.config,...e})}};var Pr=class{constructor(e){this.config=e}async simple(e){return A({aptosConfig:this.config,...e})}async multiAgent(e){return A({aptosConfig:this.config,...e})}};var pn=class{constructor(e){this.config=e}async simple(e){return ci({aptosConfig:this.config,...e})}async multiAgent(e){return ci({aptosConfig:this.config,...e})}};Ur([Hr],pn.prototype,"simple",1),Ur([Hr],pn.prototype,"multiAgent",1);var Kr=class{constructor(e){this.config=e}async simple(e){return Vr(this.config,e),Kn({aptosConfig:this.config,...e})}async multiAgent(e){return Vr(this.config,e),Kn({aptosConfig:this.config,...e})}};import Rc from"eventemitter3";var xr=class{constructor(e,t,r,i,o){this.lastUncommintedNumber=null;this.currentNumber=null;this.lock=!1;this.aptosConfig=e,this.account=t,this.maxWaitTime=r,this.maximumInFlight=i,this.sleepTime=o}async nextSequenceNumber(){for(;this.lock;)await yn(this.sleepTime);this.lock=!0;let e=BigInt(0);try{if((this.lastUncommintedNumber===null||this.currentNumber===null)&&await this.initialize(),this.currentNumber-this.lastUncommintedNumber>=this.maximumInFlight){await this.update();let t=Ve();for(;this.currentNumber-this.lastUncommintedNumber>=this.maximumInFlight;)await yn(this.sleepTime),Ve()-t>this.maxWaitTime?(console.warn(`Waited over 30 seconds for a transaction to commit, re-syncing ${this.account.accountAddress.toString()}`),await this.initialize()):await this.update()}e=this.currentNumber,this.currentNumber+=BigInt(1)}catch(t){console.error("error in getting next sequence number for this account",t)}finally{this.lock=!1}return e}async initialize(){let{sequence_number:e}=await cn({aptosConfig:this.aptosConfig,accountAddress:this.account.accountAddress});this.currentNumber=BigInt(e),this.lastUncommintedNumber=BigInt(e)}async update(){let{sequence_number:e}=await cn({aptosConfig:this.aptosConfig,accountAddress:this.account.accountAddress});return this.lastUncommintedNumber=BigInt(e),this.lastUncommintedNumber}async synchronize(){if(this.lastUncommintedNumber!==this.currentNumber){for(;this.lock;)await yn(this.sleepTime);this.lock=!0;try{await this.update();let e=Ve();for(;this.lastUncommintedNumber!==this.currentNumber;)Ve()-e>this.maxWaitTime?(console.warn(`Waited over 30 seconds for a transaction to commit, re-syncing ${this.account.accountAddress.toString()}`),await this.initialize()):(await yn(this.sleepTime),await this.update())}catch(e){console.error("error in synchronizing this account sequence number with the one on chain",e)}finally{this.lock=!1}}}};import Dc from"eventemitter3";var wa="fulfilled",Ta=(o=>(o.TransactionSent="transactionSent",o.TransactionSendFailed="transactionSendFailed",o.TransactionExecuted="transactionExecuted",o.TransactionExecutionFailed="transactionExecutionFailed",o.ExecutionFinish="executionFinish",o))(Ta||{}),Ir=class extends Dc{constructor(t,r,i=30,o=100,s=10){super();this.taskQueue=new Qn;this.transactionsQueue=new Qn;this.outstandingTransactions=new Qn;this.sentTransactions=[];this.executedTransactions=[];this.aptosConfig=t,this.account=r,this.started=!1,this.accountSequnceNumber=new xr(t,r,i,o,s)}async submitNextTransaction(){try{for(;;){let t=await this.accountSequnceNumber.nextSequenceNumber();if(t===null)return;let r=await this.generateNextTransaction(this.account,t);if(!r)return;let i=hr({aptosConfig:this.aptosConfig,transaction:r,signer:this.account});await this.outstandingTransactions.enqueue([i,t])}}catch(t){if(t instanceof Lr)return;throw new Error(`Submit transaction failed for ${this.account.accountAddress.toString()} with error ${t}`)}}async processTransactions(){try{for(;;){let t=[],r=[],[i,o]=await this.outstandingTransactions.dequeue();for(t.push(i),r.push(o);!this.outstandingTransactions.isEmpty();)[i,o]=await this.outstandingTransactions.dequeue(),t.push(i),r.push(o);let s=await Promise.allSettled(t);for(let a=0;a<s.length&&a<r.length;a+=1){let c=s[a];o=r[a],c.status===wa?(this.sentTransactions.push([c.value.hash,o,null]),this.emit("transactionSent",{message:`transaction hash ${c.value.hash} has been committed to chain`,transactionHash:c.value.hash}),await this.checkTransaction(c,o)):(this.sentTransactions.push([c.status,o,c.reason]),this.emit("transactionSendFailed",{message:`failed to commit transaction ${this.sentTransactions.length} with error ${c.reason}`,error:c.reason}))}this.emit("executionFinish",{message:`execute ${s.length} transactions finished`})}}catch(t){if(t instanceof Lr)return;throw new Error(`Process execution failed for ${this.account.accountAddress.toString()} with error ${t}`)}}async checkTransaction(t,r){try{let i=[];i.push($t({aptosConfig:this.aptosConfig,transactionHash:t.value.hash}));let o=await Promise.allSettled(i);for(let s=0;s<o.length;s+=1){let a=o[s];a.status===wa?(this.executedTransactions.push([a.value.hash,r,null]),this.emit("transactionExecuted",{message:`transaction hash ${a.value.hash} has been executed on chain`,transactionHash:t.value.hash})):(this.executedTransactions.push([a.status,r,a.reason]),this.emit("transactionExecutionFailed",{message:`failed to execute transaction ${this.executedTransactions.length} with error ${a.reason}`,error:a.reason}))}}catch(i){throw new Error(`Check transaction failed for ${this.account.accountAddress.toString()} with error ${i}`)}}async push(t,r){this.transactionsQueue.enqueue([t,r])}async generateNextTransaction(t,r){if(this.transactionsQueue.isEmpty())return;let[i,o]=await this.transactionsQueue.dequeue();return A({aptosConfig:this.aptosConfig,sender:t.accountAddress,data:i,options:{...o,accountSequenceNumber:r,replayProtectionNonce:void 0}})}async run(){try{for(;!this.taskQueue.isCancelled();)await(await this.taskQueue.dequeue())()}catch(t){throw new Error(`Unable to start transaction batching: ${t}`)}}start(){if(this.started)throw new Error("worker has already started");this.started=!0,this.taskQueue.enqueue(()=>this.submitNextTransaction()),this.taskQueue.enqueue(()=>this.processTransactions()),this.run()}stop(){if(this.taskQueue.isCancelled())throw new Error("worker has already stopped");this.started=!1,this.taskQueue.cancel()}};var Er=class extends Rc{constructor(e){super(),this.config=e}start(e){let{sender:t}=e;this.account=t,this.transactionWorker=new Ir(this.config,t),this.transactionWorker.start(),this.registerToEvents()}push(e){let{data:t,options:r}=e;for(let i of t)this.transactionWorker.push(i,r)}registerToEvents(){this.transactionWorker.on("transactionSent",async e=>{this.emit("transactionSent",e)}),this.transactionWorker.on("transactionSendFailed",async e=>{this.emit("transactionSendFailed",e)}),this.transactionWorker.on("transactionExecuted",async e=>{this.emit("transactionExecuted",e)}),this.transactionWorker.on("transactionExecutionFailed",async e=>{this.emit("transactionExecutionFailed",e)}),this.transactionWorker.on("executionFinish",async e=>{this.emit("executionFinish",e)})}forSingleAccount(e){try{let{sender:t,data:r,options:i}=e;this.start({sender:t}),this.push({data:r,options:i})}catch(t){throw new Error(`failed to submit transactions with error: ${t}`)}}};var Dn=class{constructor(e){this.config=e,this.build=new Pr(this.config),this.simulate=new pn(this.config),this.submit=new Kr(this.config),this.batch=new Er(this.config)}async getTransactions(e){return vo({aptosConfig:this.config,...e})}async getTransactionByVersion(e){return Co({aptosConfig:this.config,...e})}async getTransactionByHash(e){return _o({aptosConfig:this.config,...e})}async isPendingTransaction(e){return Uo({aptosConfig:this.config,...e})}async waitForTransaction(e){return $t({aptosConfig:this.config,...e})}async getGasPriceEstimation(){return jn({aptosConfig:this.config})}getSigningMessage(e){return rs(e)}async publishPackageTransaction(e){return os({aptosConfig:this.config,...e})}async rotateAuthKey(e){return bs({aptosConfig:this.config,...e})}async rotateAuthKeyUnverified(e){return ws({aptosConfig:this.config,...e})}sign(e){return fr({...e})}signAsFeePayer(e){return Ar({...e})}async batchTransactionsForSingleAccount(e){try{let{sender:t,data:r,options:i}=e;this.batch.forSingleAccount({sender:t,data:r,options:i})}catch(t){throw new Error(`failed to submit transactions with error: ${t}`)}}async signAndSubmitTransaction(e){return hr({aptosConfig:this.config,...e})}async signAndSubmitAsFeePayer(e){return is({aptosConfig:this.config,...e})}};import{jwtDecode as Nc}from"jwt-decode";async function vr(n){let{aptosConfig:e,jwt:t,ephemeralKeyPair:r,uidKey:i="sub",derivationPath:o}=n,s={jwt_b64:t,epk:r.getPublicKey().bcsToHex().toStringWithoutPrefix(),exp_date_secs:r.expiryDateSecs,epk_blinder:m.fromHexInput(r.blinder).toStringWithoutPrefix(),uid_key:i,derivation_path:o},{data:a}=await ro({aptosConfig:e,path:"fetch",body:s,originMethod:"getPepper",overrides:{WITH_CREDENTIALS:!1}});return m.fromHexInput(a.pepper).toUint8Array()}async function wi(n){let{aptosConfig:e,jwt:t,ephemeralKeyPair:r,pepper:i=await vr(n),uidKey:o="sub",maxExpHorizonSecs:s=(await sn({aptosConfig:e})).maxExpHorizonSecs}=n;if(m.fromHexInput(i).toUint8Array().length!==be.PEPPER_LENGTH)throw new Error(`Pepper needs to be ${be.PEPPER_LENGTH} bytes`);let a=Nc(t);if(typeof a.iat!="number")throw new Error("iat was not found");if(s<r.expiryDateSecs-a.iat)throw Error(`The EphemeralKeyPair is too long lived. It's lifespan must be less than ${s}`);let c={jwt_b64:t,epk:r.getPublicKey().bcsToHex().toStringWithoutPrefix(),epk_blinder:m.fromHexInput(r.blinder).toStringWithoutPrefix(),exp_date_secs:r.expiryDateSecs,exp_horizon_secs:s,pepper:m.fromHexInput(i).toStringWithoutPrefix(),uid_key:o},{data:d}=await io({aptosConfig:e,path:"prove",body:c,originMethod:"getProof",overrides:{WITH_CREDENTIALS:!1}}),l=d.proof,g=new lt({a:l.a,b:l.b,c:l.c});return new ye({proof:new ln(g,0),trainingWheelsSignature:Ne.fromHex(d.training_wheels_signature),expHorizonSecs:s})}async function Sa(n){let{aptosConfig:e,jwt:t,jwkAddress:r,uidKey:i,proofFetchCallback:o,pepper:s=await vr(n)}=n,{verificationKey:a,maxExpHorizonSecs:c}=await sn({aptosConfig:e}),d=wi({...n,pepper:s,maxExpHorizonSecs:c}),l=o?d:await d;if(r!==void 0){let y=G.fromJwtAndPepper({jwt:t,pepper:s,jwkAddress:r,uidKey:i}),h=await un({aptosConfig:e,authenticationKey:y.authKey().derivedAddress()});return Ce.create({...n,address:h,proof:l,pepper:s,proofFetchCallback:o,jwkAddress:r,verificationKey:a})}let g=E.fromJwtAndPepper({jwt:t,pepper:s,uidKey:i}),p=await un({aptosConfig:e,authenticationKey:g.authKey().derivedAddress()});return be.create({...n,address:p,proof:l,pepper:s,proofFetchCallback:o,verificationKey:a})}async function Pa(n){let{aptosConfig:e,sender:t,iss:r,options:i}=n,{jwksUrl:o}=n;o===void 0&&(qi.test(r)?o="https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com":o=r.endsWith("/")?`${r}.well-known/jwks.json`:`${r}/.well-known/jwks.json`);let s;try{if(s=await fetch(o),!s.ok)throw new Error(`${s.status} ${s.statusText}`)}catch(c){let d;throw c instanceof Error?d=`${c.message}`:d=`error unknown - ${c}`,S.fromErrorType({type:14,details:`Failed to fetch JWKS at ${o}: ${d}`})}let a=await s.json();return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::jwks::update_federated_jwk_set",functionArguments:[r,K.MoveString(a.keys.map(c=>c.kid)),K.MoveString(a.keys.map(c=>c.alg)),K.MoveString(a.keys.map(c=>c.e)),K.MoveString(a.keys.map(c=>c.n))]},options:i})}var Rn=class{constructor(e){this.config=e}async getPepper(e){return vr({aptosConfig:this.config,...e})}async getProof(e){return wi({aptosConfig:this.config,...e})}async deriveKeylessAccount(e){return Sa({aptosConfig:this.config,...e})}async updateFederatedKeylessJwkSetTransaction(e){return Pa({aptosConfig:this.config,...e})}};async function Gc(n){let{aptosConfig:e,options:t}=n,r={query:$n,variables:{where_condition:t?.where,offset:t?.offset,limit:t?.limit,order_by:t?.orderBy}};return(await P({aptosConfig:e,query:r,originMethod:"getObjectData"})).current_objects}async function Ka(n){let{aptosConfig:e,objectAddress:t,options:r}=n,o={object_address:{_eq:u.from(t).toStringLong()}};return(await Gc({aptosConfig:e,options:{...r,where:o}}))[0]}var On=class{constructor(e){this.config=e}async getObjectDataByObjectAddress(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"objects_processor"}),Ka({aptosConfig:this.config,...e})}};var J=class{constructor(e){this.config=e??new Do,this.account=new xn(this.config),this.abstraction=new Ut(this.config),this.ans=new Fn(this.config),this.coin=new En(this.config),this.digitalAsset=new vn(this.config),this.faucet=new Cn(this.config),this.fungibleAsset=new _n(this.config),this.general=new Un(this.config),this.staking=new zn(this.config),this.transaction=new Dn(this.config),this.table=new $r(this.config),this.keyless=new Rn(this.config),this.object=new On(this.config)}setIgnoreTransactionSubmitter(e){this.config.setIgnoreTransactionSubmitter(e)}};function ce(n,e,t){Object.getOwnPropertyNames(e.prototype).forEach(r=>{let i=Object.getOwnPropertyDescriptor(e.prototype,r);i&&Object.defineProperty(n.prototype,r,{value:function(...o){return this[t][r](...o)},writable:i.writable,configurable:i.configurable,enumerable:i.enumerable})})}ce(J,xn,"account");ce(J,Ut,"abstraction");ce(J,Fn,"ans");ce(J,En,"coin");ce(J,vn,"digitalAsset");ce(J,Event,"event");ce(J,Cn,"faucet");ce(J,_n,"fungibleAsset");ce(J,Un,"general");ce(J,zn,"staking");ce(J,Dn,"transaction");ce(J,$r,"table");ce(J,Rn,"keyless");ce(J,On,"object");var Hc=1e7,Ti=120,Lc=30,$c=330,qc=120,Wc=350,jc=300,Qc=93,Ge=class Ge extends ke{constructor(e,t){super();let r=m.fromHexInput(t).toUint8Array();if(r.length!==Ge.ID_COMMITMENT_LENGTH)throw new Error(`Id Commitment length in bytes should be ${Ge.ID_COMMITMENT_LENGTH}`);this.iss=e,this.idCommitment=r}authKey(){let e=new ee;return e.serializeU32AsUleb128(3),e.serializeFixedBytes(this.bcsToBytes()),ne.fromSchemeAndBytes({scheme:2,input:e.toUint8Array()})}verifySignature(e){try{return Cr({...e,publicKey:this}),!0}catch(t){if(t instanceof S)return!1;throw t}}async verifySignatureAsync(e){return Ei({...e,publicKey:this})}serialize(e){e.serializeStr(this.iss),e.serializeBytes(this.idCommitment)}static deserialize(e){let t=e.deserializeStr(),r=e.deserializeBytes();return new Ge(t,r)}static load(e){let t=e.deserializeStr(),r=e.deserializeBytes();return new Ge(t,r)}static isPublicKey(e){return e instanceof Ge}static create(e){return xa(e),new Ge(e.iss,xa(e))}static fromJwtAndPepper(e){let{jwt:t,pepper:r,uidKey:i="sub"}=e,o=Ia(t);if(typeof o.iss!="string")throw new Error("iss was not found");if(typeof o.aud!="string")throw new Error("aud was not found or an array of values");let s=o[i];return Ge.create({iss:o.iss,uidKey:i,uidVal:s,aud:o.aud,pepper:r})}static isInstance(e){return"iss"in e&&typeof e.iss=="string"&&"idCommitment"in e&&e.idCommitment instanceof Uint8Array}};Ge.ID_COMMITMENT_LENGTH=32;var E=Ge;async function Ei(n){let{aptosConfig:e,publicKey:t,message:r,signature:i,jwk:o,keylessConfig:s=await sn({aptosConfig:e}),options:a}=n;try{if(!(i instanceof re))throw S.fromErrorType({type:26,details:"Not a keyless signature"});return Cr({message:r,publicKey:t,signature:i,jwk:o||await Wr({aptosConfig:e,publicKey:t,kid:i.getJwkKid()}),keylessConfig:s}),!0}catch(c){if(a?.throwErrorWithReason)throw c;return!1}}function Cr(n){let{publicKey:e,message:t,signature:r,keylessConfig:i,jwk:o}=n,{verificationKey:s,maxExpHorizonSecs:a,trainingWheelsPubkey:c}=i;if(!(r instanceof re))throw S.fromErrorType({type:26,details:"Not a keyless signature"});if(!(r.ephemeralCertificate.signature instanceof ye))throw S.fromErrorType({type:26,details:"Unsupported ephemeral certificate variant"});let d=r.ephemeralCertificate.signature;if(!(d.proof.proof instanceof lt))throw S.fromErrorType({type:26,details:"Unsupported proof variant for ZeroKnowledgeSig"});let l=d.proof.proof;if(r.expiryDateSecs<Ve())throw S.fromErrorType({type:27,details:"The expiryDateSecs is in the past"});if(d.expHorizonSecs>a)throw S.fromErrorType({type:28});if(!r.ephemeralPublicKey.verifySignature({message:t,signature:r.ephemeralSignature}))throw S.fromErrorType({type:29});let g=Jc({publicKey:e,signature:r,jwk:o,keylessConfig:i});if(!s.verifyProof({publicInputsHash:g,groth16Proof:l}))throw S.fromErrorType({type:32});if(c){if(!d.trainingWheelsSignature)throw S.fromErrorType({type:30});let p=new Pi(l,g);if(!c.verifySignature({message:p.hash(),signature:d.trainingWheelsSignature}))throw S.fromErrorType({type:31})}}function Jc(n){let{publicKey:e,signature:t,jwk:r,keylessConfig:i}=n,o=e instanceof E?e:e.keylessPublicKey;if(!(t.ephemeralCertificate.signature instanceof ye))throw new Error("Signature is not a ZeroKnowledgeSig");let s=t.ephemeralCertificate.signature,a=[];return a.push(...Vn(t.ephemeralPublicKey.toUint8Array(),i.maxCommitedEpkBytes)),a.push(Gt(o.idCommitment)),a.push(t.expiryDateSecs),a.push(s.expHorizonSecs),a.push(Fe(o.iss,i.maxIssValBytes)),s.extraField?(a.push(1n),a.push(Fe(s.extraField,i.maxExtraFieldBytes))):(a.push(0n),a.push(Fe(" ",i.maxExtraFieldBytes))),a.push(Fe(Vc(t.jwtHeader,!0)+".",i.maxJwtHeaderB64Bytes)),a.push(r.toScalar()),s.overrideAudVal?(a.push(Fe(s.overrideAudVal,Ti)),a.push(1n)):(a.push(Fe("",Ti)),a.push(0n)),Mt(a)}async function Wr(n){let{aptosConfig:e,publicKey:t,kid:r}=n,i=t instanceof E?t:t.keylessPublicKey,{iss:o}=i,s,a=t instanceof G?t.jwkAddress:void 0;try{s=await Xc({aptosConfig:e,jwkAddr:a})}catch(l){throw S.fromErrorType({type:24,error:l,details:`Failed to fetch ${a?"Federated":"Patched"}JWKs ${a?`for address ${a}`:"0x1"}`})}let c=s.get(o);if(c===void 0)throw S.fromErrorType({type:7,details:`JWKs for issuer ${o} not found.`});let d=c.find(l=>l.kid===r);if(d===void 0)throw S.fromErrorType({type:6,details:`JWK with kid '${r}' for issuer '${o}' not found.`});return d}function xa(n){let{uidKey:e,uidVal:t,aud:r,pepper:i}=n,o=[Gt(m.fromHexInput(i).toUint8Array()),Fe(r,Ti),Fe(t,$c),Fe(e,Lc)];return Fr(Mt(o),E.ID_COMMITMENT_LENGTH)}var re=class n extends Q{constructor(e){super();let{jwtHeader:t,ephemeralCertificate:r,expiryDateSecs:i,ephemeralPublicKey:o,ephemeralSignature:s}=e;this.jwtHeader=t,this.ephemeralCertificate=r,this.expiryDateSecs=i,this.ephemeralPublicKey=o,this.ephemeralSignature=s}getJwkKid(){return tu(this.jwtHeader).kid}serialize(e){this.ephemeralCertificate.serialize(e),e.serializeStr(this.jwtHeader),e.serializeU64(this.expiryDateSecs),this.ephemeralPublicKey.serialize(e),this.ephemeralSignature.serialize(e)}static deserialize(e){let t=on.deserialize(e),r=e.deserializeStr(),i=e.deserializeU64(),o=ut.deserialize(e),s=Ne.deserialize(e);return new n({jwtHeader:r,expiryDateSecs:Number(i),ephemeralCertificate:t,ephemeralPublicKey:o,ephemeralSignature:s})}static getSimulationSignature(){return new n({jwtHeader:"{}",ephemeralCertificate:new on(new ye({proof:new ln(new lt({a:new Uint8Array(32),b:new Uint8Array(64),c:new Uint8Array(32)}),0),expHorizonSecs:0}),0),expiryDateSecs:0,ephemeralPublicKey:new ut(new b(new Uint8Array(32))),ephemeralSignature:new Ne(new v(new Uint8Array(64)))})}static isSignature(e){return e instanceof n}},on=class n extends Q{constructor(e,t){super(),this.signature=e,this.variant=t}toUint8Array(){return this.signature.toUint8Array()}serialize(e){e.serializeU32AsUleb128(this.variant),this.signature.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new n(ye.deserialize(e),t);default:throw new Error(`Unknown variant index for EphemeralCertificate: ${t}`)}}},Nn=class Nn extends w{constructor(e){if(super(),this.data=m.fromHexInput(e).toUint8Array(),this.data.length!==32)throw new Error("Input needs to be 32 bytes")}serialize(e){e.serializeFixedBytes(this.data)}static deserialize(e){let t=e.deserializeFixedBytes(32);return new Nn(t)}toArray(){let e=this.toProjectivePoint();return[e.x.toString(),e.y.toString(),e.pz.toString()]}toProjectivePoint(){let e=new Uint8Array(this.data);e.reverse();let t=(e[0]&128)>>7,{Fp:r}=Ue.fields,i=r.create(Si(e)),o=r.sqrt(r.add(r.pow(i,3n),Nn.B)),s=r.neg(o),a=o>s==(t===1)?o:s;return Ue.G1.ProjectivePoint.fromAffine({x:i,y:a})}};Nn.B=Ue.fields.Fp.create(3n);var it=Nn;function Si(n){if(n.length!==32)throw new Error("Input should be 32 bytes");let e=new Uint8Array(n);return e[0]=e[0]&63,Bc(e)}var Gn=class Gn extends w{constructor(e){if(super(),this.data=m.fromHexInput(e).toUint8Array(),this.data.length!==64)throw new Error("Input needs to be 64 bytes")}serialize(e){e.serializeFixedBytes(this.data)}static deserialize(e){let t=e.deserializeFixedBytes(64);return new Gn(t)}toArray(){let e=this.toProjectivePoint();return[[e.x.c0.toString(),e.x.c1.toString()],[e.y.c0.toString(),e.y.c1.toString()],[e.pz.c0.toString(),e.pz.c1.toString()]]}toProjectivePoint(){let e=new Uint8Array(this.data),t=e.slice(0,32).reverse(),r=e.slice(32,64).reverse(),i=(r[0]&128)>>7,{Fp2:o}=Ue.fields,s=o.fromBigTuple([Si(t),Si(r)]),a=o.sqrt(o.add(o.pow(s,3n),Gn.B)),c=o.neg(a),l=(a.c1>c.c1||a.c1===c.c1&&a.c0>c.c0)===(i===1)?a:c;return Ue.G2.ProjectivePoint.fromAffine({x:s,y:l})}};Gn.B=Ue.fields.Fp2.fromBigTuple([19485874751759354771024239261021720505790618469301721065564631296452457478373n,266929791119991161246907387137283842545076965332900288569378510910307636690n]);var kt=Gn,lt=class n extends Bi{constructor(e){super();let{a:t,b:r,c:i}=e;this.a=new it(t),this.b=new kt(r),this.c=new it(i)}serialize(e){this.a.serialize(e),this.b.serialize(e),this.c.serialize(e)}static deserialize(e){let t=it.deserialize(e).bcsToBytes(),r=kt.deserialize(e).bcsToBytes(),i=it.deserialize(e).bcsToBytes();return new n({a:t,b:r,c:i})}toSnarkJsJson(){return{protocol:"groth16",curve:"bn128",pi_a:this.a.toArray(),pi_b:this.b.toArray(),pi_c:this.c.toArray()}}},Pi=class n extends w{constructor(t,r){super();this.domainSeparator="APTOS::Groth16ProofAndStatement";if(this.proof=t,this.publicInputsHash=typeof r=="bigint"?Fr(r,32):m.fromHexInput(r).toUint8Array(),this.publicInputsHash.length!==32)throw new Error("Invalid public inputs hash")}serialize(t){this.proof.serialize(t),t.serializeFixedBytes(this.publicInputsHash)}static deserialize(t){return new n(lt.deserialize(t),t.deserializeFixedBytes(32))}hash(){return Oe(this.bcsToBytes(),this.domainSeparator)}},ln=class n extends w{constructor(e,t){super(),this.proof=e,this.variant=t}serialize(e){e.serializeU32AsUleb128(this.variant),this.proof.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new n(lt.deserialize(e),t);default:throw new Error(`Unknown variant index for ZkProof: ${t}`)}}},ye=class n extends Q{constructor(e){super();let{proof:t,expHorizonSecs:r,trainingWheelsSignature:i,extraField:o,overrideAudVal:s}=e;this.proof=t,this.expHorizonSecs=r,this.trainingWheelsSignature=i,this.extraField=o,this.overrideAudVal=s}static fromBytes(e){return n.deserialize(new F(e))}serialize(e){this.proof.serialize(e),e.serializeU64(this.expHorizonSecs),e.serializeOption(this.extraField),e.serializeOption(this.overrideAudVal),e.serializeOption(this.trainingWheelsSignature)}static deserialize(e){let t=ln.deserialize(e),r=Number(e.deserializeU64()),i=e.deserializeOption("string"),o=e.deserializeOption("string"),s=e.deserializeOption(Ne);return new n({proof:t,expHorizonSecs:r,trainingWheelsSignature:s,extraField:i,overrideAudVal:o})}},Ki=class n{constructor(e){let{verificationKey:t,trainingWheelsPubkey:r,maxExpHorizonSecs:i=Hc,maxExtraFieldBytes:o=Wc,maxJwtHeaderB64Bytes:s=jc,maxIssValBytes:a=qc,maxCommitedEpkBytes:c=Qc}=e;this.verificationKey=t,this.maxExpHorizonSecs=i,r&&(this.trainingWheelsPubkey=new ut(new b(r))),this.maxExtraFieldBytes=o,this.maxJwtHeaderB64Bytes=s,this.maxIssValBytes=a,this.maxCommitedEpkBytes=c}static create(e,t){return new n({verificationKey:new xi({alphaG1:e.alpha_g1,betaG2:e.beta_g2,deltaG2:e.delta_g2,gammaAbcG1:e.gamma_abc_g1,gammaG2:e.gamma_g2}),maxExpHorizonSecs:Number(t.max_exp_horizon_secs),trainingWheelsPubkey:t.training_wheels_pubkey.vec[0],maxExtraFieldBytes:t.max_extra_field_bytes,maxJwtHeaderB64Bytes:t.max_jwt_header_b64_bytes,maxIssValBytes:t.max_iss_val_bytes,maxCommitedEpkBytes:t.max_commited_epk_bytes})}},xi=class n{constructor(e){let{alphaG1:t,betaG2:r,deltaG2:i,gammaAbcG1:o,gammaG2:s}=e;this.alphaG1=new it(t),this.betaG2=new kt(r),this.deltaG2=new kt(i),this.gammaAbcG1=[new it(o[0]),new it(o[1])],this.gammaG2=new kt(s)}hash(){let e=new ee;return this.serialize(e),Mc.create().update(e.toUint8Array()).digest()}serialize(e){this.alphaG1.serialize(e),this.betaG2.serialize(e),this.deltaG2.serialize(e),this.gammaAbcG1[0].serialize(e),this.gammaAbcG1[1].serialize(e),this.gammaG2.serialize(e)}static fromGroth16VerificationKeyResponse(e){return new n({alphaG1:e.alpha_g1,betaG2:e.beta_g2,deltaG2:e.delta_g2,gammaAbcG1:e.gamma_abc_g1,gammaG2:e.gamma_g2})}verifyProof(e){let{publicInputsHash:t,groth16Proof:r}=e;try{let i=r.a.toProjectivePoint(),o=r.b.toProjectivePoint(),s=r.c.toProjectivePoint(),a=this.alphaG1.toProjectivePoint(),c=this.betaG2.toProjectivePoint(),d=this.gammaG2.toProjectivePoint(),l=this.deltaG2.toProjectivePoint(),g=this.gammaAbcG1.map(ot=>ot.toProjectivePoint()),{Fp12:p}=Ue.fields,y=g[0].add(g[1].multiply(t)),h=Ue.pairing(y,d),k=Ue.pairing(i,o),M=Ue.pairing(a,c),X=Ue.pairing(s,l),Me=p.mul(M,p.mul(h,X));return p.eql(k,Me)}catch(i){throw S.fromErrorType({type:32,error:i,details:"Error encountered when checking zero knowledge relation"})}}toSnarkJsJson(){return{protocol:"groth16",curve:"bn128",nPublic:1,vk_alpha_1:this.alphaG1.toArray(),vk_beta_2:this.betaG2.toArray(),vk_gamma_2:this.gammaG2.toArray(),vk_delta_2:this.deltaG2.toArray(),IC:this.gammaAbcG1.map(e=>e.toArray())}}};async function sn(n){let{aptosConfig:e}=n;try{return await Ht(async()=>{let[t,r]=await Promise.all([Zc(n),Yc(n)]);return Ki.create(r,t)},`keyless-configuration-${e.network}`,1e3*60*5)()}catch(t){throw t instanceof S?t:S.fromErrorType({type:25,error:t})}}function et(n){let{jwt:e,uidKey:t="sub"}=n,r;try{r=Ia(e)}catch(o){throw S.fromErrorType({type:12,details:`Failed to parse JWT - ${ji(o)}`})}if(typeof r.iss!="string")throw S.fromErrorType({type:12,details:"JWT is missing 'iss' in the payload. This should never happen."});if(typeof r.aud!="string")throw S.fromErrorType({type:12,details:"JWT is missing 'aud' in the payload or 'aud' is an array of values."});let i=r[t];return{iss:r.iss,aud:r.aud,uidVal:i}}async function Zc(n){let{aptosConfig:e,options:t}=n,r="0x1::keyless_account::Configuration";try{let{data:i}=await st({aptosConfig:e,originMethod:"getKeylessConfigurationResource",path:`accounts/${u.from("0x1").toString()}/resource/${r}`,params:{ledger_version:t?.ledgerVersion}});return i.data}catch(i){throw S.fromErrorType({type:22,error:i})}}async function Yc(n){let{aptosConfig:e,options:t}=n,r="0x1::keyless_account::Groth16VerificationKey";try{let{data:i}=await st({aptosConfig:e,originMethod:"getGroth16VerificationKeyResource",path:`accounts/${u.from("0x1").toString()}/resource/${r}`,params:{ledger_version:t?.ledgerVersion}});return i.data}catch(i){throw S.fromErrorType({type:23,error:i})}}async function Xc(n){let{aptosConfig:e,jwkAddr:t,options:r}=n,i;if(t){let s="0x1::jwks::FederatedJWKs",{data:a}=await st({aptosConfig:e,originMethod:"getKeylessJWKs",path:`accounts/${u.from(t).toString()}/resource/${s}`,params:{ledger_version:r?.ledgerVersion}});i=a}else{let s="0x1::jwks::PatchedJWKs",{data:a}=await st({aptosConfig:e,originMethod:"getKeylessJWKs",path:`accounts/0x1/resource/${s}`,params:{ledger_version:r?.ledgerVersion}});i=a}let o=new Map;for(let s of i.data.jwks.entries){let a=[];for(let c of s.jwks){let{data:d}=c.variant,l=new F(m.fromHexInput(d).toUint8Array()),g=Ii.deserialize(l);a.push(g)}o.set(_i(s.issuer),a)}return o}var Ii=class n extends w{constructor(e){super();let{kid:t,kty:r,alg:i,e:o,n:s}=e;this.kid=t,this.kty=r,this.alg=i,this.e=o,this.n=s}serialize(e){e.serializeStr(this.kid),e.serializeStr(this.kty),e.serializeStr(this.alg),e.serializeStr(this.e),e.serializeStr(this.n)}static fromMoveStruct(e){let{data:t}=e.variant,r=new F(m.fromHexInput(t).toUint8Array());return n.deserialize(r)}toScalar(){if(this.alg!=="RS256")throw S.fromErrorType({type:32,details:"Failed to convert JWK to scalar when calculating the public inputs hash. Only RSA 256 is supported currently"});let e=Zi(this.n),r=eu(e.reverse()).map(i=>Gt(i));return r.push(256n),Mt(r)}static deserialize(e){let t=e.deserializeStr(),r=e.deserializeStr(),i=e.deserializeStr(),o=e.deserializeStr(),s=e.deserializeStr();return new n({kid:t,kty:r,alg:i,n:s,e:o})}};function eu(n){let e=[];for(let t=0;t<n.length;t+=24){let r=n.slice(t,Math.min(t+24,n.length));if(r.length<24){let i=new Uint8Array(24);i.set(r),e.push(i)}else e.push(r)}return e}function tu(n){try{let e=JSON.parse(n);if(e.kid===void 0)throw new Error("JWT header missing kid");return e}catch{throw new Error("Failed to parse JWT header.")}}var G=class n extends ke{constructor(e,t){super(),this.jwkAddress=u.from(e),this.keylessPublicKey=t}authKey(){let e=new ee;return e.serializeU32AsUleb128(4),e.serializeFixedBytes(this.bcsToBytes()),ne.fromSchemeAndBytes({scheme:2,input:e.toUint8Array()})}verifySignature(e){try{return Cr({...e,publicKey:this}),!0}catch{return!1}}serialize(e){this.jwkAddress.serialize(e),this.keylessPublicKey.serialize(e)}static deserialize(e){let t=u.deserialize(e),r=E.deserialize(e);return new n(t,r)}static isPublicKey(e){return e instanceof n}async verifySignatureAsync(e){return Ei({...e,publicKey:this})}static create(e){return new n(e.jwkAddress,E.create(e))}static fromJwtAndPepper(e){return new n(e.jwkAddress,E.fromJwtAndPepper(e))}static isInstance(e){return"jwkAddress"in e&&e.jwkAddress instanceof u&&"keylessPublicKey"in e&&e.keylessPublicKey instanceof E}};var Wt=n=>typeof n=="string"?m.isValid(n).valid?n:new TextEncoder().encode(n):n,di=n=>{if(n instanceof b||n instanceof x||n instanceof Z||n instanceof B)return n;if(n instanceof E||n instanceof G)return new x(n);throw new Error(`Unknown account public key: ${n}`)},ss=n=>{let e=di(n);if(e instanceof b)return 0;if(e instanceof x)return 2;if(e instanceof Z)return 1;if(e instanceof B)return 3;throw new Error(`Unknown signing scheme: ${e}`)};var vi=[237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16];function nu(n){let e=n.toUint8Array().slice(32);for(let t=vi.length-1;t>=0;t-=1){if(e[t]<vi[t])return!0;if(e[t]>vi[t])return!1}return!1}var gt=class gt extends ke{constructor(e){super();let t=m.fromHexInput(e);if(t.toUint8Array().length!==gt.LENGTH)throw new Error(`PublicKey length should be ${gt.LENGTH}`);this.key=t}verifySignature(e){let{message:t,signature:r}=e;if(!nu(r))return!1;let i=Wt(t),o=m.fromHexInput(i).toUint8Array(),s=r.toUint8Array(),a=this.key.toUint8Array();return _r.verify(s,o,a)}async verifySignatureAsync(e){return this.verifySignature(e)}authKey(){return ne.fromSchemeAndBytes({scheme:0,input:this.toUint8Array()})}toUint8Array(){return this.key.toUint8Array()}serialize(e){e.serializeBytes(this.key.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new gt(t)}static isPublicKey(e){return e instanceof gt}static isInstance(e){return"key"in e&&e.key?.data?.length===gt.LENGTH}};gt.LENGTH=32;var b=gt,Te=class Te extends w{constructor(e,t){super();let r=Nt.parseHexInput(e,"ed25519",t);if(r.toUint8Array().length!==Te.LENGTH)throw new Error(`PrivateKey length should be ${Te.LENGTH}`);this.signingKey=r}static generate(){let e=_r.utils.randomPrivateKey();return new Te(e,!1)}static fromDerivationPath(e,t){if(!Oi(e))throw new Error(`Invalid derivation path ${e}`);return Te.fromDerivationPathInner(e,Bn(t))}static fromDerivationPathInner(e,t,r=Di){let{key:i,chainCode:o}=Ni(Te.SLIP_0010_SEED,t),s=Mi(e).map(c=>parseInt(c,10)),{key:a}=s.reduce((c,d)=>Gi(c,d+r),{key:i,chainCode:o});return new Te(a,!1)}publicKey(){let e=_r.getPublicKey(this.signingKey.toUint8Array());return new b(e)}sign(e){let t=Wt(e),r=m.fromHexInput(t).toUint8Array(),i=_r.sign(r,this.signingKey.toUint8Array());return new v(i)}toUint8Array(){return this.signingKey.toUint8Array()}toString(){return this.toAIP80String()}toHexString(){return this.signingKey.toString()}toAIP80String(){return Nt.formatPrivateKey(this.signingKey.toString(),"ed25519")}serialize(e){e.serializeBytes(this.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new Te(t,!1)}static isPrivateKey(e){return e instanceof Te}};Te.LENGTH=32,Te.SLIP_0010_SEED="ed25519 seed";var L=Te,gn=class gn extends Q{constructor(e){super();let t=m.fromHexInput(e);if(t.toUint8Array().length!==gn.LENGTH)throw new Error(`Signature length should be ${gn.LENGTH}`);this.data=t}toUint8Array(){return this.data.toUint8Array()}serialize(e){e.serializeBytes(this.data.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new gn(t)}};gn.LENGTH=64;var v=gn;var ut=class n extends Mn{constructor(e){super();let t=e.constructor.name;switch(t){case b.name:this.publicKey=e,this.variant=0;break;default:throw new Error(`Unsupported key for EphemeralPublicKey - ${t}`)}}verifySignature(e){let{message:t,signature:r}=e;return this.publicKey.verifySignature({message:t,signature:r.signature})}async verifySignatureAsync(e){return this.verifySignature(e)}serialize(e){if(this.publicKey instanceof b)e.serializeU32AsUleb128(0),this.publicKey.serialize(e);else throw new Error("Unknown public key type")}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new n(b.deserialize(e));default:throw new Error(`Unknown variant index for EphemeralPublicKey: ${t}`)}}static isPublicKey(e){return e instanceof n}},Ne=class n extends Q{constructor(e){super();let t=e.constructor.name;switch(t){case v.name:this.signature=e;break;default:throw new Error(`Unsupported signature for EphemeralSignature - ${t}`)}}static fromHex(e){let t=m.fromHexInput(e),r=new F(t.toUint8Array());return n.deserialize(r)}serialize(e){if(this.signature instanceof v)e.serializeU32AsUleb128(0),this.signature.serialize(e);else throw new Error("Unknown signature type")}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new n(v.deserialize(e));default:throw new Error(`Unknown variant index for EphemeralSignature: ${t}`)}}};export{ut as a,Ne as b,Hc as c,Ti as d,Lc as e,$c as f,qc as g,Wc as h,jc as i,Qc as j,E as k,Ei as l,Cr as m,Wr as n,re as o,on as p,lt as q,Pi as r,ln as s,ye as t,Ki as u,xi as v,sn as w,et as x,Xc as y,Ii as z,tu as A,G as B,Ke as C,He as D,Le as E,x as F,R as G,xe as H,B as I,Ae as J,Z as K,Ie as L,Wt as M,di as N,ss as O,nu as P,b as Q,L as R,v as S,sd as T,ad as U,q as V,Ee as W,$e as X,ie as Y,De as Z,jt as _,yt as $,Xn as aa,fn as ba,C as ca,V as da,oe as ea,mt as fa,qe as ga,ft as ha,We as ia,At as ja,W as ka,ht as la,je as ma,bt as na,Qe as oa,wt as pa,O as qa,Tt as ra,er as sa,N as ta,_ as ua,f as va,Re as wa,tp as xa,I as ya,np as za,ge as Aa,_a as Ba,at as Ca,Qt as Da,Jt as Ea,Zt as Fa,Je as Ga,Yt as Ha,An as Ia,hn as Ja,tr as Ka,St as La,Xt as Ma,bn as Na,en as Oa,wn as Pa,nr as Qa,Pt as Ra,he as Sa,rr as Ta,Kt as Ua,xt as Va,Ze as Wa,It as Xa,tn as Ya,Et as Za,vt as _a,ct as $a,Ye as ab,ir as bb,or as cb,sr as db,Oe as eb,fl as fb,ve as gb,Y as hb,qr as ib,se as jb,Xe as kb,Ct as lb,cr as mb,me as nb,ar as ob,be as pb,Ce as qb,tt as rb,Tn as sb,No as tb,Bo as ub,ur as vb,Ho as wb,La as xb,$ as yb,_e as zb,qo as Ab,nt as Bb,$a as Cb,dr as Db,pr as Eb,Wo as Fb,jo as Gb,Qr as Hb,lr as Ib,Jr as Jb,qa as Kb,Zr as Lb,Yr as Mb,Xr as Nb,ei as Ob,ti as Pb,ni as Qb,Qo as Rb,U as Sb,Jo as Tb,gr as Ub,ja as Vb,ii as Wb,Km as Xb,Zo as Yb,Yo as Zb,oi as _b,_t as $b,mr as ac,Za as bc,Xo as cc,Ya as dc,ec,tc as fc,si as gc,es as hc,an as ic,ai as jc,ts as kc,Zm as lc,A as mc,ic as nc,oc,rs as pc,fr as qc,Ar as rc,ci as sc,Kn as tc,hr as uc,is as vc,os as wc,cn as xc,as as yc,cs as zc,yr as Ac,pi as Bc,li as Cc,us as Dc,gi as Ec,un as Fc,ds as Gc,ps as Hc,ls as Ic,gs as Jc,ys as Kc,bA as Lc,yi as Mc,ms as Nc,fs as Oc,mi as Pc,As as Qc,wA as Rc,bs as Sc,ws as Tc,wr as Uc,fi as Vc,ae as Wc,Ts as Xc,Ss as Yc,Ps as Zc,Ks as _c,Ut as $c,xn as ad,xs as bd,En as cd,Is as dd,Es as ed,vs as fd,Cs as gd,_s as hd,dn as id,Us as jd,ks as kd,Fs as ld,zs as md,Ds as nd,Rs as od,Os as pd,Ns as qd,Gs as rd,Ms as sd,Bs as td,Vs as ud,Hs as vd,Ls as wd,$s as xd,qs as yd,Ws as zd,js as Ad,vn as Bd,Js as Cd,Cn as Dd,Tr as Ed,Zs as Fd,Ys as Gd,ea as Hd,ta as Id,_n as Jd,Un as Kd,na as Ld,ra as Md,pt as Nd,kc as Od,ia as Pd,Eb as Qd,Fc as Rd,oa as Sd,sa as Td,hi as Ud,aa as Vd,ca as Wd,ua as Xd,da as Yd,pa as Zd,la as _d,ga as $d,ya as ae,ma as be,fa as ce,Fn as de,Aa as ee,ha as fe,ba as ge,zn as he,Pr as ie,pn as je,Kr as ke,xr as le,wa as me,Ta as ne,Ir as oe,Er as pe,Dn as qe,vr as re,wi as se,Sa as te,Pa as ue,Rn as ve,Gc as we,Ka as xe,On as ye,J as ze};
4
- //# sourceMappingURL=chunk-NV35GUIY.mjs.map
3
+ K-of-N MultiKey transaction.`);this.signaturesRequired=r}getSignaturesRequired(){return this.signaturesRequired}verifySignature(e){let{message:t,signature:r}=e;if(r.signatures.length!==this.signaturesRequired)throw new Error("The number of signatures does not match the number of required signatures");let i=r.bitMapToSignerIndices();for(let o=0;o<r.signatures.length;o+=1){let s=r.signatures[o];if(!this.publicKeys[i[o]].verifySignature({message:t,signature:s}))return!1}return!0}async verifySignatureAsync(e){let{signature:t}=e;try{if(!(t instanceof Ae))throw new Error("Signature is not a MultiKeySignature");if(t.signatures.length!==this.signaturesRequired)throw new Error("The number of signatures does not match the number of required signatures");let r=t.bitMapToSignerIndices();for(let i=0;i<t.signatures.length;i+=1){let o=t.signatures[i];if(!await this.publicKeys[r[i]].verifySignatureAsync({...e,signature:o}))return!1}return!0}catch(r){if(e.options?.throwErrorWithReason)throw r;return!1}}authKey(){return ne.fromSchemeAndBytes({scheme:3,input:this.toUint8Array()})}serialize(e){e.serializeVector(this.publicKeys),e.serializeU8(this.signaturesRequired)}static deserialize(e){let t=e.deserializeVector(x),r=e.deserializeU8();return new n({publicKeys:t,signaturesRequired:r})}getIndex(e){let t=e instanceof x?e:new x(e);return super.getIndex(t)}static isInstance(e){return"publicKeys"in e&&"signaturesRequired"in e}},ue=class ue extends Q{constructor(e){super();let{signatures:t,bitmap:r}=e;if(t.length>ue.MAX_SIGNATURES_SUPPORTED)throw new Error(`The number of signatures cannot be greater than ${ue.MAX_SIGNATURES_SUPPORTED}`);if(this.signatures=t.map(o=>o instanceof R?o:new R(o)),!(r instanceof Uint8Array))this.bitmap=ue.createBitmap({bits:r});else{if(r.length!==ue.BITMAP_LEN)throw new Error(`"bitmap" length should be ${ue.BITMAP_LEN}`);this.bitmap=r}let i=this.bitmap.reduce((o,s)=>o+Ca(s),0);if(i!==this.signatures.length)throw new Error(`Expecting ${i} signatures from the bitmap, but got ${this.signatures.length}`)}static createBitmap(e){let{bits:t}=e,r=128,i=new Uint8Array([0,0,0,0]),o=new Set;return t.forEach(s=>{if(s>=ue.MAX_SIGNATURES_SUPPORTED)throw new Error(`Cannot have a signature larger than ${ue.MAX_SIGNATURES_SUPPORTED-1}.`);if(o.has(s))throw new Error("Duplicate bits detected.");o.add(s);let a=Math.floor(s/8),c=i[a];c|=r>>s%8,i[a]=c}),i}bitMapToSignerIndices(){let e=[];for(let t=0;t<this.bitmap.length;t+=1){let r=this.bitmap[t];for(let i=0;i<8;i+=1)(r&128>>i)!==0&&e.push(t*8+i)}return e}serialize(e){e.serializeVector(this.signatures),e.serializeBytes(this.bitmap)}static deserialize(e){let t=e.deserializeVector(R),r=e.deserializeBytes();return new ue({signatures:t,bitmap:r})}};ue.BITMAP_LEN=4,ue.MAX_SIGNATURES_SUPPORTED=ue.BITMAP_LEN*8;var Ae=ue;var de=class de extends xe{constructor(e){let{publicKeys:t,threshold:r}=e;if(super({publicKeys:t}),t.length>de.MAX_KEYS||t.length<de.MIN_KEYS)throw new Error(`Must have between ${de.MIN_KEYS} and ${de.MAX_KEYS} public keys, inclusive`);if(r<de.MIN_THRESHOLD||r>t.length)throw new Error(`Threshold must be between ${de.MIN_THRESHOLD} and ${t.length}, inclusive`);this.publicKeys=t,this.threshold=r}getSignaturesRequired(){return this.threshold}verifySignature(e){let{message:t,signature:r}=e;if(!(r instanceof Ie))return!1;let i=[];for(let o=0;o<4;o+=1)for(let s=0;s<8;s+=1)if((r.bitmap[o]&1<<7-s)!==0){let c=o*8+s;i.push(c)}if(i.length!==r.signatures.length)throw new Error("Bitmap and signatures length mismatch");if(i.length<this.threshold)throw new Error("Not enough signatures");for(let o=0;o<i.length;o+=1)if(!this.publicKeys[i[o]].verifySignature({message:t,signature:r.signatures[o]}))return!1;return!0}async verifySignatureAsync(e){return this.verifySignature(e)}authKey(){return ne.fromSchemeAndBytes({scheme:1,input:this.toUint8Array()})}toUint8Array(){let e=new Uint8Array(this.publicKeys.length*b.LENGTH+1);return this.publicKeys.forEach((t,r)=>{e.set(t.toUint8Array(),r*b.LENGTH)}),e[this.publicKeys.length*b.LENGTH]=this.threshold,e}serialize(e){e.serializeBytes(this.toUint8Array())}static deserialize(e){let t=e.deserializeBytes(),r=t[t.length-1],i=[];for(let o=0;o<t.length-1;o+=b.LENGTH){let s=o;i.push(new b(t.subarray(s,s+b.LENGTH)))}return new de({publicKeys:i,threshold:r})}static deserializeWithoutLength(e){let t=e.remaining(),r=e.deserializeFixedBytes(t),i=r[r.length-1],o=[];for(let s=0;s<r.length-1;s+=b.LENGTH){let a=s;o.push(new b(r.subarray(a,a+b.LENGTH)))}return new de({publicKeys:o,threshold:i})}getIndex(e){return super.getIndex(e)}};de.MAX_KEYS=32,de.MIN_KEYS=2,de.MIN_THRESHOLD=1;var J=de,pe=class pe extends Q{constructor(e){super();let{signatures:t,bitmap:r}=e;if(t.length>pe.MAX_SIGNATURES_SUPPORTED)throw new Error(`The number of signatures cannot be greater than ${pe.MAX_SIGNATURES_SUPPORTED}`);if(this.signatures=t,!(r instanceof Uint8Array))this.bitmap=pe.createBitmap({bits:r});else{if(r.length!==pe.BITMAP_LEN)throw new Error(`"bitmap" length should be ${pe.BITMAP_LEN}`);this.bitmap=r}}toUint8Array(){let e=new Uint8Array(this.signatures.length*v.LENGTH+pe.BITMAP_LEN);return this.signatures.forEach((t,r)=>{e.set(t.toUint8Array(),r*v.LENGTH)}),e.set(this.bitmap,this.signatures.length*v.LENGTH),e}serialize(e){e.serializeBytes(this.toUint8Array())}static deserialize(e){let t=e.deserializeBytes(),r=t.subarray(t.length-4),i=[];for(let o=0;o<t.length-r.length;o+=v.LENGTH){let s=o;i.push(new v(t.subarray(s,s+v.LENGTH)))}return new pe({signatures:i,bitmap:r})}static createBitmap(e){let{bits:t}=e,r=128,i=new Uint8Array([0,0,0,0]),o=new Set;return t.forEach((s,a)=>{if(s>=pe.MAX_SIGNATURES_SUPPORTED)throw new Error(`Cannot have a signature larger than ${pe.MAX_SIGNATURES_SUPPORTED-1}.`);if(o.has(s))throw new Error("Duplicate bits detected.");if(a>0&&s<=t[a-1])throw new Error("The bits need to be sorted in ascending order.");o.add(s);let c=Math.floor(s/8),d=i[c];d|=r>>s%8,i[c]=d}),i}};pe.MAX_SIGNATURES_SUPPORTED=32,pe.BITMAP_LEN=4;var Ie=pe;var Yn="Multiple possible deserializations found";function sd(n){let e=[b,x,J,B,E,G,Ke],t;for(let r of e)try{let i=F.fromHex(n),o=r.deserialize(i);if(i.assertFinished(),t)throw new Error(`${Yn}: ${n}`);t=o}catch(i){if(i instanceof Error&&i.message.includes(Yn))throw i}if(!t)throw new Error(`Failed to deserialize public key: ${n}`);return t}function ad(n){let e=[v,R,Ie,Ae,re,Le],t;for(let r of e)try{let i=F.fromHex(n),o=r.deserialize(i);if(i.assertFinished(),t)throw new Error(`${Yn}: ${n}`);t=o}catch(i){if(i instanceof Error&&i.message.includes(Yn))throw i}if(!t)throw new Error(`Failed to deserialize signature: ${n}`);return t}var q=class extends w{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return Ee.load(e);case 1:return $e.load(e);case 2:return ie.load(e);case 3:return De.load(e);case 4:return jt.load(e);case 5:return yt.load(e);default:throw new Error(`Unknown variant index for AccountAuthenticator: ${t}`)}}isEd25519(){return this instanceof Ee}isMultiEd25519(){return this instanceof $e}isSingleKey(){return this instanceof ie}isMultiKey(){return this instanceof De}},Ee=class n extends q{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(0),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=b.deserialize(e),r=v.deserialize(e);return new n(t,r)}},$e=class n extends q{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(1),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=J.deserialize(e),r=Ie.deserialize(e);return new n(t,r)}},ie=class n extends q{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(2),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=x.deserialize(e),r=R.deserialize(e);return new n(t,r)}},De=class n extends q{constructor(e,t){super(),this.public_keys=e,this.signatures=t}serialize(e){e.serializeU32AsUleb128(3),this.public_keys.serialize(e),this.signatures.serialize(e)}static load(e){let t=B.deserialize(e),r=Ae.deserialize(e);return new n(t,r)}},jt=class n extends q{serialize(e){e.serializeU32AsUleb128(4)}static load(e){return new n}},yt=class n extends q{constructor(e,t,r,i){if(super(),!Bt(e))throw new Error(`Invalid function info ${e} passed into AccountAuthenticatorAbstraction`);this.functionInfo=e,this.abstractionSignature=r,this.signingMessageDigest=m.fromHexInput(m.fromHexInput(t).toUint8Array()),this.accountIdentity=i}serialize(e){e.serializeU32AsUleb128(5);let{moduleAddress:t,moduleName:r,functionName:i}=ce(this.functionInfo);u.fromString(t).serialize(e),e.serializeStr(r),e.serializeStr(i),this.accountIdentity?e.serializeU32AsUleb128(1):e.serializeU32AsUleb128(0),e.serializeBytes(this.signingMessageDigest.toUint8Array()),this.accountIdentity?e.serializeBytes(this.abstractionSignature):e.serializeFixedBytes(this.abstractionSignature),this.accountIdentity&&e.serializeBytes(this.accountIdentity)}static load(e){let t=u.deserialize(e),r=e.deserializeStr(),i=e.deserializeStr(),o=e.deserializeUleb128AsU32(),s=e.deserializeBytes();if(o===0){let a=e.deserializeFixedBytes(e.remaining());return new n(`${t}::${r}::${i}`,s,a)}if(o===1){let a=e.deserializeBytes(),c=e.deserializeBytes();return new n(`${t}::${r}::${i}`,s,a,c)}throw new Error(`Unknown variant index for AccountAuthenticatorAbstraction: ${o}`)}},Xn=class n extends w{constructor(e,t){super(),this.originalSigningMessage=m.fromHexInput(m.fromHexInput(e).toUint8Array()),this.functionInfo=t}serialize(e){e.serializeU32AsUleb128(0),e.serializeBytes(this.originalSigningMessage.toUint8Array());let{moduleAddress:t,moduleName:r,functionName:i}=ce(this.functionInfo);u.fromString(t).serialize(e),e.serializeStr(r),e.serializeStr(i)}static deserialize(e){let t=e.deserializeUleb128AsU32();if(t!==0)throw new Error(`Unknown variant index for AccountAbstractionMessage: ${t}`);let r=e.deserializeBytes(),i=u.deserialize(e),o=e.deserializeStr(),s=e.deserializeStr(),a=`${i}::${o}::${s}`;return new n(r,a)}};import{sha3_256 as Ua}from"@noble/hashes/sha3";var fn=class n extends w{constructor(e,t){super(),this.address=e,this.name=t}static fromStr(e){let t=e.split("::");if(t.length!==2)throw new Error("Invalid module id.");return new n(u.fromString(t[0]),new D(t[1]))}serialize(e){this.address.serialize(e),this.name.serialize(e)}static deserialize(e){let t=u.deserialize(e),r=D.deserialize(e);return new n(t,r)}};var C=class n extends w{deserialize(e){let t=u.deserialize(e),r=D.deserialize(e),i=D.deserialize(e),o=e.deserializeVector(n);return new Re(t,r,i,o)}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return V.load(e);case 1:return oe.load(e);case 2:return W.load(e);case 3:return je.load(e);case 4:return O.load(e);case 5:return Tt.load(e);case 6:return _.load(e);case 7:return f.load(e);case 8:return qe.load(e);case 9:return We.load(e);case 10:return Qe.load(e);case 11:return mt.load(e);case 12:return ft.load(e);case 13:return At.load(e);case 14:return ht.load(e);case 15:return bt.load(e);case 16:return wt.load(e);case 255:return N.load(e);default:throw new Error(`Unknown variant index for TypeTag: ${t}`)}}isBool(){return this instanceof V}isAddress(){return this instanceof O}isGeneric(){return this instanceof N}isSigner(){return this instanceof Tt}isVector(){return this instanceof _}isStruct(){return this instanceof f}isU8(){return this instanceof oe}isU16(){return this instanceof qe}isU32(){return this instanceof We}isU64(){return this instanceof W}isU128(){return this instanceof je}isU256(){return this instanceof Qe}isI8(){return this instanceof mt}isI16(){return this instanceof ft}isI32(){return this instanceof At}isI64(){return this instanceof ht}isI128(){return this instanceof bt}isI256(){return this instanceof wt}isPrimitive(){return this instanceof Tt||this instanceof O||this instanceof V||this instanceof oe||this instanceof qe||this instanceof We||this instanceof W||this instanceof je||this instanceof Qe||this instanceof mt||this instanceof ft||this instanceof At||this instanceof ht||this instanceof bt||this instanceof wt}},V=class n extends C{toString(){return"bool"}serialize(e){e.serializeU32AsUleb128(0)}static load(e){return new n}},oe=class n extends C{toString(){return"u8"}serialize(e){e.serializeU32AsUleb128(1)}static load(e){return new n}},mt=class n extends C{toString(){return"i8"}serialize(e){e.serializeU32AsUleb128(11)}static load(e){return new n}},qe=class n extends C{toString(){return"u16"}serialize(e){e.serializeU32AsUleb128(8)}static load(e){return new n}},ft=class n extends C{toString(){return"i16"}serialize(e){e.serializeU32AsUleb128(12)}static load(e){return new n}},We=class n extends C{toString(){return"u32"}serialize(e){e.serializeU32AsUleb128(9)}static load(e){return new n}},At=class n extends C{toString(){return"i32"}serialize(e){e.serializeU32AsUleb128(13)}static load(e){return new n}},W=class n extends C{toString(){return"u64"}serialize(e){e.serializeU32AsUleb128(2)}static load(e){return new n}},ht=class n extends C{toString(){return"i64"}serialize(e){e.serializeU32AsUleb128(14)}static load(e){return new n}},je=class n extends C{toString(){return"u128"}serialize(e){e.serializeU32AsUleb128(3)}static load(e){return new n}},bt=class n extends C{toString(){return"i128"}serialize(e){e.serializeU32AsUleb128(15)}static load(e){return new n}},Qe=class n extends C{toString(){return"u256"}serialize(e){e.serializeU32AsUleb128(10)}static load(e){return new n}},wt=class n extends C{toString(){return"i256"}serialize(e){e.serializeU32AsUleb128(16)}static load(e){return new n}},O=class n extends C{toString(){return"address"}serialize(e){e.serializeU32AsUleb128(4)}static load(e){return new n}},Tt=class n extends C{toString(){return"signer"}serialize(e){e.serializeU32AsUleb128(5)}static load(e){return new n}},er=class n extends C{constructor(t){super();this.value=t}toString(){return`&${this.value.toString()}`}serialize(t){t.serializeU32AsUleb128(254)}static load(t){let r=C.deserialize(t);return new n(r)}},N=class n extends C{constructor(t){super();this.value=t;if(t<0)throw new Error("Generic type parameter index cannot be negative")}toString(){return`T${this.value}`}serialize(t){t.serializeU32AsUleb128(255),t.serializeU32(this.value)}static load(t){let r=t.deserializeU32();return new n(r)}},_=class n extends C{constructor(t){super();this.value=t}toString(){return`vector<${this.value.toString()}>`}static u8(){return new n(new oe)}serialize(t){t.serializeU32AsUleb128(6),this.value.serialize(t)}static load(t){let r=C.deserialize(t);return new n(r)}},f=class n extends C{constructor(t){super();this.value=t}toString(){let t="";return this.value.typeArgs.length>0&&(t=`<${this.value.typeArgs.map(r=>r.toString()).join(", ")}>`),`${this.value.address.toString()}::${this.value.moduleName.identifier}::${this.value.name.identifier}${t}`}serialize(t){t.serializeU32AsUleb128(7),this.value.serialize(t)}static load(t){let r=Re.deserialize(t);return new n(r)}isTypeTag(t,r,i){return this.value.moduleName.identifier===r&&this.value.name.identifier===i&&this.value.address.equals(t)}isString(){return this.isTypeTag(u.ONE,"string","String")}isOption(){return this.isTypeTag(u.ONE,"option","Option")}isObject(){return this.isTypeTag(u.ONE,"object","Object")}isDelegationKey(){return this.isTypeTag(u.ONE,"permissioned_delegation","DelegationKey")}isRateLimiter(){return this.isTypeTag(u.ONE,"rate_limiter","RateLimiter")}},Re=class n extends w{constructor(e,t,r,i){super(),this.address=e,this.moduleName=t,this.name=r,this.typeArgs=i}serialize(e){e.serialize(this.address),e.serialize(this.moduleName),e.serialize(this.name),e.serializeVector(this.typeArgs)}static deserialize(e){let t=u.deserialize(e),r=D.deserialize(e),i=D.deserialize(e),o=e.deserializeVector(C);return new n(t,r,i,o)}};function tp(){return new Re(u.ONE,new D("aptos_coin"),new D("AptosCoin"),[])}function I(){return new Re(u.ONE,new D("string"),new D("String"),[])}function np(n){return new Re(u.ONE,new D("option"),new D("Option"),[n])}function le(n){return new Re(u.ONE,new D("object"),new D("Object"),[n])}function _a(n){let e=n.deserializeUleb128AsU32();switch(e){case 0:return Se.deserialize(n);case 1:return fe.deserialize(n);case 2:return Rt.deserialize(n);case 3:return u.deserialize(n);case 4:return K.deserialize(n,Se);case 5:return H.deserialize(n);case 6:return zt.deserialize(n);case 7:return Dt.deserialize(n);case 8:return Ot.deserialize(n);case 9:return Fi.deserialize(n);default:throw new Error(`Unknown variant index for ScriptTransactionArgument: ${e}`)}}var at=class extends w{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return Qt.load(e);case 2:return Jt.load(e);case 3:return Zt.load(e);case 4:return tr.deserialize(e);default:throw new Error(`Unknown variant index for TransactionPayload: ${t}`)}}},Qt=class n extends at{constructor(e){super(),this.script=e}serialize(e){e.serializeU32AsUleb128(0),this.script.serialize(e)}static load(e){let t=Yt.deserialize(e);return new n(t)}},Jt=class n extends at{constructor(e){super(),this.entryFunction=e}serialize(e){e.serializeU32AsUleb128(2),this.entryFunction.serialize(e)}static load(e){let t=Je.deserialize(e);return new n(t)}},Zt=class n extends at{constructor(e){super(),this.multiSig=e}serialize(e){e.serializeU32AsUleb128(3),this.multiSig.serialize(e)}static load(e){let t=An.deserialize(e);return new n(t)}},Je=class n{constructor(e,t,r,i){this.module_name=e,this.function_name=t,this.type_args=r,this.args=i}static build(e,t,r,i){return new n(fn.fromStr(e),new D(t),r,i)}serialize(e){this.module_name.serialize(e),this.function_name.serialize(e),e.serializeVector(this.type_args),e.serializeU32AsUleb128(this.args.length),this.args.forEach(t=>{t.serializeForEntryFunction(e)})}static deserialize(e){let t=fn.deserialize(e),r=D.deserialize(e),i=e.deserializeVector(C),o=e.deserializeUleb128AsU32(),s=new Array;for(let a=0;a<o;a+=1){let c=e.deserializeUleb128AsU32(),d=Ui.deserialize(e,c);s.push(d)}return new n(t,r,i,s)}},Yt=class n{constructor(e,t,r){this.bytecode=e,this.type_args=t,this.args=r}serialize(e){e.serializeBytes(this.bytecode),e.serializeVector(this.type_args),e.serializeU32AsUleb128(this.args.length),this.args.forEach(t=>{t.serializeForScriptFunction(e)})}static deserialize(e){let t=e.deserializeBytes(),r=e.deserializeVector(C),i=e.deserializeUleb128AsU32(),o=new Array;for(let s=0;s<i;s+=1){let a=_a(e);o.push(a)}return new n(t,r,o)}},An=class n{constructor(e,t){this.multisig_address=e,this.transaction_payload=t}serialize(e){this.multisig_address.serialize(e),this.transaction_payload===void 0?e.serializeBool(!1):(e.serializeBool(!0),this.transaction_payload.serialize(e))}static deserialize(e){let t=u.deserialize(e),r=e.deserializeBool(),i;return r&&(i=hn.deserialize(e)),new n(t,i)}},hn=class n extends w{constructor(e){super(),this.transaction_payload=e}serialize(e){e.serializeU32AsUleb128(0),this.transaction_payload.serialize(e)}static deserialize(e){return e.deserializeUleb128AsU32(),new n(Je.deserialize(e))}},tr=class extends at{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return St.load(e);default:throw new Error(`Unknown variant index for TransactionInnerPayload: ${t}`)}}},St=class n extends tr{constructor(e,t){super(),this.executable=e,this.extra_config=t}serialize(e){e.serializeU32AsUleb128(4),e.serializeU32AsUleb128(0),this.executable.serialize(e),this.extra_config.serialize(e)}static load(e){let t=Xt.deserialize(e),r=nr.deserialize(e);return new n(t,r)}},Xt=class{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return bn.load(e);case 1:return en.load(e);case 2:return wn.load(e);default:throw new Error(`Unknown variant index for TransactionExecutable: ${t}`)}}},bn=class n extends Xt{constructor(e){super(),this.script=e}serialize(e){e.serializeU32AsUleb128(0),this.script.serialize(e)}static load(e){let t=Yt.deserialize(e);return new n(t)}},en=class n extends Xt{constructor(e){super(),this.entryFunction=e}serialize(e){e.serializeU32AsUleb128(1),this.entryFunction.serialize(e)}static load(e){let t=Je.deserialize(e);return new n(t)}},wn=class n extends Xt{serialize(e){e.serializeU32AsUleb128(2)}static load(e){return new n}},nr=class{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return Pt.load(e);default:throw new Error(`Unknown variant index for TransactionExtraConfig: ${t}`)}}},Pt=class n extends nr{constructor(e,t){super(),this.multisigAddress=e,this.replayProtectionNonce=t!==void 0?BigInt(t):void 0}serialize(e){e.serializeU32AsUleb128(0),e.serializeOption(this.multisigAddress),e.serializeOption(this.replayProtectionNonce!==void 0?new fe(this.replayProtectionNonce):void 0)}static load(e){let t=e.deserializeOption(u),r=e.deserializeOption(fe);return new n(t,r?.value)}};var he=class n extends w{constructor(e,t,r,i,o,s,a){super(),this.sender=e,this.sequence_number=t,this.payload=r,this.max_gas_amount=i,this.gas_unit_price=o,this.expiration_timestamp_secs=s,this.chain_id=a}serialize(e){this.sender.serialize(e),e.serializeU64(this.sequence_number),this.payload.serialize(e),e.serializeU64(this.max_gas_amount),e.serializeU64(this.gas_unit_price),e.serializeU64(this.expiration_timestamp_secs),this.chain_id.serialize(e)}static deserialize(e){let t=u.deserialize(e),r=e.deserializeU64(),i=at.deserialize(e),o=e.deserializeU64(),s=e.deserializeU64(),a=e.deserializeU64(),c=Ln.deserialize(e);return new n(t,r,i,o,s,a,c)}},rr=class extends w{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return Kt.load(e);case 1:return xt.load(e);default:throw new Error(`Unknown variant index for RawTransactionWithData: ${t}`)}}},Kt=class n extends rr{constructor(e,t){super(),this.raw_txn=e,this.secondary_signer_addresses=t}serialize(e){e.serializeU32AsUleb128(0),this.raw_txn.serialize(e),e.serializeVector(this.secondary_signer_addresses)}static load(e){let t=he.deserialize(e),r=e.deserializeVector(u);return new n(t,r)}},xt=class n extends rr{constructor(e,t,r){super(),this.raw_txn=e,this.secondary_signer_addresses=t,this.fee_payer_address=r}serialize(e){e.serializeU32AsUleb128(1),this.raw_txn.serialize(e),e.serializeVector(this.secondary_signer_addresses),this.fee_payer_address.serialize(e)}static load(e){let t=he.deserialize(e),r=e.deserializeVector(u),i=u.deserialize(e);return new n(t,r,i)}};var Ze=class extends w{static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return It.load(e);case 1:return tn.load(e);case 2:return Et.load(e);case 3:return vt.load(e);case 4:return ct.load(e);default:throw new Error(`Unknown variant index for TransactionAuthenticator: ${t}`)}}isEd25519(){return this instanceof It}isMultiEd25519(){return this instanceof tn}isMultiAgent(){return this instanceof Et}isFeePayer(){return this instanceof vt}isSingleSender(){return this instanceof ct}},It=class n extends Ze{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(0),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=b.deserialize(e),r=v.deserialize(e);return new n(t,r)}},tn=class n extends Ze{constructor(e,t){super(),this.public_key=e,this.signature=t}serialize(e){e.serializeU32AsUleb128(1),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let t=J.deserialize(e),r=Ie.deserialize(e);return new n(t,r)}},Et=class n extends Ze{constructor(e,t,r){super(),this.sender=e,this.secondary_signer_addresses=t,this.secondary_signers=r}serialize(e){e.serializeU32AsUleb128(2),this.sender.serialize(e),e.serializeVector(this.secondary_signer_addresses),e.serializeVector(this.secondary_signers)}static load(e){let t=q.deserialize(e),r=e.deserializeVector(u),i=e.deserializeVector(q);return new n(t,r,i)}},vt=class n extends Ze{constructor(e,t,r,i){super(),this.sender=e,this.secondary_signer_addresses=t,this.secondary_signers=r,this.fee_payer=i}serialize(e){e.serializeU32AsUleb128(3),this.sender.serialize(e),e.serializeVector(this.secondary_signer_addresses),e.serializeVector(this.secondary_signers),this.fee_payer.address.serialize(e),this.fee_payer.authenticator.serialize(e)}static load(e){let t=q.deserialize(e),r=e.deserializeVector(u),i=e.deserializeVector(q),o=u.deserialize(e),s=q.deserialize(e),a={address:o,authenticator:s};return new n(t,r,i,a)}},ct=class n extends Ze{constructor(e){super(),this.sender=e}serialize(e){e.serializeU32AsUleb128(4),this.sender.serialize(e)}static load(e){let t=q.deserialize(e);return new n(t)}};var Ye=class n extends w{constructor(e,t){super(),this.raw_txn=e,this.authenticator=t}serialize(e){this.raw_txn.serialize(e),this.authenticator.serialize(e)}static deserialize(e){let t=he.deserialize(e),r=Ze.deserialize(e);return new n(t,r)}};var ir=class n extends w{constructor(e,t){super(),this.rawTransaction=e,this.feePayerAddress=t}serialize(e){this.rawTransaction.serialize(e),this.feePayerAddress===void 0?e.serializeBool(!1):(e.serializeBool(!0),this.feePayerAddress.serialize(e))}static deserialize(e){let t=he.deserialize(e),r=e.deserializeBool(),i;return r&&(i=u.deserialize(e)),new n(t,i)}};var or=class n extends w{constructor(e,t,r){super(),this.rawTransaction=e,this.feePayerAddress=r,this.secondarySignerAddresses=t}serialize(e){this.rawTransaction.serialize(e),e.serializeVector(this.secondarySignerAddresses),this.feePayerAddress===void 0?e.serializeBool(!1):(e.serializeBool(!0),this.feePayerAddress.serialize(e))}static deserialize(e){let t=he.deserialize(e),r=e.deserializeVector(u),i=e.deserializeBool(),o;return i&&(o=u.deserialize(e)),new n(t,r,o)}};function sr(n){return n.feePayerAddress?new xt(n.rawTransaction,n.secondarySignerAddresses??[],n.feePayerAddress):n.secondarySignerAddresses?new Kt(n.rawTransaction,n.secondarySignerAddresses):n.rawTransaction}function Oe(n,e){let t=Ua.create();if(!e.startsWith("APTOS::"))throw new Error(`Domain separator needs to start with 'APTOS::'. Provided - ${e}`);t.update(e);let r=t.digest(),i=n,o=new Uint8Array(r.length+i.length);return o.set(r),o.set(i,r.length),o}function fl(n){return Oe(n.bcsToBytes(),`APTOS::${n.constructor.name}`)}function ve(n){let e=sr(n);return n.feePayerAddress?Oe(e.bcsToBytes(),Dr):n.secondarySignerAddresses?Oe(e.bcsToBytes(),Dr):Oe(e.bcsToBytes(),Li)}var Z=class n{constructor(e){this.signingScheme=0;let{privateKey:t,address:r}=e;this.privateKey=t,this.publicKey=t.publicKey(),this.accountAddress=r?u.from(r):this.publicKey.authKey().derivedAddress()}static generate(){let e=L.generate();return new n({privateKey:e})}static fromDerivationPath(e){let{path:t,mnemonic:r}=e,i=L.fromDerivationPath(t,r);return new n({privateKey:i})}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return this.publicKey.verifySignatureAsync({...e,signature:e.signature})}signWithAuthenticator(e){return new Ee(this.publicKey,this.privateKey.sign(e))}signTransactionWithAuthenticator(e){return new Ee(this.publicKey,this.signTransaction(e))}sign(e){return this.privateKey.sign(e)}signTransaction(e){return this.sign(ve(e))}};function qr(n){return typeof n=="object"&&n!==null&&"getAnyPublicKey"in n&&typeof n.getAnyPublicKey=="function"}var se=class n{constructor(e){this.signingScheme=2;let{privateKey:t,address:r}=e;this.privateKey=t,this.publicKey=new x(t.publicKey()),this.accountAddress=r?u.from(r):this.publicKey.authKey().derivedAddress()}getAnyPublicKey(){return this.publicKey}static generate(e={}){let{scheme:t=0}=e,r;switch(t){case 0:r=L.generate();break;case 2:r=He.generate();break;default:throw new Error(`Unsupported signature scheme ${t}`)}return new n({privateKey:r})}static fromDerivationPath(e){let{scheme:t=0,path:r,mnemonic:i}=e,o;switch(t){case 0:o=L.fromDerivationPath(r,i);break;case 2:o=He.fromDerivationPath(r,i);break;default:throw new Error(`Unsupported signature scheme ${t}`)}return new n({privateKey:o})}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return this.publicKey.verifySignatureAsync({...e,signature:e.signature})}signWithAuthenticator(e){return new ie(this.publicKey,this.sign(e))}signTransactionWithAuthenticator(e){return new ie(this.publicKey,this.signTransaction(e))}sign(e){return new R(this.privateKey.sign(e))}signTransaction(e){return this.sign(ve(e))}static fromEd25519Account(e){return new n({privateKey:e.privateKey,address:e.accountAddress})}};var Xe=class{static generate(e={}){let{scheme:t=0,legacy:r=!0}=e;return t===0&&r?Z.generate():se.generate({scheme:t})}static fromPrivateKey(e){let{privateKey:t,address:r,legacy:i=!0}=e;return t instanceof L&&i?new Z({privateKey:t,address:r}):new se({privateKey:t,address:r})}static fromPrivateKeyAndAddress(e){return this.fromPrivateKey(e)}static fromDerivationPath(e){let{scheme:t=0,mnemonic:r,path:i,legacy:o=!0}=e;return t===0&&o?Z.fromDerivationPath({mnemonic:r,path:i}):se.fromDerivationPath({scheme:t,mnemonic:r,path:i})}static authKey(e){let{publicKey:t}=e;return t.authKey()}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return this.publicKey.verifySignatureAsync(e)}};import{randomBytes as za}from"@noble/hashes/utils";var Da=1209600,nn=class nn extends w{constructor(e){super();let{privateKey:t,expiryDateSecs:r,blinder:i}=e;this.privateKey=t,this.publicKey=new ut(t.publicKey()),this.expiryDateSecs=r||Qi(Ve()+Da),this.blinder=i!==void 0?m.fromHexInput(i).toUint8Array():Ra();let o=Vn(this.publicKey.bcsToBytes(),93);o.push(BigInt(this.expiryDateSecs)),o.push(Gt(this.blinder));let s=Mt(o);this.nonce=s.toString()}getPublicKey(){return this.publicKey}isExpired(){return Math.floor(Date.now()/1e3)>this.expiryDateSecs}serialize(e){e.serializeU32AsUleb128(this.publicKey.variant),e.serializeBytes(this.privateKey.toUint8Array()),e.serializeU64(this.expiryDateSecs),e.serializeFixedBytes(this.blinder)}static deserialize(e){let t=e.deserializeUleb128AsU32(),r;switch(t){case 0:r=L.deserialize(e);break;default:throw new Error(`Unknown variant index for EphemeralPublicKey: ${t}`)}let i=e.deserializeU64(),o=e.deserializeFixedBytes(31);return new nn({privateKey:r,expiryDateSecs:Number(i),blinder:o})}static fromBytes(e){return nn.deserialize(new F(e))}static generate(e){let t;switch(e?.scheme){case 0:default:t=L.generate()}return new nn({privateKey:t,expiryDateSecs:e?.expiryDateSecs})}sign(e){if(this.isExpired())throw new Error("EphemeralKeyPair has expired");return new Ne(this.privateKey.sign(e))}};nn.BLINDER_LENGTH=31;var Ct=nn;function Ra(){return za(Ct.BLINDER_LENGTH)}import Na from"eventemitter3";import{jwtDecode as Ga}from"jwt-decode";function cr(n){return n!=null&&typeof n.checkKeylessAccountValidity=="function"}var rn=class rn extends w{constructor(t){super();this.signingScheme=2;let{address:r,ephemeralKeyPair:i,publicKey:o,uidKey:s,uidVal:a,aud:c,pepper:d,proof:l,proofFetchCallback:g,jwt:p,verificationKeyHash:y}=t;if(this.ephemeralKeyPair=i,this.publicKey=o,this.accountAddress=r?u.from(r):this.publicKey.authKey().derivedAddress(),this.uidKey=s,this.uidVal=a,this.aud=c,this.jwt=p,this.emitter=new Na,this.proofOrPromise=l,l instanceof ge)this.proof=l;else{if(g===void 0)throw new Error("Must provide callback for async proof fetch");this.emitter.on("proofFetchFinish",async k=>{await g(k),this.emitter.removeAllListeners()}),this.init(l)}let h=m.fromHexInput(d).toUint8Array();if(h.length!==rn.PEPPER_LENGTH)throw new Error(`Pepper length in bytes should be ${rn.PEPPER_LENGTH}`);if(this.pepper=h,y!==void 0){if(m.hexInputToUint8Array(y).length!==32)throw new Error("verificationKeyHash must be 32 bytes");this.verificationKeyHash=m.hexInputToUint8Array(y)}}getAnyPublicKey(){return new x(this.publicKey)}async init(t){try{this.proof=await t,this.emitter.emit("proofFetchFinish",{status:"Success"})}catch(r){r instanceof Error?this.emitter.emit("proofFetchFinish",{status:"Failed",error:r.toString()}):this.emitter.emit("proofFetchFinish",{status:"Failed",error:"Unknown"})}}serialize(t){if(this.accountAddress.serialize(t),t.serializeStr(this.jwt),t.serializeStr(this.uidKey),t.serializeFixedBytes(this.pepper),this.ephemeralKeyPair.serialize(t),this.proof===void 0)throw new Error("Cannot serialize - proof undefined");this.proof.serialize(t),t.serializeOption(this.verificationKeyHash,32)}static partialDeserialize(t){let r=u.deserialize(t),i=t.deserializeStr(),o=t.deserializeStr(),s=t.deserializeFixedBytes(31),a=Ct.deserialize(t),c=ge.deserialize(t),d=t.deserializeOption("fixedBytes",32);return{address:r,jwt:i,uidKey:o,pepper:s,ephemeralKeyPair:a,proof:c,verificationKeyHash:d}}isExpired(){return this.ephemeralKeyPair.isExpired()}signWithAuthenticator(t){let r=new R(this.sign(t)),i=new x(this.publicKey);return new ie(i,r)}signTransactionWithAuthenticator(t){let r=new R(this.signTransaction(t)),i=new x(this.publicKey);return new ie(i,r)}async waitForProofFetch(){this.proofOrPromise instanceof Promise&&await this.proofOrPromise}async checkKeylessAccountValidity(t){if(this.isExpired())throw S.fromErrorType({type:0});if(await this.waitForProofFetch(),this.proof===void 0)throw S.fromErrorType({type:2});let r=Ga(this.jwt,{header:!0});if(r.kid===void 0)throw S.fromErrorType({type:12,details:"checkKeylessAccountValidity failed. JWT is missing 'kid' in header. This should never happen."});if(this.verificationKeyHash!==void 0){let{verificationKey:i}=await sn({aptosConfig:t});if(m.hexInputToString(i.hash())!==m.hexInputToString(this.verificationKeyHash))throw S.fromErrorType({type:4})}else console.warn("[Aptos SDK] The verification key hash was not set. Proof may be invalid if the verification key has rotated.");await rn.fetchJWK({aptosConfig:t,publicKey:this.publicKey,kid:r.kid})}sign(t){let{expiryDateSecs:r}=this.ephemeralKeyPair;if(this.isExpired())throw S.fromErrorType({type:0});if(this.proof===void 0)throw S.fromErrorType({type:1,details:"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."});let i=this.ephemeralKeyPair.getPublicKey(),o=this.ephemeralKeyPair.sign(t);return new re({jwtHeader:Ji(this.jwt.split(".")[0]),ephemeralCertificate:new on(this.proof,0),expiryDateSecs:r,ephemeralPublicKey:i,ephemeralSignature:o})}signTransaction(t){if(this.proof===void 0)throw S.fromErrorType({type:1,details:"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."});let r=sr(t),o=new ar(r,this.proof.proof).hash();return this.sign(o)}getSigningMessage(t){if(this.proof===void 0)throw S.fromErrorType({type:1,details:"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."});let r=sr(t);return new ar(r,this.proof.proof).hash()}verifySignature(t){return this.publicKey.verifySignature(t)}async verifySignatureAsync(t){return this.publicKey.verifySignatureAsync({...t})}static async fetchJWK(t){return Wr(t)}};rn.PEPPER_LENGTH=31;var ye=rn,ar=class extends w{constructor(t,r){super();this.domainSeparator="APTOS::TransactionAndProof";this.transaction=t,this.proof=r}serialize(t){t.serializeFixedBytes(this.transaction.bcsToBytes()),t.serializeOption(this.proof)}hash(){return Oe(this.bcsToBytes(),this.domainSeparator)}};var be=class n extends ye{constructor(e){let t=E.create(e);super({publicKey:t,...e}),this.publicKey=t}serialize(e){super.serialize(e)}static deserialize(e){let{address:t,proof:r,ephemeralKeyPair:i,jwt:o,uidKey:s,pepper:a,verificationKeyHash:c}=ye.partialDeserialize(e),{iss:d,aud:l,uidVal:g}=et({jwt:o,uidKey:s});return new n({address:t,proof:r,ephemeralKeyPair:i,iss:d,uidKey:s,uidVal:g,aud:l,pepper:a,jwt:o,verificationKeyHash:c})}static fromBytes(e){return n.deserialize(new F(m.hexInputToUint8Array(e)))}static create(e){let{address:t,proof:r,jwt:i,ephemeralKeyPair:o,pepper:s,uidKey:a="sub",proofFetchCallback:c,verificationKey:d,verificationKeyHash:l}=e;if(l&&d)throw new Error("Cannot provide both verificationKey and verificationKeyHash");let{iss:g,aud:p,uidVal:y}=et({jwt:i,uidKey:a});return new n({address:t,proof:r,ephemeralKeyPair:o,iss:g,uidKey:a,uidVal:y,aud:p,pepper:s,jwt:i,proofFetchCallback:c,verificationKeyHash:l??(d?d.hash():void 0)})}};var Ce=class n extends ye{constructor(e){let t=G.create(e);super({publicKey:t,...e}),this.publicKey=t,this.audless=e.audless??!1}serialize(e){super.serialize(e),this.publicKey.jwkAddress.serialize(e)}static deserialize(e){let{address:t,proof:r,ephemeralKeyPair:i,jwt:o,uidKey:s,pepper:a,verificationKeyHash:c}=ye.partialDeserialize(e),d=u.deserialize(e),{iss:l,aud:g,uidVal:p}=et({jwt:o,uidKey:s});return new n({address:t,proof:r,ephemeralKeyPair:i,iss:l,uidKey:s,uidVal:p,aud:g,pepper:a,jwt:o,verificationKeyHash:c,jwkAddress:d})}static fromBytes(e){return n.deserialize(F.fromHex(e))}static create(e){let{address:t,proof:r,jwt:i,ephemeralKeyPair:o,pepper:s,jwkAddress:a,uidKey:c="sub",proofFetchCallback:d,verificationKey:l,verificationKeyHash:g}=e;if(g&&l)throw new Error("Cannot provide both verificationKey and verificationKeyHash");let{iss:p,aud:y,uidVal:h}=et({jwt:i,uidKey:c});return new n({address:t,proof:r,ephemeralKeyPair:o,iss:p,uidKey:c,uidVal:h,aud:y,pepper:s,jwkAddress:u.from(a),jwt:i,proofFetchCallback:d,verificationKeyHash:g??(l?l.hash():void 0)})}};var tt=class n{constructor(e){this.signingScheme=3;let{multiKey:t,address:r}=e,i=e.signers.map(a=>a instanceof Z?se.fromEd25519Account(a):a);if(t.signaturesRequired>i.length)throw new Error(`Not enough signers provided to satisfy the required signatures. Need ${t.signaturesRequired} signers, but only ${i.length} provided`);if(t.signaturesRequired<i.length)throw new Error(`More signers provided than required. Need ${t.signaturesRequired} signers, but ${i.length} provided`);this.publicKey=t,this.accountAddress=r?u.from(r):this.publicKey.authKey().derivedAddress();let o=[];for(let a of i)o.push(this.publicKey.getIndex(a.getAnyPublicKey()));let s=i.map((a,c)=>[a,o[c]]);s.sort((a,c)=>a[1]-c[1]),this.signers=s.map(a=>a[0]),this.signerIndicies=s.map(a=>a[1]),this.signaturesBitmap=this.publicKey.createBitmap({bits:o})}static fromPublicKeysAndSigners(e){let{address:t,publicKeys:r,signaturesRequired:i,signers:o}=e,s=new B({publicKeys:r,signaturesRequired:i});return new n({multiKey:s,signers:o,address:t})}static isMultiKeySigner(e){return e instanceof n}signWithAuthenticator(e){return new De(this.publicKey,this.sign(e))}signTransactionWithAuthenticator(e){return new De(this.publicKey,this.signTransaction(e))}async waitForProofFetch(){let t=this.signers.filter(r=>r instanceof ye).map(async r=>r.waitForProofFetch());await Promise.all(t)}async checkKeylessAccountValidity(e){let r=this.signers.filter(i=>i instanceof ye).map(i=>i.checkKeylessAccountValidity(e));await Promise.all(r)}sign(e){let t=[];for(let r of this.signers)t.push(r.sign(e));return new Ae({signatures:t,bitmap:this.signaturesBitmap})}signTransaction(e){let t=[];for(let r of this.signers)t.push(r.signTransaction(e));return new Ae({signatures:t,bitmap:this.signaturesBitmap})}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return await this.publicKey.verifySignatureAsync(e)}};var Tn=class{constructor(e){this.signingScheme=1;let{signers:t,publicKey:r,address:i}=e;if(this.publicKey=r,this.accountAddress=i?u.from(i):this.publicKey.authKey().derivedAddress(),r.threshold>t.length)throw new Error(`Not enough signers provided to satisfy the required signatures. Need ${r.threshold} signers, but only ${t.length} provided`);if(r.threshold<t.length)throw new Error(`More signers provided than required. Need ${r.threshold} signers, but ${t.length} provided`);let o=[];for(let a of t)o.push(this.publicKey.getIndex(a.publicKey()));let s=t.map((a,c)=>[a,o[c]]);s.sort((a,c)=>a[1]-c[1]),this.signers=s.map(a=>a[0]),this.signerIndices=s.map(a=>a[1]),this.signaturesBitmap=this.publicKey.createBitmap({bits:o})}verifySignature(e){return this.publicKey.verifySignature(e)}async verifySignatureAsync(e){return this.publicKey.verifySignatureAsync({...e,signature:e.signature})}signWithAuthenticator(e){return new $e(this.publicKey,this.sign(e))}signTransactionWithAuthenticator(e){return new $e(this.publicKey,this.signTransaction(e))}sign(e){let t=[];for(let r of this.signers)t.push(r.sign(e));return new Ie({signatures:t,bitmap:this.signaturesBitmap})}signTransaction(e){return this.sign(ve(e))}};function No(n){let e=n.deserializeUleb128AsU32();if(!Object.values(j).includes(e))throw new Error(`Deserialization of Account failed: SigningScheme variant ${e} is invalid`);return{address:u.deserialize(n),signingScheme:e}}function Go(n,e){if(e.serializeStr(n.jwt),e.serializeStr(n.uidKey),e.serializeFixedBytes(n.pepper),n.ephemeralKeyPair.serialize(e),n.proof===void 0)throw new Error("Cannot serialize - proof undefined");n.proof.serialize(e),e.serializeOption(n.verificationKeyHash,32)}function Mo(n){let e=n.deserializeStr(),t=n.deserializeStr(),r=n.deserializeFixedBytes(31),i=Ct.deserialize(n),o=ge.deserialize(n),s=n.deserializeOption("fixedBytes",32);return{jwt:e,uidKey:t,pepper:r,ephemeralKeyPair:i,proof:o,verificationKeyHash:s}}var Bo;(g=>{function n(p){let y=new ee;switch(y.serializeU32AsUleb128(p.signingScheme),p.accountAddress.serialize(y),p.signingScheme){case 0:return p.privateKey.serialize(y),y.toUint8Array();case 2:{if(!qr(p))throw new Error("Account is not a SingleKeySigner");let h=p.getAnyPublicKey();switch(y.serializeU32AsUleb128(h.variant),h.variant){case 3:return Go(p,y),y.toUint8Array();case 4:{let k=p;return Go(k,y),k.publicKey.jwkAddress.serialize(y),y.serializeBool(k.audless),y.toUint8Array()}case 1:case 0:return p.privateKey.serialize(y),y.toUint8Array();default:throw new Error(`Invalid public key variant: ${h.variant}`)}}case 3:{let h=p;return h.publicKey.serialize(y),y.serializeU32AsUleb128(h.signers.length),h.signers.forEach(k=>{y.serializeFixedBytes(n(k))}),y.toUint8Array()}default:throw new Error(`Deserialization of Account failed: invalid signingScheme value ${p.signingScheme}`)}}g.toBytes=n;function e(p){return m.hexInputToStringWithoutPrefix(n(p))}g.toHexStringWithoutPrefix=e;function t(p){return m.hexInputToString(n(p))}g.toHexString=t;function r(p){let{address:y,signingScheme:h}=No(p);switch(h){case 0:{let k=L.deserialize(p);return new Z({privateKey:k,address:y})}case 2:{let k=p.deserializeUleb128AsU32();switch(k){case 0:{let M=L.deserialize(p);return new se({privateKey:M,address:y})}case 1:{let M=He.deserialize(p);return new se({privateKey:M,address:y})}case 3:{let M=Mo(p),X=et(M);return new be({...M,...X})}case 4:{let M=Mo(p),X=u.deserialize(p),Me=p.deserializeBool(),ot=et(M);return new Ce({...M,...ot,jwkAddress:X,audless:Me})}default:throw new Error(`Unsupported public key variant ${k}`)}}case 3:{let k=B.deserialize(p),M=p.deserializeUleb128AsU32(),X=new Array;for(let Me=0;Me<M;Me+=1){let ot=r(p);if(!qr(ot)&&!(ot instanceof Z))throw new Error("Deserialization of MultiKeyAccount failed. Signer is not a SingleKeySigner or Ed25519Account");X.push(ot)}return new tt({multiKey:k,signers:X,address:y})}default:throw new Error(`Deserialization of Account failed: invalid signingScheme value ${h}`)}}g.deserialize=r;function i(p){let y=d(p);if(!(y instanceof be))throw new Error("Deserialization of KeylessAccount failed");return y}g.keylessAccountFromHex=i;function o(p){let y=d(p);if(!(y instanceof Ce))throw new Error("Deserialization of FederatedKeylessAccount failed");return y}g.federatedKeylessAccountFromHex=o;function s(p){let y=d(p);if(!(y instanceof tt))throw new Error("Deserialization of MultiKeyAccount failed");return y}g.multiKeyAccountFromHex=s;function a(p){let y=d(p);if(!(y instanceof se))throw new Error("Deserialization of SingleKeyAccount failed");return y}g.singleKeyAccountFromHex=a;function c(p){let y=d(p);if(!(y instanceof Z))throw new Error("Deserialization of Ed25519Account failed");return y}g.ed25519AccountFromHex=c;function d(p){return r(F.fromHex(p))}g.fromHex=d;function l(p){return d(p)}g.fromBytes=l})(Bo||(Bo={}));import{sha3_256 as Vo}from"@noble/hashes/sha3";var ur=class n extends Xe{constructor({signer:t,accountAddress:r,authenticationFunction:i}){super();this.signingScheme=2;if(!Bt(i))throw new Error(`Invalid authentication function ${i} passed into AbstractedAccount`);this.authenticationFunction=i,this.accountAddress=r,this.publicKey=new zi(this.accountAddress),this.sign=o=>new kr(t(o))}static fromPermissionedSigner({signer:t,accountAddress:r}){return new n({signer:i=>{let o=new ee;return t.publicKey.serialize(o),t.sign(i).serialize(o),o.toUint8Array()},accountAddress:r??t.accountAddress,authenticationFunction:"0x1::permissioned_delegation::authenticate"})}static generateAccountAbstractionMessage(t,r){let i=new Xn(t,r);return Oe(i.bcsToBytes(),$i)}signWithAuthenticator(t){return new yt(this.authenticationFunction,Vo(t),this.sign(Vo(t)).toUint8Array())}signTransactionWithAuthenticator(t){let r=n.generateAccountAbstractionMessage(ve(t),this.authenticationFunction);return this.signWithAuthenticator(r)}signTransaction(t){return this.sign(ve(t))}setSigner(t){this.sign=r=>new kr(t(r))}};import{sha3_256 as jr}from"@noble/hashes/sha3";var Sn=class Sn extends ur{constructor({signer:e,authenticationFunction:t,abstractPublicKey:r}){let i=new u(Sn.computeAccountAddress(t,r));super({accountAddress:i,signer:e,authenticationFunction:t}),this.abstractPublicKey=r}static computeAccountAddress(e,t){if(!Bt(e))throw new Error(`Invalid authentication function ${e} passed into DerivableAbstractedAccount`);let[r,i,o]=e.split("::"),s=jr.create(),a=new ee;u.fromString(r).serialize(a),a.serializeStr(i),a.serializeStr(o),s.update(a.toUint8Array());let c=new ee;return c.serializeBytes(t),s.update(c.toUint8Array()),s.update(new Uint8Array([Sn.ADDRESS_DOMAIN_SEPERATOR])),s.digest()}signWithAuthenticator(e){return new yt(this.authenticationFunction,jr(e),this.sign(jr(e)).value,this.abstractPublicKey)}};Sn.ADDRESS_DOMAIN_SEPERATOR=5;var Ho=Sn;import{sha3_256 as Ja}from"@noble/hashes/sha3";function Lo(n){return!!n.match(/^[_a-zA-Z0-9]+$/)}function $o(n){return!!n.match(/\s/)}function Ma(n){return!!n.match(/^T[0-9]+$/)}function Ba(n){return!!n.match(/^&.+$/)}function Va(n){switch(n){case"signer":case"address":case"bool":case"u8":case"u16":case"u32":case"u64":case"u128":case"u256":case"i8":case"i16":case"i32":case"i64":case"i128":case"i256":return!0;default:return!1}}function Ha(n,e){let t=e;for(;t<n.length;t+=1){let r=n[t];if(!$o(r))break}return t}var La=(h=>(h.InvalidTypeTag="unknown type",h.UnexpectedGenericType="unexpected generic type",h.UnexpectedTypeArgumentClose="unexpected '>'",h.UnexpectedWhitespaceCharacter="unexpected whitespace character",h.UnexpectedComma="unexpected ','",h.TypeArgumentCountMismatch="type argument count doesn't match expected amount",h.MissingTypeArgumentClose="no matching '>' for '<'",h.MissingTypeArgument="no type argument before ','",h.UnexpectedPrimitiveTypeArguments="primitive types not expected to have type arguments",h.UnexpectedVectorTypeArgumentCount="vector type expected to have exactly one type argument",h.UnexpectedStructFormat="unexpected struct format, must be of the form 0xaddress::module_name::struct_name",h.InvalidModuleNameCharacter="module name must only contain alphanumeric or '_' characters",h.InvalidStructNameCharacter="struct name must only contain alphanumeric or '_' characters",h.InvalidAddress="struct address must be valid",h))(La||{}),$=class extends Error{constructor(e,t){super(`Failed to parse typeTag '${e}', ${t}`)}};function _e(n,e){let t=e?.allowGenerics??!1,r=[],i=[],o=[],s=0,a="",c=1;for(;s<n.length;){let d=n[s];if(d==="<")r.push({savedExpectedTypes:c,savedStr:a,savedTypes:o}),a="",o=[],c=1;else if(d===">"){if(a!==""){let h=Pn(a,i,t);o.push(h)}let l=r.pop();if(l===void 0)throw new $(n,"unexpected '>'");if(c!==o.length)throw new $(n,"type argument count doesn't match expected amount");let{savedStr:g,savedTypes:p,savedExpectedTypes:y}=l;i=o,o=p,a=g,c=y}else if(d===","){if(r.length===0)throw new $(n,"unexpected ','");if(a.length===0)throw new $(n,"no type argument before ','");let l=Pn(a,i,t);i=[],o.push(l),a="",c+=1}else if($o(d)){let l=!1;if(a.length!==0){let p=Pn(a,i,t);i=[],o.push(p),a="",l=!0}s=Ha(n,s);let g=n[s];if(s<n.length&&l&&g!==","&&g!==">")throw new $(n,"unexpected whitespace character");continue}else a+=d;s+=1}if(r.length>0)throw new $(n,"no matching '>' for '<'");switch(o.length){case 0:return Pn(a,i,t);case 1:if(a==="")return o[0];throw new $(n,"unexpected ','");default:throw new $(n,"unexpected whitespace character")}}function Pn(n,e,t){let r=n.trim(),i=r.toLowerCase();if(Va(i)&&e.length>0)throw new $(n,"primitive types not expected to have type arguments");switch(r.toLowerCase()){case"signer":return new Tt;case"bool":return new V;case"address":return new O;case"u8":return new oe;case"u16":return new qe;case"u32":return new We;case"u64":return new W;case"u128":return new je;case"u256":return new Qe;case"i8":return new mt;case"i16":return new ft;case"i32":return new At;case"i64":return new ht;case"i128":return new bt;case"i256":return new wt;case"vector":if(e.length!==1)throw new $(n,"vector type expected to have exactly one type argument");return new _(e[0]);default:if(Ba(r)){let a=r.substring(1);return new er(Pn(a,e,t))}if(Ma(r)){if(t)return new N(Number(r.split("T")[1]));throw new $(n,"unexpected generic type")}if(!r.match(/:/))throw new $(n,"unknown type");let o=r.split("::");if(o.length!==3)throw new $(n,"unexpected struct format, must be of the form 0xaddress::module_name::struct_name");let s;try{s=u.fromString(o[0])}catch{throw new $(n,"struct address must be valid")}if(!Lo(o[1]))throw new $(n,"module name must only contain alphanumeric or '_' characters");if(!Lo(o[2]))throw new $(n,"struct name must only contain alphanumeric or '_' characters");return new f(new Re(s,new D(o[1]),new D(o[2]),e))}}function qo(n){return typeof n=="boolean"}function nt(n){return typeof n=="string"}function $a(n){return typeof n=="number"}function dr(n){if($a(n))return n;if(nt(n)&&n!=="")return Number.parseInt(n,10)}function pr(n){return typeof n=="number"||typeof n=="bigint"||typeof n=="string"}function Wo(n){return n==null}function jo(n){return Qr(n)||Zr(n)||Yr(n)||Xr(n)||ei(n)||ti(n)||ni(n)||lr(n)||Jr(n)||qa(n)||n instanceof K||n instanceof te}function Qr(n){return n instanceof H}function lr(n){return n instanceof u}function Jr(n){return n instanceof z}function qa(n){return n instanceof Ft}function Zr(n){return n instanceof Se}function Yr(n){return n instanceof zt}function Xr(n){return n instanceof Dt}function ei(n){return n instanceof fe}function ti(n){return n instanceof Rt}function ni(n){return n instanceof Ot}function Qo(n){return"bytecode"in n}function U(n,e){throw new Error(`Type mismatch for argument ${e}, expected '${n}'`)}function Jo(n){let e=n.params.findIndex(t=>t!=="signer"&&t!=="&signer");return e<0?n.params.length:e}var Wa=new TextEncoder;function gr(n){return n?.map(e=>nt(e)?_e(e):e)??[]}async function ja(n,e,t){return(await yr({aptosConfig:t,accountAddress:n,moduleName:e})).abi}async function ii(n,e,t,r){let i=await ja(n,e,r);if(!i)throw new Error(`Could not find module ABI for '${n}::${e}'`);return i.exposed_functions.find(o=>o.name===t)}async function Km(n,e,t,r){let i=await ii(n,e,t,r);if(!i)throw new Error(`Could not find function ABI for '${n}::${e}::${t}'`);let o=[];for(let s=0;s<i.params.length;s+=1)o.push(_e(i.params[s],{allowGenerics:!0}));return{typeParameters:i.generic_type_params,parameters:o}}async function Zo(n,e,t,r){let i=await ii(n,e,t,r);if(!i)throw new Error(`Could not find entry function ABI for '${n}::${e}::${t}'`);if(!i.is_entry)throw new Error(`'${n}::${e}::${t}' is not an entry function`);let o=Jo(i),s=[];for(let a=o;a<i.params.length;a+=1)s.push(_e(i.params[a],{allowGenerics:!0}));return{signers:o,typeParameters:i.generic_type_params,parameters:s}}async function Yo(n,e,t,r){let i=await ii(n,e,t,r);if(!i)throw new Error(`Could not find view function ABI for '${n}::${e}::${t}'`);if(!i.is_view)throw new Error(`'${n}::${e}::${t}' is not an view function`);let o=[];for(let a=0;a<i.params.length;a+=1)o.push(_e(i.params[a],{allowGenerics:!0}));let s=[];for(let a=0;a<i.return.length;a+=1)s.push(_e(i.return[a],{allowGenerics:!0}));return{typeParameters:i.generic_type_params,parameters:o,returnTypes:s}}function oi(n,e,t,r,i,o){let s;if("exposed_functions"in e){let a=e.exposed_functions.find(c=>c.name===n);if(!a)throw new Error(`Could not find function ABI for '${e.address}::${e.name}::${n}'`);if(r>=a.params.length)throw new Error(`Too many arguments for '${n}', expected ${a.params.length}`);s=_e(a.params[r],{allowGenerics:!0})}else{if(r>=e.parameters.length)throw new Error(`Too many arguments for '${n}', expected ${e.parameters.length}`);s=e.parameters[r]}return _t(t,s,r,i,"exposed_functions"in e?e:void 0,o)}function _t(n,e,t,r,i,o){return jo(n)?(ri(e,n,t),n):Qa(n,e,t,r,i,o)}function Qa(n,e,t,r,i,o){if(e.isBool()){if(qo(n))return new H(n);if(nt(n)){if(n==="true")return new H(!0);if(n==="false")return new H(!1)}U("boolean",t)}if(e.isAddress()){if(nt(n))return u.fromString(n);if(n&&typeof n=="object"&&"data"in n&&n.data instanceof Uint8Array)return new u(n.data);U("string | AccountAddress",t)}if(e.isU8()){let s=dr(n);if(s!==void 0)return new Se(s);U("number | string",t)}if(e.isU16()){let s=dr(n);if(s!==void 0)return new zt(s);U("number | string",t)}if(e.isU32()){let s=dr(n);if(s!==void 0)return new Dt(s);U("number | string",t)}if(e.isU64()){if(pr(n))return new fe(BigInt(n));U("bigint | number | string",t)}if(e.isU128()){if(pr(n))return new Rt(BigInt(n));U("bigint | number | string",t)}if(e.isU256()){if(pr(n))return new Ot(BigInt(n));U("bigint | number | string",t)}if(e.isGeneric()){let s=e.value;if(s<0||s>=r.length)throw new Error(`Generic argument ${e.toString()} is invalid for argument ${t}`);return _t(n,r[s],t,r,i)}if(e.isVector()){if(e.value.isU8()){if(nt(n))return K.U8(Wa.encode(n));if(n instanceof Uint8Array)return K.U8(n);if(n instanceof ArrayBuffer)return K.U8(new Uint8Array(n))}if(nt(n)&&n.startsWith("["))return _t(JSON.parse(n),e,t,r);if(Array.isArray(n))return new K(n.map(s=>_t(s,e.value,t,r,i)));throw new Error(`Type mismatch for argument ${t}, type '${e.toString()}'`)}if(e.isStruct()){if(e.isString()){if(nt(n))return new z(n);U("string",t)}if(e.isObject()){if(nt(n))return u.fromString(n);if(n&&typeof n=="object"&&"data"in n&&n.data instanceof Uint8Array)return new u(n.data);U("string | AccountAddress",t)}if(e.isDelegationKey()||e.isRateLimiter()){if(n instanceof Uint8Array)return new Ft(n);U("Uint8Array",t)}if(e.isOption()){if(Wo(n)){let a=e.value.typeArgs[0];return a instanceof V?new te(null):a instanceof O?new te(null):a instanceof oe?new te(null):a instanceof qe?new te(null):a instanceof We?new te(null):a instanceof W?new te(null):a instanceof je?new te(null):a instanceof Qe?new te(null):new te(null)}return new te(_t(n,e.value.typeArgs[0],t,r,i))}if(i?.structs.find(a=>a.name===e.value.name.identifier)?.fields.length===0&&n instanceof Uint8Array)return new Ft(n);if(n instanceof Uint8Array&&o?.allowUnknownStructs)return console.warn(`Unsupported struct input type for argument ${t}. Continuing since 'allowUnknownStructs' is enabled.`),new Ft(n);throw new Error(`Unsupported struct input type for argument ${t}, type '${e.toString()}'`)}throw new Error(`Type mismatch for argument ${t}, type '${e.toString()}'`)}function ri(n,e,t){if(n.isBool()){if(Qr(e))return;U("Bool",t)}if(n.isAddress()){if(lr(e))return;U("AccountAddress",t)}if(n.isU8()){if(Zr(e))return;U("U8",t)}if(n.isU16()){if(Yr(e))return;U("U16",t)}if(n.isU32()){if(Xr(e))return;U("U32",t)}if(n.isU64()){if(ei(e))return;U("U64",t)}if(n.isU128()){if(ti(e))return;U("U128",t)}if(n.isU256()){if(ni(e))return;U("U256",t)}if(n.isVector()){if(e instanceof K){e.values.length>0&&ri(n.value,e.values[0],t);return}U("MoveVector",t)}if(n instanceof f){if(n.isString()){if(Jr(e))return;U("MoveString",t)}if(n.isObject()){if(lr(e))return;U("AccountAddress",t)}if(n.isOption()){if(e instanceof te){e.value!==void 0&&ri(n.value.typeArgs[0],e.value,t);return}U("MoveOption",t)}}throw new Error(`Type mismatch for argument ${t}, expected '${n.toString()}'`)}async function mr(n){if(Qo(n))return Xa(n);let{moduleAddress:e,moduleName:t,functionName:r}=ce(n.function),i=await ns({key:"entry-function",moduleAddress:e,moduleName:t,functionName:r,aptosConfig:n.aptosConfig,abi:n.abi,fetch:Zo});return Za({...n,abi:i})}function Za(n){let e=n.abi,{moduleAddress:t,moduleName:r,functionName:i}=ce(n.function),o=gr(n.typeArguments);if(o.length!==e.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${e.typeParameters.length}, received ${o.length}`);let s=n.functionArguments.map((c,d)=>oi(n.function,e,c,d,o));if(s.length!==e.parameters.length)throw new Error(`Too few arguments for '${t}::${r}::${i}', expected ${e.parameters.length} but got ${s.length}`);let a=Je.build(`${t}::${r}`,i,o,s);if("multisigAddress"in n){let c=u.from(n.multisigAddress);return new Zt(new An(c,new hn(a)))}return new Jt(a)}async function Xo(n){let{moduleAddress:e,moduleName:t,functionName:r}=ce(n.function),i=await ns({key:"view-function",moduleAddress:e,moduleName:t,functionName:r,aptosConfig:n.aptosConfig,abi:n.abi,fetch:Yo});return Ya({abi:i,...n})}function Ya(n){let e=n.abi,{moduleAddress:t,moduleName:r,functionName:i}=ce(n.function),o=gr(n.typeArguments);if(o.length!==e.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${e.typeParameters.length}, received ${o.length}`);let s=n?.functionArguments?.map((a,c)=>oi(n.function,e,a,c,o))??[];if(s.length!==e.parameters.length)throw new Error(`Too few arguments for '${t}::${r}::${i}', expected ${e.parameters.length} but got ${s.length}`);return Je.build(`${t}::${r}`,i,o,s)}function Xa(n){return new Qt(new Yt(m.fromHexInput(n.bytecode).toUint8Array(),gr(n.typeArguments),n.functionArguments))}async function ec(n){let{aptosConfig:e,sender:t,payload:r,options:i,feePayerAddress:o}=n;if(i?.replayProtectionNonce!==void 0&&i?.accountSequenceNumber!==void 0)throw new Error("Cannot specify both replayProtectionNonce and accountSequenceNumber in options.");let s=async()=>zr[e.network]?{chainId:zr[e.network]}:{chainId:(await qn({aptosConfig:e})).chain_id},a=async()=>i?.gasUnitPrice?{gasEstimate:i.gasUnitPrice}:{gasEstimate:(await jn({aptosConfig:e})).gas_estimate},c=async()=>{let X=async()=>i?.accountSequenceNumber!==void 0?i.accountSequenceNumber:i?.replayProtectionNonce!==void 0?0xdeadbeefn:(await Wn({aptosConfig:e,accountAddress:t})).sequence_number;if(o&&u.from(o).equals(u.ZERO))try{return await X()}catch{return 0}else return X()},[{chainId:d},{gasEstimate:l},g]=await Promise.all([s(),a(),c()]),{maxGasAmount:p,gasUnitPrice:y,expireTimestamp:h,replayProtectionNonce:k}={maxGasAmount:i?.maxGasAmount?BigInt(i.maxGasAmount):BigInt(e.getDefaultMaxGasAmount()),gasUnitPrice:i?.gasUnitPrice??BigInt(l),expireTimestamp:i?.expireTimestamp??BigInt(Math.floor(Date.now()/1e3)+e.getDefaultTxnExpirySecFromNow()),replayProtectionNonce:i?.replayProtectionNonce?BigInt(i.replayProtectionNonce):void 0},M=r;return k!==void 0&&(M=tc(r,k)),new he(u.from(t),BigInt(g),M,BigInt(p),BigInt(y),BigInt(h),new Ln(d))}function tc(n,e){if(n instanceof Qt)return new St(new bn(n.script),new Pt(void 0,e));if(n instanceof Jt)return new St(new en(n.entryFunction),new Pt(void 0,e));if(n instanceof Zt){let t=n.multiSig.transaction_payload,r;if(t===void 0||t?.transaction_payload===void 0)r=new wn;else if(t.transaction_payload instanceof Je)r=new en(t.transaction_payload);else throw new Error("Scripts are not supported in multi-sig transactions.");return new St(r,new Pt(n.multiSig.multisig_address,e))}else throw new Error(`Unsupported payload type: ${n}`)}async function si(n){let{aptosConfig:e,sender:t,payload:r,options:i,feePayerAddress:o}=n,s=await ec({aptosConfig:e,sender:t,payload:r,options:i,feePayerAddress:o});if("secondarySignerAddresses"in n){let a=n.secondarySignerAddresses?.map(c=>u.from(c))??[];return new or(s,a,n.feePayerAddress?u.from(n.feePayerAddress):void 0)}return new ir(s,n.feePayerAddress?u.from(n.feePayerAddress):void 0)}function es(n){let{signerPublicKey:e,transaction:t,secondarySignersPublicKeys:r,feePayerPublicKey:i}=n,o=an(e);if(t.feePayerAddress){let a=new xt(t.rawTransaction,t.secondarySignerAddresses??[],t.feePayerAddress),c=[];t.secondarySignerAddresses&&(r?c=r.map(g=>an(g)):c=Array.from({length:t.secondarySignerAddresses.length},()=>an(void 0)));let d=an(i),l=new vt(o,t.secondarySignerAddresses??[],c,{address:t.feePayerAddress,authenticator:d});return new Ye(a.raw_txn,l).bcsToBytes()}if(t.secondarySignerAddresses){let a=new Kt(t.rawTransaction,t.secondarySignerAddresses),c=[];r?c=r.map(l=>an(l)):c=Array.from({length:t.secondarySignerAddresses.length},()=>an(void 0));let d=new Et(o,t.secondarySignerAddresses,c);return new Ye(a.raw_txn,d).bcsToBytes()}let s;if(o instanceof Ee)s=new It(o.public_key,o.signature);else if(o instanceof ie||o instanceof De)s=new ct(o);else if(o instanceof jt)s=new ct(o);else throw new Error("Invalid public key");return new Ye(t.rawTransaction,s).bcsToBytes()}function an(n){if(!n)return new jt;let t=E.isInstance(n)||G.isInstance(n)||Ke.isInstance(n)?new x(n):n,r=new v(new Uint8Array(64));if(b.isInstance(t))return new Ee(t,r);if(x.isInstance(t))return E.isInstance(t.publicKey)?new ie(t,new R(re.getSimulationSignature())):new ie(t,new R(r));if(B.isInstance(t))return new De(t,new Ae({signatures:t.publicKeys.map(i=>E.isInstance(i.publicKey)||G.isInstance(i.publicKey)?new R(re.getSimulationSignature()):new R(r)),bitmap:t.createBitmap({bits:Array(t.publicKeys.length).fill(0).map((i,o)=>o)})}));throw new Error("Unsupported PublicKey used for simulations")}function ai(n){let{transaction:e,feePayerAuthenticator:t,additionalSignersAuthenticators:r}=n,i=Wi(q,n.senderAuthenticator),o;if(e.feePayerAddress){if(!t)throw new Error("Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction");o=new vt(i,e.secondarySignerAddresses??[],r??[],{address:e.feePayerAddress,authenticator:t})}else if(e.secondarySignerAddresses){if(!r)throw new Error("Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction");o=new Et(i,e.secondarySignerAddresses,r)}else i instanceof Ee?o=new It(i.public_key,i.signature):i instanceof $e?o=new tn(i.public_key,i.signature):o=new ct(i);return new Ye(e.rawTransaction,o).bcsToBytes()}function ts(n){let e=Ja.create();for(let t of n)e.update(t);return e.digest()}var nc=ts(["APTOS::Transaction"]);function Zm(n){let e=ai(n);return new m(ts([nc,new Uint8Array([0]),e])).toString()}async function ns({key:n,moduleAddress:e,moduleName:t,functionName:r,aptosConfig:i,abi:o,fetch:s}){return o!==void 0?o:Ht(async()=>s(e,t,r,i),`${n}-${i.network}-${e}-${t}-${r}`,1e3*60*5)()}async function A(n){let e=await ic(n);return oc(n,e)}async function ic(n){let{aptosConfig:e,data:t}=n,r,i;return"bytecode"in t?i=await mr(t):"multisigAddress"in t?(r={aptosConfig:e,multisigAddress:t.multisigAddress,function:t.function,functionArguments:t.functionArguments,typeArguments:t.typeArguments,abi:t.abi},i=await mr(r)):(r={aptosConfig:e,function:t.function,functionArguments:t.functionArguments,typeArguments:t.typeArguments,abi:t.abi},i=await mr(r)),i}async function oc(n,e){let{aptosConfig:t,sender:r,options:i}=n,o;if(sc(n)&&(o=u.ZERO.toString()),ac(n)){let{secondarySignerAddresses:s}=n;return si({aptosConfig:t,sender:r,payload:e,options:i,secondarySignerAddresses:s,feePayerAddress:o})}return si({aptosConfig:t,sender:r,payload:e,options:i,feePayerAddress:o})}function sc(n){return n.withFeePayer===!0}function ac(n){return"secondarySignerAddresses"in n}function rs(n){let{transaction:e}=n;return ve(e)}function fr(n){let{signer:e,transaction:t}=n;return e.signTransactionWithAuthenticator(t)}function Ar(n){let{signer:e,transaction:t}=n;if(!t.feePayerAddress)throw new Error(`Transaction ${t} is not a Fee Payer transaction`);return t.feePayerAddress=e.accountAddress,fr({signer:e,transaction:t})}async function ci(n){let{aptosConfig:e,transaction:t,signerPublicKey:r,secondarySignersPublicKeys:i,feePayerPublicKey:o,options:s}=n,a=es({transaction:t,signerPublicKey:r,secondarySignersPublicKeys:i,feePayerPublicKey:o,options:s}),{data:c}=await Vt({aptosConfig:e,body:a,path:"transactions/simulate",params:{estimate_gas_unit_price:n.options?.estimateGasUnitPrice??!1,estimate_max_gas_amount:n.options?.estimateMaxGasAmount??!1,estimate_prioritized_gas_unit_price:n.options?.estimatePrioritizedGasUnitPrice??!1},originMethod:"simulateTransaction",contentType:"application/x.aptos.signed_transaction+bcs"});return c}async function Kn(n){let{aptosConfig:e,transactionSubmitter:t}=n,r=t===void 0?e.getTransactionSubmitter():t;if(r)return r.submitTransaction(n);let i=ai({...n});try{let{data:o}=await Vt({aptosConfig:e,body:i,path:"transactions",originMethod:"submitTransaction",contentType:"application/x.aptos.signed_transaction+bcs"});return o}catch(o){let s=Ye.deserialize(new F(i));throw s.authenticator.isSingleSender()&&s.authenticator.sender.isSingleKey()&&(s.authenticator.sender.public_key.publicKey instanceof E||s.authenticator.sender.public_key.publicKey instanceof G)&&await ye.fetchJWK({aptosConfig:e,publicKey:s.authenticator.sender.public_key.publicKey,kid:s.authenticator.sender.signature.signature.getJwkKid()}),o}}async function hr(n){let{aptosConfig:e,signer:t,feePayer:r,transaction:i,...o}=n;cr(t)&&await t.checkKeylessAccountValidity(e),cr(r)&&await r.checkKeylessAccountValidity(e);let s=n.feePayerAuthenticator||r&&Ar({signer:r,transaction:i}),a=fr({signer:t,transaction:i});return Kn({aptosConfig:e,transaction:i,senderAuthenticator:a,feePayerAuthenticator:s,...o})}async function is(n){let{aptosConfig:e,senderAuthenticator:t,feePayer:r,transaction:i,...o}=n;cr(r)&&await r.checkKeylessAccountValidity(e);let s=Ar({signer:r,transaction:i});return Kn({aptosConfig:e,transaction:i,senderAuthenticator:t,feePayerAuthenticator:s,...o})}var cc={typeParameters:[],parameters:[_.u8(),new _(_.u8())]};async function os(n){let{aptosConfig:e,account:t,metadataBytes:r,moduleBytecode:i,options:o}=n,s=i.map(a=>K.U8(a));return A({aptosConfig:e,sender:u.from(t),data:{function:"0x1::code::publish_package_txn",functionArguments:[K.U8(r),new K(s)],abi:cc},options:o})}async function cn(n){return Wn(n)}async function as(n){let{aptosConfig:e,accountAddress:t,options:r}=n;return Rr({aptosConfig:e,originMethod:"getModules",path:`accounts/${u.from(t).toString()}/modules`,params:{ledger_version:r?.ledgerVersion,limit:r?.limit??1e3}})}async function cs(n){let{aptosConfig:e,accountAddress:t,options:r}=n,{response:i,cursor:o}=await Or({aptosConfig:e,originMethod:"getModulesPage",path:`accounts/${u.from(t).toString()}/modules`,params:{ledger_version:r?.ledgerVersion,cursor:r?.cursor,limit:r?.limit??100}});return{modules:i.data,cursor:o}}async function yr(n){return Io(n)}async function pi(n){let{aptosConfig:e,accountAddress:t,options:r}=n;return to({aptosConfig:e,originMethod:"getTransactions",path:`accounts/${u.from(t).toString()}/transactions`,params:{start:r?.offset,limit:r?.limit}})}async function li(n){let{aptosConfig:e,accountAddress:t,options:r}=n;return Rr({aptosConfig:e,originMethod:"getResources",path:`accounts/${u.from(t).toString()}/resources`,params:{ledger_version:r?.ledgerVersion,limit:r?.limit??999}})}async function us(n){let{aptosConfig:e,accountAddress:t,options:r}=n,{response:i,cursor:o}=await Or({aptosConfig:e,originMethod:"getResourcesPage",path:`accounts/${u.from(t).toString()}/resources`,params:{ledger_version:r?.ledgerVersion,cursor:r?.cursor,limit:r?.limit??100}});return{resources:i.data,cursor:o}}async function gi(n){let{aptosConfig:e,accountAddress:t,resourceType:r,options:i}=n,{data:o}=await st({aptosConfig:e,originMethod:"getResource",path:`accounts/${u.from(t).toString()}/resource/${r}`,params:{ledger_version:i?.ledgerVersion}});return o.data}async function un(n){let{aptosConfig:e,authenticationKey:t,options:r}=n,i=await gi({aptosConfig:e,accountAddress:"0x1",resourceType:"0x1::account::OriginatingAddress",options:r}),{address_map:{handle:o}}=i,s=u.from(t);try{let a=await Eo({aptosConfig:e,handle:o,data:{key:s.toString(),key_type:"address",value_type:"address"},options:r});return u.from(a)}catch(a){if(a instanceof eo&&a.data.error_code==="table_item_not_found")return s;throw a}}async function ds(n){let{aptosConfig:e,accountAddress:t}=n,i={owner_address:{_eq:u.from(t).toStringLong()},amount:{_gt:0}},s=await P({aptosConfig:e,query:{query:go,variables:{where_condition:i}},originMethod:"getAccountTokensCount"});return s.current_token_ownerships_v2_aggregate.aggregate?s.current_token_ownerships_v2_aggregate.aggregate.count:0}async function ps(n){let{aptosConfig:e,accountAddress:t,options:r}=n,o={owner_address:{_eq:u.from(t).toStringLong()},amount:{_gt:0}};r?.tokenStandard&&(o.token_standard={_eq:r?.tokenStandard});let s={query:po,variables:{where_condition:o,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:s,originMethod:"getAccountOwnedTokens"})).current_token_ownerships_v2}async function ls(n){let{aptosConfig:e,accountAddress:t,collectionAddress:r,options:i}=n,o=u.from(t).toStringLong(),s=u.from(r).toStringLong(),a={owner_address:{_eq:o},current_token_data:{collection_id:{_eq:s}},amount:{_gt:0}};i?.tokenStandard&&(a.token_standard={_eq:i?.tokenStandard});let c={query:lo,variables:{where_condition:a,offset:i?.offset,limit:i?.limit,order_by:i?.orderBy}};return(await P({aptosConfig:e,query:c,originMethod:"getAccountOwnedTokensFromCollectionAddress"})).current_token_ownerships_v2}async function gs(n){let{aptosConfig:e,accountAddress:t,options:r}=n,o={owner_address:{_eq:u.from(t).toStringLong()}};r?.tokenStandard&&(o.current_collection={token_standard:{_eq:r?.tokenStandard}});let s={query:uo,variables:{where_condition:o,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:s,originMethod:"getAccountCollectionsWithOwnedTokens"})).current_collection_ownership_v2_view}async function ys(n){let{aptosConfig:e,accountAddress:t}=n,r=u.from(t).toStringLong(),o=await P({aptosConfig:e,query:{query:yo,variables:{address:r}},originMethod:"getAccountTransactionsCount"});return o.account_transactions_aggregate.aggregate?o.account_transactions_aggregate.aggregate.count:0}async function bA(n){let{aptosConfig:e,accountAddress:t,coinType:r,faMetadataAddress:i}=n,o=r,s;if(r!==void 0&&i!==void 0)s=u.from(i).toStringLong();else if(r!==void 0&&i===void 0)r===Be?s=u.A.toStringLong():s=Hn(u.A,r).toStringLong();else if(r===void 0&&i!==void 0){let l=u.from(i);s=l.toStringLong(),l===u.A&&(o=Be)}else throw new Error("Either coinType, fungibleAssetAddress, or both must be provided");let a=u.from(t).toStringLong(),c={asset_type:{_eq:s}};o!==void 0&&(c={asset_type:{_in:[o,s]}});let d=await yi({aptosConfig:e,accountAddress:a,options:{where:c}});return d[0]?d[0].amount:0}async function yi(n){let{aptosConfig:e,accountAddress:t,options:r}=n,i=u.from(t).toStringLong(),o={...r?.where,owner_address:{_eq:i}},s={query:co,variables:{where_condition:o,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:s,originMethod:"getAccountCoinsData"})).current_fungible_asset_balances}async function ms(n){let{aptosConfig:e,accountAddress:t}=n,r=u.from(t).toStringLong(),o=await P({aptosConfig:e,query:{query:ao,variables:{address:r}},originMethod:"getAccountCoinsCount"});if(!o.current_fungible_asset_balances_aggregate.aggregate)throw Error("Failed to get the count of account coins");return o.current_fungible_asset_balances_aggregate.aggregate.count}async function fs(n){let{aptosConfig:e,accountAddress:t,asset:r}=n,i=await st({aptosConfig:e,originMethod:"getBalance",path:`accounts/${t}/balance/${r}`,params:{accountAddress:t.toString(),asset:r instanceof Uint8Array?u.from(r).toString():r.toString()}});return parseInt(i.data.toString(),10)}async function mi(n){let{aptosConfig:e,accountAddress:t,options:r}=n,o={owner_address:{_eq:u.from(t).toStringLong()}},s={query:$n,variables:{where_condition:o,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:s,originMethod:"getAccountOwnedObjects"})).current_objects}async function As(n){let{aptosConfig:e,privateKey:t,options:r}=n,i=r?.throwIfNoAccountFound??!1,o=await br({aptosConfig:e,privateKey:t});if(o.length===0){if(i)throw new Error("No existing account found for private key.");return Xe.fromPrivateKey({privateKey:t})}return o[0]}async function wA(n){let{aptosConfig:e,authKey:t}=n,r=await un({aptosConfig:e,authenticationKey:t.derivedAddress()});return hs({aptosConfig:e,accountAddress:r})}async function hs(n){let{aptosConfig:e,accountAddress:t,options:r}=n;try{let[i,o]=await Promise.all([li({aptosConfig:e,accountAddress:t}),mi({aptosConfig:e,accountAddress:t,options:{limit:1}})]),s=i.find(c=>c.type==="0x1::account::Account");if(!s&&o.length===0)return!1;if(!r?.withAuthKey)return!0;let a;return s?a=s.data.authentication_key:a=t.toStringLong(),a===r.withAuthKey.toString()}catch(i){throw new Error(`Error while checking if account exists at ${t.toString()}: ${i}`)}}var uc={typeParameters:[],parameters:[new oe,_.u8(),new oe,_.u8(),_.u8(),_.u8()]};async function bs(n){let{aptosConfig:e,fromAccount:t,options:r}=n;if("toNewPrivateKey"in n)return ui({aptosConfig:e,fromAccount:t,toNewPrivateKey:n.toNewPrivateKey,options:r});if("toAccount"in n)return n.toAccount instanceof Z?ui({aptosConfig:e,fromAccount:t,toNewPrivateKey:n.toAccount.privateKey,options:r}):ui({aptosConfig:e,fromAccount:t,toAccount:n.toAccount,options:r});throw new Error("Invalid arguments")}async function ui(n){let{aptosConfig:e,fromAccount:t,options:r}=n,i=await cn({aptosConfig:e,accountAddress:t.accountAddress}),o;"toNewPrivateKey"in n?o=Xe.fromPrivateKey({privateKey:n.toNewPrivateKey,legacy:!0}):o=n.toAccount;let a=new oo({sequenceNumber:BigInt(i.sequence_number),originator:t.accountAddress,currentAuthKey:u.from(i.authentication_key),newPublicKey:o.publicKey}).bcsToBytes(),c=t.sign(a),d=o.sign(a);return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::account::rotate_authentication_key",functionArguments:[new Se(t.signingScheme),K.U8(t.publicKey.toUint8Array()),new Se(o.signingScheme),K.U8(o.publicKey.toUint8Array()),K.U8(c.toUint8Array()),K.U8(d.toUint8Array())],abi:uc},options:r})}var dc={typeParameters:[],parameters:[new oe,_.u8()]};async function ws(n){let{aptosConfig:e,fromAccount:t,toNewPublicKey:r,options:i}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::account::rotate_authentication_key_from_public_key",functionArguments:[new Se(ss(r)),K.U8(di(r).toUint8Array())],abi:dc},options:i})}async function wr(n){let{aptosConfig:e,publicKey:t,options:r}=n,i=r?.noMultiKey??!1;if(i&&t instanceof xe)throw new Error("Multi-key accounts are not supported when noMultiKey is true.");let o=[t];t instanceof x&&t.publicKey instanceof b?o.push(t.publicKey):t instanceof b&&o.push(new x(t));let[s,a]=await Promise.all([Promise.all(o.map(async g=>{let p=await mc({aptosConfig:e,publicKey:g});if(p)return{...p,publicKey:g}})),!(t instanceof xe)&&!i?lc({aptosConfig:e,publicKey:t,options:r}):Promise.resolve([])]),c=[];for(let g of s)g&&c.push(g);o.push(...a);let d=new Map(o.map(g=>[g.authKey().toString(),g])),l=await gc({aptosConfig:e,authKeys:o.map(g=>g.authKey()),options:r});for(let g of l){if(c.find(y=>y.accountAddress===g.accountAddress))continue;let p=d.get(g.authKey.toString());if(!p)throw new Error(`No publicKey found for authentication key ${g.authKey}. This should never happen.`);c.push({accountAddress:g.accountAddress,publicKey:p,lastTransactionVersion:g.lastTransactionVersion})}return c.sort((g,p)=>p.lastTransactionVersion-g.lastTransactionVersion)}async function fi(n){let{aptosConfig:e,signer:t,options:r}=n;if(t instanceof L||t instanceof He)return br({aptosConfig:e,privateKey:t,options:r});if(t instanceof Z||t instanceof se)return br({aptosConfig:e,privateKey:t.privateKey,options:r});if(t instanceof be||t instanceof Ce)return pc({aptosConfig:e,keylessAccount:t,options:r});if(t instanceof tt&&t.signers.length===1)return fi({aptosConfig:e,signer:t.signers[0],options:r});if(t instanceof Tn&&t.signers.length===1)return br({aptosConfig:e,privateKey:t.signers[0],options:r});throw new Error("Unknown signer type")}async function pc(n){let{aptosConfig:e,keylessAccount:t,options:r}=n,i=await wr({aptosConfig:e,publicKey:t.getAnyPublicKey(),options:r}),o={proof:t.proofOrPromise,jwt:t.jwt,ephemeralKeyPair:t.ephemeralKeyPair,pepper:t.pepper,verificationKeyHash:t.verificationKeyHash},s=[];for(let{accountAddress:a,publicKey:c}of i)if(c instanceof xe){if(c.getSignaturesRequired()>1)continue;if(c instanceof J)throw new Error("Keyless authentication cannot be used for multi-ed25519 accounts. This should never happen.");c instanceof B&&s.push(new tt({multiKey:c,signers:[t],address:a}))}else t instanceof Ce?s.push(Ce.create({...o,address:a,jwkAddress:t.publicKey.jwkAddress})):s.push(be.create({...o,address:a}));return s}async function br(n){let{aptosConfig:e,privateKey:t,options:r}=n,i=Xe.fromPrivateKey({privateKey:t,legacy:!1}),o=await wr({aptosConfig:e,publicKey:new x(t.publicKey()),options:r}),s=[];for(let{accountAddress:a,publicKey:c}of o)if(c instanceof xe){if(c.getSignaturesRequired()>1)continue;c instanceof J?s.push(new Tn({publicKey:c,signers:[t],address:a})):c instanceof B&&s.push(new tt({multiKey:c,signers:[i],address:a}))}else{let d=c instanceof b;s.push(Xe.fromPrivateKey({privateKey:t,address:a,legacy:d}))}return s}async function lc(n){let{aptosConfig:e,publicKey:t,options:r}=n;if(t instanceof xe)throw new Error("Public key is a multi-key.");let i=r?.includeUnverified??!1,o=t instanceof x?t:new x(t),s=o.publicKey,a=ki(o.variant),c={public_key:{_eq:s.toString()},public_key_type:{_eq:a},account_public_key:{_is_null:!1},...i?{}:{is_public_key_used:{_eq:!0}}},d={query:mo,variables:{where_condition:c}},{public_key_auth_keys:l}=await P({aptosConfig:e,query:d,originMethod:"getMultiKeysForPublicKey"});return l.filter(p=>p.account_public_key!==null).map(p=>{switch(p.signature_type){case"multi_ed25519_signature":return J.deserializeWithoutLength(F.fromHex(p.account_public_key));case"multi_key_signature":return B.deserialize(F.fromHex(p.account_public_key));default:throw new Error(`Unknown multi-signature type: ${p.signature_type}`)}})}async function gc(n){let{aptosConfig:e,authKeys:t,options:r}=n,i=r?.includeUnverified??!1;if(t.length===0)throw new Error("No authentication keys provided");let o={auth_key:{_in:t.map(c=>c.toString())},...i?{}:{is_auth_key_used:{_eq:!0}}},s={query:so,variables:{where_condition:o,order_by:[{last_transaction_version:"desc"}]}},{auth_key_account_addresses:a}=await P({aptosConfig:e,query:s,originMethod:"getAccountAddressesForAuthKeys"});return a.map(c=>({authKey:new ne({data:c.auth_key}),accountAddress:new u(m.hexInputToUint8Array(c.account_address)),lastTransactionVersion:Number(c.last_transaction_version)}))}async function yc(n){let{aptosConfig:e,accountAddress:t}=n,r=await pi({aptosConfig:e,accountAddress:t,options:{limit:1}});return r.length===0?0:Number(r[0].version)}async function mc(n){let{aptosConfig:e,publicKey:t}=n,r=t.authKey().derivedAddress(),[i,o]=await Promise.all([yc({aptosConfig:e,accountAddress:r}),hs({aptosConfig:e,accountAddress:r,options:{withAuthKey:t.authKey()}})]);if(o)return{accountAddress:r,lastTransactionVersion:i}}async function ae(n){let{aptosConfig:e,payload:t,options:r}=n,i=await Xo({...t,aptosConfig:e}),o=new ee;i.serialize(o);let s=o.toUint8Array(),{data:a}=await Vt({aptosConfig:e,path:"view",originMethod:"view",contentType:"application/x.aptos.view_function+bcs",params:{ledger_version:r?.ledgerVersion},body:s});return a}async function Ts(n){let{aptosConfig:e,payload:t,options:r}=n,{data:i}=await Vt({aptosConfig:e,originMethod:"viewJson",path:"view",params:{ledger_version:r?.ledgerVersion},body:{function:t.function,type_arguments:t.typeArguments??[],arguments:t.functionArguments??[]}});return i}async function Ss(n){let{aptosConfig:e,sender:t,authenticationFunction:r,options:i}=n,{moduleAddress:o,moduleName:s,functionName:a}=ce(r);return A({aptosConfig:e,sender:t,data:{function:"0x1::account_abstraction::add_authentication_function",typeArguments:[],functionArguments:[o,s,a],abi:{typeParameters:[],parameters:[new O,new f(I()),new f(I())]}},options:i})}async function Ps(n){let{aptosConfig:e,sender:t,authenticationFunction:r,options:i}=n,{moduleAddress:o,moduleName:s,functionName:a}=ce(r);return A({aptosConfig:e,sender:t,data:{function:"0x1::account_abstraction::remove_authentication_function",typeArguments:[],functionArguments:[o,s,a],abi:{typeParameters:[],parameters:[new O,new f(I()),new f(I())]}},options:i})}async function Ks(n){let{aptosConfig:e,sender:t,options:r}=n;return A({aptosConfig:e,sender:t,data:{function:"0x1::account_abstraction::remove_authenticator",typeArguments:[],functionArguments:[],abi:{typeParameters:[],parameters:[]}},options:r})}var Ut=class{constructor(e){this.config=e;this.isAccountAbstractionEnabled=async e=>{let t=await this.getAuthenticationFunction(e),{moduleAddress:r,moduleName:i,functionName:o}=ce(e.authenticationFunction);return t?.some(s=>u.fromString(r).equals(s.moduleAddress)&&i===s.moduleName&&o===s.functionName)??!1};this.enableAccountAbstractionTransaction=this.addAuthenticationFunctionTransaction;this.disableAccountAbstractionTransaction=async e=>{let{accountAddress:t,authenticationFunction:r,options:i}=e;return r?this.removeAuthenticationFunctionTransaction({accountAddress:t,authenticationFunction:r,options:i}):this.removeDispatchableAuthenticatorTransaction({accountAddress:t,options:i})}}async addAuthenticationFunctionTransaction(e){let{accountAddress:t,authenticationFunction:r,options:i}=e;return Ss({aptosConfig:this.config,authenticationFunction:r,sender:t,options:i})}async removeAuthenticationFunctionTransaction(e){let{accountAddress:t,authenticationFunction:r,options:i}=e;return Ps({aptosConfig:this.config,sender:t,authenticationFunction:r,options:i})}async removeDispatchableAuthenticatorTransaction(e){let{accountAddress:t,options:r}=e;return Ks({aptosConfig:this.config,sender:t,options:r})}async getAuthenticationFunction(e){let{accountAddress:t}=e,[{vec:r}]=await ae({aptosConfig:this.config,payload:{function:"0x1::account_abstraction::dispatchable_authenticator",functionArguments:[u.from(t)],abi:{typeParameters:[],parameters:[new O],returnTypes:[]}}});if(r.length!==0)return r[0].map(i=>({moduleAddress:u.fromString(i.module_address),moduleName:i.module_name,functionName:i.function_name}))}};var xn=class{constructor(e){this.config=e;this.abstraction=new Ut(e)}async getAccountInfo(e){return cn({aptosConfig:this.config,...e})}async getAccountModules(e){return as({aptosConfig:this.config,...e})}async getAccountModulesPage(e){return cs({aptosConfig:this.config,...e})}async getAccountModule(e){return yr({aptosConfig:this.config,...e})}async getAccountTransactions(e){return pi({aptosConfig:this.config,...e})}async getAccountResources(e){return li({aptosConfig:this.config,...e})}async getAccountResourcesPage(e){return us({aptosConfig:this.config,...e})}async getAccountResource(e){return gi({aptosConfig:this.config,...e})}async lookupOriginalAccountAddress(e){return un({aptosConfig:this.config,...e})}async getAccountTokensCount(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_transactions_processor"}),ds({aptosConfig:this.config,...e})}async getAccountOwnedTokens(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),ps({aptosConfig:this.config,...e})}async getAccountOwnedTokensFromCollectionAddress(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),ls({aptosConfig:this.config,...e})}async getAccountCollectionsWithOwnedTokens(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),gs({aptosConfig:this.config,...e})}async getAccountTransactionsCount(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_transactions_processor"}),ys({aptosConfig:this.config,...e})}async getAccountCoinsData(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"fungible_asset_processor"}),yi({aptosConfig:this.config,...e})}async getAccountCoinsCount(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"fungible_asset_processor"}),ms({aptosConfig:this.config,...e})}async getAccountAPTAmount(e){return this.getAccountCoinAmount({coinType:Be,faMetadataAddress:Hi,...e})}async getAccountCoinAmount(e){let{accountAddress:t,coinType:r,faMetadataAddress:i}=e,o=r;r===void 0&&i!==void 0&&(o=await Ht(async()=>{try{let c=(await ae({aptosConfig:this.config,payload:{function:"0x1::coin::paired_coin",functionArguments:[i]}}))[0];if(c.vec.length>0&&Xi(c.vec[0]))return Yi(c.vec[0])}catch{}},`coin-mapping-${i.toString()}`,1e3*60*5)());let s;if(r!==void 0&&i!==void 0)s=u.from(i).toStringLong();else if(r!==void 0&&i===void 0)r===Be?s=u.A.toStringLong():s=Hn(u.A,r).toStringLong();else if(r===void 0&&i!==void 0){let c=u.from(i);s=c.toStringLong(),c===u.A&&(o=Be)}else throw new Error("Either coinType, faMetadataAddress, or both must be provided");if(o!==void 0){let[c]=await ae({aptosConfig:this.config,payload:{function:"0x1::coin::balance",typeArguments:[o],functionArguments:[t]}});return parseInt(c,10)}let[a]=await ae({aptosConfig:this.config,payload:{function:"0x1::primary_fungible_store::balance",typeArguments:["0x1::object::ObjectCore"],functionArguments:[t,s]}});return parseInt(a,10)}async getBalance(e){return fs({aptosConfig:this.config,...e})}async getAccountOwnedObjects(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"default_processor"}),mi({aptosConfig:this.config,...e})}async deriveAccountFromPrivateKey(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_restoration_processor"}),await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"objects_processor"}),As({aptosConfig:this.config,...e})}async deriveOwnedAccountsFromSigner(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_restoration_processor"}),await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"objects_processor"}),fi({aptosConfig:this.config,...e})}async getAccountsForPublicKey(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"account_restoration_processor"}),await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"objects_processor"}),wr({aptosConfig:this.config,...e})}};var fc={typeParameters:[{constraints:[]}],parameters:[new O,new W]};async function xs(n){let{aptosConfig:e,sender:t,recipient:r,amount:i,coinType:o,options:s}=n;return A({aptosConfig:e,sender:t,data:{function:"0x1::aptos_account::transfer_coins",typeArguments:[o??Be],functionArguments:[r,i],abi:fc},options:s})}var En=class{constructor(e){this.config=e}async transferCoinTransaction(e){return xs({aptosConfig:this.config,...e})}};var dt={BOOLEAN:"bool",U8:"u8",U16:"u16",U32:"u32",U64:"u64",U128:"u128",U256:"u256",ADDRESS:"address",STRING:"0x1::string::String",ARRAY:"vector<u8>"},we="0x4::token::Token";async function Is(n){let{aptosConfig:e,digitalAssetAddress:t}=n,r={token_data_id:{_eq:u.from(t).toStringLong()}};return(await P({aptosConfig:e,query:{query:So,variables:{where_condition:r}},originMethod:"getDigitalAssetData"})).current_token_datas_v2[0]}async function Es(n){let{aptosConfig:e,digitalAssetAddress:t}=n,r={token_data_id:{_eq:u.from(t).toStringLong()},amount:{_gt:0}};return(await P({aptosConfig:e,query:{query:Br,variables:{where_condition:r}},originMethod:"getCurrentDigitalAssetOwnership"})).current_token_ownerships_v2[0]}async function vs(n){let{aptosConfig:e,ownerAddress:t,options:r}=n,i={owner_address:{_eq:u.from(t).toStringLong()},amount:{_gt:0}},o={query:Br,variables:{where_condition:i,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:o,originMethod:"getOwnedDigitalAssets"})).current_token_ownerships_v2}async function Cs(n){let{aptosConfig:e,digitalAssetAddress:t,options:r}=n,i={token_data_id:{_eq:u.from(t).toStringLong()}},o={query:To,variables:{where_condition:i,offset:r?.offset,limit:r?.limit,order_by:r?.orderBy}};return(await P({aptosConfig:e,query:o,originMethod:"getDigitalAssetActivity"})).token_activities_v2}var Ac={typeParameters:[],parameters:[new f(I()),new W,new f(I()),new f(I()),new V,new V,new V,new V,new V,new V,new V,new V,new V,new W,new W]};async function _s(n){let{aptosConfig:e,options:t,creator:r}=n;return A({aptosConfig:e,sender:r.accountAddress,data:{function:"0x4::aptos_token::create_collection",functionArguments:[new z(n.description),new fe(n.maxSupply??Ci),new z(n.name),new z(n.uri),new H(n.mutableDescription??!0),new H(n.mutableRoyalty??!0),new H(n.mutableURI??!0),new H(n.mutableTokenDescription??!0),new H(n.mutableTokenName??!0),new H(n.mutableTokenProperties??!0),new H(n.mutableTokenURI??!0),new H(n.tokensBurnableByCreator??!0),new H(n.tokensFreezableByCreator??!0),new fe(n.royaltyNumerator??0),new fe(n.royaltyDenominator??1)],abi:Ac},options:t})}async function dn(n){let{aptosConfig:e,options:t}=n,r=t?.where;t?.tokenStandard&&(r.token_standard={_eq:t?.tokenStandard??"v2"});let i={query:fo,variables:{where_condition:r,offset:t?.offset,limit:t?.limit}};return(await P({aptosConfig:e,query:i,originMethod:"getCollectionData"})).current_collections_v2[0]}async function Us(n){let{aptosConfig:e,creatorAddress:t,collectionName:r,options:i}=n,o=u.from(t),s={collection_name:{_eq:r},creator_address:{_eq:o.toStringLong()}};return i?.tokenStandard&&(s.token_standard={_eq:i?.tokenStandard??"v2"}),dn({aptosConfig:e,options:{...i,where:s}})}async function ks(n){let{aptosConfig:e,creatorAddress:t,options:r}=n,o={creator_address:{_eq:u.from(t).toStringLong()}};return r?.tokenStandard&&(o.token_standard={_eq:r?.tokenStandard??"v2"}),dn({aptosConfig:e,options:{...r,where:o}})}async function Fs(n){let{aptosConfig:e,collectionId:t,options:r}=n,o={collection_id:{_eq:u.from(t).toStringLong()}};return r?.tokenStandard&&(o.token_standard={_eq:r?.tokenStandard??"v2"}),dn({aptosConfig:e,options:{...r,where:o}})}async function zs(n){let{creatorAddress:e,collectionName:t,options:r,aptosConfig:i}=n,o=u.from(e),s={collection_name:{_eq:t},creator_address:{_eq:o.toStringLong()}};return r?.tokenStandard&&(s.token_standard={_eq:r?.tokenStandard??"v2"}),(await dn({aptosConfig:i,options:{where:s}})).collection_id}var hc={typeParameters:[],parameters:[new f(I()),new f(I()),new f(I()),new f(I()),new _(new f(I())),new _(new f(I())),new _(_.u8())]};async function Ds(n){let{aptosConfig:e,options:t,creator:r,collection:i,description:o,name:s,uri:a,propertyKeys:c,propertyTypes:d,propertyValues:l}=n,g=d?.map(p=>dt[p]);return A({aptosConfig:e,sender:r.accountAddress,data:{function:"0x4::aptos_token::mint",functionArguments:[new z(i),new z(o),new z(s),new z(a),K.MoveString(c??[]),K.MoveString(g??[]),Qs(l??[],g??[])],abi:hc},options:t})}var bc={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0))),new O]};async function Rs(n){let{aptosConfig:e,sender:t,digitalAssetAddress:r,recipient:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::object::transfer",typeArguments:[o??we],functionArguments:[u.from(r),u.from(i)],abi:bc},options:s})}var wc={typeParameters:[],parameters:[new f(I()),new f(I()),new f(I()),new f(I()),new _(new f(I())),new _(new f(I())),new _(_.u8()),new O]};async function Os(n){let{aptosConfig:e,account:t,collection:r,description:i,name:o,uri:s,recipient:a,propertyKeys:c,propertyTypes:d,propertyValues:l,options:g}=n;if(c?.length!==l?.length)throw new Error("Property keys and property values counts do not match");if(d?.length!==l?.length)throw new Error("Property types and property values counts do not match");let p=d?.map(y=>dt[y]);return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::mint_soul_bound",functionArguments:[r,i,o,s,K.MoveString(c??[]),K.MoveString(p??[]),Qs(l??[],p??[]),a],abi:wc},options:g})}var Tc={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0)))]};async function Ns(n){let{aptosConfig:e,creator:t,digitalAssetAddress:r,digitalAssetType:i,options:o}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::burn",typeArguments:[i??we],functionArguments:[u.from(r)],abi:Tc},options:o})}var Sc={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0)))]};async function Gs(n){let{aptosConfig:e,creator:t,digitalAssetAddress:r,digitalAssetType:i,options:o}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::freeze_transfer",typeArguments:[i??we],functionArguments:[r],abi:Sc},options:o})}var Pc={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0)))]};async function Ms(n){let{aptosConfig:e,creator:t,digitalAssetAddress:r,digitalAssetType:i,options:o}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::unfreeze_transfer",typeArguments:[i??we],functionArguments:[r],abi:Pc},options:o})}var Kc={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0))),new f(I())]};async function Bs(n){let{aptosConfig:e,creator:t,description:r,digitalAssetAddress:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::set_description",typeArguments:[o??we],functionArguments:[u.from(i),new z(r)],abi:Kc},options:s})}var xc={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0))),new f(I())]};async function Vs(n){let{aptosConfig:e,creator:t,name:r,digitalAssetAddress:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::set_name",typeArguments:[o??we],functionArguments:[u.from(i),new z(r)],abi:xc},options:s})}var Ic={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0))),new f(I())]};async function Hs(n){let{aptosConfig:e,creator:t,uri:r,digitalAssetAddress:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::set_uri",typeArguments:[o??we],functionArguments:[u.from(i),new z(r)],abi:Ic},options:s})}var Ec={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0))),new f(I()),new f(I()),_.u8()]};async function Ls(n){let{aptosConfig:e,creator:t,propertyKey:r,propertyType:i,propertyValue:o,digitalAssetAddress:s,digitalAssetType:a,options:c}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::add_property",typeArguments:[a??we],functionArguments:[u.from(s),new z(r),new z(dt[i]),K.U8(Ai(o,dt[i]))],abi:Ec},options:c})}var vc={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0))),new f(I())]};async function $s(n){let{aptosConfig:e,creator:t,propertyKey:r,digitalAssetAddress:i,digitalAssetType:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::remove_property",typeArguments:[o??we],functionArguments:[u.from(i),new z(r)],abi:vc},options:s})}var Cc={typeParameters:[{constraints:["key"]}],parameters:[new f(le(new N(0))),new f(I()),new f(I()),_.u8()]};async function qs(n){let{aptosConfig:e,creator:t,propertyKey:r,propertyType:i,propertyValue:o,digitalAssetAddress:s,digitalAssetType:a,options:c}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::update_property",typeArguments:[a??we],functionArguments:[u.from(s),new z(r),new z(dt[i]),Ai(o,dt[i])],abi:Cc},options:c})}var _c={typeParameters:[{constraints:["key"]},{constraints:[]}],parameters:[new f(le(new N(0))),new f(I()),new N(1)]};async function Ws(n){let{aptosConfig:e,creator:t,propertyKey:r,propertyType:i,propertyValue:o,digitalAssetAddress:s,digitalAssetType:a,options:c}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::add_typed_property",typeArguments:[a??we,dt[i]],functionArguments:[u.from(s),new z(r),o],abi:_c},options:c})}var Uc={typeParameters:[{constraints:["key"]},{constraints:[]}],parameters:[new f(le(new N(0))),new f(I()),new N(1)]};async function js(n){let{aptosConfig:e,creator:t,propertyKey:r,propertyType:i,propertyValue:o,digitalAssetAddress:s,digitalAssetType:a,options:c}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x4::aptos_token::update_typed_property",typeArguments:[a??we,dt[i]],functionArguments:[u.from(s),new z(r),o],abi:Uc},options:c})}function Qs(n,e){let t=new Array;return e.forEach((r,i)=>{t.push(Ai(n[i],r))}),t}function Ai(n,e){let t=_e(e);return _t(n,t,0,[]).bcsToBytes()}var vn=class{constructor(e){this.config=e}async getCollectionData(e){await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"});let{creatorAddress:t,collectionName:r,options:i}=e,o=u.from(t),s={collection_name:{_eq:r},creator_address:{_eq:o.toStringLong()}};return i?.tokenStandard&&(s.token_standard={_eq:i?.tokenStandard??"v2"}),dn({aptosConfig:this.config,options:{where:s}})}async getCollectionDataByCreatorAddressAndCollectionName(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Us({aptosConfig:this.config,...e})}async getCollectionDataByCreatorAddress(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),ks({aptosConfig:this.config,...e})}async getCollectionDataByCollectionId(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Fs({aptosConfig:this.config,...e})}async getCollectionId(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),zs({aptosConfig:this.config,...e})}async getDigitalAssetData(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Is({aptosConfig:this.config,...e})}async getCurrentDigitalAssetOwnership(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Es({aptosConfig:this.config,...e})}async getOwnedDigitalAssets(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),vs({aptosConfig:this.config,...e})}async getDigitalAssetActivity(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"token_v2_processor"}),Cs({aptosConfig:this.config,...e})}async createCollectionTransaction(e){return _s({aptosConfig:this.config,...e})}async mintDigitalAssetTransaction(e){return Ds({aptosConfig:this.config,...e})}async transferDigitalAssetTransaction(e){return Rs({aptosConfig:this.config,...e})}async mintSoulBoundTransaction(e){return Os({aptosConfig:this.config,...e})}async burnDigitalAssetTransaction(e){return Ns({aptosConfig:this.config,...e})}async freezeDigitalAssetTransaferTransaction(e){return Gs({aptosConfig:this.config,...e})}async unfreezeDigitalAssetTransaferTransaction(e){return Ms({aptosConfig:this.config,...e})}async setDigitalAssetDescriptionTransaction(e){return Bs({aptosConfig:this.config,...e})}async setDigitalAssetNameTransaction(e){return Vs({aptosConfig:this.config,...e})}async setDigitalAssetURITransaction(e){return Hs({aptosConfig:this.config,...e})}async addDigitalAssetPropertyTransaction(e){return Ls({aptosConfig:this.config,...e})}async removeDigitalAssetPropertyTransaction(e){return $s({aptosConfig:this.config,...e})}async updateDigitalAssetPropertyTransaction(e){return qs({aptosConfig:this.config,...e})}async addDigitalAssetTypedPropertyTransaction(e){return Ws({aptosConfig:this.config,...e})}async updateDigitalAssetTypedPropertyTransaction(e){return js({aptosConfig:this.config,...e})}};async function Js(n){let{aptosConfig:e,accountAddress:t,amount:r,options:i}=n,o=i?.timeoutSecs||20,{data:s}=await no({aptosConfig:e,path:"fund",body:{address:u.from(t).toString(),amount:r},originMethod:"fundAccount"}),a=s.txn_hashes[0],c=await $t({aptosConfig:e,transactionHash:a,options:{timeoutSecs:o,checkSuccess:i?.checkSuccess}});if(c.type==="user_transaction")return c;throw new Error(`Unexpected transaction received for fund account: ${c.type}`)}var Cn=class{constructor(e){this.config=e}async fundAccount(e){let t=await Js({aptosConfig:this.config,...e});return(e.options?.waitForIndexer===void 0||e.options?.waitForIndexer)&&await ko({aptosConfig:this.config,minimumLedgerVersion:BigInt(t.version),processorType:"fungible_asset_processor"}),t}};async function Tr(n){let{aptosConfig:e,options:t}=n,r={query:wo,variables:{where_condition:t?.where,limit:t?.limit,offset:t?.offset}};return(await P({aptosConfig:e,query:r,originMethod:"getFungibleAssetMetadata"})).fungible_asset_metadata}async function Zs(n){let{aptosConfig:e,options:t}=n,r={query:bo,variables:{where_condition:t?.where,limit:t?.limit,offset:t?.offset}};return(await P({aptosConfig:e,query:r,originMethod:"getFungibleAssetActivities"})).fungible_asset_activities}async function Ys(n){let{aptosConfig:e,options:t}=n,r={query:Ao,variables:{where_condition:t?.where,limit:t?.limit,offset:t?.offset}};return(await P({aptosConfig:e,query:r,originMethod:"getCurrentFungibleAssetBalances"})).current_fungible_asset_balances}var Xs={typeParameters:[{constraints:[]}],parameters:[_e("0x1::object::Object"),new O,new W]};async function ea(n){let{aptosConfig:e,sender:t,fungibleAssetMetadataAddress:r,recipient:i,amount:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::primary_fungible_store::transfer",typeArguments:["0x1::fungible_asset::Metadata"],functionArguments:[r,i,o],abi:Xs},options:s})}async function ta(n){let{aptosConfig:e,sender:t,fromStore:r,toStore:i,amount:o,options:s}=n;return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::dispatchable_fungible_asset::transfer",typeArguments:["0x1::fungible_asset::FungibleStore"],functionArguments:[r,i,o],abi:Xs},options:s})}var _n=class{constructor(e){this.config=e}async getFungibleAssetMetadata(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),Tr({aptosConfig:this.config,...e})}async getFungibleAssetMetadataByAssetType(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),(await Tr({aptosConfig:this.config,options:{where:{asset_type:{_eq:e.assetType}}}}))[0]}async getFungibleAssetMetadataByCreatorAddress(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),await Tr({aptosConfig:this.config,options:{where:{creator_address:{_eq:u.from(e.creatorAddress).toStringLong()}}}})}async getFungibleAssetActivities(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),Zs({aptosConfig:this.config,...e})}async getCurrentFungibleAssetBalances(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"fungible_asset_processor"}),Ys({aptosConfig:this.config,...e})}async transferFungibleAsset(e){return ea({aptosConfig:this.config,...e})}async transferFungibleAssetBetweenStores(e){return ta({aptosConfig:this.config,...e})}};var Un=class{constructor(e){this.config=e}async getLedgerInfo(){return qn({aptosConfig:this.config})}async getChainId(){return(await this.getLedgerInfo()).chain_id}async getBlockByVersion(e){return Fo({aptosConfig:this.config,...e})}async getBlockByHeight(e){return zo({aptosConfig:this.config,...e})}async view(e){return ae({aptosConfig:this.config,...e})}async viewJson(e){return Ts({aptosConfig:this.config,...e})}async getChainTopUserTransactions(e){return Po({aptosConfig:this.config,...e})}async queryIndexer(e){return P({aptosConfig:this.config,...e})}async getIndexerLastSuccessVersion(){return Ko({aptosConfig:this.config})}async getProcessorStatus(e){return xo({aptosConfig:this.config,processorType:e})}};var na=["A name must be between 3 and 63 characters long,","and can only contain lowercase a-z, 0-9, and hyphens.","A name may not start or end with a hyphen."].join(" ");function ra(n){return!(!n||n.length<3||n.length>63||!/^[a-z\d][a-z\d-]{1,61}[a-z\d]$/.test(n))}function pt(n){let[e,t,...r]=n.replace(/\.apt$/,"").split(".");if(r.length>0)throw new Error(`${n} is invalid. A name can only have two parts, a domain and a subdomain separated by a "."`);if(!ra(e))throw new Error(`${e} is not valid. ${na}`);if(t&&!ra(t))throw new Error(`${t} is not valid. ${na}`);return{domainName:t||e,subdomainName:t?e:void 0}}var kc=(t=>(t[t.Independent=0]="Independent",t[t.FollowsDomain=1]="FollowsDomain",t))(kc||{});function ia(n){if(!n)return!1;let e=new Date(n.domain_expiration_timestamp).getTime()<Date.now(),t=new Date(n.expiration_timestamp).getTime()<Date.now();return n.subdomain&&e?!1:n.subdomain&&n.subdomain_expiration_policy===1?!0:!t}var Eb="0x37368b46ce665362562c6d1d4ec01a08c8644c488690df5a17e13ba163e20221",Fc="0x585fc9f0f0c54183b039ffc770ca282ebd87307916c215a3e692f2f8e4305e82",zc={testnet:"0x5f8fd2347449685cf41d4db97926ec3a096eaf381332be4f1318ad4d16a8497c",mainnet:"0x867ed1f6bf916171b1de3ee92849b8978b7d1b9e0a8cc982a3d19d535dfd9c0c",local:Fc,custom:null,devnet:null,shelbynet:null,netna:null};function rt(n){let e=zc[n.network];if(!e)throw new Error(`The ANS contract is not deployed to ${n.network}`);return e}var Sr=n=>{if(n&&typeof n=="object"&&"vec"in n&&Array.isArray(n.vec))return n.vec[0]};async function oa(n){let{aptosConfig:e,name:t}=n,r=rt(e),{domainName:i,subdomainName:o}=pt(t),s=await ae({aptosConfig:e,payload:{function:`${r}::router::get_owner_addr`,functionArguments:[i,o]}}),a=Sr(s[0]);return a?u.from(a):void 0}async function sa(n){let{aptosConfig:e,expiration:t,name:r,sender:i,targetAddress:o,toAddress:s,options:a,transferable:c}=n,d=rt(e),{domainName:l,subdomainName:g}=pt(r),p=t.policy==="subdomain:independent"||t.policy==="subdomain:follow-domain";if(g&&!p)throw new Error("Subdomains must have an expiration policy of either 'subdomain:independent' or 'subdomain:follow-domain'");if(p&&!g)throw new Error(`Policy is set to ${t.policy} but no subdomain was provided`);if(t.policy==="domain"){let M=t.years??1;if(M!==1)throw new Error("For now, names can only be registered for 1 year at a time");let Me=M*31536e3;return await A({aptosConfig:e,sender:i.accountAddress.toString(),data:{function:`${d}::router::register_domain`,functionArguments:[l,Me,o,s]},options:a})}if(!g)throw new Error(`${t.policy} requires a subdomain to be provided.`);let y=await hi({aptosConfig:e,name:l});if(!y)throw new Error("The domain does not exist");let h=t.policy==="subdomain:independent"?t.expirationDate:y;if(h>y)throw new Error("The subdomain expiration time cannot be greater than the domain expiration time");return await A({aptosConfig:e,sender:i.accountAddress.toString(),data:{function:`${d}::router::register_subdomain`,functionArguments:[l,g,Math.round(h/1e3),t.policy==="subdomain:follow-domain"?1:0,!!c,o,s]},options:a})}async function hi(n){let{aptosConfig:e,name:t}=n,r=rt(e),{domainName:i,subdomainName:o}=pt(t);try{let s=await ae({aptosConfig:e,payload:{function:`${r}::router::get_expiration`,functionArguments:[i,o]}});return Number(s[0])*1e3}catch{return}}async function aa(n){let{aptosConfig:e,address:t}=n,r=rt(e),i=await ae({aptosConfig:e,payload:{function:`${r}::router::get_primary_name`,functionArguments:[u.from(t).toString()]}}),o=Sr(i[1]),s=Sr(i[0]);if(o)return[s,o].filter(Boolean).join(".")}async function ca(n){let{aptosConfig:e,sender:t,name:r,options:i}=n,o=rt(e);if(!r)return await A({aptosConfig:e,sender:t.accountAddress.toString(),data:{function:`${o}::router::clear_primary_name`,functionArguments:[]},options:i});let{domainName:s,subdomainName:a}=pt(r);return await A({aptosConfig:e,sender:t.accountAddress.toString(),data:{function:`${o}::router::set_primary_name`,functionArguments:[s,a]},options:i})}async function ua(n){let{aptosConfig:e,name:t}=n,r=rt(e),{domainName:i,subdomainName:o}=pt(t),s=await ae({aptosConfig:e,payload:{function:`${r}::router::get_target_addr`,functionArguments:[i,o]}}),a=Sr(s[0]);return a?u.from(a):void 0}async function da(n){let{aptosConfig:e,sender:t,name:r,address:i,options:o}=n,s=rt(e),{domainName:a,subdomainName:c}=pt(r);return await A({aptosConfig:e,sender:t.accountAddress.toString(),data:{function:`${s}::router::set_target_addr`,functionArguments:[a,c,i]},options:o})}async function pa(n){let{aptosConfig:e,name:t}=n,{domainName:r,subdomainName:i=""}=pt(t),a=(await P({aptosConfig:e,query:{query:Lt,variables:{where_condition:{domain:{_eq:r},subdomain:{_eq:i}},limit:1}},originMethod:"getName"})).current_aptos_names[0];return a&&(a=kn(a)),ia(a)?a:void 0}async function la(n){let{aptosConfig:e,options:t,accountAddress:r}=n,i=await bi({aptosConfig:e});return(await P({aptosConfig:e,originMethod:"getAccountNames",query:{query:Lt,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...n.options?.where??{},owner_address:{_eq:r.toString()},expiration_timestamp:{_gte:i}}}}})).current_aptos_names.map(kn)}async function ga(n){let{aptosConfig:e,options:t,accountAddress:r}=n,i=await bi({aptosConfig:e});return(await P({aptosConfig:e,originMethod:"getAccountDomains",query:{query:Lt,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...n.options?.where??{},owner_address:{_eq:r.toString()},expiration_timestamp:{_gte:i},subdomain:{_eq:""}}}}})).current_aptos_names.map(kn)}async function ya(n){let{aptosConfig:e,options:t,accountAddress:r}=n,i=await bi({aptosConfig:e});return(await P({aptosConfig:e,originMethod:"getAccountSubdomains",query:{query:Lt,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...n.options?.where??{},owner_address:{_eq:r.toString()},expiration_timestamp:{_gte:i},subdomain:{_neq:""}}}}})).current_aptos_names.map(kn)}async function ma(n){let{aptosConfig:e,options:t,domain:r}=n;return(await P({aptosConfig:e,originMethod:"getDomainSubdomains",query:{query:Lt,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...n.options?.where??{},domain:{_eq:r},subdomain:{_neq:""}}}}})).current_aptos_names.map(kn).filter(ia)}async function bi(n){let{aptosConfig:e}=n,t=rt(e),[r]=await ae({aptosConfig:e,payload:{function:`${t}::config::reregistration_grace_sec`,functionArguments:[]}}),i=r/60/60/24,o=()=>new Date;return new Date(o().setDate(o().getDate()-i)).toISOString()}async function fa(n){let{aptosConfig:e,sender:t,name:r,years:i=1,options:o}=n,s=rt(e),a=i*31536e3,{domainName:c,subdomainName:d}=pt(r);if(d)throw new Error("Subdomains cannot be renewed");if(i!==1)throw new Error("Currently, only 1 year renewals are supported");return await A({aptosConfig:e,sender:t.accountAddress.toString(),data:{function:`${s}::router::renew_domain`,functionArguments:[c,a]},options:o})}function kn(n){return{...n,expiration_timestamp:new Date(n.expiration_timestamp).getTime()}}var Fn=class{constructor(e){this.config=e}async getOwnerAddress(e){return oa({aptosConfig:this.config,...e})}async getExpiration(e){return hi({aptosConfig:this.config,...e})}async getTargetAddress(e){return ua({aptosConfig:this.config,...e})}async setTargetAddress(e){return da({aptosConfig:this.config,...e})}async getPrimaryName(e){return aa({aptosConfig:this.config,...e})}async setPrimaryName(e){return ca({aptosConfig:this.config,...e})}async registerName(e){return sa({aptosConfig:this.config,...e})}async renewDomain(e){return fa({aptosConfig:this.config,...e})}async getName(e){return pa({aptosConfig:this.config,...e})}async getAccountNames(e){return la({aptosConfig:this.config,...e})}async getAccountDomains(e){return ga({aptosConfig:this.config,...e})}async getAccountSubdomains(e){return ya({aptosConfig:this.config,...e})}async getDomainSubdomains(e){return ma({aptosConfig:this.config,...e})}};async function Aa(n){let{aptosConfig:e,poolAddress:t}=n,r=u.from(t).toStringLong(),o=await P({aptosConfig:e,query:{query:Mr,variables:{where_condition:{pool_address:{_eq:r}}}}});return o.num_active_delegator_per_pool[0]?o.num_active_delegator_per_pool[0].num_active_delegator:0}async function ha(n){let{aptosConfig:e,options:t}=n,r={query:Mr,variables:{order_by:t?.orderBy}};return(await P({aptosConfig:e,query:r})).num_active_delegator_per_pool}async function ba(n){let{aptosConfig:e,delegatorAddress:t,poolAddress:r}=n,i={query:ho,variables:{delegatorAddress:u.from(t).toStringLong(),poolAddress:u.from(r).toStringLong()}};return(await P({aptosConfig:e,query:i})).delegated_staking_activities}var zn=class{constructor(e){this.config=e}async getNumberOfDelegators(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"stake_processor"}),Aa({aptosConfig:this.config,...e})}async getNumberOfDelegatorsForAllPools(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"stake_processor"}),ha({aptosConfig:this.config,...e})}async getDelegatedStakingActivities(e){return await T({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"stake_processor"}),ba({aptosConfig:this.config,...e})}};var Pr=class{constructor(e){this.config=e}async simple(e){return A({aptosConfig:this.config,...e})}async multiAgent(e){return A({aptosConfig:this.config,...e})}};var pn=class{constructor(e){this.config=e}async simple(e){return ci({aptosConfig:this.config,...e})}async multiAgent(e){return ci({aptosConfig:this.config,...e})}};Ur([Hr],pn.prototype,"simple",1),Ur([Hr],pn.prototype,"multiAgent",1);var Kr=class{constructor(e){this.config=e}async simple(e){return Vr(this.config,e),Kn({aptosConfig:this.config,...e})}async multiAgent(e){return Vr(this.config,e),Kn({aptosConfig:this.config,...e})}};import Rc from"eventemitter3";var xr=class{constructor(e,t,r,i,o){this.lastUncommintedNumber=null;this.currentNumber=null;this.lock=!1;this.aptosConfig=e,this.account=t,this.maxWaitTime=r,this.maximumInFlight=i,this.sleepTime=o}async nextSequenceNumber(){for(;this.lock;)await yn(this.sleepTime);this.lock=!0;let e=BigInt(0);try{if((this.lastUncommintedNumber===null||this.currentNumber===null)&&await this.initialize(),this.currentNumber-this.lastUncommintedNumber>=this.maximumInFlight){await this.update();let t=Ve();for(;this.currentNumber-this.lastUncommintedNumber>=this.maximumInFlight;)await yn(this.sleepTime),Ve()-t>this.maxWaitTime?(console.warn(`Waited over 30 seconds for a transaction to commit, re-syncing ${this.account.accountAddress.toString()}`),await this.initialize()):await this.update()}e=this.currentNumber,this.currentNumber+=BigInt(1)}catch(t){console.error("error in getting next sequence number for this account",t)}finally{this.lock=!1}return e}async initialize(){let{sequence_number:e}=await cn({aptosConfig:this.aptosConfig,accountAddress:this.account.accountAddress});this.currentNumber=BigInt(e),this.lastUncommintedNumber=BigInt(e)}async update(){let{sequence_number:e}=await cn({aptosConfig:this.aptosConfig,accountAddress:this.account.accountAddress});return this.lastUncommintedNumber=BigInt(e),this.lastUncommintedNumber}async synchronize(){if(this.lastUncommintedNumber!==this.currentNumber){for(;this.lock;)await yn(this.sleepTime);this.lock=!0;try{await this.update();let e=Ve();for(;this.lastUncommintedNumber!==this.currentNumber;)Ve()-e>this.maxWaitTime?(console.warn(`Waited over 30 seconds for a transaction to commit, re-syncing ${this.account.accountAddress.toString()}`),await this.initialize()):(await yn(this.sleepTime),await this.update())}catch(e){console.error("error in synchronizing this account sequence number with the one on chain",e)}finally{this.lock=!1}}}};import Dc from"eventemitter3";var wa="fulfilled",Ta=(o=>(o.TransactionSent="transactionSent",o.TransactionSendFailed="transactionSendFailed",o.TransactionExecuted="transactionExecuted",o.TransactionExecutionFailed="transactionExecutionFailed",o.ExecutionFinish="executionFinish",o))(Ta||{}),Ir=class extends Dc{constructor(t,r,i=30,o=100,s=10){super();this.taskQueue=new Qn;this.transactionsQueue=new Qn;this.outstandingTransactions=new Qn;this.sentTransactions=[];this.executedTransactions=[];this.aptosConfig=t,this.account=r,this.started=!1,this.accountSequnceNumber=new xr(t,r,i,o,s)}async submitNextTransaction(){try{for(;;){let t=await this.accountSequnceNumber.nextSequenceNumber();if(t===null)return;let r=await this.generateNextTransaction(this.account,t);if(!r)return;let i=hr({aptosConfig:this.aptosConfig,transaction:r,signer:this.account});await this.outstandingTransactions.enqueue([i,t])}}catch(t){if(t instanceof Lr)return;throw new Error(`Submit transaction failed for ${this.account.accountAddress.toString()} with error ${t}`)}}async processTransactions(){try{for(;;){let t=[],r=[],[i,o]=await this.outstandingTransactions.dequeue();for(t.push(i),r.push(o);!this.outstandingTransactions.isEmpty();)[i,o]=await this.outstandingTransactions.dequeue(),t.push(i),r.push(o);let s=await Promise.allSettled(t);for(let a=0;a<s.length&&a<r.length;a+=1){let c=s[a];o=r[a],c.status===wa?(this.sentTransactions.push([c.value.hash,o,null]),this.emit("transactionSent",{message:`transaction hash ${c.value.hash} has been committed to chain`,transactionHash:c.value.hash}),await this.checkTransaction(c,o)):(this.sentTransactions.push([c.status,o,c.reason]),this.emit("transactionSendFailed",{message:`failed to commit transaction ${this.sentTransactions.length} with error ${c.reason}`,error:c.reason}))}this.emit("executionFinish",{message:`execute ${s.length} transactions finished`})}}catch(t){if(t instanceof Lr)return;throw new Error(`Process execution failed for ${this.account.accountAddress.toString()} with error ${t}`)}}async checkTransaction(t,r){try{let i=[];i.push($t({aptosConfig:this.aptosConfig,transactionHash:t.value.hash}));let o=await Promise.allSettled(i);for(let s=0;s<o.length;s+=1){let a=o[s];a.status===wa?(this.executedTransactions.push([a.value.hash,r,null]),this.emit("transactionExecuted",{message:`transaction hash ${a.value.hash} has been executed on chain`,transactionHash:t.value.hash})):(this.executedTransactions.push([a.status,r,a.reason]),this.emit("transactionExecutionFailed",{message:`failed to execute transaction ${this.executedTransactions.length} with error ${a.reason}`,error:a.reason}))}}catch(i){throw new Error(`Check transaction failed for ${this.account.accountAddress.toString()} with error ${i}`)}}async push(t,r){this.transactionsQueue.enqueue([t,r])}async generateNextTransaction(t,r){if(this.transactionsQueue.isEmpty())return;let[i,o]=await this.transactionsQueue.dequeue();return A({aptosConfig:this.aptosConfig,sender:t.accountAddress,data:i,options:{...o,accountSequenceNumber:r,replayProtectionNonce:void 0}})}async run(){try{for(;!this.taskQueue.isCancelled();)await(await this.taskQueue.dequeue())()}catch(t){throw new Error(`Unable to start transaction batching: ${t}`)}}start(){if(this.started)throw new Error("worker has already started");this.started=!0,this.taskQueue.enqueue(()=>this.submitNextTransaction()),this.taskQueue.enqueue(()=>this.processTransactions()),this.run()}stop(){if(this.taskQueue.isCancelled())throw new Error("worker has already stopped");this.started=!1,this.taskQueue.cancel()}};var Er=class extends Rc{constructor(e){super(),this.config=e}start(e){let{sender:t}=e;this.account=t,this.transactionWorker=new Ir(this.config,t),this.transactionWorker.start(),this.registerToEvents()}push(e){let{data:t,options:r}=e;for(let i of t)this.transactionWorker.push(i,r)}registerToEvents(){this.transactionWorker.on("transactionSent",async e=>{this.emit("transactionSent",e)}),this.transactionWorker.on("transactionSendFailed",async e=>{this.emit("transactionSendFailed",e)}),this.transactionWorker.on("transactionExecuted",async e=>{this.emit("transactionExecuted",e)}),this.transactionWorker.on("transactionExecutionFailed",async e=>{this.emit("transactionExecutionFailed",e)}),this.transactionWorker.on("executionFinish",async e=>{this.emit("executionFinish",e)})}forSingleAccount(e){try{let{sender:t,data:r,options:i}=e;this.start({sender:t}),this.push({data:r,options:i})}catch(t){throw new Error(`failed to submit transactions with error: ${t}`)}}};var Dn=class{constructor(e){this.config=e,this.build=new Pr(this.config),this.simulate=new pn(this.config),this.submit=new Kr(this.config),this.batch=new Er(this.config)}async getTransactions(e){return vo({aptosConfig:this.config,...e})}async getTransactionByVersion(e){return Co({aptosConfig:this.config,...e})}async getTransactionByHash(e){return _o({aptosConfig:this.config,...e})}async isPendingTransaction(e){return Uo({aptosConfig:this.config,...e})}async waitForTransaction(e){return $t({aptosConfig:this.config,...e})}async getGasPriceEstimation(){return jn({aptosConfig:this.config})}getSigningMessage(e){return rs(e)}async publishPackageTransaction(e){return os({aptosConfig:this.config,...e})}async rotateAuthKey(e){return bs({aptosConfig:this.config,...e})}async rotateAuthKeyUnverified(e){return ws({aptosConfig:this.config,...e})}sign(e){return fr({...e})}signAsFeePayer(e){return Ar({...e})}async batchTransactionsForSingleAccount(e){try{let{sender:t,data:r,options:i}=e;this.batch.forSingleAccount({sender:t,data:r,options:i})}catch(t){throw new Error(`failed to submit transactions with error: ${t}`)}}async signAndSubmitTransaction(e){return hr({aptosConfig:this.config,...e})}async signAndSubmitAsFeePayer(e){return is({aptosConfig:this.config,...e})}};import{jwtDecode as Nc}from"jwt-decode";async function vr(n){let{aptosConfig:e,jwt:t,ephemeralKeyPair:r,uidKey:i="sub",derivationPath:o}=n,s={jwt_b64:t,epk:r.getPublicKey().bcsToHex().toStringWithoutPrefix(),exp_date_secs:r.expiryDateSecs,epk_blinder:m.fromHexInput(r.blinder).toStringWithoutPrefix(),uid_key:i,derivation_path:o},{data:a}=await ro({aptosConfig:e,path:"fetch",body:s,originMethod:"getPepper",overrides:{WITH_CREDENTIALS:!1}});return m.fromHexInput(a.pepper).toUint8Array()}async function wi(n){let{aptosConfig:e,jwt:t,ephemeralKeyPair:r,pepper:i=await vr(n),uidKey:o="sub",maxExpHorizonSecs:s=(await sn({aptosConfig:e})).maxExpHorizonSecs}=n;if(m.fromHexInput(i).toUint8Array().length!==be.PEPPER_LENGTH)throw new Error(`Pepper needs to be ${be.PEPPER_LENGTH} bytes`);let a=Nc(t);if(typeof a.iat!="number")throw new Error("iat was not found");if(s<r.expiryDateSecs-a.iat)throw Error(`The EphemeralKeyPair is too long lived. It's lifespan must be less than ${s}`);let c={jwt_b64:t,epk:r.getPublicKey().bcsToHex().toStringWithoutPrefix(),epk_blinder:m.fromHexInput(r.blinder).toStringWithoutPrefix(),exp_date_secs:r.expiryDateSecs,exp_horizon_secs:s,pepper:m.fromHexInput(i).toStringWithoutPrefix(),uid_key:o},{data:d}=await io({aptosConfig:e,path:"prove",body:c,originMethod:"getProof",overrides:{WITH_CREDENTIALS:!1}}),l=d.proof,g=new lt({a:l.a,b:l.b,c:l.c});return new ge({proof:new ln(g,0),trainingWheelsSignature:Ne.fromHex(d.training_wheels_signature),expHorizonSecs:s})}async function Sa(n){let{aptosConfig:e,jwt:t,jwkAddress:r,uidKey:i,proofFetchCallback:o,pepper:s=await vr(n)}=n,{verificationKey:a,maxExpHorizonSecs:c}=await sn({aptosConfig:e}),d=wi({...n,pepper:s,maxExpHorizonSecs:c}),l=o?d:await d;if(r!==void 0){let y=G.fromJwtAndPepper({jwt:t,pepper:s,jwkAddress:r,uidKey:i}),h=await un({aptosConfig:e,authenticationKey:y.authKey().derivedAddress()});return Ce.create({...n,address:h,proof:l,pepper:s,proofFetchCallback:o,jwkAddress:r,verificationKey:a})}let g=E.fromJwtAndPepper({jwt:t,pepper:s,uidKey:i}),p=await un({aptosConfig:e,authenticationKey:g.authKey().derivedAddress()});return be.create({...n,address:p,proof:l,pepper:s,proofFetchCallback:o,verificationKey:a})}async function Pa(n){let{aptosConfig:e,sender:t,iss:r,options:i}=n,{jwksUrl:o}=n;o===void 0&&(qi.test(r)?o="https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com":o=r.endsWith("/")?`${r}.well-known/jwks.json`:`${r}/.well-known/jwks.json`);let s;try{if(s=await fetch(o),!s.ok)throw new Error(`${s.status} ${s.statusText}`)}catch(c){let d;throw c instanceof Error?d=`${c.message}`:d=`error unknown - ${c}`,S.fromErrorType({type:14,details:`Failed to fetch JWKS at ${o}: ${d}`})}let a=await s.json();return A({aptosConfig:e,sender:t.accountAddress,data:{function:"0x1::jwks::update_federated_jwk_set",functionArguments:[r,K.MoveString(a.keys.map(c=>c.kid)),K.MoveString(a.keys.map(c=>c.alg)),K.MoveString(a.keys.map(c=>c.e)),K.MoveString(a.keys.map(c=>c.n))]},options:i})}var Rn=class{constructor(e){this.config=e}async getPepper(e){return vr({aptosConfig:this.config,...e})}async getProof(e){return wi({aptosConfig:this.config,...e})}async deriveKeylessAccount(e){return Sa({aptosConfig:this.config,...e})}async updateFederatedKeylessJwkSetTransaction(e){return Pa({aptosConfig:this.config,...e})}};async function Gc(n){let{aptosConfig:e,options:t}=n,r={query:$n,variables:{where_condition:t?.where,offset:t?.offset,limit:t?.limit,order_by:t?.orderBy}};return(await P({aptosConfig:e,query:r,originMethod:"getObjectData"})).current_objects}async function Ka(n){let{aptosConfig:e,objectAddress:t,options:r}=n,o={object_address:{_eq:u.from(t).toStringLong()}};return(await Gc({aptosConfig:e,options:{...r,where:o}}))[0]}var On=class{constructor(e){this.config=e}async getObjectDataByObjectAddress(e){return await T({config:this.config,minimumLedgerVersion:e.minimumLedgerVersion,processorType:"objects_processor"}),Ka({aptosConfig:this.config,...e})}};var Y=class{constructor(e){this.config=e??new Do,this.account=new xn(this.config),this.abstraction=new Ut(this.config),this.ans=new Fn(this.config),this.coin=new En(this.config),this.digitalAsset=new vn(this.config),this.faucet=new Cn(this.config),this.fungibleAsset=new _n(this.config),this.general=new Un(this.config),this.staking=new zn(this.config),this.transaction=new Dn(this.config),this.table=new $r(this.config),this.keyless=new Rn(this.config),this.object=new On(this.config)}setIgnoreTransactionSubmitter(e){this.config.setIgnoreTransactionSubmitter(e)}};function me(n,e,t){Object.getOwnPropertyNames(e.prototype).forEach(r=>{let i=Object.getOwnPropertyDescriptor(e.prototype,r);i&&Object.defineProperty(n.prototype,r,{value:function(...o){return this[t][r](...o)},writable:i.writable,configurable:i.configurable,enumerable:i.enumerable})})}me(Y,xn,"account");me(Y,Ut,"abstraction");me(Y,Fn,"ans");me(Y,En,"coin");me(Y,vn,"digitalAsset");me(Y,Cn,"faucet");me(Y,_n,"fungibleAsset");me(Y,Un,"general");me(Y,zn,"staking");me(Y,Dn,"transaction");me(Y,$r,"table");me(Y,Rn,"keyless");me(Y,On,"object");var Hc=1e7,Ti=120,Lc=30,$c=330,qc=120,Wc=350,jc=300,Qc=93,Ge=class Ge extends ke{constructor(e,t){super();let r=m.fromHexInput(t).toUint8Array();if(r.length!==Ge.ID_COMMITMENT_LENGTH)throw new Error(`Id Commitment length in bytes should be ${Ge.ID_COMMITMENT_LENGTH}`);this.iss=e,this.idCommitment=r}authKey(){let e=new ee;return e.serializeU32AsUleb128(3),e.serializeFixedBytes(this.bcsToBytes()),ne.fromSchemeAndBytes({scheme:2,input:e.toUint8Array()})}verifySignature(e){try{return Cr({...e,publicKey:this}),!0}catch(t){if(t instanceof S)return!1;throw t}}async verifySignatureAsync(e){return Ei({...e,publicKey:this})}serialize(e){e.serializeStr(this.iss),e.serializeBytes(this.idCommitment)}static deserialize(e){let t=e.deserializeStr(),r=e.deserializeBytes();return new Ge(t,r)}static load(e){let t=e.deserializeStr(),r=e.deserializeBytes();return new Ge(t,r)}static isPublicKey(e){return e instanceof Ge}static create(e){return xa(e),new Ge(e.iss,xa(e))}static fromJwtAndPepper(e){let{jwt:t,pepper:r,uidKey:i="sub"}=e,o=Ia(t);if(typeof o.iss!="string")throw new Error("iss was not found");if(typeof o.aud!="string")throw new Error("aud was not found or an array of values");let s=o[i];return Ge.create({iss:o.iss,uidKey:i,uidVal:s,aud:o.aud,pepper:r})}static isInstance(e){return"iss"in e&&typeof e.iss=="string"&&"idCommitment"in e&&e.idCommitment instanceof Uint8Array}};Ge.ID_COMMITMENT_LENGTH=32;var E=Ge;async function Ei(n){let{aptosConfig:e,publicKey:t,message:r,signature:i,jwk:o,keylessConfig:s=await sn({aptosConfig:e}),options:a}=n;try{if(!(i instanceof re))throw S.fromErrorType({type:26,details:"Not a keyless signature"});return Cr({message:r,publicKey:t,signature:i,jwk:o||await Wr({aptosConfig:e,publicKey:t,kid:i.getJwkKid()}),keylessConfig:s}),!0}catch(c){if(a?.throwErrorWithReason)throw c;return!1}}function Cr(n){let{publicKey:e,message:t,signature:r,keylessConfig:i,jwk:o}=n,{verificationKey:s,maxExpHorizonSecs:a,trainingWheelsPubkey:c}=i;if(!(r instanceof re))throw S.fromErrorType({type:26,details:"Not a keyless signature"});if(!(r.ephemeralCertificate.signature instanceof ge))throw S.fromErrorType({type:26,details:"Unsupported ephemeral certificate variant"});let d=r.ephemeralCertificate.signature;if(!(d.proof.proof instanceof lt))throw S.fromErrorType({type:26,details:"Unsupported proof variant for ZeroKnowledgeSig"});let l=d.proof.proof;if(r.expiryDateSecs<Ve())throw S.fromErrorType({type:27,details:"The expiryDateSecs is in the past"});if(d.expHorizonSecs>a)throw S.fromErrorType({type:28});if(!r.ephemeralPublicKey.verifySignature({message:t,signature:r.ephemeralSignature}))throw S.fromErrorType({type:29});let g=Jc({publicKey:e,signature:r,jwk:o,keylessConfig:i});if(!s.verifyProof({publicInputsHash:g,groth16Proof:l}))throw S.fromErrorType({type:32});if(c){if(!d.trainingWheelsSignature)throw S.fromErrorType({type:30});let p=new Pi(l,g);if(!c.verifySignature({message:p.hash(),signature:d.trainingWheelsSignature}))throw S.fromErrorType({type:31})}}function Jc(n){let{publicKey:e,signature:t,jwk:r,keylessConfig:i}=n,o=e instanceof E?e:e.keylessPublicKey;if(!(t.ephemeralCertificate.signature instanceof ge))throw new Error("Signature is not a ZeroKnowledgeSig");let s=t.ephemeralCertificate.signature,a=[];return a.push(...Vn(t.ephemeralPublicKey.toUint8Array(),i.maxCommitedEpkBytes)),a.push(Gt(o.idCommitment)),a.push(t.expiryDateSecs),a.push(s.expHorizonSecs),a.push(Fe(o.iss,i.maxIssValBytes)),s.extraField?(a.push(1n),a.push(Fe(s.extraField,i.maxExtraFieldBytes))):(a.push(0n),a.push(Fe(" ",i.maxExtraFieldBytes))),a.push(Fe(Vc(t.jwtHeader,!0)+".",i.maxJwtHeaderB64Bytes)),a.push(r.toScalar()),s.overrideAudVal?(a.push(Fe(s.overrideAudVal,Ti)),a.push(1n)):(a.push(Fe("",Ti)),a.push(0n)),Mt(a)}async function Wr(n){let{aptosConfig:e,publicKey:t,kid:r}=n,i=t instanceof E?t:t.keylessPublicKey,{iss:o}=i,s,a=t instanceof G?t.jwkAddress:void 0;try{s=await Xc({aptosConfig:e,jwkAddr:a})}catch(l){throw S.fromErrorType({type:24,error:l,details:`Failed to fetch ${a?"Federated":"Patched"}JWKs ${a?`for address ${a}`:"0x1"}`})}let c=s.get(o);if(c===void 0)throw S.fromErrorType({type:7,details:`JWKs for issuer ${o} not found.`});let d=c.find(l=>l.kid===r);if(d===void 0)throw S.fromErrorType({type:6,details:`JWK with kid '${r}' for issuer '${o}' not found.`});return d}function xa(n){let{uidKey:e,uidVal:t,aud:r,pepper:i}=n,o=[Gt(m.fromHexInput(i).toUint8Array()),Fe(r,Ti),Fe(t,$c),Fe(e,Lc)];return Fr(Mt(o),E.ID_COMMITMENT_LENGTH)}var re=class n extends Q{constructor(e){super();let{jwtHeader:t,ephemeralCertificate:r,expiryDateSecs:i,ephemeralPublicKey:o,ephemeralSignature:s}=e;this.jwtHeader=t,this.ephemeralCertificate=r,this.expiryDateSecs=i,this.ephemeralPublicKey=o,this.ephemeralSignature=s}getJwkKid(){return tu(this.jwtHeader).kid}serialize(e){this.ephemeralCertificate.serialize(e),e.serializeStr(this.jwtHeader),e.serializeU64(this.expiryDateSecs),this.ephemeralPublicKey.serialize(e),this.ephemeralSignature.serialize(e)}static deserialize(e){let t=on.deserialize(e),r=e.deserializeStr(),i=e.deserializeU64(),o=ut.deserialize(e),s=Ne.deserialize(e);return new n({jwtHeader:r,expiryDateSecs:Number(i),ephemeralCertificate:t,ephemeralPublicKey:o,ephemeralSignature:s})}static getSimulationSignature(){return new n({jwtHeader:"{}",ephemeralCertificate:new on(new ge({proof:new ln(new lt({a:new Uint8Array(32),b:new Uint8Array(64),c:new Uint8Array(32)}),0),expHorizonSecs:0}),0),expiryDateSecs:0,ephemeralPublicKey:new ut(new b(new Uint8Array(32))),ephemeralSignature:new Ne(new v(new Uint8Array(64)))})}static isSignature(e){return e instanceof n}},on=class n extends Q{constructor(e,t){super(),this.signature=e,this.variant=t}toUint8Array(){return this.signature.toUint8Array()}serialize(e){e.serializeU32AsUleb128(this.variant),this.signature.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new n(ge.deserialize(e),t);default:throw new Error(`Unknown variant index for EphemeralCertificate: ${t}`)}}},Nn=class Nn extends w{constructor(e){if(super(),this.data=m.fromHexInput(e).toUint8Array(),this.data.length!==32)throw new Error("Input needs to be 32 bytes")}serialize(e){e.serializeFixedBytes(this.data)}static deserialize(e){let t=e.deserializeFixedBytes(32);return new Nn(t)}toArray(){let e=this.toProjectivePoint();return[e.x.toString(),e.y.toString(),e.pz.toString()]}toProjectivePoint(){let e=new Uint8Array(this.data);e.reverse();let t=(e[0]&128)>>7,{Fp:r}=Ue.fields,i=r.create(Si(e)),o=r.sqrt(r.add(r.pow(i,3n),Nn.B)),s=r.neg(o),a=o>s==(t===1)?o:s;return Ue.G1.ProjectivePoint.fromAffine({x:i,y:a})}};Nn.B=Ue.fields.Fp.create(3n);var it=Nn;function Si(n){if(n.length!==32)throw new Error("Input should be 32 bytes");let e=new Uint8Array(n);return e[0]=e[0]&63,Bc(e)}var Gn=class Gn extends w{constructor(e){if(super(),this.data=m.fromHexInput(e).toUint8Array(),this.data.length!==64)throw new Error("Input needs to be 64 bytes")}serialize(e){e.serializeFixedBytes(this.data)}static deserialize(e){let t=e.deserializeFixedBytes(64);return new Gn(t)}toArray(){let e=this.toProjectivePoint();return[[e.x.c0.toString(),e.x.c1.toString()],[e.y.c0.toString(),e.y.c1.toString()],[e.pz.c0.toString(),e.pz.c1.toString()]]}toProjectivePoint(){let e=new Uint8Array(this.data),t=e.slice(0,32).reverse(),r=e.slice(32,64).reverse(),i=(r[0]&128)>>7,{Fp2:o}=Ue.fields,s=o.fromBigTuple([Si(t),Si(r)]),a=o.sqrt(o.add(o.pow(s,3n),Gn.B)),c=o.neg(a),l=(a.c1>c.c1||a.c1===c.c1&&a.c0>c.c0)===(i===1)?a:c;return Ue.G2.ProjectivePoint.fromAffine({x:s,y:l})}};Gn.B=Ue.fields.Fp2.fromBigTuple([19485874751759354771024239261021720505790618469301721065564631296452457478373n,266929791119991161246907387137283842545076965332900288569378510910307636690n]);var kt=Gn,lt=class n extends Bi{constructor(e){super();let{a:t,b:r,c:i}=e;this.a=new it(t),this.b=new kt(r),this.c=new it(i)}serialize(e){this.a.serialize(e),this.b.serialize(e),this.c.serialize(e)}static deserialize(e){let t=it.deserialize(e).bcsToBytes(),r=kt.deserialize(e).bcsToBytes(),i=it.deserialize(e).bcsToBytes();return new n({a:t,b:r,c:i})}toSnarkJsJson(){return{protocol:"groth16",curve:"bn128",pi_a:this.a.toArray(),pi_b:this.b.toArray(),pi_c:this.c.toArray()}}},Pi=class n extends w{constructor(t,r){super();this.domainSeparator="APTOS::Groth16ProofAndStatement";if(this.proof=t,this.publicInputsHash=typeof r=="bigint"?Fr(r,32):m.fromHexInput(r).toUint8Array(),this.publicInputsHash.length!==32)throw new Error("Invalid public inputs hash")}serialize(t){this.proof.serialize(t),t.serializeFixedBytes(this.publicInputsHash)}static deserialize(t){return new n(lt.deserialize(t),t.deserializeFixedBytes(32))}hash(){return Oe(this.bcsToBytes(),this.domainSeparator)}},ln=class n extends w{constructor(e,t){super(),this.proof=e,this.variant=t}serialize(e){e.serializeU32AsUleb128(this.variant),this.proof.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new n(lt.deserialize(e),t);default:throw new Error(`Unknown variant index for ZkProof: ${t}`)}}},ge=class n extends Q{constructor(e){super();let{proof:t,expHorizonSecs:r,trainingWheelsSignature:i,extraField:o,overrideAudVal:s}=e;this.proof=t,this.expHorizonSecs=r,this.trainingWheelsSignature=i,this.extraField=o,this.overrideAudVal=s}static fromBytes(e){return n.deserialize(new F(e))}serialize(e){this.proof.serialize(e),e.serializeU64(this.expHorizonSecs),e.serializeOption(this.extraField),e.serializeOption(this.overrideAudVal),e.serializeOption(this.trainingWheelsSignature)}static deserialize(e){let t=ln.deserialize(e),r=Number(e.deserializeU64()),i=e.deserializeOption("string"),o=e.deserializeOption("string"),s=e.deserializeOption(Ne);return new n({proof:t,expHorizonSecs:r,trainingWheelsSignature:s,extraField:i,overrideAudVal:o})}},Ki=class n{constructor(e){let{verificationKey:t,trainingWheelsPubkey:r,maxExpHorizonSecs:i=Hc,maxExtraFieldBytes:o=Wc,maxJwtHeaderB64Bytes:s=jc,maxIssValBytes:a=qc,maxCommitedEpkBytes:c=Qc}=e;this.verificationKey=t,this.maxExpHorizonSecs=i,r&&(this.trainingWheelsPubkey=new ut(new b(r))),this.maxExtraFieldBytes=o,this.maxJwtHeaderB64Bytes=s,this.maxIssValBytes=a,this.maxCommitedEpkBytes=c}static create(e,t){return new n({verificationKey:new xi({alphaG1:e.alpha_g1,betaG2:e.beta_g2,deltaG2:e.delta_g2,gammaAbcG1:e.gamma_abc_g1,gammaG2:e.gamma_g2}),maxExpHorizonSecs:Number(t.max_exp_horizon_secs),trainingWheelsPubkey:t.training_wheels_pubkey.vec[0],maxExtraFieldBytes:t.max_extra_field_bytes,maxJwtHeaderB64Bytes:t.max_jwt_header_b64_bytes,maxIssValBytes:t.max_iss_val_bytes,maxCommitedEpkBytes:t.max_commited_epk_bytes})}},xi=class n{constructor(e){let{alphaG1:t,betaG2:r,deltaG2:i,gammaAbcG1:o,gammaG2:s}=e;this.alphaG1=new it(t),this.betaG2=new kt(r),this.deltaG2=new kt(i),this.gammaAbcG1=[new it(o[0]),new it(o[1])],this.gammaG2=new kt(s)}hash(){let e=new ee;return this.serialize(e),Mc.create().update(e.toUint8Array()).digest()}serialize(e){this.alphaG1.serialize(e),this.betaG2.serialize(e),this.deltaG2.serialize(e),this.gammaAbcG1[0].serialize(e),this.gammaAbcG1[1].serialize(e),this.gammaG2.serialize(e)}static fromGroth16VerificationKeyResponse(e){return new n({alphaG1:e.alpha_g1,betaG2:e.beta_g2,deltaG2:e.delta_g2,gammaAbcG1:e.gamma_abc_g1,gammaG2:e.gamma_g2})}verifyProof(e){let{publicInputsHash:t,groth16Proof:r}=e;try{let i=r.a.toProjectivePoint(),o=r.b.toProjectivePoint(),s=r.c.toProjectivePoint(),a=this.alphaG1.toProjectivePoint(),c=this.betaG2.toProjectivePoint(),d=this.gammaG2.toProjectivePoint(),l=this.deltaG2.toProjectivePoint(),g=this.gammaAbcG1.map(ot=>ot.toProjectivePoint()),{Fp12:p}=Ue.fields,y=g[0].add(g[1].multiply(t)),h=Ue.pairing(y,d),k=Ue.pairing(i,o),M=Ue.pairing(a,c),X=Ue.pairing(s,l),Me=p.mul(M,p.mul(h,X));return p.eql(k,Me)}catch(i){throw S.fromErrorType({type:32,error:i,details:"Error encountered when checking zero knowledge relation"})}}toSnarkJsJson(){return{protocol:"groth16",curve:"bn128",nPublic:1,vk_alpha_1:this.alphaG1.toArray(),vk_beta_2:this.betaG2.toArray(),vk_gamma_2:this.gammaG2.toArray(),vk_delta_2:this.deltaG2.toArray(),IC:this.gammaAbcG1.map(e=>e.toArray())}}};async function sn(n){let{aptosConfig:e}=n;try{return await Ht(async()=>{let[t,r]=await Promise.all([Zc(n),Yc(n)]);return Ki.create(r,t)},`keyless-configuration-${e.network}`,1e3*60*5)()}catch(t){throw t instanceof S?t:S.fromErrorType({type:25,error:t})}}function et(n){let{jwt:e,uidKey:t="sub"}=n,r;try{r=Ia(e)}catch(o){throw S.fromErrorType({type:12,details:`Failed to parse JWT - ${ji(o)}`})}if(typeof r.iss!="string")throw S.fromErrorType({type:12,details:"JWT is missing 'iss' in the payload. This should never happen."});if(typeof r.aud!="string")throw S.fromErrorType({type:12,details:"JWT is missing 'aud' in the payload or 'aud' is an array of values."});let i=r[t];return{iss:r.iss,aud:r.aud,uidVal:i}}async function Zc(n){let{aptosConfig:e,options:t}=n,r="0x1::keyless_account::Configuration";try{let{data:i}=await st({aptosConfig:e,originMethod:"getKeylessConfigurationResource",path:`accounts/${u.from("0x1").toString()}/resource/${r}`,params:{ledger_version:t?.ledgerVersion}});return i.data}catch(i){throw S.fromErrorType({type:22,error:i})}}async function Yc(n){let{aptosConfig:e,options:t}=n,r="0x1::keyless_account::Groth16VerificationKey";try{let{data:i}=await st({aptosConfig:e,originMethod:"getGroth16VerificationKeyResource",path:`accounts/${u.from("0x1").toString()}/resource/${r}`,params:{ledger_version:t?.ledgerVersion}});return i.data}catch(i){throw S.fromErrorType({type:23,error:i})}}async function Xc(n){let{aptosConfig:e,jwkAddr:t,options:r}=n,i;if(t){let s="0x1::jwks::FederatedJWKs",{data:a}=await st({aptosConfig:e,originMethod:"getKeylessJWKs",path:`accounts/${u.from(t).toString()}/resource/${s}`,params:{ledger_version:r?.ledgerVersion}});i=a}else{let s="0x1::jwks::PatchedJWKs",{data:a}=await st({aptosConfig:e,originMethod:"getKeylessJWKs",path:`accounts/0x1/resource/${s}`,params:{ledger_version:r?.ledgerVersion}});i=a}let o=new Map;for(let s of i.data.jwks.entries){let a=[];for(let c of s.jwks){let{data:d}=c.variant,l=new F(m.fromHexInput(d).toUint8Array()),g=Ii.deserialize(l);a.push(g)}o.set(_i(s.issuer),a)}return o}var Ii=class n extends w{constructor(e){super();let{kid:t,kty:r,alg:i,e:o,n:s}=e;this.kid=t,this.kty=r,this.alg=i,this.e=o,this.n=s}serialize(e){e.serializeStr(this.kid),e.serializeStr(this.kty),e.serializeStr(this.alg),e.serializeStr(this.e),e.serializeStr(this.n)}static fromMoveStruct(e){let{data:t}=e.variant,r=new F(m.fromHexInput(t).toUint8Array());return n.deserialize(r)}toScalar(){if(this.alg!=="RS256")throw S.fromErrorType({type:32,details:"Failed to convert JWK to scalar when calculating the public inputs hash. Only RSA 256 is supported currently"});let e=Zi(this.n),r=eu(e.reverse()).map(i=>Gt(i));return r.push(256n),Mt(r)}static deserialize(e){let t=e.deserializeStr(),r=e.deserializeStr(),i=e.deserializeStr(),o=e.deserializeStr(),s=e.deserializeStr();return new n({kid:t,kty:r,alg:i,n:s,e:o})}};function eu(n){let e=[];for(let t=0;t<n.length;t+=24){let r=n.slice(t,Math.min(t+24,n.length));if(r.length<24){let i=new Uint8Array(24);i.set(r),e.push(i)}else e.push(r)}return e}function tu(n){try{let e=JSON.parse(n);if(e.kid===void 0)throw new Error("JWT header missing kid");return e}catch{throw new Error("Failed to parse JWT header.")}}var G=class n extends ke{constructor(e,t){super(),this.jwkAddress=u.from(e),this.keylessPublicKey=t}authKey(){let e=new ee;return e.serializeU32AsUleb128(4),e.serializeFixedBytes(this.bcsToBytes()),ne.fromSchemeAndBytes({scheme:2,input:e.toUint8Array()})}verifySignature(e){try{return Cr({...e,publicKey:this}),!0}catch{return!1}}serialize(e){this.jwkAddress.serialize(e),this.keylessPublicKey.serialize(e)}static deserialize(e){let t=u.deserialize(e),r=E.deserialize(e);return new n(t,r)}static isPublicKey(e){return e instanceof n}async verifySignatureAsync(e){return Ei({...e,publicKey:this})}static create(e){return new n(e.jwkAddress,E.create(e))}static fromJwtAndPepper(e){return new n(e.jwkAddress,E.fromJwtAndPepper(e))}static isInstance(e){return"jwkAddress"in e&&e.jwkAddress instanceof u&&"keylessPublicKey"in e&&e.keylessPublicKey instanceof E}};var Wt=n=>typeof n=="string"?m.isValid(n).valid?n:new TextEncoder().encode(n):n,di=n=>{if(n instanceof b||n instanceof x||n instanceof J||n instanceof B)return n;if(n instanceof E||n instanceof G)return new x(n);throw new Error(`Unknown account public key: ${n}`)},ss=n=>{let e=di(n);if(e instanceof b)return 0;if(e instanceof x)return 2;if(e instanceof J)return 1;if(e instanceof B)return 3;throw new Error(`Unknown signing scheme: ${e}`)};var vi=[237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16];function nu(n){let e=n.toUint8Array().slice(32);for(let t=vi.length-1;t>=0;t-=1){if(e[t]<vi[t])return!0;if(e[t]>vi[t])return!1}return!1}var gt=class gt extends ke{constructor(e){super();let t=m.fromHexInput(e);if(t.toUint8Array().length!==gt.LENGTH)throw new Error(`PublicKey length should be ${gt.LENGTH}`);this.key=t}verifySignature(e){let{message:t,signature:r}=e;if(!nu(r))return!1;let i=Wt(t),o=m.fromHexInput(i).toUint8Array(),s=r.toUint8Array(),a=this.key.toUint8Array();return _r.verify(s,o,a)}async verifySignatureAsync(e){return this.verifySignature(e)}authKey(){return ne.fromSchemeAndBytes({scheme:0,input:this.toUint8Array()})}toUint8Array(){return this.key.toUint8Array()}serialize(e){e.serializeBytes(this.key.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new gt(t)}static isPublicKey(e){return e instanceof gt}static isInstance(e){return"key"in e&&e.key?.data?.length===gt.LENGTH}};gt.LENGTH=32;var b=gt,Te=class Te extends w{constructor(e,t){super();let r=Nt.parseHexInput(e,"ed25519",t);if(r.toUint8Array().length!==Te.LENGTH)throw new Error(`PrivateKey length should be ${Te.LENGTH}`);this.signingKey=r}static generate(){let e=_r.utils.randomPrivateKey();return new Te(e,!1)}static fromDerivationPath(e,t){if(!Oi(e))throw new Error(`Invalid derivation path ${e}`);return Te.fromDerivationPathInner(e,Bn(t))}static fromDerivationPathInner(e,t,r=Di){let{key:i,chainCode:o}=Ni(Te.SLIP_0010_SEED,t),s=Mi(e).map(c=>parseInt(c,10)),{key:a}=s.reduce((c,d)=>Gi(c,d+r),{key:i,chainCode:o});return new Te(a,!1)}publicKey(){let e=_r.getPublicKey(this.signingKey.toUint8Array());return new b(e)}sign(e){let t=Wt(e),r=m.fromHexInput(t).toUint8Array(),i=_r.sign(r,this.signingKey.toUint8Array());return new v(i)}toUint8Array(){return this.signingKey.toUint8Array()}toString(){return this.toAIP80String()}toHexString(){return this.signingKey.toString()}toAIP80String(){return Nt.formatPrivateKey(this.signingKey.toString(),"ed25519")}serialize(e){e.serializeBytes(this.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new Te(t,!1)}static isPrivateKey(e){return e instanceof Te}};Te.LENGTH=32,Te.SLIP_0010_SEED="ed25519 seed";var L=Te,gn=class gn extends Q{constructor(e){super();let t=m.fromHexInput(e);if(t.toUint8Array().length!==gn.LENGTH)throw new Error(`Signature length should be ${gn.LENGTH}`);this.data=t}toUint8Array(){return this.data.toUint8Array()}serialize(e){e.serializeBytes(this.data.toUint8Array())}static deserialize(e){let t=e.deserializeBytes();return new gn(t)}};gn.LENGTH=64;var v=gn;var ut=class n extends Mn{constructor(e){super();let t=e.constructor.name;switch(t){case b.name:this.publicKey=e,this.variant=0;break;default:throw new Error(`Unsupported key for EphemeralPublicKey - ${t}`)}}verifySignature(e){let{message:t,signature:r}=e;return this.publicKey.verifySignature({message:t,signature:r.signature})}async verifySignatureAsync(e){return this.verifySignature(e)}serialize(e){if(this.publicKey instanceof b)e.serializeU32AsUleb128(0),this.publicKey.serialize(e);else throw new Error("Unknown public key type")}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new n(b.deserialize(e));default:throw new Error(`Unknown variant index for EphemeralPublicKey: ${t}`)}}static isPublicKey(e){return e instanceof n}},Ne=class n extends Q{constructor(e){super();let t=e.constructor.name;switch(t){case v.name:this.signature=e;break;default:throw new Error(`Unsupported signature for EphemeralSignature - ${t}`)}}static fromHex(e){let t=m.fromHexInput(e),r=new F(t.toUint8Array());return n.deserialize(r)}serialize(e){if(this.signature instanceof v)e.serializeU32AsUleb128(0),this.signature.serialize(e);else throw new Error("Unknown signature type")}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new n(v.deserialize(e));default:throw new Error(`Unknown variant index for EphemeralSignature: ${t}`)}}};export{ut as a,Ne as b,Hc as c,Ti as d,Lc as e,$c as f,qc as g,Wc as h,jc as i,Qc as j,E as k,Ei as l,Cr as m,Wr as n,re as o,on as p,lt as q,Pi as r,ln as s,ge as t,Ki as u,xi as v,sn as w,et as x,Xc as y,Ii as z,tu as A,G as B,Ke as C,He as D,Le as E,x as F,R as G,xe as H,B as I,Ae as J,J as K,Ie as L,Wt as M,di as N,ss as O,nu as P,b as Q,L as R,v as S,sd as T,ad as U,q as V,Ee as W,$e as X,ie as Y,De as Z,jt as _,yt as $,Xn as aa,fn as ba,C as ca,V as da,oe as ea,mt as fa,qe as ga,ft as ha,We as ia,At as ja,W as ka,ht as la,je as ma,bt as na,Qe as oa,wt as pa,O as qa,Tt as ra,er as sa,N as ta,_ as ua,f as va,Re as wa,tp as xa,I as ya,np as za,le as Aa,_a as Ba,at as Ca,Qt as Da,Jt as Ea,Zt as Fa,Je as Ga,Yt as Ha,An as Ia,hn as Ja,tr as Ka,St as La,Xt as Ma,bn as Na,en as Oa,wn as Pa,nr as Qa,Pt as Ra,he as Sa,rr as Ta,Kt as Ua,xt as Va,Ze as Wa,It as Xa,tn as Ya,Et as Za,vt as _a,ct as $a,Ye as ab,ir as bb,or as cb,sr as db,Oe as eb,fl as fb,ve as gb,Z as hb,qr as ib,se as jb,Xe as kb,Ct as lb,cr as mb,ye as nb,ar as ob,be as pb,Ce as qb,tt as rb,Tn as sb,No as tb,Bo as ub,ur as vb,Ho as wb,La as xb,$ as yb,_e as zb,qo as Ab,nt as Bb,$a as Cb,dr as Db,pr as Eb,Wo as Fb,jo as Gb,Qr as Hb,lr as Ib,Jr as Jb,qa as Kb,Zr as Lb,Yr as Mb,Xr as Nb,ei as Ob,ti as Pb,ni as Qb,Qo as Rb,U as Sb,Jo as Tb,gr as Ub,ja as Vb,ii as Wb,Km as Xb,Zo as Yb,Yo as Zb,oi as _b,_t as $b,mr as ac,Za as bc,Xo as cc,Ya as dc,ec,tc as fc,si as gc,es as hc,an as ic,ai as jc,ts as kc,Zm as lc,A as mc,ic as nc,oc,rs as pc,fr as qc,Ar as rc,ci as sc,Kn as tc,hr as uc,is as vc,os as wc,cn as xc,as as yc,cs as zc,yr as Ac,pi as Bc,li as Cc,us as Dc,gi as Ec,un as Fc,ds as Gc,ps as Hc,ls as Ic,gs as Jc,ys as Kc,bA as Lc,yi as Mc,ms as Nc,fs as Oc,mi as Pc,As as Qc,wA as Rc,bs as Sc,ws as Tc,wr as Uc,fi as Vc,ae as Wc,Ts as Xc,Ss as Yc,Ps as Zc,Ks as _c,Ut as $c,xn as ad,xs as bd,En as cd,Is as dd,Es as ed,vs as fd,Cs as gd,_s as hd,dn as id,Us as jd,ks as kd,Fs as ld,zs as md,Ds as nd,Rs as od,Os as pd,Ns as qd,Gs as rd,Ms as sd,Bs as td,Vs as ud,Hs as vd,Ls as wd,$s as xd,qs as yd,Ws as zd,js as Ad,vn as Bd,Js as Cd,Cn as Dd,Tr as Ed,Zs as Fd,Ys as Gd,ea as Hd,ta as Id,_n as Jd,Un as Kd,na as Ld,ra as Md,pt as Nd,kc as Od,ia as Pd,Eb as Qd,Fc as Rd,oa as Sd,sa as Td,hi as Ud,aa as Vd,ca as Wd,ua as Xd,da as Yd,pa as Zd,la as _d,ga as $d,ya as ae,ma as be,fa as ce,Fn as de,Aa as ee,ha as fe,ba as ge,zn as he,Pr as ie,pn as je,Kr as ke,xr as le,wa as me,Ta as ne,Ir as oe,Er as pe,Dn as qe,vr as re,wi as se,Sa as te,Pa as ue,Rn as ve,Gc as we,Ka as xe,On as ye,Y as ze};
4
+ //# sourceMappingURL=chunk-76PXED26.mjs.map