Infinity enables seamless crosschain swaps that guarantee the most optimal trade ratio to the end user by enabling a dutch-auction system to fullfill orders.
Infinity enables users to find most optimal swaps across chains whilst providing a simple UX to the end user.
A user can define his intent to swap as follows, "I want 10 LINK tokens on Scroll, use a maximum of 10 USDT, 10 USDC and 0.05 WETH from BASE and fulfill it within 10 seconds"
This data get serialized and the input tokens are locked in a contract to initiate a dutch-aution on scroll where solvers lock tokens to provide the best valued trade. Once the user-specified time period ends, the input tokens get released to the auction winner and output tokens get released to the user.
Creating a competition among solvers to provide the best possible price ensures that the user is getting the most optimal trade.
Links
I ran into trouble getting safe to work with react, and also with getting it working on multiple chains that infinity protocol is deployed on.
Faced trouble with chainlink CCIP having incomaptible versions across the ccip library and the deployed contracts. Had to setup a mock relayer to mock chainlink functionality for chains it is not deployed on.