# Middleware

Handles all Middleware related functionality

## Hierarchy

* **Middleware**

## Index

### Methods

* [getEventByIndexedArgs](#geteventbyindexedargs)
* [getEventsByIndexedArgs](#geteventsbyindexedargs)
* [getTransactionByHash](#gettransactionbyhash)

## Methods

### getEventByIndexedArgs

▸ **getEventByIndexedArgs**(`opts`: object): *Promise‹*[*EventIdentifier*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v9/interfaces/eventidentifier) *| null›*

*Defined in* [*src/Middleware.ts:34*](https://github.com/PolymathNetwork/polymesh-sdk/blob/56921667/src/Middleware.ts#L34)

Retrieve a single event by any of its indexed arguments. Can be filtered using parameters

**`note`** uses the middleware

**Parameters:**

▪ **opts**: *object*

| Name         | Type                | Description                                      |
| ------------ | ------------------- | ------------------------------------------------ |
| `eventArg0?` | undefined \| string | event parameter value to filter by in position 0 |
| `eventArg1?` | undefined \| string | event parameter value to filter by in position 1 |
| `eventArg2?` | undefined \| string | event parameter value to filter by in position 2 |
| `eventId`    | EventId             | type of the event to fetch                       |
| `moduleId`   | ModuleId            | type of the module to fetch                      |

**Returns:** *Promise‹*[*EventIdentifier*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v9/interfaces/eventidentifier) *| null›*

### getEventsByIndexedArgs

▸ **getEventsByIndexedArgs**(`opts`: object): *Promise‹*[*EventIdentifier*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v9/interfaces/eventidentifier)*\[] | null›*

*Defined in* [*src/Middleware.ts:73*](https://github.com/PolymathNetwork/polymesh-sdk/blob/56921667/src/Middleware.ts#L73)

Retrieve a list of events. Can be filtered using parameters

**`note`** uses the middleware

**Parameters:**

▪ **opts**: *object*

| Name         | Type                | Description                                      |
| ------------ | ------------------- | ------------------------------------------------ |
| `eventArg0?` | undefined \| string | event parameter value to filter by in position 0 |
| `eventArg1?` | undefined \| string | event parameter value to filter by in position 1 |
| `eventArg2?` | undefined \| string | event parameter value to filter by in position 2 |
| `eventId`    | EventId             | type of the event to fetch                       |
| `moduleId`   | ModuleId            | type of the module to fetch                      |
| `size?`      | undefined \| number | page size                                        |
| `start?`     | undefined \| number | page offset                                      |

**Returns:** *Promise‹*[*EventIdentifier*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v9/interfaces/eventidentifier)*\[] | null›*

### getTransactionByHash

▸ **getTransactionByHash**(`opts`: object): *Promise‹*[*ExtrinsicData*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v9/interfaces/extrinsicdata) *| null›*

*Defined in* [*src/Middleware.ts:117*](https://github.com/PolymathNetwork/polymesh-sdk/blob/56921667/src/Middleware.ts#L117)

Retrieve a transaction by hash

**`note`** uses the middleware

**Parameters:**

▪ **opts**: *object*

| Name     | Type   | Description             |
| -------- | ------ | ----------------------- |
| `txHash` | string | hash of the transaction |

**Returns:** *Promise‹*[*ExtrinsicData*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v9/interfaces/extrinsicdata) *| null›*
