Skip to content

StorageContext

Defined in: packages/synapse-sdk/src/storage/context.ts:62

new StorageContext(
synapse,
warmStorageService,
provider,
dataSetId,
options,
dataSetMetadata): StorageContext;

Defined in: packages/synapse-sdk/src/storage/context.ts:142

ParameterType
synapseSynapse
warmStorageServiceWarmStorageService
providerProviderInfo
dataSetIdnumber
optionsStorageServiceOptions
dataSetMetadataRecord<string, string>

StorageContext

readonly dataSetId: number;

Defined in: packages/synapse-sdk/src/storage/context.ts:92


readonly serviceProvider: string;

Defined in: packages/synapse-sdk/src/storage/context.ts:93

get dataSetMetadata(): Record<string, string>;

Defined in: packages/synapse-sdk/src/storage/context.ts:106

Record<string, string>


get provider(): ProviderInfo;

Defined in: packages/synapse-sdk/src/storage/context.ts:101

ProviderInfo


get withCDN(): boolean;

Defined in: packages/synapse-sdk/src/storage/context.ts:96

boolean

deletePiece(piece): Promise<string>;

Defined in: packages/synapse-sdk/src/storage/context.ts:1444

Delete a piece with given CID from this data set

ParameterTypeDescription
piece| string | number | PieceLinkThe PieceCID identifier or a piece number to delete by pieceID

Promise<string>

Transaction hash of the delete operation


download(pieceCid, options?): Promise<Uint8Array<ArrayBufferLike>>;

Defined in: packages/synapse-sdk/src/storage/context.ts:1330

Download data from this specific service provider

ParameterTypeDescription
pieceCidstring | PieceLinkThe PieceCID identifier
options?DownloadOptionsDownload options

Promise<Uint8Array<ArrayBufferLike>>

The downloaded data


getDataSetPieces(): Promise<PieceLink[]>;

Defined in: packages/synapse-sdk/src/storage/context.ts:1363

Get the list of piece CIDs for this service service’s data set. Gets data directly from PDPVerifier contract (source of truth) rather than Curio.

Promise<PieceLink[]>

Array of piece CIDs as PieceCID objects


getPieces(options?): AsyncGenerator<[PieceLink, number]>;

Defined in: packages/synapse-sdk/src/storage/context.ts:1380

Get all active pieces for this data set as an async generator. This provides lazy evaluation and better memory efficiency for large data sets. Gets data directly from PDPVerifier contract (source of truth) rather than Curio.

ParameterTypeDescription
options?{ batchSize?: number; signal?: AbortSignal; }Optional configuration object
options.batchSize?numberThe batch size for each pagination call (default: 100)
options.signal?AbortSignalOptional AbortSignal to cancel the operation

AsyncGenerator<[PieceLink, number]>

Tuple of [PieceCID, pieceId] - the piece ID is needed for certain operations like deletion


getProviderInfo(): Promise<ProviderInfo>;

Defined in: packages/synapse-sdk/src/storage/context.ts:1353

Get information about the service provider used by this service

Promise<ProviderInfo>

Provider information including pricing (currently same for all providers)


hasPiece(pieceCid): Promise<boolean>;

Defined in: packages/synapse-sdk/src/storage/context.ts:1456

Check if a piece exists on this service provider.

ParameterTypeDescription
pieceCidstring | PieceLinkThe PieceCID (piece CID) to check

Promise<boolean>

True if the piece exists on this provider, false otherwise


pieceStatus(pieceCid): Promise<PieceStatus>;

Defined in: packages/synapse-sdk/src/storage/context.ts:1482

Check if a piece exists on this service provider and get its proof status. Also returns timing information about when the piece was last proven and when the next proof is due.

Note: Proofs are submitted for entire data sets, not individual pieces. The timing information returned reflects when the data set (containing this piece) was last proven and when the next proof is due.

ParameterTypeDescription
pieceCidstring | PieceLinkThe PieceCID (piece CID) to check

Promise<PieceStatus>

Status information including existence, data set timing, and retrieval URL


preflightUpload(size): Promise<PreflightInfo>;

Defined in: packages/synapse-sdk/src/storage/context.ts:962

Run preflight checks for an upload

ParameterTypeDescription
sizenumberThe size of data to upload in bytes

Promise<PreflightInfo>

Preflight information including costs and allowances


providerDownload(pieceCid, options?): Promise<Uint8Array<ArrayBufferLike>>;

Defined in: packages/synapse-sdk/src/storage/context.ts:1344

Download data from the service provider

ParameterType
pieceCidstring | PieceLink
options?DownloadOptions

Promise<Uint8Array<ArrayBufferLike>>


terminate(): Promise<TransactionResponse>;

Defined in: packages/synapse-sdk/src/storage/context.ts:1609

Terminates the data set by sending on-chain message. This will also result in the removal of all pieces in the data set.

Promise<TransactionResponse>

Transaction response


upload(data, options?): Promise<UploadResult>;

Defined in: packages/synapse-sdk/src/storage/context.ts:982

Upload data to the service provider

ParameterType
data| ArrayBuffer | Uint8Array<ArrayBufferLike>
options?UploadOptions

Promise<UploadResult>


static create(
synapse,
warmStorageService,
options): Promise<StorageContext>;

Defined in: packages/synapse-sdk/src/storage/context.ts:180

Static factory method to create a StorageContext Handles provider selection and data set selection/creation

ParameterType
synapseSynapse
warmStorageServiceWarmStorageService
optionsStorageServiceOptions

Promise<StorageContext>


static performPreflightCheck(
warmStorageService,
paymentsService,
size,
withCDN): Promise<PreflightInfo>;

Defined in: packages/synapse-sdk/src/storage/context.ts:929

Static method to perform preflight checks for an upload

ParameterTypeDescription
warmStorageServiceWarmStorageServiceWarmStorageService instance
paymentsServicePaymentsServicePaymentsService instance
sizenumberThe size of data to upload in bytes
withCDNbooleanWhether CDN is enabled

Promise<PreflightInfo>

Preflight check results without provider/dataSet specifics