Expand description
LiFi SDK - EVM chain provider (alloy-based).
This crate provides an EVM-specific implementation of the lifiswap::provider::Provider
trait, using alloy for on-chain interactions.
§Example
ⓘ
use lifiswap::{LiFiClient, LiFiConfig};
use lifiswap::execution::execute_route;
use lifiswap_evm::{EvmProvider, LocalSigner};
use alloy::signers::local::PrivateKeySigner;
let key: PrivateKeySigner = "0xac0974...".parse().unwrap();
let rpc_url: url::Url = "https://eth.llamarpc.com".parse().unwrap();
let signer = LocalSigner::new(key, rpc_url.clone());
let provider = EvmProvider::new(signer, rpc_url);
let client = LiFiClient::new(LiFiConfig::builder().integrator("my-app").build())?;
let route = client.get_routes(&req).await?.routes.remove(0);
let result = execute_route(&client, route, &[Box::new(provider)], Default::default()).await?;Re-exports§
pub use rpc::RpcUrlResolver;pub use rpc::StaticRpcUrls;pub use signer::BatchCall;pub use signer::BatchCallReceipt;pub use signer::EvmSigner;pub use signer::LocalSigner;
Modules§
- permit2
- Permit2 support for gasless token approvals.
- rpc
- RPC URL resolution for multi-chain support.
- signer
- EVM signer abstraction for transaction signing and broadcasting.
Structs§
- EvmProvider
- EVM chain provider using
alloyfor on-chain interactions. - Permit2
Config - Permit2 contract addresses for a chain.
Type Aliases§
- Private
KeySigner - A signer instantiated with a locally stored private key.