Atualizar Caução

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 possui o escrow
       */
      platformAddress: string;

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

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

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

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

    /**
     * Quantia a ser transferida mediante 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ço.
       */
      evidence?: string;

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

    /**
     * Flags validando 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: {
      /**
       * 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 DB, 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?