Trustless Work
  • Welcome
    • Why Escrows Matter
    • 🛤️Our Journey so Far
      • 🤔The Problem: Origins of Trustless Work
      • 👾The team comes together
      • 💡The Solution: Escrows
      • 🏆Key Milestones
        • 🌠DraperU Stellar Astro Hacker House: A Pivotal Moment
        • Launching the API V1 at ETH Pura Vida Hackathon
      • 🚀Current Programs
        • 🌟DraperU Embark Program
        • 💻OD Hack Campaigns
      • 🛠️Vertical Development
      • 🔮Future Vision
  • 📌Start Here
    • ☀️About Trustless Work
      • Vision and Mission
      • Team
  • ⚒️Understanding Smart Escrows
    • 🥸Smart Escrow Design
      • What does a Smart Escrow "look like"?
      • Roles in Trustless Work
      • Escrow Lifecycle
        • Initiation Phase
        • Funding Phase
        • Complete phase
        • Approval phase
        • Release phase
        • Dispute Resolution
    • 💵USDC: The Stablecoin Powering Trustless Work
    • 🌟Stellar & Soroban: The Backbone of Trustless Work
  • 💻Developer Resources
    • Introduction
    • Schema
    • Types
      • Basic
      • Entities
      • Payloads
      • Responses
      • Errors
    • Quickstart
      • Integration Demo Project
        • Getting Started
        • Configuration
        • Context API
        • Wallet Setup
        • Trustlines
        • Services
        • Helpers
        • Error Handling
        • Forms
          • Initialize Escrow
          • Fund Escrow
          • Get Escrow
          • Get Multiple Escrow Balances
          • Resolve Dispute
          • Change Milestone Status
          • Change Milestone Flag
          • Change Dispute Flag
          • Release Funds
          • Update Escrow
        • UI Components
          • Pages
          • Cards
          • Tabs
          • Utils
    • Authentication
      • Request Api Key
    • API Reference
      • Deploy
        • Initialize Escrow
      • Escrows
        • Fund Escrow
        • Get Escrow
        • Resolve Dispute
        • Change Milestone Status
        • Change Milestone Flag
        • Start Dispute
        • Release Funds
        • Update Escorw
      • Helpers
        • Set Trustline
        • Send Transaction
        • Get Multiple Escrow Balance
    • React Library
      • Getting Started
      • useSendTransaction
      • useGetEscrow
      • useGetMultipleEscrowBalances
      • useInitializeEscrow
      • useUpdateEscrow
      • useFundEscrow
      • useChangeMilestoneApprovedFlag
      • useChangeMilestoneStatus
      • useReleaseFunds
      • useStartDispute
      • useResolveDispute
    • 🚀Smart Escrow API
    • 🧰Essential Tools for Developers
      • Stellar Wallets
        • Freighter Wallet
        • Albedo Wallet
        • xBull Wallet
        • Rabet Wallet
        • Lobstr Wallet
        • Hana Wallet
        • Additional Resources
        • Troubleshooting & FAQs
      • How to Get Testnet Tokens
  • 🌍Use Cases by Industry
    • Marketplaces & E-commerce
    • Grants, Bounties, and Hackathons
    • P2P Exchanges and OTC Desks
    • Security Deposits
    • Milestone-based Freelance & Contract Work
    • Crowdfunding & Pre-orders
    • DAO Treasury & Working Group Budgets
    • Education & Online Courses
    • Subscription + Performance-based Retainers
  • 🤖Using the dApp
    • Step 1: Accessing the Trustless Work Dapp and Logging In
    • Step 2: Creating a Profile and Requesting an API Key
    • Step 3: Creating an Escrow
    • Step 4: Funding an Escrow
    • Step 5: Marking a Milestone as Done ✅
    • Step 6: Approving the Milestone
    • Step 7: Releasing the Payment
    • Resolving Disputes
  • 🏴‍☠️Community
    • 🌎Spotlight: Kindfi
    • 🛣️Roadmap: The Journey Ahead
    • Contributor's Guide
    • 📂Open-Source Templates & Developer Tools
  • ✒️Background & Theory
    • 📘Core Concepts & Escrow Glossary
    • 🎒Historical Context
      • 📜Escrow History:
        • 🗿Ancient to Colonial Era
        • 🏦Banking Era (19th - 20th Century)
        • 💻The Digital Era and Online Escrow
      • ⛓️Blockchain Era: Smart Escrows
  • Links
    • ⚒️Trustless Work dApp
    • 🌐Trustless Work Website
    • 📣Telegram Chat
    • 💎Only Dust Profile
    • 👩‍💻Swagger for API
    • 📜Github
  • 📢Appendices
    • Contact and Support
    • Notion for Startups
    • Meru
Powered by GitBook
LogoLogo

Links

  • Website
On this page
  • Usage
  • Description of Return Values
  • Mutation Function
  • Usage ExampleForm

Was this helpful?

Export as PDF
  1. Developer Resources
  2. React Library

useGetMultipleEscrowBalances

Returns all the information of an escrow requested through the contractId.

Usage

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

import { useGetMultipleEscrowBalances } from "@trustless-work/escrow/hooks";
import { GetBalanceParams } from "@trustless-work/escrow/types";

/*
 *  useGetEscrow
*/
const { getMultipleBalances, balances, isPending, isError, isSuccess } = useGetMultipleEscrowBalances();

/* 
 * It returns the balances of the escrows
 * payload should be of type `GetBalanceParams`
*/
await getMultipleBalances(payload);

Description of Return Values

  • balances The balances you are looking to obtain.

  • isPending A boolean status flag indicating whether the mutation is currently in progress. Useful for showing loaders or disabling UI elements during the process.

  • isError A boolean status flag that becomes true if the mutation fails.

  • isSuccess A boolean status flag that becomes true once the mutation completes successfully.

Mutation Function

  • getMultipleBalances This is the main mutation function. Internally, it wraps mutate or mutateAsync and is responsible for building and returning data based on the provided payload.

Argument:

GetBalanceParams : An object containing the required fields to get the balances.

Return Value:

balances: The balances that you are looking for.


Usage ExampleForm

src/hooks/useGetMultipleEscrowBalances.ts
import {
  useGetMultipleEscrowBalances,
} from "@trustless-work/escrow/hooks";
import {
  GetBalanceParams, 
} from "@trustless-work/escrow/types";

export const useGetMultipleEscrowBalancesForm = () => {

 /*
  *  useGetMultipleEscrowBalances
 */
 const { getMultipleBalances, balances, isPending, isError, isSuccess } = useGetMultipleEscrowBalances();

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

    try {
      /**
       * API call by using the trustless work hooks
       * @Note:
       * - We need to pass the payload to the getMultipleBalances function
       * - The result will be balances
      */
      await getMultipleBalances(payload);
      
      if (!balances) {
        throw new Error("Balances not found");
      }

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

PrevioususeGetEscrowNextuseInitializeEscrow

Last updated 2 days ago

Was this helpful?

💻
Types