@aptos-labs/ts-sdk 1.36.0 → 1.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/{accountAddress-jrha_M3l.d.ts → accountAddress-DZH9Wn5l.d.ts} +28 -1
- package/dist/common/chunk-MVCKMP5U.js +4 -0
- package/dist/common/chunk-MVCKMP5U.js.map +1 -0
- package/dist/common/cli/index.d.ts +1 -1
- package/dist/common/cli/index.js +1 -1
- package/dist/common/cli/index.js.map +1 -1
- package/dist/common/index.d.ts +9288 -8699
- package/dist/common/index.js +32 -32
- package/dist/common/index.js.map +1 -1
- package/dist/esm/{Ed25519Account-D4j3_WIS.d.mts → Ed25519Account-CDURCT1q.d.mts} +59 -3
- package/dist/esm/account/AbstractKeylessAccount.d.mts +23 -13
- package/dist/esm/account/AbstractKeylessAccount.mjs +1 -1
- package/dist/esm/account/AbstractedAccount.d.mts +10 -10
- package/dist/esm/account/AbstractedAccount.mjs +1 -1
- package/dist/esm/account/Account.d.mts +6 -6
- package/dist/esm/account/Account.mjs +1 -1
- package/dist/esm/account/AccountUtils.d.mts +11 -10
- package/dist/esm/account/AccountUtils.mjs +1 -1
- package/dist/esm/account/Ed25519Account.d.mts +5 -5
- package/dist/esm/account/Ed25519Account.mjs +1 -1
- package/dist/esm/account/EphemeralKeyPair.d.mts +3 -1
- package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
- package/dist/esm/account/FederatedKeylessAccount.d.mts +12 -11
- package/dist/esm/account/FederatedKeylessAccount.mjs +1 -1
- package/dist/esm/account/KeylessAccount.d.mts +12 -11
- package/dist/esm/account/KeylessAccount.mjs +1 -1
- package/dist/esm/account/MultiEd25519Account.d.mts +31 -9
- package/dist/esm/account/MultiEd25519Account.mjs +1 -1
- package/dist/esm/account/MultiKeyAccount.d.mts +38 -12
- package/dist/esm/account/MultiKeyAccount.mjs +1 -1
- package/dist/esm/account/SingleKeyAccount.d.mts +6 -6
- package/dist/esm/account/SingleKeyAccount.mjs +1 -1
- package/dist/esm/account/index.d.mts +7 -6
- package/dist/esm/account/index.mjs +1 -1
- package/dist/esm/account/utils.mjs +1 -1
- package/dist/esm/api/account/abstraction.d.mts +9 -9
- package/dist/esm/api/account/abstraction.mjs +1 -1
- package/dist/esm/api/account.d.mts +88 -9
- package/dist/esm/api/account.mjs +1 -1
- package/dist/esm/api/ans.d.mts +13 -13
- package/dist/esm/api/ans.mjs +1 -1
- package/dist/esm/api/aptos.d.mts +6 -5
- package/dist/esm/api/aptos.mjs +1 -1
- package/dist/esm/api/coin.d.mts +11 -11
- package/dist/esm/api/coin.mjs +1 -1
- package/dist/esm/api/digitalAsset.d.mts +5 -5
- package/dist/esm/api/digitalAsset.mjs +1 -1
- package/dist/esm/api/event.mjs +1 -1
- package/dist/esm/api/experimental.d.mts +7 -7
- package/dist/esm/api/experimental.mjs +1 -1
- package/dist/esm/api/faucet.mjs +1 -1
- package/dist/esm/api/fungibleAsset.d.mts +13 -13
- package/dist/esm/api/fungibleAsset.mjs +1 -1
- package/dist/esm/api/general.d.mts +7 -7
- package/dist/esm/api/general.mjs +1 -1
- package/dist/esm/api/index.d.mts +6 -5
- package/dist/esm/api/index.mjs +1 -1
- package/dist/esm/api/keyless.d.mts +20 -19
- package/dist/esm/api/keyless.mjs +1 -1
- package/dist/esm/api/object.mjs +1 -1
- package/dist/esm/api/staking.mjs +1 -1
- package/dist/esm/api/table.mjs +1 -1
- package/dist/esm/api/transaction.d.mts +4 -4
- package/dist/esm/api/transaction.mjs +1 -1
- package/dist/esm/api/transactionSubmission/build.d.mts +9 -9
- package/dist/esm/api/transactionSubmission/build.mjs +1 -1
- package/dist/esm/api/transactionSubmission/management.d.mts +8 -8
- package/dist/esm/api/transactionSubmission/management.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.d.mts +3 -3
- package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
- package/dist/esm/api/transactionSubmission/simulate.d.mts +9 -9
- package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
- package/dist/esm/api/transactionSubmission/submit.d.mts +3 -3
- package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
- package/dist/esm/api/utils.mjs +1 -1
- package/dist/esm/bcs/index.mjs +1 -1
- package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
- package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
- package/dist/esm/{chunk-AIPHJFJL.mjs → chunk-3IGJ2IMB.mjs} +2 -2
- package/dist/esm/{chunk-2P27DDVV.mjs → chunk-5MMTP427.mjs} +2 -2
- package/dist/esm/chunk-6374Q7AG.mjs +2 -0
- package/dist/esm/{chunk-JLZGYZBX.mjs.map → chunk-6374Q7AG.mjs.map} +1 -1
- package/dist/esm/{chunk-AEGA5N2W.mjs → chunk-6J64BOS7.mjs} +2 -2
- package/dist/esm/chunk-7H44HTYE.mjs +4 -0
- package/dist/esm/chunk-7H44HTYE.mjs.map +1 -0
- package/dist/esm/chunk-7VEWPUCH.mjs +2 -0
- package/dist/esm/chunk-7VEWPUCH.mjs.map +1 -0
- package/dist/esm/chunk-ANTUWHYB.mjs +2 -0
- package/dist/esm/chunk-ANTUWHYB.mjs.map +1 -0
- package/dist/esm/{chunk-R6QCPXQG.mjs → chunk-B373VRCY.mjs} +2 -2
- package/dist/esm/chunk-B373VRCY.mjs.map +1 -0
- package/dist/esm/{chunk-TTY5GFMN.mjs → chunk-BSH7B2QT.mjs} +2 -2
- package/dist/esm/chunk-EYLZD4JU.mjs +4 -0
- package/dist/esm/chunk-EYLZD4JU.mjs.map +1 -0
- package/dist/esm/chunk-GPG64UZT.mjs +2 -0
- package/dist/esm/{chunk-X5YB74NB.mjs.map → chunk-GPG64UZT.mjs.map} +1 -1
- package/dist/esm/{chunk-KBC4ECVP.mjs → chunk-HRHICHDX.mjs} +2 -2
- package/dist/esm/{chunk-HWMMVLTP.mjs → chunk-JG4T5BDZ.mjs} +2 -2
- package/dist/esm/chunk-LBA4CTUV.mjs +2 -0
- package/dist/esm/chunk-LBA4CTUV.mjs.map +1 -0
- package/dist/esm/{chunk-H4YAL2IL.mjs → chunk-LGC2JORV.mjs} +2 -2
- package/dist/esm/chunk-LGC2JORV.mjs.map +1 -0
- package/dist/esm/chunk-MIW45ADL.mjs +2 -0
- package/dist/esm/chunk-MIW45ADL.mjs.map +1 -0
- package/dist/esm/{chunk-ZOY6N6UM.mjs → chunk-NZXPT44W.mjs} +2 -2
- package/dist/esm/{chunk-2SAOCLIU.mjs → chunk-POELQOLD.mjs} +2 -2
- package/dist/esm/chunk-PR72YXRK.mjs +2 -0
- package/dist/esm/chunk-PR72YXRK.mjs.map +1 -0
- package/dist/esm/{chunk-ZVYTHOS5.mjs → chunk-PXG3WJIU.mjs} +2 -2
- package/dist/esm/chunk-TTFYJM6A.mjs +2 -0
- package/dist/esm/chunk-TTFYJM6A.mjs.map +1 -0
- package/dist/esm/{chunk-ACE3NEV6.mjs → chunk-VNUNIQAY.mjs} +2 -2
- package/dist/esm/chunk-YHJHXLYS.mjs +7 -0
- package/dist/esm/chunk-YHJHXLYS.mjs.map +1 -0
- package/dist/esm/chunk-YHKWV7NV.mjs +2 -0
- package/dist/esm/chunk-YHKWV7NV.mjs.map +1 -0
- package/dist/esm/cli/index.mjs +1 -1
- package/dist/esm/cli/localNode.mjs +1 -1
- package/dist/esm/client/core.mjs +1 -1
- package/dist/esm/client/get.d.mts +5 -1
- package/dist/esm/client/get.mjs +1 -1
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client/post.mjs +1 -1
- package/dist/esm/core/account/index.mjs +1 -1
- package/dist/esm/core/account/utils/address.mjs +1 -1
- package/dist/esm/core/account/utils/index.mjs +1 -1
- package/dist/esm/core/accountAddress.d.mts +18 -0
- package/dist/esm/core/accountAddress.mjs +1 -1
- package/dist/esm/core/authenticationKey.d.mts +3 -1
- package/dist/esm/core/authenticationKey.mjs +1 -1
- package/dist/esm/core/crypto/abstraction.d.mts +4 -1
- package/dist/esm/core/crypto/abstraction.mjs +1 -1
- package/dist/esm/core/crypto/ed25519.d.mts +18 -1
- package/dist/esm/core/crypto/ed25519.mjs +1 -1
- package/dist/esm/core/crypto/ephemeral.d.mts +8 -1
- package/dist/esm/core/crypto/ephemeral.mjs +1 -1
- package/dist/esm/core/crypto/federatedKeyless.d.mts +11 -87
- package/dist/esm/core/crypto/federatedKeyless.mjs +1 -1
- package/dist/esm/core/crypto/index.d.mts +8 -6
- package/dist/esm/core/crypto/index.mjs +1 -1
- package/dist/esm/core/crypto/keyless.d.mts +13 -586
- package/dist/esm/core/crypto/keyless.mjs +1 -1
- package/dist/esm/core/crypto/multiEd25519.d.mts +14 -4
- package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
- package/dist/esm/core/crypto/multiKey.d.mts +42 -3
- package/dist/esm/core/crypto/multiKey.mjs +1 -1
- package/dist/esm/core/crypto/privateKey.d.mts +3 -1
- package/dist/esm/core/crypto/privateKey.mjs +1 -1
- package/dist/esm/core/crypto/proof.mjs +1 -1
- package/dist/esm/core/crypto/publicKey.d.mts +3 -1
- package/dist/esm/core/crypto/publicKey.mjs +1 -1
- package/dist/esm/core/crypto/secp256k1.d.mts +26 -2
- package/dist/esm/core/crypto/secp256k1.mjs +1 -1
- package/dist/esm/core/crypto/signature.mjs +1 -1
- package/dist/esm/core/crypto/singleKey.d.mts +28 -3
- package/dist/esm/core/crypto/singleKey.mjs +1 -1
- package/dist/esm/core/index.d.mts +8 -6
- package/dist/esm/core/index.mjs +1 -1
- package/dist/esm/errors/index.d.mts +10 -2
- package/dist/esm/errors/index.mjs +1 -1
- package/dist/esm/federatedKeyless-J5bdbbLQ.d.mts +875 -0
- package/dist/esm/index.d.mts +10 -9
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/abstraction.d.mts +9 -9
- package/dist/esm/internal/abstraction.mjs +1 -1
- package/dist/esm/internal/account.d.mts +51 -8
- package/dist/esm/internal/account.mjs +1 -1
- package/dist/esm/internal/ans.d.mts +13 -13
- package/dist/esm/internal/ans.mjs +1 -1
- package/dist/esm/internal/coin.d.mts +7 -7
- package/dist/esm/internal/coin.mjs +1 -1
- package/dist/esm/internal/digitalAsset.d.mts +2 -2
- package/dist/esm/internal/digitalAsset.mjs +1 -1
- package/dist/esm/internal/event.mjs +1 -1
- package/dist/esm/internal/experimental.d.mts +7 -7
- package/dist/esm/internal/experimental.mjs +1 -1
- package/dist/esm/internal/faucet.mjs +1 -1
- package/dist/esm/internal/fungibleAsset.d.mts +2 -2
- package/dist/esm/internal/fungibleAsset.mjs +1 -1
- package/dist/esm/internal/general.mjs +1 -1
- package/dist/esm/internal/keyless.d.mts +9 -8
- package/dist/esm/internal/keyless.mjs +1 -1
- package/dist/esm/internal/object.mjs +1 -1
- package/dist/esm/internal/staking.mjs +1 -1
- package/dist/esm/internal/table.mjs +1 -1
- package/dist/esm/internal/transaction.mjs +1 -1
- package/dist/esm/internal/transactionSubmission.d.mts +6 -6
- package/dist/esm/internal/transactionSubmission.mjs +1 -1
- package/dist/esm/internal/utils/index.d.mts +1 -1
- package/dist/esm/internal/utils/index.mjs +1 -1
- package/dist/esm/internal/utils/utils.d.mts +2 -19
- package/dist/esm/internal/utils/utils.mjs +1 -1
- package/dist/esm/internal/view.d.mts +7 -7
- package/dist/esm/internal/view.mjs +1 -1
- package/dist/esm/{publicKey-BMtGNNLg.d.mts → publicKey-pDHBAZlT.d.mts} +27 -1
- package/dist/esm/transactions/authenticator/account.d.mts +3 -1
- package/dist/esm/transactions/authenticator/account.mjs +1 -1
- package/dist/esm/transactions/authenticator/index.d.mts +3 -1
- package/dist/esm/transactions/authenticator/index.mjs +1 -1
- package/dist/esm/transactions/authenticator/transaction.d.mts +4 -2
- package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
- package/dist/esm/transactions/index.d.mts +3 -3
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/transactions/instances/index.d.mts +4 -2
- package/dist/esm/transactions/instances/index.mjs +1 -1
- package/dist/esm/transactions/instances/moduleId.mjs +1 -1
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +3 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
- package/dist/esm/transactions/instances/signedTransaction.d.mts +3 -1
- package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
- package/dist/esm/transactions/management/accountSequenceNumber.d.mts +2 -2
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
- package/dist/esm/transactions/management/index.d.mts +2 -2
- package/dist/esm/transactions/management/index.mjs +1 -1
- package/dist/esm/transactions/management/transactionWorker.d.mts +3 -3
- package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
- package/dist/esm/transactions/scriptComposer/index.d.mts +7 -7
- package/dist/esm/transactions/scriptComposer/index.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.d.mts +8 -8
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/index.d.mts +7 -7
- package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +5 -5
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +7 -7
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +8 -8
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
- package/dist/esm/transactions/typeTag/index.mjs +1 -1
- package/dist/esm/transactions/typeTag/parser.mjs +1 -1
- package/dist/esm/transactions/types.d.mts +5 -5
- package/dist/esm/types/index.d.mts +1 -1
- package/dist/esm/types/index.mjs +1 -1
- package/dist/esm/types/keyless.d.mts +1 -1
- package/dist/esm/types/types.d.mts +10 -1
- package/dist/esm/types/types.mjs +1 -1
- package/dist/esm/utils/helpers.d.mts +28 -1
- package/dist/esm/utils/helpers.mjs +1 -1
- package/dist/esm/utils/index.d.mts +3 -1
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils/normalizeBundle.mjs +1 -1
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +8 -2
- package/src/account/AbstractKeylessAccount.ts +33 -49
- package/src/account/Account.ts +20 -0
- package/src/account/Ed25519Account.ts +26 -1
- package/src/account/MultiEd25519Account.ts +28 -1
- package/src/account/MultiKeyAccount.ts +25 -16
- package/src/account/SingleKeyAccount.ts +35 -1
- package/src/api/account.ts +84 -4
- package/src/cli/localNode.ts +6 -15
- package/src/client/get.ts +45 -18
- package/src/core/accountAddress.ts +25 -0
- package/src/core/crypto/abstraction.ts +6 -1
- package/src/core/crypto/ed25519.ts +19 -1
- package/src/core/crypto/ephemeral.ts +9 -0
- package/src/core/crypto/federatedKeyless.ts +46 -4
- package/src/core/crypto/index.ts +4 -3
- package/src/core/crypto/keyless.ts +610 -17
- package/src/core/crypto/multiEd25519.ts +11 -3
- package/src/core/crypto/multiKey.ts +86 -5
- package/src/core/crypto/publicKey.ts +28 -0
- package/src/core/crypto/secp256k1.ts +25 -2
- package/src/core/crypto/singleKey.ts +41 -6
- package/src/errors/index.ts +50 -0
- package/src/internal/account.ts +84 -7
- package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +56 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +1533 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +48 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +66 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +280 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +443 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +204 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +1387 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +394 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +41 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +48 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +367 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +2214 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +101 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +77 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +21 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +5568 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +228 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +121 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +92 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +66 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +100 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +1566 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +176 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +550 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +23 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +68 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +148 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +817 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +312 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +205 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +2477 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +1073 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +147 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +295 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +405 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +574 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +57 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +153 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +49 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +237 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +132 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +69 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +267 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +3286 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +686 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +1618 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +228 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +90 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +622 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +82 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +88 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +262 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +457 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +501 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +16 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +42 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +115 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +2183 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +1279 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +57 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +253 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +469 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +985 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +802 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +855 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +193 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +173 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +45 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +351 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +278 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +262 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +447 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +91 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +381 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +336 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +139 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +142 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +482 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +571 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +270 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +1310 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +253 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +234 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +158 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +114 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +319 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +769 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +766 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +148 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +152 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +141 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +351 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +46 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +27 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +239 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +88 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +780 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +295 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +8 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +356 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +21 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +93 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +669 -0
- package/src/internal/move/jwks/build/jwk/sources/main.move +20 -0
- package/src/internal/utils/utils.ts +2 -32
- package/src/types/keyless.ts +1 -1
- package/src/types/types.ts +10 -0
- package/src/utils/helpers.ts +61 -0
- package/src/version.ts +1 -1
- package/dist/common/chunk-PA2XFIP3.js +0 -4
- package/dist/common/chunk-PA2XFIP3.js.map +0 -1
- package/dist/esm/chunk-2N4EPY2J.mjs +0 -2
- package/dist/esm/chunk-2N4EPY2J.mjs.map +0 -1
- package/dist/esm/chunk-2OBSQ2FK.mjs +0 -2
- package/dist/esm/chunk-2OBSQ2FK.mjs.map +0 -1
- package/dist/esm/chunk-36H47QOE.mjs +0 -2
- package/dist/esm/chunk-36H47QOE.mjs.map +0 -1
- package/dist/esm/chunk-3DHWWNJ3.mjs +0 -2
- package/dist/esm/chunk-3DHWWNJ3.mjs.map +0 -1
- package/dist/esm/chunk-4KKJ36IO.mjs +0 -2
- package/dist/esm/chunk-4KKJ36IO.mjs.map +0 -1
- package/dist/esm/chunk-4NMDYPUD.mjs +0 -1
- package/dist/esm/chunk-4NMDYPUD.mjs.map +0 -1
- package/dist/esm/chunk-4PW3JKQZ.mjs +0 -2
- package/dist/esm/chunk-4PW3JKQZ.mjs.map +0 -1
- package/dist/esm/chunk-4QK4SKAT.mjs +0 -2
- package/dist/esm/chunk-4QK4SKAT.mjs.map +0 -1
- package/dist/esm/chunk-4SWK3JHQ.mjs +0 -2
- package/dist/esm/chunk-4SWK3JHQ.mjs.map +0 -1
- package/dist/esm/chunk-553ZRNUL.mjs +0 -2
- package/dist/esm/chunk-553ZRNUL.mjs.map +0 -1
- package/dist/esm/chunk-5AD7ZF6G.mjs +0 -2
- package/dist/esm/chunk-5AD7ZF6G.mjs.map +0 -1
- package/dist/esm/chunk-5MVHOQKD.mjs +0 -2
- package/dist/esm/chunk-5MVHOQKD.mjs.map +0 -1
- package/dist/esm/chunk-5W5XV63W.mjs +0 -2
- package/dist/esm/chunk-5W5XV63W.mjs.map +0 -1
- package/dist/esm/chunk-5WWU3WSU.mjs +0 -2
- package/dist/esm/chunk-5WWU3WSU.mjs.map +0 -1
- package/dist/esm/chunk-6FQDCTMA.mjs +0 -2
- package/dist/esm/chunk-6FQDCTMA.mjs.map +0 -1
- package/dist/esm/chunk-6IULVNLQ.mjs +0 -2
- package/dist/esm/chunk-6IULVNLQ.mjs.map +0 -1
- package/dist/esm/chunk-6KI24ZRR.mjs +0 -2
- package/dist/esm/chunk-6KI24ZRR.mjs.map +0 -1
- package/dist/esm/chunk-6KZT3KFZ.mjs +0 -2
- package/dist/esm/chunk-6KZT3KFZ.mjs.map +0 -1
- package/dist/esm/chunk-6VGLRQBT.mjs +0 -2
- package/dist/esm/chunk-6VGLRQBT.mjs.map +0 -1
- package/dist/esm/chunk-6YPM7TK2.mjs +0 -2
- package/dist/esm/chunk-6YPM7TK2.mjs.map +0 -1
- package/dist/esm/chunk-7HC33TEX.mjs +0 -2
- package/dist/esm/chunk-7HC33TEX.mjs.map +0 -1
- package/dist/esm/chunk-7KHKP7DY.mjs +0 -2
- package/dist/esm/chunk-7KHKP7DY.mjs.map +0 -1
- package/dist/esm/chunk-7OUPEQRN.mjs +0 -2
- package/dist/esm/chunk-7OUPEQRN.mjs.map +0 -1
- package/dist/esm/chunk-APGCD5FH.mjs +0 -2
- package/dist/esm/chunk-APGCD5FH.mjs.map +0 -1
- package/dist/esm/chunk-BSCOVLWS.mjs +0 -1
- package/dist/esm/chunk-BSCOVLWS.mjs.map +0 -1
- package/dist/esm/chunk-CGTMSLVZ.mjs +0 -2
- package/dist/esm/chunk-CGTMSLVZ.mjs.map +0 -1
- package/dist/esm/chunk-CU6HQJSE.mjs +0 -2
- package/dist/esm/chunk-CU6HQJSE.mjs.map +0 -1
- package/dist/esm/chunk-DAR3R4UP.mjs +0 -2
- package/dist/esm/chunk-DAR3R4UP.mjs.map +0 -1
- package/dist/esm/chunk-DUJJUR7O.mjs +0 -2
- package/dist/esm/chunk-DUJJUR7O.mjs.map +0 -1
- package/dist/esm/chunk-E7FWVXGX.mjs +0 -1
- package/dist/esm/chunk-E7FWVXGX.mjs.map +0 -1
- package/dist/esm/chunk-EHTTY7EF.mjs +0 -2
- package/dist/esm/chunk-EHTTY7EF.mjs.map +0 -1
- package/dist/esm/chunk-FCHN3LT7.mjs +0 -2
- package/dist/esm/chunk-FCHN3LT7.mjs.map +0 -1
- package/dist/esm/chunk-GFPEB22G.mjs +0 -1
- package/dist/esm/chunk-GFPEB22G.mjs.map +0 -1
- package/dist/esm/chunk-GJOUTA7U.mjs +0 -2
- package/dist/esm/chunk-GJOUTA7U.mjs.map +0 -1
- package/dist/esm/chunk-H4YAL2IL.mjs.map +0 -1
- package/dist/esm/chunk-HEZ2ZYZA.mjs +0 -1
- package/dist/esm/chunk-HEZ2ZYZA.mjs.map +0 -1
- package/dist/esm/chunk-HTP5ZVX5.mjs +0 -2
- package/dist/esm/chunk-HTP5ZVX5.mjs.map +0 -1
- package/dist/esm/chunk-HWNPKEOJ.mjs +0 -2
- package/dist/esm/chunk-HWNPKEOJ.mjs.map +0 -1
- package/dist/esm/chunk-IHYTP2EW.mjs +0 -1
- package/dist/esm/chunk-IHYTP2EW.mjs.map +0 -1
- package/dist/esm/chunk-ILUFGYLO.mjs +0 -2
- package/dist/esm/chunk-ILUFGYLO.mjs.map +0 -1
- package/dist/esm/chunk-IM4O756A.mjs +0 -2
- package/dist/esm/chunk-IM4O756A.mjs.map +0 -1
- package/dist/esm/chunk-IMYNN4TW.mjs +0 -2
- package/dist/esm/chunk-IMYNN4TW.mjs.map +0 -1
- package/dist/esm/chunk-JA7CXAVY.mjs +0 -2
- package/dist/esm/chunk-JA7CXAVY.mjs.map +0 -1
- package/dist/esm/chunk-JBARRS6K.mjs +0 -2
- package/dist/esm/chunk-JBARRS6K.mjs.map +0 -1
- package/dist/esm/chunk-JLZGYZBX.mjs +0 -2
- package/dist/esm/chunk-JNNFNYDO.mjs +0 -2
- package/dist/esm/chunk-JNNFNYDO.mjs.map +0 -1
- package/dist/esm/chunk-JXHGJ3AA.mjs +0 -2
- package/dist/esm/chunk-JXHGJ3AA.mjs.map +0 -1
- package/dist/esm/chunk-K4JUKMMY.mjs +0 -2
- package/dist/esm/chunk-K4JUKMMY.mjs.map +0 -1
- package/dist/esm/chunk-LET633ZK.mjs +0 -2
- package/dist/esm/chunk-LET633ZK.mjs.map +0 -1
- package/dist/esm/chunk-LQOSHBB7.mjs +0 -4
- package/dist/esm/chunk-LQOSHBB7.mjs.map +0 -1
- package/dist/esm/chunk-M2GGYCLU.mjs +0 -2
- package/dist/esm/chunk-M2GGYCLU.mjs.map +0 -1
- package/dist/esm/chunk-MY2BEHYF.mjs +0 -2
- package/dist/esm/chunk-MY2BEHYF.mjs.map +0 -1
- package/dist/esm/chunk-MZVVBJVV.mjs +0 -2
- package/dist/esm/chunk-MZVVBJVV.mjs.map +0 -1
- package/dist/esm/chunk-N73S2K2V.mjs +0 -2
- package/dist/esm/chunk-N73S2K2V.mjs.map +0 -1
- package/dist/esm/chunk-NIDF2LHF.mjs +0 -2
- package/dist/esm/chunk-NIDF2LHF.mjs.map +0 -1
- package/dist/esm/chunk-OSZWSLJA.mjs +0 -2
- package/dist/esm/chunk-OSZWSLJA.mjs.map +0 -1
- package/dist/esm/chunk-P265EC4T.mjs +0 -2
- package/dist/esm/chunk-P265EC4T.mjs.map +0 -1
- package/dist/esm/chunk-PE7KT5ZB.mjs +0 -2
- package/dist/esm/chunk-PE7KT5ZB.mjs.map +0 -1
- package/dist/esm/chunk-PICZWW35.mjs +0 -2
- package/dist/esm/chunk-PICZWW35.mjs.map +0 -1
- package/dist/esm/chunk-PWGTRRSJ.mjs +0 -2
- package/dist/esm/chunk-PWGTRRSJ.mjs.map +0 -1
- package/dist/esm/chunk-Q3AVJUBL.mjs +0 -2
- package/dist/esm/chunk-Q3AVJUBL.mjs.map +0 -1
- package/dist/esm/chunk-QLEZDMIK.mjs +0 -2
- package/dist/esm/chunk-QLEZDMIK.mjs.map +0 -1
- package/dist/esm/chunk-QXTQNFEQ.mjs +0 -2
- package/dist/esm/chunk-QXTQNFEQ.mjs.map +0 -1
- package/dist/esm/chunk-R6I6Z3AA.mjs +0 -2
- package/dist/esm/chunk-R6I6Z3AA.mjs.map +0 -1
- package/dist/esm/chunk-R6QCPXQG.mjs.map +0 -1
- package/dist/esm/chunk-RMMOF53Q.mjs +0 -1
- package/dist/esm/chunk-RMMOF53Q.mjs.map +0 -1
- package/dist/esm/chunk-SCLWOTHD.mjs +0 -2
- package/dist/esm/chunk-SCLWOTHD.mjs.map +0 -1
- package/dist/esm/chunk-SZU5Q6CF.mjs +0 -2
- package/dist/esm/chunk-SZU5Q6CF.mjs.map +0 -1
- package/dist/esm/chunk-T3VLXADE.mjs +0 -2
- package/dist/esm/chunk-T3VLXADE.mjs.map +0 -1
- package/dist/esm/chunk-TJICLFR2.mjs +0 -2
- package/dist/esm/chunk-TJICLFR2.mjs.map +0 -1
- package/dist/esm/chunk-U6ZD22B5.mjs +0 -2
- package/dist/esm/chunk-U6ZD22B5.mjs.map +0 -1
- package/dist/esm/chunk-UOBDL2BZ.mjs +0 -2
- package/dist/esm/chunk-UOBDL2BZ.mjs.map +0 -1
- package/dist/esm/chunk-UP36QQGG.mjs +0 -4
- package/dist/esm/chunk-UP36QQGG.mjs.map +0 -1
- package/dist/esm/chunk-VIXTXBYA.mjs +0 -2
- package/dist/esm/chunk-VIXTXBYA.mjs.map +0 -1
- package/dist/esm/chunk-WYV4W2IM.mjs +0 -2
- package/dist/esm/chunk-WYV4W2IM.mjs.map +0 -1
- package/dist/esm/chunk-X5ORWYVO.mjs +0 -7
- package/dist/esm/chunk-X5ORWYVO.mjs.map +0 -1
- package/dist/esm/chunk-X5UJYMJU.mjs +0 -2
- package/dist/esm/chunk-X5UJYMJU.mjs.map +0 -1
- package/dist/esm/chunk-X5YB74NB.mjs +0 -2
- package/dist/esm/chunk-X6H4G6NE.mjs +0 -2
- package/dist/esm/chunk-X6H4G6NE.mjs.map +0 -1
- package/dist/esm/chunk-XFL3B4WZ.mjs +0 -2
- package/dist/esm/chunk-XFL3B4WZ.mjs.map +0 -1
- package/dist/esm/chunk-XX4SFNZY.mjs +0 -2
- package/dist/esm/chunk-XX4SFNZY.mjs.map +0 -1
- package/dist/esm/chunk-YMXJ6GYE.mjs +0 -2
- package/dist/esm/chunk-YMXJ6GYE.mjs.map +0 -1
- package/dist/esm/chunk-ZJCTELB4.mjs +0 -2
- package/dist/esm/chunk-ZJCTELB4.mjs.map +0 -1
- /package/dist/esm/{chunk-AIPHJFJL.mjs.map → chunk-3IGJ2IMB.mjs.map} +0 -0
- /package/dist/esm/{chunk-2P27DDVV.mjs.map → chunk-5MMTP427.mjs.map} +0 -0
- /package/dist/esm/{chunk-AEGA5N2W.mjs.map → chunk-6J64BOS7.mjs.map} +0 -0
- /package/dist/esm/{chunk-TTY5GFMN.mjs.map → chunk-BSH7B2QT.mjs.map} +0 -0
- /package/dist/esm/{chunk-KBC4ECVP.mjs.map → chunk-HRHICHDX.mjs.map} +0 -0
- /package/dist/esm/{chunk-HWMMVLTP.mjs.map → chunk-JG4T5BDZ.mjs.map} +0 -0
- /package/dist/esm/{chunk-ZOY6N6UM.mjs.map → chunk-NZXPT44W.mjs.map} +0 -0
- /package/dist/esm/{chunk-2SAOCLIU.mjs.map → chunk-POELQOLD.mjs.map} +0 -0
- /package/dist/esm/{chunk-ZVYTHOS5.mjs.map → chunk-PXG3WJIU.mjs.map} +0 -0
- /package/dist/esm/{chunk-ACE3NEV6.mjs.map → chunk-VNUNIQAY.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
|
+
}
|
package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move
ADDED
|
@@ -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
|
+
}
|
package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move
ADDED
|
@@ -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
|
+
}
|