ProviderSelectionInput
Defined in: packages/synapse-core/src/warm-storage/location-types.ts:41
Pre-fetched data for provider selection.
The caller gathers this from chain queries (or cached results) and passes it to selectProviders(). Separating data fetching from selection keeps selectProviders() pure and testable.
The endorsedIds set controls pool restriction:
- Non-empty: only providers in this set are considered (primary selection)
- Empty: all providers in the
providerslist are considered (secondary selection)
Properties
Section titled “Properties”clientDataSets
Section titled “clientDataSets”clientDataSets:
SelectionDataSet[]
Defined in: packages/synapse-core/src/warm-storage/location-types.ts:48
Client’s existing datasets with metadata and piece counts
endorsedIds
Section titled “endorsedIds”endorsedIds:
Set<bigint>
Defined in: packages/synapse-core/src/warm-storage/location-types.ts:46
Set of endorsed provider IDs (from endorsements.getProviderIds). Non-empty = restrict to endorsed only. Empty = use all providers.
metadata
Section titled “metadata”metadata:
MetadataObject
Defined in: packages/synapse-core/src/warm-storage/location-types.ts:50
Desired metadata for dataset matching
providers
Section titled “providers”providers:
PDPProvider[]
Defined in: packages/synapse-core/src/warm-storage/location-types.ts:43
Available PDP providers (typically from getApprovedPDPProviders)