circle-check
Our docs are AI-ready. Use them as context for any AI, or ask questions via the search bar.

pencilAtualizar Escrow

Liberação Única

/**
 * Payload de Atualização de Escrow de Liberação Única
 */
export type UpdateSingleReleaseEscrowPayload = {
  /**
   * ID (endereço) que identifica o contrato de escrow
   */
  contractId: string;

  /**
   * Dados do escrow
   */
  escrow: {
    /**
   * Identificador único do escrow
   */
    engagementId: string;

    /**
     * Nome do escrow
     */
    title: string;

    /**
     * Papéis que compõem a estrutura do escrow
     */
    roles: {
      /**
       * Endereço da entidade que solicita o serviço.
       */
      approver: string;

      /**
       * Endereço da entidade que fornece o serviço.
       */
      serviceProvider: string;

      /**
       * Endereço da entidade que é proprietária do escrow
       */
      platformAddress: string;

      /**
       * Endereço do usuário responsável por liberar os fundos do escrow ao prestador de serviços.
       */
      releaseSigner: string;

      /**
       * Endereço responsável por resolver disputas dentro do escrow.
       */
      disputeResolver: string;

      /**
       * Endereço para o qual os valores do escrow serão enviados
       */
      receiver: string;
    };

    /**
     * Texto descrevendo a função do escrow
     */
    description: string;

    /**
     * Quantia a ser transferida após a conclusão dos marcos do escrow
     */
    amount: number;

    /**
     * Comissão que a plataforma receberá quando o escrow for concluído
     */
    platformFee: number;

    /**
     * Objetivos a serem concluídos para definir o escrow como concluído
     */
    milestones: {
      /**
       * Texto descrevendo a função do marco.
       */
      description: string;

      /**
       * Status do marco. Ex: Aprovado, Em disputa, etc...
       */
      status?: string;

      /**
       * Evidência do trabalho realizado pelo prestador de serviços.
       */
      evidence?: string;

      /**
       * Indicador de aprovação, apenas se o escrow for de liberação única
       */
      approved?: boolean;
    }[];

    /**
     * Flags que validam certos estados de vida do escrow
     */
    flags?: {
      /**
       * Flag indicando que um escrow está em disputa.
       */
      disputed?: boolean;

      /**
       * Flag indicando que os fundos do escrow já foram liberados.
       */
      released?: boolean;

      /**
       * Flag indicando que um escrow em disputa já foi resolvido.
       */
      resolved?: boolean;

      /**
       * Flag indicando se um marco foi aprovado pelo aprovador.
       */
      approved?: boolean;
    };

   /**
     * Informações sobre a trustline que irá gerenciar o movimento de fundos em escrow
     */
    trustline: {   
     /**
       * Símbolo do token, exemplo: USDC, EURC, etc...
       */
      symbol: string;
  
      /**
       * Endereço público que estabelece permissão para aceitar e usar um token específico.
       */
      address: string;
    };

    /**
     * Se o escrow está ativo. Isso vem do banco de dados, não da blockchain.
     */
    isActive?: boolean;
  };

  /**
   * Endereço do usuário que assina a transação do contrato
   */
  signer: string;
};

Liberação Múltipla

Atualizado

Isto foi útil?