Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Nethermind
Submodule Nethermind updated 826 files
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ public void CallProgram_ProgramIsNotActivated_Fails()

ISpecProvider specProvider = FullChainSimulationChainSpecProvider.CreateDynamicSpecProvider(ArbosVersion.Forty);

ICodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);
CodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);

byte[] callData = CounterContractCallData.GetNumberCalldata();
using VmState<ArbitrumGasPolicy> vmState = CreateEvmState(state, caller, contract, codeInfo, callData);
Expand All @@ -219,7 +219,7 @@ public void CallProgram_StylusVersionIsHigherThanPrograms_Fails()
(Address caller, Address contract, BlockHeader header) = DeployTestsContract.DeployCounterContract(state, repository);

ISpecProvider specProvider = FullChainSimulationChainSpecProvider.CreateDynamicSpecProvider(ArbosVersion.Forty);
ICodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);
CodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);

ProgramActivationResult result = programs.ActivateProgram(contract, state, store, header.Timestamp, MessageRunMode.MessageCommitMode, true);
result.IsSuccess.Should().BeTrue();
Expand Down Expand Up @@ -251,7 +251,7 @@ public void CallProgram_ProgramExpired_Fails()
(Address caller, Address contract, BlockHeader header) = DeployTestsContract.DeployCounterContract(state, repository);

ISpecProvider specProvider = FullChainSimulationChainSpecProvider.CreateDynamicSpecProvider(ArbosVersion.Forty);
ICodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);
CodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);

ProgramActivationResult result = programs.ActivateProgram(contract, state, store, header.Timestamp, MessageRunMode.MessageCommitMode, true);
result.IsSuccess.Should().BeTrue();
Expand Down Expand Up @@ -284,7 +284,7 @@ public void CallProgram_CorruptedCallData_Fails()
(Address caller, Address contract, BlockHeader header) = DeployTestsContract.DeployCounterContract(state, repository);

ISpecProvider specProvider = FullChainSimulationChainSpecProvider.CreateDynamicSpecProvider(ArbosVersion.Forty);
ICodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);
CodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);

ProgramActivationResult result = programs.ActivateProgram(contract, state, store, header.Timestamp, MessageRunMode.MessageCommitMode, true);
result.IsSuccess.Should().BeTrue();
Expand Down Expand Up @@ -312,7 +312,7 @@ public void CallProgram_SetGetNumber_SuccessfullySetsAndGets()
(Address caller, Address contract, BlockHeader header) = DeployTestsContract.DeployCounterContract(state, repository);

ISpecProvider specProvider = FullChainSimulationChainSpecProvider.CreateDynamicSpecProvider(ArbosVersion.Forty);
ICodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);
CodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);

ProgramActivationResult result = programs.ActivateProgram(contract, state, store, header.Timestamp, MessageRunMode.MessageCommitMode, true);
result.IsSuccess.Should().BeTrue();
Expand Down Expand Up @@ -351,7 +351,7 @@ public void CallProgram_IncrementNumber_SuccessfullyIncrements()
(Address caller, Address contract, BlockHeader header) = DeployTestsContract.DeployCounterContract(state, repository);

ISpecProvider specProvider = FullChainSimulationChainSpecProvider.CreateDynamicSpecProvider(ArbosVersion.Forty);
ICodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);
CodeInfo codeInfo = repository.GetCachedCodeInfo(contract, specProvider.GenesisSpec, out _);

ProgramActivationResult result = programs.ActivateProgram(contract, state, store, header.Timestamp, MessageRunMode.MessageCommitMode, true);
result.IsSuccess.Should().BeTrue();
Expand Down Expand Up @@ -380,7 +380,7 @@ public void CallProgram_IncrementNumber_SuccessfullyIncrements()
getNumberResult2.Value.Should().BeEquivalentTo(new UInt256(1).ToBigEndian());
}

