Move any token to any chain, even if its not supported natively on the destination chain
I've made some tweaks to the ERC20 implementation, while still keeping it compliant with the spec. It is easy to implement for other defi projects, so say you are on optimism, but want to support a specific memecoin from base for your defi protocol, now you can!
I informally call these tokens HFTs, Hyper Fungible Tokens, because only one erc20 contract will reflect multiple different tokens on multiple different chains. The tokens are separated through some added mappings https://github.com/jacksmithinsulander/HyperFungible/blob/bea6e2238d94689b4c2c41b689741ca2de056c69/src/HyperFungible.sol#L29 which gets updated on each transaction and mint
Unfortunatly I've had a really busy week so didn't have much time for hacking, So it is very much unfinnished, but I wanted to apply anyway
The bridging is made with ccip, and the Idea was to deploy some chiliz fan tokens to showcase a hyperfying them to multiple chains, but I didnt get this far.
I had a lot of ideas to also make it work with l0 in order to support more networks.
For particuarly hacky fun stuff i think the mappings https://github.com/jacksmithinsulander/HyperFungible/blob/bea6e2238d94689b4c2c41b689741ca2de056c69/src/HyperFungible.sol#L29 and the decoding navigation https://github.com/jacksmithinsulander/HyperFungible/blob/bea6e2238d94689b4c2c41b689741ca2de056c69/src/HyperFungible.sol#L102is pretty fun