# 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-v3/interfaces/eventidentifier) *| null›*

*Defined in* [*src/Middleware.ts:31*](https://github.com/PolymathNetwork/polymesh-sdk/blob/1221e467/src/Middleware.ts#L31)

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

**Parameters:**

▪ **opts**: *object*

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

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

### getEventsByIndexedArgs

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

*Defined in* [*src/Middleware.ts:76*](https://github.com/PolymathNetwork/polymesh-sdk/blob/1221e467/src/Middleware.ts#L76)

Retrieve a list of events. Can be filtered using parameters

**Parameters:**

▪ **opts**: *object*

| Name         | Type                | Description                         |
| ------------ | ------------------- | ----------------------------------- |
| `eventArg0?` | undefined \| string | event value to filter in position 0 |
| `eventArg1?` | undefined \| string | event value to filter in position 1 |
| `eventArg2?` | undefined \| string | event value to filter in position 2 |
| `eventId`    | EventIdEnum         | type of the event to fetch          |
| `moduleId`   | ModuleIdEnum        | 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-v3/interfaces/eventidentifier)*\[] | null›*

### getTransactionByHash

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

*Defined in* [*src/Middleware.ts:123*](https://github.com/PolymathNetwork/polymesh-sdk/blob/1221e467/src/Middleware.ts#L123)

Retrieve a transaction by hash

**Parameters:**

▪ **opts**: *object*

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

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