private VmState<ArbitrumGasPolicy> CreateEvmState(IWorldState state, Address caller, Address contract, ICodeInfo codeInfo, byte[] callData, long gasAvailable = 1_000_000_000)
private VmState<ArbitrumGasPolicy> CreateEvmState(IWorldState state, Address caller, Address contract, CodeInfo codeInfo, byte[] callData, long gasAvailable = 1_000_000_000)
{
ExecutionEnvironment env = ExecutionEnvironment.Rent(codeInfo, caller, caller, contract, 0, 0, 0, callData);
return VmState<ArbitrumGasPolicy>.RentTopLevel(ArbitrumGasPolicy.FromLong(gasAvailable), ExecutionType.TRANSACTION, env, new StackAccessTracker(), state.TakeSnapshot());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public WasmGasTestHelper(long gasAvailable = 1_000_000, IReleaseSpec? spec = nul

// Create minimal execution environment
_executionEnvironment = ExecutionEnvironment.Rent(
EmptyCodeInfo.Instance,
CodeInfo.Empty,
Address.Zero,
Address.Zero,
Address.Zero,
Expand Down Expand Up @@ -107,17 +107,3 @@ public void Dispose()
_worldStateScope.Dispose();
}
}

/// <summary>
/// Empty code info for test purposes.
/// </summary>
internal sealed class EmptyCodeInfo : ICodeInfo
{
public static readonly EmptyCodeInfo Instance = new();

private EmptyCodeInfo() { }

public bool IsEmpty => true;
public ReadOnlyMemory<byte> Code => ReadOnlyMemory<byte>.Empty;
public ReadOnlySpan<byte> CodeSpan => ReadOnlySpan<byte>.Empty;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using FluentAssertions;
using Nethermind.Arbitrum.Config;
using Nethermind.Core;
using Nethermind.Logging;
using Nethermind.Serialization.Json;
using Nethermind.Specs.ChainSpecStyle;
using NUnit.Framework;
Expand Down Expand Up @@ -139,7 +140,7 @@ public void Create_WithNullParameters_UsesDefaultValues()

private static ChainSpec LoadChainSpecFromJson(string json)
{
ChainSpecLoader loader = new(new EthereumJsonSerializer());
ChainSpecLoader loader = new(new EthereumJsonSerializer(), LimboLogs.Instance);

using MemoryStream stream = new(System.Text.Encoding.UTF8.GetBytes(json));
return loader.Load(stream);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public void FullChainSimulation_TestChainSpec_AlwaysMatchesFullChainSimulation()

private static ChainSpec LoadChainSpec(string path)
{
var loader = new ChainSpecFileLoader(new EthereumJsonSerializer(), LimboTraceLogger.Instance);
var loader = new ChainSpecFileLoader(new EthereumJsonSerializer(), LimboLogs.Instance);
var chainSpec = loader.LoadEmbeddedOrFromFile(path);
return chainSpec;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
using Nethermind.Specs.ChainSpecStyle;
using Nethermind.State;
using Nethermind.TxPool;
using NSubstitute;
using BlockchainProcessorOptions = Nethermind.Consensus.Processing.BlockchainProcessor.Options;

namespace Nethermind.Arbitrum.Test.Infrastructure;
Expand Down Expand Up @@ -153,7 +154,8 @@ protected virtual ArbitrumTestBlockchainBase Build(Action<ContainerBuilder>? con
Dependencies.BlockPreprocessorStep,
StateReader,
LogManager,
BlockchainProcessorOptions.Default);
BlockchainProcessorOptions.Default,
Substitute.For<IProcessingStats>());

BlockchainProcessor = chainProcessor;
BlockProcessingQueue = chainProcessor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ public void GetCachedCodeInfo_WhenQueriedFromCodeInfoRepository_ReturnsPrecompil
ArbitrumCodeInfoRepository repository = new(baseRepository, arbosVersionProvider);
IReleaseSpec spec = new ArbitrumReleaseSpec { ArbOsVersion = ArbosVersion.FortyOne };

ICodeInfo codeInfo = repository.GetCachedCodeInfo(
CodeInfo codeInfo = repository.GetCachedCodeInfo(
ArbNativeTokenManager.Address,
followDelegation: false,
spec,
Expand Down
18 changes: 16 additions & 2 deletions src/Nethermind.Arbitrum.Test/Precompiles/ArbOwnerPublicTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,14 @@ public void GetAllChainOwnersViaRpc_AfterInitialization_ReturnsInitialOwner()
.SignedAndResolved(FullChainSimulationAccounts.Owner)
.TestObject;

ResultWrapper<string> result = chain.ArbitrumEthRpcModule.eth_call(TransactionForRpc.FromTransaction(transaction), BlockParameter.Latest);
EIP1559TransactionForRpc tx = new(transaction, new(transaction.ChainId ?? BlockchainIds.Mainnet))
{
MaxFeePerGas = 10.GWei(),
MaxPriorityFeePerGas = 2.GWei(),
GasPrice = null
};

ResultWrapper<string> result = chain.ArbitrumEthRpcModule.eth_call(tx, BlockParameter.Latest);
result.Result.Should().Be(Result.Success);

object[] precompileResponse = AbiEncoder.Instance.Decode(
Expand Down Expand Up @@ -434,7 +441,14 @@ public void GetScheduledUpgradeViaRpc_WithNoScheduledUpgrade_ReturnsZeros()
.SignedAndResolved(FullChainSimulationAccounts.Owner)
.TestObject;

ResultWrapper<string> result = chain.ArbitrumEthRpcModule.eth_call(TransactionForRpc.FromTransaction(transaction), BlockParameter.Latest);
EIP1559TransactionForRpc tx = new(transaction, new(transaction.ChainId ?? BlockchainIds.Mainnet))
{
MaxFeePerGas = 10.GWei(),
MaxPriorityFeePerGas = 2.GWei(),
GasPrice = null
};

ResultWrapper<string> result = chain.ArbitrumEthRpcModule.eth_call(tx, BlockParameter.Latest);
result.Result.Should().Be(Result.Success);

object[] precompileResponse = AbiEncoder.Instance.Decode(
Expand Down
Loading