Arquitetura e base de código
O repositório reúne os contratos Solidity, um dapp React/Vite e dois serviços Node. Este GitBook é autônomo em gitbook/: seu build não lê configurações privadas nem dados de rede do protocolo.
Os diretórios
| Diretório | Responsabilidade |
|---|---|
contracts/src |
Token, hook, bibliotecas, interfaces e contratos periféricos |
contracts/test |
Testes de cenários e invariantes Foundry |
contracts/audit |
Estruturas e campanhas complementares de verificação |
contracts/scripts |
Exportação de ABI, verificações e procedimentos de implantação |
contracts/deployments |
Manifestos públicos de versões e histórico |
dapp/src/chain |
Configuração, ABI, leituras, cotações e transações |
dapp/src/pages |
Swap, Proof, Keepers, roadmap e módulos V2 |
services/shared |
Configuração compartilhada, clientes, ABI e acompanhamento da execução |
services/keeper |
Acionamento de operações permissionless |
services/floor-bot |
Leitura de eventos e preparação de publicações |
audit/reports |
Relatórios datados e evidências vinculadas às revisões |
gitbook/docs |
Fontes francesas desta documentação |
Os contratos do núcleo
| Componente | Responsabilidade |
|---|---|
CubitToken |
ERC-20 com emissão inicial única de 21 M; queima autorizada somente ao hook |
CubitHook |
Taxas, compartimentos contábeis, liquidez, manutenção e conexão V2 |
BandLib |
Cálculo de preços, conversão e arredondamento de ticks, geometria das faixas |
WallLib |
Nova biblioteca vinculada para posições de muros fixos; revisão ainda a validar |
PoolManager v4 |
Estado do pool, posições de liquidez, swaps e liquidação |
O hook é o provedor de liquidez autorizado para o pool CUBIT. Os fundos são acompanhados nas posições e por claims ERC-6909 do PoolManager; o saldo nativo de ETH do endereço do hook não é, portanto, uma medida suficiente das reservas.
WallLib trabalha no armazenamento do hook. Uma biblioteca vinculada não se torna nova proprietária das posições: os claims e as posições continuam atribuídos ao hook. O bytecode da biblioteca e sua vinculação devem integrar a verificação de uma implantação.
Os contratos periféricos
| Componente | Responsabilidade |
|---|---|
CubitRouter |
Swaps exact-input/output, limite de slippage, prazo, liquidação e queima final das vendas |
CubitLens |
Visualizações derivadas, estados de manutenção e leitura do livro |
CubitV2 |
Registro estável dos módulos, revisão e indicação first-bound |
CubitVault |
Depósitos CUBIT, bloqueio e recompensas WETH |
CubitForge |
Beta curada de mercados filhos isolados |
CubitLaunch |
Depósito inicial, inicialização e eventual primeira compra taxada em operação atômica |
Router, Lens, Vault e Forge podem ser substituídos no registro pela equipe. O token, o hook, as identidades do pool, o WETH de recompensa e a âncora do registro não seguem esse mecanismo de substituição.
O percurso de uma leitura
Frontend ou keeper
→ manifesto público: rede, núcleo, registro
→ registro em um bloco específico: módulos + revisão
→ verificação das conexões dos módulos
→ Lens e visualizações do hook no mesmo bloco
→ exibição ou simulação de uma ação
No frontend, releases.ts resolve os módulos e vault.ts preserva a leitura dos Vaults antigos. A ausência de resposta RPC não deve autorizar uma assinatura.
O percurso de um swap
O frontend obtém uma cotação e depois uma simulação. O roteador abre o contexto de liquidação do PoolManager; o hook intervém no swap para aplicar as taxas e isolar os tokens absorvidos. O roteador liquida os deltas e conclui as operações necessárias à venda.
As fronteiras são importantes: o callback do roteador só é acessível ao PoolManager durante a operação esperada, e o payer vem do chamador autenticado do roteador.
A revisão de múltiplos muros
A biblioteca WallLib acrescenta um livro de muros com IDs permanentes e um índice de ticks. Os ticks antigos são preservados; os novos fundos usam o alvo atual. O percurso das posições atingidas durante uma venda está em validação.
Essa revisão afeta os invariantes, os cálculos do Lens, o frontend, as ABI, os serviços e a implantação das bibliotecas. Sua compilação não basta para declarar todas essas camadas compatíveis com a Sepolia histórica. Estado das versões.
Fontes: arquivos citados do repositório, especialmente WallLib.Book, WallLib.Wall, CubitHook, releases.ts e os README dos serviços.