@aptos-labs/ts-sdk 2.0.0 → 2.0.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 (481) hide show
  1. package/dist/common/{accountAddress-D0xKX-UM.d.ts → accountAddress-AL8HRxQC.d.ts} +8 -0
  2. package/dist/common/chunk-ZMDE3DNL.js.map +1 -1
  3. package/dist/common/cli/index.d.ts +1 -1
  4. package/dist/common/cli/index.js.map +1 -1
  5. package/dist/common/index.d.ts +22 -3
  6. package/dist/common/index.js +30 -30
  7. package/dist/common/index.js.map +1 -1
  8. package/dist/esm/account/AbstractKeylessAccount.mjs +1 -1
  9. package/dist/esm/account/AbstractedAccount.mjs +1 -1
  10. package/dist/esm/account/Account.mjs +1 -1
  11. package/dist/esm/account/AccountUtils.mjs +1 -1
  12. package/dist/esm/account/DerivableAbstractedAccount.mjs +1 -1
  13. package/dist/esm/account/Ed25519Account.mjs +1 -1
  14. package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
  15. package/dist/esm/account/FederatedKeylessAccount.mjs +1 -1
  16. package/dist/esm/account/KeylessAccount.mjs +1 -1
  17. package/dist/esm/account/MultiEd25519Account.mjs +1 -1
  18. package/dist/esm/account/MultiKeyAccount.mjs +1 -1
  19. package/dist/esm/account/SingleKeyAccount.mjs +1 -1
  20. package/dist/esm/account/index.mjs +1 -1
  21. package/dist/esm/account/utils.mjs +1 -1
  22. package/dist/esm/api/account/abstraction.mjs +1 -1
  23. package/dist/esm/api/account.mjs +1 -1
  24. package/dist/esm/api/ans.mjs +1 -1
  25. package/dist/esm/api/aptos.mjs +1 -1
  26. package/dist/esm/api/coin.d.mts +3 -3
  27. package/dist/esm/api/coin.mjs +1 -1
  28. package/dist/esm/api/digitalAsset.d.mts +1 -1
  29. package/dist/esm/api/digitalAsset.mjs +1 -1
  30. package/dist/esm/api/event.mjs +1 -1
  31. package/dist/esm/api/faucet.mjs +1 -1
  32. package/dist/esm/api/fungibleAsset.mjs +1 -1
  33. package/dist/esm/api/general.mjs +1 -1
  34. package/dist/esm/api/index.mjs +1 -1
  35. package/dist/esm/api/keyless.mjs +1 -1
  36. package/dist/esm/api/object.mjs +1 -1
  37. package/dist/esm/api/staking.mjs +1 -1
  38. package/dist/esm/api/table.mjs +1 -1
  39. package/dist/esm/api/transaction.mjs +1 -1
  40. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  41. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  42. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  43. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  44. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  45. package/dist/esm/api/utils.mjs +1 -1
  46. package/dist/esm/bcs/deserializer.d.mts +8 -0
  47. package/dist/esm/bcs/deserializer.mjs +1 -1
  48. package/dist/esm/bcs/index.mjs +1 -1
  49. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  50. package/dist/esm/{chunk-34R7FSQF.mjs → chunk-57J5YBMT.mjs} +2 -2
  51. package/dist/esm/{chunk-USB3LA6B.mjs → chunk-AMAPBD4D.mjs} +2 -2
  52. package/dist/esm/chunk-BK56GLTP.mjs +4 -0
  53. package/dist/esm/chunk-BK56GLTP.mjs.map +1 -0
  54. package/dist/esm/{chunk-G7WH6GQP.mjs → chunk-CFQFFP6N.mjs} +2 -2
  55. package/dist/esm/{chunk-4JT5AESZ.mjs → chunk-CO67Y6YE.mjs} +2 -2
  56. package/dist/esm/chunk-CW35YAMN.mjs +2 -0
  57. package/dist/esm/{chunk-HW7TSJI2.mjs → chunk-CZYH3G7E.mjs} +2 -2
  58. package/dist/esm/chunk-FLZPUYXQ.mjs +2 -0
  59. package/dist/esm/chunk-FLZPUYXQ.mjs.map +1 -0
  60. package/dist/esm/{chunk-ZNLOQO4Q.mjs → chunk-GBNAG7KK.mjs} +2 -2
  61. package/dist/esm/{chunk-6UZHMEK3.mjs → chunk-HETYL3WN.mjs} +2 -2
  62. package/dist/esm/{chunk-SE2VS7WM.mjs → chunk-KRBZ54CY.mjs} +2 -2
  63. package/dist/esm/{chunk-G6HENV5D.mjs → chunk-Q4W3WJ2U.mjs} +2 -2
  64. package/dist/esm/{chunk-EF4FA5I6.mjs → chunk-RQX6JOEN.mjs} +2 -2
  65. package/dist/esm/{chunk-MA4QUN6P.mjs → chunk-U7HD6PQV.mjs} +2 -2
  66. package/dist/esm/{chunk-TDGLYA35.mjs → chunk-UOP7GBXB.mjs} +2 -2
  67. package/dist/esm/{chunk-K43K3YG7.mjs → chunk-UQWF24SS.mjs} +2 -2
  68. package/dist/esm/{chunk-2UBI3AZJ.mjs → chunk-V2QSMVJ5.mjs} +2 -2
  69. package/dist/esm/{chunk-TLFZOAAB.mjs → chunk-V74WPKSY.mjs} +2 -2
  70. package/dist/esm/chunk-VEGW6HP5.mjs +2 -0
  71. package/dist/esm/{chunk-HLF3U7IS.mjs.map → chunk-VEGW6HP5.mjs.map} +1 -1
  72. package/dist/esm/client/core.mjs +1 -1
  73. package/dist/esm/client/get.mjs +1 -1
  74. package/dist/esm/client/index.mjs +1 -1
  75. package/dist/esm/client/post.mjs +1 -1
  76. package/dist/esm/core/crypto/abstraction.mjs +1 -1
  77. package/dist/esm/core/crypto/deserializationUtils.d.mts +36 -0
  78. package/dist/esm/core/crypto/deserializationUtils.mjs +2 -0
  79. package/dist/esm/core/crypto/deserializationUtils.mjs.map +1 -0
  80. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  81. package/dist/esm/core/crypto/ephemeral.mjs +1 -1
  82. package/dist/esm/core/crypto/federatedKeyless.mjs +1 -1
  83. package/dist/esm/core/crypto/index.d.mts +1 -0
  84. package/dist/esm/core/crypto/index.mjs +1 -1
  85. package/dist/esm/core/crypto/keyless.mjs +1 -1
  86. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  87. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  88. package/dist/esm/core/crypto/proof.mjs +1 -1
  89. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  90. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  91. package/dist/esm/core/crypto/signature.mjs +1 -1
  92. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  93. package/dist/esm/core/index.d.mts +1 -0
  94. package/dist/esm/core/index.mjs +1 -1
  95. package/dist/esm/errors/index.mjs +1 -1
  96. package/dist/esm/index.d.mts +1 -0
  97. package/dist/esm/index.mjs +1 -1
  98. package/dist/esm/internal/abstraction.mjs +1 -1
  99. package/dist/esm/internal/account.mjs +1 -1
  100. package/dist/esm/internal/ans.mjs +1 -1
  101. package/dist/esm/internal/coin.mjs +1 -1
  102. package/dist/esm/internal/digitalAsset.mjs +1 -1
  103. package/dist/esm/internal/event.mjs +1 -1
  104. package/dist/esm/internal/faucet.mjs +1 -1
  105. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  106. package/dist/esm/internal/general.mjs +1 -1
  107. package/dist/esm/internal/keyless.mjs +1 -1
  108. package/dist/esm/internal/object.mjs +1 -1
  109. package/dist/esm/internal/staking.mjs +1 -1
  110. package/dist/esm/internal/table.mjs +1 -1
  111. package/dist/esm/internal/transaction.mjs +1 -1
  112. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  113. package/dist/esm/internal/utils/index.mjs +1 -1
  114. package/dist/esm/internal/utils/utils.mjs +1 -1
  115. package/dist/esm/internal/view.mjs +1 -1
  116. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  117. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  118. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  119. package/dist/esm/transactions/index.mjs +1 -1
  120. package/dist/esm/transactions/instances/index.mjs +1 -1
  121. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  122. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  123. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  124. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  125. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  126. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  127. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  128. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  129. package/dist/esm/transactions/management/index.mjs +1 -1
  130. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  131. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  132. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  133. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  134. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
  135. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  136. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  137. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  138. package/dist/esm/utils/index.mjs +1 -1
  139. package/dist/esm/utils/normalizeBundle.mjs +1 -1
  140. package/dist/esm/version.d.mts +1 -1
  141. package/dist/esm/version.mjs +1 -1
  142. package/package.json +3 -3
  143. package/src/bcs/deserializer.ts +13 -0
  144. package/src/core/crypto/deserializationUtils.ts +106 -0
  145. package/src/core/crypto/index.ts +1 -0
  146. package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +56 -0
  147. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
  148. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
  149. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
  150. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
  151. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
  152. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
  153. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
  154. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
  155. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
  156. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
  157. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
  158. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
  159. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
  160. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
  161. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
  162. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
  163. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
  164. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
  165. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
  166. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
  167. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
  168. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
  169. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
  170. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
  171. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
  172. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
  173. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
  174. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
  175. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
  176. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
  177. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
  178. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
  179. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
  180. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
  181. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
  182. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
  183. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
  184. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
  185. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
  186. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
  187. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
  188. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
  189. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
  190. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
  191. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
  192. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
  193. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
  194. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
  195. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
  196. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
  197. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
  198. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
  199. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
  200. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
  201. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
  202. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
  203. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
  204. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
  205. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
  206. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
  207. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
  208. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
  209. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
  210. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
  211. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
  212. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
  213. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
  214. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
  215. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
  216. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
  217. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
  218. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
  219. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
  220. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
  221. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
  222. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
  223. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
  224. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
  225. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
  226. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
  227. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
  228. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
  229. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
  230. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
  231. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
  232. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
  233. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
  234. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
  235. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
  236. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
  237. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
  238. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
  239. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
  240. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
  241. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
  242. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
  243. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
  244. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
  245. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
  246. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
  247. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
  248. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
  249. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
  250. package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
  251. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
  252. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
  253. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
  254. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
  255. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
  256. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
  257. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
  258. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
  259. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
  260. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
  261. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
  262. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
  263. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
  264. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
  265. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
  266. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
  267. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
  268. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
  269. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
  270. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
  271. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
  272. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
  273. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
  274. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
  275. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
  276. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
  277. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
  278. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
  279. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
  280. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
  281. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
  282. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
  283. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
  284. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
  285. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
  286. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
  287. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
  288. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
  289. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
  290. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
  291. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
  292. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
  293. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
  294. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
  295. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
  296. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
  297. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
  298. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
  299. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
  300. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
  301. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
  302. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
  303. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
  304. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
  305. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
  306. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
  307. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
  308. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
  309. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
  310. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
  311. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
  312. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
  313. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
  314. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
  315. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
  316. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
  317. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
  318. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
  319. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
  320. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
  321. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
  322. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
  323. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
  324. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
  325. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
  326. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
  327. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
  328. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
  329. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
  330. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
  331. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
  332. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
  333. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
  334. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
  335. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
  336. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
  337. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
  338. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
  339. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
  340. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
  341. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
  342. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
  343. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
  344. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
  345. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
  346. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
  347. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
  348. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
  349. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
  350. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
  351. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
  352. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
  353. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
  354. package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
  355. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +1533 -0
  356. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +48 -0
  357. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +66 -0
  358. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +280 -0
  359. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +443 -0
  360. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +204 -0
  361. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +1387 -0
  362. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +394 -0
  363. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +41 -0
  364. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +48 -0
  365. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +367 -0
  366. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +2214 -0
  367. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +101 -0
  368. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +77 -0
  369. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +21 -0
  370. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +5568 -0
  371. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +228 -0
  372. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +121 -0
  373. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +92 -0
  374. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +66 -0
  375. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +100 -0
  376. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +1566 -0
  377. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +176 -0
  378. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +550 -0
  379. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +23 -0
  380. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +68 -0
  381. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +148 -0
  382. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +817 -0
  383. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +312 -0
  384. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +205 -0
  385. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +2477 -0
  386. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +1073 -0
  387. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +147 -0
  388. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +295 -0
  389. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +405 -0
  390. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +574 -0
  391. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +57 -0
  392. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +153 -0
  393. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +49 -0
  394. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +237 -0
  395. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +132 -0
  396. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +69 -0
  397. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +267 -0
  398. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +3286 -0
  399. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +686 -0
  400. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +1618 -0
  401. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +228 -0
  402. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +90 -0
  403. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +622 -0
  404. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +82 -0
  405. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +88 -0
  406. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +262 -0
  407. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +457 -0
  408. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +501 -0
  409. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +16 -0
  410. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +42 -0
  411. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +115 -0
  412. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +2183 -0
  413. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +1279 -0
  414. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +57 -0
  415. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +253 -0
  416. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +469 -0
  417. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +985 -0
  418. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +802 -0
  419. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +855 -0
  420. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +193 -0
  421. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +173 -0
  422. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +45 -0
  423. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +351 -0
  424. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +278 -0
  425. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +262 -0
  426. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +447 -0
  427. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +91 -0
  428. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +381 -0
  429. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +336 -0
  430. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +139 -0
  431. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +142 -0
  432. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +482 -0
  433. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +571 -0
  434. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +270 -0
  435. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +1310 -0
  436. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +253 -0
  437. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +234 -0
  438. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +158 -0
  439. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +114 -0
  440. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +319 -0
  441. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +769 -0
  442. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +766 -0
  443. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +148 -0
  444. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +152 -0
  445. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +141 -0
  446. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +351 -0
  447. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +46 -0
  448. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +27 -0
  449. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +239 -0
  450. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +88 -0
  451. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +780 -0
  452. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +295 -0
  453. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +8 -0
  454. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +356 -0
  455. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +21 -0
  456. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +93 -0
  457. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +669 -0
  458. package/src/internal/move/jwks/build/jwk/sources/main.move +20 -0
  459. package/src/version.ts +1 -1
  460. package/dist/esm/chunk-5YLNYSBT.mjs +0 -4
  461. package/dist/esm/chunk-5YLNYSBT.mjs.map +0 -1
  462. package/dist/esm/chunk-DLIBG6H7.mjs +0 -2
  463. package/dist/esm/chunk-DLIBG6H7.mjs.map +0 -1
  464. package/dist/esm/chunk-HLF3U7IS.mjs +0 -2
  465. package/dist/esm/chunk-RIRJNQ7B.mjs +0 -2
  466. /package/dist/esm/{chunk-34R7FSQF.mjs.map → chunk-57J5YBMT.mjs.map} +0 -0
  467. /package/dist/esm/{chunk-USB3LA6B.mjs.map → chunk-AMAPBD4D.mjs.map} +0 -0
  468. /package/dist/esm/{chunk-G7WH6GQP.mjs.map → chunk-CFQFFP6N.mjs.map} +0 -0
  469. /package/dist/esm/{chunk-4JT5AESZ.mjs.map → chunk-CO67Y6YE.mjs.map} +0 -0
  470. /package/dist/esm/{chunk-RIRJNQ7B.mjs.map → chunk-CW35YAMN.mjs.map} +0 -0
  471. /package/dist/esm/{chunk-HW7TSJI2.mjs.map → chunk-CZYH3G7E.mjs.map} +0 -0
  472. /package/dist/esm/{chunk-ZNLOQO4Q.mjs.map → chunk-GBNAG7KK.mjs.map} +0 -0
  473. /package/dist/esm/{chunk-6UZHMEK3.mjs.map → chunk-HETYL3WN.mjs.map} +0 -0
  474. /package/dist/esm/{chunk-SE2VS7WM.mjs.map → chunk-KRBZ54CY.mjs.map} +0 -0
  475. /package/dist/esm/{chunk-G6HENV5D.mjs.map → chunk-Q4W3WJ2U.mjs.map} +0 -0
  476. /package/dist/esm/{chunk-EF4FA5I6.mjs.map → chunk-RQX6JOEN.mjs.map} +0 -0
  477. /package/dist/esm/{chunk-MA4QUN6P.mjs.map → chunk-U7HD6PQV.mjs.map} +0 -0
  478. /package/dist/esm/{chunk-TDGLYA35.mjs.map → chunk-UOP7GBXB.mjs.map} +0 -0
  479. /package/dist/esm/{chunk-K43K3YG7.mjs.map → chunk-UQWF24SS.mjs.map} +0 -0
  480. /package/dist/esm/{chunk-2UBI3AZJ.mjs.map → chunk-V2QSMVJ5.mjs.map} +0 -0
  481. /package/dist/esm/{chunk-TLFZOAAB.mjs.map → chunk-V74WPKSY.mjs.map} +0 -0
