mirror of
https://github.com/vacp2p/linea-besu.git
synced 2026-01-09 21:17:54 -05:00
narrows dependencies of BlockchainService (#7882)
Signed-off-by: jflo <justin+github@florentine.us>
This commit is contained in:
committed by
GitHub
parent
37ea0282de
commit
dc81641c58
@@ -327,7 +327,9 @@ public class ThreadBesuNodeRunner implements BesuNodeRunner {
|
||||
@Singleton
|
||||
BlockchainServiceImpl provideBlockchainService(final BesuController besuController) {
|
||||
BlockchainServiceImpl retval = new BlockchainServiceImpl();
|
||||
retval.init(besuController.getProtocolContext(), besuController.getProtocolSchedule());
|
||||
retval.init(
|
||||
besuController.getProtocolContext().getBlockchain(),
|
||||
besuController.getProtocolSchedule());
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
@@ -1233,7 +1233,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
|
||||
private void startPlugins(final Runner runner) {
|
||||
blockchainServiceImpl.init(
|
||||
besuController.getProtocolContext(), besuController.getProtocolSchedule());
|
||||
besuController.getProtocolContext().getBlockchain(), besuController.getProtocolSchedule());
|
||||
transactionSimulationServiceImpl.init(
|
||||
besuController.getProtocolContext().getBlockchain(),
|
||||
new TransactionSimulator(
|
||||
|
||||
@@ -16,7 +16,6 @@ package org.hyperledger.besu.services;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.ethereum.ProtocolContext;
|
||||
import org.hyperledger.besu.ethereum.chain.MutableBlockchain;
|
||||
import org.hyperledger.besu.ethereum.core.Block;
|
||||
import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule;
|
||||
@@ -40,7 +39,6 @@ import java.util.stream.Collectors;
|
||||
@Unstable
|
||||
public class BlockchainServiceImpl implements BlockchainService {
|
||||
|
||||
private ProtocolContext protocolContext;
|
||||
private ProtocolSchedule protocolSchedule;
|
||||
private MutableBlockchain blockchain;
|
||||
|
||||
@@ -50,13 +48,12 @@ public class BlockchainServiceImpl implements BlockchainService {
|
||||
/**
|
||||
* Initialize the Blockchain service.
|
||||
*
|
||||
* @param protocolContext the protocol context
|
||||
* @param blockchain the blockchain
|
||||
* @param protocolSchedule the protocol schedule
|
||||
*/
|
||||
public void init(final ProtocolContext protocolContext, final ProtocolSchedule protocolSchedule) {
|
||||
this.protocolContext = protocolContext;
|
||||
public void init(final MutableBlockchain blockchain, final ProtocolSchedule protocolSchedule) {
|
||||
this.protocolSchedule = protocolSchedule;
|
||||
this.blockchain = protocolContext.getBlockchain();
|
||||
this.blockchain = blockchain;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,25 +64,24 @@ public class BlockchainServiceImpl implements BlockchainService {
|
||||
*/
|
||||
@Override
|
||||
public Optional<BlockContext> getBlockByNumber(final long number) {
|
||||
return protocolContext
|
||||
.getBlockchain()
|
||||
return blockchain
|
||||
.getBlockByNumber(number)
|
||||
.map(block -> blockContext(block::getHeader, block::getBody));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Hash getChainHeadHash() {
|
||||
return protocolContext.getBlockchain().getChainHeadHash();
|
||||
return blockchain.getChainHeadHash();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockHeader getChainHeadHeader() {
|
||||
return protocolContext.getBlockchain().getChainHeadHeader();
|
||||
return blockchain.getChainHeadHeader();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Wei> getNextBlockBaseFee() {
|
||||
final var chainHeadHeader = protocolContext.getBlockchain().getChainHeadHeader();
|
||||
final var chainHeadHeader = blockchain.getChainHeadHeader();
|
||||
final var protocolSpec =
|
||||
protocolSchedule.getForNextBlockHeader(chainHeadHeader, System.currentTimeMillis());
|
||||
return Optional.of(protocolSpec.getFeeMarket())
|
||||
|
||||
Reference in New Issue
Block a user