useGetEscrowsFromIndexerByRole

Returns the escrows that you're looking for. It comes from our indexer (database) synchronizer with the blockchain.

Usage

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

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);

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.

Types

Return Value:

escrows: The escrows that you are looking for.


Usage ExampleForm

src/hooks/useGetEscrowsFromIndexerByRole.ts
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
    }
  };
}

Last updated

Was this helpful?