lifiswap_svm/lib.rs
1//! `LiFi` SDK - Solana chain provider.
2//!
3//! This crate provides a Solana-specific implementation of the
4//! [`lifiswap::provider::Provider`] trait, using
5//! [`solana-sdk`](https://docs.rs/solana-sdk) for on-chain interactions.
6//!
7//! # Example
8//!
9//! ```ignore
10//! use lifiswap::{LiFiClient, LiFiConfig};
11//! use lifiswap_svm::{SvmProvider, KeypairSigner};
12//! use solana_sdk::signature::Keypair;
13//!
14//! let keypair = Keypair::new();
15//! let signer = KeypairSigner::new(keypair);
16//! let rpc_url: url::Url = "https://api.mainnet-beta.solana.com".parse().unwrap();
17//! let provider = SvmProvider::new(signer, rpc_url);
18//!
19//! let client = LiFiClient::new(LiFiConfig::builder().integrator("my-app").build())?;
20//! client.add_provider(Box::new(provider));
21//! ```
22
23mod errors;
24mod executor;
25pub mod jito;
26mod provider;
27pub mod rpc;
28pub mod signer;
29mod tasks;
30
31pub use jito::JitoClient;
32pub use provider::SvmProvider;
33pub use signer::{KeypairSigner, SvmSigner};