- Renamed examples directory to `_archive` to reflect legacy status. - Updated README.md to reflect current status of vault module, including migration from Sameh's implementation to Lee's. - Temporarily disabled Rhai scripting integration for the vault. - Added notes regarding current and future development steps.
32 lines
976 B
Rust
32 lines
976 B
Rust
//! Ethereum provider functionality.
|
|
|
|
use ethers::prelude::*;
|
|
|
|
use super::networks::{self, NetworkConfig};
|
|
use crate::error::CryptoError;
|
|
|
|
/// Creates a provider for a specific network.
|
|
pub fn create_provider(network: &NetworkConfig) -> Result<Provider<Http>, CryptoError> {
|
|
Provider::<Http>::try_from(network.rpc_url.as_str()).map_err(|e| {
|
|
CryptoError::SerializationError(format!(
|
|
"Failed to create provider for {}: {}",
|
|
network.name, e
|
|
))
|
|
})
|
|
}
|
|
|
|
/// Creates a provider for the Gnosis Chain.
|
|
pub fn create_gnosis_provider() -> Result<Provider<Http>, CryptoError> {
|
|
create_provider(&networks::gnosis())
|
|
}
|
|
|
|
/// Creates a provider for the Peaq network.
|
|
pub fn create_peaq_provider() -> Result<Provider<Http>, CryptoError> {
|
|
create_provider(&networks::peaq())
|
|
}
|
|
|
|
/// Creates a provider for the Agung testnet.
|
|
pub fn create_agung_provider() -> Result<Provider<Http>, CryptoError> {
|
|
create_provider(&networks::agung())
|
|
}
|