@aptos-labs/ts-sdk 1.26.0 → 1.27.1

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 (244) hide show
  1. package/dist/common/{accountAddress-D9blTwwp.d.ts → accountAddress-LOYE4_sG.d.ts} +8 -2
  2. package/dist/common/chunk-J4IUXT5W.js +2 -0
  3. package/dist/common/chunk-J4IUXT5W.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/index.d.ts +36 -3
  7. package/dist/common/index.js +3 -3
  8. package/dist/common/index.js.map +1 -1
  9. package/dist/esm/account/Account.mjs +1 -1
  10. package/dist/esm/account/Ed25519Account.mjs +1 -1
  11. package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
  12. package/dist/esm/account/KeylessAccount.mjs +1 -1
  13. package/dist/esm/account/MultiKeyAccount.mjs +1 -1
  14. package/dist/esm/account/SingleKeyAccount.mjs +1 -1
  15. package/dist/esm/account/index.mjs +1 -1
  16. package/dist/esm/api/account.mjs +1 -1
  17. package/dist/esm/api/ans.mjs +1 -1
  18. package/dist/esm/api/aptos.mjs +1 -1
  19. package/dist/esm/api/coin.mjs +1 -1
  20. package/dist/esm/api/digitalAsset.mjs +1 -1
  21. package/dist/esm/api/event.mjs +1 -1
  22. package/dist/esm/api/faucet.mjs +1 -1
  23. package/dist/esm/api/fungibleAsset.mjs +1 -1
  24. package/dist/esm/api/general.mjs +1 -1
  25. package/dist/esm/api/index.mjs +1 -1
  26. package/dist/esm/api/keyless.mjs +1 -1
  27. package/dist/esm/api/object.mjs +1 -1
  28. package/dist/esm/api/staking.mjs +1 -1
  29. package/dist/esm/api/table.mjs +1 -1
  30. package/dist/esm/api/transaction.mjs +1 -1
  31. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  32. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  33. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  34. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  35. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  36. package/dist/esm/api/utils.mjs +1 -1
  37. package/dist/esm/bcs/deserializer.d.mts +6 -0
  38. package/dist/esm/bcs/deserializer.mjs +1 -1
  39. package/dist/esm/bcs/index.mjs +1 -1
  40. package/dist/esm/{chunk-IWBYKVXH.mjs → chunk-2CC67KW5.mjs} +2 -2
  41. package/dist/esm/{chunk-T4BJCVCN.mjs → chunk-2N2VEGT6.mjs} +2 -2
  42. package/dist/esm/{chunk-QEIKAT6S.mjs → chunk-3SPU4V2B.mjs} +2 -2
  43. package/dist/esm/{chunk-R5Y36IYW.mjs → chunk-4SDUQ7AS.mjs} +2 -2
  44. package/dist/esm/{chunk-YY7NLCQK.mjs → chunk-4ZMI5G5L.mjs} +2 -2
  45. package/dist/esm/{chunk-7MYVC7NY.mjs → chunk-52KPINA4.mjs} +2 -2
  46. package/dist/esm/{chunk-4MDBWSPX.mjs → chunk-5IUXBOS5.mjs} +2 -2
  47. package/dist/esm/{chunk-AW2ARPK4.mjs → chunk-5L3PLK3W.mjs} +2 -2
  48. package/dist/esm/{chunk-CTRLWMAG.mjs → chunk-6BYVG7H4.mjs} +2 -2
  49. package/dist/esm/{chunk-R3IDASOF.mjs → chunk-6ERHGCK2.mjs} +2 -2
  50. package/dist/esm/{chunk-EC3JEZIB.mjs → chunk-74YFNJ7A.mjs} +2 -2
  51. package/dist/esm/{chunk-6MNATRA3.mjs → chunk-7AIKM3UF.mjs} +2 -2
  52. package/dist/esm/{chunk-WGZZQQDK.mjs → chunk-7Y3MRBG6.mjs} +2 -2
  53. package/dist/esm/{chunk-VWGU7IB6.mjs → chunk-A4T373F3.mjs} +2 -2
  54. package/dist/esm/{chunk-2RCCHNYU.mjs → chunk-AYX5JMB4.mjs} +2 -2
  55. package/dist/esm/chunk-BSUYPXRD.mjs +2 -0
  56. package/dist/esm/{chunk-ZBOD65DP.mjs → chunk-CTJX4CUF.mjs} +2 -2
  57. package/dist/esm/{chunk-XUT73RUR.mjs → chunk-ECKJI2TV.mjs} +2 -2
  58. package/dist/esm/{chunk-C3DUPBSO.mjs → chunk-EZIF26UH.mjs} +2 -2
  59. package/dist/esm/{chunk-GG2DBDJT.mjs → chunk-F7NVDHR2.mjs} +2 -2
  60. package/dist/esm/{chunk-H2QJOKSW.mjs → chunk-FNT3VLRD.mjs} +2 -2
  61. package/dist/esm/{chunk-GIKRKT5B.mjs → chunk-FOHGSNYZ.mjs} +2 -2
  62. package/dist/esm/{chunk-36KSOGK4.mjs → chunk-GHKMF253.mjs} +2 -2
  63. package/dist/esm/{chunk-5BSAUHMZ.mjs → chunk-GNFEBKFV.mjs} +2 -2
  64. package/dist/esm/{chunk-RXK5BSD6.mjs → chunk-H33YIMTU.mjs} +2 -2
  65. package/dist/esm/chunk-HGLO5LDS.mjs +1 -0
  66. package/dist/esm/{chunk-XDDQWRYI.mjs → chunk-HHU7UCFI.mjs} +2 -2
  67. package/dist/esm/{chunk-D3M72WFO.mjs → chunk-HRIYZBXY.mjs} +2 -2
  68. package/dist/esm/{chunk-A2SMIFMN.mjs → chunk-I5XQKNOK.mjs} +2 -2
  69. package/dist/esm/{chunk-ITADRWJI.mjs → chunk-JKNTGRSQ.mjs} +2 -2
  70. package/dist/esm/{chunk-D7RK6FAB.mjs → chunk-KEN2VRIM.mjs} +2 -2
  71. package/dist/esm/chunk-KEYAPEAX.mjs +2 -0
  72. package/dist/esm/chunk-KEYAPEAX.mjs.map +1 -0
  73. package/dist/esm/{chunk-BTUJC43M.mjs → chunk-MEKXPGK7.mjs} +2 -2
  74. package/dist/esm/{chunk-GTFAH6VB.mjs → chunk-NCWD4NA3.mjs} +2 -2
  75. package/dist/esm/{chunk-3O7OEDTT.mjs → chunk-NRRADUK4.mjs} +2 -2
  76. package/dist/esm/{chunk-C7HIUK23.mjs → chunk-NU55IEL4.mjs} +2 -2
  77. package/dist/esm/{chunk-DLLNBXLZ.mjs → chunk-OEOUZFHD.mjs} +2 -2
  78. package/dist/esm/{chunk-IEGY7WEL.mjs → chunk-ORXEFE6X.mjs} +2 -2
  79. package/dist/esm/{chunk-WYG7CP3N.mjs → chunk-PO33LVUF.mjs} +2 -2
  80. package/dist/esm/{chunk-MRT63YLE.mjs → chunk-PY4TS34X.mjs} +2 -2
  81. package/dist/esm/{chunk-ZXSNAEPE.mjs → chunk-Q67DUNMI.mjs} +2 -2
  82. package/dist/esm/{chunk-ZDRXYQEE.mjs → chunk-QE5OL6KN.mjs} +2 -2
  83. package/dist/esm/{chunk-N3PNKHCQ.mjs → chunk-QV6EZL2G.mjs} +2 -2
  84. package/dist/esm/{chunk-WS2XAD7R.mjs → chunk-RA3YPQG2.mjs} +2 -2
  85. package/dist/esm/{chunk-T6VJAACM.mjs → chunk-SONTIUAM.mjs} +2 -2
  86. package/dist/esm/{chunk-3UV2Z2A4.mjs → chunk-T2NJUIOQ.mjs} +2 -2
  87. package/dist/esm/{chunk-FETZGNB3.mjs → chunk-UO52TECC.mjs} +2 -2
  88. package/dist/esm/{chunk-LHJBQVU4.mjs → chunk-USOIC4HO.mjs} +2 -2
  89. package/dist/esm/{chunk-2RO27Y23.mjs → chunk-UV7M72QD.mjs} +2 -2
  90. package/dist/esm/{chunk-VHKT63N7.mjs → chunk-WABFFJGI.mjs} +2 -2
  91. package/dist/esm/{chunk-LN2AM5IU.mjs → chunk-WFOYGJS5.mjs} +2 -2
  92. package/dist/esm/{chunk-OMIBMVDW.mjs → chunk-WHW4Z7TK.mjs} +2 -2
  93. package/dist/esm/{chunk-ITMW7GWH.mjs → chunk-Y3HLYCF3.mjs} +2 -2
  94. package/dist/esm/chunk-YXITAP46.mjs +2 -0
  95. package/dist/esm/{chunk-JCPI7D7I.mjs.map → chunk-YXITAP46.mjs.map} +1 -1
  96. package/dist/esm/{chunk-XCBLFSY5.mjs → chunk-YY2XW5R4.mjs} +2 -2
  97. package/dist/esm/chunk-ZEYOFDIO.mjs +2 -0
  98. package/dist/esm/{chunk-DDKAXJOY.mjs.map → chunk-ZEYOFDIO.mjs.map} +1 -1
  99. package/dist/esm/chunk-ZOMXBB6Z.mjs +2 -0
  100. package/dist/esm/chunk-ZOMXBB6Z.mjs.map +1 -0
  101. package/dist/esm/{chunk-GP4FRPJQ.mjs → chunk-ZQFFRZJ4.mjs} +2 -2
  102. package/dist/esm/{chunk-YZWR7OV5.mjs → chunk-ZXYTLPP6.mjs} +2 -2
  103. package/dist/esm/{chunk-KZY3TZVR.mjs → chunk-ZZRSKHWS.mjs} +2 -2
  104. package/dist/esm/cli/index.mjs +1 -1
  105. package/dist/esm/cli/localNode.mjs +1 -1
  106. package/dist/esm/client/core.mjs +1 -1
  107. package/dist/esm/client/get.mjs +1 -1
  108. package/dist/esm/client/index.mjs +1 -1
  109. package/dist/esm/client/post.mjs +1 -1
  110. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  111. package/dist/esm/core/crypto/ephemeral.mjs +1 -1
  112. package/dist/esm/core/crypto/index.mjs +1 -1
  113. package/dist/esm/core/crypto/keyless.mjs +1 -1
  114. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  115. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  116. package/dist/esm/core/crypto/proof.mjs +1 -1
  117. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  118. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  119. package/dist/esm/core/crypto/signature.mjs +1 -1
  120. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  121. package/dist/esm/core/index.mjs +1 -1
  122. package/dist/esm/index.d.mts +1 -0
  123. package/dist/esm/index.mjs +1 -1
  124. package/dist/esm/internal/account.mjs +1 -1
  125. package/dist/esm/internal/ans.mjs +1 -1
  126. package/dist/esm/internal/coin.mjs +1 -1
  127. package/dist/esm/internal/digitalAsset.mjs +1 -1
  128. package/dist/esm/internal/event.mjs +1 -1
  129. package/dist/esm/internal/faucet.mjs +1 -1
  130. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  131. package/dist/esm/internal/general.mjs +1 -1
  132. package/dist/esm/internal/keyless.mjs +1 -1
  133. package/dist/esm/internal/object.mjs +1 -1
  134. package/dist/esm/internal/staking.mjs +1 -1
  135. package/dist/esm/internal/table.mjs +1 -1
  136. package/dist/esm/internal/transaction.mjs +1 -1
  137. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  138. package/dist/esm/internal/view.mjs +1 -1
  139. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  140. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  141. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  142. package/dist/esm/transactions/index.mjs +1 -1
  143. package/dist/esm/transactions/instances/index.mjs +1 -1
  144. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  145. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  146. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  147. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  148. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  149. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  150. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  151. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  152. package/dist/esm/transactions/management/index.mjs +1 -1
  153. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  154. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  155. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  156. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  157. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
  158. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  159. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  160. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  161. package/dist/esm/types/generated/operations.d.mts +2 -2
  162. package/dist/esm/types/generated/types.d.mts +13 -3
  163. package/dist/esm/types/generated/types.mjs +1 -1
  164. package/dist/esm/types/generated/types.mjs.map +1 -1
  165. package/dist/esm/utils/helpers.d.mts +25 -1
  166. package/dist/esm/utils/helpers.mjs +1 -1
  167. package/dist/esm/utils/index.d.mts +1 -0
  168. package/dist/esm/utils/index.mjs +1 -1
  169. package/dist/esm/utils/normalizeBundle.mjs +1 -1
  170. package/dist/esm/version.d.mts +1 -1
  171. package/dist/esm/version.mjs +1 -1
  172. package/package.json +7 -4
  173. package/src/bcs/deserializer.ts +9 -0
  174. package/src/types/generated/operations.ts +2 -2
  175. package/src/types/generated/types.ts +13 -2
  176. package/src/utils/helpers.ts +26 -0
  177. package/src/utils/index.ts +1 -0
  178. package/src/version.ts +1 -1
  179. package/dist/common/chunk-BHKSQXUZ.js +0 -2
  180. package/dist/common/chunk-BHKSQXUZ.js.map +0 -1
  181. package/dist/esm/chunk-DDKAXJOY.mjs +0 -2
  182. package/dist/esm/chunk-DZXM2MQY.mjs +0 -2
  183. package/dist/esm/chunk-DZXM2MQY.mjs.map +0 -1
  184. package/dist/esm/chunk-GED6IT3S.mjs +0 -1
  185. package/dist/esm/chunk-JCPI7D7I.mjs +0 -2
  186. package/dist/esm/chunk-WV5AD4IE.mjs +0 -2
  187. package/dist/esm/chunk-YTQVMLFD.mjs +0 -2
  188. package/dist/esm/chunk-YTQVMLFD.mjs.map +0 -1
  189. /package/dist/esm/{chunk-IWBYKVXH.mjs.map → chunk-2CC67KW5.mjs.map} +0 -0
  190. /package/dist/esm/{chunk-T4BJCVCN.mjs.map → chunk-2N2VEGT6.mjs.map} +0 -0
  191. /package/dist/esm/{chunk-QEIKAT6S.mjs.map → chunk-3SPU4V2B.mjs.map} +0 -0
  192. /package/dist/esm/{chunk-R5Y36IYW.mjs.map → chunk-4SDUQ7AS.mjs.map} +0 -0
  193. /package/dist/esm/{chunk-YY7NLCQK.mjs.map → chunk-4ZMI5G5L.mjs.map} +0 -0
  194. /package/dist/esm/{chunk-7MYVC7NY.mjs.map → chunk-52KPINA4.mjs.map} +0 -0
  195. /package/dist/esm/{chunk-4MDBWSPX.mjs.map → chunk-5IUXBOS5.mjs.map} +0 -0
  196. /package/dist/esm/{chunk-AW2ARPK4.mjs.map → chunk-5L3PLK3W.mjs.map} +0 -0
  197. /package/dist/esm/{chunk-CTRLWMAG.mjs.map → chunk-6BYVG7H4.mjs.map} +0 -0
  198. /package/dist/esm/{chunk-R3IDASOF.mjs.map → chunk-6ERHGCK2.mjs.map} +0 -0
  199. /package/dist/esm/{chunk-EC3JEZIB.mjs.map → chunk-74YFNJ7A.mjs.map} +0 -0
  200. /package/dist/esm/{chunk-6MNATRA3.mjs.map → chunk-7AIKM3UF.mjs.map} +0 -0
  201. /package/dist/esm/{chunk-WGZZQQDK.mjs.map → chunk-7Y3MRBG6.mjs.map} +0 -0
  202. /package/dist/esm/{chunk-VWGU7IB6.mjs.map → chunk-A4T373F3.mjs.map} +0 -0
  203. /package/dist/esm/{chunk-2RCCHNYU.mjs.map → chunk-AYX5JMB4.mjs.map} +0 -0
  204. /package/dist/esm/{chunk-WV5AD4IE.mjs.map → chunk-BSUYPXRD.mjs.map} +0 -0
  205. /package/dist/esm/{chunk-ZBOD65DP.mjs.map → chunk-CTJX4CUF.mjs.map} +0 -0
  206. /package/dist/esm/{chunk-XUT73RUR.mjs.map → chunk-ECKJI2TV.mjs.map} +0 -0
  207. /package/dist/esm/{chunk-C3DUPBSO.mjs.map → chunk-EZIF26UH.mjs.map} +0 -0
  208. /package/dist/esm/{chunk-GG2DBDJT.mjs.map → chunk-F7NVDHR2.mjs.map} +0 -0
  209. /package/dist/esm/{chunk-H2QJOKSW.mjs.map → chunk-FNT3VLRD.mjs.map} +0 -0
  210. /package/dist/esm/{chunk-GIKRKT5B.mjs.map → chunk-FOHGSNYZ.mjs.map} +0 -0
  211. /package/dist/esm/{chunk-36KSOGK4.mjs.map → chunk-GHKMF253.mjs.map} +0 -0
  212. /package/dist/esm/{chunk-5BSAUHMZ.mjs.map → chunk-GNFEBKFV.mjs.map} +0 -0
  213. /package/dist/esm/{chunk-RXK5BSD6.mjs.map → chunk-H33YIMTU.mjs.map} +0 -0
  214. /package/dist/esm/{chunk-GED6IT3S.mjs.map → chunk-HGLO5LDS.mjs.map} +0 -0
  215. /package/dist/esm/{chunk-XDDQWRYI.mjs.map → chunk-HHU7UCFI.mjs.map} +0 -0
  216. /package/dist/esm/{chunk-D3M72WFO.mjs.map → chunk-HRIYZBXY.mjs.map} +0 -0
  217. /package/dist/esm/{chunk-A2SMIFMN.mjs.map → chunk-I5XQKNOK.mjs.map} +0 -0
  218. /package/dist/esm/{chunk-ITADRWJI.mjs.map → chunk-JKNTGRSQ.mjs.map} +0 -0
  219. /package/dist/esm/{chunk-D7RK6FAB.mjs.map → chunk-KEN2VRIM.mjs.map} +0 -0
  220. /package/dist/esm/{chunk-BTUJC43M.mjs.map → chunk-MEKXPGK7.mjs.map} +0 -0
  221. /package/dist/esm/{chunk-GTFAH6VB.mjs.map → chunk-NCWD4NA3.mjs.map} +0 -0
  222. /package/dist/esm/{chunk-3O7OEDTT.mjs.map → chunk-NRRADUK4.mjs.map} +0 -0
  223. /package/dist/esm/{chunk-C7HIUK23.mjs.map → chunk-NU55IEL4.mjs.map} +0 -0
  224. /package/dist/esm/{chunk-DLLNBXLZ.mjs.map → chunk-OEOUZFHD.mjs.map} +0 -0
  225. /package/dist/esm/{chunk-IEGY7WEL.mjs.map → chunk-ORXEFE6X.mjs.map} +0 -0
  226. /package/dist/esm/{chunk-WYG7CP3N.mjs.map → chunk-PO33LVUF.mjs.map} +0 -0
  227. /package/dist/esm/{chunk-MRT63YLE.mjs.map → chunk-PY4TS34X.mjs.map} +0 -0
  228. /package/dist/esm/{chunk-ZXSNAEPE.mjs.map → chunk-Q67DUNMI.mjs.map} +0 -0
  229. /package/dist/esm/{chunk-ZDRXYQEE.mjs.map → chunk-QE5OL6KN.mjs.map} +0 -0
  230. /package/dist/esm/{chunk-N3PNKHCQ.mjs.map → chunk-QV6EZL2G.mjs.map} +0 -0
  231. /package/dist/esm/{chunk-WS2XAD7R.mjs.map → chunk-RA3YPQG2.mjs.map} +0 -0
  232. /package/dist/esm/{chunk-T6VJAACM.mjs.map → chunk-SONTIUAM.mjs.map} +0 -0
  233. /package/dist/esm/{chunk-3UV2Z2A4.mjs.map → chunk-T2NJUIOQ.mjs.map} +0 -0
  234. /package/dist/esm/{chunk-FETZGNB3.mjs.map → chunk-UO52TECC.mjs.map} +0 -0
  235. /package/dist/esm/{chunk-LHJBQVU4.mjs.map → chunk-USOIC4HO.mjs.map} +0 -0
  236. /package/dist/esm/{chunk-2RO27Y23.mjs.map → chunk-UV7M72QD.mjs.map} +0 -0
  237. /package/dist/esm/{chunk-VHKT63N7.mjs.map → chunk-WABFFJGI.mjs.map} +0 -0
  238. /package/dist/esm/{chunk-LN2AM5IU.mjs.map → chunk-WFOYGJS5.mjs.map} +0 -0
  239. /package/dist/esm/{chunk-OMIBMVDW.mjs.map → chunk-WHW4Z7TK.mjs.map} +0 -0
  240. /package/dist/esm/{chunk-ITMW7GWH.mjs.map → chunk-Y3HLYCF3.mjs.map} +0 -0
  241. /package/dist/esm/{chunk-XCBLFSY5.mjs.map → chunk-YY2XW5R4.mjs.map} +0 -0
  242. /package/dist/esm/{chunk-GP4FRPJQ.mjs.map → chunk-ZQFFRZJ4.mjs.map} +0 -0
  243. /package/dist/esm/{chunk-YZWR7OV5.mjs.map → chunk-ZXYTLPP6.mjs.map} +0 -0
  244. /package/dist/esm/{chunk-KZY3TZVR.mjs.map → chunk-ZZRSKHWS.mjs.map} +0 -0
