
Not1inch
Cross-chain swap between EVM & Sui using 1inch Fusion+ and intent-based atomic swaps.
Demo
About
This project is a technical extension of the **1inch Fusion+ intent-based protocol**, designed to enable **secure, decentralized, and composable cross-chain atomic swaps** between **EVM-compatible chains** and the **Sui blockchain**. On the **EVM side**, it integrates directly with the **1inch Limit Order Protocol**, utilizing its existing **resolver and settlement infrastructure** to ensure **trustless and gas-efficient** execution of intents. On the **Sui side**, we have engineered a **parallel implementation from scratch** in **Sui Move**, adhering closely to the design principles and flow described in the **1inch Fusion+ whitepaper**. This includes support for **competitive Dutch auctions**, **Merkle Tree–based partial fills**, and a highly granular **HTLC model** with multiple independent **timelock phases**. To manage escrow lifecycles, we use an **EscrowFactory** contract to deterministically deploy **EscrowSrc** and **EscrowDst** proxies on the respective chains. This ensures consistent address computation, gas efficiency, and compatibility with resolver-based execution logic. By leveraging **Hashed Timelock Contracts** on both chains, the system guarantees **atomicity**—either both parties reveal the **preimage** and finalize the trade, or funds are safely **refunded**. The protocol introduces a **resolver competition model**, where resolvers commit to filling orders at **decreasing prices** determined by **auction tick logic**. Fragmented orders are supported via **Merkle root commitments**, allowing multiple resolvers to claim distinct portions. To further harden execution, resolvers are required to stake **safety deposits**, which are **slashed and redistributed** in the event of abandonment or failure, incentivizing consistent behavior. This architecture establishes a **modular and secure foundation for cross-chain liquidity**, maintaining alignment with **1inch’s trust-minimized model** while extending it to the **Move ecosystem** with full **technical fidelity**. For detailed explanation Checkout the Readme.md file
How it's made
The project combines the **1inch Limit Order Protocol** on EVM with a **custom Sui Move implementation** designed to replicate the Fusion+ behavior described in the official whitepaper. At the heart of the system lies a **bidder-resolver architecture** where resolvers participate in a **Dutch auction**, competing to fill orders at decreasing prices as time progresses. Orders can either be filled fully or partially, with **Merkle Tree–based secret segmentation** allowing each partial fill to be cryptographically verified and uniquely associated with its resolver. This logic is managed via a `PartialOrder` object, which tracks the `merkle_root`, a `filled_parts_bitmap`, and individual resolver fill parameters such as `target_secret_hash`, `expected_secret_index`, and corresponding `merkle_proof`. On the EVM side, **order signing, announcement, and resolver logic** are handled by existing 1inch infrastructure, making use of off-chain orderbooks and signed messages verified on-chain. On the Sui side, we implemented matching logic using **Sui Move smart contracts** in the `sui_htlc_contract::htlc` module. Resolvers submit bids using `fill_order_partial`, triggering the on-chain construction of a **HashedTimelockEscrow object**. This escrow enforces strict **multi-phase timelocks**: starting with a **finality lock**, followed by a **resolver-exclusive unlock**, then a **public unlock**, and finally cascading **cancellation windows** that allow recovery of funds in case of failure or abandonment. Each escrow can be claimed only if the correct **preimage (secret)** is revealed, ensuring trustless atomicity across chains. The timelock structure is carefully designed to incentivize good behavior: resolvers are required to stake **safety deposits**, which can be slashed and redistributed during the **public cancellation incentive** phase if they fail to fulfill obligations. This mechanism is visible in the HTLC state flow diagram, where every phase — from resolver unlock to maker final cancellation — is gated by strict time-based checks and state transitions. All cross-chain interactions are coordinated off-chain via relayers, which monitor on-chain events (like `order announced`, `htlc escrow created`, or `secret revealed`) and propagate corresponding actions to the opposite chain. For example, in a **SUI → EVM** swap, the user signs and announces the order on Sui, a resolver fills it and locks funds on EVM, and the secret is eventually shared to unlock funds on both chains. The **reverse flow (EVM → SUI)** follows the same structure with contracts mirrored between chains. We also implemented a high-fidelity **simulation and test suite** using **TypeScript**, **pnpm**, **Jest**, and **Foundry**, covering both standard and partial swap flows. Custom helper functions replicate on-chain logic (like `calculateExpectedSecretIndex`) in JS to ensure off-chain actions match the contract’s expectations. Interaction with Sui is handled via the **Mysten Labs Sui SDK**, with all transactions built using the native `TransactionBlock` API and signed via **Ed25519 keypairs**. Overall, the architecture faithfully mirrors the trustless, intent-based swap model defined by Fusion+, while introducing original extensions to handle Merkle-based fills, multi-stage recovery, and cross-chain resolver incentives within the Move smart contract paradigm.