# Cross-Chain Swap Design For Hop Protocol Hop protocol doesn't support cross-chain callData, hence we need to connect the swap after cross-chain token transfer. For example, users want to swap 10 UNI to QUICK on Polygon. Steps are: 1. Swap 10 UNI to 300 USDC on ETH thru Swing aggregator contract 2. Send 300 USDC to Polygon thru Hop bridge 3. Hop deposits 300 USDC to user's wallet on Polygon. Hop contract will emit event after deposit 4. Swing frontend will monitor the event emitted by Hop contract. It will 4a. Asking user to approve our contract to use 300 USDC 4b. Swap 300 USDC to QUICK __Hop events we need to monitor__ Going L1 -> L2, you should look for event TransferSentToL2. Going L2 -> L2 or L2 -> L1, you should look for event WithdrawalBonded L1 = ETH; L2 = Optimism, Arbitrum or Polygon ____ __Hop Contract__ https://github.com/hop-protocol/contracts __Hop Contract addresses__ https://github.com/hop-protocol/hop/blob/develop/packages/core/src/addresses/mainnet.ts ____ Assignments: 1. Chuqiao will implement steps 1 and 2. 2. David will be working on step 3 and 4.