@@ -6,5 +6,29 @@ declare function sleep(timeMs: number): Promise<null>;
6
6
  declare const nowInSeconds: () => number;
7
7
  declare function floorToWholeHour(timestampInSeconds: number): number;
8
8
  declare function base64UrlDecode(base64Url: string): string;
9
+ /**
10
+ * Amount is represented in the smallest unit format on chain, this function converts
11
+ * a human readable amount format to the smallest unit format
12
+ * @example
13
+ * human readable amount format: 500
14
+ * on chain amount format when decimal is 8: 50000000000
15
+ *
16
+ * @param value The value in human readable format
17
+ * @param decimal The token decimal
18
+ * @returns The value is smallest units
19
+ */
20
+ declare const convertAmountFromHumanReadableToOnChain: (value: number, decimal: number) => number;
21
+ /**
22
+ * Amount is represented in the smallest unit format on chain, this function converts
23
+ * the smallest unit format to a human readable amount format
24
+ * @example
25
+ * human readable amount format: 500
26
+ * on chain amount format when decimal is 8: 50000000000
27
+ *
28
+ * @param value The value in human readable format
29
+ * @param decimal The token decimal
30
+ * @returns The value is smallest units
31
+ */
32
+ declare const convertAmountFromOnChainToHumanReadable: (value: number, decimal: number) => number;
9
33
 
