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