@@ -63,6 +63,7 @@ fn preconfirmed_state_update() {
6363 }
6464 }
6565 ) ;
66+ assert ! ( state_diff. migrated_compiled_classes. is_none( ) ) ;
6667
6768 let serialized = serde_json:: to_value ( & state_update) . unwrap ( ) ;
6869 similar_asserts:: assert_eq!( serialized, json) ;
@@ -135,3 +136,59 @@ fn confirmed_state_update() {
135136 let serialized = serde_json:: to_value ( & state_update) . unwrap ( ) ;
136137 similar_asserts:: assert_eq!( serialized, json) ;
137138}
139+
140+ #[ test]
141+ fn v0_10_0_confirmed_state_update ( ) {
142+ let json = fixtures:: test_data :: < Value > ( "v0.10/state-updates/confirmed_state_update.json" ) ;
143+
144+ let state_update: ConfirmedStateUpdate = serde_json:: from_value ( json. clone ( ) ) . unwrap ( ) ;
145+ let as_enum: StateUpdate = serde_json:: from_value ( json. clone ( ) ) . unwrap ( ) ;
146+ assert_matches ! ( as_enum, StateUpdate :: Update ( as_enum_update) => {
147+ similar_asserts:: assert_eq!( as_enum_update, state_update) ;
148+ } ) ;
149+
150+ let ConfirmedStateUpdate { block_hash, new_root, old_root, ref state_diff } = state_update;
151+ assert_eq ! (
152+ block_hash,
153+ felt!( "0x1935ec0e5c7758fdc11a78ed9d4cadd4225eab826aabd98fe2d04b45ca4c150" )
154+ ) ;
155+ assert_eq ! (
156+ old_root,
157+ felt!( "0x484d8010568613b1878e03085989536d9112d89e2979297f0fbd741a3f73138" )
158+ ) ;
159+ assert_eq ! (
160+ new_root,
161+ felt!( "0x7e72ca880e4fa1f4987257d90b2642860a4574a03b79ac830f6fb5968520977" )
162+ ) ;
163+ assert ! ( state_diff. deprecated_declared_classes. is_empty( ) ) ;
164+ assert ! ( state_diff. replaced_classes. is_empty( ) ) ;
165+ assert ! ( state_diff. declared_classes. is_empty( ) ) ;
166+ assert ! ( state_diff. deployed_contracts. is_empty( ) ) ;
167+ assert_eq ! (
168+ state_diff. nonces,
169+ map! {
170+ address!( "0x662776dac110a170767d83da4f1d8fae022df7aa8a78252eb9c501c68d49604" ) , felt!( "0x1bb63" ) ,
171+ }
172+ ) ;
173+ assert_eq ! (
174+ state_diff. storage_diffs,
175+ map! {
176+ address!( "0x18469ed2d40a016a602371173c7287e25f85cb6abb6fc0866d3c444e2837603" ) , map! {
177+ felt!( "0x6d410d47be5497b0dafef14e24c8767731a6e50126ff8fa99f25a0d0ee02788" ) , felt!( "0x1" ) ,
178+ } ,
179+ address!( "0x377c2d65debb3978ea81904e7d59740da1f07412e30d01c5ded1c5d6f1ddc43" ) , map! {
180+ felt!( "0x484b46148d37383593029fa3b4c09a5e0e3cb66bbcf5fc66529fa452ccc6e34" ) , felt!( "0x8" ) ,
181+ felt!( "0x3ee4ba0f59886159d92a35f96ded219dd7f69c30953f9b68d333f10a27e312b" ) , felt!( "0x18469ed2d40a016a602371173c7287e25f85cb6abb6fc0866d3c444e2837603" ) ,
182+ }
183+ }
184+ ) ;
185+ assert_eq ! (
186+ state_diff. migrated_compiled_classes,
187+ Some ( map! {
188+ felt!( "0x4ac055f14361bb6f7bf4b9af6e96ca68825e6037e9bdf87ea0b2c641dea73ae" ) , felt!( "0x17f3b8f7225a160ec0542ea5c44ee876f2b132e7dee00ec36f2422d8155a4e4" ) ,
189+ } )
190+ ) ;
191+
192+ let serialized = serde_json:: to_value ( & state_update) . unwrap ( ) ;
193+ similar_asserts:: assert_eq!( serialized, json) ;
194+ }
0 commit comments