Unified agent wallet / Wallet Provider
Right now, each wallet is a separate provider, the providers are stacked but this creates some issues -- for example, how do you provide a bunch of different EVM chains? The "switch chains" paradigm sucks.
First, we could make the EVM wallet multi-chain. But more broadly, the agent should have a single wallet and a wallet abstraction, and probably event hooks for providing data and getting data from many different wallets.
We should think about wallets and how we manage plugin dependencies.
https://vitalik.eth.limo/general/2024/12/03/wallets.html
I can work on this.
I think the most important goal is to get rid of currentChain, switchChain, getWallet, and make methods like evmWalletProvider, getWalletBalance return multi-chain data.
Is this a good way to start @lalalune?