Commit Graph

116 Commits

Author SHA1 Message Date
Joseph-André Turk
be7fa19489 fix: allow for ebytes256 + reencrypt tests
chore: removed console logs
2024-07-12 11:42:10 +02:00
Joseph-André Turk
205f7e9fda fix: kmsverifier, solidity ver and silence transient warning
chore: updated version of package

chore: updated npmignore and deleted abstracts
2024-07-05 18:50:44 +02:00
Petar Ivanov
a54d2b53a3 feat: pass a contract address to verifyCiphertext
Will be needed in the future to verify the input ZKPoK.
2024-06-21 17:58:21 +03:00
Petar Ivanov
68ea71ac70 feat: update with latest Solidity implementation
There are a number of tests that are still not rewritten with the new
APIs. The EncryptedERC20 and Rand examples do work.
2024-06-21 08:05:05 +03:00
Petar Ivanov
d1d41843c1 feat: add support for list-based inputs
More info: https://github.com/zama-ai/fhevm-go/pull/120

API changes will be described in the documentation.

More tests and examples are to be done in a future commit.
2024-06-18 12:45:12 +03:00
Petar Ivanov
7c19b2b426 feat: introduce the ACL and TFHEExecutor contracts
Purpose of this commit is to establish a baseline for a working fhEVM
using the ACL and TFHEExecutor contracts. More tests and a rewrite of
examples will come in a future commit.

The ACL contract manages ciphertext permissions, removing the need for
privileged storage and memory in fhEVM.

The TFHEExecutor contract checks ciphertext permissions in the ACL
contract. Only TFHEExecutor is allowed to call FHE precompiles in the
fhEVM.

Not all tests are passing at that point. Only the Rand and the
EncryptedERC20 ones work.

Tests don't use the KMS for decryption. Instead, we load the secret FHE
key and pass it to fhevmjs for decryption.

Update to fhevmjs 0.5.0-1 and tfhe-rs 0.6.1
2024-06-12 11:30:52 +03:00
Clément 'birdy' Danjou
fa1961b1cd fix: return 0 explicitly 2024-06-10 13:49:38 +02:00
Clément Danjou
94aa000de2 chore: Update codegen/templates.ts
Co-authored-by: Petar Ivanov <29689712+dartdart26@users.noreply.github.com>
2024-05-29 20:29:13 +02:00
Clément 'birdy' Danjou
1e76d443ce fix: fix bug on require 2024-05-28 16:41:06 +02:00
Clément 'birdy' Danjou
ebe7e8f9cc test: fix array size 2024-05-27 15:52:05 +02:00
Clément 'birdy' Danjou
a46463c835 test: many fixes 2024-05-27 15:26:24 +02:00
Clément 'birdy' Danjou
82b50abb1c fix: remove length from call to fhevm-go 2024-05-27 14:56:20 +02:00
Clément 'birdy' Danjou
b17ebc7d55 feat: various fixes regarding array eq 2024-05-23 16:37:51 +02:00
Clément 'birdy' Danjou
6d11c5e768 feat: add array equality 2024-05-23 15:05:14 +02:00
Levent DEMIR
d98c02f61e chore: run prettier 2024-04-09 14:06:54 +02:00
jat
461a0364e5 Merge branch 'main' into fix/euint160_nooracleservicechange 2024-04-09 13:32:13 +02:00
Joseph-André Turk
8020ac583a fix: eaddress 2024-04-09 11:04:25 +02:00
Levent DEMIR
53edf79780 feat: add select for eaddress 2024-04-05 16:15:17 +02:00
Levent DEMIR
6b055cc241 chore: update asEaddress from value (cast to uint160) 2024-04-05 08:55:34 +02:00
Clément 'birdy' Danjou
0f6dd3bb06 feat: add rotl and rotr 2024-04-04 15:27:07 +02:00
Clément 'birdy' Danjou
d0072b6ec7 feat: addn randEuint64() 2024-04-03 16:49:06 +02:00
Levent DEMIR
e209353400 chore: add reencrypt 2024-04-03 16:49:06 +02:00
Levent DEMIR
9910e4da0f chore: use decrypt function name for eaddress also 2024-04-03 16:49:06 +02:00
Levent DEMIR
2d336dda3a chore: consistency for naming 2024-04-03 16:49:06 +02:00
Levent DEMIR
5ee434a663 feat(eaddress): add eaddress with (scalar) ne and (scalar) eq 2024-04-03 16:49:03 +02:00
Clément 'birdy' Danjou
fd2308b95e feat: addn randEuint64() 2024-03-28 14:57:20 +01:00
Clément 'birdy' Danjou
faad51a6ea feat: introduce select in place of cmux 2024-03-08 11:31:53 +01:00
Clément 'birdy' Danjou
d1100432dd refactor: remove config file to use the one exported by fhevmjs 2024-03-08 03:52:29 +01:00
Clément 'birdy' Danjou
756e4e6dae refactor: remove deprecated optReq 2024-03-08 03:34:30 +01:00
Joseph-André Turk
c95296d2b6 fix: updated mocked mode to be compatible with new types 2024-03-05 16:31:16 +01:00
Clément 'birdy' Danjou
4e99252ea8 fix: force bigint for shl/shr 2024-03-01 18:04:38 +01:00
Clément 'birdy' Danjou
d42393ef19 fix: set as bigint all parameters in tests 2024-03-01 17:33:41 +01:00
Clément 'birdy' Danjou
502f15c45d feat: fix test with highest values 2024-03-01 17:05:32 +01:00
Clément 'birdy' Danjou
c0ec02a8e6 fix: change strategy for random number 2024-03-01 14:15:49 +01:00
Clément 'birdy' Danjou
a798189340 fix: add bigint support for inputs 2024-03-01 13:50:03 +01:00
Clément 'birdy' Danjou
117ce9ca2a fix: force bigint for result potentially big 2024-02-29 17:17:28 +01:00
Clément 'birdy' Danjou
c75594016f fix: fix all tests 2024-02-29 16:27:31 +01:00
Clément 'birdy' Danjou
42de399ce9 feat: add generator for overloads and implement 4bits tests 2024-02-29 12:52:59 +01:00
Clément 'birdy' Danjou
9386803f0c fix: convert bool to euint8 for optReq 2024-02-28 20:23:37 +01:00
Clément 'birdy' Danjou
b511101b1b feat: add 4bits 2024-02-28 14:03:52 +01:00
Clément 'birdy' Danjou
71ddad9a77 fix: fix ebool_t 2024-02-28 01:55:48 +01:00
Clément 'birdy' Danjou
31dbeced23 fix: update Lib for new ebool type 2024-02-28 01:37:11 +01:00
Joseph-André Turk
3da0ab9e8a feat: added TFHE.isInitialized function for ebool type
fix: fixed package.json

