@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
27 lines • 1 kB
JavaScript
import { Repository } from "@lodestar/db";
import { ssz } from "@lodestar/types";
import { Bucket, getBucketNameByValue } from "../buckets.js";
/**
* DepositData indexed by deposit index
* Removed when included on chain or old
*/
export class DepositEventRepository extends Repository {
constructor(config, db) {
const bucket = Bucket.phase0_depositEvent;
super(config, db, bucket, ssz.phase0.DepositEvent, getBucketNameByValue(bucket));
}
async deleteOld(depositCount) {
const firstDepositIndex = await this.firstKey();
if (firstDepositIndex === null) {
return;
}
await this.batchDelete(Array.from({ length: depositCount - firstDepositIndex }, (_, i) => i + firstDepositIndex));
}
async batchPutValues(depositEvents) {
await this.batchPut(depositEvents.map((depositEvent) => ({
key: depositEvent.index,
value: depositEvent,
})));
}
}
//# sourceMappingURL=depositEvent.js.map