This commit is contained in:
@@ -46,9 +46,7 @@ pub mod redisclient;
|
||||
pub mod rhai;
|
||||
pub mod text;
|
||||
pub mod virt;
|
||||
pub mod hero_vault;
|
||||
pub mod rhai;
|
||||
pub mod cmd;
|
||||
pub mod vault;
|
||||
pub mod zinit_client;
|
||||
|
||||
// Version information
|
||||
|
@@ -11,8 +11,8 @@ use tokio::runtime::Runtime;
|
||||
use ethers::types::{Address, U256};
|
||||
use std::str::FromStr;
|
||||
|
||||
use crate::hero_vault::{keypair, symmetric, ethereum};
|
||||
use crate::hero_vault::ethereum::{prepare_function_arguments, convert_token_to_rhai};
|
||||
use crate::vault::{keypair, symmetric, ethereum};
|
||||
use crate::vault::ethereum::{prepare_function_arguments, convert_token_to_rhai};
|
||||
|
||||
// Global Tokio runtime for blocking async operations
|
||||
static RUNTIME: Lazy<Mutex<Runtime>> = Lazy::new(|| {
|
||||
|
@@ -8,7 +8,7 @@ use std::sync::Arc;
|
||||
use std::str::FromStr;
|
||||
use serde::{Serialize, Deserialize};
|
||||
|
||||
use crate::hero_vault::error::CryptoError;
|
||||
use crate::vault::error::CryptoError;
|
||||
use super::wallet::EthereumWallet;
|
||||
use super::networks::NetworkConfig;
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
use ethers::prelude::*;
|
||||
|
||||
use crate::hero_vault::error::CryptoError;
|
||||
use crate::vault::error::CryptoError;
|
||||
use super::networks::{self, NetworkConfig};
|
||||
|
||||
/// Creates a provider for a specific network.
|
@@ -4,7 +4,7 @@ use std::sync::Mutex;
|
||||
use std::collections::HashMap;
|
||||
use once_cell::sync::Lazy;
|
||||
|
||||
use crate::hero_vault::error::CryptoError;
|
||||
use crate::vault::error::CryptoError;
|
||||
use super::wallet::EthereumWallet;
|
||||
use super::networks::{self, NetworkConfig};
|
||||
|
||||
@@ -16,7 +16,7 @@ static ETH_WALLETS: Lazy<Mutex<HashMap<String, Vec<EthereumWallet>>>> = Lazy::ne
|
||||
/// Creates an Ethereum wallet from the currently selected keypair for a specific network.
|
||||
pub fn create_ethereum_wallet_for_network(network: NetworkConfig) -> Result<EthereumWallet, CryptoError> {
|
||||
// Get the currently selected keypair
|
||||
let keypair = crate::hero_vault::keypair::get_selected_keypair()?;
|
||||
let keypair = crate::vault::keypair::get_selected_keypair()?;
|
||||
|
||||
// Create an Ethereum wallet from the keypair
|
||||
let wallet = EthereumWallet::from_keypair(&keypair, network)?;
|
||||
@@ -77,7 +77,7 @@ pub fn clear_ethereum_wallets_for_network(network_name: &str) {
|
||||
/// Creates an Ethereum wallet from a name and the currently selected keypair for a specific network.
|
||||
pub fn create_ethereum_wallet_from_name_for_network(name: &str, network: NetworkConfig) -> Result<EthereumWallet, CryptoError> {
|
||||
// Get the currently selected keypair
|
||||
let keypair = crate::hero_vault::keypair::get_selected_keypair()?;
|
||||
let keypair = crate::vault::keypair::get_selected_keypair()?;
|
||||
|
||||
// Create an Ethereum wallet from the name and keypair
|
||||
let wallet = EthereumWallet::from_name_and_keypair(name, &keypair, network)?;
|
@@ -3,7 +3,7 @@
|
||||
use ethers::types::Address;
|
||||
use std::str::FromStr;
|
||||
|
||||
use crate::hero_vault::ethereum::*;
|
||||
use crate::vault::ethereum::*;
|
||||
|
||||
#[test]
|
||||
fn test_contract_creation() {
|
@@ -3,7 +3,7 @@
|
||||
use ethers::types::Address;
|
||||
use std::str::FromStr;
|
||||
|
||||
use crate::hero_vault::ethereum::*;
|
||||
use crate::vault::ethereum::*;
|
||||
|
||||
#[test]
|
||||
fn test_contract_creation() {
|
@@ -1,6 +1,6 @@
|
||||
//! Tests for Ethereum network functionality.
|
||||
|
||||
use crate::hero_vault::ethereum::*;
|
||||
use crate::vault::ethereum::*;
|
||||
|
||||
#[test]
|
||||
fn test_network_config() {
|
@@ -1,7 +1,7 @@
|
||||
//! Tests for Ethereum transaction functionality.
|
||||
|
||||
use crate::hero_vault::ethereum::*;
|
||||
use crate::hero_vault::keypair::KeyPair;
|
||||
use crate::vault::ethereum::*;
|
||||
use crate::vault::keypair::KeyPair;
|
||||
use ethers::types::U256;
|
||||
use std::str::FromStr;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
//! Tests for Ethereum wallet functionality.
|
||||
|
||||
use crate::hero_vault::ethereum::*;
|
||||
use crate::hero_vault::keypair::KeyPair;
|
||||
use crate::vault::ethereum::*;
|
||||
use crate::vault::keypair::KeyPair;
|
||||
use ethers::utils::hex;
|
||||
|
||||
#[test]
|
||||
@@ -64,8 +64,8 @@ fn test_wallet_management() {
|
||||
clear_ethereum_wallets();
|
||||
|
||||
// Create a key space and keypair
|
||||
crate::hero_vault::keypair::create_space("test_space").unwrap();
|
||||
crate::hero_vault::keypair::create_keypair("test_keypair3").unwrap();
|
||||
crate::vault::keypair::create_space("test_space").unwrap();
|
||||
crate::vault::keypair::create_keypair("test_keypair3").unwrap();
|
||||
|
||||
// Create wallets for different networks
|
||||
let gnosis_wallet = create_ethereum_wallet_for_network(networks::gnosis()).unwrap();
|
@@ -2,7 +2,7 @@
|
||||
|
||||
use ethers::prelude::*;
|
||||
|
||||
use crate::hero_vault::error::CryptoError;
|
||||
use crate::vault::error::CryptoError;
|
||||
use super::wallet::EthereumWallet;
|
||||
use super::networks::NetworkConfig;
|
||||
|
@@ -7,8 +7,8 @@ use k256::ecdsa::SigningKey;
|
||||
use std::str::FromStr;
|
||||
use sha2::{Sha256, Digest};
|
||||
|
||||
use crate::hero_vault::error::CryptoError;
|
||||
use crate::hero_vault::keypair::KeyPair;
|
||||
use crate::vault::error::CryptoError;
|
||||
use crate::vault::keypair::KeyPair;
|
||||
use super::networks::NetworkConfig;
|
||||
|
||||
/// An Ethereum wallet derived from a keypair.
|
@@ -8,7 +8,7 @@ use once_cell::sync::Lazy;
|
||||
use std::sync::Mutex;
|
||||
use sha2::{Sha256, Digest};
|
||||
|
||||
use crate::hero_vault::error::CryptoError;
|
||||
use crate::vault::error::CryptoError;
|
||||
|
||||
/// A keypair for signing and verifying messages.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
@@ -226,7 +226,7 @@ impl KeyPair {
|
||||
};
|
||||
|
||||
// Encrypt the message using the derived key
|
||||
let ciphertext = crate::hero_vault::symmetric::encrypt_with_key(&shared_secret, message)
|
||||
let ciphertext = crate::vault::symmetric::encrypt_with_key(&shared_secret, message)
|
||||
.map_err(|e| CryptoError::EncryptionFailed(e.to_string()))?;
|
||||
|
||||
// Format: ephemeral_public_key || ciphertext
|
||||
@@ -263,7 +263,7 @@ impl KeyPair {
|
||||
};
|
||||
|
||||
// Decrypt the message using the derived key
|
||||
crate::hero_vault::symmetric::decrypt_with_key(&shared_secret, actual_ciphertext)
|
||||
crate::vault::symmetric::decrypt_with_key(&shared_secret, actual_ciphertext)
|
||||
.map_err(|e| CryptoError::DecryptionFailed(e.to_string()))
|
||||
}
|
||||
}
|
@@ -45,18 +45,18 @@ impl From<serde_json::Error> for KvsError {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<KvsError> for crate::hero_vault::error::CryptoError {
|
||||
impl From<KvsError> for crate::vault::error::CryptoError {
|
||||
fn from(err: KvsError) -> Self {
|
||||
crate::hero_vault::error::CryptoError::SerializationError(err.to_string())
|
||||
crate::vault::error::CryptoError::SerializationError(err.to_string())
|
||||
}
|
||||
}
|
||||
|
||||
impl From<crate::hero_vault::error::CryptoError> for KvsError {
|
||||
fn from(err: crate::hero_vault::error::CryptoError) -> Self {
|
||||
impl From<crate::vault::error::CryptoError> for KvsError {
|
||||
fn from(err: crate::vault::error::CryptoError) -> Self {
|
||||
match err {
|
||||
crate::hero_vault::error::CryptoError::EncryptionFailed(msg) => KvsError::Encryption(msg),
|
||||
crate::hero_vault::error::CryptoError::DecryptionFailed(msg) => KvsError::Decryption(msg),
|
||||
crate::hero_vault::error::CryptoError::SerializationError(msg) => KvsError::Serialization(msg),
|
||||
crate::vault::error::CryptoError::EncryptionFailed(msg) => KvsError::Encryption(msg),
|
||||
crate::vault::error::CryptoError::DecryptionFailed(msg) => KvsError::Decryption(msg),
|
||||
crate::vault::error::CryptoError::SerializationError(msg) => KvsError::Serialization(msg),
|
||||
_ => KvsError::Other(err.to_string()),
|
||||
}
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
//! Implementation of a simple key-value store using the filesystem.
|
||||
|
||||
use crate::hero_vault::kvs::error::{KvsError, Result};
|
||||
use crate::hero_vault::symmetric;
|
||||
use crate::vault::kvs::error::{KvsError, Result};
|
||||
use crate::vault::symmetric;
|
||||
use serde::{de::DeserializeOwned, Deserialize, Serialize};
|
||||
use std::collections::HashMap;
|
||||
use std::fs;
|
@@ -6,8 +6,8 @@ use rand::{rngs::OsRng, RngCore};
|
||||
use serde::{Serialize, Deserialize};
|
||||
use sha2::{Sha256, Digest};
|
||||
|
||||
use crate::hero_vault::error::CryptoError;
|
||||
use crate::hero_vault::keypair::KeySpace;
|
||||
use crate::vault::error::CryptoError;
|
||||
use crate::vault::keypair::KeySpace;
|
||||
|
||||
/// The size of the nonce in bytes.
|
||||
const NONCE_SIZE: usize = 12;
|
Reference in New Issue
Block a user