DeFi Saver
Proxy Auth
This contract receives the user's DSProxy permission to perform actions on their behalf.
Each user in the system has their positions managed by a DSProxy, permitting other contracts to perform actions on their behalf. In DeFi Saver the ProxyAuth contract receives that permission.
Due to having permission for users' proxies, ProxyAuth is an immutable contract.
The ProxyAuth has only one function callExecute which is only callable by the StrategyExecutor contract. The function calls the users DSProxy and performs the configured actions. This allows for the rest of the system to change while keeping the proxy permission in a fixed contract.
Below is the interface of the contract:
contract ProxyAuth {
function callExecute(
address _proxyAddr,
address _contractAddr,
bytes memory _callData
) public payable onlyExecutor;
Copy link