mirror of
https://github.com/vacp2p/linea-besu.git
synced 2026-01-08 20:47:59 -05:00
In process RPC service (#40)
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
This commit is contained in:
2
.github/workflows/workflow.yaml
vendored
2
.github/workflows/workflow.yaml
vendored
@@ -40,7 +40,7 @@ jobs:
|
||||
run: ./gradlew clean spotlessCheck
|
||||
|
||||
- name: Test & Build
|
||||
run: ./gradlew build -x checkLicense
|
||||
run: ./gradlew build
|
||||
|
||||
- name: Test Report
|
||||
uses: dorny/test-reporter@v1
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.hyperledger.besu.crypto.KeyPair;
|
||||
import org.hyperledger.besu.crypto.KeyPairUtil;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.ethereum.api.ApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.ipc.JsonRpcIpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.websocket.WebSocketConfiguration;
|
||||
@@ -109,6 +110,7 @@ public class BesuNode implements NodeConfiguration, RunnableNode, AutoCloseable
|
||||
private final Optional<JsonRpcConfiguration> engineRpcConfiguration;
|
||||
private final WebSocketConfiguration webSocketConfiguration;
|
||||
private final JsonRpcIpcConfiguration jsonRpcIpcConfiguration;
|
||||
private final InProcessRpcConfiguration inProcessRpcConfiguration;
|
||||
private final MetricsConfiguration metricsConfiguration;
|
||||
private final DataStorageConfiguration dataStorageConfiguration;
|
||||
private Optional<PermissioningConfiguration> permissioningConfiguration;
|
||||
@@ -143,6 +145,7 @@ public class BesuNode implements NodeConfiguration, RunnableNode, AutoCloseable
|
||||
final Optional<JsonRpcConfiguration> engineRpcConfiguration,
|
||||
final WebSocketConfiguration webSocketConfiguration,
|
||||
final JsonRpcIpcConfiguration jsonRpcIpcConfiguration,
|
||||
final InProcessRpcConfiguration inProcessRpcConfiguration,
|
||||
final MetricsConfiguration metricsConfiguration,
|
||||
final Optional<PermissioningConfiguration> permissioningConfiguration,
|
||||
final ApiConfiguration apiConfiguration,
|
||||
@@ -193,6 +196,7 @@ public class BesuNode implements NodeConfiguration, RunnableNode, AutoCloseable
|
||||
this.engineRpcConfiguration = engineRpcConfiguration;
|
||||
this.webSocketConfiguration = webSocketConfiguration;
|
||||
this.jsonRpcIpcConfiguration = jsonRpcIpcConfiguration;
|
||||
this.inProcessRpcConfiguration = inProcessRpcConfiguration;
|
||||
this.metricsConfiguration = metricsConfiguration;
|
||||
this.permissioningConfiguration = permissioningConfiguration;
|
||||
this.apiConfiguration = apiConfiguration;
|
||||
@@ -624,6 +628,10 @@ public class BesuNode implements NodeConfiguration, RunnableNode, AutoCloseable
|
||||
return jsonRpcIpcConfiguration;
|
||||
}
|
||||
|
||||
InProcessRpcConfiguration inProcessRpcConfiguration() {
|
||||
return inProcessRpcConfiguration;
|
||||
}
|
||||
|
||||
Optional<String> wsRpcListenHost() {
|
||||
return Optional.of(webSocketConfiguration().getHost());
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ import org.hyperledger.besu.cryptoservices.NodeKey;
|
||||
import org.hyperledger.besu.ethereum.GasLimitCalculator;
|
||||
import org.hyperledger.besu.ethereum.api.ApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.graphql.GraphQLConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.core.ImmutableMiningParameters;
|
||||
import org.hyperledger.besu.ethereum.core.plugins.PluginConfiguration;
|
||||
import org.hyperledger.besu.ethereum.eth.EthProtocolConfiguration;
|
||||
@@ -105,6 +106,7 @@ public class ThreadBesuNodeRunner implements BesuNodeRunner {
|
||||
final TransactionPoolValidatorServiceImpl transactionPoolValidatorServiceImpl,
|
||||
final BlockchainServiceImpl blockchainServiceImpl,
|
||||
final RpcEndpointServiceImpl rpcEndpointServiceImpl,
|
||||
final BesuEventsImpl besuEventsImpl,
|
||||
final BesuConfiguration commonPluginConfiguration,
|
||||
final PermissioningServiceImpl permissioningService) {
|
||||
final CommandLine commandLine = new CommandLine(CommandSpec.create());
|
||||
@@ -121,6 +123,7 @@ public class ThreadBesuNodeRunner implements BesuNodeRunner {
|
||||
TransactionSimulationService.class, transactionSimulationServiceImpl);
|
||||
besuPluginContext.addService(BlockchainService.class, blockchainServiceImpl);
|
||||
besuPluginContext.addService(BesuConfiguration.class, commonPluginConfiguration);
|
||||
besuPluginContext.addService(BesuEvents.class, besuEventsImpl);
|
||||
|
||||
final Path pluginsPath;
|
||||
final String pluginDir = System.getProperty("besu.plugins.dir");
|
||||
@@ -174,6 +177,7 @@ public class ThreadBesuNodeRunner implements BesuNodeRunner {
|
||||
final Path dataDir = node.homeDirectory();
|
||||
final BesuConfigurationImpl commonPluginConfiguration = new BesuConfigurationImpl();
|
||||
final PermissioningServiceImpl permissioningService = new PermissioningServiceImpl();
|
||||
final BesuEventsImpl besuEventsImpl = new BesuEventsImpl();
|
||||
|
||||
final var miningParameters =
|
||||
ImmutableMiningParameters.builder()
|
||||
@@ -197,6 +201,7 @@ public class ThreadBesuNodeRunner implements BesuNodeRunner {
|
||||
transactionPoolValidatorServiceImpl,
|
||||
blockchainServiceImpl,
|
||||
rpcEndpointServiceImpl,
|
||||
besuEventsImpl,
|
||||
commonPluginConfiguration,
|
||||
permissioningService));
|
||||
|
||||
@@ -236,6 +241,8 @@ public class ThreadBesuNodeRunner implements BesuNodeRunner {
|
||||
.transactionPoolValidatorService(transactionPoolValidatorServiceImpl)
|
||||
.build();
|
||||
|
||||
final InProcessRpcConfiguration inProcessRpcConfiguration = node.inProcessRpcConfiguration();
|
||||
|
||||
final int maxPeers = 25;
|
||||
|
||||
builder
|
||||
@@ -297,7 +304,8 @@ public class ThreadBesuNodeRunner implements BesuNodeRunner {
|
||||
.besuPluginContext(besuPluginContext)
|
||||
.autoLogBloomCaching(false)
|
||||
.storageProvider(storageProvider)
|
||||
.rpcEndpointService(rpcEndpointServiceImpl);
|
||||
.rpcEndpointService(rpcEndpointServiceImpl)
|
||||
.inProcessRpcConfiguration(inProcessRpcConfiguration);
|
||||
node.engineRpcConfiguration().ifPresent(runnerBuilder::engineJsonRpcConfiguration);
|
||||
|
||||
besuPluginContext.beforeExternalServices();
|
||||
@@ -305,14 +313,15 @@ public class ThreadBesuNodeRunner implements BesuNodeRunner {
|
||||
|
||||
runner.startExternalServices();
|
||||
|
||||
besuPluginContext.addService(
|
||||
BesuEvents.class,
|
||||
new BesuEventsImpl(
|
||||
besuController.getProtocolContext().getBlockchain(),
|
||||
besuController.getProtocolManager().getBlockBroadcaster(),
|
||||
besuController.getTransactionPool(),
|
||||
besuController.getSyncState(),
|
||||
besuController.getProtocolContext().getBadBlockManager()));
|
||||
besuEventsImpl.init(
|
||||
besuController.getProtocolContext().getBlockchain(),
|
||||
besuController.getProtocolManager().getBlockBroadcaster(),
|
||||
besuController.getTransactionPool(),
|
||||
besuController.getSyncState(),
|
||||
besuController.getProtocolContext().getBadBlockManager());
|
||||
|
||||
rpcEndpointServiceImpl.init(runner.getInProcessRpcMethods());
|
||||
|
||||
besuPluginContext.startPlugins();
|
||||
|
||||
runner.startEthereumMainLoop();
|
||||
|
||||
@@ -17,6 +17,7 @@ package org.hyperledger.besu.tests.acceptance.dsl.node.configuration;
|
||||
import org.hyperledger.besu.cli.config.NetworkName;
|
||||
import org.hyperledger.besu.crypto.KeyPair;
|
||||
import org.hyperledger.besu.ethereum.api.ApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.ipc.JsonRpcIpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.websocket.WebSocketConfiguration;
|
||||
@@ -46,6 +47,7 @@ public class BesuNodeConfiguration {
|
||||
private final Optional<JsonRpcConfiguration> engineRpcConfiguration;
|
||||
private final WebSocketConfiguration webSocketConfiguration;
|
||||
private final JsonRpcIpcConfiguration jsonRpcIpcConfiguration;
|
||||
private final InProcessRpcConfiguration inProcessRpcConfiguration;
|
||||
private final MetricsConfiguration metricsConfiguration;
|
||||
private final Optional<PermissioningConfiguration> permissioningConfiguration;
|
||||
private final ApiConfiguration apiConfiguration;
|
||||
@@ -83,6 +85,7 @@ public class BesuNodeConfiguration {
|
||||
final Optional<JsonRpcConfiguration> engineRpcConfiguration,
|
||||
final WebSocketConfiguration webSocketConfiguration,
|
||||
final JsonRpcIpcConfiguration jsonRpcIpcConfiguration,
|
||||
final InProcessRpcConfiguration inProcessRpcConfiguration,
|
||||
final MetricsConfiguration metricsConfiguration,
|
||||
final Optional<PermissioningConfiguration> permissioningConfiguration,
|
||||
final ApiConfiguration apiConfiguration,
|
||||
@@ -117,6 +120,7 @@ public class BesuNodeConfiguration {
|
||||
this.engineRpcConfiguration = engineRpcConfiguration;
|
||||
this.webSocketConfiguration = webSocketConfiguration;
|
||||
this.jsonRpcIpcConfiguration = jsonRpcIpcConfiguration;
|
||||
this.inProcessRpcConfiguration = inProcessRpcConfiguration;
|
||||
this.metricsConfiguration = metricsConfiguration;
|
||||
this.permissioningConfiguration = permissioningConfiguration;
|
||||
this.apiConfiguration = apiConfiguration;
|
||||
@@ -175,6 +179,10 @@ public class BesuNodeConfiguration {
|
||||
return jsonRpcIpcConfiguration;
|
||||
}
|
||||
|
||||
public InProcessRpcConfiguration getInProcessRpcConfiguration() {
|
||||
return inProcessRpcConfiguration;
|
||||
}
|
||||
|
||||
public MetricsConfiguration getMetricsConfiguration() {
|
||||
return metricsConfiguration;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ import org.hyperledger.besu.cli.config.NetworkName;
|
||||
import org.hyperledger.besu.crypto.KeyPair;
|
||||
import org.hyperledger.besu.ethereum.api.ApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.ImmutableApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.ImmutableInProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcApis;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.authentication.JwtAlgorithm;
|
||||
@@ -71,6 +73,8 @@ public class BesuNodeConfigurationBuilder {
|
||||
private JsonRpcConfiguration engineRpcConfiguration = JsonRpcConfiguration.createEngineDefault();
|
||||
private WebSocketConfiguration webSocketConfiguration = WebSocketConfiguration.createDefault();
|
||||
private JsonRpcIpcConfiguration jsonRpcIpcConfiguration = new JsonRpcIpcConfiguration();
|
||||
private InProcessRpcConfiguration inProcessRpcConfiguration =
|
||||
ImmutableInProcessRpcConfiguration.builder().build();
|
||||
private MetricsConfiguration metricsConfiguration = MetricsConfiguration.builder().build();
|
||||
private Optional<PermissioningConfiguration> permissioningConfiguration = Optional.empty();
|
||||
private ApiConfiguration apiConfiguration = ImmutableApiConfiguration.builder().build();
|
||||
@@ -260,6 +264,12 @@ public class BesuNodeConfigurationBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public BesuNodeConfigurationBuilder inProcessRpcConfiguration(
|
||||
final InProcessRpcConfiguration inProcessRpcConfiguration) {
|
||||
this.inProcessRpcConfiguration = inProcessRpcConfiguration;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BesuNodeConfigurationBuilder metricsConfiguration(
|
||||
final MetricsConfiguration metricsConfiguration) {
|
||||
this.metricsConfiguration = metricsConfiguration;
|
||||
@@ -525,6 +535,7 @@ public class BesuNodeConfigurationBuilder {
|
||||
Optional.of(engineRpcConfiguration),
|
||||
webSocketConfiguration,
|
||||
jsonRpcIpcConfiguration,
|
||||
inProcessRpcConfiguration,
|
||||
metricsConfiguration,
|
||||
permissioningConfiguration,
|
||||
apiConfiguration,
|
||||
|
||||
@@ -64,6 +64,7 @@ public class BesuNodeFactory {
|
||||
config.getEngineRpcConfiguration(),
|
||||
config.getWebSocketConfiguration(),
|
||||
config.getJsonRpcIpcConfiguration(),
|
||||
config.getInProcessRpcConfiguration(),
|
||||
config.getMetricsConfiguration(),
|
||||
config.getPermissioningConfiguration(),
|
||||
config.getApiConfiguration(),
|
||||
@@ -392,6 +393,7 @@ public class BesuNodeFactory {
|
||||
.miningEnabled()
|
||||
.jsonRpcConfiguration(node.createJsonRpcWithCliqueEnabledConfig(extraRpcApis))
|
||||
.webSocketConfiguration(node.createWebSocketEnabledConfig())
|
||||
.inProcessRpcConfiguration(node.createInProcessRpcConfiguration(extraRpcApis))
|
||||
.devMode(false)
|
||||
.jsonRpcTxPool()
|
||||
.genesisConfigProvider(
|
||||
|
||||
@@ -22,6 +22,8 @@ import static org.hyperledger.besu.ethereum.api.jsonrpc.RpcApis.IBFT;
|
||||
import static org.hyperledger.besu.ethereum.api.jsonrpc.RpcApis.MINER;
|
||||
import static org.hyperledger.besu.ethereum.api.jsonrpc.RpcApis.QBFT;
|
||||
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.ImmutableInProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.websocket.WebSocketConfiguration;
|
||||
import org.hyperledger.besu.tests.acceptance.dsl.node.RunnableNode;
|
||||
@@ -94,4 +96,14 @@ public class NodeConfigurationFactory {
|
||||
jsonRpcConfig.setRpcApis(rpcApis);
|
||||
return jsonRpcConfig;
|
||||
}
|
||||
|
||||
public InProcessRpcConfiguration createInProcessRpcConfiguration(final Set<String> extraRpcApis) {
|
||||
final Set<String> rpcApis =
|
||||
new HashSet<>(ImmutableInProcessRpcConfiguration.DEFAULT_IN_PROCESS_RPC_APIS);
|
||||
rpcApis.addAll(extraRpcApis);
|
||||
return ImmutableInProcessRpcConfiguration.builder()
|
||||
.inProcessRpcApis(rpcApis)
|
||||
.isEnabled(true)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,6 +106,7 @@ public class PrivacyNode implements AutoCloseable {
|
||||
besuConfig.getEngineRpcConfiguration(),
|
||||
besuConfig.getWebSocketConfiguration(),
|
||||
besuConfig.getJsonRpcIpcConfiguration(),
|
||||
config.getInProcessRpcConfiguration(),
|
||||
besuConfig.getMetricsConfiguration(),
|
||||
besuConfig.getPermissioningConfiguration(),
|
||||
besuConfig.getApiConfiguration(),
|
||||
|
||||
@@ -18,6 +18,7 @@ import org.hyperledger.besu.controller.BesuController;
|
||||
import org.hyperledger.besu.ethereum.api.graphql.GraphQLHttpService;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.EngineJsonRpcService;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcHttpService;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.ipc.JsonRpcIpcService;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.websocket.WebSocketService;
|
||||
import org.hyperledger.besu.ethereum.api.query.cache.AutoTransactionLogBloomCachingService;
|
||||
@@ -39,6 +40,7 @@ import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Properties;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
@@ -69,6 +71,7 @@ public class Runner implements AutoCloseable {
|
||||
private final Optional<EngineJsonRpcService> engineJsonRpc;
|
||||
private final Optional<MetricsService> metrics;
|
||||
private final Optional<JsonRpcIpcService> ipcJsonRpc;
|
||||
private final Map<String, JsonRpcMethod> inProcessRpcMethods;
|
||||
private final Optional<Path> pidPath;
|
||||
private final Optional<WebSocketService> webSocketRpc;
|
||||
private final TransactionPoolEvictionService transactionPoolEvictionService;
|
||||
@@ -90,6 +93,7 @@ public class Runner implements AutoCloseable {
|
||||
* @param graphQLHttp the graph ql http
|
||||
* @param webSocketRpc the web socket rpc
|
||||
* @param ipcJsonRpc the ipc json rpc
|
||||
* @param inProcessRpcMethods the in-process rpc methods
|
||||
* @param stratumServer the stratum server
|
||||
* @param metrics the metrics
|
||||
* @param ethStatsService the eth stats service
|
||||
@@ -108,6 +112,7 @@ public class Runner implements AutoCloseable {
|
||||
final Optional<GraphQLHttpService> graphQLHttp,
|
||||
final Optional<WebSocketService> webSocketRpc,
|
||||
final Optional<JsonRpcIpcService> ipcJsonRpc,
|
||||
final Map<String, JsonRpcMethod> inProcessRpcMethods,
|
||||
final Optional<StratumServer> stratumServer,
|
||||
final Optional<MetricsService> metrics,
|
||||
final Optional<EthStatsService> ethStatsService,
|
||||
@@ -125,6 +130,7 @@ public class Runner implements AutoCloseable {
|
||||
this.engineJsonRpc = engineJsonRpc;
|
||||
this.webSocketRpc = webSocketRpc;
|
||||
this.ipcJsonRpc = ipcJsonRpc;
|
||||
this.inProcessRpcMethods = inProcessRpcMethods;
|
||||
this.metrics = metrics;
|
||||
this.ethStatsService = ethStatsService;
|
||||
this.besuController = besuController;
|
||||
@@ -413,6 +419,15 @@ public class Runner implements AutoCloseable {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the RPC methods that can be called in-process
|
||||
*
|
||||
* @return RPC methods by name
|
||||
*/
|
||||
public Map<String, JsonRpcMethod> getInProcessRpcMethods() {
|
||||
return inProcessRpcMethods;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets local enode.
|
||||
*
|
||||
|
||||
@@ -34,6 +34,7 @@ import org.hyperledger.besu.ethereum.api.graphql.GraphQLDataFetchers;
|
||||
import org.hyperledger.besu.ethereum.api.graphql.GraphQLHttpService;
|
||||
import org.hyperledger.besu.ethereum.api.graphql.GraphQLProvider;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.EngineJsonRpcService;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcHttpService;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.authentication.AuthenticationService;
|
||||
@@ -176,6 +177,7 @@ public class RunnerBuilder {
|
||||
private Optional<JsonRpcConfiguration> engineJsonRpcConfiguration = Optional.empty();
|
||||
private GraphQLConfiguration graphQLConfiguration;
|
||||
private WebSocketConfiguration webSocketConfiguration;
|
||||
private InProcessRpcConfiguration inProcessRpcConfiguration;
|
||||
private ApiConfiguration apiConfiguration;
|
||||
private Path dataDir;
|
||||
private Optional<Path> pidPath = Optional.empty();
|
||||
@@ -410,6 +412,18 @@ public class RunnerBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add In-Process RPC configuration.
|
||||
*
|
||||
* @param inProcessRpcConfiguration the in-process RPC configuration
|
||||
* @return the runner builder
|
||||
*/
|
||||
public RunnerBuilder inProcessRpcConfiguration(
|
||||
final InProcessRpcConfiguration inProcessRpcConfiguration) {
|
||||
this.inProcessRpcConfiguration = inProcessRpcConfiguration;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add Api configuration.
|
||||
*
|
||||
@@ -1047,6 +1061,37 @@ public class RunnerBuilder {
|
||||
jsonRpcIpcService = Optional.empty();
|
||||
}
|
||||
|
||||
final Map<String, JsonRpcMethod> inProcessRpcMethods;
|
||||
if (inProcessRpcConfiguration.isEnabled()) {
|
||||
inProcessRpcMethods =
|
||||
jsonRpcMethods(
|
||||
protocolSchedule,
|
||||
context,
|
||||
besuController,
|
||||
peerNetwork,
|
||||
blockchainQueries,
|
||||
synchronizer,
|
||||
transactionPool,
|
||||
miningParameters,
|
||||
miningCoordinator,
|
||||
metricsSystem,
|
||||
supportedCapabilities,
|
||||
inProcessRpcConfiguration.getInProcessRpcApis(),
|
||||
filterManager,
|
||||
accountLocalConfigPermissioningController,
|
||||
nodeLocalConfigPermissioningController,
|
||||
privacyParameters,
|
||||
jsonRpcConfiguration,
|
||||
webSocketConfiguration,
|
||||
metricsConfiguration,
|
||||
natService,
|
||||
besuPluginContext.getNamedPlugins(),
|
||||
dataDir,
|
||||
rpcEndpointServiceImpl);
|
||||
} else {
|
||||
inProcessRpcMethods = Map.of();
|
||||
}
|
||||
|
||||
return new Runner(
|
||||
vertx,
|
||||
networkRunner,
|
||||
@@ -1056,6 +1101,7 @@ public class RunnerBuilder {
|
||||
graphQLHttpService,
|
||||
webSocketService,
|
||||
jsonRpcIpcService,
|
||||
inProcessRpcMethods,
|
||||
stratumServer,
|
||||
metricsService,
|
||||
ethStatsService,
|
||||
|
||||
@@ -63,6 +63,7 @@ import org.hyperledger.besu.cli.options.unstable.ChainPruningOptions;
|
||||
import org.hyperledger.besu.cli.options.unstable.DnsOptions;
|
||||
import org.hyperledger.besu.cli.options.unstable.EthProtocolOptions;
|
||||
import org.hyperledger.besu.cli.options.unstable.EvmOptions;
|
||||
import org.hyperledger.besu.cli.options.unstable.InProcessRpcOptions;
|
||||
import org.hyperledger.besu.cli.options.unstable.IpcOptions;
|
||||
import org.hyperledger.besu.cli.options.unstable.MetricsCLIOptions;
|
||||
import org.hyperledger.besu.cli.options.unstable.NatOptions;
|
||||
@@ -110,6 +111,7 @@ import org.hyperledger.besu.enclave.EnclaveFactory;
|
||||
import org.hyperledger.besu.ethereum.GasLimitCalculator;
|
||||
import org.hyperledger.besu.ethereum.api.ApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.graphql.GraphQLConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcApis;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.authentication.JwtAlgorithm;
|
||||
@@ -393,6 +395,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
private final TransactionPoolValidatorServiceImpl transactionValidatorServiceImpl;
|
||||
private final TransactionSimulationServiceImpl transactionSimulationServiceImpl;
|
||||
private final BlockchainServiceImpl blockchainServiceImpl;
|
||||
private final BesuEventsImpl besuEventsImpl;
|
||||
|
||||
static class P2PDiscoveryOptionGroup {
|
||||
|
||||
@@ -639,6 +642,10 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
@CommandLine.ArgGroup(validate = false, heading = "@|bold JSON-RPC Websocket Options|@%n")
|
||||
RpcWebsocketOptions rpcWebsocketOptions = new RpcWebsocketOptions();
|
||||
|
||||
// In-Process RPC Options
|
||||
@CommandLine.ArgGroup(validate = false, heading = "@|bold In-Process RPC Options|@%n")
|
||||
InProcessRpcOptions inProcessRpcOptions = InProcessRpcOptions.create();
|
||||
|
||||
// Privacy Options Group
|
||||
@CommandLine.ArgGroup(validate = false, heading = "@|bold Privacy Options|@%n")
|
||||
PrivacyOptionGroup privacyOptionGroup = new PrivacyOptionGroup();
|
||||
@@ -900,6 +907,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
private GraphQLConfiguration graphQLConfiguration;
|
||||
private WebSocketConfiguration webSocketConfiguration;
|
||||
private JsonRpcIpcConfiguration jsonRpcIpcConfiguration;
|
||||
private InProcessRpcConfiguration inProcessRpcConfiguration;
|
||||
private ApiConfiguration apiConfiguration;
|
||||
private MetricsConfiguration metricsConfiguration;
|
||||
private Optional<PermissioningConfiguration> permissioningConfiguration;
|
||||
@@ -959,7 +967,8 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
new TransactionSelectionServiceImpl(),
|
||||
new TransactionPoolValidatorServiceImpl(),
|
||||
new TransactionSimulationServiceImpl(),
|
||||
new BlockchainServiceImpl());
|
||||
new BlockchainServiceImpl(),
|
||||
new BesuEventsImpl());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -983,6 +992,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
* @param transactionValidatorServiceImpl instance of TransactionValidatorServiceImpl
|
||||
* @param transactionSimulationServiceImpl instance of TransactionSimulationServiceImpl
|
||||
* @param blockchainServiceImpl instance of BlockchainServiceImpl
|
||||
* @param besuEventsImpl instance of BesuEventsImpl
|
||||
*/
|
||||
@VisibleForTesting
|
||||
protected BesuCommand(
|
||||
@@ -1003,7 +1013,8 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
final TransactionSelectionServiceImpl transactionSelectionServiceImpl,
|
||||
final TransactionPoolValidatorServiceImpl transactionValidatorServiceImpl,
|
||||
final TransactionSimulationServiceImpl transactionSimulationServiceImpl,
|
||||
final BlockchainServiceImpl blockchainServiceImpl) {
|
||||
final BlockchainServiceImpl blockchainServiceImpl,
|
||||
final BesuEventsImpl besuEventsImpl) {
|
||||
this.besuComponent = besuComponent;
|
||||
this.logger = besuComponent.getBesuCommandLogger();
|
||||
this.rlpBlockImporter = rlpBlockImporter;
|
||||
@@ -1025,6 +1036,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
this.transactionValidatorServiceImpl = transactionValidatorServiceImpl;
|
||||
this.transactionSimulationServiceImpl = transactionSimulationServiceImpl;
|
||||
this.blockchainServiceImpl = blockchainServiceImpl;
|
||||
this.besuEventsImpl = besuEventsImpl;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1283,6 +1295,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
besuPluginContext.addService(
|
||||
TransactionSimulationService.class, transactionSimulationServiceImpl);
|
||||
besuPluginContext.addService(BlockchainService.class, blockchainServiceImpl);
|
||||
besuPluginContext.addService(BesuEvents.class, besuEventsImpl);
|
||||
|
||||
// register built-in plugins
|
||||
rocksDBPlugin = new RocksDBPlugin();
|
||||
@@ -1331,6 +1344,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
engineJsonRpcConfiguration,
|
||||
webSocketConfiguration,
|
||||
jsonRpcIpcConfiguration,
|
||||
inProcessRpcConfiguration,
|
||||
apiConfiguration,
|
||||
metricsConfiguration,
|
||||
permissioningConfiguration,
|
||||
@@ -1348,15 +1362,15 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
besuController.getProtocolContext().getWorldStateArchive(),
|
||||
besuController.getProtocolSchedule(),
|
||||
apiConfiguration.getGasCap()));
|
||||
rpcEndpointServiceImpl.init(runner.getInProcessRpcMethods());
|
||||
|
||||
besuEventsImpl.init(
|
||||
besuController.getProtocolContext().getBlockchain(),
|
||||
besuController.getProtocolManager().getBlockBroadcaster(),
|
||||
besuController.getTransactionPool(),
|
||||
besuController.getSyncState(),
|
||||
besuController.getProtocolContext().getBadBlockManager());
|
||||
|
||||
besuPluginContext.addService(
|
||||
BesuEvents.class,
|
||||
new BesuEventsImpl(
|
||||
besuController.getProtocolContext().getBlockchain(),
|
||||
besuController.getProtocolManager().getBlockBroadcaster(),
|
||||
besuController.getTransactionPool(),
|
||||
besuController.getSyncState(),
|
||||
besuController.getProtocolContext().getBadBlockManager()));
|
||||
besuPluginContext.addService(MetricsSystem.class, getMetricsSystem());
|
||||
|
||||
besuPluginContext.addService(BlockchainService.class, blockchainServiceImpl);
|
||||
@@ -1789,6 +1803,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
unstableIpcOptions.isEnabled(),
|
||||
unstableIpcOptions.getIpcPath(),
|
||||
unstableIpcOptions.getRpcIpcApis());
|
||||
inProcessRpcConfiguration = inProcessRpcOptions.toDomainObject();
|
||||
apiConfiguration = apiConfigurationOptions.apiConfiguration();
|
||||
dataStorageConfiguration = getDataStorageConfiguration();
|
||||
// hostsWhitelist is a hidden option. If it is specified, add the list to hostAllowlist
|
||||
@@ -2272,6 +2287,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
final JsonRpcConfiguration engineJsonRpcConfiguration,
|
||||
final WebSocketConfiguration webSocketConfiguration,
|
||||
final JsonRpcIpcConfiguration jsonRpcIpcConfiguration,
|
||||
final InProcessRpcConfiguration inProcessRpcConfiguration,
|
||||
final ApiConfiguration apiConfiguration,
|
||||
final MetricsConfiguration metricsConfiguration,
|
||||
final Optional<PermissioningConfiguration> permissioningConfiguration,
|
||||
@@ -2304,6 +2320,7 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
.engineJsonRpcConfiguration(engineJsonRpcConfiguration)
|
||||
.webSocketConfiguration(webSocketConfiguration)
|
||||
.jsonRpcIpcConfiguration(jsonRpcIpcConfiguration)
|
||||
.inProcessRpcConfiguration(inProcessRpcConfiguration)
|
||||
.apiConfiguration(apiConfiguration)
|
||||
.pidPath(pidPath)
|
||||
.dataDir(dataDir())
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Copyright contributors to Hyperledger Besu.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
|
||||
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations under the License.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
package org.hyperledger.besu.cli.options.unstable;
|
||||
|
||||
import static org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration.DEFAULT_IN_PROCESS_RPC_APIS;
|
||||
import static org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration.DEFAULT_IN_PROCESS_RPC_ENABLED;
|
||||
|
||||
import org.hyperledger.besu.cli.options.CLIOptions;
|
||||
import org.hyperledger.besu.cli.util.CommandLineUtils;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.ImmutableInProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import picocli.CommandLine;
|
||||
|
||||
/** The in process RPC options. */
|
||||
public class InProcessRpcOptions implements CLIOptions<InProcessRpcConfiguration> {
|
||||
|
||||
/** Default constructor. */
|
||||
InProcessRpcOptions() {}
|
||||
|
||||
/**
|
||||
* Create ipc options.
|
||||
*
|
||||
* @return the ipc options
|
||||
*/
|
||||
public static InProcessRpcOptions create() {
|
||||
return new InProcessRpcOptions();
|
||||
}
|
||||
|
||||
@CommandLine.Option(
|
||||
names = {"--Xin-process-rpc-enabled"},
|
||||
hidden = true,
|
||||
description = "Set to enalbe in-process RPC method call service (default: ${DEFAULT-VALUE})")
|
||||
private final Boolean enabled = DEFAULT_IN_PROCESS_RPC_ENABLED;
|
||||
|
||||
@CommandLine.Option(
|
||||
names = {"--Xin-process-rpc-api", "--Xin-process-rpc-apis"},
|
||||
hidden = true,
|
||||
paramLabel = "<api name>",
|
||||
split = " {0,1}, {0,1}",
|
||||
arity = "1..*",
|
||||
description =
|
||||
"Comma separated list of APIs to enable on in-process RPC method call service (default: ${DEFAULT-VALUE})")
|
||||
private final Set<String> inProcessRpcApis = DEFAULT_IN_PROCESS_RPC_APIS;
|
||||
|
||||
@Override
|
||||
public InProcessRpcConfiguration toDomainObject() {
|
||||
return ImmutableInProcessRpcConfiguration.builder()
|
||||
.isEnabled(enabled)
|
||||
.inProcessRpcApis(inProcessRpcApis)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getCLIOptions() {
|
||||
return CommandLineUtils.getCLIOptions(this, new InProcessRpcOptions());
|
||||
}
|
||||
}
|
||||
@@ -41,11 +41,11 @@ import org.apache.tuweni.units.bigints.UInt256;
|
||||
|
||||
/** A concrete implementation of BesuEvents used in Besu plugin framework. */
|
||||
public class BesuEventsImpl implements BesuEvents {
|
||||
private final Blockchain blockchain;
|
||||
private final BlockBroadcaster blockBroadcaster;
|
||||
private final TransactionPool transactionPool;
|
||||
private final SyncState syncState;
|
||||
private final BadBlockManager badBlockManager;
|
||||
private Blockchain blockchain;
|
||||
private BlockBroadcaster blockBroadcaster;
|
||||
private TransactionPool transactionPool;
|
||||
private SyncState syncState;
|
||||
private BadBlockManager badBlockManager;
|
||||
|
||||
/**
|
||||
* Constructor for BesuEventsImpl
|
||||
@@ -56,7 +56,7 @@ public class BesuEventsImpl implements BesuEvents {
|
||||
* @param syncState An instance of SyncState
|
||||
* @param badBlockManager A cache of bad blocks encountered on the network
|
||||
*/
|
||||
public BesuEventsImpl(
|
||||
public void init(
|
||||
final Blockchain blockchain,
|
||||
final BlockBroadcaster blockBroadcaster,
|
||||
final TransactionPool transactionPool,
|
||||
|
||||
@@ -17,25 +17,42 @@ package org.hyperledger.besu.services;
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.PluginJsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.plugin.services.RpcEndpointService;
|
||||
import org.hyperledger.besu.plugin.services.rpc.PluginRpcRequest;
|
||||
import org.hyperledger.besu.plugin.services.rpc.PluginRpcResponse;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/** The RPC endpoint service implementation. */
|
||||
public class RpcEndpointServiceImpl implements RpcEndpointService {
|
||||
private final Map<String, Function<PluginRpcRequest, ?>> rpcMethods = new HashMap<>();
|
||||
private Map<String, JsonRpcMethod> inProgressRpcMethods;
|
||||
|
||||
/** Default Constructor. */
|
||||
public RpcEndpointServiceImpl() {}
|
||||
|
||||
/**
|
||||
* Init the service
|
||||
*
|
||||
* @param inProcessRpcMethods set of RPC methods that can be called
|
||||
*/
|
||||
public void init(final Map<String, JsonRpcMethod> inProcessRpcMethods) {
|
||||
this.inProgressRpcMethods = inProcessRpcMethods;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void registerRPCEndpoint(
|
||||
final String namespace,
|
||||
@@ -48,6 +65,38 @@ public class RpcEndpointServiceImpl implements RpcEndpointService {
|
||||
rpcMethods.put(namespace + "_" + functionName, function);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PluginRpcResponse call(final String methodName, final Object[] params) {
|
||||
checkNotNull(
|
||||
inProgressRpcMethods,
|
||||
"Service not initialized yet, this method must be called after plugin 'beforeExternalServices' call completes");
|
||||
final var method =
|
||||
inProgressRpcMethods.computeIfAbsent(
|
||||
methodName,
|
||||
mn -> {
|
||||
throw new NoSuchElementException("Unknown or not enabled method: " + mn);
|
||||
});
|
||||
|
||||
final var requestContext =
|
||||
new JsonRpcRequestContext(new JsonRpcRequest("2.0", methodName, params));
|
||||
final var response = method.response(requestContext);
|
||||
return new PluginRpcResponse() {
|
||||
@Override
|
||||
public Object getResult() {
|
||||
return switch (response.getType()) {
|
||||
case NONE, UNAUTHORIZED -> null;
|
||||
case SUCCESS -> ((JsonRpcSuccessResponse) response).getResult();
|
||||
case ERROR -> ((JsonRpcErrorResponse) response).getError();
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonRpcResponseType getType() {
|
||||
return response.getType();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets plugin methods.
|
||||
*
|
||||
|
||||
@@ -38,6 +38,7 @@ import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.ethereum.ProtocolContext;
|
||||
import org.hyperledger.besu.ethereum.api.ImmutableApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.graphql.GraphQLConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.InProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.ipc.JsonRpcIpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.websocket.WebSocketConfiguration;
|
||||
@@ -163,6 +164,7 @@ public final class RunnerBuilderTest {
|
||||
.graphQLConfiguration(mock(GraphQLConfiguration.class))
|
||||
.webSocketConfiguration(mock(WebSocketConfiguration.class))
|
||||
.jsonRpcIpcConfiguration(mock(JsonRpcIpcConfiguration.class))
|
||||
.inProcessRpcConfiguration(mock(InProcessRpcConfiguration.class))
|
||||
.metricsConfiguration(mock(MetricsConfiguration.class))
|
||||
.vertx(vertx)
|
||||
.dataDir(dataDir.getRoot())
|
||||
@@ -208,6 +210,7 @@ public final class RunnerBuilderTest {
|
||||
.graphQLConfiguration(mock(GraphQLConfiguration.class))
|
||||
.webSocketConfiguration(mock(WebSocketConfiguration.class))
|
||||
.jsonRpcIpcConfiguration(mock(JsonRpcIpcConfiguration.class))
|
||||
.inProcessRpcConfiguration(mock(InProcessRpcConfiguration.class))
|
||||
.metricsConfiguration(mock(MetricsConfiguration.class))
|
||||
.vertx(Vertx.vertx())
|
||||
.dataDir(dataDir.getRoot())
|
||||
@@ -267,6 +270,7 @@ public final class RunnerBuilderTest {
|
||||
.graphQLConfiguration(mock(GraphQLConfiguration.class))
|
||||
.webSocketConfiguration(mock(WebSocketConfiguration.class))
|
||||
.jsonRpcIpcConfiguration(mock(JsonRpcIpcConfiguration.class))
|
||||
.inProcessRpcConfiguration(mock(InProcessRpcConfiguration.class))
|
||||
.metricsConfiguration(mock(MetricsConfiguration.class))
|
||||
.vertx(Vertx.vertx())
|
||||
.dataDir(dataDir.getRoot())
|
||||
@@ -309,6 +313,7 @@ public final class RunnerBuilderTest {
|
||||
.engineJsonRpcConfiguration(engineConf)
|
||||
.webSocketConfiguration(wsRpc)
|
||||
.jsonRpcIpcConfiguration(mock(JsonRpcIpcConfiguration.class))
|
||||
.inProcessRpcConfiguration(mock(InProcessRpcConfiguration.class))
|
||||
.graphQLConfiguration(mock(GraphQLConfiguration.class))
|
||||
.metricsConfiguration(mock(MetricsConfiguration.class))
|
||||
.vertx(Vertx.vertx())
|
||||
@@ -351,6 +356,7 @@ public final class RunnerBuilderTest {
|
||||
.engineJsonRpcConfiguration(engineConf)
|
||||
.webSocketConfiguration(wsRpc)
|
||||
.jsonRpcIpcConfiguration(mock(JsonRpcIpcConfiguration.class))
|
||||
.inProcessRpcConfiguration(mock(InProcessRpcConfiguration.class))
|
||||
.graphQLConfiguration(mock(GraphQLConfiguration.class))
|
||||
.metricsConfiguration(mock(MetricsConfiguration.class))
|
||||
.vertx(Vertx.vertx())
|
||||
@@ -395,6 +401,7 @@ public final class RunnerBuilderTest {
|
||||
.graphQLConfiguration(mock(GraphQLConfiguration.class))
|
||||
.webSocketConfiguration(defaultWebSockConfig)
|
||||
.jsonRpcIpcConfiguration(mock(JsonRpcIpcConfiguration.class))
|
||||
.inProcessRpcConfiguration(mock(InProcessRpcConfiguration.class))
|
||||
.metricsConfiguration(mock(MetricsConfiguration.class))
|
||||
.vertx(Vertx.vertx())
|
||||
.dataDir(dataDir.getRoot())
|
||||
|
||||
@@ -36,6 +36,7 @@ import org.hyperledger.besu.ethereum.GasLimitCalculator;
|
||||
import org.hyperledger.besu.ethereum.ProtocolContext;
|
||||
import org.hyperledger.besu.ethereum.api.ImmutableApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.graphql.GraphQLConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.ImmutableInProcessRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.ipc.JsonRpcIpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.websocket.WebSocketConfiguration;
|
||||
@@ -211,6 +212,7 @@ public final class RunnerTest {
|
||||
.graphQLConfiguration(graphQLConfiguration())
|
||||
.webSocketConfiguration(wsRpcConfiguration())
|
||||
.jsonRpcIpcConfiguration(new JsonRpcIpcConfiguration())
|
||||
.inProcessRpcConfiguration(ImmutableInProcessRpcConfiguration.builder().build())
|
||||
.metricsConfiguration(metricsConfiguration())
|
||||
.dataDir(dbAhead)
|
||||
.pidPath(pidPath)
|
||||
|
||||
@@ -83,6 +83,7 @@ import org.hyperledger.besu.plugin.services.storage.KeyValueStorageFactory;
|
||||
import org.hyperledger.besu.plugin.services.storage.PrivacyKeyValueStorageFactory;
|
||||
import org.hyperledger.besu.plugin.services.storage.SegmentIdentifier;
|
||||
import org.hyperledger.besu.services.BesuConfigurationImpl;
|
||||
import org.hyperledger.besu.services.BesuEventsImpl;
|
||||
import org.hyperledger.besu.services.BesuPluginContextImpl;
|
||||
import org.hyperledger.besu.services.BlockchainServiceImpl;
|
||||
import org.hyperledger.besu.services.PermissioningServiceImpl;
|
||||
@@ -337,6 +338,7 @@ public abstract class CommandTestAbstract {
|
||||
when(mockRunnerBuilder.graphQLConfiguration(any())).thenReturn(mockRunnerBuilder);
|
||||
when(mockRunnerBuilder.webSocketConfiguration(any())).thenReturn(mockRunnerBuilder);
|
||||
when(mockRunnerBuilder.jsonRpcIpcConfiguration(any())).thenReturn(mockRunnerBuilder);
|
||||
when(mockRunnerBuilder.inProcessRpcConfiguration(any())).thenReturn(mockRunnerBuilder);
|
||||
when(mockRunnerBuilder.apiConfiguration(any())).thenReturn(mockRunnerBuilder);
|
||||
when(mockRunnerBuilder.dataDir(any())).thenReturn(mockRunnerBuilder);
|
||||
when(mockRunnerBuilder.bannedNodeIds(any())).thenReturn(mockRunnerBuilder);
|
||||
@@ -575,7 +577,8 @@ public abstract class CommandTestAbstract {
|
||||
new TransactionSelectionServiceImpl(),
|
||||
new TransactionPoolValidatorServiceImpl(),
|
||||
new TransactionSimulationServiceImpl(),
|
||||
new BlockchainServiceImpl());
|
||||
new BlockchainServiceImpl(),
|
||||
new BesuEventsImpl());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -174,9 +174,8 @@ public class BesuEventsImplTest {
|
||||
new BlobCache(),
|
||||
MiningParameters.newDefault());
|
||||
|
||||
serviceImpl =
|
||||
new BesuEventsImpl(
|
||||
blockchain, blockBroadcaster, transactionPool, syncState, badBlockManager);
|
||||
serviceImpl = new BesuEventsImpl();
|
||||
serviceImpl.init(blockchain, blockBroadcaster, transactionPool, syncState, badBlockManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -162,6 +162,8 @@ allprojects {
|
||||
forRepositories(ethExecSpecTestsRepo)
|
||||
filter { includeModule('ethereum', 'execution-spec-tests')}
|
||||
}
|
||||
|
||||
mavenLocal()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
package org.hyperledger.besu.consensus.clique.jsonrpc.methods;
|
||||
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockWithMetadata;
|
||||
|
||||
@@ -16,11 +16,11 @@ package org.hyperledger.besu.consensus.clique.jsonrpc.methods;
|
||||
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockWithMetadata;
|
||||
|
||||
@@ -18,10 +18,10 @@ import static com.google.common.base.Preconditions.checkState;
|
||||
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
|
||||
/** The Discard Json RPC method. */
|
||||
|
||||
@@ -19,11 +19,11 @@ import static com.google.common.base.Preconditions.checkState;
|
||||
import org.hyperledger.besu.consensus.clique.CliqueBlockInterface;
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
|
||||
@@ -24,11 +24,11 @@ import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteType;
|
||||
import org.hyperledger.besu.consensus.common.validator.blockbased.BlockValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.chain.Blockchain;
|
||||
|
||||
|
||||
@@ -23,11 +23,11 @@ import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteType;
|
||||
import org.hyperledger.besu.consensus.common.validator.blockbased.BlockValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.chain.Blockchain;
|
||||
|
||||
@@ -17,10 +17,10 @@ package org.hyperledger.besu.consensus.common.jsonrpc;
|
||||
import org.hyperledger.besu.consensus.common.BlockInterface;
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.SignerMetricResult;
|
||||
|
||||
@@ -16,9 +16,9 @@ package org.hyperledger.besu.consensus.common.jsonrpc;
|
||||
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteType;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
|
||||
@@ -22,10 +22,10 @@ import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteType;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ import static com.google.common.base.Preconditions.checkState;
|
||||
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@@ -16,10 +16,10 @@ package org.hyperledger.besu.consensus.ibft.jsonrpc.methods;
|
||||
|
||||
import org.hyperledger.besu.consensus.common.BlockInterface;
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.chain.Blockchain;
|
||||
import org.hyperledger.besu.ethereum.core.BlockHeader;
|
||||
|
||||
@@ -19,10 +19,10 @@ import static com.google.common.base.Preconditions.checkState;
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteType;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@@ -23,10 +23,10 @@ import static org.mockito.Mockito.when;
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -23,10 +23,10 @@ import static org.mockito.Mockito.when;
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -16,11 +16,11 @@ package org.hyperledger.besu.consensus.qbft.jsonrpc.methods;
|
||||
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ package org.hyperledger.besu.consensus.qbft.jsonrpc.methods;
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.chain.Blockchain;
|
||||
import org.hyperledger.besu.ethereum.core.BlockHeader;
|
||||
|
||||
@@ -17,11 +17,11 @@ package org.hyperledger.besu.consensus.qbft.jsonrpc.methods;
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteType;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
|
||||
@@ -23,11 +23,11 @@ import static org.mockito.Mockito.when;
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
|
||||
@@ -23,11 +23,11 @@ import static org.mockito.Mockito.when;
|
||||
import org.hyperledger.besu.consensus.common.validator.ValidatorProvider;
|
||||
import org.hyperledger.besu.consensus.common.validator.VoteProvider;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
|
||||
@@ -12,16 +12,27 @@
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.response;
|
||||
package org.hyperledger.besu.datatypes.rpc;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonGetter;
|
||||
|
||||
/** Represent a Json RPC response */
|
||||
public interface JsonRpcResponse {
|
||||
|
||||
/**
|
||||
* The JsonRPC version
|
||||
*
|
||||
* @return the version
|
||||
*/
|
||||
@JsonGetter("jsonrpc")
|
||||
default String getVersion() {
|
||||
return "2.0";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the response type
|
||||
*
|
||||
* @return the response type
|
||||
*/
|
||||
JsonRpcResponseType getType();
|
||||
}
|
||||
@@ -12,12 +12,16 @@
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.response;
|
||||
package org.hyperledger.besu.datatypes.rpc;
|
||||
|
||||
/** Various types of responses that the JSON-RPC component may produce. */
|
||||
public enum JsonRpcResponseType {
|
||||
/** no response */
|
||||
NONE,
|
||||
/** Successful response */
|
||||
SUCCESS,
|
||||
/** Error response */
|
||||
ERROR,
|
||||
/** Not authorized response */
|
||||
UNAUTHORIZED
|
||||
}
|
||||
@@ -12,7 +12,7 @@
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
package org.hyperledger.besu.plugin.services.rpc;
|
||||
package org.hyperledger.besu.datatypes.rpc;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -40,7 +40,7 @@ import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.TransactionType;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.TransactionCompleteResult;
|
||||
|
||||
@@ -17,13 +17,13 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.methods;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
@@ -20,13 +20,13 @@ import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.ProtocolContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResult;
|
||||
import org.hyperledger.besu.ethereum.chain.BadBlockManager;
|
||||
|
||||
@@ -18,6 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
@@ -25,7 +26,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
@@ -19,13 +19,13 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import org.hyperledger.besu.datatypes.AccessListEntry;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.CreateAccessListResult;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
@@ -18,6 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
@@ -26,7 +27,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcError;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.mainnet.ValidationResult;
|
||||
import org.hyperledger.besu.ethereum.transaction.TransactionInvalidReason;
|
||||
|
||||
@@ -18,6 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.TransactionType;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcResponseKey;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcResponseUtils;
|
||||
@@ -25,7 +26,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.TransactionResult;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
@@ -18,6 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.catchThrowable;
|
||||
|
||||
import org.hyperledger.besu.datatypes.TransactionType;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcResponseKey;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcResponseUtils;
|
||||
@@ -26,7 +27,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.TransactionResult;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.hyperledger.besu.crypto.SignatureAlgorithmFactory;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.TransactionType;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.ProtocolContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
@@ -34,7 +35,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.filter.FilterManager;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.filter.FilterManagerBuilder;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.EthGetFilterChanges;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -16,6 +16,7 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.methods.fork.frontier;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcResponseKey;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcResponseUtils;
|
||||
@@ -23,7 +24,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.methods.fork.frontier;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcResponseKey;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcResponseUtils;
|
||||
@@ -23,7 +24,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
@@ -25,7 +26,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
@@ -19,13 +19,13 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import org.hyperledger.besu.datatypes.AccessListEntry;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.BlockchainImporter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcTestMethodsFactory;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.hyperledger.besu.crypto.SignatureAlgorithmFactory;
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.TransactionType;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.ProtocolContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
@@ -34,7 +35,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.filter.FilterManager;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.filter.FilterManagerBuilder;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.EthGetFilterChanges;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -16,12 +16,12 @@ package org.hyperledger.besu.ethereum.api.handlers;
|
||||
|
||||
import static io.netty.handler.codec.http.HttpHeaderValues.APPLICATION_JSON;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.context.ContextKey;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.execution.JsonRpcExecutor;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -16,13 +16,13 @@ package org.hyperledger.besu.ethereum.api.handlers;
|
||||
|
||||
import static org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType.INVALID_REQUEST;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonResponseStreamer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.context.ContextKey;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.execution.JsonRpcExecutor;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -16,13 +16,13 @@ package org.hyperledger.besu.ethereum.api.handlers;
|
||||
|
||||
import static io.netty.handler.codec.http.HttpHeaderValues.APPLICATION_JSON;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonResponseStreamer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.context.ContextKey;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.execution.JsonRpcExecutor;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright contributors to Hyperledger Besu.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
|
||||
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations under the License.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.immutables.value.Value;
|
||||
|
||||
@Value.Immutable
|
||||
public interface InProcessRpcConfiguration {
|
||||
boolean DEFAULT_IN_PROCESS_RPC_ENABLED = false;
|
||||
Set<String> DEFAULT_IN_PROCESS_RPC_APIS = new HashSet<>(RpcApis.DEFAULT_RPC_APIS);
|
||||
|
||||
@Value.Default
|
||||
default boolean isEnabled() {
|
||||
return DEFAULT_IN_PROCESS_RPC_ENABLED;
|
||||
}
|
||||
|
||||
@Value.Default
|
||||
default Set<String> getInProcessRpcApis() {
|
||||
return DEFAULT_IN_PROCESS_RPC_APIS;
|
||||
}
|
||||
}
|
||||
@@ -14,11 +14,11 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.execution;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.authentication.AuthenticationService;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestId;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcUnauthorizedResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.execution;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestId;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcUnauthorizedResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.privacy.MultiTenancyValidationException;
|
||||
|
||||
@@ -16,6 +16,7 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.execution;
|
||||
|
||||
import static org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType.INVALID_REQUEST;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
@@ -23,7 +24,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestId;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcNoResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.execution;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestId;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
|
||||
import io.opentelemetry.api.trace.Span;
|
||||
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.execution;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestId;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.plugin.services.metrics.LabelledMetric;
|
||||
import org.hyperledger.besu.plugin.services.metrics.OperationTimer;
|
||||
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.execution;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestId;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponseType;
|
||||
import org.hyperledger.besu.metrics.BesuMetricCategory;
|
||||
import org.hyperledger.besu.plugin.services.MetricsSystem;
|
||||
import org.hyperledger.besu.plugin.services.metrics.Counter;
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameterOrBlockHash;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.p2p.network.P2PNetwork;
|
||||
import org.hyperledger.besu.ethereum.p2p.peers.DefaultPeer;
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.util.LogConfigurator;
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
import org.hyperledger.besu.ethereum.api.query.cache.TransactionLogBloomCacher;
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonRpcParameters;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.p2p.network.P2PNetwork;
|
||||
import org.hyperledger.besu.ethereum.p2p.network.exceptions.P2PDisabledException;
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.config.GenesisConfigOptions;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.PeerResult;
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.p2p.network.P2PNetwork;
|
||||
import org.hyperledger.besu.ethereum.p2p.peers.DefaultPeer;
|
||||
|
||||
@@ -16,9 +16,9 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameterOrBlockHash;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugAccountRangeAtResult;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockWithMetadata;
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.util.DomainObjectDecodeUtils;
|
||||
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool;
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.ProtocolContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BadBlockResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResultFactory;
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
import org.hyperledger.besu.ethereum.core.Transaction;
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.metrics.ObservableMetricsSystem;
|
||||
import org.hyperledger.besu.metrics.Observation;
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.ProtocolContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.chain.BadBlockManager;
|
||||
import org.hyperledger.besu.ethereum.core.Synchronizer;
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.ProtocolContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.TransactionTraceParams;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionTracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -17,13 +17,13 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
import static org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionTracer.TRACE_PATH;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.TransactionTraceParams;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.Tracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionTracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -16,13 +16,13 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameterOrBlockHash;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.BlockReplay;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.Tracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.Tracer.TraceableState;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugStorageRangeAtResult;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockWithMetadata;
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.TransactionTraceParams;
|
||||
@@ -21,7 +22,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.BlockTrace;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.BlockTracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.Tracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.TransactionTraceParams;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.BlockTrace;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.BlockTracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.Tracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.TransactionTraceParams;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.Tracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionTracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
|
||||
public class EthAccounts implements JsonRpcMethod {
|
||||
|
||||
@@ -17,9 +17,9 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
import static org.hyperledger.besu.ethereum.mainnet.feemarket.ExcessBlobGasCalculator.calculateExcessBlobGasForParent;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.Quantity;
|
||||
import org.hyperledger.besu.ethereum.chain.Blockchain;
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.Quantity;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -19,6 +19,7 @@ import static org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErr
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcErrorConverter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
@@ -26,7 +27,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParame
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcError;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.Quantity;
|
||||
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Address;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.blockcreation.MiningCoordinator;
|
||||
|
||||
@@ -16,10 +16,10 @@ package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.AccessListEntry;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.CreateAccessListResult;
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
*/
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonCallParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.Quantity;
|
||||
|
||||
@@ -19,13 +19,13 @@ import static org.hyperledger.besu.ethereum.mainnet.feemarket.ExcessBlobGasCalcu
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.ApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.UnsignedIntParameter;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.FeeHistory;
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Wei;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.ApiConfiguration;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.Quantity;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.BlockResultFactory;
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods;
|
||||
|
||||
import org.hyperledger.besu.datatypes.Hash;
|
||||
import org.hyperledger.besu.datatypes.rpc.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.Quantity;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user