# useGetEscrowsFromIndexerBySigner

## Uso

Este hook customizado expõe uma função para obter os depósitos em garantia que você está procurando.

{% code overflow="wrap" %}

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

/*
 *  useGetEscrowsFromIndexerBySigner
*/
const { getEscrowsBySigner } = useGetEscrowsFromIndexerBySigner();

/* 
 * Retorna os depósitos em garantia que você está procurando
 * payload deve ser do tipo `GetEscrowsFromIndexerBySignerParams`
*/
await getEscrowsBySigner(payload);
```

{% endcode %}

### Função

* `getEscrowsBySigner`\
  Responsável por construir e retornar dados com base no payload fornecido.

*Argumento:*

`GetEscrowsFromIndexerBySignerParams`: Um objeto contendo os campos necessários para obter os escrows por signatário.

{% content-ref url="../developer-resources/tipos/payloads/obter-caucoes-por-signatario" %}
[obter-caucoes-por-signatario](https://docs.trustlesswork.com/trustless-work/pt/developer-resources/tipos/payloads/obter-caucoes-por-signatario)
{% endcontent-ref %}

*Valor de Retorno:*

`escrows`: Os depósitos em garantia que você está procurando.

***

## Exemplo de UsoForm

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

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

export const useGetEscrowsFromIndexerBySignerForm = () => {

 /*
  *  useGetEscrowsFromIndexerBySigner
 */
 const { getEscrowsBySigner } = useGetEscrowsFromIndexerBySigner();

/*
 * função onSubmit, isso pode ser chamada por um botão de formulário
*/
 const onSubmit = async (payload: GetEscrowsFromIndexerBySignerParams) => {

    try {
      /**
       * Chamada de API usando os hooks do trustless work
       * @Nota:
       * - Precisamos passar o payload para a função getEscrowsBySigner
       * - O resultado será um depósito em garantia
      */
      const escrows = await getEscrowsBySigner(payload);
      
      if (!escrows) {
        throw new Error("Escrows not found");
      }

      /**
       * @Respostas:
       * escrows !== null
       * - Depósitos em garantia recebidos com sucesso
       * - Mostrar um toast de sucesso
       *
       * escrows === null
       * - Mostrar um toast de erro
       */
      if (escrows) {
        toast.success("Escrows Received");
      }
    } catch (error: unknown) {
      // lógica de captura de erro
    }
  };
}

```

{% endcode %}
