EscrowUtils
@human-protocol/sdk • Docs
@human-protocol/sdk / escrow / EscrowUtils
Class: EscrowUtils
Introduction
Utility class for escrow-related operations.
Installation
npm
npm install @human-protocol/sdkyarn
yarn install @human-protocol/sdkCode example
Signer
Using private key(backend)
import { ChainId, EscrowUtils } from '@human-protocol/sdk';
const escrowAddresses = new EscrowUtils.getEscrows({
  network: ChainId.POLYGON_AMOY
});Constructors
new EscrowUtils()
new EscrowUtils():
EscrowUtils
Returns
Methods
getEscrow()
staticgetEscrow(chainId,escrowAddress):Promise<EscrowData>
This function returns the escrow data for a given address.
This uses Subgraph
Input parameters
enum ChainId {
  ALL = -1,
  MAINNET = 1,
  RINKEBY = 4,
  GOERLI = 5,
  BSC_MAINNET = 56,
  BSC_TESTNET = 97,
  POLYGON = 137,
  POLYGON_MUMBAI = 80001,
  POLYGON_AMOY = 80002,
  MOONBEAM = 1284,
  MOONBASE_ALPHA = 1287,
  AVALANCHE = 43114,
  AVALANCHE_TESTNET = 43113,
  CELO = 42220,
  CELO_ALFAJORES = 44787,
  LOCALHOST = 1338,
}type EscrowData = {
  id: string;
  address: string;
  amountPaid: string;
  balance: string;
  count: string;
  jobRequesterId: string;
  factoryAddress: string;
  finalResultsUrl?: string;
  intermediateResultsUrl?: string;
  launcher: string;
  manifestHash?: string;
  manifestUrl?: string;
  recordingOracle?: string;
  reputationOracle?: string;
  exchangeOracle?: string;
  status: EscrowStatus;
  token: string;
  totalFundedAmount: string;
  createdAt: string;
};Parameters
• chainId: ChainId
Network in which the escrow has been deployed
• escrowAddress: string
Address of the escrow
Returns
Promise<EscrowData>
Escrow data
Code example
import { ChainId, EscrowUtils } from '@human-protocol/sdk';
const escrowData = new EscrowUtils.getEscrow(ChainId.POLYGON_AMOY, "0x1234567890123456789012345678901234567890");Defined in
getEscrows()
staticgetEscrows(filter):Promise<EscrowData[]>
This function returns an array of escrows based on the specified filter parameters.
Input parameters
interface IEscrowsFilter {
  chainId: ChainId;
  launcher?: string;
  reputationOracle?: string;
  recordingOracle?: string;
  exchangeOracle?: string;
  jobRequesterId?: string;
  status?: EscrowStatus;
  from?: Date;
  to?: Date;
  first?: number;
  skip?: number;
  orderDirection?: OrderDirection;
}enum ChainId {
  ALL = -1,
  MAINNET = 1,
  RINKEBY = 4,
  GOERLI = 5,
  BSC_MAINNET = 56,
  BSC_TESTNET = 97,
  POLYGON = 137,
  POLYGON_MUMBAI = 80001,
  POLYGON_AMOY=80002,
  MOONBEAM = 1284,
  MOONBASE_ALPHA = 1287,
  AVALANCHE = 43114,
  AVALANCHE_TESTNET = 43113,
  CELO = 42220,
  CELO_ALFAJORES = 44787,
   = 1273227453,
  LOCALHOST = 1338,
}enum OrderDirection {
  ASC = 'asc',
  DESC = 'desc',
}enum EscrowStatus {
  Launched,
  Pending,
  Partial,
  Paid,
  Complete,
  Cancelled,
}type EscrowData = {
  id: string;
  address: string;
  amountPaid: string;
  balance: string;
  count: string;
  jobRequesterId: string;
  factoryAddress: string;
  finalResultsUrl?: string;
  intermediateResultsUrl?: string;
  launcher: string;
  manifestHash?: string;
  manifestUrl?: string;
  recordingOracle?: string;
  reputationOracle?: string;
  exchangeOracle?: string;
  status: EscrowStatus;
  token: string;
  totalFundedAmount: string;
  createdAt: string;
};Parameters
• filter: IEscrowsFilter
Filter parameters.
Returns
Promise<EscrowData[]>
List of escrows that match the filter.
Code example
import { ChainId, EscrowUtils, EscrowStatus } from '@human-protocol/sdk';
const filters: IEscrowsFilter = {
  status: EscrowStatus.Pending,
  from: new Date(2023, 4, 8),
  to: new Date(2023, 5, 8),
  chainId: ChainId.POLYGON_AMOY
};
const escrowDatas = await EscrowUtils.getEscrows(filters);Defined in
getStatusEvents()
staticgetStatusEvents(chainId,statuses?,from?,to?,launcher?,first?,skip?,orderDirection?):Promise<StatusEvent[]>
This function returns the status events for a given set of networks within an optional date range.
This uses Subgraph
Input parameters
enum ChainId {
  ALL = -1,
  MAINNET = 1,
  RINKEBY = 4,
  GOERLI = 5,
  SEPOLIA = 11155111,
  BSC_MAINNET = 56,
  BSC_TESTNET = 97,
  POLYGON = 137,
  POLYGON_MUMBAI = 80001,
  POLYGON_AMOY = 80002,
  MOONBEAM = 1284,
  MOONBASE_ALPHA = 1287,
  AVALANCHE = 43114,
  AVALANCHE_TESTNET = 43113,
  CELO = 42220,
  CELO_ALFAJORES = 44787,
  LOCALHOST = 1338,
  XLAYER_TESTNET = 195,
  XLAYER = 196,
}enum OrderDirection {
  ASC = 'asc',
  DESC = 'desc',
}type Status = {
  escrowAddress: string;
  timestamp: string;
  status: string;
};Parameters
• chainId: ChainId
List of network IDs to query for status events.
• statuses?: EscrowStatus[]
Optional array of statuses to query for. If not provided, queries for all statuses.
• from?: Date
Optional start date to filter events.
• to?: Date
Optional end date to filter events.
• launcher?: string
Optional launcher address to filter events. Must be a valid Ethereum address.
• first?: number
Optional number of transactions per page. Default is 10.
• skip?: number
Optional number of transactions to skip. Default is 0.
• orderDirection?: OrderDirection
Optional order of the results. Default is DESC.
Returns
Promise<StatusEvent[]>
Array of status events with their corresponding statuses.
Code example
import { ChainId, EscrowUtils, EscrowStatus } from '@human-protocol/sdk';
(async () => {
  const fromDate = new Date('2023-01-01');
  const toDate = new Date('2023-12-31');
  const statusEvents = await EscrowUtils.getStatusEvents(
    [ChainId.POLYGON, ChainId.MAINNET],
    [EscrowStatus.Pending, EscrowStatus.Complete],
    fromDate,
    toDate
  );
  console.log(statusEvents);
})();Defined in
Last updated