sal/src/vault/ethereum/mod.rs
despiegk 9f263b6ec4 Merge branch 'main' into development_hero_vault
* main:
  restore
  tests & fixes in kvs & keypair
  feat: Add comprehensive test suite for Keypair module
  refactor: Improve Rhai test runner and vault module code
  ...
  ...
  ...
  feat: Enhance documentation and add .gitignore entries
  working example to showcase zinit usage in Rhai scripts
  implemented zinit-client for integration with Rhai-scripts
2025-05-13 07:00:25 +03:00

95 lines
2.4 KiB
Rust

//! 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 wallet;
mod provider;
mod transaction;
mod storage;
mod contract;
pub mod contract_utils;
pub mod networks;
// Re-export public types and functions
pub use wallet::EthereumWallet;
pub use networks::NetworkConfig;
// Re-export wallet creation functions
pub use storage::{
create_ethereum_wallet,
create_ethereum_wallet_from_name,
create_ethereum_wallet_from_private_key,
// Legacy functions for backward compatibility
create_ethereum_wallet_for_network,
create_peaq_wallet,
create_agung_wallet,
create_ethereum_wallet_from_name_for_network,
create_ethereum_wallet_from_private_key_for_network,
};
// Re-export wallet management functions
pub use storage::{
get_current_ethereum_wallet,
clear_ethereum_wallets,
// Legacy functions for backward compatibility
get_current_ethereum_wallet_for_network,
get_current_peaq_wallet,
get_current_agung_wallet,
clear_ethereum_wallets_for_network,
};
// Re-export provider functions
pub use provider::{
create_provider,
create_provider_from_config,
// Legacy functions for backward compatibility
create_gnosis_provider,
create_peaq_provider,
create_agung_provider,
};
// Re-export transaction functions
pub use transaction::{
get_balance,
get_balance_with_provider,
send_eth,
send_eth_with_provider,
format_balance,
};
// Re-export network registry functions
pub use networks::{
register_network,
remove_network,
get_network_by_name,
get_proper_network_name,
list_network_names,
get_all_networks,
names,
};
// Re-export contract functions
pub use contract::{
Contract,
load_abi_from_json,
call_read_function,
call_write_function,
estimate_gas,
};
// Re-export contract utility functions
pub use contract_utils::{
convert_rhai_to_token,
prepare_function_arguments,
convert_token_to_rhai,
token_to_dynamic,
};