ethers_types_rs/signature.rs
1use ethabi::ethereum_types::{Signature, U256};
2
3pub trait SignatureVRS {
4 fn v(&self) -> u8;
5
6 fn r(&self) -> U256;
7
8 fn s(&self) -> U256;
9}
10
11impl SignatureVRS for Signature {
12 /// Extract signature v
13 fn v(&self) -> u8 {
14 self.0[0]
15 }
16
17 /// Extract signature r
18 fn r(&self) -> U256 {
19 self.0[1..33].into()
20 }
21
22 /// Extract signature s
23 fn s(&self) -> U256 {
24 self.0[33..].into()
25 }
26}