fix: fixed prettier
2024-02-20 11:42:42 +01:00
Joseph-André Turk
73214c73c5 fix(mocked): removed all warnings from TFHE.sol when compiling in mocked mode
fix(mocked): rerunned prettier in ci mode

removed useless file
2024-02-19 19:46:30 +01:00
Clément 'birdy' Danjou
a342297098 fix: fix value for not euint32 2024-02-09 14:22:03 +01:00
Clément 'birdy' Danjou
dc18f050e0 feat: add 64bits support 2024-02-09 10:04:55 +01:00
Petar Ivanov
fe1e97065e feat: add upper bound for encrypted random integers
Add overloads of TFHE.randEuint() methods that accept an upper bound,
e.g. TFHE.randEuint32(uint32 upperBound). The returned integer will be
in the [0, upperBound) range. Moreover, upperBound must be a power of
2 - that is a design choice for performance reasons.

Note that, as of now, the random numbers are generated in the plain and
are completely public and predictable. An FHE version is coming soon.

Add tests to cover above functionality.
2024-01-09 17:17:40 +02:00
Joseph-André Turk
535b055fc8 Updated Solidity version to ^0.8.20 and OpenZeppelin Contracts to ^5.0.1
updated to ethermint node

updated node dev version

removed parallel flag from hardhat test

reput inband test for ci

setup evm version to Paris to avoid PUSH0 error and updated hardhat version

removed utils.ts.new file

synced package.json and package-lock.json

prettier
2024-01-09 11:05:38 +01:00
Clément 'birdy' Danjou
616f99823b feat() use new cmux 2024-01-08 15:35:51 +01:00
Joseph-André Turk
d711a11d23 Mocked version of TFHE.sol for coverage and faster tests
Mocked version of TFHE.sol for faster tests and coverage

renamed lib_mock to mocks and added documentation

prettier
2024-01-02 14:29:19 +01:00