Skip to content

Commit fb11e07

Browse files
committed
fix stuff
1 parent a0ee00e commit fb11e07

File tree

4 files changed

+47
-47
lines changed

4 files changed

+47
-47
lines changed

adapters/vm2core/vm2core.go

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

genesis/genesis.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ func GenesisStateDiff( //nolint:funlen,gocyclo
208208
return nil, nil, fmt.Errorf("execute function call: %v", err)
209209
}
210210

211-
traceSD := vm2core.AdaptStateDiff(trace[0].StateDiff)
211+
traceSD := vm2core.AdaptStateDiff(&trace[0])
212212
genesisSD, _ := genesisState.StateDiffAndClasses()
213213
mergedSD := core.MergeStateDiffs(genesisSD, traceSD)
214214
genesisState.SetStateDiff(mergedSD)

genesis/genesis_test.go

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,8 @@ import (
1010
)
1111

1212
func TestGenesisStateDiff(t *testing.T) {
13-
// testDB := pebble.NewMemTest(t)
14-
// mockCtrl := gomock.NewController(t)
1513
network := &utils.Mainnet
16-
// client := feeder.NewTestClient(t, network)
17-
// gw := adaptfeeder.New(client)
1814
log := utils.NewNopZapLogger()
19-
// chain := blockchain.New(pebble.NewMemTest(t), network, nil)
20-
// mockVM := mocks.NewMockVM(mockCtrl)
21-
// privKey, err := ecdsa.GenerateKey(rand.Reader)
22-
// require.NoError(t, err)
23-
// p := mempool.New(pebble.NewMemTest(t))
24-
// testBuilder := builder.New(privKey, new(felt.Felt).SetUint64(1), chain, mockVM, time.Millisecond, p, utils.NewNopZapLogger(), false, testDB)
25-
// // Need to store pending block create NewPendingState
26-
// block, err := gw.BlockByNumber(context.Background(), 0)
27-
// require.NoError(t, err)
28-
// su, err := gw.StateUpdate(context.Background(), 0)
29-
// require.NoError(t, err)
30-
// pendingGenesis := sync.Pending{
31-
// Block: block,
32-
// StateUpdate: su,
33-
// }
34-
// require.NoError(t, testBuilder.StorePending(&pendingGenesis))
3515

3616
t.Run("empty genesis config", func(t *testing.T) {
3717
genesisConfig := genesis.GenesisConfig{}

vm/vm_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ func TestV1Call(t *testing.T) {
9393

9494
testState := core.NewState(txn)
9595
require.NoError(t, testState.Update(0, &core.StateUpdate{
96+
OldRoot: &felt.Zero,
97+
NewRoot: utils.HexToFelt(t, "0x2650cef46c190ec6bb7dc21a5a36781132e7c883b27175e625031149d4f1a84"),
9698
StateDiff: &core.StateDiff{
9799
DeployedContracts: map[felt.Felt]*felt.Felt{
98100
*contractAddr: classHash,
@@ -119,6 +121,8 @@ func TestV1Call(t *testing.T) {
119121
assert.Equal(t, []*felt.Felt{&felt.Zero}, ret)
120122

121123
require.NoError(t, testState.Update(1, &core.StateUpdate{
124+
OldRoot: utils.HexToFelt(t, "0x2650cef46c190ec6bb7dc21a5a36781132e7c883b27175e625031149d4f1a84"),
125+
NewRoot: utils.HexToFelt(t, "0x7a9da0a7471a8d5118d3eefb8c26a6acbe204eb1eaa934606f4757a595fe552"),
122126
StateDiff: &core.StateDiff{
123127
StorageDiffs: map[felt.Felt]map[felt.Felt]*felt.Felt{
124128
*contractAddr: {
@@ -157,6 +161,8 @@ func TestCall_MaxSteps(t *testing.T) {
157161

158162
testState := core.NewState(txn)
159163
require.NoError(t, testState.Update(0, &core.StateUpdate{
164+
OldRoot: &felt.Zero,
165+
NewRoot: utils.HexToFelt(t, "0x3d452fbb3c3a32fe85b1a3fbbcdec316d5fc940cefc028ee808ad25a15991c8"),
160166
StateDiff: &core.StateDiff{
161167
DeployedContracts: map[felt.Felt]*felt.Felt{
162168
*contractAddr: classHash,

0 commit comments

Comments
 (0)