# Desafio: Cálculo de retorno percentual de 4%

Criar um contrato inteligente que calcula o retorno percentual de 4% sobre um valor de pagamento, utilizando a técnica de manipulação de valores fracionados.

**Requisitos:**

* **Variável de entrada:** `paymentAmount` (uint256) - Valor do pagamento a ser analisado.
* **Retorno:** `percentageReturn` (uint256) - Valor do retorno percentual de 4% sobre o pagamento.

**Etapas:**

1. **Armazenamento do Valor de Pagamento:**
   * Declare uma variável `paymentAmount` do tipo `uint256` para armazenar o valor do pagamento recebido.
   * Utilize uma ‘constant” de tipo `uint256` para garantir a precisão de 18 casas decimais.
2. **Cálculo do Retorno Percentual:**
   * Crie uma função `calculatePercentage` que recebe `paymentAmount` como parâmetro.
   * Dentro da função, multiplique `paymentAmount` por 4 (utilizando o operador `*`) e divida por 100 (utilizando o operador `/`).
   * Armazene o resultado em uma variável `percentageReturn` do tipo `uint256`.
3. **Retorno do Valor Calculado:**

* Retorne a variável `percentageReturn` da função `calculatePercentage`.

**Desafio Adicional:**

* **Exibição do Retorno Percentual:** Modifique o contrato para exibir o valor do retorno percentual na interface do usuário, convertendo o valor inteiro para representação decimal com duas casas decimais.

**Dicas:**

* Teste o contrato com diferentes valores de pagamento.
* Utilize bibliotecas especializadas *SafeMath* para realizar cálculos com segurança e evitar erros de arredondamento.
* Você pode aprimorar o contrato adicionando funcionalidades como verificação de erros, validação de entrada e integração com outras funcionalidades do seu projeto.

**Com dedicação e prática, você estará apto a criar contratos inteligentes robustos e eficientes para gestão financeira!**


---

# 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://valter-lobo.gitbook.io/fase-1-solidity-basico/material-encontro-2/desafio-calculo-de-retorno-percentual-de-4.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.
