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:
		
							
								
								
									
										15
									
								
								vault/Cargo.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								vault/Cargo.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| [package] | ||||
| name = "vault" | ||||
| version = "0.1.0" | ||||
| edition = "2021" | ||||
|  | ||||
| [lib] | ||||
| path = "src/lib.rs" | ||||
|  | ||||
| [dependencies] | ||||
| kvstore = { path = "../kvstore" } | ||||
| async-trait = "0.1" | ||||
| chacha20poly1305 = "0.10" | ||||
| k256 = "0.13" | ||||
| rand_core = "0.6" | ||||
| thiserror = "1" | ||||
							
								
								
									
										27
									
								
								vault/src/lib.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								vault/src/lib.rs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| //! vault: Cryptographic keyspace and operations | ||||
|  | ||||
|  | ||||
| use kvstore::KVStore; | ||||
|  | ||||
| #[derive(Debug, thiserror::Error)] | ||||
| pub enum VaultError { | ||||
|     #[error("Storage error: {0}")] | ||||
|     Storage(String), | ||||
|     #[error("Crypto error: {0}")] | ||||
|     Crypto(String), | ||||
|     #[error("Unauthorized")] | ||||
|     Unauthorized, | ||||
| } | ||||
|  | ||||
| pub struct Vault<S: KVStore + Send + Sync> { | ||||
|     storage: S, | ||||
|     // ... other fields | ||||
| } | ||||
|  | ||||
| impl<S: KVStore + Send + Sync> Vault<S> { | ||||
|     /// Creates a new keyspace. Implementation pending. | ||||
|     pub async fn create_keyspace(_dummy: ()) -> Result<(), VaultError> { | ||||
|         todo!("Implement create_keyspace") | ||||
|     } | ||||
|     // ... other API stubs | ||||
| } | ||||
		Reference in New Issue
	
	Block a user