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
synced with main
fixed transferFrom bug and error reporting
transfer test not passing yet
improved EncryptedERC20 features
removed error handling from EncryptedERC20