# getDataSetCall

> **getDataSetCall**(`options`): `object`

Defined in: [packages/synapse-core/src/warm-storage/get-data-set.ts:119](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-core/src/warm-storage/get-data-set.ts#L119)

Create a call to the [getDataSet](/reference/filoz/synapse-core/warm-storage/functions/getdataset/) function for use with the multicall or readContract function.

## Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `options` | \{ `chain`: `Chain`; `contractAddress?`: `` `0x${string}` ``; `dataSetId`: `bigint`; \} | [getDataSetCall.OptionsType](/reference/filoz/synapse-core/warm-storage/namespaces/getdatasetcall/type-aliases/optionstype/) |
| `options.chain` | `Chain` | The chain to use to make the call. |
| `options.contractAddress?` | `` `0x${string}` `` | Warm storage contract address. If not provided, the default is the storage view contract address for the chain. |
| `options.dataSetId` | `bigint` | The ID of the data set to get. |

## Returns

`object`

The call to the [getDataSet](/reference/filoz/synapse-core/warm-storage/functions/getdataset/) function [getDataSetCall.OutputType](/reference/filoz/synapse-core/warm-storage/namespaces/getdatasetcall/type-aliases/outputtype/)

### abi

> **abi**: readonly \[\{ `inputs`: readonly \[\{ `internalType`: `"contract FilecoinWarmStorageService"`; `name`: `"_service"`; `type`: `"address"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"constructor"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"payer"`; `type`: `"address"`; \}\]; `name`: `"clientDataSets"`; `outputs`: readonly \[\{ `internalType`: `"uint256[]"`; `name`: `"dataSetIds"`; `type`: `"uint256[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"payer"`; `type`: `"address"`; \}, \{ `internalType`: `"uint256"`; `name`: `"nonce"`; `type`: `"uint256"`; \}\]; `name`: `"clientNonces"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"filBeamControllerAddress"`; `outputs`: readonly \[\{ `internalType`: `"address"`; `name`: `""`; `type`: `"address"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}\]; `name`: `"getAllDataSetMetadata"`; `outputs`: readonly \[\{ `internalType`: `"string[]"`; `name`: `"keys"`; `type`: `"string[]"`; \}, \{ `internalType`: `"string[]"`; `name`: `"values"`; `type`: `"string[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"pieceId"`; `type`: `"uint256"`; \}\]; `name`: `"getAllPieceMetadata"`; `outputs`: readonly \[\{ `internalType`: `"string[]"`; `name`: `"keys"`; `type`: `"string[]"`; \}, \{ `internalType`: `"string[]"`; `name`: `"values"`; `type`: `"string[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"offset"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"limit"`; `type`: `"uint256"`; \}\]; `name`: `"getApprovedProviders"`; `outputs`: readonly \[\{ `internalType`: `"uint256[]"`; `name`: `"providerIds"`; `type`: `"uint256[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"getApprovedProvidersLength"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"count"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"client"`; `type`: `"address"`; \}\]; `name`: `"getClientDataSets"`; `outputs`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"pdpRailId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"cacheMissRailId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"cdnRailId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"address"`; `name`: `"payer"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `internalType`: `"uint256"`; `name`: `"commissionBps"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"clientDataSetId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"pdpEndEpoch"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}\]; `internalType`: `"struct FilecoinWarmStorageService.DataSetInfoView[]"`; `name`: `"infos"`; `type`: `"tuple[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"getCurrentPricingRates"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"storagePrice"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"minimumRate"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}\]; `name`: `"getDataSet"`; `outputs`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"pdpRailId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"cacheMissRailId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"cdnRailId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"address"`; `name`: `"payer"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `internalType`: `"uint256"`; `name`: `"commissionBps"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"clientDataSetId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"pdpEndEpoch"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}\]; `internalType`: `"struct FilecoinWarmStorageService.DataSetInfoView"`; `name`: `"info"`; `type`: `"tuple"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"string"`; `name`: `"key"`; `type`: `"string"`; \}\]; `name`: `"getDataSetMetadata"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"exists"`; `type`: `"bool"`; \}, \{ `internalType`: `"string"`; `name`: `"value"`; `type`: `"string"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"leafCount"`; `type`: `"uint256"`; \}\]; `name`: `"getDataSetSizeInBytes"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"pure"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}\]; `name`: `"getDataSetStatus"`; `outputs`: readonly \[\{ `internalType`: `"enum FilecoinWarmStorageService.DataSetStatus"`; `name`: `"status"`; `type`: `"uint8"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"getPDPConfig"`; `outputs`: readonly \[\{ `internalType`: `"uint64"`; `name`: `"maxProvingPeriod"`; `type`: `"uint64"`; \}, \{ `internalType`: `"uint256"`; `name`: `"challengeWindowSize"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"challengesPerProof"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"initChallengeWindowStart"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"pieceId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"string"`; `name`: `"key"`; `type`: `"string"`; \}\]; `name`: `"getPieceMetadata"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"exists"`; `type`: `"bool"`; \}, \{ `internalType`: `"string"`; `name`: `"value"`; `type`: `"string"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}\]; `name`: `"isProviderApproved"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `""`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"setId"`; `type`: `"uint256"`; \}\]; `name`: `"nextPDPChallengeWindowStart"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"nextUpgrade"`; `outputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"nextImplementation"`; `type`: `"address"`; \}, \{ `internalType`: `"uint96"`; `name`: `"afterEpoch"`; `type`: `"uint96"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"periodId"`; `type`: `"uint256"`; \}\]; `name`: `"provenPeriods"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `""`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}\]; `name`: `"provenThisPeriod"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `""`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}\]; `name`: `"provingActivationEpoch"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"setId"`; `type`: `"uint256"`; \}\]; `name`: `"provingDeadline"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"railId"`; `type`: `"uint256"`; \}\]; `name`: `"railToDataSet"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"service"`; `outputs`: readonly \[\{ `internalType`: `"contract FilecoinWarmStorageService"`; `name`: `""`; `type`: `"address"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"serviceCommissionBps"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"dataSetId"`; `type`: `"uint256"`; \}\]; `name`: `"ProvingPeriodNotInitialized"`; `type`: `"error"`; \}\] = `chain.contracts.fwssView.abi`

### address

> **address**: `` `0x${string}` ``

### args

> **args**: \[`bigint`\]

### functionName

> **functionName**: `"getDataSet"` = `'getDataSet'`

## Throws

Errors [getDataSetCall.ErrorType](/reference/filoz/synapse-core/warm-storage/namespaces/getdatasetcall/type-aliases/errortype/)

## Example

```ts
import { getDataSetCall } from '@filoz/synapse-core/warm-storage'
import { createPublicClient, http } from 'viem'
import { multicall } from 'viem/actions'
import { calibration } from '@filoz/synapse-core/chains'

const client = createPublicClient({
  chain: calibration,
  transport: http(),
})

const results = await multicall(client, {
  contracts: [
    getDataSetCall({ chain: calibration, dataSetId: 1n }),
    getDataSetCall({ chain: calibration, dataSetId: 2n }),
  ],
})

console.log(results)
```