@@ -9,7 +9,6 @@ use alloy::{
99 primitives:: { aliases:: B32 , Address , B256 } ,
1010 rpc:: types:: beacon:: BlsSignature ,
1111} ;
12- use derive_more:: derive:: From ;
1312use serde:: { Deserialize , Deserializer , Serialize } ;
1413use tree_hash:: TreeHash ;
1514use tree_hash_derive:: TreeHash ;
@@ -74,40 +73,6 @@ impl<T: ProxyId> fmt::Display for SignedProxyDelegation<T> {
7473 }
7574}
7675
77- // TODO(David): This struct shouldn't be visible to module authors
78- #[ derive( Debug , Clone , Serialize , Deserialize , From ) ]
79- #[ serde( tag = "type" , rename_all = "snake_case" ) ]
80- pub enum SignRequest {
81- Consensus ( SignConsensusRequest ) ,
82- ProxyBls ( SignProxyRequest < BlsPublicKey > ) ,
83- ProxyEcdsa ( SignProxyRequest < Address > ) ,
84- }
85-
86- impl Display for SignRequest {
87- fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
88- match self {
89- SignRequest :: Consensus ( req) => write ! (
90- f,
91- "Consensus(pubkey: {}, object_root: {})" ,
92- req. pubkey,
93- hex:: encode_prefixed( req. object_root)
94- ) ,
95- SignRequest :: ProxyBls ( req) => write ! (
96- f,
97- "BLS(proxy: {}, object_root: {})" ,
98- req. proxy,
99- hex:: encode_prefixed( req. object_root)
100- ) ,
101- SignRequest :: ProxyEcdsa ( req) => write ! (
102- f,
103- "ECDSA(proxy: {}, object_root: {})" ,
104- req. proxy,
105- hex:: encode_prefixed( req. object_root)
106- ) ,
107- }
108- }
109- }
110-
11176#[ derive( Debug , Clone , Serialize , Deserialize ) ]
11277pub struct SignConsensusRequest {
11378 pub pubkey : BlsPublicKey ,
@@ -132,6 +97,17 @@ impl SignConsensusRequest {
13297 }
13398}
13499
100+ impl Display for SignConsensusRequest {
101+ fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
102+ write ! (
103+ f,
104+ "Consensus(pubkey: {}, object_root: {})" ,
105+ self . pubkey,
106+ hex:: encode_prefixed( self . object_root)
107+ )
108+ }
109+ }
110+
135111#[ derive( Debug , Clone , Serialize , Deserialize ) ]
136112pub struct SignProxyRequest < T : ProxyId > {
137113 pub proxy : T ,
@@ -156,6 +132,28 @@ impl<T: ProxyId> SignProxyRequest<T> {
156132 }
157133}
158134
135+ impl Display for SignProxyRequest < BlsPublicKey > {
136+ fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
137+ write ! (
138+ f,
139+ "BLS(proxy: {}, object_root: {})" ,
140+ self . proxy,
141+ hex:: encode_prefixed( self . object_root)
142+ )
143+ }
144+ }
145+
146+ impl Display for SignProxyRequest < Address > {
147+ fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
148+ write ! (
149+ f,
150+ "ECDSA(proxy: {}, object_root: {})" ,
151+ self . proxy,
152+ hex:: encode_prefixed( self . object_root)
153+ )
154+ }
155+ }
156+
159157#[ derive( Debug , Clone , Copy , Serialize , Deserialize ) ]
160158pub enum EncryptionScheme {
161159 #[ serde( rename = "bls" ) ]
@@ -249,36 +247,6 @@ mod tests {
249247 use super :: * ;
250248 use crate :: signer:: EcdsaSignature ;
251249
252- #[ test]
253- fn test_decode_request_signature ( ) {
254- let data = r#"{
255- "type": "consensus",
256- "pubkey": "0xa3366b54f28e4bf1461926a3c70cdb0ec432b5c92554ecaae3742d33fb33873990cbed1761c68020e6d3c14d30a22050",
257- "object_root": "0x5c89913beafa0472168e0ec05e349b4ceb9985d25ab9fa8de53a60208c85b3a5"
258- }"# ;
259-
260- let request: SignRequest = serde_json:: from_str ( data) . unwrap ( ) ;
261- assert ! ( matches!( request, SignRequest :: Consensus ( ..) ) ) ;
262-
263- let data = r#"{
264- "type": "proxy_bls",
265- "proxy": "0xa3366b54f28e4bf1461926a3c70cdb0ec432b5c92554ecaae3742d33fb33873990cbed1761c68020e6d3c14d30a22050",
266- "object_root": "0x5c89913beafa0472168e0ec05e349b4ceb9985d25ab9fa8de53a60208c85b3a5"
267- }"# ;
268-
269- let request: SignRequest = serde_json:: from_str ( data) . unwrap ( ) ;
270- assert ! ( matches!( request, SignRequest :: ProxyBls ( ..) ) ) ;
271-
272- let data = r#"{
273- "type": "proxy_ecdsa",
274- "proxy": "0x4ca9939a8311a7cab3dde201b70157285fa81a9d",
275- "object_root": "0x5c89913beafa0472168e0ec05e349b4ceb9985d25ab9fa8de53a60208c85b3a5"
276- }"# ;
277-
278- let request: SignRequest = serde_json:: from_str ( data) . unwrap ( ) ;
279- assert ! ( matches!( request, SignRequest :: ProxyEcdsa ( ..) ) ) ;
280- }
281-
282250 #[ test]
283251 fn test_decode_response_signature ( ) {
284252 let data = r#""0xa3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989a3ffa9241f78279f1af04644cb8c79c2d8f02bcf0e28e2f186f6dcccac0a869c2be441fda50f0dea895cfce2e53f0989""# ;
0 commit comments