Cupcakes
Cross Chain Ecosystem - A Piece of Cake. Now every developer can create zaps to execute multiple transactions for their users with a few clicks.
About
The problem it solves ### Cross Chain Ecosystem - A Piece of Cake --- ### Use case 1 Let's say you have to mint an **NFT on Optimism** but only have **USDT on Polygon.** Ah the age old hassle of cross chain investments and transactions start to scare you. _"Do I have Matic on Polygon? Do I have gas on Polygon? How do I bridge my swapped WETH from Polygon to Optimism? Do I sign another tx on Optimism now? Argh."_ Cue entry, CupCakes Project. **Define a tx path, sign a few messages** and let **CupCake bundle txs on Polygon, relay them to Optimism** and wait for your sweet NFT while you get a cup cake ### Use case 2 Let's say you want to **invest in Beefy Finance on Polygon** but you have **only USDT on Optimism**. Steps using CupCakes - 1. **Define a path** in CupCakes to _swap USDT to WMATIC_, _bridge WMATIC to Polygon_, _Stake half of the WMATIC_ and then provide _xMATIC and MATIC liquidity_ on Beefy. 2. **Sign the tx data** for this path and wait as **CupCakes Smart Contract Wallet** executes a **meta tx** and then relays the cross chain part of the tx using [Router CrossTalk SDK](https://www.npmjs.com/package/@routerprotocol/router-crosstalk) and also executes the remaining part of the tx. ## ## Solution We allow people to create modules which can be then clubbed together by users or developers to create ZAPs. An example of a ZAP is shown below:  In the photo above, we have created a zap which connects three modules, Swap module, Strader module, & Beefy module. ### How? Read more about how we do it at https://github.com/unfold-22/unfold-ui/blob/main/README.md
How it's made
Challenges we ran into EIP-4337 is fairly new & lacks documentation. There is no support for newly added RPC eth_sendUserOperation & no client library which makes things easier for developers. We had to run a custom relayer which would supports the missing functionalities. Along with that we have also created a library that allows user to now send user operations to blockchain with a few lines.