sal-vault 0.1.0

SAL Vault - Cryptographic functionality including key management, digital signatures, symmetric encryption, Ethereum wallets, and encrypted key-value store
Documentation
//! Ethereum wallet functionality
//!
//! This module provides functionality for creating and managing Ethereum wallets
//! and interacting with smart contracts on EVM-based blockchains.
//!
//! The module is organized into several components:
//! - `wallet.rs`: Core Ethereum wallet implementation
//! - `networks.rs`: Network registry and configuration
//! - `provider.rs`: Provider creation and management
//! - `transaction.rs`: Transaction-related functionality
//! - `storage.rs`: Wallet storage functionality
//! - `contract.rs`: Smart contract interaction functionality

mod contract;
pub mod contract_utils;
pub mod networks;
mod provider;
mod storage;
mod transaction;
mod wallet;
// Re-export public types and functions
pub use networks::NetworkConfig;
pub use wallet::EthereumWallet;

// Re-export wallet creation functions
pub use storage::{
    create_agung_wallet, create_ethereum_wallet_for_network, create_ethereum_wallet_from_name,
    create_ethereum_wallet_from_name_for_network, create_ethereum_wallet_from_private_key,
    create_ethereum_wallet_from_private_key_for_network, create_peaq_wallet,
};

// Re-export wallet management functions
pub use storage::{
    clear_ethereum_wallets, clear_ethereum_wallets_for_network, get_current_agung_wallet,
    get_current_ethereum_wallet_for_network, get_current_peaq_wallet,
};

// Re-export provider functions
pub use provider::{
    create_agung_provider, create_gnosis_provider, create_peaq_provider, create_provider,
};

// Re-export transaction functions
pub use transaction::{format_balance, get_balance, send_eth};

// Re-export network registry functions
pub use networks::{
    get_all_networks, get_network_by_name, get_proper_network_name, list_network_names, names,
};

// Re-export contract functions
pub use contract::{
    call_read_function, call_write_function, estimate_gas, load_abi_from_json, Contract,
};

// Re-export contract utility functions
pub use contract_utils::{
    convert_rhai_to_token, convert_token_to_rhai, prepare_function_arguments, token_to_dynamic,
};