10
- export { base64UrlDecode, floorToWholeHour, nowInSeconds, sleep };
34
+ export { base64UrlDecode, convertAmountFromHumanReadableToOnChain, convertAmountFromOnChainToHumanReadable, floorToWholeHour, nowInSeconds, sleep };
@@ -1,2 +1,2 @@
1
- import{a,b,c,d}from"../chunk-YTQVMLFD.mjs";import"../chunk-FVA2OPG4.mjs";export{d as base64UrlDecode,c as floorToWholeHour,b as nowInSeconds,a as sleep};
1
+ import{a,b,c,d,e,f}from"../chunk-ZOMXBB6Z.mjs";import"../chunk-FVA2OPG4.mjs";export{d as base64UrlDecode,e as convertAmountFromHumanReadableToOnChain,f as convertAmountFromOnChainToHumanReadable,c as floorToWholeHour,b as nowInSeconds,a as sleep};
2
2
  //# sourceMappingURL=helpers.mjs.map
@@ -1,6 +1,7 @@
1
1
  export { Network, NetworkToChainId, NetworkToFaucetAPI, NetworkToIndexerAPI, NetworkToNetworkName, NetworkToNodeAPI, NetworkToPepperAPI, NetworkToProverAPI } from './apiEndpoints.mjs';
2
2
  export { APTOS_COIN, AptosApiType, DEFAULT_MAX_GAS_AMOUNT, DEFAULT_TXN_EXP_SEC_FROM_NOW, DEFAULT_TXN_TIMEOUT_SEC, ProcessorType, RAW_TRANSACTION_SALT, RAW_TRANSACTION_WITH_DATA_SALT } from './const.mjs';
3
3
  export { DeserializableClass, normalizeBundle } from './normalizeBundle.mjs';
4
+ export { base64UrlDecode, convertAmountFromHumanReadableToOnChain, convertAmountFromOnChainToHumanReadable, floorToWholeHour, nowInSeconds, sleep } from './helpers.mjs';
4
5
  import '../bcs/deserializer.mjs';
