diff --git a/src/Nethermind/Nethermind.Evm/ICodeInfoRepository.cs b/src/Nethermind/Nethermind.Evm/ICodeInfoRepository.cs index f1ca03a5064..b2f0a4a176d 100644 --- a/src/Nethermind/Nethermind.Evm/ICodeInfoRepository.cs +++ b/src/Nethermind/Nethermind.Evm/ICodeInfoRepository.cs @@ -17,10 +17,6 @@ public interface ICodeInfoRepository CodeInfo GetCachedCodeInfo(IWorldState worldState, Address codeSource, IReleaseSpec vmSpec, out Address? delegationAddress); ValueHash256 GetExecutableCodeHash(IWorldState worldState, Address address); void InsertCode(IWorldState state, ReadOnlyMemory code, Address codeOwner, IReleaseSpec spec); - - /// - /// Insert a delegation code into an . - /// void SetDelegation(IWorldState state, Address codeSource, Address authority, IReleaseSpec spec); bool TryGetDelegation(IReadOnlyStateProvider worldState, Address address, [NotNullWhen(true)] out Address? delegatedAddress); } diff --git a/src/Nethermind/Nethermind.Evm/TransactionProcessing/TransactionProcessor.cs b/src/Nethermind/Nethermind.Evm/TransactionProcessing/TransactionProcessor.cs index 8e632188307..58f695327f1 100644 --- a/src/Nethermind/Nethermind.Evm/TransactionProcessing/TransactionProcessor.cs +++ b/src/Nethermind/Nethermind.Evm/TransactionProcessing/TransactionProcessor.cs @@ -152,8 +152,8 @@ protected virtual TransactionResult Execute(Transaction tx, in BlockExecutionCon if (commit) WorldState.Commit(spec, tracer.IsTracingState ? tracer : NullTxTracer.Instance, commitStorageRoots: false); - _warmAddressBuilder.StartNewBuild(spec); - int delegationRefunds = ProcessDelegations(tx, spec, _accessedAddresses); + JournalSet
accessedAddresses = new(); + int delegationRefunds = ProcessDelegations(tx, spec, accessedAddresses); ExecutionEnvironment env = BuildExecutionEnvironment(tx, in blCtx, spec, effectiveGasPrice, _codeInfoRepository, _warmAddressBuilder); @@ -207,7 +207,7 @@ protected virtual TransactionResult Execute(Transaction tx, in BlockExecutionCon return TransactionResult.Ok; } - private int ProcessDelegations(Transaction tx, IReleaseSpec spec, HashSet
accessedAddresses) + private int ProcessDelegations(Transaction tx, IReleaseSpec spec, ICollection
accessedAddresses) { int refunds = 0; if (spec.IsEip7702Enabled && tx.HasAuthorizationList) @@ -242,7 +242,7 @@ private int ProcessDelegations(Transaction tx, IReleaseSpec spec, HashSet accessedAddresses, + ICollection
accessedAddresses, [NotNullWhen(false)] out string? error) { if (authorizationTuple.Authority is null)