This commit is contained in:
victor 2025-09-05 11:36:49 +02:00
parent 954a7219b0
commit 5b9834519d

View File

@ -38,21 +38,34 @@ fn verify_message(
} }
impl Wallet { impl Wallet {
pub fn verifying_key_to_address(private_key: &SigningKey) -> Address {
let public_key = private_key.verifying_key();
let public_key_bytes = public_key.to_encoded_point(false);
let public_key_bytes = public_key_bytes.as_bytes();
let hash = Keccak256::digest(&public_key_bytes[1..]);
let mut address: Address;
address.copy_from_slice(&hash[12..]);
address
}
pub fn address_from_pubkey(key: VerifyingKey) -> Address { pub fn address_from_pubkey(key: VerifyingKey) -> Address {
let addr = key.to_encoded_point(true); let addr = key.to_encoded_point(true);
} }
fn new() -> Self { fn new() -> Self {
let key = SigningKey::random(&mut OsRng); let key = SigningKey::random(&mut OsRng);
let pub_key = key.verifying_key(); let address = Self::verifying_key_to_address(&key);
Self { Self {
nonce: 0, nonce: 0,
balance: 0,
address,
private_key: key
} }
} }
pub fn sign(&self, transaction: Tx) -> SignedTransaction { pub fn sign(&self, transaction: Tx) -> SignedTransaction {
} }
} }