Análise Técnica Funcional
1. Visão Geral e Utilidade
O sistema 02QUEST é uma aplicação web progressiva projetada para funcionar como um banco digital privado híbrido. Sua principal utilidade é gerenciar um ecossistema financeiro fechado (tokenizado como "QST") com pontes para o mundo real via Blockchain (Binance Smart Chain).
A plataforma permite que usuários criem contas, comprem saldo via criptomoedas (USDT), realizem transferências instantâneas internas, gerem cheques digitais criptografados (Vouchers) e solicitem saques externos. O sistema opera com uma interface "Mobile-First", otimizada para parecer um aplicativo nativo em dispositivos móveis.
2. Arquitetura Front-End
O sistema é construído como uma Single Page Application (SPA) contida em um único arquivo HTML, o que facilita a portabilidade e a segurança do código cliente.
- Interface (UI): Utiliza Tailwind CSS para estilização responsiva e moderna. O design adota o estilo "Glassmorphism" (efeito de vidro fosco) sobre um fundo escuro, transmitindo sofisticação e segurança.
- Interatividade: Todo o controle de estado é gerenciado via JavaScript Vanilla (ES6 Modules), garantindo leveza e performance sem a necessidade de frameworks pesados como React ou Angular para esta escala.
- Web3 Integration: A biblioteca Ethers.js é utilizada para conectar-se à Binance Smart Chain (BSC) para leitura de transações e validação de depósitos.
3. Módulos Funcionais
3.1. Autenticação e Segurança de Acesso
Utiliza o Firebase Auth para gestão de identidade. O sistema suporta registro e login via e-mail e senha. Ao criar uma conta, um ID numérico único de 6 dígitos é gerado e vinculado ao UID do Firebase, garantindo anonimato nas transações internas (os usuários veem apenas o ID, não o e-mail).
3.2. Sistema de Depósitos (Buy)
Esta funcionalidade atua como uma ponte "Fiat/Crypto para Token Interno". O funcionamento segue o fluxo:
- O usuário insere o valor em USDT que deseja depositar.
- O sistema gera um QR Code (via biblioteca qrcode.js) apontando para a carteira administrativa.
- O usuário realiza a transferência na Blockchain externa.
- O usuário insere o Hash da transação no sistema.
- O Backend (via Ethers.js) consulta a Blockchain, verifica se o destinatário é a carteira do administrador, se o valor confere e se é um contrato USDT válido.
- Se validado, o saldo é creditado atomicamente no banco de dados e o hash é marcado como "usado" para evitar gastos duplos.
3.3. Cheques Digitais (Voucher System)
Uma das funcionalidades mais avançadas do sistema é a exportação de saldo via criptografia. Utilizando a biblioteca Crypto-js:
- Criação: O usuário define um valor. O sistema gera uma chave secreta aleatória no cliente. O Hash dessa chave é salvo no banco de dados, mas a chave real é entregue ao usuário codificada em Base64.
- Segurança: O servidor nunca armazena a chave de desbloqueio, apenas a "fechadura" (hash). Isso significa que apenas quem possui o código gerado pode resgatar o valor.
- Resgate: Ao inserir o código, o sistema verifica a integridade criptográfica e, se válido, transfere o valor do voucher para a conta de quem está resgatando.
3.4. Transferências e Saques
- Transferências Internas: Ocorrem em tempo real utilizando transações atômicas do Firebase Database. Isso previne condições de corrida (race conditions), garantindo que o saldo nunca seja duplicado ou perdido em caso de falha de rede.
- Saques Externos: O usuário solicita a retirada para uma carteira BSC. O sistema debita o saldo imediatamente e cria uma solicitação pendente no painel administrativo para processamento manual.
4. Painel Administrativo
O código contém um painel de controle oculto, acessível através de um gatilho específico na interface (ícone de cubo no canto superior esquerdo). Este painel é protegido por uma senha secundária ("Passkey").
Capacidades do Administrador:
- Visualização do montante total de ativos (USDT depositado vs. Tokens em circulação).
- Monitoramento de todos os usuários e seus saldos.
- Auditoria de transações em tempo real.
- Aprovação ou rejeição (com estorno automático) de solicitações de saque.
5. Estrutura de Dados (Backend)
O banco de dados (Firebase Realtime Database) está estruturado em quatro nós principais para garantir a integridade:
users/: Armazena saldo, ID personalizado e metadados.logs/: Histórico imutável de todas as operações (entrada, saída, transferências) para auditoria.vouchers/: Armazena os hashes dos cheques emitidos e seu estado (resgatado/não resgatado).withdrawals/: Fila de solicitações de saque pendentes.