@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
|
@@ -3,7 +3,7 @@ import type { FetchInputProofResult } from '../../../types/relayer.js';
|
|
|
3
3
|
import type {
|
|
4
4
|
FetchCoprocessorSignaturesParameters,
|
|
5
5
|
FetchCoprocessorSignaturesReturnType,
|
|
6
|
-
|
|
6
|
+
RelayerClientWithRuntime,
|
|
7
7
|
} from '../types.js';
|
|
8
8
|
import { bytesToHexNo0x } from '../../../base/bytes.js';
|
|
9
9
|
import { removeSuffix } from '../../../base/string.js';
|
|
@@ -15,7 +15,7 @@ import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
|
15
15
|
////////////////////////////////////////////////////////////////////////////////
|
|
16
16
|
|
|
17
17
|
export async function fetchCoprocessorSignatures(
|
|
18
|
-
relayerClient:
|
|
18
|
+
relayerClient: RelayerClientWithRuntime,
|
|
19
19
|
parameters: FetchCoprocessorSignaturesParameters,
|
|
20
20
|
): Promise<FetchCoprocessorSignaturesReturnType> {
|
|
21
21
|
const { options, payload } = parameters;
|
|
@@ -24,13 +24,13 @@ export async function fetchCoprocessorSignatures(
|
|
|
24
24
|
ciphertextWithInputVerification: bytesToHexNo0x(payload.zkProof.ciphertextWithZkProof),
|
|
25
25
|
contractAddress: payload.zkProof.contractAddress,
|
|
26
26
|
contractChainId: uintToHex0x(payload.zkProof.chainId),
|
|
27
|
-
extraData: payload.
|
|
27
|
+
extraData: payload.zkProof.getExtraData(),
|
|
28
28
|
userAddress: payload.zkProof.userAddress,
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
const request = new RelayerAsyncRequest({
|
|
32
32
|
relayerOperation: 'INPUT_PROOF',
|
|
33
|
-
url: `${removeSuffix(relayerClient.relayerUrl, '/')}/v2/input-proof`,
|
|
33
|
+
url: `${removeSuffix(relayerClient.chain.fhevm.relayerUrl, '/')}/v2/input-proof`,
|
|
34
34
|
payload: inputProofPayload,
|
|
35
35
|
options,
|
|
36
36
|
});
|
|
@@ -3,7 +3,7 @@ import type { FetchDelegatedUserDecryptResult } from '../../../types/relayer.js'
|
|
|
3
3
|
import type {
|
|
4
4
|
FetchDelegatedUserDecryptParameters,
|
|
5
5
|
FetchDelegatedUserDecryptReturnType,
|
|
6
|
-
|
|
6
|
+
RelayerClientWithRuntime,
|
|
7
7
|
} from '../types.js';
|
|
8
8
|
import type { KmsSigncryptedShare } from '../../../types/kms-p.js';
|
|
9
9
|
import { remove0x, removeSuffix } from '../../../base/string.js';
|
|
@@ -14,7 +14,7 @@ import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
|
14
14
|
//////////////////////////////////////////////////////////////////////////////
|
|
15
15
|
|
|
16
16
|
export async function fetchDelegatedUserDecrypt(
|
|
17
|
-
relayerClient:
|
|
17
|
+
relayerClient: RelayerClientWithRuntime,
|
|
18
18
|
parameters: FetchDelegatedUserDecryptParameters,
|
|
19
19
|
): Promise<FetchDelegatedUserDecryptReturnType> {
|
|
20
20
|
const { options, payload } = parameters;
|
|
@@ -47,7 +47,7 @@ export async function fetchDelegatedUserDecrypt(
|
|
|
47
47
|
|
|
48
48
|
const request = new RelayerAsyncRequest({
|
|
49
49
|
relayerOperation: 'DELEGATED_USER_DECRYPT',
|
|
50
|
-
url: `${removeSuffix(relayerClient.relayerUrl, '/')}/v2/delegated-user-decrypt`,
|
|
50
|
+
url: `${removeSuffix(relayerClient.chain.fhevm.relayerUrl, '/')}/v2/delegated-user-decrypt`,
|
|
51
51
|
payload: relayerPayload,
|
|
52
52
|
options,
|
|
53
53
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Bytes65Hex, BytesHex } from '../../../types/primitives.js';
|
|
2
2
|
import type { RelayerFetchPublicDecryptPayload } from '../../../types/relayer-p.js';
|
|
3
3
|
import type { FetchPublicDecryptResult } from '../../../types/relayer.js';
|
|
4
|
-
import type { FetchPublicDecryptParameters, FetchPublicDecryptReturnType,
|
|
4
|
+
import type { FetchPublicDecryptParameters, FetchPublicDecryptReturnType, RelayerClientWithRuntime } from '../types.js';
|
|
5
5
|
import { ensure0x, removeSuffix } from '../../../base/string.js';
|
|
6
6
|
import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
7
7
|
|
|
@@ -10,7 +10,7 @@ import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
|
10
10
|
//////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
12
12
|
export async function fetchPublicDecrypt(
|
|
13
|
-
relayerClient:
|
|
13
|
+
relayerClient: RelayerClientWithRuntime,
|
|
14
14
|
parameters: FetchPublicDecryptParameters,
|
|
15
15
|
): Promise<FetchPublicDecryptReturnType> {
|
|
16
16
|
const { options, payload } = parameters;
|
|
@@ -25,7 +25,7 @@ export async function fetchPublicDecrypt(
|
|
|
25
25
|
|
|
26
26
|
const request = new RelayerAsyncRequest({
|
|
27
27
|
relayerOperation: 'PUBLIC_DECRYPT',
|
|
28
|
-
url: `${removeSuffix(relayerClient.relayerUrl, '/')}/v2/public-decrypt`,
|
|
28
|
+
url: `${removeSuffix(relayerClient.chain.fhevm.relayerUrl, '/')}/v2/public-decrypt`,
|
|
29
29
|
payload: p,
|
|
30
30
|
options,
|
|
31
31
|
});
|
|
@@ -2,7 +2,7 @@ import type { KmsSigncryptedShare } from '../../../types/kms-p.js';
|
|
|
2
2
|
import type { Bytes65HexNo0x } from '../../../types/primitives.js';
|
|
3
3
|
import type { FetchUserDecryptPayload } from '../../../types/relayer-p.js';
|
|
4
4
|
import type { FetchUserDecryptResult } from '../../../types/relayer.js';
|
|
5
|
-
import type { FetchUserDecryptParameters, FetchUserDecryptReturnType,
|
|
5
|
+
import type { FetchUserDecryptParameters, FetchUserDecryptReturnType, RelayerClientWithRuntime } from '../types.js';
|
|
6
6
|
import { remove0x, removeSuffix } from '../../../base/string.js';
|
|
7
7
|
import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
8
8
|
|
|
@@ -11,7 +11,7 @@ import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
|
11
11
|
//////////////////////////////////////////////////////////////////////////////
|
|
12
12
|
|
|
13
13
|
export async function fetchUserDecrypt(
|
|
14
|
-
relayerClient:
|
|
14
|
+
relayerClient: RelayerClientWithRuntime,
|
|
15
15
|
parameters: FetchUserDecryptParameters,
|
|
16
16
|
): Promise<FetchUserDecryptReturnType> {
|
|
17
17
|
const { options, payload } = parameters;
|
|
@@ -45,7 +45,7 @@ export async function fetchUserDecrypt(
|
|
|
45
45
|
|
|
46
46
|
const request = new RelayerAsyncRequest({
|
|
47
47
|
relayerOperation: 'USER_DECRYPT',
|
|
48
|
-
url: `${removeSuffix(relayerClient.relayerUrl, '/')}/v2/user-decrypt`,
|
|
48
|
+
url: `${removeSuffix(relayerClient.chain.fhevm.relayerUrl, '/')}/v2/user-decrypt`,
|
|
49
49
|
payload: relayerPayload,
|
|
50
50
|
options,
|
|
51
51
|
});
|
|
@@ -12,6 +12,8 @@ import type { Bytes65Hex, BytesHex, ChecksummedAddress } from '../../types/primi
|
|
|
12
12
|
import type { Prettify } from '../../types/utils.js';
|
|
13
13
|
import type { ZkProof } from '../../types/zkProof-p.js';
|
|
14
14
|
import type { Handle, InputHandle } from '../../types/encryptedTypes-p.js';
|
|
15
|
+
import type { FhevmChain } from '../../types/fhevmChain.js';
|
|
16
|
+
import type { FhevmRuntime } from '../../types/coreFhevmRuntime.js';
|
|
15
17
|
|
|
16
18
|
////////////////////////////////////////////////////////////////////////////////
|
|
17
19
|
//
|
|
@@ -24,6 +26,13 @@ export type RelayerClient = {
|
|
|
24
26
|
readonly chainId: number;
|
|
25
27
|
};
|
|
26
28
|
|
|
29
|
+
export type RelayerClientWithRuntime = {
|
|
30
|
+
readonly chain: FhevmChain;
|
|
31
|
+
readonly runtime: FhevmRuntime;
|
|
32
|
+
readonly client: NonNullable<object>;
|
|
33
|
+
readonly options: { readonly batchRpcCalls: boolean };
|
|
34
|
+
};
|
|
35
|
+
|
|
27
36
|
////////////////////////////////////////////////////////////////////////////////
|
|
28
37
|
// 1.1 fetchFheEncryptionKeySource
|
|
29
38
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -65,7 +74,6 @@ export type FetchFheEncryptionKeyBytesModuleFunction = {
|
|
|
65
74
|
export type FetchCoprocessorSignaturesParameters = {
|
|
66
75
|
readonly payload: {
|
|
67
76
|
readonly zkProof: ZkProof;
|
|
68
|
-
readonly extraData: BytesHex;
|
|
69
77
|
};
|
|
70
78
|
readonly options?: RelayerInputProofOptions | undefined;
|
|
71
79
|
};
|
|
@@ -78,7 +86,7 @@ export type FetchCoprocessorSignaturesReturnType = {
|
|
|
78
86
|
|
|
79
87
|
export type FetchCoprocessorSignaturesModuleFunction = {
|
|
80
88
|
fetchCoprocessorSignatures(
|
|
81
|
-
relayerClient:
|
|
89
|
+
relayerClient: RelayerClientWithRuntime,
|
|
82
90
|
parameters: FetchCoprocessorSignaturesParameters,
|
|
83
91
|
): Promise<FetchCoprocessorSignaturesReturnType>;
|
|
84
92
|
};
|
|
@@ -103,7 +111,7 @@ export type FetchPublicDecryptReturnType = {
|
|
|
103
111
|
|
|
104
112
|
export type FetchPublicDecryptModuleFunction = {
|
|
105
113
|
fetchPublicDecrypt(
|
|
106
|
-
relayerClient:
|
|
114
|
+
relayerClient: RelayerClientWithRuntime,
|
|
107
115
|
parameters: FetchPublicDecryptParameters,
|
|
108
116
|
): Promise<FetchPublicDecryptReturnType>;
|
|
109
117
|
};
|
|
@@ -129,7 +137,7 @@ export type FetchUserDecryptReturnType = readonly KmsSigncryptedShare[];
|
|
|
129
137
|
|
|
130
138
|
export type FetchUserDecryptModuleFunction = {
|
|
131
139
|
fetchUserDecrypt(
|
|
132
|
-
relayerClient:
|
|
140
|
+
relayerClient: RelayerClientWithRuntime,
|
|
133
141
|
parameters: FetchUserDecryptParameters,
|
|
134
142
|
): Promise<FetchUserDecryptReturnType>;
|
|
135
143
|
};
|
|
@@ -155,7 +163,7 @@ export type FetchDelegatedUserDecryptReturnType = readonly KmsSigncryptedShare[]
|
|
|
155
163
|
|
|
156
164
|
export type FetchDelegatedUserDecryptModuleFunction = {
|
|
157
165
|
fetchDelegatedUserDecrypt(
|
|
158
|
-
relayerClient:
|
|
166
|
+
relayerClient: RelayerClientWithRuntime,
|
|
159
167
|
parameters: FetchDelegatedUserDecryptParameters,
|
|
160
168
|
): Promise<FetchDelegatedUserDecryptReturnType>;
|
|
161
169
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { KmsSigncryptedShare } from '../../types/kms-p.js';
|
|
2
|
+
import type { FetchUserDecryptResult } from '../../types/relayer.js';
|
|
3
|
+
import { remove0x } from '../../base/string.js';
|
|
4
|
+
|
|
5
|
+
export function userDecryptResultToKmsSigncryptedShares(
|
|
6
|
+
result: FetchUserDecryptResult,
|
|
7
|
+
): readonly KmsSigncryptedShare[] {
|
|
8
|
+
const shares: KmsSigncryptedShare[] = result.map((r) => {
|
|
9
|
+
const share: KmsSigncryptedShare = {
|
|
10
|
+
signature: r.signature,
|
|
11
|
+
payload: r.payload,
|
|
12
|
+
extraData: remove0x(r.extraData),
|
|
13
|
+
};
|
|
14
|
+
return share;
|
|
15
|
+
});
|
|
16
|
+
return shares;
|
|
17
|
+
}
|
package/core/types/index.ts
CHANGED
package/core/types/kms.ts
CHANGED
|
@@ -99,6 +99,25 @@ export type KmsPublicDecryptEip712Message = Readonly<{
|
|
|
99
99
|
extraData: BytesHex;
|
|
100
100
|
}>;
|
|
101
101
|
|
|
102
|
+
export type KmsDecryptEip712Like = {
|
|
103
|
+
readonly domain: {
|
|
104
|
+
readonly name: string;
|
|
105
|
+
readonly version: string;
|
|
106
|
+
readonly chainId: number | bigint;
|
|
107
|
+
readonly verifyingContract: string;
|
|
108
|
+
};
|
|
109
|
+
readonly primaryType?: string | undefined;
|
|
110
|
+
readonly types: Record<string, ReadonlyArray<{ readonly name: string; readonly type: string }>>;
|
|
111
|
+
readonly message: {
|
|
112
|
+
readonly publicKey: string | Uint8Array;
|
|
113
|
+
readonly contractAddresses: string[];
|
|
114
|
+
readonly startTimestamp: number;
|
|
115
|
+
readonly durationDays: number;
|
|
116
|
+
readonly extraData: string | Uint8Array;
|
|
117
|
+
readonly delegatorAddress?: string | undefined;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
|
|
102
121
|
export type KmsUserDecryptEip712 = Prettify<{
|
|
103
122
|
readonly domain: KmsEip712Domain;
|
|
104
123
|
readonly types: KmsUserDecryptEip712Types;
|
package/core/types/zkProof-p.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { InputHandle } from './encryptedTypes-p.js';
|
|
2
2
|
import type { EncryptionBits } from './fheType.js';
|
|
3
|
-
import type { Bytes, ChecksummedAddress, Uint64BigInt } from './primitives.js';
|
|
3
|
+
import type { Bytes, BytesHex, ChecksummedAddress, Uint64BigInt } from './primitives.js';
|
|
4
4
|
|
|
5
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
6
6
|
//
|
|
@@ -25,5 +25,7 @@ export interface ZkProof {
|
|
|
25
25
|
readonly ciphertextWithZkProof: Bytes;
|
|
26
26
|
readonly encryptionBits: readonly EncryptionBits[];
|
|
27
27
|
|
|
28
|
+
// Private functions
|
|
28
29
|
getInputHandles(): readonly InputHandle[];
|
|
30
|
+
getExtraData(): BytesHex;
|
|
29
31
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Provider } from 'ethers';
|
|
2
|
+
import type { FhevmChain } from '../../core/types/fhevmChain.js';
|
|
3
|
+
import type { FhevmRuntime } from '../../core/types/coreFhevmRuntime.js';
|
|
4
|
+
import type { FhevmOptions } from '../../core/types/coreFhevmClient.js';
|
|
5
|
+
import type { FhevmBaseClient } from '../../core/types/fhevmClient.js';
|
|
6
|
+
import { createCoreFhevm } from '../../core/runtime/CoreFhevm-p.js';
|
|
7
|
+
import { baseActions } from '../../core/clients/decorators/base.js';
|
|
8
|
+
import { PRIVATE_ETHERS_TOKEN } from '../internal/ethers-p.js';
|
|
9
|
+
import { getCleartextEthersRuntime } from '../internal/runtime-ct.js';
|
|
10
|
+
|
|
11
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
12
|
+
|
|
13
|
+
export function createFhevmCleartextBaseClient<chain extends FhevmChain, provider extends Provider>(parameters: {
|
|
14
|
+
readonly provider: provider;
|
|
15
|
+
readonly chain: chain;
|
|
16
|
+
readonly options?: FhevmOptions | undefined;
|
|
17
|
+
}): FhevmBaseClient<chain, FhevmRuntime, provider> {
|
|
18
|
+
const c = createCoreFhevm(PRIVATE_ETHERS_TOKEN, {
|
|
19
|
+
chain: parameters.chain,
|
|
20
|
+
runtime: getCleartextEthersRuntime(),
|
|
21
|
+
client: parameters.provider,
|
|
22
|
+
options: parameters.options,
|
|
23
|
+
});
|
|
24
|
+
return c.extend(baseActions);
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Provider } from 'ethers';
|
|
2
|
+
import type { FhevmChain } from '../../core/types/fhevmChain.js';
|
|
3
|
+
import type { WithAll } from '../../core/types/coreFhevmRuntime.js';
|
|
4
|
+
import type { FhevmOptions } from '../../core/types/coreFhevmClient.js';
|
|
5
|
+
import type { FhevmClient } from '../../core/types/fhevmClient.js';
|
|
6
|
+
import { createFhevmCleartextBaseClient } from './createFhevmCleartextBaseClient.js';
|
|
7
|
+
import { encryptActions } from './decorators/encrypt.js';
|
|
8
|
+
import { decryptActions } from './decorators/decrypt.js';
|
|
9
|
+
|
|
10
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
11
|
+
|
|
12
|
+
export function createFhevmCleartextClient<chain extends FhevmChain, provider extends Provider>(parameters: {
|
|
13
|
+
readonly provider: provider;
|
|
14
|
+
readonly chain: chain;
|
|
15
|
+
readonly options?: FhevmOptions | undefined;
|
|
16
|
+
}): FhevmClient<chain, WithAll, provider> {
|
|
17
|
+
const c = createFhevmCleartextBaseClient(parameters);
|
|
18
|
+
|
|
19
|
+
return c.extend(decryptActions).extend(encryptActions);
|
|
20
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Provider } from 'ethers';
|
|
2
|
+
import type { FhevmChain } from '../../core/types/fhevmChain.js';
|
|
3
|
+
import type { WithDecrypt } from '../../core/types/coreFhevmRuntime.js';
|
|
4
|
+
import type { FhevmOptions } from '../../core/types/coreFhevmClient.js';
|
|
5
|
+
import type { FhevmDecryptClient } from '../../core/types/fhevmClient.js';
|
|
6
|
+
import { createFhevmCleartextBaseClient } from './createFhevmCleartextBaseClient.js';
|
|
7
|
+
import { decryptActions } from './decorators/decrypt.js';
|
|
8
|
+
|
|
9
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
10
|
+
|
|
11
|
+
export function createFhevmCleartextDecryptClient<chain extends FhevmChain, provider extends Provider>(parameters: {
|
|
12
|
+
readonly provider: provider;
|
|
13
|
+
readonly chain: chain;
|
|
14
|
+
readonly options?: FhevmOptions | undefined;
|
|
15
|
+
}): FhevmDecryptClient<chain, WithDecrypt, provider> {
|
|
16
|
+
const c = createFhevmCleartextBaseClient(parameters);
|
|
17
|
+
return c.extend(decryptActions);
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Provider } from 'ethers';
|
|
2
|
+
import type { FhevmChain } from '../../core/types/fhevmChain.js';
|
|
3
|
+
import type { WithEncrypt } from '../../core/types/coreFhevmRuntime.js';
|
|
4
|
+
import type { FhevmOptions } from '../../core/types/coreFhevmClient.js';
|
|
5
|
+
import type { FhevmEncryptClient } from '../../core/types/fhevmClient.js';
|
|
6
|
+
import { createFhevmCleartextBaseClient } from './createFhevmCleartextBaseClient.js';
|
|
7
|
+
import { encryptActions } from './decorators/encrypt.js';
|
|
8
|
+
|
|
9
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
10
|
+
|
|
11
|
+
export function createFhevmCleartextEncryptClient<chain extends FhevmChain, provider extends Provider>(parameters: {
|
|
12
|
+
readonly provider: provider;
|
|
13
|
+
readonly chain: chain;
|
|
14
|
+
readonly options?: FhevmOptions | undefined;
|
|
15
|
+
}): FhevmEncryptClient<chain, WithEncrypt, provider> {
|
|
16
|
+
const c = createFhevmCleartextBaseClient(parameters);
|
|
17
|
+
|
|
18
|
+
return c.extend(encryptActions);
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FhevmChain } from '../../../core/types/fhevmChain.js';
|
|
2
|
+
import type { WithDecrypt } from '../../../core/types/coreFhevmRuntime.js';
|
|
3
|
+
import type { FhevmBase, FhevmExtension } from '../../../core/types/coreFhevmClient.js';
|
|
4
|
+
import type { DecryptActions } from '../../../core/clients/decorators/decrypt.js';
|
|
5
|
+
import { decryptModule } from '../../../core/modules/decrypt/mock.js';
|
|
6
|
+
import { decryptActionsWithModule } from '../../../core/clients/decorators/decrypt.js';
|
|
7
|
+
|
|
8
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
9
|
+
|
|
10
|
+
export function decryptActions(fhevm: FhevmBase<FhevmChain>): FhevmExtension<DecryptActions, WithDecrypt> {
|
|
11
|
+
return decryptActionsWithModule(fhevm, decryptModule);
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FhevmChain } from '../../../core/types/fhevmChain.js';
|
|
2
|
+
import type { WithEncrypt } from '../../../core/types/coreFhevmRuntime.js';
|
|
3
|
+
import type { FhevmBase, FhevmExtension } from '../../../core/types/coreFhevmClient.js';
|
|
4
|
+
import type { EncryptActions } from '../../../core/clients/decorators/encrypt.js';
|
|
5
|
+
import { encryptModule } from '../../../core/modules/encrypt/mock.js';
|
|
6
|
+
import { encryptActionsWithModule } from '../../../core/clients/decorators/encrypt.js';
|
|
7
|
+
|
|
8
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
9
|
+
|
|
10
|
+
export function encryptActions(fhevm: FhevmBase<FhevmChain>): FhevmExtension<EncryptActions, WithEncrypt> {
|
|
11
|
+
return encryptActionsWithModule(fhevm, encryptModule);
|
|
12
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { createFhevmCleartextBaseClient } from './createFhevmCleartextBaseClient.js';
|
|
2
|
+
export { createFhevmCleartextDecryptClient } from './createFhevmCleartextDecryptClient.js';
|
|
3
|
+
export { createFhevmCleartextEncryptClient } from './createFhevmCleartextEncryptClient.js';
|
|
4
|
+
export { createFhevmCleartextClient } from './createFhevmCleartextClient.js';
|
|
@@ -3,9 +3,10 @@ import type { FhevmChain } from '../../core/types/fhevmChain.js';
|
|
|
3
3
|
import type { FhevmRuntime } from '../../core/types/coreFhevmRuntime.js';
|
|
4
4
|
import type { FhevmOptions } from '../../core/types/coreFhevmClient.js';
|
|
5
5
|
import type { FhevmBaseClient } from '../../core/types/fhevmClient.js';
|
|
6
|
-
import {
|
|
6
|
+
import { PRIVATE_ETHERS_TOKEN } from '../internal/ethers-p.js';
|
|
7
7
|
import { createCoreFhevm } from '../../core/runtime/CoreFhevm-p.js';
|
|
8
8
|
import { baseActions } from '../../core/clients/decorators/base.js';
|
|
9
|
+
import { getEthersRuntime } from '../internal/runtime.js';
|
|
9
10
|
|
|
10
11
|
////////////////////////////////////////////////////////////////////////////////
|
|
11
12
|
|
|
@@ -4,8 +4,8 @@ import type { WithAll } from '../../core/types/coreFhevmRuntime.js';
|
|
|
4
4
|
import type { FhevmOptions } from '../../core/types/coreFhevmClient.js';
|
|
5
5
|
import type { FhevmClient } from '../../core/types/fhevmClient.js';
|
|
6
6
|
import { createFhevmBaseClient } from './createFhevmBaseClient.js';
|
|
7
|
-
import { encryptActions } from '
|
|
8
|
-
import { decryptActions } from '
|
|
7
|
+
import { encryptActions } from './decorators/encrypt.js';
|
|
8
|
+
import { decryptActions } from './decorators/decrypt.js';
|
|
9
9
|
|
|
10
10
|
////////////////////////////////////////////////////////////////////////////////
|
|
11
11
|
|
|
@@ -4,7 +4,7 @@ import type { WithDecrypt } from '../../core/types/coreFhevmRuntime.js';
|
|
|
4
4
|
import type { FhevmOptions } from '../../core/types/coreFhevmClient.js';
|
|
5
5
|
import type { FhevmDecryptClient } from '../../core/types/fhevmClient.js';
|
|
6
6
|
import { createFhevmBaseClient } from './createFhevmBaseClient.js';
|
|
7
|
-
import { decryptActions } from '
|
|
7
|
+
import { decryptActions } from './decorators/decrypt.js';
|
|
8
8
|
|
|
9
9
|
////////////////////////////////////////////////////////////////////////////////
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ import type { WithEncrypt } from '../../core/types/coreFhevmRuntime.js';
|
|
|
4
4
|
import type { FhevmOptions } from '../../core/types/coreFhevmClient.js';
|
|
5
5
|
import type { FhevmEncryptClient } from '../../core/types/fhevmClient.js';
|
|
6
6
|
import { createFhevmBaseClient } from './createFhevmBaseClient.js';
|
|
7
|
-
import { encryptActions } from '
|
|
7
|
+
import { encryptActions } from './decorators/encrypt.js';
|
|
8
8
|
|
|
9
9
|
////////////////////////////////////////////////////////////////////////////////
|
|
10
10
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FhevmChain } from '../../../core/types/fhevmChain.js';
|
|
2
|
+
import type { WithDecrypt } from '../../../core/types/coreFhevmRuntime.js';
|
|
3
|
+
import type { FhevmBase, FhevmExtension } from '../../../core/types/coreFhevmClient.js';
|
|
4
|
+
import type { DecryptActions } from '../../../core/clients/decorators/decrypt.js';
|
|
5
|
+
import { decryptActionsWithModule } from '../../../core/clients/decorators/decrypt.js';
|
|
6
|
+
import { decryptModule } from '../../../core/modules/decrypt/module/index.js';
|
|
7
|
+
|
|
8
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
9
|
+
|
|
10
|
+
export function decryptActions(fhevm: FhevmBase<FhevmChain>): FhevmExtension<DecryptActions, WithDecrypt> {
|
|
11
|
+
return decryptActionsWithModule(fhevm, decryptModule);
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FhevmChain } from '../../../core/types/fhevmChain.js';
|
|
2
|
+
import type { WithEncrypt } from '../../../core/types/coreFhevmRuntime.js';
|
|
3
|
+
import type { FhevmBase, FhevmExtension } from '../../../core/types/coreFhevmClient.js';
|
|
4
|
+
import type { EncryptActions } from '../../../core/clients/decorators/encrypt.js';
|
|
5
|
+
import { encryptActionsWithModule } from '../../../core/clients/decorators/encrypt.js';
|
|
6
|
+
import { encryptModule } from '../../../core/modules/encrypt/module/index.js';
|
|
7
|
+
|
|
8
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
9
|
+
|
|
10
|
+
export function encryptActions(fhevm: FhevmBase<FhevmChain>): FhevmExtension<EncryptActions, WithEncrypt> {
|
|
11
|
+
return encryptActionsWithModule(fhevm, encryptModule);
|
|
12
|
+
}
|
package/ethers/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { setFhevmRuntimeConfig } from './internal/
|
|
1
|
+
export { setFhevmRuntimeConfig, hasFhevmRuntimeConfig } from './internal/config.js';
|
|
2
2
|
|
|
3
3
|
export { createFhevmBaseClient } from './clients/createFhevmBaseClient.js';
|
|
4
4
|
export { createFhevmClient } from './clients/createFhevmClient.js';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { FhevmRuntimeConfig } from '../../core/types/coreFhevmRuntime.js';
|
|
2
|
+
|
|
3
|
+
let ethersFhevmRuntimeConfig: FhevmRuntimeConfig | undefined;
|
|
4
|
+
|
|
5
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Sets the global {@link FhevmRuntimeConfig} used by the viem adapter.
|
|
9
|
+
*
|
|
10
|
+
* Must be called before any runtime or client is created.
|
|
11
|
+
* May be called multiple times with identical parameters (idempotent).
|
|
12
|
+
* Throws if called again with different parameters.
|
|
13
|
+
*
|
|
14
|
+
* @param config - The runtime configuration.
|
|
15
|
+
* @throws If a different config has already been set.
|
|
16
|
+
*/
|
|
17
|
+
export function setFhevmRuntimeConfig(config: FhevmRuntimeConfig): void {
|
|
18
|
+
if (ethersFhevmRuntimeConfig === undefined) {
|
|
19
|
+
ethersFhevmRuntimeConfig = Object.freeze({
|
|
20
|
+
...config,
|
|
21
|
+
logger: config.logger ? Object.freeze({ ...config.logger }) : undefined,
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (
|
|
27
|
+
ethersFhevmRuntimeConfig.logger !== config.logger ||
|
|
28
|
+
ethersFhevmRuntimeConfig.locateFile !== config.locateFile ||
|
|
29
|
+
ethersFhevmRuntimeConfig.singleThread !== config.singleThread ||
|
|
30
|
+
ethersFhevmRuntimeConfig.numberOfThreads !== config.numberOfThreads
|
|
31
|
+
) {
|
|
32
|
+
throw new Error(
|
|
33
|
+
'FhevmRuntime config has already been set and cannot be changed. ' +
|
|
34
|
+
'Ensure setFhevmRuntimeConfig is called only once, or with identical parameters.',
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function hasFhevmRuntimeConfig(): boolean {
|
|
40
|
+
return ethersFhevmRuntimeConfig !== undefined;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function getFhevmRuntimeConfig(): FhevmRuntimeConfig {
|
|
44
|
+
if (ethersFhevmRuntimeConfig === undefined) {
|
|
45
|
+
throw new Error(
|
|
46
|
+
'FhevmRuntime config has not been set. ' + 'Call setFhevmRuntimeConfig before creating any runtime or client.',
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
return ethersFhevmRuntimeConfig;
|
|
50
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
CleartextEthereumModuleFactory,
|
|
3
|
+
GeneratePrivateKeyReturnType,
|
|
4
|
+
GetPublicKeyParameters,
|
|
5
|
+
GetPublicKeyReturnType,
|
|
6
|
+
MnemonicToAccountParameters,
|
|
7
|
+
MnemonicToAccountReturnType,
|
|
8
|
+
RecoverAddressParameters,
|
|
9
|
+
RecoverAddressReturnType,
|
|
10
|
+
SignParameters,
|
|
11
|
+
SignReturnType,
|
|
12
|
+
} from '../../core/modules/ethereum/types-ct.js';
|
|
13
|
+
import type { BytesHex, ChecksummedAddress } from '../../core/types/primitives.js';
|
|
14
|
+
import {
|
|
15
|
+
decode,
|
|
16
|
+
encode,
|
|
17
|
+
encodePacked,
|
|
18
|
+
getChainId,
|
|
19
|
+
readContract,
|
|
20
|
+
recoverTypedDataAddress,
|
|
21
|
+
signTypedData,
|
|
22
|
+
} from './ethereum.js';
|
|
23
|
+
import { SigningKey, HDNodeWallet, Wallet } from 'ethers';
|
|
24
|
+
import { sign, recoverAddress } from '../../core/base/sign.js';
|
|
25
|
+
|
|
26
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
27
|
+
|
|
28
|
+
export const cleartextEthereumModule: CleartextEthereumModuleFactory = () => {
|
|
29
|
+
return Object.freeze({
|
|
30
|
+
ethereum: Object.freeze({
|
|
31
|
+
decode,
|
|
32
|
+
encode,
|
|
33
|
+
encodePacked,
|
|
34
|
+
recoverTypedDataAddress,
|
|
35
|
+
signTypedData,
|
|
36
|
+
getChainId,
|
|
37
|
+
readContract,
|
|
38
|
+
mnemonicToAccount: (parameters: MnemonicToAccountParameters): MnemonicToAccountReturnType => {
|
|
39
|
+
const signer = HDNodeWallet.fromPhrase(parameters.mnemonic, undefined, parameters.path);
|
|
40
|
+
return {
|
|
41
|
+
privateKey: signer.privateKey as BytesHex,
|
|
42
|
+
address: signer.address as ChecksummedAddress,
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
sign: (parameters: SignParameters): Promise<SignReturnType> => {
|
|
46
|
+
const signature = sign(parameters);
|
|
47
|
+
return Promise.resolve(signature);
|
|
48
|
+
},
|
|
49
|
+
generatePrivateKey: (): GeneratePrivateKeyReturnType => {
|
|
50
|
+
return Wallet.createRandom().privateKey as BytesHex;
|
|
51
|
+
},
|
|
52
|
+
getPublicKey: (parameters: GetPublicKeyParameters): GetPublicKeyReturnType => {
|
|
53
|
+
return SigningKey.computePublicKey(parameters.privateKey, false) as BytesHex;
|
|
54
|
+
},
|
|
55
|
+
recoverAddress: (parameters: RecoverAddressParameters): Promise<RecoverAddressReturnType> => {
|
|
56
|
+
const recoveredAddress = recoverAddress(parameters);
|
|
57
|
+
return Promise.resolve(recoveredAddress);
|
|
58
|
+
},
|
|
59
|
+
}),
|
|
60
|
+
});
|
|
61
|
+
};
|