# CommitOptions

Defined in: [packages/synapse-sdk/src/types.ts:652](https://github.com/FilOzone/synapse-sdk/blob/2e357180d354970e2a091ff7ef0f3021c8357d4f/packages/synapse-sdk/src/types.ts#L652)

Options for committing pieces on-chain

## Properties

### extraData?

> `optional` **extraData?**: `` `0x${string}` ``

Defined in: [packages/synapse-sdk/src/types.ts:656](https://github.com/FilOzone/synapse-sdk/blob/2e357180d354970e2a091ff7ef0f3021c8357d4f/packages/synapse-sdk/src/types.ts#L656)

Pre-built signed extraData (avoids re-signing)

***

### onSubmitted?

> `optional` **onSubmitted?**: (`txHash`) => `void`

Defined in: [packages/synapse-sdk/src/types.ts:672](https://github.com/FilOzone/synapse-sdk/blob/2e357180d354970e2a091ff7ef0f3021c8357d4f/packages/synapse-sdk/src/types.ts#L672)

Called when the commit transaction is submitted (before on-chain confirmation).
The hash is Curio's Location wait key and is not guaranteed to be the final
included on-chain hash if Curio replaces the send by fee. Prefer
[CommitResult.confirmedTxHash](/reference/filoz/synapse-sdk/synapse/interfaces/commitresult/#confirmedtxhash) after confirmation.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `txHash` | `` `0x${string}` `` |

#### Returns

`void`

***

### pieces

> **pieces**: `object`[]

Defined in: [packages/synapse-sdk/src/types.ts:654](https://github.com/FilOzone/synapse-sdk/blob/2e357180d354970e2a091ff7ef0f3021c8357d4f/packages/synapse-sdk/src/types.ts#L654)

Pieces to commit with optional per-piece metadata

#### pieceCid

> **pieceCid**: [`PieceCID`](/reference/filoz/synapse-sdk/synapse/interfaces/piececid/)

#### pieceMetadata?

> `optional` **pieceMetadata?**: [`MetadataObject`](/reference/filoz/synapse-sdk/synapse/type-aliases/metadataobject/)

***

### signal?

> `optional` **signal?**: [`AbortSignal`](https://developer.mozilla.org/docs/Web/API/AbortSignal)

Defined in: [packages/synapse-sdk/src/types.ts:665](https://github.com/FilOzone/synapse-sdk/blob/2e357180d354970e2a091ff7ef0f3021c8357d4f/packages/synapse-sdk/src/types.ts#L665)

Optional AbortSignal to cancel the commit requests and the confirmation wait.

Aborting after [CommitOptions.onSubmitted](/reference/filoz/synapse-sdk/synapse/interfaces/commitoptions/#onsubmitted) only stops waiting: the transaction
was already submitted and can still confirm on chain. When this context has no data
set yet, it does not learn the new data set ID, so a later commit() on the same
context creates another data set.