# warm-storage

Warm Storage Contract Operations

## Example

```ts
import * as WarmStorage from '@filoz/synapse-core/warm-storage'
```

## Namespaces

| Namespace | Description |
| ------ | ------ |
| [addApprovedProvider](/reference/filoz/synapse-core/warm-storage/namespaces/addapprovedprovider/toc/) | - |
| [addApprovedProviderCall](/reference/filoz/synapse-core/warm-storage/namespaces/addapprovedprovidercall/toc/) | - |
| [addApprovedProviderSync](/reference/filoz/synapse-core/warm-storage/namespaces/addapprovedprovidersync/toc/) | - |
| [getAllDataSetMetadata](/reference/filoz/synapse-core/warm-storage/namespaces/getalldatasetmetadata/toc/) | - |
| [getAllDataSetMetadataCall](/reference/filoz/synapse-core/warm-storage/namespaces/getalldatasetmetadatacall/toc/) | - |
| [getAllPieceMetadata](/reference/filoz/synapse-core/warm-storage/namespaces/getallpiecemetadata/toc/) | - |
| [getAllPieceMetadataCall](/reference/filoz/synapse-core/warm-storage/namespaces/getallpiecemetadatacall/toc/) | - |
| [getApprovedProviders](/reference/filoz/synapse-core/warm-storage/namespaces/getapprovedproviders/toc/) | - |
| [getApprovedProvidersCall](/reference/filoz/synapse-core/warm-storage/namespaces/getapprovedproviderscall/toc/) | - |
| [getClientDataSets](/reference/filoz/synapse-core/warm-storage/namespaces/getclientdatasets/toc/) | - |
| [getClientDataSetsCall](/reference/filoz/synapse-core/warm-storage/namespaces/getclientdatasetscall/toc/) | - |
| [getDataSet](/reference/filoz/synapse-core/warm-storage/namespaces/getdataset/toc/) | - |
| [getDataSetCall](/reference/filoz/synapse-core/warm-storage/namespaces/getdatasetcall/toc/) | - |
| [getPdpDataSet](/reference/filoz/synapse-core/warm-storage/namespaces/getpdpdataset/toc/) | - |
| [getPdpDataSets](/reference/filoz/synapse-core/warm-storage/namespaces/getpdpdatasets/toc/) | - |
| [getServicePrice](/reference/filoz/synapse-core/warm-storage/namespaces/getserviceprice/toc/) | - |
| [getServicePriceCall](/reference/filoz/synapse-core/warm-storage/namespaces/getservicepricecall/toc/) | - |
| [readAddresses](/reference/filoz/synapse-core/warm-storage/namespaces/readaddresses/toc/) | - |
| [removeApprovedProvider](/reference/filoz/synapse-core/warm-storage/namespaces/removeapprovedprovider/toc/) | - |
| [removeApprovedProviderCall](/reference/filoz/synapse-core/warm-storage/namespaces/removeapprovedprovidercall/toc/) | - |
| [removeApprovedProviderSync](/reference/filoz/synapse-core/warm-storage/namespaces/removeapprovedprovidersync/toc/) | - |
| [terminateService](/reference/filoz/synapse-core/warm-storage/namespaces/terminateservice/toc/) | - |
| [terminateServiceCall](/reference/filoz/synapse-core/warm-storage/namespaces/terminateservicecall/toc/) | - |
| [terminateServiceSync](/reference/filoz/synapse-core/warm-storage/namespaces/terminateservicesync/toc/) | - |

## Interfaces

| Interface | Description |
| ------ | ------ |
| [PdpDataSet](/reference/filoz/synapse-core/warm-storage/interfaces/pdpdataset/) | Data set information returned from Warm Storage contract |
| [Piece](/reference/filoz/synapse-core/warm-storage/interfaces/piece/) | - |
| [PieceWithMetadata](/reference/filoz/synapse-core/warm-storage/interfaces/piecewithmetadata/) | - |

## Type Aliases

| Type Alias | Description |
| ------ | ------ |
| [DataSetInfo](/reference/filoz/synapse-core/warm-storage/type-aliases/datasetinfo/) | Data set information returned from Warm Storage contract |
| [PdpDataSetInfo](/reference/filoz/synapse-core/warm-storage/type-aliases/pdpdatasetinfo/) | - |

## Functions

