import { AbstractSolanaAccessTokenSnapshotService as e } from "../../event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs";
import "../../event-service/index.mjs";
import { SnapshotFetcherService as t } from "../SnapshotFetcherService.mjs";
//#region libs/shared/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.ts
var n = class extends e {
	snapshotsService;
	constructor(e, t) {
		super(e), this.snapshotsService = t;
	}
	async fetchSnapshot() {
		let { chainId: e } = this.solanaBlockchainEventEmitter;
		this.snapshotsService ||= new t(e, this.solanaBlockchainEventEmitter.programId.toString());
		let n = await this.snapshotsService.getAccessTokens();
		return {
			latestBlockNumber: n.latestBlockNumber,
			merkleTree: n.merkleTree,
			senderAddresses: n.senderAddresses,
			senderAddressIndexMap: n.senderAddressIndexMap
		};
	}
	persistSnapshot(e) {
		return Promise.resolve();
	}
};
//#endregion
export { n as ClientSolanaAccessTokenSnapshotService };
