pub mod bls;
pub mod ecdsa;
pub mod error;
#[cfg(feature = "config")]
pub mod storage;
#[cfg(all(feature = "config", feature = "signing"))]
use crate::{
config::key::{BlsKey, EcdsaKey},
keys::{
bls::{load_bls_key_from_keystore, load_operator_bls_key},
ecdsa::{load_ecdsa_key_from_keystore, load_operator_ecdsa_key},
error::KeyResult,
storage::{ensure_keys_directory, get_bls_key_path, get_ecdsa_key_path},
},
};
#[cfg(feature = "signing")]
use alloy_signer_local::PrivateKeySigner;
#[cfg(feature = "eigen")]
use newton_crypto_bls::BlsKeyPair;
#[cfg(all(feature = "config", feature = "signing"))]
pub fn load_ecdsa(ecdsa_key: &EcdsaKey) -> KeyResult<PrivateKeySigner> {
if let Some(private_key) = ecdsa_key.private_key.as_ref() {
load_operator_ecdsa_key(private_key)
} else {
load_ecdsa_key_from_keystore(
ecdsa_key.keystore_path.as_ref().unwrap(),
ecdsa_key.keystore_password.as_ref().unwrap(),
)
}
}
#[cfg(all(feature = "config", feature = "eigen"))]
pub fn load_bls(bls_key: &BlsKey) -> KeyResult<BlsKeyPair> {
if let Some(private_key) = bls_key.private_key.as_ref() {
load_operator_bls_key(private_key)
} else {
load_bls_key_from_keystore(
bls_key.keystore_path.as_ref().unwrap(),
bls_key.keystore_password.as_ref().unwrap(),
)
}
}