5
6
  import '../types/index.mjs';
6
7
  import '../types/indexer.mjs';
@@ -1,2 +1,2 @@
1
- import"../chunk-GED6IT3S.mjs";import{a as q}from"../chunk-WV5AD4IE.mjs";import"../chunk-FZY4PMEE.mjs";import"../chunk-P5V7OZNN.mjs";import"../chunk-H6YNXJNF.mjs";import"../chunk-KMJ6TF6Y.mjs";import"../chunk-YPHH6CAO.mjs";import"../chunk-THRXIXIO.mjs";import"../chunk-4WPQQPUF.mjs";import"../chunk-DZXM2MQY.mjs";import"../chunk-A63SMUOU.mjs";import"../chunk-BCUSI3N6.mjs";import"../chunk-LG7RJQ57.mjs";import"../chunk-56CNRT2K.mjs";import{a as i,b as j,c as k,d as l,e as m,f as n,g as o,h as p}from"../chunk-SCHZ67F3.mjs";import{a,b,c,d,e,f,g,h}from"../chunk-L36ZHC7J.mjs";import"../chunk-FVA2OPG4.mjs";export{e as APTOS_COIN,a as AptosApiType,b as DEFAULT_MAX_GAS_AMOUNT,c as DEFAULT_TXN_EXP_SEC_FROM_NOW,d as DEFAULT_TXN_TIMEOUT_SEC,n as Network,o as NetworkToChainId,k as NetworkToFaucetAPI,i as NetworkToIndexerAPI,p as NetworkToNetworkName,j as NetworkToNodeAPI,l as NetworkToPepperAPI,m as NetworkToProverAPI,h as ProcessorType,f as RAW_TRANSACTION_SALT,g as RAW_TRANSACTION_WITH_DATA_SALT,q as normalizeBundle};
1
+ import"../chunk-HGLO5LDS.mjs";import{a as q}from"../chunk-BSUYPXRD.mjs";import{a as r,b as s,c as t,d as u,e as v,f as w}from"../chunk-ZOMXBB6Z.mjs";import"../chunk-FZY4PMEE.mjs";import"../chunk-P5V7OZNN.mjs";import"../chunk-H6YNXJNF.mjs";import"../chunk-KMJ6TF6Y.mjs";import"../chunk-YPHH6CAO.mjs";import"../chunk-THRXIXIO.mjs";import"../chunk-4WPQQPUF.mjs";import"../chunk-KEYAPEAX.mjs";import"../chunk-A63SMUOU.mjs";import"../chunk-BCUSI3N6.mjs";import"../chunk-LG7RJQ57.mjs";import"../chunk-56CNRT2K.mjs";import{a as i,b as j,c as k,d as l,e as m,f as n,g as o,h as p}from"../chunk-SCHZ67F3.mjs";import{a,b,c,d,e,f,g,h}from"../chunk-L36ZHC7J.mjs";import"../chunk-FVA2OPG4.mjs";export{e as APTOS_COIN,a as AptosApiType,b as DEFAULT_MAX_GAS_AMOUNT,c as DEFAULT_TXN_EXP_SEC_FROM_NOW,d as DEFAULT_TXN_TIMEOUT_SEC,n as Network,o as NetworkToChainId,k as NetworkToFaucetAPI,i as NetworkToIndexerAPI,p as NetworkToNetworkName,j as NetworkToNodeAPI,l as NetworkToPepperAPI,m as NetworkToProverAPI,h as ProcessorType,f as RAW_TRANSACTION_SALT,g as RAW_TRANSACTION_WITH_DATA_SALT,u as base64UrlDecode,v as convertAmountFromHumanReadableToOnChain,w as convertAmountFromOnChainToHumanReadable,t as floorToWholeHour,q as normalizeBundle,s as nowInSeconds,r as sleep};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-WV5AD4IE.mjs";import"../chunk-FZY4PMEE.mjs";import"../chunk-P5V7OZNN.mjs";import"../chunk-H6YNXJNF.mjs";import"../chunk-KMJ6TF6Y.mjs";import"../chunk-YPHH6CAO.mjs";import"../chunk-THRXIXIO.mjs";import"../chunk-4WPQQPUF.mjs";import"../chunk-DZXM2MQY.mjs";import"../chunk-A63SMUOU.mjs";import"../chunk-BCUSI3N6.mjs";import"../chunk-LG7RJQ57.mjs";import"../chunk-56CNRT2K.mjs";import"../chunk-FVA2OPG4.mjs";export{a as normalizeBundle};
1
+ import{a}from"../chunk-BSUYPXRD.mjs";import"../chunk-FZY4PMEE.mjs";import"../chunk-P5V7OZNN.mjs";import"../chunk-H6YNXJNF.mjs";import"../chunk-KMJ6TF6Y.mjs";import"../chunk-YPHH6CAO.mjs";import"../chunk-THRXIXIO.mjs";import"../chunk-4WPQQPUF.mjs";import"../chunk-KEYAPEAX.mjs";import"../chunk-A63SMUOU.mjs";import"../chunk-BCUSI3N6.mjs";import"../chunk-LG7RJQ57.mjs";import"../chunk-56CNRT2K.mjs";import"../chunk-FVA2OPG4.mjs";export{a as normalizeBundle};
2
2
  //# sourceMappingURL=normalizeBundle.mjs.map
@@ -3,6 +3,6 @@
3
3
  *
4
4
  * hardcoded for now, we would want to have it injected dynamically
5
5
  */
6
- declare const VERSION = "1.26.0";
6
+ declare const VERSION = "1.27.1";
7
7
 
8
8
  export { VERSION };
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-DDKAXJOY.mjs";import"./chunk-FVA2OPG4.mjs";export{a as VERSION};
1
+ import{a}from"./chunk-ZEYOFDIO.mjs";import"./chunk-FVA2OPG4.mjs";export{a as VERSION};
2
2
  //# sourceMappingURL=version.mjs.map
package/package.json CHANGED
@@ -45,11 +45,13 @@
45
45
  "indexer-codegen": "graphql-codegen --config ./src/types/codegen.yaml && pnpm fmt",
46
46
  "doc": "scripts/generateDocs.sh",
47
47
  "check-version": "scripts/checkVersion.sh",
48
- "update-version": "scripts/updateVersion.sh && pnpm doc"
48
+ "update-version": "scripts/updateVersion.sh && pnpm doc",
49
+ "spec": "pnpm build && pnpm _spec",
50
+ "_spec": "cucumber-js -p default"
49
51
  },
50
52
  "dependencies": {
51
- "@aptos-labs/aptos-client": "^0.1.0",
52
- "@aptos-labs/aptos-cli": "^0.1.9",
53
+ "@aptos-labs/aptos-cli": "^0.2.0",
54
+ "@aptos-labs/aptos-client": "^0.1.1",
53
55
  "@noble/curves": "^1.4.0",
54
56
  "@noble/hashes": "^1.4.0",
55
57
  "@scure/bip32": "^1.4.0",
@@ -62,6 +64,7 @@
62
64
  },
63
65
  "devDependencies": {
64
66
  "@babel/traverse": "^7.23.6",
67
+ "@cucumber/cucumber": "^10.8.0",
65
68
  "@graphql-codegen/cli": "^5.0.0",
66
69
  "@graphql-codegen/import-types-preset": "^3.0.0",
67
70
  "@graphql-codegen/typescript": "^4.0.1",
@@ -92,5 +95,5 @@
92
95
  "typedoc": "^0.25.4",
93
96
  "typescript": "^5.3.3"
94
97
  },
95
- "version": "1.26.0"
98
+ "version": "1.27.1"
96
99
  }
@@ -37,6 +37,15 @@ export class Deserializer {
37
37
  return bytes;
38
38
  }
39
39
 
