diff --git a/package-lock.json b/package-lock.json index 7da5c97b..1198eb33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "ethers": "^6.8.0", - "fhevmjs": "^0.5.0", + "fhevmjs": "^0.6.0-1", "hardhat": "^2.22.10", "hardhat-deploy": "^0.11.29", "hardhat-gas-reporter": "^1.0.2", @@ -2818,6 +2818,12 @@ "@types/node": "*" } }, + "node_modules/@types/glob-to-regexp": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@types/glob-to-regexp/-/glob-to-regexp-0.4.4.tgz", + "integrity": "sha512-nDKoaKJYbnn1MZxUY0cA1bPmmgZbg0cTq7Rh13d0KWYNOiKbqoR+2d89SnRPszGh7ROzSwZ/GOjZ4jPbmmZ6Eg==", + "dev": true + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -4539,6 +4545,15 @@ "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/detect-libc": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", @@ -5498,19 +5513,42 @@ "reusify": "^1.0.4" } }, + "node_modules/fetch-mock": { + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/fetch-mock/-/fetch-mock-11.1.5.tgz", + "integrity": "sha512-KHmZDnZ1ry0pCTrX4YG5DtThHi0MH+GNI9caESnzX/nMJBrvppUHMvLx47M0WY9oAtKOMiPfZDRpxhlHg89BOA==", + "dev": true, + "dependencies": { + "@types/glob-to-regexp": "^0.4.4", + "dequal": "^2.0.3", + "glob-to-regexp": "^0.4.1", + "is-subset": "^0.1.1", + "regexparam": "^3.0.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependenciesMeta": { + "node-fetch": { + "optional": true + } + } + }, "node_modules/fhevmjs": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fhevmjs/-/fhevmjs-0.5.2.tgz", - "integrity": "sha512-p/p4VTuUUohhGLZ8UgWUnO0rbuw5VummB4fAovUyILeyJ0oBVpGKKwkoaBXNKv40HDo+mvpkDBi6+HdSsMHvNg==", + "version": "0.6.0-1", + "resolved": "https://registry.npmjs.org/fhevmjs/-/fhevmjs-0.6.0-1.tgz", + "integrity": "sha512-KHZJZXq6E6WHl1psS8ddfOTFnzpXitCjJS+6EWBqiGgqQysjHb5gP4KdUfDG3ewkfxcojMgJR1TNK03vsN69Aw==", "dev": true, "dependencies": { "@types/keccak": "^3.0.4", "bigint-buffer": "^1.1.5", "commander": "^11.0.0", - "node-fetch": "^2.7.0", - "node-tfhe": "^0.6.3", + "fetch-mock": "^11.1.3", + "node-tfhe": "^0.8.0", + "node-tkms": "^0.9.0-rc11", "sha3": "^2.1.4", - "tfhe": "^0.6.3", + "tfhe": "^0.8.0", + "tkms": "^0.9.0-rc11", "url": "^0.11.3", "web3-validator": "^2.0.6" }, @@ -5934,6 +5972,12 @@ "node": ">=10.13.0" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, "node_modules/glob/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -7078,6 +7122,12 @@ "node": ">=8" } }, + "node_modules/is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==", + "dev": true + }, "node_modules/is-typed-array": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", @@ -8020,9 +8070,15 @@ } }, "node_modules/node-tfhe": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/node-tfhe/-/node-tfhe-0.6.4.tgz", - "integrity": "sha512-V/SJjc5GPKIB/KcNGEFSDDQelIKvFIFiCgefeDARgxOnN69fyB+omV4e4j3tMDEz6aN7xRd/NqqQ0im17emXeA==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/node-tfhe/-/node-tfhe-0.8.2.tgz", + "integrity": "sha512-UWJFToNhtE9lCN/zHRrIFvDdC7OU7W5aZKyrIudgdWZ5SZur/PJ2DXUqASiRFq2yK28lAZeT2awfAF4GxYaccg==", + "dev": true + }, + "node_modules/node-tkms": { + "version": "0.9.0-rc3", + "resolved": "https://registry.npmjs.org/node-tkms/-/node-tkms-0.9.0-rc3.tgz", + "integrity": "sha512-Jr3faNAudjBO2Up+Gc3QPF7Dq07fDR/n0NKCHGtS69qLKnoqqaKxGULdKg3gpbtdx0wnj/GaQjvprUIgnIm7yQ==", "dev": true }, "node_modules/nofilter": { @@ -8710,6 +8766,15 @@ "node": ">=6" } }, + "node_modules/regexparam": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-3.0.0.tgz", + "integrity": "sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/req-cwd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", @@ -10147,9 +10212,9 @@ "dev": true }, "node_modules/tfhe": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/tfhe/-/tfhe-0.6.4.tgz", - "integrity": "sha512-80fP2iJJQXrlhyC81u6/aUWMMMDoOXmlY5uqKka2CEd222xM96+z9+FTZc0MjlrR3U+NHja1WOte+A3nlvZkKw==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tfhe/-/tfhe-0.8.2.tgz", + "integrity": "sha512-p/QQRGGaE3z8BSTFCCOGPLHnQQjtES2AhYLPNUl9vdIb6NdJIc2p7qU+7fWbGtzJnCmGaQZmbLA6788cL3WlCg==", "dev": true }, "node_modules/then-request": { @@ -10204,6 +10269,12 @@ "readable-stream": "3" } }, + "node_modules/tkms": { + "version": "0.9.0-rc3", + "resolved": "https://registry.npmjs.org/tkms/-/tkms-0.9.0-rc3.tgz", + "integrity": "sha512-7ynaHiFnXS9Xok62vsi2GGeTUxmb1Ao7I5k9akE8lEQ5M9FERmaGLF3TapDLGsYMDz7Km7dFeTfrsjCg38OC/w==", + "dev": true + }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", diff --git a/package.json b/package.json index ead155f0..1bc66eec 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "ethers": "^6.8.0", - "fhevmjs": "^0.5.0", + "fhevmjs": "^0.6.0-1", "hardhat": "^2.22.10", "hardhat-deploy": "^0.11.29", "hardhat-gas-reporter": "^1.0.2", diff --git a/test/instance.ts b/test/instance.ts index 03090137..ee307d9d 100644 --- a/test/instance.ts +++ b/test/instance.ts @@ -1,5 +1,13 @@ -import { clientKeyDecryptor, createInstance as createFhevmInstance, getCiphertextCallParams } from 'fhevmjs'; +import dotenv from 'dotenv'; +import { + clientKeyDecryptor, + createEIP712, + createInstance as createFhevmInstance, + generateKeypair, + getCiphertextCallParams, +} from 'fhevmjs'; import { readFileSync } from 'fs'; +import * as fs from 'fs'; import { ethers, ethers as hethers, network } from 'hardhat'; import { homedir } from 'os'; import path from 'path'; @@ -13,13 +21,17 @@ const FHE_CLIENT_KEY_PATH = process.env.FHE_CLIENT_KEY_PATH; let clientKey: Uint8Array | undefined; +const kmsAdd = dotenv.parse(fs.readFileSync('lib/.env.kmsverifier')).KMS_VERIFIER_CONTRACT_ADDRESS; +const aclAdd = dotenv.parse(fs.readFileSync('lib/.env.acl')).ACL_CONTRACT_ADDRESS; + const createInstanceMocked = async () => { - const instance = await createFhevmInstance({ - chainId: network.config.chainId, - }); - instance.reencrypt = reencryptRequestMocked; - instance.createEncryptedInput = createEncryptedInputMocked; - instance.getPublicKey = () => '0xFFAA44433'; + const instance = { + reencrypt: reencryptRequestMocked, + createEncryptedInput: createEncryptedInputMocked, + getPublicKey: () => '0xFFAA44433', + generateKeypair: generateKeypair, + createEIP712: createEIP712(network.config.chainId), + }; return instance; }; @@ -43,7 +55,10 @@ export const createInstances = async (accounts: Signers): Promise { + console.log('net url:', network.config.url); const instance = await createFhevmInstance({ + kmsContractAddress: kmsAdd, + aclContractAddress: aclAdd, networkUrl: network.config.url, gatewayUrl: 'http://localhost:7077', });