@@ -75,45 +75,6 @@ impl<P, Client> Author<P, Client> {
75
75
}
76
76
}
77
77
78
- impl < P , Client > Author < P , Client >
79
- where
80
- P : TransactionPool + Sync + Send + ' static ,
81
- Client : HeaderBackend < P :: Block > + ProvideRuntimeApi < P :: Block > + Send + Sync + ' static ,
82
- Client :: Api : SessionKeys < P :: Block > ,
83
- P :: Hash : Unpin ,
84
- <P :: Block as BlockT >:: Hash : Unpin ,
85
- {
86
- fn rotate_keys_impl ( & self , owner : Vec < u8 > ) -> RpcResult < GeneratedSessionKeys > {
87
- self . deny_unsafe . check_if_safe ( ) ?;
88
-
89
- let best_block_hash = self . client . info ( ) . best_hash ;
90
- let mut runtime_api = self . client . runtime_api ( ) ;
91
-
92
- runtime_api. register_extension ( KeystoreExt :: from ( self . keystore . clone ( ) ) ) ;
93
-
94
- let version = runtime_api
95
- . api_version :: < dyn SessionKeys < P :: Block > > ( best_block_hash)
96
- . map_err ( |api_err| Error :: Client ( Box :: new ( api_err) ) ) ?
97
- . ok_or_else ( || Error :: MissingSessionKeysApi ) ?;
98
-
99
- if version < 2 {
100
- #[ allow( deprecated) ]
101
- runtime_api
102
- . generate_session_keys_before_version_2 ( best_block_hash, None )
103
- . map ( |sk| GeneratedSessionKeys { keys : sk. into ( ) , proof : None } )
104
- . map_err ( |api_err| Error :: Client ( Box :: new ( api_err) ) . into ( ) )
105
- } else {
106
- runtime_api
107
- . generate_session_keys ( best_block_hash, owner, None )
108
- . map ( |sk| GeneratedSessionKeys {
109
- keys : sk. keys . into ( ) ,
110
- proof : Some ( sk. proof . into ( ) ) ,
111
- } )
112
- . map_err ( |api_err| Error :: Client ( Box :: new ( api_err) ) . into ( ) )
113
- }
114
- }
115
- }
116
-
117
78
/// Currently we treat all RPC transactions as externals.
118
79
///
119
80
/// Possibly in the future we could allow opt-in for special treatment
@@ -158,11 +119,35 @@ where
158
119
}
159
120
160
121
fn rotate_keys ( & self ) -> RpcResult < Bytes > {
161
- self . rotate_keys_impl ( Vec :: new ( ) ) . map ( |k| k. keys )
162
- }
122
+ self . deny_unsafe . check_if_safe ( ) ?;
123
+
124
+ let best_block_hash = self . client . info ( ) . best_hash ;
125
+ let mut runtime_api = self . client . runtime_api ( ) ;
126
+
127
+ runtime_api. register_extension ( KeystoreExt :: from ( self . keystore . clone ( ) ) ) ;
128
+
129
+ let version = runtime_api
130
+ . api_version :: < dyn SessionKeys < P :: Block > > ( best_block_hash)
131
+ . map_err ( |api_err| Error :: Client ( Box :: new ( api_err) ) ) ?
132
+ . ok_or_else ( || Error :: MissingSessionKeysApi ) ?;
133
+
134
+ let res = if version < 2 {
135
+ #[ allow( deprecated) ]
136
+ runtime_api
137
+ . generate_session_keys_before_version_2 ( best_block_hash, None )
138
+ . map ( |sk| GeneratedSessionKeys { keys : sk. into ( ) , proof : None } )
139
+ . map_err ( |api_err| Error :: Client ( Box :: new ( api_err) ) )
140
+ } else {
141
+ runtime_api
142
+ . generate_session_keys ( best_block_hash, Vec :: new ( ) , None )
143
+ . map ( |sk| GeneratedSessionKeys {
144
+ keys : sk. keys . into ( ) ,
145
+ proof : Some ( sk. proof . into ( ) ) ,
146
+ } )
147
+ . map_err ( |api_err| Error :: Client ( Box :: new ( api_err) ) )
148
+ } ?;
163
149
164
- fn rotate_keys_with_owner ( & self , owner : Bytes ) -> RpcResult < GeneratedSessionKeys > {
165
- self . rotate_keys_impl ( owner. 0 )
150
+ Ok ( res. keys )
166
151
}
167
152
168
153
fn has_session_keys ( & self , session_keys : Bytes ) -> RpcResult < bool > {
0 commit comments