From 9aed710aa94db449c452417e82a5dff0a540c871 Mon Sep 17 00:00:00 2001 From: Sina Mahmoodi Date: Tue, 18 Jul 2023 17:08:54 +0200 Subject: [PATCH] copy storage over in MoveTo --- internal/ethapi/api.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index 13c56b57d4..bdd2c7a5ed 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -946,8 +946,11 @@ func (diff *StateOverride) ApplyMulticall(state *state.StateDB, precompiles vm.P state.SetBalance(*account.MoveTo, state.GetBalance(addr)) state.SetNonce(*account.MoveTo, state.GetNonce(addr)) state.SetCode(*account.MoveTo, state.GetCode(addr)) - // TODO: copy storage over - //state.SetState(*account.MoveTo, state.GetState(addr)) + // Copy storage over + state.ForEachStorage(addr, func(key, value common.Hash) bool { + state.SetState(*account.MoveTo, key, value) + return true + }) // Clear source storage state.SetStorage(addr, map[common.Hash]common.Hash{}) if precompiles[*account.MoveTo] != nil {