@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
28 lines (22 loc) • 967 B
text/typescript
import {ChainForkConfig} from "@lodestar/config";
import {Logger} from "@lodestar/logger";
import {Metrics} from "../../metrics/metrics.js";
import {IExecutionBuilder} from "./interface.js";
export {getExpectedGasLimit} from "./utils.js";
import {ExecutionBuilderHttp, ExecutionBuilderHttpOpts, defaultExecutionBuilderHttpOpts} from "./http.js";
export {ExecutionBuilderHttp, defaultExecutionBuilderHttpOpts};
export type ExecutionBuilderOpts = {mode?: "http"} & ExecutionBuilderHttpOpts;
export const defaultExecutionBuilderOpts: ExecutionBuilderOpts = defaultExecutionBuilderHttpOpts;
export function initializeExecutionBuilder(
opts: ExecutionBuilderOpts,
config: ChainForkConfig,
metrics: Metrics | null = null,
logger?: Logger
): IExecutionBuilder {
switch (opts.mode) {
case "http":
return new ExecutionBuilderHttp(opts, config, metrics, logger);
default:
return new ExecutionBuilderHttp(opts, config, metrics, logger);
}
}