use hiero_sdk_proto::services;
use crate::{
FromProtobuf,
ToProtobuf,
};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EvmHookStorageSlot {
pub key: Vec<u8>,
pub value: Vec<u8>,
}
impl EvmHookStorageSlot {
pub fn new(key: Vec<u8>, value: Vec<u8>) -> Self {
Self { key, value }
}
pub fn get_key(&self) -> &[u8] {
&self.key
}
pub fn get_value(&self) -> &[u8] {
&self.value
}
pub fn set_value(&mut self, value: Vec<u8>) {
self.value = value;
}
pub fn set_key(&mut self, key: Vec<u8>) {
self.key = key;
}
}
impl ToProtobuf for EvmHookStorageSlot {
type Protobuf = services::EvmHookStorageSlot;
fn to_protobuf(&self) -> Self::Protobuf {
services::EvmHookStorageSlot { key: self.key.clone(), value: self.value.clone() }
}
}
impl FromProtobuf<services::EvmHookStorageSlot> for EvmHookStorageSlot {
fn from_protobuf(pb: services::EvmHookStorageSlot) -> crate::Result<Self> {
Ok(Self { key: pb.key, value: pb.value })
}
}