@fhevm/sdk 1.0.0-alpha.1 → 1.0.0-alpha.3
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/_cjs/core/_version.js +1 -1
- package/_cjs/core/actions/base/fetchVerifiedInputProof.js +1 -1
- package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +1 -1
- package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/chain/index.js +5 -5
- package/_cjs/core/actions/chain/index.js.map +1 -1
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js +2 -3
- package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_cjs/core/actions/chain/parseTransportKeypair.js +1 -2
- package/_cjs/core/actions/chain/parseTransportKeypair.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValue.js +4 -1
- package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValues.js +4 -1
- package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +4 -1
- package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_cjs/core/actions/decrypt/index.js.map +1 -1
- package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js +12 -14
- package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -1
- package/_cjs/core/base/bytes.js +8 -0
- package/_cjs/core/base/bytes.js.map +1 -1
- package/_cjs/core/base/sign.js +50 -0
- package/_cjs/core/base/sign.js.map +1 -0
- package/_cjs/core/base/typedValue.js +17 -0
- package/_cjs/core/base/typedValue.js.map +1 -1
- package/_cjs/core/base/uint.js +29 -0
- package/_cjs/core/base/uint.js.map +1 -1
- package/_cjs/core/clients/decorators/decrypt.js +3 -3
- package/_cjs/core/clients/decorators/decrypt.js.map +1 -1
- package/_cjs/core/coprocessor/ZkProof-p.js +17 -11
- package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -1
- package/_cjs/core/coprocessor/ZkProofBuilder-p.js +6 -4
- package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
- package/_cjs/core/coprocessor/encrypt.js +1 -3
- package/_cjs/core/coprocessor/encrypt.js.map +1 -1
- package/_cjs/core/coprocessor/fetchVerifiedInputProof.js +3 -4
- package/_cjs/core/coprocessor/fetchVerifiedInputProof.js.map +1 -1
- package/_cjs/core/handle/FheType.js +5 -2
- package/_cjs/core/handle/FheType.js.map +1 -1
- package/_cjs/core/host-contracts/KmsSignersContext-p.js +1 -1
- package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_cjs/core/host-contracts/checkDelegation.js +74 -0
- package/_cjs/core/host-contracts/checkDelegation.js.map +1 -0
- package/_cjs/core/host-contracts/getUserDecryptionDelegationExpirationDate.js +21 -0
- package/_cjs/core/host-contracts/getUserDecryptionDelegationExpirationDate.js.map +1 -0
- package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +33 -0
- package/_cjs/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -0
- package/_cjs/core/host-contracts/persistAllowed.js +1 -1
- package/_cjs/core/host-contracts/persistAllowed.js.map +1 -1
- package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js +18 -8
- package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -1
- package/_cjs/core/kms/publicDecrypt.js +1 -4
- package/_cjs/core/kms/publicDecrypt.js.map +1 -1
- package/_cjs/core/modules/decrypt/mock.js +93 -10
- package/_cjs/core/modules/decrypt/mock.js.map +1 -1
- package/_cjs/core/modules/encrypt/mock.js +142 -12
- package/_cjs/core/modules/encrypt/mock.js.map +1 -1
- package/_cjs/core/modules/encrypt/module/api-p.js +7 -2
- package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -1
- package/_cjs/core/modules/ethereum/types-ct.js +3 -0
- package/_cjs/core/modules/ethereum/types-ct.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +68 -0
- package/_cjs/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +119 -0
- package/_cjs/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js +52 -0
- package/_cjs/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js +117 -0
- package/_cjs/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/mock.js +40 -0
- package/_cjs/core/modules/relayer/cleartext/mock.js.map +1 -0
- package/_cjs/core/modules/relayer/cleartext/signers.js +34 -0
- package/_cjs/core/modules/relayer/cleartext/signers.js.map +1 -0
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +2 -2
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/utils.js +16 -0
- package/_cjs/core/modules/relayer/utils.js.map +1 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextBaseClient.js +17 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextClient.js +11 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextClient.js.map +1 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextDecryptClient.js +10 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextEncryptClient.js +10 -0
- package/_cjs/ethers/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
- package/_cjs/ethers/cleartext/decorators/decrypt.js +9 -0
- package/_cjs/ethers/cleartext/decorators/decrypt.js.map +1 -0
- package/_cjs/ethers/cleartext/decorators/encrypt.js +9 -0
- package/_cjs/ethers/cleartext/decorators/encrypt.js.map +1 -0
- package/_cjs/ethers/cleartext/index.js +12 -0
- package/_cjs/ethers/cleartext/index.js.map +1 -0
- package/_cjs/ethers/clients/createFhevmBaseClient.js +2 -1
- package/_cjs/ethers/clients/createFhevmBaseClient.js.map +1 -1
- package/_cjs/ethers/clients/createFhevmClient.js +2 -2
- package/_cjs/ethers/clients/createFhevmClient.js.map +1 -1
- package/_cjs/ethers/clients/createFhevmDecryptClient.js +1 -1
- package/_cjs/ethers/clients/createFhevmDecryptClient.js.map +1 -1
- package/_cjs/ethers/clients/createFhevmEncryptClient.js +1 -1
- package/_cjs/ethers/clients/createFhevmEncryptClient.js.map +1 -1
- package/_cjs/{viem → ethers/clients}/decorators/decrypt.js +2 -2
- package/_cjs/ethers/clients/decorators/decrypt.js.map +1 -0
- package/_cjs/ethers/{decorators → clients/decorators}/encrypt.js +2 -2
- package/_cjs/ethers/clients/decorators/encrypt.js.map +1 -0
- package/_cjs/ethers/index.js +4 -3
- package/_cjs/ethers/index.js.map +1 -1
- package/_cjs/ethers/internal/config.js +32 -0
- package/_cjs/ethers/internal/config.js.map +1 -0
- package/_cjs/ethers/internal/ethereum-ct.js +42 -0
- package/_cjs/ethers/internal/ethereum-ct.js.map +1 -0
- package/_cjs/ethers/internal/ethers-p.js +0 -32
- package/_cjs/ethers/internal/ethers-p.js.map +1 -1
- package/_cjs/ethers/internal/runtime-ct.js +22 -0
- package/_cjs/ethers/internal/runtime-ct.js.map +1 -0
- package/_cjs/ethers/internal/runtime.js +22 -0
- package/_cjs/ethers/internal/runtime.js.map +1 -0
- package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js +3 -2
- package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -1
- package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js +3 -2
- package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -1
- package/_cjs/ethers/runtime/initFhevmRuntime.js +3 -2
- package/_cjs/ethers/runtime/initFhevmRuntime.js.map +1 -1
- package/_cjs/index.js +2 -0
- package/_cjs/index.js.map +1 -0
- package/_cjs/viem/cleartext/createFhevmCleartextBaseClient.js +17 -0
- package/_cjs/viem/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
- package/_cjs/viem/cleartext/createFhevmCleartextClient.js +11 -0
- package/_cjs/viem/cleartext/createFhevmCleartextClient.js.map +1 -0
- package/_cjs/viem/cleartext/createFhevmCleartextDecryptClient.js +10 -0
- package/_cjs/viem/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
- package/_cjs/viem/cleartext/createFhevmCleartextEncryptClient.js +10 -0
- package/_cjs/viem/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
- package/_cjs/viem/cleartext/decorators/decrypt.js +9 -0
- package/_cjs/viem/cleartext/decorators/decrypt.js.map +1 -0
- package/_cjs/viem/cleartext/decorators/encrypt.js +9 -0
- package/_cjs/viem/cleartext/decorators/encrypt.js.map +1 -0
- package/_cjs/viem/cleartext/index.js +12 -0
- package/_cjs/viem/cleartext/index.js.map +1 -0
- package/_cjs/viem/clients/createFhevmBaseClient.js +2 -1
- package/_cjs/viem/clients/createFhevmBaseClient.js.map +1 -1
- package/_cjs/viem/clients/createFhevmClient.js +2 -2
- package/_cjs/viem/clients/createFhevmClient.js.map +1 -1
- package/_cjs/viem/clients/createFhevmDecryptClient.js +1 -1
- package/_cjs/viem/clients/createFhevmDecryptClient.js.map +1 -1
- package/_cjs/viem/clients/createFhevmEncryptClient.js +1 -1
- package/_cjs/viem/clients/createFhevmEncryptClient.js.map +1 -1
- package/_cjs/{ethers → viem/clients}/decorators/decrypt.js +2 -2
- package/_cjs/viem/clients/decorators/decrypt.js.map +1 -0
- package/_cjs/viem/{decorators → clients/decorators}/encrypt.js +2 -2
- package/_cjs/viem/clients/decorators/encrypt.js.map +1 -0
- package/_cjs/viem/index.js +6 -5
- package/_cjs/viem/index.js.map +1 -1
- package/_cjs/viem/internal/config.js +32 -0
- package/_cjs/viem/internal/config.js.map +1 -0
- package/_cjs/viem/internal/ethereum-ct.js +42 -0
- package/_cjs/viem/internal/ethereum-ct.js.map +1 -0
- package/_cjs/viem/internal/runtime-ct.js +22 -0
- package/_cjs/viem/internal/runtime-ct.js.map +1 -0
- package/_cjs/viem/internal/runtime.js +22 -0
- package/_cjs/viem/internal/runtime.js.map +1 -0
- package/_cjs/viem/internal/viem-p.js +0 -32
- package/_cjs/viem/internal/viem-p.js.map +1 -1
- package/_cjs/viem/runtime/initFhevmDecryptRuntime.js +2 -1
- package/_cjs/viem/runtime/initFhevmDecryptRuntime.js.map +1 -1
- package/_cjs/viem/runtime/initFhevmEncryptRuntime.js +2 -1
- package/_cjs/viem/runtime/initFhevmEncryptRuntime.js.map +1 -1
- package/_cjs/viem/runtime/initFhevmRuntime.js +2 -1
- package/_cjs/viem/runtime/initFhevmRuntime.js.map +1 -1
- package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js +279 -426
- package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js.map +7 -0
- package/_cjs/wasm/tfhe/tfhe.v1.5.3.js +2779 -3032
- package/_cjs/wasm/tfhe/tfhe.v1.5.3.js.map +7 -0
- package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +29 -1
- package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js.map +7 -0
- package/_cjs/wasm/tkms/kms_lib.v0.13.10.js +1793 -1985
- package/_cjs/wasm/tkms/kms_lib.v0.13.10.js.map +7 -0
- package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +29 -3
- package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js.map +7 -0
- package/_cjs/wasm/wasmBaseUrl.js +36 -14
- package/_cjs/wasm/wasmBaseUrl.js.map +7 -0
- package/_esm/core/_version.js +1 -1
- package/_esm/core/actions/base/fetchVerifiedInputProof.js +1 -1
- package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +1 -1
- package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/chain/index.js +4 -4
- package/_esm/core/actions/chain/index.js.map +1 -1
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js +2 -3
- package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -1
- package/_esm/core/actions/chain/parseTransportKeypair.js +1 -3
- package/_esm/core/actions/chain/parseTransportKeypair.js.map +1 -1
- package/_esm/core/actions/chain/serializeTransportKeypair.js +0 -1
- package/_esm/core/actions/chain/serializeTransportKeypair.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValue.js +5 -1
- package/_esm/core/actions/decrypt/decryptValue.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValues.js +5 -1
- package/_esm/core/actions/decrypt/decryptValues.js.map +1 -1
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +5 -1
- package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -1
- package/_esm/core/actions/decrypt/index.js +2 -2
- package/_esm/core/actions/decrypt/index.js.map +1 -1
- package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js +13 -14
- package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -1
- package/_esm/core/base/bytes.js +7 -0
- package/_esm/core/base/bytes.js.map +1 -1
- package/_esm/core/base/sign.js +58 -0
- package/_esm/core/base/sign.js.map +1 -0
- package/_esm/core/base/typedValue.js +16 -0
- package/_esm/core/base/typedValue.js.map +1 -1
- package/_esm/core/base/uint.js +30 -0
- package/_esm/core/base/uint.js.map +1 -1
- package/_esm/core/clients/decorators/decrypt.js +3 -3
- package/_esm/core/clients/decorators/decrypt.js.map +1 -1
- package/_esm/core/coprocessor/InputProof-p.js +2 -2
- package/_esm/core/coprocessor/InputProof-p.js.map +1 -1
- package/_esm/core/coprocessor/ZkProof-p.js +19 -12
- package/_esm/core/coprocessor/ZkProof-p.js.map +1 -1
- package/_esm/core/coprocessor/ZkProofBuilder-p.js +7 -5
- package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -1
- package/_esm/core/coprocessor/encrypt.js +1 -3
- package/_esm/core/coprocessor/encrypt.js.map +1 -1
- package/_esm/core/coprocessor/fetchVerifiedInputProof.js +3 -4
- package/_esm/core/coprocessor/fetchVerifiedInputProof.js.map +1 -1
- package/_esm/core/handle/FheType.js +4 -2
- package/_esm/core/handle/FheType.js.map +1 -1
- package/_esm/core/host-contracts/KmsSignersContext-p.js +1 -1
- package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -1
- package/_esm/core/host-contracts/checkDelegation.js +81 -0
- package/_esm/core/host-contracts/checkDelegation.js.map +1 -0
- package/_esm/core/host-contracts/getUserDecryptionDelegationExpirationDate.js +19 -0
- package/_esm/core/host-contracts/getUserDecryptionDelegationExpirationDate.js.map +1 -0
- package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js +32 -0
- package/_esm/core/host-contracts/isHandleDelegatedForUserDecryption-p.js.map +1 -0
- package/_esm/core/host-contracts/persistAllowed.js +1 -1
- package/_esm/core/host-contracts/persistAllowed.js.map +1 -1
- package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js +18 -8
- package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -1
- package/_esm/core/kms/publicDecrypt.js +1 -4
- package/_esm/core/kms/publicDecrypt.js.map +1 -1
- package/_esm/core/modules/decrypt/mock.js +96 -10
- package/_esm/core/modules/decrypt/mock.js.map +1 -1
- package/_esm/core/modules/encrypt/mock.js +151 -12
- package/_esm/core/modules/encrypt/mock.js.map +1 -1
- package/_esm/core/modules/encrypt/module/api-p.js +7 -2
- package/_esm/core/modules/encrypt/module/api-p.js.map +1 -1
- package/_esm/core/modules/ethereum/types-ct.js +2 -0
- package/_esm/core/modules/ethereum/types-ct.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js +75 -0
- package/_esm/core/modules/relayer/cleartext/fetchCoprocessorSignatures.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js +121 -0
- package/_esm/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js +52 -0
- package/_esm/core/modules/relayer/cleartext/fetchPublicDecrypt.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js +119 -0
- package/_esm/core/modules/relayer/cleartext/fetchUserDecrypt.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/mock.js +39 -0
- package/_esm/core/modules/relayer/cleartext/mock.js.map +1 -0
- package/_esm/core/modules/relayer/cleartext/signers.js +34 -0
- package/_esm/core/modules/relayer/cleartext/signers.js.map +1 -0
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +2 -2
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +1 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -1
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/utils.js +13 -0
- package/_esm/core/modules/relayer/utils.js.map +1 -0
- package/_esm/ethers/cleartext/createFhevmCleartextBaseClient.js +15 -0
- package/_esm/ethers/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
- package/_esm/ethers/cleartext/createFhevmCleartextClient.js +9 -0
- package/_esm/ethers/cleartext/createFhevmCleartextClient.js.map +1 -0
- package/_esm/ethers/cleartext/createFhevmCleartextDecryptClient.js +8 -0
- package/_esm/ethers/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
- package/_esm/ethers/cleartext/createFhevmCleartextEncryptClient.js +8 -0
- package/_esm/ethers/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
- package/_esm/ethers/cleartext/decorators/decrypt.js +7 -0
- package/_esm/ethers/cleartext/decorators/decrypt.js.map +1 -0
- package/_esm/ethers/cleartext/decorators/encrypt.js +7 -0
- package/_esm/ethers/cleartext/decorators/encrypt.js.map +1 -0
- package/_esm/ethers/cleartext/index.js +5 -0
- package/_esm/ethers/cleartext/index.js.map +1 -0
- package/_esm/ethers/clients/createFhevmBaseClient.js +2 -1
- package/_esm/ethers/clients/createFhevmBaseClient.js.map +1 -1
- package/_esm/ethers/clients/createFhevmClient.js +2 -2
- package/_esm/ethers/clients/createFhevmClient.js.map +1 -1
- package/_esm/ethers/clients/createFhevmDecryptClient.js +1 -1
- package/_esm/ethers/clients/createFhevmDecryptClient.js.map +1 -1
- package/_esm/ethers/clients/createFhevmEncryptClient.js +1 -1
- package/_esm/ethers/clients/createFhevmEncryptClient.js.map +1 -1
- package/_esm/ethers/clients/decorators/decrypt.js +7 -0
- package/_esm/ethers/clients/decorators/decrypt.js.map +1 -0
- package/_esm/ethers/clients/decorators/encrypt.js +7 -0
- package/_esm/ethers/clients/decorators/encrypt.js.map +1 -0
- package/_esm/ethers/index.js +1 -1
- package/_esm/ethers/index.js.map +1 -1
- package/_esm/ethers/internal/config.js +38 -0
- package/_esm/ethers/internal/config.js.map +1 -0
- package/_esm/ethers/internal/ethereum-ct.js +39 -0
- package/_esm/ethers/internal/ethereum-ct.js.map +1 -0
- package/_esm/ethers/internal/ethers-p.js +0 -43
- package/_esm/ethers/internal/ethers-p.js.map +1 -1
- package/_esm/ethers/internal/runtime-ct.js +21 -0
- package/_esm/ethers/internal/runtime-ct.js.map +1 -0
- package/_esm/ethers/internal/runtime.js +21 -0
- package/_esm/ethers/internal/runtime.js.map +1 -0
- package/_esm/ethers/runtime/initFhevmDecryptRuntime.js +2 -1
- package/_esm/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -1
- package/_esm/ethers/runtime/initFhevmEncryptRuntime.js +2 -1
- package/_esm/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -1
- package/_esm/ethers/runtime/initFhevmRuntime.js +2 -1
- package/_esm/ethers/runtime/initFhevmRuntime.js.map +1 -1
- package/_esm/index.js +2 -0
- package/_esm/index.js.map +1 -0
- package/_esm/viem/cleartext/createFhevmCleartextBaseClient.js +15 -0
- package/_esm/viem/cleartext/createFhevmCleartextBaseClient.js.map +1 -0
- package/_esm/viem/cleartext/createFhevmCleartextClient.js +9 -0
- package/_esm/viem/cleartext/createFhevmCleartextClient.js.map +1 -0
- package/_esm/viem/cleartext/createFhevmCleartextDecryptClient.js +8 -0
- package/_esm/viem/cleartext/createFhevmCleartextDecryptClient.js.map +1 -0
- package/_esm/viem/cleartext/createFhevmCleartextEncryptClient.js +8 -0
- package/_esm/viem/cleartext/createFhevmCleartextEncryptClient.js.map +1 -0
- package/_esm/viem/cleartext/decorators/decrypt.js +7 -0
- package/_esm/viem/cleartext/decorators/decrypt.js.map +1 -0
- package/_esm/viem/cleartext/decorators/encrypt.js +7 -0
- package/_esm/viem/cleartext/decorators/encrypt.js.map +1 -0
- package/_esm/viem/cleartext/index.js +5 -0
- package/_esm/viem/cleartext/index.js.map +1 -0
- package/_esm/viem/clients/createFhevmBaseClient.js +2 -1
- package/_esm/viem/clients/createFhevmBaseClient.js.map +1 -1
- package/_esm/viem/clients/createFhevmClient.js +2 -2
- package/_esm/viem/clients/createFhevmClient.js.map +1 -1
- package/_esm/viem/clients/createFhevmDecryptClient.js +1 -1
- package/_esm/viem/clients/createFhevmDecryptClient.js.map +1 -1
- package/_esm/viem/clients/createFhevmEncryptClient.js +1 -2
- package/_esm/viem/clients/createFhevmEncryptClient.js.map +1 -1
- package/_esm/viem/clients/decorators/decrypt.js +7 -0
- package/_esm/viem/clients/decorators/decrypt.js.map +1 -0
- package/_esm/viem/clients/decorators/encrypt.js +7 -0
- package/_esm/viem/clients/decorators/encrypt.js.map +1 -0
- package/_esm/viem/index.js +2 -2
- package/_esm/viem/index.js.map +1 -1
- package/_esm/viem/internal/config.js +38 -0
- package/_esm/viem/internal/config.js.map +1 -0
- package/_esm/viem/internal/ethereum-ct.js +39 -0
- package/_esm/viem/internal/ethereum-ct.js.map +1 -0
- package/_esm/viem/internal/runtime-ct.js +21 -0
- package/_esm/viem/internal/runtime-ct.js.map +1 -0
- package/_esm/viem/internal/runtime.js +21 -0
- package/_esm/viem/internal/runtime.js.map +1 -0
- package/_esm/viem/internal/viem-p.js +0 -43
- package/_esm/viem/internal/viem-p.js.map +1 -1
- package/_esm/viem/runtime/initFhevmDecryptRuntime.js +2 -1
- package/_esm/viem/runtime/initFhevmDecryptRuntime.js.map +1 -1
- package/_esm/viem/runtime/initFhevmEncryptRuntime.js +2 -1
- package/_esm/viem/runtime/initFhevmEncryptRuntime.js.map +1 -1
- package/_esm/viem/runtime/initFhevmRuntime.js +2 -1
- package/_esm/viem/runtime/initFhevmRuntime.js.map +1 -1
- package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/index.d.ts +4 -4
- package/_types/core/actions/chain/index.d.ts.map +1 -1
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +7 -2
- package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -1
- package/_types/core/actions/chain/parseTransportKeypair.d.ts +2 -2
- package/_types/core/actions/chain/parseTransportKeypair.d.ts.map +1 -1
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +1 -1
- package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValue.d.ts +5 -13
- package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValues.d.ts +5 -13
- package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -1
- package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts +5 -13
- package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -1
- package/_types/core/actions/decrypt/index.d.ts +3 -3
- package/_types/core/actions/decrypt/index.d.ts.map +1 -1
- package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts +5 -2
- package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts.map +1 -1
- package/_types/core/base/bytes.d.ts +1 -0
- package/_types/core/base/bytes.d.ts.map +1 -1
- package/_types/core/base/sign.d.ts +10 -0
- package/_types/core/base/sign.d.ts.map +1 -0
- package/_types/core/base/typedValue.d.ts +2 -1
- package/_types/core/base/typedValue.d.ts.map +1 -1
- package/_types/core/base/uint.d.ts +3 -0
- package/_types/core/base/uint.d.ts.map +1 -1
- package/_types/core/clients/decorators/decrypt.d.ts +6 -15
- package/_types/core/clients/decorators/decrypt.d.ts.map +1 -1
- package/_types/core/coprocessor/ZkProof-p.d.ts +2 -2
- package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -1
- package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +2 -1
- package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -1
- package/_types/core/coprocessor/encrypt.d.ts.map +1 -1
- package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts +0 -2
- package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts.map +1 -1
- package/_types/core/handle/FheType.d.ts +1 -0
- package/_types/core/handle/FheType.d.ts.map +1 -1
- package/_types/core/host-contracts/checkDelegation.d.ts +22 -0
- package/_types/core/host-contracts/checkDelegation.d.ts.map +1 -0
- package/_types/core/host-contracts/getUserDecryptionDelegationExpirationDate.d.ts +19 -0
- package/_types/core/host-contracts/getUserDecryptionDelegationExpirationDate.d.ts.map +1 -0
- package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts +20 -0
- package/_types/core/host-contracts/isHandleDelegatedForUserDecryption-p.d.ts.map +1 -0
- package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +1 -1
- package/_types/core/kms/publicDecrypt.d.ts.map +1 -1
- package/_types/core/modules/decrypt/mock.d.ts +5 -5
- package/_types/core/modules/decrypt/mock.d.ts.map +1 -1
- package/_types/core/modules/encrypt/mock.d.ts +6 -6
- package/_types/core/modules/encrypt/mock.d.ts.map +1 -1
- package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -1
- package/_types/core/modules/encrypt/types.d.ts +6 -2
- package/_types/core/modules/encrypt/types.d.ts.map +1 -1
- package/_types/core/modules/ethereum/types-ct.d.ts +46 -0
- package/_types/core/modules/ethereum/types-ct.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchCoprocessorSignatures.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchPublicDecrypt.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/fetchUserDecrypt.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/mock.d.ts +3 -0
- package/_types/core/modules/relayer/cleartext/mock.d.ts.map +1 -0
- package/_types/core/modules/relayer/cleartext/signers.d.ts +7 -0
- package/_types/core/modules/relayer/cleartext/signers.d.ts.map +1 -0
- package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts +2 -2
- package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts +2 -2
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts +2 -2
- package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts +2 -2
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/types.d.ts +14 -5
- package/_types/core/modules/relayer/types.d.ts.map +1 -1
- package/_types/core/modules/relayer/utils.d.ts +4 -0
- package/_types/core/modules/relayer/utils.d.ts.map +1 -0
- package/_types/core/types/index.d.ts +1 -0
- package/_types/core/types/index.d.ts.map +1 -1
- package/_types/core/types/kms.d.ts +21 -0
- package/_types/core/types/kms.d.ts.map +1 -1
- package/_types/core/types/zkProof-p.d.ts +2 -1
- package/_types/core/types/zkProof-p.d.ts.map +1 -1
- package/_types/ethers/cleartext/createFhevmCleartextBaseClient.d.ts +11 -0
- package/_types/ethers/cleartext/createFhevmCleartextBaseClient.d.ts.map +1 -0
- package/_types/ethers/cleartext/createFhevmCleartextClient.d.ts +11 -0
- package/_types/ethers/cleartext/createFhevmCleartextClient.d.ts.map +1 -0
- package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts +11 -0
- package/_types/ethers/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -0
- package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts +11 -0
- package/_types/ethers/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -0
- package/_types/ethers/cleartext/decorators/decrypt.d.ts +6 -0
- package/_types/ethers/cleartext/decorators/decrypt.d.ts.map +1 -0
- package/_types/ethers/cleartext/decorators/encrypt.d.ts +6 -0
- package/_types/ethers/cleartext/decorators/encrypt.d.ts.map +1 -0
- package/_types/ethers/cleartext/index.d.ts +5 -0
- package/_types/ethers/cleartext/index.d.ts.map +1 -0
- package/_types/ethers/clients/createFhevmBaseClient.d.ts.map +1 -1
- package/_types/ethers/clients/decorators/decrypt.d.ts +6 -0
- package/_types/ethers/clients/decorators/decrypt.d.ts.map +1 -0
- package/_types/ethers/clients/decorators/encrypt.d.ts +6 -0
- package/_types/ethers/clients/decorators/encrypt.d.ts.map +1 -0
- package/_types/ethers/index.d.ts +1 -1
- package/_types/ethers/index.d.ts.map +1 -1
- package/_types/ethers/internal/config.d.ts +15 -0
- package/_types/ethers/internal/config.d.ts.map +1 -0
- package/_types/ethers/internal/ethereum-ct.d.ts +3 -0
- package/_types/ethers/internal/ethereum-ct.d.ts.map +1 -0
- package/_types/ethers/internal/ethers-p.d.ts +1 -13
- package/_types/ethers/internal/ethers-p.d.ts.map +1 -1
- package/_types/ethers/internal/runtime-ct.d.ts +3 -0
- package/_types/ethers/internal/runtime-ct.d.ts.map +1 -0
- package/_types/ethers/internal/runtime.d.ts +3 -0
- package/_types/ethers/internal/runtime.d.ts.map +1 -0
- package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts.map +1 -1
- package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts.map +1 -1
- package/_types/ethers/runtime/initFhevmRuntime.d.ts.map +1 -1
- package/_types/index.d.ts +2 -0
- package/_types/index.d.ts.map +1 -0
- package/_types/viem/cleartext/createFhevmCleartextBaseClient.d.ts +11 -0
- package/_types/viem/cleartext/createFhevmCleartextBaseClient.d.ts.map +1 -0
- package/_types/viem/cleartext/createFhevmCleartextClient.d.ts +11 -0
- package/_types/viem/cleartext/createFhevmCleartextClient.d.ts.map +1 -0
- package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts +11 -0
- package/_types/viem/cleartext/createFhevmCleartextDecryptClient.d.ts.map +1 -0
- package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts +11 -0
- package/_types/viem/cleartext/createFhevmCleartextEncryptClient.d.ts.map +1 -0
- package/_types/viem/cleartext/decorators/decrypt.d.ts +6 -0
- package/_types/viem/cleartext/decorators/decrypt.d.ts.map +1 -0
- package/_types/viem/cleartext/decorators/encrypt.d.ts +6 -0
- package/_types/viem/cleartext/decorators/encrypt.d.ts.map +1 -0
- package/_types/viem/cleartext/index.d.ts +5 -0
- package/_types/viem/cleartext/index.d.ts.map +1 -0
- package/_types/viem/clients/createFhevmBaseClient.d.ts.map +1 -1
- package/_types/viem/clients/decorators/decrypt.d.ts +6 -0
- package/_types/viem/clients/decorators/decrypt.d.ts.map +1 -0
- package/_types/viem/clients/decorators/encrypt.d.ts +6 -0
- package/_types/viem/clients/decorators/encrypt.d.ts.map +1 -0
- package/_types/viem/index.d.ts +2 -2
- package/_types/viem/index.d.ts.map +1 -1
- package/_types/viem/internal/config.d.ts +15 -0
- package/_types/viem/internal/config.d.ts.map +1 -0
- package/_types/viem/internal/ethereum-ct.d.ts +3 -0
- package/_types/viem/internal/ethereum-ct.d.ts.map +1 -0
- package/_types/viem/internal/runtime-ct.d.ts +3 -0
- package/_types/viem/internal/runtime-ct.d.ts.map +1 -0
- package/_types/viem/internal/runtime.d.ts +3 -0
- package/_types/viem/internal/runtime.d.ts.map +1 -0
- package/_types/viem/internal/viem-p.d.ts +1 -13
- package/_types/viem/internal/viem-p.d.ts.map +1 -1
- package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts.map +1 -1
- package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts.map +1 -1
- package/_types/viem/runtime/initFhevmRuntime.d.ts.map +1 -1
- package/core/_version.ts +1 -1
- package/core/actions/base/fetchVerifiedInputProof.ts +1 -1
- package/core/actions/base/signDecryptionPermit.ts +2 -0
- package/core/actions/chain/index.ts +11 -11
- package/core/actions/chain/parseSignedDecryptionPermit.ts +9 -6
- package/core/actions/chain/parseTransportKeypair.ts +3 -7
- package/core/actions/chain/serializeTransportKeypair.ts +0 -2
- package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +1 -1
- package/core/actions/decrypt/decryptValue.ts +9 -28
- package/core/actions/decrypt/decryptValues.ts +9 -28
- package/core/actions/decrypt/decryptValuesFromPairs.ts +9 -28
- package/core/actions/decrypt/index.ts +3 -14
- package/core/actions/host/getUserDecryptionDelegationExpirationDate.ts +22 -18
- package/core/base/bytes.ts +8 -0
- package/core/base/sign.ts +75 -0
- package/core/base/typedValue.ts +18 -0
- package/core/base/uint.ts +32 -0
- package/core/clients/decorators/decrypt.ts +12 -28
- package/core/coprocessor/InputProof-p.ts +2 -2
- package/core/coprocessor/ZkProof-p.ts +21 -9
- package/core/coprocessor/ZkProofBuilder-p.ts +15 -8
- package/core/coprocessor/encrypt.ts +1 -3
- package/core/coprocessor/fetchVerifiedInputProof.ts +7 -13
- package/core/handle/FheType.ts +5 -2
- package/core/host-contracts/KmsSignersContext-p.ts +1 -1
- package/core/host-contracts/checkDelegation.ts +114 -0
- package/core/host-contracts/getUserDecryptionDelegationExpirationDate.ts +45 -0
- package/core/host-contracts/isHandleDelegatedForUserDecryption-p.ts +77 -0
- package/core/host-contracts/persistAllowed.ts +1 -1
- package/core/kms/fetchKmsSignedcryptedShares-p.ts +31 -29
- package/core/kms/publicDecrypt.ts +6 -12
- package/core/modules/decrypt/mock.ts +126 -13
- package/core/modules/encrypt/mock.ts +206 -12
- package/core/modules/encrypt/module/api-p.ts +7 -2
- package/core/modules/encrypt/types.ts +6 -2
- package/core/modules/ethereum/types-ct.ts +89 -0
- package/core/modules/relayer/cleartext/fetchCoprocessorSignatures.ts +94 -0
- package/core/modules/relayer/cleartext/fetchDelegatedUserDecrypt.ts +147 -0
- package/core/modules/relayer/cleartext/fetchPublicDecrypt.ts +67 -0
- package/core/modules/relayer/cleartext/fetchUserDecrypt.ts +141 -0
- package/core/modules/relayer/cleartext/mock.ts +54 -0
- package/core/modules/relayer/cleartext/signers.ts +52 -0
- package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +4 -4
- package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +3 -3
- package/core/modules/relayer/module/fetchPublicDecrypt.ts +3 -3
- package/core/modules/relayer/module/fetchUserDecrypt.ts +3 -3
- package/core/modules/relayer/types.ts +13 -5
- package/core/modules/relayer/utils.ts +17 -0
- package/core/types/index.ts +1 -0
- package/core/types/kms.ts +19 -0
- package/core/types/zkProof-p.ts +3 -1
- package/ethers/cleartext/createFhevmCleartextBaseClient.ts +25 -0
- package/ethers/cleartext/createFhevmCleartextClient.ts +20 -0
- package/ethers/cleartext/createFhevmCleartextDecryptClient.ts +18 -0
- package/ethers/cleartext/createFhevmCleartextEncryptClient.ts +19 -0
- package/ethers/cleartext/decorators/decrypt.ts +12 -0
- package/ethers/cleartext/decorators/encrypt.ts +12 -0
- package/ethers/cleartext/index.ts +4 -0
- package/ethers/cleartext/package.json +6 -0
- package/ethers/clients/createFhevmBaseClient.ts +2 -1
- package/ethers/clients/createFhevmClient.ts +2 -2
- package/ethers/clients/createFhevmDecryptClient.ts +1 -1
- package/ethers/clients/createFhevmEncryptClient.ts +1 -1
- package/ethers/clients/decorators/decrypt.ts +12 -0
- package/ethers/clients/decorators/encrypt.ts +12 -0
- package/ethers/index.ts +1 -1
- package/ethers/internal/config.ts +50 -0
- package/ethers/internal/ethereum-ct.ts +61 -0
- package/ethers/internal/ethers-p.ts +1 -56
- package/ethers/internal/runtime-ct.ts +28 -0
- package/ethers/internal/runtime.ts +28 -0
- package/ethers/runtime/initFhevmDecryptRuntime.ts +2 -1
- package/ethers/runtime/initFhevmEncryptRuntime.ts +2 -1
- package/ethers/runtime/initFhevmRuntime.ts +2 -1
- package/index.ts +0 -0
- package/package.json +14 -2
- package/viem/cleartext/createFhevmCleartextBaseClient.ts +28 -0
- package/viem/cleartext/createFhevmCleartextClient.ts +20 -0
- package/viem/cleartext/createFhevmCleartextDecryptClient.ts +21 -0
- package/viem/cleartext/createFhevmCleartextEncryptClient.ts +22 -0
- package/viem/cleartext/decorators/decrypt.ts +12 -0
- package/viem/cleartext/decorators/encrypt.ts +12 -0
- package/viem/cleartext/index.ts +4 -0
- package/viem/cleartext/package.json +6 -0
- package/viem/clients/createFhevmBaseClient.ts +2 -1
- package/viem/clients/createFhevmClient.ts +2 -2
- package/viem/clients/createFhevmDecryptClient.ts +1 -1
- package/viem/clients/createFhevmEncryptClient.ts +1 -3
- package/viem/clients/decorators/decrypt.ts +12 -0
- package/viem/clients/decorators/encrypt.ts +12 -0
- package/viem/index.ts +2 -2
- package/viem/internal/config.ts +50 -0
- package/viem/internal/ethereum-ct.ts +61 -0
- package/viem/internal/runtime-ct.ts +28 -0
- package/viem/internal/runtime.ts +28 -0
- package/viem/internal/viem-p.ts +1 -56
- package/viem/runtime/initFhevmDecryptRuntime.ts +2 -1
- package/viem/runtime/initFhevmEncryptRuntime.ts +2 -1
- package/viem/runtime/initFhevmRuntime.ts +2 -1
- package/_cjs/core/modules/relayer/mock.js +0 -29
- package/_cjs/core/modules/relayer/mock.js.map +0 -1
- package/_cjs/ethers/decorators/decrypt.js.map +0 -1
- package/_cjs/ethers/decorators/encrypt.js.map +0 -1
- package/_cjs/viem/decorators/decrypt.js.map +0 -1
- package/_cjs/viem/decorators/encrypt.js.map +0 -1
- package/_esm/core/modules/relayer/mock.js +0 -28
- package/_esm/core/modules/relayer/mock.js.map +0 -1
- package/_esm/ethers/decorators/decrypt.js +0 -7
- package/_esm/ethers/decorators/decrypt.js.map +0 -1
- package/_esm/ethers/decorators/encrypt.js +0 -7
- package/_esm/ethers/decorators/encrypt.js.map +0 -1
- package/_esm/viem/decorators/decrypt.js +0 -7
- package/_esm/viem/decorators/decrypt.js.map +0 -1
- package/_esm/viem/decorators/encrypt.js +0 -7
- package/_esm/viem/decorators/encrypt.js.map +0 -1
- package/_types/core/modules/relayer/mock.d.ts +0 -3
- package/_types/core/modules/relayer/mock.d.ts.map +0 -1
- package/_types/ethers/decorators/decrypt.d.ts +0 -6
- package/_types/ethers/decorators/decrypt.d.ts.map +0 -1
- package/_types/ethers/decorators/encrypt.d.ts +0 -6
- package/_types/ethers/decorators/encrypt.d.ts.map +0 -1
- package/_types/viem/decorators/decrypt.d.ts +0 -6
- package/_types/viem/decorators/decrypt.d.ts.map +0 -1
- package/_types/viem/decorators/encrypt.d.ts +0 -6
- package/_types/viem/decorators/encrypt.d.ts.map +0 -1
- package/core/modules/relayer/mock.ts +0 -47
- package/ethers/decorators/decrypt.ts +0 -12
- package/ethers/decorators/encrypt.ts +0 -12
- package/viem/decorators/decrypt.ts +0 -12
- package/viem/decorators/encrypt.ts +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../viem/internal/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAYzE,wBAAgB,cAAc,IAAI,YAAY,CAe7C"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import type { PublicClient } from 'viem';
|
|
2
2
|
import type { TrustedClient } from '../../core/modules/ethereum/types.js';
|
|
3
|
-
import type { FhevmRuntime
|
|
3
|
+
import type { FhevmRuntime } from '../../core/types/coreFhevmRuntime.js';
|
|
4
4
|
import type { CreateFhevmRuntimeParameters } from '../../core/runtime/CoreFhevmRuntime-p.js';
|
|
5
5
|
export declare const PRIVATE_VIEM_TOKEN: unique symbol;
|
|
6
|
-
/**
|
|
7
|
-
* Sets the global {@link FhevmRuntimeConfig} used by the viem adapter.
|
|
8
|
-
*
|
|
9
|
-
* Must be called before any runtime or client is created.
|
|
10
|
-
* May be called multiple times with identical parameters (idempotent).
|
|
11
|
-
* Throws if called again with different parameters.
|
|
12
|
-
*
|
|
13
|
-
* @param config - The runtime configuration.
|
|
14
|
-
* @throws If a different config has already been set.
|
|
15
|
-
*/
|
|
16
|
-
export declare function setFhevmRuntimeConfig(config: FhevmRuntimeConfig): void;
|
|
17
|
-
export declare function getViemRuntime(): FhevmRuntime;
|
|
18
6
|
/**
|
|
19
7
|
* Seals a viem `PublicClient` into an opaque {@link TrustedClient}.
|
|
20
8
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viem-p.d.ts","sourceRoot":"","sources":["../../../viem/internal/viem-p.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"viem-p.d.ts","sourceRoot":"","sources":["../../../viem/internal/viem-p.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAQ7F,eAAO,MAAM,kBAAkB,eAAuB,CAAC;AAIvD;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,SAAS,YAAY,EACzE,YAAY,EAAE,MAAM,GACnB,aAAa,CAAC,MAAM,CAAC,CAEvB;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,SAAS,YAAY,EACzE,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,GACnC,MAAM,CAER;AAID,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,4BAA4B,GAAG,YAAY,CAEzF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initFhevmDecryptRuntime.d.ts","sourceRoot":"","sources":["../../../viem/runtime/initFhevmDecryptRuntime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initFhevmDecryptRuntime.d.ts","sourceRoot":"","sources":["../../../viem/runtime/initFhevmDecryptRuntime.ts"],"names":[],"mappings":"AAMA,wBAAgB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initFhevmEncryptRuntime.d.ts","sourceRoot":"","sources":["../../../viem/runtime/initFhevmEncryptRuntime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initFhevmEncryptRuntime.d.ts","sourceRoot":"","sources":["../../../viem/runtime/initFhevmEncryptRuntime.ts"],"names":[],"mappings":"AAMA,wBAAgB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initFhevmRuntime.d.ts","sourceRoot":"","sources":["../../../viem/runtime/initFhevmRuntime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initFhevmRuntime.d.ts","sourceRoot":"","sources":["../../../viem/runtime/initFhevmRuntime.ts"],"names":[],"mappings":"AAMA,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhD"}
|
package/core/_version.ts
CHANGED
|
@@ -20,6 +20,6 @@ export async function fetchVerifiedInputProof(
|
|
|
20
20
|
parameters: FetchVerifiedInputProofParameters,
|
|
21
21
|
): Promise<FetchVerifiedInputProofReturnType> {
|
|
22
22
|
const { zkProof, ...rest } = parameters;
|
|
23
|
-
const sanitizedZkProof = await toZkProof(zkProof);
|
|
23
|
+
const sanitizedZkProof = await toZkProof(zkProof, parameters.extraData);
|
|
24
24
|
return fetchVerifiedInputProof_(fhevm, { zkProof: sanitizedZkProof, ...rest });
|
|
25
25
|
}
|
|
@@ -23,10 +23,12 @@ export async function signDecryptionPermit(
|
|
|
23
23
|
fhevm: Fhevm<FhevmChain>,
|
|
24
24
|
parameters: SignSelfDecryptionPermitParameters,
|
|
25
25
|
): Promise<SignedSelfDecryptionPermit>;
|
|
26
|
+
|
|
26
27
|
export async function signDecryptionPermit(
|
|
27
28
|
fhevm: Fhevm<FhevmChain>,
|
|
28
29
|
parameters: SignDelegatedDecryptionPermitParameters,
|
|
29
30
|
): Promise<SignedDelegatedDecryptionPermit>;
|
|
31
|
+
|
|
30
32
|
export async function signDecryptionPermit(
|
|
31
33
|
fhevm: Fhevm<FhevmChain>,
|
|
32
34
|
parameters: SignDecryptionPermitParameters,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export {
|
|
2
|
-
type
|
|
3
|
-
verifyKmsDelegatedUserDecryptEip712
|
|
2
|
+
type VerifyKmsDelegatedUserDecryptEip712Parameters,
|
|
3
|
+
verifyKmsDelegatedUserDecryptEip712,
|
|
4
4
|
} from './verifyKmsDelegatedUserDecryptEip712.js';
|
|
5
5
|
|
|
6
6
|
export { type CreateKmsEIP712DomainReturnType, createKmsEIP712Domain } from './createKmsEip712Domain.js';
|
|
@@ -12,15 +12,15 @@ export {
|
|
|
12
12
|
} from './fetchFheEncryptionKeyBytes.js';
|
|
13
13
|
|
|
14
14
|
export {
|
|
15
|
-
type ParseTransportKeypairParameters
|
|
16
|
-
type ParseTransportKeypairReturnType
|
|
17
|
-
parseTransportKeypair
|
|
15
|
+
type ParseTransportKeypairParameters,
|
|
16
|
+
type ParseTransportKeypairReturnType,
|
|
17
|
+
parseTransportKeypair,
|
|
18
18
|
} from './parseTransportKeypair.js';
|
|
19
19
|
|
|
20
20
|
export {
|
|
21
|
-
type SerializeTransportKeypairParameters
|
|
22
|
-
type SerializeTransportKeypairReturnType
|
|
23
|
-
serializeTransportKeypair
|
|
21
|
+
type SerializeTransportKeypairParameters,
|
|
22
|
+
type SerializeTransportKeypairReturnType,
|
|
23
|
+
serializeTransportKeypair,
|
|
24
24
|
} from './serializeTransportKeypair.js';
|
|
25
25
|
|
|
26
26
|
export {
|
|
@@ -45,9 +45,9 @@ export {
|
|
|
45
45
|
} from '../base/signDecryptionPermit.js';
|
|
46
46
|
|
|
47
47
|
export {
|
|
48
|
-
type CreateKmsUserDecryptEip712Parameters
|
|
49
|
-
type CreateKmsUserDecryptEip712ReturnType
|
|
50
|
-
createKmsUserDecryptEip712
|
|
48
|
+
type CreateKmsUserDecryptEip712Parameters,
|
|
49
|
+
type CreateKmsUserDecryptEip712ReturnType,
|
|
50
|
+
createKmsUserDecryptEip712,
|
|
51
51
|
} from './createKmsUserDecryptEip712.js';
|
|
52
52
|
|
|
53
53
|
export {
|
|
@@ -2,13 +2,18 @@ import type { Fhevm } from '../../types/coreFhevmClient.js';
|
|
|
2
2
|
import type { FhevmChain } from '../../types/fhevmChain.js';
|
|
3
3
|
import type { SignedDecryptionPermit } from '../../types/signedDecryptionPermit.js';
|
|
4
4
|
import type { TransportKeypair } from '../../kms/TransportKeypair-p.js';
|
|
5
|
+
import type { KmsDecryptEip712Like } from '../../types/kms.js';
|
|
5
6
|
import { parseSignedDecryptionPermit as parseSignedDecryptionPermit_ } from '../../kms/SignedDecryptionPermit-p.js';
|
|
6
7
|
|
|
7
8
|
////////////////////////////////////////////////////////////////////////////////
|
|
8
9
|
|
|
9
10
|
export type ParseSignedDecryptionPermitParameters = {
|
|
10
|
-
/** The serialized permit — a
|
|
11
|
-
readonly
|
|
11
|
+
/** The serialized permit — a previously parsed permit object. */
|
|
12
|
+
readonly serializedPermit: {
|
|
13
|
+
readonly eip712: KmsDecryptEip712Like;
|
|
14
|
+
readonly signature: string;
|
|
15
|
+
readonly signerAddress: string;
|
|
16
|
+
};
|
|
12
17
|
/** The transport keypair that was used when signing the permit. */
|
|
13
18
|
readonly transportKeypair: TransportKeypair;
|
|
14
19
|
};
|
|
@@ -27,9 +32,7 @@ export async function parseSignedDecryptionPermit(
|
|
|
27
32
|
fhevm: Fhevm<FhevmChain>,
|
|
28
33
|
parameters: ParseSignedDecryptionPermitParameters,
|
|
29
34
|
): Promise<ParseSignedDecryptionPermitReturnType> {
|
|
30
|
-
const {
|
|
35
|
+
const { serializedPermit, transportKeypair } = parameters;
|
|
31
36
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return parseSignedDecryptionPermit_(fhevm, transportKeypair, parsed);
|
|
37
|
+
return parseSignedDecryptionPermit_(fhevm, transportKeypair, serializedPermit);
|
|
35
38
|
}
|
|
@@ -6,8 +6,8 @@ import { toTransportKeypair, type TransportKeypair } from '../../kms/TransportKe
|
|
|
6
6
|
////////////////////////////////////////////////////////////////////////////////
|
|
7
7
|
|
|
8
8
|
export type ParseTransportKeypairParameters = {
|
|
9
|
-
|
|
10
|
-
readonly
|
|
9
|
+
readonly publicKey: string;
|
|
10
|
+
readonly privateKey: string;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
export type ParseTransportKeypairReturnType = TransportKeypair;
|
|
@@ -16,9 +16,5 @@ export async function parseTransportKeypair(
|
|
|
16
16
|
fhevm: Fhevm<FhevmChain, FhevmRuntime, OptionalNativeClient>,
|
|
17
17
|
parameters: ParseTransportKeypairParameters,
|
|
18
18
|
): Promise<ParseTransportKeypairReturnType> {
|
|
19
|
-
|
|
20
|
-
typeof parameters.serialized === 'string' ? (JSON.parse(parameters.serialized) as unknown) : parameters.serialized;
|
|
21
|
-
return toTransportKeypair(fhevm, parsed);
|
|
19
|
+
return toTransportKeypair(fhevm, parameters);
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
type VerifyKmsDelegatedUserDecryptEip712Parameters,
|
|
7
7
|
} from '../../utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js';
|
|
8
8
|
|
|
9
|
-
export type { VerifyKmsDelegatedUserDecryptEip712Parameters
|
|
9
|
+
export type { VerifyKmsDelegatedUserDecryptEip712Parameters };
|
|
10
10
|
|
|
11
11
|
export async function verifyKmsDelegatedUserDecryptEip712(
|
|
12
12
|
fhevm: Fhevm<FhevmChain, FhevmRuntime, OptionalNativeClient>,
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/unified-signatures */
|
|
2
1
|
import type { Fhevm } from '../../types/coreFhevmClient.js';
|
|
3
2
|
import type { TypedValue } from '../../types/primitives.js';
|
|
4
3
|
import type { FhevmChain } from '../../types/fhevmChain.js';
|
|
5
4
|
import type { RelayerDelegatedUserDecryptOptions, RelayerUserDecryptOptions } from '../../types/relayer.js';
|
|
6
|
-
import type {
|
|
7
|
-
SignedDelegatedDecryptionPermit,
|
|
8
|
-
SignedSelfDecryptionPermit,
|
|
9
|
-
} from '../../types/signedDecryptionPermit.js';
|
|
5
|
+
import type { SignedDecryptionPermit } from '../../types/signedDecryptionPermit.js';
|
|
10
6
|
import type { WithDecrypt } from '../../types/coreFhevmRuntime.js';
|
|
11
7
|
import type { TransportKeypair } from '../../kms/TransportKeypair-p.js';
|
|
12
8
|
import type { EncryptedValueLike } from '../../types/encryptedTypes.js';
|
|
@@ -16,20 +12,12 @@ import { toFhevmHandle } from '../../handle/FhevmHandle.js';
|
|
|
16
12
|
|
|
17
13
|
////////////////////////////////////////////////////////////////////////////////
|
|
18
14
|
|
|
19
|
-
type
|
|
15
|
+
export type DecryptValueParameters = {
|
|
20
16
|
readonly encryptedValue: EncryptedValueLike;
|
|
21
17
|
readonly contractAddress: string;
|
|
22
18
|
readonly transportKeypair: TransportKeypair;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export type DecryptSelfValueParameters = DecryptValueParametersBase & {
|
|
26
|
-
readonly signedPermit: SignedSelfDecryptionPermit;
|
|
27
|
-
readonly options?: RelayerUserDecryptOptions | undefined;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export type DecryptDelegatedValueParameters = DecryptValueParametersBase & {
|
|
31
|
-
readonly signedPermit: SignedDelegatedDecryptionPermit;
|
|
32
|
-
readonly options?: RelayerDelegatedUserDecryptOptions | undefined;
|
|
19
|
+
readonly signedPermit: SignedDecryptionPermit;
|
|
20
|
+
readonly options?: RelayerUserDecryptOptions | RelayerDelegatedUserDecryptOptions | undefined;
|
|
33
21
|
};
|
|
34
22
|
|
|
35
23
|
export type DecryptValueReturnType = TypedValue;
|
|
@@ -38,17 +26,7 @@ export type DecryptValueReturnType = TypedValue;
|
|
|
38
26
|
|
|
39
27
|
export async function decryptValue(
|
|
40
28
|
fhevm: Fhevm<FhevmChain, WithDecrypt>,
|
|
41
|
-
parameters:
|
|
42
|
-
): Promise<DecryptValueReturnType>;
|
|
43
|
-
|
|
44
|
-
export async function decryptValue(
|
|
45
|
-
fhevm: Fhevm<FhevmChain, WithDecrypt>,
|
|
46
|
-
parameters: DecryptDelegatedValueParameters,
|
|
47
|
-
): Promise<DecryptValueReturnType>;
|
|
48
|
-
|
|
49
|
-
export async function decryptValue(
|
|
50
|
-
fhevm: Fhevm<FhevmChain, WithDecrypt>,
|
|
51
|
-
parameters: DecryptSelfValueParameters | DecryptDelegatedValueParameters,
|
|
29
|
+
parameters: DecryptValueParameters,
|
|
52
30
|
): Promise<DecryptValueReturnType> {
|
|
53
31
|
const { encryptedValue, contractAddress, ...rest } = parameters;
|
|
54
32
|
|
|
@@ -62,7 +40,10 @@ export async function decryptValue(
|
|
|
62
40
|
},
|
|
63
41
|
];
|
|
64
42
|
|
|
65
|
-
const typedValues = await decryptValuesFromPairs_(fhevm, {
|
|
43
|
+
const typedValues = await decryptValuesFromPairs_(fhevm, {
|
|
44
|
+
...rest,
|
|
45
|
+
pairs: sanitizedPairs,
|
|
46
|
+
} as Parameters<typeof decryptValuesFromPairs_>[1]);
|
|
66
47
|
|
|
67
48
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
68
49
|
return typedValues[0]!;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/unified-signatures */
|
|
2
1
|
import type { Fhevm } from '../../types/coreFhevmClient.js';
|
|
3
2
|
import type { TypedValue } from '../../types/primitives.js';
|
|
4
3
|
import type { FhevmChain } from '../../types/fhevmChain.js';
|
|
5
4
|
import type { RelayerDelegatedUserDecryptOptions, RelayerUserDecryptOptions } from '../../types/relayer.js';
|
|
6
|
-
import type {
|
|
7
|
-
SignedDelegatedDecryptionPermit,
|
|
8
|
-
SignedSelfDecryptionPermit,
|
|
9
|
-
} from '../../types/signedDecryptionPermit.js';
|
|
5
|
+
import type { SignedDecryptionPermit } from '../../types/signedDecryptionPermit.js';
|
|
10
6
|
import type { WithDecrypt } from '../../types/coreFhevmRuntime.js';
|
|
11
7
|
import type { TransportKeypair } from '../../kms/TransportKeypair-p.js';
|
|
12
8
|
import type { EncryptedValueLike } from '../../types/encryptedTypes.js';
|
|
@@ -16,20 +12,12 @@ import { toFhevmHandle } from '../../handle/FhevmHandle.js';
|
|
|
16
12
|
|
|
17
13
|
////////////////////////////////////////////////////////////////////////////////
|
|
18
14
|
|
|
19
|
-
type
|
|
15
|
+
export type DecryptValuesParameters = {
|
|
20
16
|
readonly encryptedValues: readonly EncryptedValueLike[];
|
|
21
17
|
readonly contractAddress: string;
|
|
22
18
|
readonly transportKeypair: TransportKeypair;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export type DecryptSelfValuesParameters = DecryptValuesParametersBase & {
|
|
26
|
-
readonly signedPermit: SignedSelfDecryptionPermit;
|
|
27
|
-
readonly options?: RelayerUserDecryptOptions | undefined;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export type DecryptDelegatedValuesParameters = DecryptValuesParametersBase & {
|
|
31
|
-
readonly signedPermit: SignedDelegatedDecryptionPermit;
|
|
32
|
-
readonly options?: RelayerDelegatedUserDecryptOptions | undefined;
|
|
19
|
+
readonly signedPermit: SignedDecryptionPermit;
|
|
20
|
+
readonly options?: RelayerUserDecryptOptions | RelayerDelegatedUserDecryptOptions | undefined;
|
|
33
21
|
};
|
|
34
22
|
|
|
35
23
|
export type DecryptValuesReturnType = readonly TypedValue[];
|
|
@@ -38,17 +26,7 @@ export type DecryptValuesReturnType = readonly TypedValue[];
|
|
|
38
26
|
|
|
39
27
|
export async function decryptValues(
|
|
40
28
|
fhevm: Fhevm<FhevmChain, WithDecrypt>,
|
|
41
|
-
parameters:
|
|
42
|
-
): Promise<DecryptValuesReturnType>;
|
|
43
|
-
|
|
44
|
-
export async function decryptValues(
|
|
45
|
-
fhevm: Fhevm<FhevmChain, WithDecrypt>,
|
|
46
|
-
parameters: DecryptDelegatedValuesParameters,
|
|
47
|
-
): Promise<DecryptValuesReturnType>;
|
|
48
|
-
|
|
49
|
-
export async function decryptValues(
|
|
50
|
-
fhevm: Fhevm<FhevmChain, WithDecrypt>,
|
|
51
|
-
parameters: DecryptSelfValuesParameters | DecryptDelegatedValuesParameters,
|
|
29
|
+
parameters: DecryptValuesParameters,
|
|
52
30
|
): Promise<DecryptValuesReturnType> {
|
|
53
31
|
const { encryptedValues, contractAddress, ...rest } = parameters;
|
|
54
32
|
|
|
@@ -62,5 +40,8 @@ export async function decryptValues(
|
|
|
62
40
|
};
|
|
63
41
|
});
|
|
64
42
|
|
|
65
|
-
return decryptValuesFromPairs_(fhevm, {
|
|
43
|
+
return decryptValuesFromPairs_(fhevm, {
|
|
44
|
+
...rest,
|
|
45
|
+
pairs: sanitizedPairs,
|
|
46
|
+
} as Parameters<typeof decryptValuesFromPairs_>[1]);
|
|
66
47
|
}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/unified-signatures */
|
|
2
1
|
import type { Fhevm } from '../../types/coreFhevmClient.js';
|
|
3
2
|
import type { TypedValue } from '../../types/primitives.js';
|
|
4
3
|
import type { FhevmChain } from '../../types/fhevmChain.js';
|
|
5
4
|
import type { RelayerDelegatedUserDecryptOptions, RelayerUserDecryptOptions } from '../../types/relayer.js';
|
|
6
|
-
import type {
|
|
7
|
-
SignedDelegatedDecryptionPermit,
|
|
8
|
-
SignedSelfDecryptionPermit,
|
|
9
|
-
} from '../../types/signedDecryptionPermit.js';
|
|
5
|
+
import type { SignedDecryptionPermit } from '../../types/signedDecryptionPermit.js';
|
|
10
6
|
import type { WithDecrypt } from '../../types/coreFhevmRuntime.js';
|
|
11
7
|
import type { TransportKeypair } from '../../kms/TransportKeypair-p.js';
|
|
12
8
|
import type { EncryptedValueLike } from '../../types/encryptedTypes.js';
|
|
@@ -16,22 +12,14 @@ import { toFhevmHandle } from '../../handle/FhevmHandle.js';
|
|
|
16
12
|
|
|
17
13
|
////////////////////////////////////////////////////////////////////////////////
|
|
18
14
|
|
|
19
|
-
type
|
|
15
|
+
export type DecryptValuesFromPairsParameters = {
|
|
20
16
|
readonly pairs: ReadonlyArray<{
|
|
21
17
|
readonly encryptedValue: EncryptedValueLike;
|
|
22
18
|
readonly contractAddress: string;
|
|
23
19
|
}>;
|
|
24
20
|
readonly transportKeypair: TransportKeypair;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
export type DecryptSelfValuesFromPairsParameters = DecryptValuesFromPairsParametersBase & {
|
|
28
|
-
readonly signedPermit: SignedSelfDecryptionPermit;
|
|
29
|
-
readonly options?: RelayerUserDecryptOptions | undefined;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export type DecryptDelegatedValuesFromPairsParameters = DecryptValuesFromPairsParametersBase & {
|
|
33
|
-
readonly signedPermit: SignedDelegatedDecryptionPermit;
|
|
34
|
-
readonly options?: RelayerDelegatedUserDecryptOptions | undefined;
|
|
21
|
+
readonly signedPermit: SignedDecryptionPermit;
|
|
22
|
+
readonly options?: RelayerUserDecryptOptions | RelayerDelegatedUserDecryptOptions | undefined;
|
|
35
23
|
};
|
|
36
24
|
|
|
37
25
|
export type DecryptValuesFromPairsReturnType = readonly TypedValue[];
|
|
@@ -40,17 +28,7 @@ export type DecryptValuesFromPairsReturnType = readonly TypedValue[];
|
|
|
40
28
|
|
|
41
29
|
export async function decryptValuesFromPairs(
|
|
42
30
|
fhevm: Fhevm<FhevmChain, WithDecrypt>,
|
|
43
|
-
parameters:
|
|
44
|
-
): Promise<DecryptValuesFromPairsReturnType>;
|
|
45
|
-
|
|
46
|
-
export async function decryptValuesFromPairs(
|
|
47
|
-
fhevm: Fhevm<FhevmChain, WithDecrypt>,
|
|
48
|
-
parameters: DecryptDelegatedValuesFromPairsParameters,
|
|
49
|
-
): Promise<DecryptValuesFromPairsReturnType>;
|
|
50
|
-
|
|
51
|
-
export async function decryptValuesFromPairs(
|
|
52
|
-
fhevm: Fhevm<FhevmChain, WithDecrypt>,
|
|
53
|
-
parameters: DecryptSelfValuesFromPairsParameters | DecryptDelegatedValuesFromPairsParameters,
|
|
31
|
+
parameters: DecryptValuesFromPairsParameters,
|
|
54
32
|
): Promise<DecryptValuesFromPairsReturnType> {
|
|
55
33
|
const { pairs, ...rest } = parameters;
|
|
56
34
|
|
|
@@ -62,5 +40,8 @@ export async function decryptValuesFromPairs(
|
|
|
62
40
|
};
|
|
63
41
|
});
|
|
64
42
|
|
|
65
|
-
return decryptValuesFromPairs_(fhevm, {
|
|
43
|
+
return decryptValuesFromPairs_(fhevm, {
|
|
44
|
+
...rest,
|
|
45
|
+
pairs: sanitizedPairs,
|
|
46
|
+
} as Parameters<typeof decryptValuesFromPairs_>[1]);
|
|
66
47
|
}
|
|
@@ -10,25 +10,14 @@ export {
|
|
|
10
10
|
} from './generateTransportKeypair.js';
|
|
11
11
|
|
|
12
12
|
export {
|
|
13
|
-
type
|
|
14
|
-
type DecryptDelegatedValuesFromPairsParameters,
|
|
13
|
+
type DecryptValuesFromPairsParameters,
|
|
15
14
|
type DecryptValuesFromPairsReturnType,
|
|
16
15
|
decryptValuesFromPairs,
|
|
17
16
|
} from './decryptValuesFromPairs.js';
|
|
18
17
|
|
|
19
|
-
export {
|
|
20
|
-
type DecryptSelfValueParameters,
|
|
21
|
-
type DecryptDelegatedValueParameters,
|
|
22
|
-
type DecryptValueReturnType,
|
|
23
|
-
decryptValue,
|
|
24
|
-
} from './decryptValue.js';
|
|
18
|
+
export { type DecryptValueParameters, type DecryptValueReturnType, decryptValue } from './decryptValue.js';
|
|
25
19
|
|
|
26
|
-
export {
|
|
27
|
-
type DecryptSelfValuesParameters,
|
|
28
|
-
type DecryptDelegatedValuesParameters,
|
|
29
|
-
type DecryptValuesReturnType,
|
|
30
|
-
decryptValues,
|
|
31
|
-
} from './decryptValues.js';
|
|
20
|
+
export { type DecryptValuesParameters, type DecryptValuesReturnType, decryptValues } from './decryptValues.js';
|
|
32
21
|
|
|
33
22
|
export {
|
|
34
23
|
type DecryptKmsSignedcryptedSharesParameters,
|
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
import type { Fhevm } from '../../types/coreFhevmClient.js';
|
|
2
|
-
import type {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
2
|
+
import type { Uint64BigInt } from '../../types/primitives.js';
|
|
3
|
+
import { addressToChecksummedAddress, assertIsAddress } from '../../base/address.js';
|
|
4
|
+
import { getUserDecryptionDelegationExpirationDate as getUserDecryptionDelegationExpirationDate_ } from '../../host-contracts/getUserDecryptionDelegationExpirationDate.js';
|
|
5
|
+
|
|
6
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
6
7
|
|
|
7
8
|
export type GetUserDecryptionDelegationExpirationDateParameters = {
|
|
8
|
-
readonly address:
|
|
9
|
+
readonly address: string;
|
|
10
|
+
readonly delegator: string;
|
|
11
|
+
readonly delegate: string;
|
|
12
|
+
readonly contractAddress: string;
|
|
9
13
|
};
|
|
10
14
|
|
|
11
15
|
export type GetUserDecryptionDelegationExpirationDateReturnType = Uint64BigInt;
|
|
12
16
|
|
|
17
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
18
|
+
|
|
13
19
|
export async function getUserDecryptionDelegationExpirationDate(
|
|
14
20
|
fhevm: Fhevm,
|
|
15
21
|
parameters: GetUserDecryptionDelegationExpirationDateParameters,
|
|
16
22
|
): Promise<GetUserDecryptionDelegationExpirationDateReturnType> {
|
|
17
|
-
const
|
|
18
|
-
const address = parameters.address;
|
|
23
|
+
const { address, delegate, delegator, contractAddress } = parameters;
|
|
19
24
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
functionName: getUserDecryptionDelegationExpirationDateAbi[0].name,
|
|
25
|
-
});
|
|
25
|
+
assertIsAddress(address, {});
|
|
26
|
+
assertIsAddress(delegate, {});
|
|
27
|
+
assertIsAddress(delegator, {});
|
|
28
|
+
assertIsAddress(contractAddress, {});
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
return getUserDecryptionDelegationExpirationDate_(fhevm, {
|
|
31
|
+
address: addressToChecksummedAddress(address),
|
|
32
|
+
delegate: addressToChecksummedAddress(delegate),
|
|
33
|
+
delegator: addressToChecksummedAddress(delegator),
|
|
34
|
+
contractAddress: addressToChecksummedAddress(contractAddress),
|
|
35
|
+
});
|
|
32
36
|
}
|
package/core/base/bytes.ts
CHANGED
|
@@ -2058,3 +2058,11 @@ export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length:
|
|
|
2058
2058
|
}
|
|
2059
2059
|
return `0x${bytesHex.slice(index, index + 2 * length)}` as BytesHex;
|
|
2060
2060
|
}
|
|
2061
|
+
|
|
2062
|
+
export function createDeadbeefBytes(numBytes: number): Uint8Array {
|
|
2063
|
+
const length = numBytes > 0 ? Math.ceil(numBytes / 4) * 4 : 0;
|
|
2064
|
+
const buf = new ArrayBuffer(length);
|
|
2065
|
+
const isLE = new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
|
|
2066
|
+
new Uint32Array(buf).fill(isLE ? 0xefbeadde : 0xdeadbeef);
|
|
2067
|
+
return new Uint8Array(buf).subarray(0, numBytes);
|
|
2068
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { Address, Bytes65Hex, BytesHex, ChecksummedAddress } from '../types/primitives.js';
|
|
2
|
+
import { secp256k1 } from '@noble/curves/secp256k1';
|
|
3
|
+
import { keccak_256 } from '@noble/hashes/sha3.js';
|
|
4
|
+
import { addressToChecksummedAddress } from './address.js';
|
|
5
|
+
import { bytesToHex } from './bytes.js';
|
|
6
|
+
|
|
7
|
+
export function sign({ hash, privateKey }: { readonly hash: BytesHex; readonly privateKey: BytesHex }): Bytes65Hex {
|
|
8
|
+
const sig = secp256k1.sign(hash.slice(2), privateKey.slice(2), {
|
|
9
|
+
lowS: true,
|
|
10
|
+
extraEntropy: true,
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
if (sig.recovery !== 0 && sig.recovery !== 1) {
|
|
14
|
+
throw new Error('Unexpected signature recovery value');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const signatureHex = `0x${sig.toCompactHex()}${sig.recovery === 0 ? '1b' : '1c'}` as BytesHex;
|
|
18
|
+
|
|
19
|
+
if (signatureHex.length !== 2 + 130) {
|
|
20
|
+
throw new Error('Unexpected signature length');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return signatureHex as Bytes65Hex;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Recover the secp256k1 public key (uncompressed, 65 bytes prefixed by 0x04)
|
|
28
|
+
* that produced `signature` over `hash`. Inverse of `sign(...)`.
|
|
29
|
+
*
|
|
30
|
+
* Simplified vs viem's `recoverPublicKey`: only accepts the canonical hex
|
|
31
|
+
* forms emitted by `sign(...)` — `hash` is `BytesHex`, `signature` is the
|
|
32
|
+
* 65-byte (r || s || v) `Bytes65Hex` with v in `{0x1b, 0x1c}` (legacy 27/28)
|
|
33
|
+
* or `{0x00, 0x01}` (raw yParity).
|
|
34
|
+
*/
|
|
35
|
+
function _recoverPublicKey(parameters: { readonly hash: BytesHex; readonly signature: Bytes65Hex }): Uint8Array {
|
|
36
|
+
const { hash, signature } = parameters;
|
|
37
|
+
|
|
38
|
+
if (signature.length !== 2 + 130) {
|
|
39
|
+
throw new Error('Unexpected signature length');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const compactHex = signature.slice(2, 130); // r || s, 64 bytes (128 hex chars)
|
|
43
|
+
const v = parseInt(signature.slice(130), 16); // 1 byte (2 hex chars)
|
|
44
|
+
|
|
45
|
+
// v is one of {0, 1, 27, 28} — anything else is malformed.
|
|
46
|
+
const recoveryBit = v === 0 || v === 1 ? v : v === 27 ? 0 : v === 28 ? 1 : -1;
|
|
47
|
+
if (recoveryBit !== 0 && recoveryBit !== 1) {
|
|
48
|
+
throw new Error(`Invalid v value: ${v}`);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const sig = secp256k1.Signature.fromCompact(compactHex).addRecoveryBit(recoveryBit);
|
|
52
|
+
|
|
53
|
+
// toRawBytes(false) → uncompressed encoding: 0x04 || X (32) || Y (32) = 65 bytes.
|
|
54
|
+
return sig.recoverPublicKey(hash.slice(2)).toRawBytes(false);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function _keccak256(bytes: Uint8Array): Uint8Array {
|
|
58
|
+
return keccak_256(bytes);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function _publicKeyToAddress(publicKey: Uint8Array): ChecksummedAddress {
|
|
62
|
+
if (publicKey.length !== 65) {
|
|
63
|
+
throw new Error('Expected uncompressed public key (65 bytes)');
|
|
64
|
+
}
|
|
65
|
+
// Drop the 0x04 prefix tag, keccak256 over X||Y, take the last 20 bytes.
|
|
66
|
+
const last20 = _keccak256(publicKey.subarray(1)).subarray(-20);
|
|
67
|
+
return addressToChecksummedAddress(bytesToHex(last20) as Address);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function recoverAddress(parameters: {
|
|
71
|
+
readonly hash: BytesHex;
|
|
72
|
+
readonly signature: Bytes65Hex;
|
|
73
|
+
}): ChecksummedAddress {
|
|
74
|
+
return _publicKeyToAddress(_recoverPublicKey(parameters));
|
|
75
|
+
}
|
package/core/base/typedValue.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ErrorMetadataParams } from './errors/ErrorBase.js';
|
|
|
2
2
|
import type {
|
|
3
3
|
AddressValueLike,
|
|
4
4
|
BoolValueLike,
|
|
5
|
+
Bytes32Hex,
|
|
5
6
|
TypedValue,
|
|
6
7
|
TypedValueFrom,
|
|
7
8
|
TypedValueLike,
|
|
@@ -20,6 +21,7 @@ import { asAddress } from './address.js';
|
|
|
20
21
|
import { toBoolean } from './boolean.js';
|
|
21
22
|
import { InvalidTypeError } from './errors/InvalidTypeError.js';
|
|
22
23
|
import { asUintForType, normalizeUintForType } from './uint.js';
|
|
24
|
+
import { bigIntToBytesHex } from './bytes.js';
|
|
23
25
|
|
|
24
26
|
////////////////////////////////////////////////////////////////////////////////
|
|
25
27
|
|
|
@@ -324,3 +326,19 @@ export class TypedValueArrayBuilder {
|
|
|
324
326
|
return Object.freeze([...this.#arr]);
|
|
325
327
|
}
|
|
326
328
|
}
|
|
329
|
+
|
|
330
|
+
export function typedValueToBytes32Hex(typedValue: TypedValue): Bytes32Hex {
|
|
331
|
+
assertIsTypedValue(typedValue, {});
|
|
332
|
+
switch (typedValue.type) {
|
|
333
|
+
case 'uint8':
|
|
334
|
+
case 'uint16':
|
|
335
|
+
case 'uint32':
|
|
336
|
+
case 'uint64':
|
|
337
|
+
case 'uint128':
|
|
338
|
+
case 'uint256':
|
|
339
|
+
case 'address':
|
|
340
|
+
return bigIntToBytesHex(BigInt(typedValue.value), { byteLength: 32 });
|
|
341
|
+
case 'bool':
|
|
342
|
+
return bigIntToBytesHex(typedValue.value ? 1n : 0n, { byteLength: 32 });
|
|
343
|
+
}
|
|
344
|
+
}
|
package/core/base/uint.ts
CHANGED
|
@@ -628,3 +628,35 @@ export function assertRecordUintBigIntProperty<K extends string>(
|
|
|
628
628
|
);
|
|
629
629
|
}
|
|
630
630
|
}
|
|
631
|
+
|
|
632
|
+
export function parseUintBigIntString(value: string): bigint | undefined {
|
|
633
|
+
let parsed: bigint;
|
|
634
|
+
try {
|
|
635
|
+
parsed = BigInt(value);
|
|
636
|
+
} catch {
|
|
637
|
+
return undefined;
|
|
638
|
+
}
|
|
639
|
+
if (parsed < 0n || parsed.toString() !== value) {
|
|
640
|
+
return undefined;
|
|
641
|
+
}
|
|
642
|
+
return parsed;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
/** Returns `count` unique integers drawn uniformly from [0, n-1]. Mock/debug only. */
|
|
646
|
+
export function randomUniqueUints(n: number, count: number): number[] {
|
|
647
|
+
if (count > n) {
|
|
648
|
+
throw new RangeError(`count ${count} cannot exceed n ${n}`);
|
|
649
|
+
}
|
|
650
|
+
const pool = Array.from({ length: n }, (_, i) => i);
|
|
651
|
+
for (let i = 0; i < count; i++) {
|
|
652
|
+
const j = i + Math.floor(Math.random() * (n - i));
|
|
653
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
654
|
+
const pi = pool[i]!;
|
|
655
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
656
|
+
const pj = pool[j]!;
|
|
657
|
+
|
|
658
|
+
pool[i] = pj;
|
|
659
|
+
pool[j] = pi;
|
|
660
|
+
}
|
|
661
|
+
return pool.slice(0, count);
|
|
662
|
+
}
|