# getAllPieceMetadataCall

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

Defined in: [packages/synapse-core/src/warm-storage/get-all-piece-metadata.ts:121](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-core/src/warm-storage/get-all-piece-metadata.ts#L121)

Create a call to the getAllPieceMetadata function

This function is used to create a call to the getAllPieceMetadata function for use with the multicall or readContract function.

Use [parseAllPieceMetadata](/reference/filoz/synapse-core/warm-storage/functions/parseallpiecemetadata/) to parse the output into a MetadataObject.

## Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `options` | \{ `chain`: `Chain`; `contractAddress?`: `` `0x${string}` ``; `dataSetId`: `bigint`; `pieceId`: `bigint`; \} | [getAllPieceMetadataCall.OptionsType](/reference/filoz/synapse-core/warm-storage/namespaces/getallpiecemetadatacall/type-aliases/optionstype/) |
| `options.chain` | `Chain` | The chain to use to make the call. |
| `options.contractAddress?` | `` `0x${string}` `` | FilecoinWarmStorage 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 the piece belongs to. |
| `options.pieceId` | `bigint` | The ID of the piece to get metadata for. |

## Returns

`object`

The call to the getAllPieceMetadata function [getAllPieceMetadataCall.OutputType](/reference/filoz/synapse-core/warm-storage/namespaces/getallpiecemetadatacall/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`, `bigint`\]

### functionName

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

## Throws

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

## Example

```ts
import { parseAllPieceMetadata, getAllPieceMetadataCall } 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: [
    getAllPieceMetadataCall({ chain: calibration, dataSetId: 1n, pieceId: 0n }),
    getAllPieceMetadataCall({ chain: calibration, dataSetId: 1n, pieceId: 1n }),
  ],
})

const formattedMetadata = results.map(parseAllPieceMetadata)

console.log(formattedMetadata)
```