import { routes } from "@lodestar/api";
import { CONSOLIDATION_REQUEST_TYPE, DEPOSIT_REQUEST_TYPE, WITHDRAWAL_REQUEST_TYPE, } from "@lodestar/params";
import { PayloadIdCache } from "./payloadIdCache.js";
export { PayloadIdCache };
export const ClientCode = routes.node.ClientCode;
export { ExecutionPayloadStatus };
var ExecutionPayloadStatus;
(function (ExecutionPayloadStatus) {
    /** given payload is valid */
    ExecutionPayloadStatus["VALID"] = "VALID";
    /** given payload is invalid */
    ExecutionPayloadStatus["INVALID"] = "INVALID";
    /** sync process is in progress */
    ExecutionPayloadStatus["SYNCING"] = "SYNCING";
    /**
     * blockHash is valid, but payload is not part of canonical chain and hasn't been fully
     * validated
     */
    ExecutionPayloadStatus["ACCEPTED"] = "ACCEPTED";
    /** blockHash is invalid */
    ExecutionPayloadStatus["INVALID_BLOCK_HASH"] = "INVALID_BLOCK_HASH";
    /** EL error */
    ExecutionPayloadStatus["ELERROR"] = "ELERROR";
    /** EL unavailable */
    ExecutionPayloadStatus["UNAVAILABLE"] = "UNAVAILABLE";
    /** EL replied with SYNCING or ACCEPTED when its not safe to import optimistic blocks */
    ExecutionPayloadStatus["UNSAFE_OPTIMISTIC_STATUS"] = "UNSAFE_OPTIMISTIC_STATUS";
})(ExecutionPayloadStatus || (ExecutionPayloadStatus = {}));
export { ExecutionEngineState };
var ExecutionEngineState;
(function (ExecutionEngineState) {
    ExecutionEngineState["ONLINE"] = "ONLINE";
    ExecutionEngineState["OFFLINE"] = "OFFLINE";
    ExecutionEngineState["SYNCING"] = "SYNCING";
    ExecutionEngineState["SYNCED"] = "SYNCED";
    ExecutionEngineState["AUTH_FAILED"] = "AUTH_FAILED";
})(ExecutionEngineState || (ExecutionEngineState = {}));
export function isExecutionRequestType(type) {
    return type === DEPOSIT_REQUEST_TYPE || type === WITHDRAWAL_REQUEST_TYPE || type === CONSOLIDATION_REQUEST_TYPE;
}
//# sourceMappingURL=interface.js.map