@@ -124,6 +124,28 @@ func TestClassAccessors(t *testing.T) {
124124 assert .Equal (t , []* felt.Felt {felt.NewUnsafeFromString [felt.Felt ]("0x1" )}, sierra .Program )
125125 })
126126
127+ t .Run ("overwrite reflects latest values" , func (t * testing.T ) {
128+ disk := memory .New ()
129+ require .NoError (t , state .WriteClass (disk , classHash , newClass ()))
130+
131+ updated := & core.DeclaredClassDefinition {
132+ At : 99 ,
133+ Class : & core.SierraClass {
134+ SemanticVersion : "0.2.0" ,
135+ Program : []* felt.Felt {felt.NewUnsafeFromString [felt.Felt ]("0x2" )},
136+ },
137+ }
138+ require .NoError (t , state .WriteClass (disk , classHash , updated ))
139+
140+ got , err := state .GetClass (disk , classHash )
141+ require .NoError (t , err )
142+ assert .Equal (t , updated .At , got .At )
143+ sierra , ok := got .Class .(* core.SierraClass )
144+ require .True (t , ok )
145+ assert .Equal (t , "0.2.0" , sierra .SemanticVersion )
146+ assert .Equal (t , []* felt.Felt {felt.NewUnsafeFromString [felt.Felt ]("0x2" )}, sierra .Program )
147+ })
148+
127149 t .Run ("delete removes the class" , func (t * testing.T ) {
128150 disk := memory .New ()
129151 require .NoError (t , state .WriteClass (disk , classHash , newClass ()))
@@ -280,4 +302,18 @@ func TestGetStateObject(t *testing.T) {
280302 _ , err := state .GetStateObject (disk , nil , addr )
281303 assert .ErrorIs (t , err , db .ErrKeyNotFound )
282304 })
305+
306+ t .Run ("returns a state object for an existing contract" , func (t * testing.T ) {
307+ disk := memory .New ()
308+ require .NoError (t , state .WriteContract (
309+ disk , addr ,
310+ felt.UnsafeFromString [felt.Felt ]("0x1" ),
311+ felt.UnsafeFromString [felt.Felt ]("0xabc" ),
312+ 42 ,
313+ ))
314+
315+ obj , err := state .GetStateObject (disk , nil , addr )
316+ require .NoError (t , err )
317+ assert .NotNil (t , obj )
318+ })
283319}
0 commit comments