Desplegar

Pago único

/**
 * Carga útil para inicializar Escrow de Pago Único
 */
export type InitializeSingleReleaseEscrowPayload = {
  /**
   * Dirección del usuario que firma la transacción del contrato
   */
  signer: string;

  /**
   * Identificador único para el escrow
   */
  engagementId: string;

  /**
   * Nombre del escrow
   */
  title: string;

  /**
   * Roles que conforman la estructura del escrow
   */
  roles: {
    /**
     * Dirección de la entidad que requiere el servicio.
     */
    approver: string;

    /**
     * Dirección de la entidad que presta el servicio.
     */
    serviceProvider: string;

    /**
     * Dirección de la entidad que posee el escrow
     */
    platformAddress: string;

    /**
     * Dirección del usuario encargado de liberar los fondos del escrow al proveedor del servicio.
     */
    releaseSigner: string;

    /**
     * Dirección encargada de resolver disputas dentro del escrow.
     */
    disputeResolver: string;

    /**
     * Dirección donde se enviarán los fondos del escrow
     */
    receiver: string;
  };

  /**
   * Texto que describe la función del escrow
   */
  description: string;

  /**
   * Cantidad a transferir al completarse los hitos del escrow
   */
  amount: number;

  /**
   * Comisión que la plataforma recibirá cuando se complete el escrow
   */
  platformFee: number;

  /**
   * Indicadores que validan ciertos estados de vida del escrow
   */
  flags?: {
    /**
     * Indicador que señala que un escrow está en disputa.
     */
    disputed?: boolean;

    /**
     * Indicador que señala que los fondos del escrow ya han sido liberados.
     */
    released?: boolean;

    /**
     * Indicador que señala que un escrow disputado ya ha sido resuelto.
     */
    resolved?: boolean;

    /**
     * Indicador que señala si un hito ha sido aprobado por el aprobador.
     */
    approved?: boolean;
  };

  /**
   * Información sobre la trustline que gestionará el movimiento de fondos en el escrow
   */
  trustline: {
    /**
     * Dirección pública que establece permiso para aceptar y usar un token específico.
     */
    address: string;
  };

  /**
   * Objetivos a completar para definir el escrow como finalizado
   */
  milestones: {
    /**
     * Texto que describe la función del hito
     */
    description: string;
  }[];
};

Pagos múltiples

/**
 * Carga útil para inicializar Escrow de Pagos Múltiples
 */
export type InitializeMultiReleaseEscrowPayload = {
  /**
   * Dirección del usuario que firma la transacción del contrato
   */
  signer: string;

  /**
   * Identificador único para el escrow
   */
  engagementId: string;

  /**
   * Nombre del escrow
   */
  title: string;

  /**
   * Roles que conforman la estructura del escrow (sin receiver, ya que cada hito tiene su propio receptor)
   */
  roles: {
    /**
     * Dirección de la entidad que requiere el servicio.
     */
    approver: string;

    /**
     * Dirección de la entidad que presta el servicio.
     */
    serviceProvider: string;

    /**
     * Dirección de la entidad que posee el escrow
     */
    platformAddress: string;

    /**
     * Dirección del usuario encargado de liberar los fondos del escrow al proveedor del servicio.
     */
    releaseSigner: string;

    /**
     * Dirección encargada de resolver disputas dentro del escrow.
     */
    disputeResolver: string;
  };

  /**
   * Texto que describe la función del escrow
   */
  description: string;

  /**
   * Comisión que la plataforma recibirá cuando se complete el escrow
   */
  platformFee: number;

  /**
   * Información sobre la trustline que gestionará el movimiento de fondos en el escrow
   */
  trustline: {
    /**
     * Dirección pública que establece permiso para aceptar y usar un token específico.
     */
    address: string;
  };

  /**
   * Objetivos a completar para definir el escrow como finalizado
   */
  milestones: {
    /**
     * Texto que describe la función del hito
     */
    description: string;
    /**
     * Cantidad a transferir al completarse este hito
     */
    amount: number;
    /**
     * Dirección donde se enviarán los fondos de este hito
     */
    receiver: string;
  }[];
};

Última actualización

¿Te fue útil?