40
+ /**
41
+ * Returns the number of bytes remaining in the buffer.
42
+ *
43
+ * Useful to tell if there's more data to be read.
44
+ */
45
+ remaining(): number {
46
+ return this.buffer.byteLength - this.offset;
47
+ }
48
+
40
49
  /**
41
50
  * Deserializes a string. UTF8 string is supported. Reads the string's bytes length "l" first,
42
51
  * and then reads "l" bytes of content. Decodes the byte array into a string.
@@ -452,7 +452,7 @@ export type GetFungibleAssetActivitiesQueryVariables = Types.Exact<{
452
452
  export type GetFungibleAssetActivitiesQuery = {
453
453
  fungible_asset_activities: Array<{
454
454
  amount?: any | null;
455
- asset_type: string;
455
+ asset_type?: string | null;
456
456
  block_height: any;
457
457
  entry_function_id_str?: string | null;
458
458
  event_index: any;
@@ -460,7 +460,7 @@ export type GetFungibleAssetActivitiesQuery = {
460
460
  is_frozen?: boolean | null;
461
461
  is_gas_fee: boolean;
462
462
  is_transaction_success: boolean;
463
- owner_address: string;
463
+ owner_address?: string | null;
464
464
  storage_id: string;
465
465
  storage_refund_amount: any;
466
466
  token_standard: string;
@@ -2598,6 +2598,7 @@ export type CurrentCollectionsV2 = {
2598
2598
  cdn_asset_uris?: Maybe<NftMetadataCrawlerParsedAssetUris>;
2599
2599
  collection_id: Scalars["String"]["output"];
2600
2600
  collection_name: Scalars["String"]["output"];
2601
+ collection_properties?: Maybe<Scalars["jsonb"]["output"]>;
2601
2602
  creator_address: Scalars["String"]["output"];
2602
2603
  current_supply: Scalars["numeric"]["output"];
2603
2604
  description: Scalars["String"]["output"];
@@ -2612,6 +2613,11 @@ export type CurrentCollectionsV2 = {
2612
2613
  uri: Scalars["String"]["output"];
2613
2614
  };
2614
2615
 
2616
+ /** columns and relationships of "current_collections_v2" */
2617
+ export type CurrentCollectionsV2CollectionPropertiesArgs = {
2618
+ path?: InputMaybe<Scalars["String"]["input"]>;
2619
+ };
2620
+
2615
2621
  /** Boolean expression to filter rows from the table "current_collections_v2". All fields are combined with a logical 'AND'. */
