@@ -41,37 +41,51 @@ func AdaptOrderedEvents(events []vm.OrderedEvent) []*core.Event {
4141 return utils .Map (events , AdaptOrderedEvent )
4242}
4343
44- func AdaptStateDiff (sd * vm.StateDiff ) * core.StateDiff {
45- result := core.StateDiff {
46- StorageDiffs : make (map [felt.Felt ]map [felt.Felt ]* felt.Felt ),
47- Nonces : make (map [felt.Felt ]* felt.Felt ),
48- DeployedContracts : make (map [felt.Felt ]* felt.Felt ),
49- DeclaredV0Classes : []* felt.Felt {},
50- DeclaredV1Classes : make (map [felt.Felt ]* felt.Felt ),
51- ReplacedClasses : make (map [felt.Felt ]* felt.Felt ),
44+ func AdaptStateDiff (trace * vm.TransactionTrace ) * core.StateDiff {
45+ if trace .StateDiff == nil {
46+ return nil
5247 }
53- if sd == nil {
54- return & result
55- }
56- for _ , entries := range sd . StorageDiffs {
57- KeyVals := map [felt. Felt ] * felt. Felt {}
58- for _ , entry := range entries . StorageEntries {
59- KeyVals [entry .Key ] = & entry . Value
48+ stateDiff := trace . StateDiff
49+ newStorageDiffs := make ( map [felt. Felt ] map [felt. Felt ] * felt. Felt )
50+ for _ , sd := range stateDiff . StorageDiffs {
51+ entries := make ( map [felt. Felt ] * felt. Felt )
52+ for _ , entry := range sd . StorageEntries {
53+ val := entry . Value
54+ entries [entry .Key ] = & val
6055 }
61- result . StorageDiffs [ entries .Address ] = KeyVals
56+ newStorageDiffs [ sd .Address ] = entries
6257 }
63- for _ , addrNonce := range sd .Nonces {
64- result .Nonces [addrNonce .ContractAddress ] = & addrNonce .Nonce
58+
59+ newNonces := make (map [felt.Felt ]* felt.Felt )
60+ for _ , nonce := range stateDiff .Nonces {
61+ nonc := nonce .Nonce
62+ newNonces [nonce .ContractAddress ] = & nonc
6563 }
66- for _ , addrClassHash := range sd .DeployedContracts {
67- result .Nonces [addrClassHash .Address ] = & addrClassHash .ClassHash
64+
65+ newDeployedContracts := make (map [felt.Felt ]* felt.Felt )
66+ for _ , dc := range stateDiff .DeployedContracts {
67+ ch := dc .ClassHash
68+ newDeployedContracts [dc .Address ] = & ch
6869 }
69- for _ , hashes := range sd .DeclaredClasses {
70- result .DeclaredV1Classes [hashes .ClassHash ] = & hashes .CompiledClassHash
70+
71+ newDeclaredV1Classes := make (map [felt.Felt ]* felt.Felt )
72+ for _ , dc := range stateDiff .DeclaredClasses {
73+ cch := dc .CompiledClassHash
74+ newDeclaredV1Classes [dc .ClassHash ] = & cch
7175 }
72- for _ , addrClassHash := range sd .ReplacedClasses {
73- result .ReplacedClasses [addrClassHash .ClassHash ] = & addrClassHash .ClassHash
76+
77+ newReplacedClasses := make (map [felt.Felt ]* felt.Felt )
78+ for _ , rc := range stateDiff .ReplacedClasses {
79+ ch := rc .ClassHash
80+ newReplacedClasses [rc .ContractAddress ] = & ch
81+ }
82+
83+ return & core.StateDiff {
84+ StorageDiffs : newStorageDiffs ,
85+ Nonces : newNonces ,
86+ DeployedContracts : newDeployedContracts ,
87+ DeclaredV0Classes : stateDiff .DeprecatedDeclaredClasses ,
88+ DeclaredV1Classes : newDeclaredV1Classes ,
89+ ReplacedClasses : newReplacedClasses ,
7490 }
75- result .DeclaredV0Classes = append (result .DeclaredV0Classes , sd .DeprecatedDeclaredClasses ... )
76- return & result
7791}
0 commit comments