# useGetEscrowsFromIndexerByRole

## Usage

This custom hook exposes a function to get the escrows that you are looking obtain.

{% code overflow="wrap" %}

```typescript
import { useGetEscrowsFromIndexerByRole } from "@trustless-work/escrow/hooks";
import { GetEscrowsFromIndexerByRoleParams } from "@trustless-work/escrow/types";

/*
 *  useGetEscrowsFromIndexerByRole 
*/
const { getEscrowsByRole } = useGetEscrowsFromIndexerByRole();

/* 
 * It returns the escrows that you are looking for
 * payload should be of type `GetEscrowsFromIndexerByRoleParams`
*/
await getEscrowsByRole(payload);
```

{% endcode %}

### Function

* `getEscrowsByRole`\
  Responsible for building and returning data based on the provided payload.

*Argument:*

`GetEscrowsFromIndexerByRoleParams`: An object containing the required fields to get the escrows by role.

{% content-ref url="/pages/CQM4chfTNijXs9Jemsgh" %}
[Get Escrows by Role](/trustless-work/v2-en/introduction/developer-resources/types/payloads/get-escrows-by-role.md)
{% endcontent-ref %}

*Return Value:*

`escrows`: The escrows that you are looking for.

***

## Usage ExampleForm

{% code title="src/hooks/useGetEscrowsFromIndexerByRole.ts" overflow="wrap" %}

```typescript
import {
  useGetEscrowsFromIndexerByRole,
} from "@trustless-work/escrow/hooks";
import {
  GetEscrowsFromIndexerByRoleParams, 
} from "@trustless-work/escrow/types";

export const useGetEscrowsFromIndexerByRoleForm = () => {

 /*
  *  useGetEscrowsFromIndexerByRole
 */
 const { getEscrowsByRole } = useGetEscrowsFromIndexerByRole();

/*
 * onSubmit function, this could be called by form button
*/
 const onSubmit = async (payload: GetEscrowsFromIndexerByRoleParams) => {

    try {
      /**
       * API call by using the trustless work hooks
       * @Note:
       * - We need to pass the payload to the getEscrowsByRole function
       * - The result will be an escrow
      */
      const escrows = await getEscrowsByRole(payload);
      
      if (!escrows) {
        throw new Error("Escrows not found");
      }

      /**
       * @Responses:
       * escrows !== null
       * - Escrows received successfully
       * - Show a success toast
       *
       * escrows === null
       * - Show an error toast
       */
      if (escrows) {
        toast.success("Escrows Received");
      }
    } catch (error: unknown) {
      // catch error logic
    }
  };
}

```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.trustlesswork.com/trustless-work/v2-en/escrow-react-sdk/indexer/usegetescrowsfromindexerbyrole.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
