Skip to content

Commit

Permalink
validator fcu params using correct protocol spec
Browse files Browse the repository at this point in the history
Signed-off-by: Jason Frame <jason.frame@consensys.net>
  • Loading branch information
jframe committed Dec 1, 2022
1 parent 3244068 commit d35f3a5
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ public ProtocolSchedule getPostMergeSchedule() {
return transitionUtils.getPostMergeObject();
}

public ProtocolSpec getByTimestamp(final long timestamp) {
return timestampSchedule.getByTimestamp(timestamp).orElse(null);
}

@Override
public ProtocolSpec getByBlockHeader(final BlockHeader blockHeader) {
return this.timestampSchedule
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import static org.hyperledger.besu.util.Slf4jLambdaHelper.debugLambda;
import static org.hyperledger.besu.util.Slf4jLambdaHelper.warnLambda;

import org.hyperledger.besu.consensus.merge.TransitionProtocolSchedule;
import org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator;
import org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator.ForkchoiceResult;
import org.hyperledger.besu.consensus.merge.blockcreation.PayloadAttributes;
Expand All @@ -40,7 +41,6 @@
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.EngineUpdateForkchoiceResult;
import org.hyperledger.besu.ethereum.core.BlockHeader;
import org.hyperledger.besu.ethereum.core.Withdrawal;
import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule;

import java.util.List;
import java.util.Optional;
Expand All @@ -52,17 +52,17 @@

public class EngineForkchoiceUpdatedV2 extends ExecutionEngineJsonRpcMethod {
private static final Logger LOG = LoggerFactory.getLogger(EngineForkchoiceUpdatedV2.class);
private final ProtocolSchedule protocolSchedule;
private final TransitionProtocolSchedule transitionProtocolSchedule;
private final MergeMiningCoordinator mergeCoordinator;

public EngineForkchoiceUpdatedV2(
final Vertx vertx,
final ProtocolSchedule protocolSchedule,
final TransitionProtocolSchedule transitionProtocolSchedule,
final ProtocolContext protocolContext,
final MergeMiningCoordinator mergeCoordinator,
final EngineCallListener engineCallListener) {
super(vertx, protocolContext, engineCallListener);
this.protocolSchedule = protocolSchedule;
this.transitionProtocolSchedule = transitionProtocolSchedule;
this.mergeCoordinator = mergeCoordinator;
}

Expand Down Expand Up @@ -218,8 +218,8 @@ private boolean validatePayloadAttributes(
Optional.ofNullable(payloadAttributes.getWithdrawals())
.map(ws -> ws.stream().map(WithdrawalParameter::toWithdrawal).collect(toList()))
.orElse(null);
return protocolSchedule
.getByBlockNumber(protocolContext.getBlockchain().getChainHeadBlockNumber() + 1)
return transitionProtocolSchedule
.getByTimestamp(payloadAttributes.getTimestamp())
.getWithdrawalsValidator()
.validateWithdrawals(withdrawals);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
*/
package org.hyperledger.besu.ethereum.api.jsonrpc.methods;

import org.hyperledger.besu.consensus.merge.TransitionProtocolSchedule;
import org.hyperledger.besu.consensus.merge.blockcreation.MergeMiningCoordinator;
import org.hyperledger.besu.ethereum.ProtocolContext;
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcApis;
Expand All @@ -29,7 +30,6 @@
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResultFactory;
import org.hyperledger.besu.ethereum.blockcreation.MiningCoordinator;
import org.hyperledger.besu.ethereum.eth.manager.EthPeers;
import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule;

import java.util.Map;
import java.util.Optional;
Expand All @@ -41,14 +41,14 @@ public class ExecutionEngineJsonRpcMethods extends ApiGroupJsonRpcMethods {
private final BlockResultFactory blockResultFactory = new BlockResultFactory();

private final Optional<MergeMiningCoordinator> mergeCoordinator;
private final ProtocolSchedule protocolSchedule;
private final TransitionProtocolSchedule protocolSchedule;
private final ProtocolContext protocolContext;
private final EthPeers ethPeers;
private final Vertx consensusEngineServer;

ExecutionEngineJsonRpcMethods(
final MiningCoordinator miningCoordinator,
final ProtocolSchedule protocolSchedule,
final TransitionProtocolSchedule protocolSchedule,
final ProtocolContext protocolContext,
final EthPeers ethPeers,
final Vertx consensusEngineServer) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
package org.hyperledger.besu.ethereum.api.jsonrpc.methods;

import org.hyperledger.besu.config.GenesisConfigOptions;
import org.hyperledger.besu.consensus.merge.TransitionProtocolSchedule;
import org.hyperledger.besu.ethereum.ProtocolContext;
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.filter.FilterManager;
Expand Down Expand Up @@ -104,7 +105,7 @@ public Map<String, JsonRpcMethod> methods(
blockchainQueries, protocolSchedule, transactionPool, privacyParameters),
new ExecutionEngineJsonRpcMethods(
miningCoordinator,
protocolSchedule,
(TransitionProtocolSchedule) protocolSchedule,
protocolContext,
ethPeers,
consensusEngineServer),
Expand Down

0 comments on commit d35f3a5

Please sign in to comment.