# calculateAdditionalLockupRequired

> **calculateAdditionalLockupRequired**(`params`): [`OutputType`](/reference/filoz/synapse-core/warm-storage/namespaces/calculateadditionallockuprequired/type-aliases/outputtype/)

Defined in: [packages/synapse-core/src/warm-storage/calculate-additional-lockup-required.ts:52](https://github.com/FilOzone/synapse-sdk/blob/0c729dad461472f017e4d84f8e6ac16e6afbe7c0/packages/synapse-core/src/warm-storage/calculate-additional-lockup-required.ts#L52)

Compute how much additional lockup an upload of known piece sizes requires.

Existing datasets pay only the incremental rate lockup. New datasets also
include lifecycle and optional CDN/cache-miss lockups. Storage rates are
calculated from aggregate PDP leaf counts, matching FWSS's rounding order.

## Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `params` | [`ParamsType`](/reference/filoz/synapse-core/warm-storage/namespaces/calculateadditionallockuprequired/type-aliases/paramstype/) | [calculateAdditionalLockupRequired.ParamsType](/reference/filoz/synapse-core/warm-storage/namespaces/calculateadditionallockuprequired/type-aliases/paramstype/) |

## Returns

[`OutputType`](/reference/filoz/synapse-core/warm-storage/namespaces/calculateadditionallockuprequired/type-aliases/outputtype/)

[calculateAdditionalLockupRequired.OutputType](/reference/filoz/synapse-core/warm-storage/namespaces/calculateadditionallockuprequired/type-aliases/outputtype/)

## Throws

ValidationError when the leaf count or piece sizes are invalid