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
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public Address GetBlockSealer(BlockHeader header)
Signature signature = new(signatureBytes);
signature.V += Signature.VOffset;
ValueHash256 message = CalculateCliqueHeaderHash(header);
Address address = _ecdsa.RecoverAddress(signatureBytes, in message);
Address address = _ecdsa.RecoverAddress(signature, in message);
_signatures.Set(header.Hash, address);
return address;
}
Expand Down
10 changes: 1 addition & 9 deletions src/Nethermind/Nethermind.Crypto/EthereumEcdsa.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
using System;
using System.Globalization;
using System.Numerics;
using System.Runtime.CompilerServices;
using Nethermind.Core;
using Nethermind.Core.Crypto;
using Nethermind.Core.Specs;

namespace Nethermind.Crypto
{
Expand All @@ -27,15 +25,9 @@ public class EthereumEcdsa(ulong chainId) : Ecdsa, IEthereumEcdsa

public ulong ChainId => chainId;

public EthereumEcdsa(ISpecProvider specProvider) : this(specProvider.ChainId)
{
}

public Address? RecoverAddress(Signature signature, in ValueHash256 message) => RecoverAddress(signature.Bytes, signature.RecoveryId, message.Bytes);

public Address? RecoverAddress(Span<byte> signatureBytes65, in ValueHash256 message) => RecoverAddress(signatureBytes65[..64], signatureBytes65[64], message.Bytes);

public static Address? RecoverAddress(Span<byte> signatureBytes64, byte v, ReadOnlySpan<byte> message)
private static Address? RecoverAddress(Span<byte> signatureBytes64, byte v, ReadOnlySpan<byte> message)
{
Span<byte> publicKey = stackalloc byte[65];
bool success = SpanSecP256k1.RecoverKeyFromCompact(
Expand Down
3 changes: 0 additions & 3 deletions src/Nethermind/Nethermind.Crypto/IEthereumEcdsa.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,5 @@ public interface IEthereumEcdsa : IEcdsa
=> RecoverAddress(signature, in message.ValueHash256);

Address? RecoverAddress(Signature signature, in ValueHash256 message);
Address? RecoverAddress(Span<byte> signatureBytes, Hash256 message)
=> RecoverAddress(signatureBytes, in message.ValueHash256);
Address? RecoverAddress(Span<byte> signatureBytes, in ValueHash256 message);
}
}
5 changes: 0 additions & 5 deletions src/Nethermind/Nethermind.Crypto/NullEthereumEcdsa.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,6 @@ public Address RecoverAddress(Transaction tx, bool useSignatureChainId = false)
throw new InvalidOperationException($"{nameof(NullEthereumEcdsa)} does not expect any calls");
}

public Address RecoverAddress(Span<byte> signatureBytes, in ValueHash256 message)
{
throw new InvalidOperationException($"{nameof(NullEthereumEcdsa)} does not expect any calls");
}

public bool Verify(Address sender, Transaction tx)
{
throw new InvalidOperationException($"{nameof(NullEthereumEcdsa)} does not expect any calls");
Expand Down
2 changes: 0 additions & 2 deletions src/Nethermind/Nethermind.Optimism/OptimismEthereumEcdsa.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,4 @@ public OptimismEthereumEcdsa(IEthereumEcdsa ethereumEcdsa)
_ethereumEcdsa = ethereumEcdsa;
}
public Address? RecoverAddress(Signature signature, in ValueHash256 message) => _ethereumEcdsa.RecoverAddress(signature, in message);

public Address? RecoverAddress(Span<byte> signatureBytes, in ValueHash256 message) => _ethereumEcdsa.RecoverAddress(signatureBytes, in message);
}