Skip to content

Commit

Permalink
clarify EE
Browse files Browse the repository at this point in the history
  • Loading branch information
jgcogsystematictrading authored Nov 29, 2023
1 parent 6a04876 commit 29e7955
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ The DAppControl contract has the option to define functions that execute at the
*These functions are executed by the Execution Environment via "delegatecall."

#### Permit69
A user must have an Execution Environment (EE) instance for each DApp they would like to use. Since the EE performs ops via delegateCalls, it needs to be able to initiate token transfers from the user. Users only have to approve the Atlas contract once because Permit69 allows Atlas to transfer funds from the user if the request is from a valid EE. The user address is used as a salt for the create2 deterministic deployment of the EE contract, making it easy for Atlas to verify if the request is coming from an EE owned by that user. Permit69 is also used by DApps, but instead transfers tokens that have accumulated in the DAppControl contract, this function performs the same verification of the EE.
A user must have an Execution Environment (EE) instance for each DApp they would like to use, and the user address is used as a salt for the create2 deterministic deployment of it. If one is not already available, EEs can be deployed during execution of a user order since their deployment address is known beforehand, this gas cost is covered by the solver so UX is never impacted. The EE performs ops via delegateCalls, so it needs to be able to initiate token transfers from the user. Users only have to approve the Atlas contract once because Permit69 allows Atlas to transfer funds from the user if the request is from a valid EE for that user (checked by verifying the user address is one of the salts for the EE address). Permit69 is also used by DApps, but instead transfers tokens that have accumulated in the DAppControl contract, this function performs the same verification of the EE.

### Atlas Frontend / Infrastructure Flow

Expand Down

0 comments on commit 29e7955

Please sign in to comment.