Skip to main content

Crate lifiswap_evm

Crate lifiswap_evm 

Source
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 alloy for on-chain interactions.
Permit2Config
Permit2 contract addresses for a chain.

Type Aliases§

PrivateKeySigner
A signer instantiated with a locally stored private key.