@fhevm/sdk 1.0.0-alpha.1 → 1.0.0-alpha.2
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/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/kms/fetchKmsSignedcryptedShares-p.js +2 -3
- 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/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/kms/fetchKmsSignedcryptedShares-p.js +2 -3
- 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 +3 -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/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/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/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 +5 -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/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/kms/fetchKmsSignedcryptedShares-p.ts +16 -24
- 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/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,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/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
|
+
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { ethers as EthersT } from 'ethers';
|
|
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
|
import { createFhevmRuntime as createFhevmRuntime_ } from '../../core/runtime/CoreFhevmRuntime-p.js';
|
|
6
6
|
import { verifyTrustedValue } from '../../core/base/trustedValue.js';
|
|
7
7
|
import { createTrustedClient } from '../../core/modules/ethereum/createTrustedClient.js';
|
|
8
|
-
import { ethereumModule } from './ethereum.js';
|
|
9
|
-
import { relayerModule } from '../../core/modules/relayer/module/index.js';
|
|
10
8
|
|
|
11
9
|
////////////////////////////////////////////////////////////////////////////////
|
|
12
10
|
|
|
@@ -15,59 +13,6 @@ export const PRIVATE_ETHERS_TOKEN = Symbol('ethers.token');
|
|
|
15
13
|
|
|
16
14
|
////////////////////////////////////////////////////////////////////////////////
|
|
17
15
|
|
|
18
|
-
let ethersFhevmRuntime: FhevmRuntime | undefined;
|
|
19
|
-
let ethersFhevmRuntimeConfig: FhevmRuntimeConfig | undefined;
|
|
20
|
-
|
|
21
|
-
////////////////////////////////////////////////////////////////////////////////
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Sets the global {@link FhevmRuntimeConfig} used by the ethers adapter.
|
|
25
|
-
*
|
|
26
|
-
* Must be called before any runtime or client is created.
|
|
27
|
-
* May be called multiple times with identical parameters (idempotent).
|
|
28
|
-
* Throws if called again with different parameters.
|
|
29
|
-
*
|
|
30
|
-
* @param config - The runtime configuration.
|
|
31
|
-
* @throws If a different config has already been set.
|
|
32
|
-
*/
|
|
33
|
-
export function setFhevmRuntimeConfig(config: FhevmRuntimeConfig): void {
|
|
34
|
-
if (ethersFhevmRuntimeConfig === undefined) {
|
|
35
|
-
ethersFhevmRuntimeConfig = { ...config };
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
if (
|
|
39
|
-
ethersFhevmRuntimeConfig.logger !== config.logger ||
|
|
40
|
-
ethersFhevmRuntimeConfig.locateFile !== config.locateFile ||
|
|
41
|
-
ethersFhevmRuntimeConfig.singleThread !== config.singleThread ||
|
|
42
|
-
ethersFhevmRuntimeConfig.numberOfThreads !== config.numberOfThreads
|
|
43
|
-
) {
|
|
44
|
-
throw new Error(
|
|
45
|
-
'FhevmRuntime config has already been set and cannot be changed. ' +
|
|
46
|
-
'Ensure setFhevmRuntimeConfig is called only once, or with identical parameters.',
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
////////////////////////////////////////////////////////////////////////////////
|
|
52
|
-
|
|
53
|
-
export function getEthersRuntime(): FhevmRuntime {
|
|
54
|
-
if (ethersFhevmRuntimeConfig === undefined) {
|
|
55
|
-
throw new Error('Call setFhevmRuntimeConfig first.');
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const em = ethereumModule();
|
|
59
|
-
const rm = relayerModule();
|
|
60
|
-
|
|
61
|
-
ethersFhevmRuntime ??= createFhevmRuntime({
|
|
62
|
-
ethereum: em.ethereum,
|
|
63
|
-
relayer: rm.relayer,
|
|
64
|
-
config: ethersFhevmRuntimeConfig,
|
|
65
|
-
});
|
|
66
|
-
return ethersFhevmRuntime;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
////////////////////////////////////////////////////////////////////////////////
|
|
70
|
-
|
|
71
16
|
/**
|
|
72
17
|
* Seals an ethers `ContractRunner` into an opaque {@link TrustedClient}.
|
|
73
18
|
*
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { FhevmRuntime } from '../../core/types/coreFhevmRuntime.js';
|
|
2
|
+
import { getFhevmRuntimeConfig, hasFhevmRuntimeConfig } from './config.js';
|
|
3
|
+
import { cleartextEthereumModule } from './ethereum-ct.js';
|
|
4
|
+
import { relayerModule as cleartextRelayerModule } from '../../core/modules/relayer/cleartext/mock.js';
|
|
5
|
+
import { createFhevmRuntime } from './ethers-p.js';
|
|
6
|
+
|
|
7
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
8
|
+
|
|
9
|
+
let ethersFhevmRuntime: FhevmRuntime | undefined;
|
|
10
|
+
|
|
11
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
12
|
+
|
|
13
|
+
export function getCleartextEthersRuntime(): FhevmRuntime {
|
|
14
|
+
if (!hasFhevmRuntimeConfig()) {
|
|
15
|
+
throw new Error('Call setFhevmRuntimeConfig first.');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const em = cleartextEthereumModule();
|
|
19
|
+
const rm = cleartextRelayerModule();
|
|
20
|
+
|
|
21
|
+
ethersFhevmRuntime ??= createFhevmRuntime({
|
|
22
|
+
ethereum: em.ethereum,
|
|
23
|
+
relayer: rm.relayer,
|
|
24
|
+
config: getFhevmRuntimeConfig(),
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
return ethersFhevmRuntime;
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { FhevmRuntime } from '../../core/types/coreFhevmRuntime.js';
|
|
2
|
+
import { getFhevmRuntimeConfig, hasFhevmRuntimeConfig } from './config.js';
|
|
3
|
+
import { ethereumModule } from './ethereum.js';
|
|
4
|
+
import { relayerModule } from '../../core/modules/relayer/module/index.js';
|
|
5
|
+
import { createFhevmRuntime } from './ethers-p.js';
|
|
6
|
+
|
|
7
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
8
|
+
|
|
9
|
+
let viemFhevmRuntime: FhevmRuntime | undefined;
|
|
10
|
+
|
|
11
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
12
|
+
|
|
13
|
+
export function getEthersRuntime(): FhevmRuntime {
|
|
14
|
+
if (!hasFhevmRuntimeConfig()) {
|
|
15
|
+
throw new Error('Call setFhevmRuntimeConfig first.');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const em = ethereumModule();
|
|
19
|
+
const rm = relayerModule();
|
|
20
|
+
|
|
21
|
+
viemFhevmRuntime ??= createFhevmRuntime({
|
|
22
|
+
ethereum: em.ethereum,
|
|
23
|
+
relayer: rm.relayer,
|
|
24
|
+
config: getFhevmRuntimeConfig(),
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
return viemFhevmRuntime;
|
|
28
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { getEthersRuntime, PRIVATE_ETHERS_TOKEN } from '../internal/ethers-p.js';
|
|
2
1
|
import { initFhevmDecryptRuntime as initFhevmDecyptRuntime_ } from '../../core/runtime/initFhevmDecryptRuntime-p.js';
|
|
2
|
+
import { PRIVATE_ETHERS_TOKEN } from '../internal/ethers-p.js';
|
|
3
|
+
import { getEthersRuntime } from '../internal/runtime.js';
|
|
3
4
|
|
|
4
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
5
6
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { getEthersRuntime, PRIVATE_ETHERS_TOKEN } from '../internal/ethers-p.js';
|
|
2
1
|
import { initFhevmEncryptRuntime as initFhevmEncryptRuntime_ } from '../../core/runtime/initFhevmEncryptRuntime-p.js';
|
|
2
|
+
import { PRIVATE_ETHERS_TOKEN } from '../internal/ethers-p.js';
|
|
3
|
+
import { getEthersRuntime } from '../internal/runtime.js';
|
|
3
4
|
|
|
4
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
5
6
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { getEthersRuntime, PRIVATE_ETHERS_TOKEN } from '../internal/ethers-p.js';
|
|
2
1
|
import { initFhevmRuntime as initFhevmRuntime_ } from '../../core/runtime/initFhevmRuntime-p.js';
|
|
2
|
+
import { PRIVATE_ETHERS_TOKEN } from '../internal/ethers-p.js';
|
|
3
|
+
import { getEthersRuntime } from '../internal/runtime.js';
|
|
3
4
|
|
|
4
5
|
////////////////////////////////////////////////////////////////////////////////
|
|
5
6
|
|
package/index.ts
ADDED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fhevm/sdk",
|
|
3
3
|
"description": "TypeScript Interface for FHEVM",
|
|
4
|
-
"version": "1.0.0-alpha.
|
|
4
|
+
"version": "1.0.0-alpha.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./_cjs/index.js",
|
|
7
7
|
"module": "./_esm/index.js",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"files": [
|
|
12
12
|
"*",
|
|
13
13
|
"!**/*.test.ts",
|
|
14
|
+
"!**/*.template",
|
|
14
15
|
"!**/*.tsbuildinfo",
|
|
15
16
|
"!tsconfig.build.json"
|
|
16
17
|
],
|
|
@@ -35,6 +36,11 @@
|
|
|
35
36
|
"import": "./_esm/ethers/index.js",
|
|
36
37
|
"default": "./_cjs/ethers/index.js"
|
|
37
38
|
},
|
|
39
|
+
"./ethers/cleartext": {
|
|
40
|
+
"types": "./_types/ethers/cleartext/index.d.ts",
|
|
41
|
+
"import": "./_esm/ethers/cleartext/index.js",
|
|
42
|
+
"default": "./_cjs/ethers/cleartext/index.js"
|
|
43
|
+
},
|
|
38
44
|
"./types": {
|
|
39
45
|
"types": "./_types/core/types/index.d.ts",
|
|
40
46
|
"import": "./_esm/core/types/index.js",
|
|
@@ -45,6 +51,11 @@
|
|
|
45
51
|
"import": "./_esm/viem/index.js",
|
|
46
52
|
"default": "./_cjs/viem/index.js"
|
|
47
53
|
},
|
|
54
|
+
"./viem/cleartext": {
|
|
55
|
+
"types": "./_types/viem/cleartext/index.d.ts",
|
|
56
|
+
"import": "./_esm/viem/cleartext/index.js",
|
|
57
|
+
"default": "./_cjs/viem/cleartext/index.js"
|
|
58
|
+
},
|
|
48
59
|
"./actions/base": {
|
|
49
60
|
"types": "./_types/core/actions/base/index.d.ts",
|
|
50
61
|
"import": "./_esm/core/actions/base/index.js",
|
|
@@ -73,7 +84,7 @@
|
|
|
73
84
|
"./package.json": "./package.json"
|
|
74
85
|
},
|
|
75
86
|
"peerDependencies": {
|
|
76
|
-
"ethers": ">=6",
|
|
87
|
+
"ethers": ">=6.8.0",
|
|
77
88
|
"typescript": ">=5.0.4",
|
|
78
89
|
"viem": ">=2"
|
|
79
90
|
},
|
|
@@ -90,6 +101,7 @@
|
|
|
90
101
|
},
|
|
91
102
|
"dependencies": {
|
|
92
103
|
"@noble/hashes": "2.0.1",
|
|
104
|
+
"@noble/curves": "2.0.1",
|
|
93
105
|
"wasm-feature-detect": "^1.8.0"
|
|
94
106
|
},
|
|
95
107
|
"repository": {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { PublicClient } from 'viem';
|
|
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_VIEM_TOKEN } from '../internal/viem-p.js';
|
|
9
|
+
import { getCleartextViemRuntime } from '../internal/runtime-ct.js';
|
|
10
|
+
|
|
11
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
12
|
+
|
|
13
|
+
export function createFhevmCleartextBaseClient<
|
|
14
|
+
chain extends FhevmChain,
|
|
15
|
+
publicClient extends PublicClient,
|
|
16
|
+
>(parameters: {
|
|
17
|
+
readonly publicClient: publicClient;
|
|
18
|
+
readonly chain: chain;
|
|
19
|
+
readonly options?: FhevmOptions | undefined;
|
|
20
|
+
}): FhevmBaseClient<chain, FhevmRuntime, publicClient> {
|
|
21
|
+
const c = createCoreFhevm(PRIVATE_VIEM_TOKEN, {
|
|
22
|
+
chain: parameters.chain,
|
|
23
|
+
runtime: getCleartextViemRuntime(),
|
|
24
|
+
client: parameters.publicClient,
|
|
25
|
+
options: parameters.options,
|
|
26
|
+
});
|
|
27
|
+
return c.extend(baseActions);
|
|
28
|
+
}
|