Fully programmable access control over encrypted data
e.allow
function.
This will grant the address permanent access to seeing, publicly decrypting and computing over the ciphertext.
e.allowThis(value)
is an alias for e.allow(value, address(this))
.
A common mistake is to forget to call allowThis
on a variable after updating it.
This will result in the contract being unable to compute over the variable in future transactions.
e.allowThis
after updating a variable, if this variable will be used in your contract again.e.transientAllow
is not yet available in the SDK, but coming very soon.e.add
are transiently allowed to be decrypted by the contract who called the operation.
That is why contracts can perform back to back operations using results of previous operations.
But since this allowance is transient, calling e.allowThis
is necessary to allow the contract to compute over the result in future transactions.