固定されたツイート

I finally solved the "dust balances spread across chains I don't use anymore" UI dilemma, all thanks to EIP-7702, Claude Code and Codex
Let me explain in user-friendly terms
How did I do this?
I created a tool (that I named ZeroDust) to allow for transfers of ones 100% balance without leaving any small amounts behind
How is this possible?
Only possible thanks to EIP-7702, so this feature can be done on any chain that supports it (no reason for every chain to implement EIP-7702)
Why EIP-7702?
In simple terms, it allows for an external address to perform transactions on your behalf.
I created a smart contract that lets you sweep your balance from chains or addresses you no longer use to another destination. The contract ensures a sponsor pays for gas for the transaction so that you can transfer 100% of the amount.
The smart contract is still pending audit, so keep that in mind.
for the full flow, I set up a sponsor that handles everything. the sponsor pays for gas, but it does so by charging you its cost so that it doesn't lose money by sponsoring these transactions
so for example, if you transfer 0.0001 ETH and the current gas costs equal to roughly 0.000001 ETH, the sponsor will charge you 0.000001 ETH + 20% buffer to ensure the transaction goes through and in cases there are any spikes in gas between quoting and execution
on top of this, I placed a "Service fee" for the tool, which charges 5% of total transferred with min cap $0.05 and max cap $0.50
The full flow would be:
- User wants to transfer 0.001 ETH ($3 in this example) from Scroll to Base (cross-chain all possible thanks to @gasdotzip)
- System (the sponsor) simulates the transaction, then provides estimates of costs: (The service fee and the network costs)
- Total fees: 0.000056 ETH ($0.17 = $0.15 of service fee and $0.02 of network costs)
so you would receive on the destination 0.000944 ETH
- The goal of all this is that your balance on source is effectively 0
The only hurdle for this tool being fully live
No wallet currently supports the address signing that allows for this interaction, why? because in practice, its risky; you are allowing someone else to move all your balance.
That's why I forked @Rabby_io and implemented the necessary infrastructure into the wallet to test this full flow, and it worked.
transaction hashes of 1 cross chain sweep I did:
source: explorer.mode.network/tx/0x197b59ab4…
destination: basescan.org/tx/0xa336c4198…
I made a PR in Rabby's GitHub with the changes, it would be great if it received some attention
github.com/RabbyHub/Rabby…
All feedback regarding this is greatly appreciated!!


English





















