Skip to content

findMatchingDataSets

findMatchingDataSets(dataSets, metadata, legacyPieceStorageIdLimit?): SelectionDataSet[]

Defined in: packages/synapse-core/src/warm-storage/find-matching-data-sets.ts:55

Find datasets matching the given metadata, sorted by preference.

Matching is exact: a dataset matches only if its metadata keys and values are identical to the requested metadata.

Only active datasets are considered (live, managed, pdpEndEpoch === 0n).

Sort order:

  1. Compact datasets (dataSetId >= legacyPieceStorageIdLimit) before legacy ones
  2. Within each group, datasets with pieces before empty datasets
  3. Within each group, older datasets (lower ID) first
Parameter Type Default value Description
dataSets SelectionDataSet[] undefined Datasets to search (typically filtered to a single provider)
metadata MetadataObject undefined Desired metadata keys and values
legacyPieceStorageIdLimit bigint 0n Data set ID boundary between legacy and compact piece storage (see FilecoinChain.legacyPieceStorageIdLimit). Defaults to 0n, which treats every dataset as compact.

SelectionDataSet[]

Matching datasets in preference order