It is a rewrite of the eil-sdk(typescript) in rust to enable use of the EIL in rust programs.
A type-safe Rust implementation of the Ethereum Interoperability Layer (EIL) SDK for trustless cross-chain operations on Ethereum L2s.
The EIL SDK enables users to execute complex multi-chain operations with a single signature, abstracting away the complexity of L2 fragmentation. Built with Rust's strong type system and zero-cost abstractions, this SDK provides:
This project is a Rust implementation of the Ethereum Interoperability Layer (EIL) SDK, originally written in TypeScript. The development process involved:
Reference Analysis Phase
The TypeScript reference implementation was thoroughly analyzed from the /home/dmnt/dev/fr/open-source/eil-sdk/ repository. Key files studied included:
The TypeScript codebase provided the architectural blueprint: builder pattern for constructing multi-chain operations, voucher system for cross-chain token transfers via XLPs, ERC-4337 account abstraction for UserOperations, and action-based transaction encoding.
Architecture Translation
The Rust implementation maintains feature parity while leveraging Rust's type system for enhanced safety:
Type-State Pattern: The TypeScript builder's runtime state checks were replaced with compile-time type-states (Building → ReadyToBuild → Signed), preventing invalid operation sequences at compile time.
Trait-Based Abstractions: TypeScript interfaces became Rust traits (Action, MultiChainSmartAccount, SourcePaymaster), using async-trait for async methods and trait objects for runtime polymorphism.
Error Handling: JavaScript exceptions became typed Result<T, EilError> using thiserror, providing exhaustive error handling.
Technical Stack Selection

