Skip to content

StorageContext

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

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

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

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

StorageContext

readonly serviceProvider: string;

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

get dataSetId(): number | undefined;

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

number | undefined


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

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

Record<string, string>


get provider(): ProviderInfo;

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

ProviderInfo


get withCDN(): boolean;

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

boolean

deletePiece(piece): Promise<string>;

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

Delete a piece with given CID from this data set

ParameterTypeDescription
piecestring | 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:1072

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:1104

Get the list of piece CIDs for this service service’s data set.

Promise<PieceLink[]>

Array of piece CIDs as PieceCID objects


getPieces(options?): AsyncGenerator<{
pieceCid: PieceLink;
pieceId: number;
}>;

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

Get all active pieces for this data set as an async generator. This provides lazy evaluation and better memory efficiency for large data sets.

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<{ pieceCid: PieceLink; pieceId: number; }>

Object with pieceCid and pieceId - the piece ID is needed for certain operations like deletion


getProviderInfo(): Promise<ProviderInfo>;

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

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:1199

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:1225

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:822

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:1086

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:1355

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:838

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:274

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

ParameterType
synapseSynapse
warmStorageServiceWarmStorageService
optionsStorageServiceOptions

Promise<StorageContext>


static createContexts(
synapse,
warmStorageService,
options): Promise<StorageContext[]>;

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

Creates new storage contexts with specified options Each context corresponds to a different data set

ParameterType
synapseSynapse
warmStorageServiceWarmStorageService
optionsCreateContextsOptions

Promise<StorageContext[]>


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

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

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