import { Repository } from "@lodestar/db";
import { ssz } from "@lodestar/types";
import { Bucket, getBucketNameByValue } from "../buckets.js";
/**
 * Used to store unfinalized `SignedExecutionPayloadEnvelope`
 *
 * Indexed by beacon block root (root of the beacon block that contains the bid)
 */
export class ExecutionPayloadEnvelopeRepository extends Repository {
    constructor(config, db) {
        const bucket = Bucket.gloas_executionPayloadEnvelope;
        super(config, db, bucket, ssz.gloas.SignedExecutionPayloadEnvelope, getBucketNameByValue(bucket));
    }
    /**
     * Id is the beacon block root (not execution payload hash)
     * This allows correlation with the block that contains the bid
     */
    getId(value) {
        return value.message.beaconBlockRoot;
    }
}
//# sourceMappingURL=executionPayloadEnvelope.js.map