NOTE: This is fork of ethers-ccip-read implemented for alloy-rs crate
cargo add alloy-ccip-reador alternatively add it to your Cargo.toml file:
alloy-ccip-read = "0.3"use alloy::providers::ProviderBuilder;
use alloy_ccip_read::CCIPReader;
#[tokio::main]
async fn main() -> Result<()> {
let rpc = "https://your.web3.provider";
let provider = ProviderBuilder::new().connect_http(rpc.parse().unwrap());
let reader = CCIPReader::new(provider);
let ens_name = "1.offchainexample.eth";
let resolver_address = reader.get_resolver(ens_name).await.unwrap();
println!("resolver_address: {:?}", resolver_address);
let supports_wildcard = reader.supports_wildcard(resolver_address).await.unwrap();
println!("supports_wildcard: {:?}", supports_wildcard);
let resolved_address = reader.resolve_name(ens_name).await.unwrap();
println!("resolved_address: {:?}", resolved_address);
Ok(())
}For more examples, check out the examples directory
Releases are automated with release-plz:
- Merge PRs using Conventional Commits (
feat:→ minor,fix:→ patch,feat!:/BREAKING:→ major). - release-plz opens or updates a Release PR (version bump in
Cargo.toml+CHANGELOG.md). - Merge the Release PR → CI tags the release and runs
cargo publishto crates.io.