@@ -0,0 +1,253 @@
1
+ /// This module implements a Bulletproof range proof verifier on the Ristretto255 curve.
2
+ ///
3
+ /// A Bulletproof-based zero-knowledge range proof is a proof that a Pedersen commitment
4
+ /// $c = v G + r H$ commits to an $n$-bit value $v$ (i.e., $v \in [0, 2^n)$). Currently, this module only supports
5
+ /// $n \in \{8, 16, 32, 64\}$ for the number of bits.
6
+ module aptos_std::ristretto255_bulletproofs {
7
+ use std::error;
8
+ use std::features;
9
+ use aptos_std::ristretto255_pedersen as pedersen;
10
+ use aptos_std::ristretto255::{Self, RistrettoPoint};
11
+
12
+ //
13
+ // Constants
14
+ //
15
+
16
+ /// The maximum range supported by the Bulletproofs library is $[0, 2^{64})$.
17
+ const MAX_RANGE_BITS : u64 = 64;
18
+
19
+ //
20
+ // Error codes
21
+ //
22
+
23
+ /// There was an error deserializing the range proof.
24
+ const E_DESERIALIZE_RANGE_PROOF: u64 = 1;
25
+
26
+ /// The committed value given to the prover is too large.
27
+ const E_VALUE_OUTSIDE_RANGE: u64 = 2;
28
+
29
+ /// The range proof system only supports proving ranges of type $[0, 2^b)$ where $b \in \{8, 16, 32, 64\}$.
30
+ const E_RANGE_NOT_SUPPORTED: u64 = 3;
31
+
32
+ /// The native functions have not been rolled out yet.
33
+ const E_NATIVE_FUN_NOT_AVAILABLE: u64 = 4;
34
+
35
+ //
36
+ // Structs
37
+ //
38
+
39
+ /// Represents a zero-knowledge range proof that a value committed inside a Pedersen commitment lies in
40
+ /// `[0, 2^{MAX_RANGE_BITS})`.
41
+ struct RangeProof has copy, drop, store {
42
+ bytes: vector<u8>
43
+ }
44
+
45
+ //
46
+ // Public functions
47
+ //
48
+
49
+ /// Returns the maximum # of bits that the range proof system can verify proofs for.
50
+ public fun get_max_range_bits(): u64 {
51
+ MAX_RANGE_BITS
52
+ }
53
+
54
+ /// Deserializes a range proof from a sequence of bytes. The serialization format is the same as the format in
55
+ /// the zkcrypto's `bulletproofs` library (https://docs.rs/bulletproofs/4.0.0/bulletproofs/struct.RangeProof.html#method.from_bytes).
56
+ public fun range_proof_from_bytes(bytes: vector<u8>): RangeProof {
57
+ RangeProof {
58
+ bytes
59
+ }
60
+ }
61
+
62
+ /// Returns the byte-representation of a range proof.
63
+ public fun range_proof_to_bytes(proof: &RangeProof): vector<u8> {
64
+ proof.bytes
65
+ }
66
+
67
+ /// Verifies a zero-knowledge range proof that the value `v` committed in `com` (under the default Bulletproofs
68
+ /// commitment key; see `pedersen::new_commitment_for_bulletproof`) satisfies $v \in [0, 2^b)$. Only works
69
+ /// for $b \in \{8, 16, 32, 64\}$. Additionally, checks that the prover used `dst` as the domain-separation
70
+ /// tag (DST).
71
+ ///
72
+ /// WARNING: The DST check is VERY important for security as it prevents proofs computed for one application
73
+ /// (a.k.a., a _domain_) with `dst_1` from verifying in a different application with `dst_2 != dst_1`.
74
+ public fun verify_range_proof_pedersen(com: &pedersen::Commitment, proof: &RangeProof, num_bits: u64, dst: vector<u8>): bool {
75
+ assert!(features::bulletproofs_enabled(), error::invalid_state(E_NATIVE_FUN_NOT_AVAILABLE));
76
+
77
+ verify_range_proof_internal(
78
+ ristretto255::point_to_bytes(&pedersen::commitment_as_compressed_point(com)),
79
+ &ristretto255::basepoint(), &ristretto255::hash_to_point_base(),
80
+ proof.bytes,
81
+ num_bits,
82
+ dst
83
+ )
84
+ }
85
+
86
+ /// Verifies a zero-knowledge range proof that the value `v` committed in `com` (as v * val_base + r * rand_base,
87
+ /// for some randomness `r`) satisfies `v` in `[0, 2^num_bits)`. Only works for `num_bits` in `{8, 16, 32, 64}`.
88
+ public fun verify_range_proof(
89
+ com: &RistrettoPoint,
90
+ val_base: &RistrettoPoint, rand_base: &RistrettoPoint,
91
+ proof: &RangeProof, num_bits: u64, dst: vector<u8>): bool
92
+ {
93
+ assert!(features::bulletproofs_enabled(), error::invalid_state(E_NATIVE_FUN_NOT_AVAILABLE));
94
+
95
+ verify_range_proof_internal(
96
+ ristretto255::point_to_bytes(&ristretto255::point_compress(com)),
97
+ val_base, rand_base,
98
+ proof.bytes, num_bits, dst
99
+ )
100
+ }
101
+
102
+ #[test_only]
103
+ /// Computes a range proof for the Pedersen commitment to 'val' with randomness 'r', under the default Bulletproofs
104
+ /// commitment key; see `pedersen::new_commitment_for_bulletproof`. Returns the said commitment too.
105
+ /// Only works for `num_bits` in `{8, 16, 32, 64}`.
106
+ public fun prove_range_pedersen(val: &Scalar, r: &Scalar, num_bits: u64, dst: vector<u8>): (RangeProof, pedersen::Commitment) {
107
+ let (bytes, compressed_comm) = prove_range_internal(scalar_to_bytes(val), scalar_to_bytes(r), num_bits, dst, &ristretto255::basepoint(), &ristretto255::hash_to_point_base());
108
+ let point = ristretto255::new_compressed_point_from_bytes(compressed_comm);
109
+ let point = &std::option::extract(&mut point);
110
+
111
+ (
112
+ RangeProof { bytes },
113
+ pedersen::commitment_from_compressed(point)
114
+ )
115
+ }
116
+
117
+ //
118
+ // Native functions
119
+ //
120
+
121
+ /// Aborts with `error::invalid_argument(E_DESERIALIZE_RANGE_PROOF)` if `proof` is not a valid serialization of a
122
+ /// range proof.
123
+ /// Aborts with `error::invalid_argument(E_RANGE_NOT_SUPPORTED)` if an unsupported `num_bits` is provided.
124
+ native fun verify_range_proof_internal(
125
+ com: vector<u8>,
126
+ val_base: &RistrettoPoint,
127
+ rand_base: &RistrettoPoint,
128
+ proof: vector<u8>,
129
+ num_bits: u64,
130
+ dst: vector<u8>): bool;
131
+
132
+ #[test_only]
133
+ /// Returns a tuple consisting of (1) a range proof for 'val' committed with randomness 'r' under the default Bulletproofs
134
+ /// commitment key and (2) the commitment itself.
135
+ ///
136
+ /// Aborts with `error::invalid_argument(E_RANGE_NOT_SUPPORTED)` if an unsupported `num_bits` is provided.
137
+ /// Aborts with `error::invalid_argument(E_VALUE_OUTSIDE_RANGE)` if an `val_base` is not `num_bits` wide.
138
+ native fun prove_range_internal(
139
+ val: vector<u8>,
140
+ r: vector<u8>,
141
+ num_bits: u64,
142
+ dst: vector<u8>,
143
+ val_base: &RistrettoPoint,
144
+ rand_base: &RistrettoPoint): (vector<u8>, vector<u8>);
145
+
146
+ //
147
+ // Testing
148
+ //
149
+
150
+ #[test_only]
151
+ use aptos_std::ristretto255::{Scalar, scalar_to_bytes, point_equals};
152
+
153
+ #[test_only]
154
+ const A_DST: vector<u8> = b"AptosBulletproofs";
155
+ #[test_only]
156
+ const A_VALUE: vector<u8> = x"870c2fa1b2e9ac45000000000000000000000000000000000000000000000000"; // i.e., 5020644638028926087u64
157
+ #[test_only]
158
+ const A_BLINDER: vector<u8> = x"e7c7b42b75503bfc7b1932783786d227ebf88f79da752b68f6b865a9c179640c";
159
+ // Pedersen commitment to A_VALUE with randomness A_BLINDER
160
+ #[test_only]
161
+ const A_COMM: vector<u8> = x"0a665260a4e42e575882c2cdcb3d0febd6cf168834f6de1e9e61e7b2e53dbf14";
162
+ // Range proof for A_COMM using domain-separation tag in A_DST, and MAX_RANGE_BITS
163
+ #[test_only]
164
+ const A_RANGE_PROOF_PEDERSEN: vector<u8> = x"d8d422d3fb9511d1942b78e3ec1a8c82fe1c01a0a690c55a4761e7e825633a753cca816667d2cbb716fe04a9c199cad748c2d4e59de4ed04fedf5f04f4341a74ae75b63c1997fd65d5fb3a8c03ad8771abe2c0a4f65d19496c11d948d6809503eac4d996f2c6be4e64ebe2df31102c96f106695bdf489dc9290c93b4d4b5411fb6298d0c33afa57e2e1948c38ef567268a661e7b1c099272e29591e717930a06a2c6e0e2d56aedea3078fd59334634f1a4543069865409eba074278f191039083102a9a0621791a9be09212a847e22061e083d7a712b05bca7274b25e4cb1201c679c4957f0842d7661fa1d3f5456a651e89112628b456026f8ad3a7abeaba3fec8031ec8b0392c0aa6c96205f7b21b0c2d6b5d064bd5bd1a1d91c41625d910688fa0dca35ec0f0e31a45792f8d6a330be970a22e1e0773111a083de893c89419ee7de97295978de90bcdf873a2826746809e64f9143417dbed09fa1c124e673febfed65c137cc45fabda963c96b64645802d1440cba5e58717e539f55f3321ab0c0f60410fba70070c5db500fee874265a343a2a59773fd150bcae09321a5166062e176e2e76bef0e3dd1a9250bcb7f4c971c10f0b24eb2a94e009b72c1fc21ee4267881e27b4edba8bed627ddf37e0c53cd425bc279d0c50d154d136503e54882e9541820d6394bd52ca2b438fd8c517f186fec0649c4846c4e43ce845d80e503dee157ce55392188039a7efc78719107ab989db8d9363b9dfc1946f01a84dbca5e742ed5f30b07ac61cf17ce2cf2c6a49d799ed3968a63a3ccb90d9a0e50960d959f17f202dd5cf0f2c375a8a702e063d339e48c0227e7cf710157f63f13136d8c3076c672ea2c1028fc1825366a145a4311de6c2cc46d3144ae3d2bc5808819b9817be3fce1664ecb60f74733e75e97ca8e567d1b81bdd4c56c7a340ba00";
165
+
166
+ #[test(fx = @std)]
167
+ #[expected_failure(abort_code = 0x010003, location = Self)]
168
+ fun test_unsupported_ranges(fx: signer) {
169
+ features::change_feature_flags_for_testing(&fx, vector[ features::get_bulletproofs_feature() ], vector[]);
170
+
171
+ let comm = ristretto255::new_point_from_bytes(A_COMM);
172
+ let comm = std::option::extract(&mut comm);
173
+ let comm = pedersen::commitment_from_point(comm);
174
+
175
+ assert!(verify_range_proof_pedersen(
176
+ &comm,
177
+ &range_proof_from_bytes(A_RANGE_PROOF_PEDERSEN), 10, A_DST), 1);
178
+ }
179
+
180
+ #[test(fx = @std)]
181
+ fun test_prover(fx: signer) {
182
+ features::change_feature_flags_for_testing(&fx, vector[ features::get_bulletproofs_feature() ], vector[]);
183
+
184
+ let v = ristretto255::new_scalar_from_u64(59);
185
+ let r = ristretto255::new_scalar_from_bytes(A_BLINDER);
186
+ let r = std::option::extract(&mut r);
187
+ let num_bits = 8;
188
+
189
+ let (proof, comm) = prove_range_pedersen(&v, &r, num_bits, A_DST);
190
+
191
+ assert!(verify_range_proof_pedersen(&comm, &proof, 64, A_DST) == false, 1);
192
+ assert!(verify_range_proof_pedersen(&comm, &proof, 32, A_DST) == false, 1);
193
+ assert!(verify_range_proof_pedersen(&comm, &proof, 16, A_DST) == false, 1);
194
+ assert!(verify_range_proof_pedersen(&comm, &proof, num_bits, A_DST), 1);
195
+ }
196
+
197
+ #[test(fx = @std)]
198
+ #[expected_failure(abort_code = 0x010001, location = Self)]
199
+ fun test_empty_range_proof(fx: signer) {
200
+ features::change_feature_flags_for_testing(&fx, vector[ features::get_bulletproofs_feature() ], vector[]);
201
+
202
+ let proof = &range_proof_from_bytes(vector[ ]);
203
+ let num_bits = 64;
204
+ let com = pedersen::new_commitment_for_bulletproof(
205
+ &ristretto255::scalar_one(),
206
+ &ristretto255::new_scalar_from_sha2_512(b"hello random world")
207
+ );
208
+
209
+ // This will fail with error::invalid_argument(E_DESERIALIZE_RANGE_PROOF)
210
+ verify_range_proof_pedersen(&com, proof, num_bits, A_DST);
211
+ }
212
+
213
+ #[test(fx = @std)]
214
+ fun test_valid_range_proof_verifies_against_comm(fx: signer) {
215
+ features::change_feature_flags_for_testing(&fx, vector[ features::get_bulletproofs_feature() ], vector[]);
216
+
217
+ let value = ristretto255::new_scalar_from_bytes(A_VALUE);
218
+ let value = std::option::extract(&mut value);
219
+
220
+ let blinder = ristretto255::new_scalar_from_bytes(A_BLINDER);
221
+ let blinder = std::option::extract(&mut blinder);
222
+
223
+ let comm = pedersen::new_commitment_for_bulletproof(&value, &blinder);
224
+
225
+ let expected_comm = std::option::extract(&mut ristretto255::new_point_from_bytes(A_COMM));
226
+ assert!(point_equals(pedersen::commitment_as_point(&comm), &expected_comm), 1);
227
+
228
+ assert!(verify_range_proof_pedersen(
229
+ &comm,
230
+ &range_proof_from_bytes(A_RANGE_PROOF_PEDERSEN), MAX_RANGE_BITS, A_DST), 1);
231
+ }
232
+
233
+ #[test(fx = @std)]
234
+ fun test_invalid_range_proof_fails_verification(fx: signer) {
235
+ features::change_feature_flags_for_testing(&fx, vector[ features::get_bulletproofs_feature() ], vector[]);
236
+
237
+ let comm = ristretto255::new_point_from_bytes(A_COMM);
238
+ let comm = std::option::extract(&mut comm);
239
+ let comm = pedersen::commitment_from_point(comm);
240
+
241
+ // Take a valid proof...
242
+ let range_proof_invalid = A_RANGE_PROOF_PEDERSEN;
243
+
244
+ // ...and modify a byte in the middle of the proof
245
+ let pos = std::vector::length(&range_proof_invalid) / 2;
246
+ let byte = std::vector::borrow_mut(&mut range_proof_invalid, pos);
247
+ *byte = *byte + 1;
248
+
249
+ assert!(verify_range_proof_pedersen(
250
+ &comm,
251
+ &range_proof_from_bytes(range_proof_invalid), MAX_RANGE_BITS, A_DST) == false, 1);
252
+ }
253
+ }
@@ -0,0 +1,234 @@
1
+ /// This module implements an ElGamal encryption API, over the Ristretto255 curve, that can be used with the
2
+ /// Bulletproofs module.
3
+ ///
4
+ /// An ElGamal *ciphertext* is an encryption of a value `v` under a basepoint `G` and public key `Y = sk * G`, where `sk`
5
+ /// is the corresponding secret key, is `(v * G + r * Y, r * G)`, for a random scalar `r`.
6
+ ///
7
+ /// Note that we place the value `v` "in the exponent" of `G` so that ciphertexts are additively homomorphic: i.e., so
8
+ /// that `Enc_Y(v, r) + Enc_Y(v', r') = Enc_Y(v + v', r + r')` where `v, v'` are plaintext messages, `Y` is a public key and `r, r'`
9
+ /// are the randomness of the ciphertexts.
10
+
11
+ module aptos_std::ristretto255_elgamal {
12
+ use aptos_std::ristretto255::{Self, RistrettoPoint, Scalar, CompressedRistretto, point_compress};
13
+ use std::option::Option;
14
+ use std::vector;
15
+
16
+ //
17
+ // Structs
18
+ //
19
+
20
+ /// An ElGamal ciphertext.
21
+ struct Ciphertext has drop {
22
+ left: RistrettoPoint, // v * G + r * Y
23
+ right: RistrettoPoint, // r * G
24
+ }
25
+
26
+ /// A compressed ElGamal ciphertext.
27
+ struct CompressedCiphertext has store, copy, drop {
28
+ left: CompressedRistretto,
29
+ right: CompressedRistretto,
30
+ }
31
+
32
+ /// An ElGamal public key.
33
+ struct CompressedPubkey has store, copy, drop {
34
+ point: CompressedRistretto,
35
+ }
36
+
37
+ //
38
+ // Public functions
39
+ //
40
+
41
+ /// Creates a new public key from a serialized Ristretto255 point.
42
+ public fun new_pubkey_from_bytes(bytes: vector<u8>): Option<CompressedPubkey> {
43
+ let point = ristretto255::new_compressed_point_from_bytes(bytes);
44
+ if (std::option::is_some(&mut point)) {
45
+ let pk = CompressedPubkey {
46
+ point: std::option::extract(&mut point)
47
+ };
48
+ std::option::some(pk)
49
+ } else {
50
+ std::option::none<CompressedPubkey>()
51
+ }
52
+ }
53
+
54
+ /// Given an ElGamal public key `pubkey`, returns the byte representation of that public key.
55
+ public fun pubkey_to_bytes(pubkey: &CompressedPubkey): vector<u8> {
56
+ ristretto255::compressed_point_to_bytes(pubkey.point)
57
+ }
58
+
59
+ /// Given a public key `pubkey`, returns the underlying `RistrettoPoint` representing that key.
60
+ public fun pubkey_to_point(pubkey: &CompressedPubkey): RistrettoPoint {
61
+ ristretto255::point_decompress(&pubkey.point)
62
+ }
63
+
64
+ /// Given a public key, returns the underlying `CompressedRistretto` point representing that key.
65
+ public fun pubkey_to_compressed_point(pubkey: &CompressedPubkey): CompressedRistretto {
66
+ pubkey.point
67
+ }
68
+
69
+ /// Creates a new ciphertext from two serialized Ristretto255 points: the first 32 bytes store `r * G` while the
70
+ /// next 32 bytes store `v * G + r * Y`, where `Y` is the public key.
71
+ public fun new_ciphertext_from_bytes(bytes: vector<u8>): Option<Ciphertext> {
72
+ if(vector::length(&bytes) != 64) {
73
+ return std::option::none<Ciphertext>()
74
+ };
75
+
76
+ let bytes_right = vector::trim(&mut bytes, 32);
77
+
78
+ let left_point = ristretto255::new_point_from_bytes(bytes);
79
+ let right_point = ristretto255::new_point_from_bytes(bytes_right);
80
+
81
+ if (std::option::is_some<RistrettoPoint>(&mut left_point) && std::option::is_some<RistrettoPoint>(&mut right_point)) {
82
+ std::option::some<Ciphertext>(Ciphertext {
83
+ left: std::option::extract<RistrettoPoint>(&mut left_point),
84
+ right: std::option::extract<RistrettoPoint>(&mut right_point)
85
+ })
86
+ } else {
87
+ std::option::none<Ciphertext>()
88
+ }
89
+ }
90
+
91
+ /// Creates a new ciphertext `(val * G + 0 * Y, 0 * G) = (val * G, 0 * G)` where `G` is the Ristretto255 basepoint
92
+ /// and the randomness is set to zero.
93
+ public fun new_ciphertext_no_randomness(val: &Scalar): Ciphertext {
94
+ Ciphertext {
95
+ left: ristretto255::basepoint_mul(val),
96
+ right: ristretto255::point_identity(),
97
+ }
98
+ }
99
+
100
+ /// Moves a pair of Ristretto points into an ElGamal ciphertext.
101
+ public fun ciphertext_from_points(left: RistrettoPoint, right: RistrettoPoint): Ciphertext {
102
+ Ciphertext {
103
+ left,
104
+ right,
105
+ }
106
+ }
107
+
108
+ /// Moves a pair of `CompressedRistretto` points into an ElGamal ciphertext.
109
+ public fun ciphertext_from_compressed_points(left: CompressedRistretto, right: CompressedRistretto): CompressedCiphertext {
110
+ CompressedCiphertext {
111
+ left,
112
+ right,
113
+ }
114
+ }
115
+
116
+ /// Given a ciphertext `ct`, serializes that ciphertext into bytes.
117
+ public fun ciphertext_to_bytes(ct: &Ciphertext): vector<u8> {
118
+ let bytes_left = ristretto255::point_to_bytes(&ristretto255::point_compress(&ct.left));
119
+ let bytes_right = ristretto255::point_to_bytes(&ristretto255::point_compress(&ct.right));
120
+ let bytes = vector::empty<u8>();
121
+ vector::append<u8>(&mut bytes, bytes_left);
122
+ vector::append<u8>(&mut bytes, bytes_right);
123
+ bytes
124
+ }
125
+
126
+ /// Moves the ciphertext into a pair of `RistrettoPoint`'s.
127
+ public fun ciphertext_into_points(c: Ciphertext): (RistrettoPoint, RistrettoPoint) {
128
+ let Ciphertext { left, right } = c;
129
+ (left, right)
130
+ }
131
+
132
+ /// Returns the pair of `RistrettoPoint`'s representing the ciphertext.
133
+ public fun ciphertext_as_points(c: &Ciphertext): (&RistrettoPoint, &RistrettoPoint) {
134
+ (&c.left, &c.right)
135
+ }
136
+
137
+ /// Creates a new compressed ciphertext from a decompressed ciphertext.
138
+ public fun compress_ciphertext(ct: &Ciphertext): CompressedCiphertext {
139
+ CompressedCiphertext {
140
+ left: point_compress(&ct.left),
141
+ right: point_compress(&ct.right),
142
+ }
143
+ }
144
+
145
+ /// Creates a new decompressed ciphertext from a compressed ciphertext.
146
+ public fun decompress_ciphertext(ct: &CompressedCiphertext): Ciphertext {
147
+ Ciphertext {
148
+ left: ristretto255::point_decompress(&ct.left),
149
+ right: ristretto255::point_decompress(&ct.right),
150
+ }
151
+ }
152
+
153
+ /// Homomorphically combines two ciphertexts `lhs` and `rhs` as `lhs + rhs`.
154
+ /// Useful for re-randomizing the ciphertext or updating the committed value.
155
+ public fun ciphertext_add(lhs: &Ciphertext, rhs: &Ciphertext): Ciphertext {
156
+ Ciphertext {
157
+ left: ristretto255::point_add(&lhs.left, &rhs.left),
158
+ right: ristretto255::point_add(&lhs.right, &rhs.right),
159
+ }
160
+ }
161
+
162
+ /// Like `ciphertext_add` but assigns `lhs = lhs + rhs`.
163
+ public fun ciphertext_add_assign(lhs: &mut Ciphertext, rhs: &Ciphertext) {
164
+ ristretto255::point_add_assign(&mut lhs.left, &rhs.left);
165
+ ristretto255::point_add_assign(&mut lhs.right, &rhs.right);
166
+ }
167
+
168
+ /// Homomorphically combines two ciphertexts `lhs` and `rhs` as `lhs - rhs`.
169
+ /// Useful for re-randomizing the ciphertext or updating the committed value.
170
+ public fun ciphertext_sub(lhs: &Ciphertext, rhs: &Ciphertext): Ciphertext {
171
+ Ciphertext {
172
+ left: ristretto255::point_sub(&lhs.left, &rhs.left),
173
+ right: ristretto255::point_sub(&lhs.right, &rhs.right),
174
+ }
175
+ }
176
+
177
+ /// Like `ciphertext_add` but assigns `lhs = lhs - rhs`.
178
+ public fun ciphertext_sub_assign(lhs: &mut Ciphertext, rhs: &Ciphertext) {
179
+ ristretto255::point_sub_assign(&mut lhs.left, &rhs.left);
180
+ ristretto255::point_sub_assign(&mut lhs.right, &rhs.right);
181
+ }
182
+
183
+ /// Creates a copy of this ciphertext.
184
+ public fun ciphertext_clone(c: &Ciphertext): Ciphertext {
185
+ Ciphertext {
186
+ left: ristretto255::point_clone(&c.left),
187
+ right: ristretto255::point_clone(&c.right),
188
+ }
189
+ }
190
+
191
+ /// Returns true if the two ciphertexts are identical: i.e., same value and same randomness.
192
+ public fun ciphertext_equals(lhs: &Ciphertext, rhs: &Ciphertext): bool {
193
+ ristretto255::point_equals(&lhs.left, &rhs.left) &&
194
+ ristretto255::point_equals(&lhs.right, &rhs.right)
195
+ }
196
+
197
+ /// Returns the `RistrettoPoint` in the ciphertext which contains the encrypted value in the exponent.
198
+ public fun get_value_component(ct: &Ciphertext): &RistrettoPoint {
199
+ &ct.left
200
+ }
201
+
202
+ //
203
+ // Test-only functions
204
+ //
205
+
206
+ #[test_only]
207
+ /// Given an ElGamal secret key `sk`, returns the corresponding ElGamal public key as `sk * G`.
208
+ public fun pubkey_from_secret_key(sk: &Scalar): CompressedPubkey {
209
+ let point = ristretto255::basepoint_mul(sk);
210
+ CompressedPubkey {
211
+ point: point_compress(&point)
212
+ }
213
+ }
214
+
215
+ #[test_only]
216
+ /// Returns a ciphertext (v * point + r * pubkey, r * point) where `point` is *any* Ristretto255 point,
217
+ /// `pubkey` is the public key and `r` is the randomness.
218
+ public fun new_ciphertext(v: &Scalar, point: &RistrettoPoint, r: &Scalar, pubkey: &CompressedPubkey): Ciphertext {
219
+ Ciphertext {
220
+ left: ristretto255::double_scalar_mul(v, point, r, &pubkey_to_point(pubkey)),
221
+ right: ristretto255::point_mul(point, r),
222
+ }
223
+ }
224
+
225
+ #[test_only]
226
+ /// Returns a ciphertext (v * basepoint + r * pubkey, r * basepoint) where `basepoint` is the Ristretto255 basepoint
227
+ /// `pubkey` is the public key and `r` is the randomness.
228
+ public fun new_ciphertext_with_basepoint(v: &Scalar, r: &Scalar, pubkey: &CompressedPubkey): Ciphertext {
229
+ Ciphertext {
230
+ left: ristretto255::basepoint_double_mul(r, &pubkey_to_point(pubkey), v),
231
+ right: ristretto255::basepoint_mul(r),
232
+ }
233
+ }
234
+ }
@@ -0,0 +1,158 @@
1
+ /// This module implements a Pedersen commitment API, over the Ristretto255 curve, that can be used with the
2
+ /// Bulletproofs module.
3
+ ///
4
+ /// A Pedersen commitment to a value `v` under _commitment key_ `(g, h)` is `v * g + r * h`, for a random scalar `r`.
5
+
6
+ module aptos_std::ristretto255_pedersen {
7
+ use aptos_std::ristretto255::{Self, RistrettoPoint, Scalar, CompressedRistretto, point_compress};
8
+ use std::option::Option;
9
+
10
+ //
11
+ // Constants
12
+ //
13
+
14
+ /// The default Pedersen randomness base `h` used in our underlying Bulletproofs library.
15
+ /// This is obtained by hashing the compressed Ristretto255 basepoint using SHA3-512 (not SHA2-512).
16
+ const BULLETPROOF_DEFAULT_PEDERSEN_RAND_BASE : vector<u8> = x"8c9240b456a9e6dc65c377a1048d745f94a08cdb7f44cbcd7b46f34048871134";
17
+
18
+ //
19
+ // Structs
20
+ //
21
+
22
+ /// A Pedersen commitment to some value with some randomness.
23
+ struct Commitment has drop {
24
+ point: RistrettoPoint,
25
+ }
26
+
27
+ //
28
+ // Public functions
29
+ //
30
+
31
+ /// Creates a new public key from a serialized Ristretto255 point.
32
+ public fun new_commitment_from_bytes(bytes: vector<u8>): Option<Commitment> {
33
+ let point = ristretto255::new_point_from_bytes(bytes);
34
+ if (std::option::is_some(&mut point)) {
35
+ let comm = Commitment {
36
+ point: std::option::extract(&mut point)
37
+ };
38
+ std::option::some(comm)
39
+ } else {
40
+ std::option::none<Commitment>()
41
+ }
42
+ }
43
+
44
+ /// Returns a commitment as a serialized byte array
45
+ public fun commitment_to_bytes(comm: &Commitment): vector<u8> {
46
+ ristretto255::point_to_bytes(&ristretto255::point_compress(&comm.point))
47
+ }
48
+
49
+ /// Moves a Ristretto point into a Pedersen commitment.
50
+ public fun commitment_from_point(point: RistrettoPoint): Commitment {
51
+ Commitment {
52
+ point
53
+ }
54
+ }
55
+
56
+ /// Deserializes a commitment from a compressed Ristretto point.
57
+ public fun commitment_from_compressed(point: &CompressedRistretto): Commitment {
58
+ Commitment {
59
+ point: ristretto255::point_decompress(point)
60
+ }
61
+ }
62
+
63
+ /// Returns a commitment `v * val_base + r * rand_base` where `(val_base, rand_base)` is the commitment key.
64
+ public fun new_commitment(v: &Scalar, val_base: &RistrettoPoint, r: &Scalar, rand_base: &RistrettoPoint): Commitment {
65
+ Commitment {
66
+ point: ristretto255::double_scalar_mul(v, val_base, r, rand_base)
67
+ }
68
+ }
69
+
70
+ /// Returns a commitment `v * G + r * rand_base` where `G` is the Ristretto255 basepoint.
71
+ public fun new_commitment_with_basepoint(v: &Scalar, r: &Scalar, rand_base: &RistrettoPoint): Commitment {
72
+ Commitment {
73
+ point: ristretto255::basepoint_double_mul(r, rand_base, v)
74
+ }
75
+ }
76
+
77
+ /// Returns a commitment `v * G + r * H` where `G` is the Ristretto255 basepoint and `H` is the default randomness
78
+ /// base used in the Bulletproofs library (i.e., `BULLETPROOF_DEFAULT_PEDERSEN_RAND_BASE`).
79
+ public fun new_commitment_for_bulletproof(v: &Scalar, r: &Scalar): Commitment {
80
+ let rand_base = ristretto255::new_point_from_bytes(BULLETPROOF_DEFAULT_PEDERSEN_RAND_BASE);
81
+ let rand_base = std::option::extract(&mut rand_base);
82
+
83
+ Commitment {
84
+ point: ristretto255::basepoint_double_mul(r, &rand_base, v)
85
+ }
86
+ }
87
+
88
+ /// Homomorphically combines two commitments `lhs` and `rhs` as `lhs + rhs`.
89
+ /// Useful for re-randomizing the commitment or updating the committed value.
90
+ public fun commitment_add(lhs: &Commitment, rhs: &Commitment): Commitment {
91
+ Commitment {
92
+ point: ristretto255::point_add(&lhs.point, &rhs.point)
93
+ }
94
+ }
95
+
96
+ /// Like `commitment_add` but assigns `lhs = lhs + rhs`.
97
+ public fun commitment_add_assign(lhs: &mut Commitment, rhs: &Commitment) {
98
+ ristretto255::point_add_assign(&mut lhs.point, &rhs.point);
99
+ }
100
+
101
+ /// Homomorphically combines two commitments `lhs` and `rhs` as `lhs - rhs`.
102
+ /// Useful for re-randomizing the commitment or updating the committed value.
103
+ public fun commitment_sub(lhs: &Commitment, rhs: &Commitment): Commitment {
104
+ Commitment {
105
+ point: ristretto255::point_sub(&lhs.point, &rhs.point)
106
+ }
107
+ }
108
+
109
+ /// Like `commitment_add` but assigns `lhs = lhs - rhs`.
110
+ public fun commitment_sub_assign(lhs: &mut Commitment, rhs: &Commitment) {
111
+ ristretto255::point_sub_assign(&mut lhs.point, &rhs.point);
112
+ }
113
+
114
+ /// Creates a copy of this commitment.
115
+ public fun commitment_clone(c: &Commitment): Commitment {
116
+ Commitment {
117
+ point: ristretto255::point_clone(&c.point)
118
+ }
119
+ }
120
+
121
+ /// Returns true if the two commitments are identical: i.e., same value and same randomness.
122
+ public fun commitment_equals(lhs: &Commitment, rhs: &Commitment): bool {
123
+ ristretto255::point_equals(&lhs.point, &rhs.point)
124
+ }
125
+
126
+ /// Returns the underlying elliptic curve point representing the commitment as an in-memory `RistrettoPoint`.
127
+ public fun commitment_as_point(c: &Commitment): &RistrettoPoint {
128
+ &c.point
129
+ }
130
+
131
+ /// Returns the Pedersen commitment as a `CompressedRistretto` point.
132
+ public fun commitment_as_compressed_point(c: &Commitment): CompressedRistretto {
133
+ point_compress(&c.point)
134
+ }
135
+
136
+ /// Moves the Commitment into a CompressedRistretto point.
137
+ public fun commitment_into_point(c: Commitment): RistrettoPoint {
138
+ let Commitment { point } = c;
139
+ point
140
+ }
141
+
142
+ /// Moves the Commitment into a `CompressedRistretto` point.
143
+ public fun commitment_into_compressed_point(c: Commitment): CompressedRistretto {
144
+ point_compress(&c.point)
145
+ }
146
+
147
+ /// Returns the randomness base compatible with the Bulletproofs module.
148
+ ///
149
+ /// Recal that a Bulletproof range proof attests, in zero-knowledge, that a value `v` inside a Pedersen commitment
150
+ /// `v * g + r * h` is sufficiently "small" (e.g., is 32-bits wide). Here, `h` is referred to as the
151
+ /// "randomness base" of the commitment scheme.
152
+ ///
153
+ /// Bulletproof has a default choice for `g` and `h` and this function returns the default `h` as used in the
154
+ /// Bulletproofs Move module.
155
+ public fun randomness_base_for_bulletproof(): RistrettoPoint {
156
+ std::option::extract(&mut ristretto255::new_point_from_bytes(BULLETPROOF_DEFAULT_PEDERSEN_RAND_BASE))
157
+ }
158
+ }