# landedTransactions

> **landedTransactions**(`transactions`): [`Required`](https://www.typescriptlang.org/docs/handbook/utility-types.html#requiredtype)\<[`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`JSONRPCOptions`](/reference/filoz/synapse-core/mocks/interfaces/jsonrpcoptions/), `"eth_getTransactionByHash"` \| `"eth_getTransactionReceipt"`\>\>

Defined in: [packages/synapse-core/src/mocks/jsonrpc/transactions.ts:130](https://github.com/FilOzone/synapse-sdk/blob/56f1ef3fb5ccfea19fb80cb59e997e381f37d85a/packages/synapse-core/src/mocks/jsonrpc/transactions.ts#L130)

JSON-RPC handlers for transactions an SP submitted. Spread them into [JSONRPC](/reference/filoz/synapse-core/mocks/functions/jsonrpc/) options.
Unknown hashes have no transaction or receipt, so a receipt wait keeps polling.

## Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `transactions` | [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)\<`` `0x${string}` ``, [`LandedTransaction`](/reference/filoz/synapse-core/mocks/type-aliases/landedtransaction/)\> \| ((`hash`) => [`LandedTransaction`](/reference/filoz/synapse-core/mocks/type-aliases/landedtransaction/) \| `undefined`) | How each transaction landed, keyed by hash, or a lookup that returns undefined for unknown hashes. |

## Returns

[`Required`](https://www.typescriptlang.org/docs/handbook/utility-types.html#requiredtype)\<[`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)\<[`JSONRPCOptions`](/reference/filoz/synapse-core/mocks/interfaces/jsonrpcoptions/), `"eth_getTransactionByHash"` \| `"eth_getTransactionReceipt"`\>\>

`eth_getTransactionByHash` and `eth_getTransactionReceipt` handlers.

## Example

```ts
server.use(
  Mocks.JSONRPC({
    ...Mocks.presets.basic,
    ...Mocks.landedTransactions({ [txHash]: { dataSetId: 1n, pieceIds: [0n] } }),
  })
)
```