AerePqcPrecompileProvider: eth_config names the AERE precompile band as the Besu-derived client does, and the AERE chains use the no-op execution-requests processor (as running on validator 10)
This commit is contained in:
parent
147becebef
commit
66f8f4528f
@ -51,6 +51,17 @@ public sealed class AerePqcPrecompileProvider : IPrecompileProvider
|
|||||||
new(SlhDsa128sPrecompile.Address, new CodeInfo(SlhDsa128sPrecompile.Instance)),
|
new(SlhDsa128sPrecompile.Address, new CodeInfo(SlhDsa128sPrecompile.Instance)),
|
||||||
new(Shake256Precompile.Address, new CodeInfo(Shake256Precompile.Instance)),
|
new(Shake256Precompile.Address, new CodeInfo(Shake256Precompile.Instance)),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/// <summary>The names eth_config gives the band (D-560, 2026-10-27): exactly the names the Besu-derived client gives the same five
|
||||||
|
/// addresses on chain 2800 (eth_config of rpc.aere.network, read 2026-10-27), so the two clients answer the same.</summary>
|
||||||
|
public static IEnumerable<KeyValuePair<string, Address>> BandNames() =>
|
||||||
|
[
|
||||||
|
new("AereFalcon512", Falcon512Precompile.Address),
|
||||||
|
new("AereFalcon1024", Falcon1024Precompile.Address),
|
||||||
|
new("AereMLDSA44", MlDsa44Precompile.Address),
|
||||||
|
new("AereSLHDSA128s", SlhDsa128sPrecompile.Address),
|
||||||
|
new("AereSHAKE256", Shake256Precompile.Address),
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -62,5 +73,13 @@ public sealed class AerePqcPrecompileProvider : IPrecompileProvider
|
|||||||
internal static class AerePqcBandRegistration
|
internal static class AerePqcBandRegistration
|
||||||
{
|
{
|
||||||
[System.Runtime.CompilerServices.ModuleInitializer]
|
[System.Runtime.CompilerServices.ModuleInitializer]
|
||||||
internal static void Register() => EthereumPrecompileProvider.AereBand = AerePqcPrecompileProvider.Band;
|
internal static void Register()
|
||||||
|
{
|
||||||
|
EthereumPrecompileProvider.AereBand = AerePqcPrecompileProvider.Band;
|
||||||
|
// D-560 (2026-10-27): eth_config names the band as the Besu-derived client does (d560-eth-config-nm.py adds the hook)
|
||||||
|
Nethermind.Evm.Precompiles.Extensions.AereBandNames = AerePqcPrecompileProvider.BandNames;
|
||||||
|
// D-561 (2026-10-27): every path that builds an execution-requests processor builds the no-op one of the AERE chains
|
||||||
|
// (d561-cereri-noop-nm.py adds the hook); the Besu-derived client processes no request on these chains
|
||||||
|
Nethermind.Consensus.ExecutionRequests.ExecutionRequestsProcessor.AereReplacement = _ => new Nethermind.AerePqc.Consensus.AereExecutionRequestsProcessor();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user