feat: Add basic project structure and initial crates
- Added basic project structure with workspace and crates: `kvstore`, `vault`, `evm_client`, `cli_app`, `web_app`. - Created initial `Cargo.toml` files for each crate. - Added placeholder implementations for key components. - Included initial documentation files (`README.md`, architecture docs, repo structure). - Included initial implementaion for kvstore crate(async API, backend abstraction, separation of concerns, WASM/native support, testability) - Included native and browser tests for the kvstore crate
This commit is contained in:
13
evm_client/Cargo.toml
Normal file
13
evm_client/Cargo.toml
Normal file
@@ -0,0 +1,13 @@
|
||||
[package]
|
||||
name = "evm_client"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[lib]
|
||||
path = "src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
vault = { path = "../vault" }
|
||||
async-trait = "0.1"
|
||||
alloy = "0.6"
|
||||
thiserror = "1"
|
23
evm_client/src/lib.rs
Normal file
23
evm_client/src/lib.rs
Normal file
@@ -0,0 +1,23 @@
|
||||
//! evm_client: EVM RPC client and integration
|
||||
|
||||
|
||||
|
||||
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
pub enum EvmError {
|
||||
#[error("RPC error: {0}")]
|
||||
Rpc(String),
|
||||
#[error("Vault error: {0}")]
|
||||
Vault(String),
|
||||
}
|
||||
|
||||
pub struct EvmClient {
|
||||
// ... fields for RPC, vault, etc.
|
||||
}
|
||||
|
||||
impl EvmClient {
|
||||
pub async fn connect(_rpc_url: &str) -> Result<Self, EvmError> {
|
||||
todo!("Implement connect")
|
||||
}
|
||||
// ... other API stubs
|
||||
}
|
Reference in New Issue
Block a user