@@ -116,7 +116,7 @@ pub async fn test_session_off_chain_sig_via_controller() {
116
116
let owner = Owner :: Signer ( Signer :: new_starknet_random ( ) ) ;
117
117
let runner = KatanaRunner :: load ( ) ;
118
118
let mut controller = runner
119
- . deploy_controller ( "username" . to_owned ( ) , owner, Version :: LATEST )
119
+ . deploy_controller ( "username" . to_owned ( ) , owner. clone ( ) , Version :: LATEST )
120
120
. await ;
121
121
122
122
let typed_data = TypedData {
@@ -236,7 +236,7 @@ pub async fn test_session_off_chain_sig_via_controller() {
236
236
. await
237
237
. unwrap ( ) ;
238
238
239
- let signature = controller. sign_message ( typed_data) . await . unwrap ( ) ;
239
+ let signature = controller. sign_message ( typed_data. clone ( ) ) . await . unwrap ( ) ;
240
240
assert_eq ! ( signature[ 0 ] , SESSION_TYPED_DATA_MAGIC ) ;
241
241
242
242
let contract_reader = ControllerReader :: new ( controller. address , runner. client ( ) ) ;
@@ -247,4 +247,26 @@ pub async fn test_session_off_chain_sig_via_controller() {
247
247
. unwrap ( ) ;
248
248
249
249
assert_ne ! ( is_valid, Felt :: ZERO ) ;
250
+
251
+ let mut wildcard_controller = runner
252
+ . deploy_controller ( "wildcard" . to_owned ( ) , owner, Version :: LATEST )
253
+ . await ;
254
+ let wildcard_hashes = typed_data. encode ( wildcard_controller. address ) . unwrap ( ) ;
255
+
256
+ wildcard_controller
257
+ . create_wildcard_session ( u64:: MAX )
258
+ . await
259
+ . unwrap ( ) ;
260
+
261
+ let signature = wildcard_controller. sign_message ( typed_data) . await . unwrap ( ) ;
262
+ assert_eq ! ( signature[ 0 ] , SESSION_TYPED_DATA_MAGIC ) ;
263
+
264
+ let contract_reader = ControllerReader :: new ( wildcard_controller. address , runner. client ( ) ) ;
265
+ let is_valid = contract_reader
266
+ . is_valid_signature ( & wildcard_hashes. hash , & signature)
267
+ . call ( )
268
+ . await
269
+ . unwrap ( ) ;
270
+
271
+ assert_ne ! ( is_valid, Felt :: ZERO ) ;
250
272
}
0 commit comments