# Desplegar

### Lanzamiento único

```typescript
/**
 * Carga útil para inicializar Escrow de Lanzamiento Ú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 a la que se enviarán los ingresos del escrow
     */
    receiver: string;
  };

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

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

  /**
   * Comisión que la plataforma recibirá cuando el escrow se complete
   */
  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 en disputa 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 escrow
   */
  trustline: {
    /**
     * Dirección pública que establece el permiso para aceptar y usar un token específico.
     */
    address: string;
    
    /**
     * Abreviatura oficial que representa el token en billeteras, intercambios y documentación.
     */
    symbol: string;
  };

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

### Lanzamiento múltiple

```typescript
/**
 * Carga útil para inicializar Escrow de Lanzamiento Múltiple
 */
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 receptor, 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 el escrow se complete
   */
  platformFee: number;

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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.trustlesswork.com/trustless-work/v1-es/introduccion/developer-resources/tipos/cargas-utiles/desplegar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
