stratus/eth/primitives/
ecdsa_v.rs1use alloy_primitives::U64;
2use display_json::DebugAsJson;
3#[cfg(test)]
4use fake::Dummy;
5#[cfg(test)]
6use fake::Faker;
7
8#[derive(DebugAsJson, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
10pub struct EcdsaV(U64);
11
12#[cfg(test)]
13impl Dummy<Faker> for EcdsaV {
14 fn dummy_with_rng<R: rand::prelude::Rng + ?Sized>(_: &Faker, rng: &mut R) -> Self {
15 Self::from(rng.next_u64())
16 }
17}
18
19impl From<u8> for EcdsaV {
24 fn from(value: u8) -> Self {
25 Self(U64::from(value))
26 }
27}
28
29impl From<u16> for EcdsaV {
30 fn from(value: u16) -> Self {
31 Self(U64::from(value))
32 }
33}
34
35impl From<u32> for EcdsaV {
36 fn from(value: u32) -> Self {
37 Self(U64::from(value))
38 }
39}
40
41impl From<u64> for EcdsaV {
42 fn from(value: u64) -> Self {
43 Self(U64::from(value))
44 }
45}
46
47impl From<U64> for EcdsaV {
48 fn from(value: U64) -> Self {
49 Self(value)
50 }
51}
52
53impl From<i8> for EcdsaV {
54 fn from(value: i8) -> Self {
55 Self(U64::from(value as u8))
56 }
57}
58
59impl From<i16> for EcdsaV {
60 fn from(value: i16) -> Self {
61 Self(U64::from(value as u16))
62 }
63}
64
65impl From<i32> for EcdsaV {
66 fn from(value: i32) -> Self {
67 Self(U64::from(value as u32))
68 }
69}
70
71impl From<[u8; 8]> for EcdsaV {
72 fn from(value: [u8; 8]) -> Self {
73 Self(U64::from_be_bytes(value))
74 }
75}
76
77