For users that have an open position, or any deployed assets on a DSProxy via DeFi Saver, there existed certain hurdles that prevented an optimal UX.
For example, If a DSProxy wallet was eligible for claims, we would need to create custom claim options. Being locked out of an airdrop and having to wait for a custom-tailored option is not the kind of experience we'd like users to go through.
That's why we joined forces with apoorveth, and built a feature on Swiss Knife that lets DSProxy owners connect to any third-party dApp and perform wanted transactions as if it were an EOA wallet.
This will take you to a new page, where you'll first need to connect your DSProxy account by clicking the "Connect" button:
The tool will automatically detect the Chain you're currently on - However you can also change it from the dropdown menu.
After that, you'd need to enter your DSProxy address. If you enter an invalid one, our tool will notify you.
Please keep in mind that the "DSProxy Contract Address" is not the same as the address of the EOA wallet that owns the DSProxy - To find the address of the DSProxy, please:
1. Visit DeFi Saver
2. Connect with your EOA wallet
3. Click on the wallet dropdown menu
4. Click on the DSProxy address to copy it to your clipboard:
The Executor Contract Address is the address of a smart contract that contains the logic for actions your DSProxy will execute on behalf of a dApp.
Here's the list of contracts based on the chain:
- Ethereum Mainnet - 0x538eda025a8be6ff8fc1fe6050ba3aafb7620608
- Arbitrum - 0x15e98867e2df679445e4bb90f108ad2928d14397
- Optimism - 0xfd5ac928aac40d490bcf1a83038d58aa90ea39a7
- Base - 0x232c43c354dbebb75c1ed0d9a3fddde5d630e335
The Swiss Knife tool will automatically set the Executor Contract Address based on your selected Chain.
Once that's done - visit the dApp you want to interact with. From there, get the WalletConnect code:
You can then navigate back to the Swiss Knife tool, and under the "Connect to dApp" section, enter the WalletConnect code and press "Connect":
Once successful, you'll see an active session pop-up underneath, along with the specific app you're connected to.
Now, you can visit the dApp you'd like to use (in this case, Aave) and perform any action you'd like.
In this example, we'll withdraw ETH on Aave v3 Arbitrum:
Once you approve the transaction, we'll first need to approve the Executor Contract Address on the Swiss Knife app:
Once it's approved, we can initiate the withdrawal transaction:
This will prompt one more approval on the Swiss Knife tool:
Once that's approved, the withdrawal will be a success:
And that wraps up all of the steps required to get your DSProxy to behave like an EOA on any third-party dApp you'd like.