| Function | Description |
| ------ | ------ |
| [addApprovedProvider](/reference/filoz/synapse-core/warm-storage/functions/addapprovedprovider/) | Add an approved provider for the client |
| [addApprovedProviderCall](/reference/filoz/synapse-core/warm-storage/functions/addapprovedprovidercall/) | Create a call to the addApprovedProvider function |
| [addApprovedProviderSync](/reference/filoz/synapse-core/warm-storage/functions/addapprovedprovidersync/) | Add an approved provider for the client and wait for confirmation |
| [extractAddApprovedProviderEvent](/reference/filoz/synapse-core/warm-storage/functions/extractaddapprovedproviderevent/) | Extracts the ProviderApproved event from transaction logs |
| [extractRemoveApprovedProviderEvent](/reference/filoz/synapse-core/warm-storage/functions/extractremoveapprovedproviderevent/) | Extracts the ProviderUnapproved event from transaction logs |
| [extractTerminateServiceEvent](/reference/filoz/synapse-core/warm-storage/functions/extractterminateserviceevent/) | Extracts the ServiceTerminated event from transaction logs |
| [getAllDataSetMetadata](/reference/filoz/synapse-core/warm-storage/functions/getalldatasetmetadata/) | Get all metadata for a data set formatted as a MetadataObject |
| [getAllDataSetMetadataCall](/reference/filoz/synapse-core/warm-storage/functions/getalldatasetmetadatacall/) | Create a call to the getAllDataSetMetadata function |
| [getAllPieceMetadata](/reference/filoz/synapse-core/warm-storage/functions/getallpiecemetadata/) | Get all metadata for a piece formatted as a MetadataObject |
| [getAllPieceMetadataCall](/reference/filoz/synapse-core/warm-storage/functions/getallpiecemetadatacall/) | Create a call to the getAllPieceMetadata function |
| [getApprovedProviders](/reference/filoz/synapse-core/warm-storage/functions/getapprovedproviders/) | Get approved provider IDs with optional pagination |
| [getApprovedProvidersCall](/reference/filoz/synapse-core/warm-storage/functions/getapprovedproviderscall/) | Create a call to the [getApprovedProviders](/reference/filoz/synapse-core/warm-storage/functions/getapprovedproviders/) function for use with the Viem multicall, readContract, or simulateContract functions. |
| [getClientDataSets](/reference/filoz/synapse-core/warm-storage/functions/getclientdatasets/) | Get client data sets |
| [getClientDataSetsCall](/reference/filoz/synapse-core/warm-storage/functions/getclientdatasetscall/) | Create a call to the [getClientDataSets](/reference/filoz/synapse-core/warm-storage/functions/getclientdatasets/) function for use with the Viem multicall, readContract, or simulateContract functions. |
| [getDataSet](/reference/filoz/synapse-core/warm-storage/functions/getdataset/) | Get a data set by ID |
| [getDataSetCall](/reference/filoz/synapse-core/warm-storage/functions/getdatasetcall/) | Create a call to the [getDataSet](/reference/filoz/synapse-core/warm-storage/functions/getdataset/) function for use with the multicall or readContract function. |
| [getPdpDataSet](/reference/filoz/synapse-core/warm-storage/functions/getpdpdataset/) | Get a PDP data set by ID |
| [getPdpDataSets](/reference/filoz/synapse-core/warm-storage/functions/getpdpdatasets/) | Get PDP data sets |
| [getServicePrice](/reference/filoz/synapse-core/warm-storage/functions/getserviceprice/) | Get the service price for the warm storage |
| [getServicePriceCall](/reference/filoz/synapse-core/warm-storage/functions/getservicepricecall/) | Create a call to the getServicePrice function |
| [parseAllDataSetMetadata](/reference/filoz/synapse-core/warm-storage/functions/parsealldatasetmetadata/) | Parse the contract output into a MetadataObject |
| [parseAllPieceMetadata](/reference/filoz/synapse-core/warm-storage/functions/parseallpiecemetadata/) | Parse the contract output into a MetadataObject |
| [readAddresses](/reference/filoz/synapse-core/warm-storage/functions/readaddresses/) | Read FOC addresses from the Warm Storage contract |
| [readPdpDataSetInfo](/reference/filoz/synapse-core/warm-storage/functions/readpdpdatasetinfo/) | Read the PDP data set info. |
| [removeApprovedProvider](/reference/filoz/synapse-core/warm-storage/functions/removeapprovedprovider/) | Remove an approved provider for the client |
| [removeApprovedProviderCall](/reference/filoz/synapse-core/warm-storage/functions/removeapprovedprovidercall/) | Create a call to the removeApprovedProvider function |
| [removeApprovedProviderSync](/reference/filoz/synapse-core/warm-storage/functions/removeapprovedprovidersync/) | Remove an approved provider for the client and wait for confirmation |
| [terminateService](/reference/filoz/synapse-core/warm-storage/functions/terminateservice/) | Terminate a service (data set) |
| [terminateServiceCall](/reference/filoz/synapse-core/warm-storage/functions/terminateservicecall/) | Create a call to the [terminateService](/reference/filoz/synapse-core/warm-storage/functions/terminateservice/) function |
| [terminateServiceSync](/reference/filoz/synapse-core/warm-storage/functions/terminateservicesync/) | Terminate a service (data set) and wait for confirmation |

## References

### datasetMetadataObjectToEntry

Re-exports [datasetMetadataObjectToEntry](/reference/filoz/synapse-core/utils/functions/datasetmetadataobjecttoentry/)

***

### METADATA\_LIMITS

Re-exports [METADATA_LIMITS](/reference/filoz/synapse-core/utils/variables/metadata_limits/)

***

### MetadataArray

Re-exports [MetadataArray](/reference/filoz/synapse-core/utils/type-aliases/metadataarray/)

***

### metadataArrayToObject

Re-exports [metadataArrayToObject](/reference/filoz/synapse-core/utils/functions/metadataarraytoobject/)

***

### MetadataDataSetInternal

Re-exports [MetadataDataSetInternal](/reference/filoz/synapse-core/utils/interfaces/metadatadatasetinternal/)

***

### MetadataEntry

Re-exports [MetadataEntry](/reference/filoz/synapse-core/utils/type-aliases/metadataentry/)

***

### MetadataObject

Re-exports [MetadataObject](/reference/filoz/synapse-core/utils/type-aliases/metadataobject/)

***

### MetadataPieceInternal

Re-exports [MetadataPieceInternal](/reference/filoz/synapse-core/utils/interfaces/metadatapieceinternal/)

***

### pieceMetadataObjectToEntry

Re-exports [pieceMetadataObjectToEntry](/reference/filoz/synapse-core/utils/functions/piecemetadataobjecttoentry/)