Respuestas

Entidad de Respuesta de escrow

import { Date, EscrowType, Status } from "./types";
import {
  Flags,
  MultiReleaseEscrow,
  MultiReleaseMilestone,
  Roles,
  SingleReleaseEscrow,
  SingleReleaseMilestone,
  Trustline,
} from "./types.entity";

/**
 * Respuesta de escrow como fund, release, change, etc ...
 */
export type EscrowRequestResponse = {
  /**
   * Estado de la solicitud
   */
  status: Status;

  /**
   * Transacción sin firmar
   */
  unsignedTransaction?: string;
};

/**
 * Respuesta de Envío de Transacción
 */
export type SendTransactionResponse = {
  /**
   * Estado de la solicitud
   */
  status: Status;

  /**
   * Mensaje de la solicitud
   */
  message: string;
};

/**
 * Respuesta de Inicializar Escrow
 */
export type InitializeSingleReleaseEscrowResponse = EscrowRequestResponse & {
  /**
   * ID (dirección) que identifica el contrato de escrow
   */
  contractId: string;

  /**
   * Datos del escrow
   */
  escrow: SingleReleaseEscrow;

  /**
   * Mensaje de la solicitud
   */
  message: string;
};

/**
 * Respuesta de Inicializar Escrow de Lanzamiento Múltiple
 */
export type InitializeMultiReleaseEscrowResponse =
  InitializeSingleReleaseEscrowResponse & {
    /**
     * Datos del escrow
     */
    escrow: MultiReleaseEscrow;
  };

/**
 * Respuesta de Actualizar Escrow
 */
export type UpdateSingleReleaseEscrowResponse =
  InitializeSingleReleaseEscrowResponse;

/**
 * Respuesta de Actualizar Escrow de Lanzamiento Múltiple
 */
export type UpdateMultiReleaseEscrowResponse =
  InitializeMultiReleaseEscrowResponse;

/**
 * Respuesta de Obtener Saldos
 */
export type GetEscrowBalancesResponse = {
  /**
   * Dirección del escrow
   */
  address: string;

  /**
   * Saldo del escrow
   */
  balance: number;
};

/**
 * Respuesta de Obtener Escrows desde el Indexador
 */
export type GetEscrowsFromIndexerResponse = {
  signer?: string;
  contractId?: string;
  engagementId: string;
  title: string;
  roles: Roles;
  description: string;
  amount: number;
  platformFee: number;
  balance?: number;
  milestones:
    | SingleReleaseMilestone[]
    | (MultiReleaseMilestone[] & { disputeStartedBy: Roles });
  flags?: Flags;
  trustline: Trustline & { name: string };
  receiverMemo?: number;
  disputeStartedBy?: string;
  fundedBy?: string;
  isActive?: boolean;
  approverFunds?: string;
  receiverFunds?: string;
  user: string;
  createdAt: Date;
  updatedAt: Date;
  type: EscrowType;
};

/**
 * Respuesta para actualizar escrow desde el hash de la transacción
 */
export type UpdateFromTxHashResponse = {
  /**
   * Estado de la solicitud
   */
  status: "SUCCESS" | "FAILED";

  /**
   * Mensaje que describe el resultado
   */
  message: string;
};

Última actualización

¿Te fue útil?