2616
2622
  export type CurrentCollectionsV2BoolExp = {
2617
2623
  _and?: InputMaybe<Array<CurrentCollectionsV2BoolExp>>;
@@ -2620,6 +2626,7 @@ export type CurrentCollectionsV2BoolExp = {
2620
2626
  cdn_asset_uris?: InputMaybe<NftMetadataCrawlerParsedAssetUrisBoolExp>;
2621
2627
  collection_id?: InputMaybe<StringComparisonExp>;
2622
2628
  collection_name?: InputMaybe<StringComparisonExp>;
2629
+ collection_properties?: InputMaybe<JsonbComparisonExp>;
2623
2630
  creator_address?: InputMaybe<StringComparisonExp>;
2624
2631
  current_supply?: InputMaybe<NumericComparisonExp>;
2625
2632
  description?: InputMaybe<StringComparisonExp>;
@@ -2639,6 +2646,7 @@ export type CurrentCollectionsV2OrderBy = {
2639
2646
  cdn_asset_uris?: InputMaybe<NftMetadataCrawlerParsedAssetUrisOrderBy>;
2640
2647
  collection_id?: InputMaybe<OrderBy>;
2641
2648
  collection_name?: InputMaybe<OrderBy>;
2649
+ collection_properties?: InputMaybe<OrderBy>;
2642
2650
  creator_address?: InputMaybe<OrderBy>;
2643
2651
  current_supply?: InputMaybe<OrderBy>;
2644
2652
  description?: InputMaybe<OrderBy>;
@@ -2660,6 +2668,8 @@ export enum CurrentCollectionsV2SelectColumn {
2660
2668
  /** column name */
2661
2669
  CollectionName = "collection_name",
2662
2670
  /** column name */
2671
+ CollectionProperties = "collection_properties",
2672
+ /** column name */
2663
2673
  CreatorAddress = "creator_address",
2664
2674
  /** column name */
2665
2675
  CurrentSupply = "current_supply",
@@ -2697,6 +2707,7 @@ export type CurrentCollectionsV2StreamCursorInput = {
2697
2707
  export type CurrentCollectionsV2StreamCursorValueInput = {
2698
2708
  collection_id?: InputMaybe<Scalars["String"]["input"]>;
2699
2709
  collection_name?: InputMaybe<Scalars["String"]["input"]>;
2710
+ collection_properties?: InputMaybe<Scalars["jsonb"]["input"]>;
2700
2711
  creator_address?: InputMaybe<Scalars["String"]["input"]>;
2701
2712
  current_supply?: InputMaybe<Scalars["numeric"]["input"]>;
2702
2713
  description?: InputMaybe<Scalars["String"]["input"]>;
@@ -5139,7 +5150,7 @@ export type EventsStreamCursorValueInput = {
5139
5150
  /** columns and relationships of "fungible_asset_activities" */
5140
5151
  export type FungibleAssetActivities = {
5141
5152
  amount?: Maybe<Scalars["numeric"]["output"]>;
5142
- asset_type: Scalars["String"]["output"];
5153
+ asset_type?: Maybe<Scalars["String"]["output"]>;
5143
5154
  block_height: Scalars["bigint"]["output"];
5144
5155
  entry_function_id_str?: Maybe<Scalars["String"]["output"]>;
5145
5156
  event_index: Scalars["bigint"]["output"];
@@ -5149,7 +5160,7 @@ export type FungibleAssetActivities = {
5149
5160
  is_transaction_success: Scalars["Boolean"]["output"];
5150
5161
  /** An object relationship */
5151
5162
  metadata?: Maybe<FungibleAssetMetadata>;
5152
- owner_address: Scalars["String"]["output"];
5163
+ owner_address?: Maybe<Scalars["String"]["output"]>;
5153
5164
  /** An array relationship */
5154
5165
  owner_aptos_names: Array<CurrentAptosNames>;
5155
5166
  /** An aggregate relationship */
@@ -32,3 +32,29 @@ export function base64UrlDecode(base64Url: string): string {
32
32
  const decodedString = decode(paddedBase64);
33
33
  return decodedString;
34
34
  }
35
+
36
+ /**
37
+ * Amount is represented in the smallest unit format on chain, this function converts
38
+ * a human readable amount format to the smallest unit format
39
+ * @example
40
+ * human readable amount format: 500
41
+ * on chain amount format when decimal is 8: 50000000000
42
+ *
43
+ * @param value The value in human readable format
44
+ * @param decimal The token decimal
45
+ * @returns The value is smallest units
46
+ */
47
+ export const convertAmountFromHumanReadableToOnChain = (value: number, decimal: number) => value * 10 ** decimal;
48
+
49
+ /**
50
+ * Amount is represented in the smallest unit format on chain, this function converts
51
+ * the smallest unit format to a human readable amount format
52
+ * @example
53
+ * human readable amount format: 500
54
+ * on chain amount format when decimal is 8: 50000000000
55
+ *
56
+ * @param value The value in human readable format
57
+ * @param decimal The token decimal
58
+ * @returns The value is smallest units
59
+ */
60
+ export const convertAmountFromOnChainToHumanReadable = (value: number, decimal: number) => value / 10 ** decimal;
@@ -1,3 +1,4 @@
1
1
  export * from "./apiEndpoints";
2
2
  export * from "./const";
3
3
  export * from "./normalizeBundle";
4
+ export * from "./helpers";
package/src/version.ts CHANGED
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * hardcoded for now, we would want to have it injected dynamically
8
8
  */
9
- export const VERSION = "1.26.0";
9
+ export const VERSION = "1.27.1";
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var d=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=(o,e,t,r)=>{for(var n=r>1?void 0:r?i(e,t):e,s=o.length-1,c;s>=0;s--)(c=o[s])&&(n=(r?c(e,t,n):c(n))||n);return r&&n&&d(e,t,n),n};var _jsbase64 = require('js-base64');async function m(o){return new Promise(e=>{setTimeout(e,o)})}var p=()=>Math.floor(Date.now()/1e3);function f(o){let e=new Date(o*1e3);return e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0),Math.floor(e.getTime()/1e3)}function b(o){let e=o.replace(/-/g,"+").replace(/_/g,"/"),t=e+"==".substring(0,(3-e.length%3)%3);return _jsbase64.decode.call(void 0, t)}exports.a = l; exports.b = m; exports.c = p; exports.d = f; exports.e = b;
2
- //# sourceMappingURL=chunk-BHKSQXUZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/helpers.ts"],"names":["decode","sleep","timeMs","resolve","nowInSeconds","floorToWholeHour","timestampInSeconds","date","base64UrlDecode","base64Url","base64","paddedBase64"],"mappings":"wMAGA,OAAS,UAAAA,MAAc,YAMvB,eAAsBC,EAAMC,EAA+B,CACzD,OAAO,IAAI,QAASC,GAAY,CAC9B,WAAWA,EAASD,CAAM,CAC5B,CAAC,CACH,CAEO,IAAME,EAAe,IAAM,KAAK,MAAM,KAAK,IAAI,EAAI,GAAI,EAEvD,SAASC,EAAiBC,EAAoC,CACnE,IAAMC,EAAO,IAAI,KAAKD,EAAqB,GAAI,EAE/C,OAAAC,EAAK,WAAW,CAAC,EACjBA,EAAK,WAAW,CAAC,EACjBA,EAAK,gBAAgB,CAAC,EACf,KAAK,MAAMA,EAAK,QAAQ,EAAI,GAAI,CACzC,CAEO,SAASC,EAAgBC,EAA2B,CAEzD,IAAMC,EAASD,EAAU,QAAQ,KAAM,GAAG,EAAE,QAAQ,KAAM,GAAG,EAEvDE,EAAeD,EAAS,KAAK,UAAU,GAAI,EAAKA,EAAO,OAAS,GAAM,CAAC,EAE7E,OADsBV,EAAOW,CAAY,CAE3C","sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { decode } from \"js-base64\";\n\n/**\n * Sleep the current thread for the given amount of time\n * @param timeMs time in milliseconds to sleep\n */\nexport async function sleep(timeMs: number): Promise<null> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeMs);\n });\n}\n\nexport const nowInSeconds = () => Math.floor(Date.now() / 1000);\n\nexport function floorToWholeHour(timestampInSeconds: number): number {\n const date = new Date(timestampInSeconds * 1000);\n // Reset minutes and seconds to zero\n date.setMinutes(0);\n date.setSeconds(0);\n date.setMilliseconds(0);\n return Math.floor(date.getTime() / 1000);\n}\n\nexport function base64UrlDecode(base64Url: string): string {\n // Replace base64url-specific characters\n const base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n // Pad the string with '=' characters if needed\n const paddedBase64 = base64 + \"==\".substring(0, (3 - (base64.length % 3)) % 3);\n const decodedString = decode(paddedBase64);\n return decodedString;\n}\n"]}
@@ -1,2 +0,0 @@
1
- var o="1.26.0";export{o as a};
2
- //# sourceMappingURL=chunk-DDKAXJOY.mjs.map
@@ -1,2 +0,0 @@
1
- import{c as r}from"./chunk-56CNRT2K.mjs";var n=class{constructor(e){this.buffer=new ArrayBuffer(e.length),new Uint8Array(this.buffer).set(e,0),this.offset=0}read(e){if(this.offset+e>this.buffer.byteLength)throw new Error("Reached to the end of buffer");let i=this.buffer.slice(this.offset,this.offset+e);return this.offset+=e,i}deserializeStr(){let e=this.deserializeBytes();return new TextDecoder().decode(e)}deserializeOptionStr(){return this.deserializeBool()?this.deserializeStr():void 0}deserializeOption(e){return this.deserializeBool()?this.deserialize(e):void 0}deserializeBytes(){let e=this.deserializeUleb128AsU32();return new Uint8Array(this.read(e))}deserializeFixedBytes(e){return new Uint8Array(this.read(e))}deserializeBool(){let e=new Uint8Array(this.read(1))[0];if(e!==1&&e!==0)throw new Error("Invalid boolean value");return e===1}deserializeU8(){return new DataView(this.read(1)).getUint8(0)}deserializeU16(){return new DataView(this.read(2)).getUint16(0,!0)}deserializeU32(){return new DataView(this.read(4)).getUint32(0,!0)}deserializeU64(){let e=this.deserializeU32(),i=this.deserializeU32();return BigInt(BigInt(i)<<BigInt(32)|BigInt(e))}deserializeU128(){let e=this.deserializeU64(),i=this.deserializeU64();return BigInt(i<<BigInt(64)|e)}deserializeU256(){let e=this.deserializeU128(),i=this.deserializeU128();return BigInt(i<<BigInt(128)|e)}deserializeUleb128AsU32(){let e=BigInt(0),i=0;for(;e<r;){let t=this.deserializeU8();if(e|=BigInt(t&127)<<BigInt(i),!(t&128))break;i+=7}if(e>r)throw new Error("Overflow while parsing uleb128-encoded uint32 value");return Number(e)}deserialize(e){return e.deserialize(this)}deserializeVector(e){let i=this.deserializeUleb128AsU32(),t=new Array;for(let s=0;s<i;s+=1)t.push(this.deserialize(e));return t}};export{n as a};
2
- //# sourceMappingURL=chunk-DZXM2MQY.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/bcs/deserializer.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable no-bitwise */\nimport { MAX_U32_NUMBER } from \"./consts\";\nimport { Uint8, Uint16, Uint32, Uint64, Uint128, Uint256 } from \"../types\";\n\n/**\n * This interface exists to define Deserializable<T> inputs for functions that\n * deserialize a byte buffer into a type T.\n * It is not intended to be implemented or extended, because Typescript has no support\n * for static methods in interfaces.\n */\nexport interface Deserializable<T> {\n deserialize(deserializer: Deserializer): T;\n}\n\nexport class Deserializer {\n private buffer: ArrayBuffer;\n\n private offset: number;\n\n constructor(data: Uint8Array) {\n // copies data to prevent outside mutation of buffer.\n this.buffer = new ArrayBuffer(data.length);\n new Uint8Array(this.buffer).set(data, 0);\n this.offset = 0;\n }\n\n private read(length: number): ArrayBuffer {\n if (this.offset + length > this.buffer.byteLength) {\n throw new Error(\"Reached to the end of buffer\");\n }\n\n const bytes = this.buffer.slice(this.offset, this.offset + length);\n this.offset += length;\n return bytes;\n }\n\n /**\n * Deserializes a string. UTF8 string is supported. Reads the string's bytes length \"l\" first,\n * and then reads \"l\" bytes of content. Decodes the byte array into a string.\n *\n * BCS layout for \"string\": string_length | string_content\n * where string_length is a u32 integer encoded as a uleb128 integer, equal to the number of bytes in string_content.\n *\n * @example\n * ```ts\n * const deserializer = new Deserializer(new Uint8Array([8, 49, 50, 51, 52, 97, 98, 99, 100]));\n * assert(deserializer.deserializeStr() === \"1234abcd\");\n * ```\n */\n deserializeStr(): string {\n const value = this.deserializeBytes();\n const textDecoder = new TextDecoder();\n return textDecoder.decode(value);\n }\n\n /**\n * Deserializes a an optional string.\n *\n * BCS layout for Optional<String>: 0 if none, else 1 | string_length | string_content\n * @example\n * ```ts\n * const deserializer = new Deserializer(new Uint8Array([0x00]));\n * assert(deserializer.deserializeOptionStr() === undefined);\n * const deserializer = new Deserializer(new Uint8Array([1, 8, 49, 50, 51, 52, 97, 98, 99, 100]));\n * assert(deserializer.deserializeOptionStr() === \"1234abcd\");\n * ```\n */\n deserializeOptionStr(): string | undefined {\n const exists = this.deserializeBool();\n return exists ? this.deserializeStr() : undefined;\n }\n\n /**\n * Deserializes a an optional deserializable class.\n *\n * BCS layout for Optional<T>: 0 if none, else 1 | bcs representation of class\n *\n * @example\n * const deserializer = new Deserializer(new Uint8Array([1, 2, 3]));\n * const value = deserializer.deserializeOption(MyClass); // where MyClass has a `deserialize` function\n * // value is now an instance of MyClass\n *\n * const deserializer = new Deserializer(new Uint8Array([0]));\n * const value = deserializer.deserializeOption(MyClass); // where MyClass has a `deserialize` function\n * // value is undefined\n *\n * @param cls The BCS-deserializable class to deserialize the buffered bytes into.\n *\n * @returns the deserialized value of class type T\n */\n deserializeOption<T>(cls: Deserializable<T>): T | undefined {\n const exists = this.deserializeBool();\n return exists ? this.deserialize(cls) : undefined;\n }\n\n /**\n * Deserializes an array of bytes.\n *\n * BCS layout for \"bytes\": bytes_length | bytes\n * where bytes_length is a u32 integer encoded as a uleb128 integer, equal to the length of the bytes array.\n */\n deserializeBytes(): Uint8Array {\n const len = this.deserializeUleb128AsU32();\n return new Uint8Array(this.read(len));\n }\n\n /**\n * Deserializes an array of bytes. The number of bytes to read is already known.\n *\n */\n deserializeFixedBytes(len: number): Uint8Array {\n return new Uint8Array(this.read(len));\n }\n\n /**\n * Deserializes a boolean value.\n *\n * BCS layout for \"boolean\": One byte. \"0x01\" for true and \"0x00\" for false.\n */\n deserializeBool(): boolean {\n const bool = new Uint8Array(this.read(1))[0];\n if (bool !== 1 && bool !== 0) {\n throw new Error(\"Invalid boolean value\");\n }\n return bool === 1;\n }\n\n /**\n * Deserializes a uint8 number.\n *\n * BCS layout for \"uint8\": One byte. Binary format in little-endian representation.\n */\n deserializeU8(): Uint8 {\n return new DataView(this.read(1)).getUint8(0);\n }\n\n /**\n * Deserializes a uint16 number.\n *\n * BCS layout for \"uint16\": Two bytes. Binary format in little-endian representation.\n * @example\n * ```ts\n * const deserializer = new Deserializer(new Uint8Array([0x34, 0x12]));\n * assert(deserializer.deserializeU16() === 4660);\n * ```\n */\n deserializeU16(): Uint16 {\n return new DataView(this.read(2)).getUint16(0, true);\n }\n\n /**\n * Deserializes a uint32 number.\n *\n * BCS layout for \"uint32\": Four bytes. Binary format in little-endian representation.\n * @example\n * ```ts\n * const deserializer = new Deserializer(new Uint8Array([0x78, 0x56, 0x34, 0x12]));\n * assert(deserializer.deserializeU32() === 305419896);\n * ```\n */\n deserializeU32(): Uint32 {\n return new DataView(this.read(4)).getUint32(0, true);\n }\n\n /**\n * Deserializes a uint64 number.\n *\n * BCS layout for \"uint64\": Eight bytes. Binary format in little-endian representation.\n * @example\n * ```ts\n * const deserializer = new Deserializer(new Uint8Array([0x00, 0xEF, 0xCD, 0xAB, 0x78, 0x56, 0x34, 0x12]));\n * assert(deserializer.deserializeU64() === 1311768467750121216);\n * ```\n */\n deserializeU64(): Uint64 {\n const low = this.deserializeU32();\n const high = this.deserializeU32();\n\n // combine the two 32-bit values and return (little endian)\n return BigInt((BigInt(high) << BigInt(32)) | BigInt(low));\n }\n\n /**\n * Deserializes a uint128 number.\n *\n * BCS layout for \"uint128\": Sixteen bytes. Binary format in little-endian representation.\n */\n deserializeU128(): Uint128 {\n const low = this.deserializeU64();\n const high = this.deserializeU64();\n\n // combine the two 64-bit values and return (little endian)\n return BigInt((high << BigInt(64)) | low);\n }\n\n /**\n * Deserializes a uint256 number.\n *\n * BCS layout for \"uint256\": Thirty-two bytes. Binary format in little-endian representation.\n */\n deserializeU256(): Uint256 {\n const low = this.deserializeU128();\n const high = this.deserializeU128();\n\n // combine the two 128-bit values and return (little endian)\n return BigInt((high << BigInt(128)) | low);\n }\n\n /**\n * Deserializes a uleb128 encoded uint32 number.\n *\n * BCS use uleb128 encoding in two cases: (1) lengths of variable-length sequences and (2) tags of enum values\n */\n deserializeUleb128AsU32(): Uint32 {\n let value: bigint = BigInt(0);\n let shift = 0;\n\n while (value < MAX_U32_NUMBER) {\n const byte = this.deserializeU8();\n value |= BigInt(byte & 0x7f) << BigInt(shift);\n\n if ((byte & 0x80) === 0) {\n break;\n }\n shift += 7;\n }\n\n if (value > MAX_U32_NUMBER) {\n throw new Error(\"Overflow while parsing uleb128-encoded uint32 value\");\n }\n\n return Number(value);\n }\n\n /**\n * Helper function that primarily exists to support alternative syntax for deserialization.\n * That is, if we have a `const deserializer: new Deserializer(...)`, instead of having to use\n * `MyClass.deserialize(deserializer)`, we can call `deserializer.deserialize(MyClass)`.\n *\n * @example const deserializer = new Deserializer(new Uint8Array([1, 2, 3]));\n * const value = deserializer.deserialize(MyClass); // where MyClass has a `deserialize` function\n * // value is now an instance of MyClass\n * // equivalent to `const value = MyClass.deserialize(deserializer)`\n * @param cls The BCS-deserializable class to deserialize the buffered bytes into.\n *\n * @returns the deserialized value of class type T\n */\n deserialize<T>(cls: Deserializable<T>): T {\n // NOTE: `deserialize` in `cls.deserialize(this)` here is a static method defined in `cls`,\n // It is separate from the `deserialize` instance method defined here in Deserializer.\n return cls.deserialize(this);\n }\n\n /**\n * Deserializes an array of BCS Deserializable values given an existing Deserializer\n * instance with a loaded byte buffer.\n *\n * @param cls The BCS-deserializable class to deserialize the buffered bytes into.\n * @example\n * // serialize a vector of addresses\n * const addresses = new Array<AccountAddress>(\n * AccountAddress.from(\"0x1\"),\n * AccountAddress.from(\"0x2\"),\n * AccountAddress.from(\"0xa\"),\n * AccountAddress.from(\"0xb\"),\n * );\n * const serializer = new Serializer();\n * serializer.serializeVector(addresses);\n * const serializedBytes = serializer.toUint8Array();\n *\n * // deserialize the bytes into an array of addresses\n * const deserializer = new Deserializer(serializedBytes);\n * const deserializedAddresses = deserializer.deserializeVector(AccountAddress);\n * // deserializedAddresses is now an array of AccountAddress instances\n * @returns an array of deserialized values of type T\n */\n deserializeVector<T>(cls: Deserializable<T>): Array<T> {\n const length = this.deserializeUleb128AsU32();\n const vector = new Array<T>();\n for (let i = 0; i < length; i += 1) {\n vector.push(this.deserialize(cls));\n }\n return vector;\n }\n}\n"],"mappings":"yCAiBO,IAAMA,EAAN,KAAmB,CAKxB,YAAYC,EAAkB,CAE5B,KAAK,OAAS,IAAI,YAAYA,EAAK,MAAM,EACzC,IAAI,WAAW,KAAK,MAAM,EAAE,IAAIA,EAAM,CAAC,EACvC,KAAK,OAAS,CAChB,CAEQ,KAAKC,EAA6B,CACxC,GAAI,KAAK,OAASA,EAAS,KAAK,OAAO,WACrC,MAAM,IAAI,MAAM,8BAA8B,EAGhD,IAAMC,EAAQ,KAAK,OAAO,MAAM,KAAK,OAAQ,KAAK,OAASD,CAAM,EACjE,YAAK,QAAUA,EACRC,CACT,CAeA,gBAAyB,CACvB,IAAMC,EAAQ,KAAK,iBAAiB,EAEpC,OADoB,IAAI,YAAY,EACjB,OAAOA,CAAK,CACjC,CAcA,sBAA2C,CAEzC,OADe,KAAK,gBAAgB,EACpB,KAAK,eAAe,EAAI,MAC1C,CAoBA,kBAAqBC,EAAuC,CAE1D,OADe,KAAK,gBAAgB,EACpB,KAAK,YAAYA,CAAG,EAAI,MAC1C,CAQA,kBAA+B,CAC7B,IAAMC,EAAM,KAAK,wBAAwB,EACzC,OAAO,IAAI,WAAW,KAAK,KAAKA,CAAG,CAAC,CACtC,CAMA,sBAAsBA,EAAyB,CAC7C,OAAO,IAAI,WAAW,KAAK,KAAKA,CAAG,CAAC,CACtC,CAOA,iBAA2B,CACzB,IAAMC,EAAO,IAAI,WAAW,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,EAC3C,GAAIA,IAAS,GAAKA,IAAS,EACzB,MAAM,IAAI,MAAM,uBAAuB,EAEzC,OAAOA,IAAS,CAClB,CAOA,eAAuB,CACrB,OAAO,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAC9C,CAYA,gBAAyB,CACvB,OAAO,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,UAAU,EAAG,EAAI,CACrD,CAYA,gBAAyB,CACvB,OAAO,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,UAAU,EAAG,EAAI,CACrD,CAYA,gBAAyB,CACvB,IAAMC,EAAM,KAAK,eAAe,EAC1BC,EAAO,KAAK,eAAe,EAGjC,OAAO,OAAQ,OAAOA,CAAI,GAAK,OAAO,EAAE,EAAK,OAAOD,CAAG,CAAC,CAC1D,CAOA,iBAA2B,CACzB,IAAMA,EAAM,KAAK,eAAe,EAC1BC,EAAO,KAAK,eAAe,EAGjC,OAAO,OAAQA,GAAQ,OAAO,EAAE,EAAKD,CAAG,CAC1C,CAOA,iBAA2B,CACzB,IAAMA,EAAM,KAAK,gBAAgB,EAC3BC,EAAO,KAAK,gBAAgB,EAGlC,OAAO,OAAQA,GAAQ,OAAO,GAAG,EAAKD,CAAG,CAC3C,CAOA,yBAAkC,CAChC,IAAIJ,EAAgB,OAAO,CAAC,EACxBM,EAAQ,EAEZ,KAAON,EAAQO,GAAgB,CAC7B,IAAMC,EAAO,KAAK,cAAc,EAGhC,GAFAR,GAAS,OAAOQ,EAAO,GAAI,GAAK,OAAOF,CAAK,EAEvC,EAAAE,EAAO,KACV,MAEFF,GAAS,CACX,CAEA,GAAIN,EAAQO,EACV,MAAM,IAAI,MAAM,qDAAqD,EAGvE,OAAO,OAAOP,CAAK,CACrB,CAeA,YAAeC,EAA2B,CAGxC,OAAOA,EAAI,YAAY,IAAI,CAC7B,CAyBA,kBAAqBA,EAAkC,CACrD,IAAMH,EAAS,KAAK,wBAAwB,EACtCW,EAAS,IAAI,MACnB,QAASC,EAAI,EAAGA,EAAIZ,EAAQY,GAAK,EAC/BD,EAAO,KAAK,KAAK,YAAYR,CAAG,CAAC,EAEnC,OAAOQ,CACT,CACF","names":["Deserializer","data","length","bytes","value","cls","len","bool","low","high","shift","MAX_U32_NUMBER","byte","vector","i"]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-GED6IT3S.mjs.map
@@ -1,2 +0,0 @@
1
- import{g as b}from"./chunk-XDDQWRYI.mjs";import{a as P}from"./chunk-WS2XAD7R.mjs";import{b as w}from"./chunk-YTQVMLFD.mjs";import{i as y,l as d,m,n as x,p as K}from"./chunk-YY7NLCQK.mjs";import{b as l}from"./chunk-YZWR7OV5.mjs";import{e as h,f as g}from"./chunk-4MDBWSPX.mjs";import{b as p}from"./chunk-BCUSI3N6.mjs";async function A(o){let{aptosConfig:n,jwt:s,ephemeralKeyPair:e,uidKey:r="sub",derivationPath:i}=o,t={jwt_b64:s,epk:e.getPublicKey().bcsToHex().toStringWithoutPrefix(),exp_date_secs:e.expiryDateSecs,epk_blinder:p.fromHexInput(e.blinder).toStringWithoutPrefix(),uid_key:r,derivation_path:i},{data:a}=await h({aptosConfig:n,path:"fetch",body:t,originMethod:"getPepper",overrides:{WITH_CREDENTIALS:!1}});return p.fromHexInput(a.pepper).toUint8Array()}async function E(o){let{aptosConfig:n,jwt:s,ephemeralKeyPair:e,pepper:r=await A(o),uidKey:i="sub"}=o;if(p.fromHexInput(r).toUint8Array().length!==P.PEPPER_LENGTH)throw new Error(`Pepper needs to be ${P.PEPPER_LENGTH} bytes`);let{maxExpHorizonSecs:t}=await K({aptosConfig:n});if(t<e.expiryDateSecs-w())throw Error(`The EphemeralKeyPair is too long lived. It's lifespan must be less than ${t}`);let a={jwt_b64:s,epk:e.getPublicKey().bcsToHex().toStringWithoutPrefix(),epk_blinder:p.fromHexInput(e.blinder).toStringWithoutPrefix(),exp_date_secs:e.expiryDateSecs,exp_horizon_secs:t,pepper:p.fromHexInput(r).toStringWithoutPrefix(),uid_key:i},{data:f}=await g({aptosConfig:n,path:"prove",body:a,originMethod:"getProof",overrides:{WITH_CREDENTIALS:!1}}),c=f.proof,u=new d({a:c.a,b:c.b,c:c.c});return new x({proof:new m(u,0),trainingWheelsSignature:l.fromHex(f.training_wheels_signature),expHorizonSecs:t})}async function W(o){let{aptosConfig:n,jwt:s,uidKey:e,proofFetchCallback:r,pepper:i=await A(o)}=o,t=E({...o,pepper:i}),a=r?t:await t,f=y.fromJwtAndPepper({jwt:s,pepper:i,uidKey:e}),c=await b({aptosConfig:n,authenticationKey:f.authKey().derivedAddress()});return P.create({...o,address:c,proof:a,pepper:i,proofFetchCallback:r})}export{A as a,E as b,W as c};
2
- //# sourceMappingURL=chunk-JCPI7D7I.mjs.map
@@ -1,2 +0,0 @@
1
- import{a as e}from"./chunk-DZXM2MQY.mjs";function t(i,r){let l=r.bcsToBytes(),a=new e(l);return i.deserialize(a)}export{t as a};
2
- //# sourceMappingURL=chunk-WV5AD4IE.mjs.map
@@ -1,2 +0,0 @@
1
- import{decode as t}from"js-base64";async function c(o){return new Promise(e=>{setTimeout(e,o)})}var d=()=>Math.floor(Date.now()/1e3);function i(o){let e=new Date(o*1e3);return e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0),Math.floor(e.getTime()/1e3)}function u(o){let e=o.replace(/-/g,"+").replace(/_/g,"/"),n=e+"==".substring(0,(3-e.length%3)%3);return t(n)}export{c as a,d as b,i as c,u as d};
2
- //# sourceMappingURL=chunk-YTQVMLFD.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/helpers.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { decode } from \"js-base64\";\n\n/**\n * Sleep the current thread for the given amount of time\n * @param timeMs time in milliseconds to sleep\n */\nexport async function sleep(timeMs: number): Promise<null> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeMs);\n });\n}\n\nexport const nowInSeconds = () => Math.floor(Date.now() / 1000);\n\nexport function floorToWholeHour(timestampInSeconds: number): number {\n const date = new Date(timestampInSeconds * 1000);\n // Reset minutes and seconds to zero\n date.setMinutes(0);\n date.setSeconds(0);\n date.setMilliseconds(0);\n return Math.floor(date.getTime() / 1000);\n}\n\nexport function base64UrlDecode(base64Url: string): string {\n // Replace base64url-specific characters\n const base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n // Pad the string with '=' characters if needed\n const paddedBase64 = base64 + \"==\".substring(0, (3 - (base64.length % 3)) % 3);\n const decodedString = decode(paddedBase64);\n return decodedString;\n}\n"],"mappings":"AAGA,OAAS,UAAAA,MAAc,YAMvB,eAAsBC,EAAMC,EAA+B,CACzD,OAAO,IAAI,QAASC,GAAY,CAC9B,WAAWA,EAASD,CAAM,CAC5B,CAAC,CACH,CAEO,IAAME,EAAe,IAAM,KAAK,MAAM,KAAK,IAAI,EAAI,GAAI,EAEvD,SAASC,EAAiBC,EAAoC,CACnE,IAAMC,EAAO,IAAI,KAAKD,EAAqB,GAAI,EAE/C,OAAAC,EAAK,WAAW,CAAC,EACjBA,EAAK,WAAW,CAAC,EACjBA,EAAK,gBAAgB,CAAC,EACf,KAAK,MAAMA,EAAK,QAAQ,EAAI,GAAI,CACzC,CAEO,SAASC,EAAgBC,EAA2B,CAEzD,IAAMC,EAASD,EAAU,QAAQ,KAAM,GAAG,EAAE,QAAQ,KAAM,GAAG,EAEvDE,EAAeD,EAAS,KAAK,UAAU,GAAI,EAAKA,EAAO,OAAS,GAAM,CAAC,EAE7E,OADsBV,EAAOW,CAAY,CAE3C","names":["decode","sleep","timeMs","resolve","nowInSeconds","floorToWholeHour","timestampInSeconds","date","base64UrlDecode","base64Url","base64","paddedBase64"]}