Sete contratos. Uma matemática.
O protocolo inteiro cabe em sete contratos, e os dois motores são construídos da mesma forma: uma biblioteca de matemática pura na base, importada pelos contratos operacionais, de modo que nenhum número é redefinido e nada confia num valor que não tenha calculado. Cinco formam o agregador; dois formam o motor de staking. Cada endereço abaixo é o deployment real e verificado na Base; o mesmo bytecode corre em Ethereum, Optimism, Arbitrum e Robinhood Chain (matriz completa em /verify).
A Pentade do Agregador
“Cinco contratos, um dos quais é matemática pura importada pelos outros quatro.” O Core calcula; o Hub recorda; o Solver decide; o Router liquida; o Quoter pré-visualiza. Cada um expõe um único caminho de erro compacto, mantendo a superfície de revert tão legível quanto o caminho de sucesso.
Ω · 𝒟 · Φ · Ψ — biblioteca de matemática pura, stateless. Sem storage, sem owner, sem caminho de upgrade — só funções. O Eightfold Dispatcher Ω, a Deterministic Derivation 𝒟, a Iron Law Φ e o Vitality Field Ψ vivem aqui como computações puras. Importada pelos outros quatro; nenhuma matemática é redefinida em mais lado nenhum.
Ψ · registry — registo de venues e campo de vitalidade. Guarda o registo do pool de candidatos (16 slots compactados por par), o campo de vitalidade e o conjunto de bridge-tokens, sob namespacing ERC-7201, de modo que o seu storage nunca pode colidir com os slots de um consumidor.
𝒰(route) — otimizador do caminho de leitura. Um otimizador puro do caminho de leitura que maximiza a meta-equação sobre as rotas e não toca em nenhum estado que não consiga derivar. Decide; nunca liquida.
Φ · execute — execução atómica, o único movimentador de fundos. O único contrato que move valor, e move-o atomicamente sob o limite mínimo de output do chamador — re-derivando on-chain o piso da Iron Law Φ, de modo que um frontend comprometido nunca o consiga baixar. Não guarda nada em repouso.
previewPlan — espelho de pré-visualização off-chain. Espelha o Solver para pré-visualização off-chain via previewPlan, produzindo por construção o mesmo número que o Router vai realizar. O quote É a lógica de execução.
5 contratos.
A Díade do Staking
A mesma disciplina, aplicada ao próprio capital do protocolo: uma biblioteca de matemática pura e o motor que a importa. Como o colateral e o ativo emprestado são o mesmo token (BZPX), não existe nenhum oráculo de preço em lado nenhum — uma superfície de ataque inteira está ausente por construção.
mulDiv · rawBalanceOf — biblioteca de matemática pura, inlined. A multiplicação-depois-divisão de 512 bits completa por onde passa cada proporção, mais rawBalanceOf, o staticcall que permite ao contrato ler o seu PRÓPRIO lastro. Tudo interno, por isso é inlined no bytecode do motor (sem endereço próprio), exatamente como o Core está para o agregador.
conserves — o motor com solvência imposta. Um único contrato a fazer o que a maioria dos protocolos divide em três — vault, mercado de crédito e lock-boost — reconciliado através de um único registo UserInfo e dois acumuladores, com cada caminho que move valor envolvido pela guarda conserves. 180M BZPX numa curva de halving bienal ao longo de dezasseis anos; a solvência é uma condição de revert, não uma leitura de dashboard.
2 contratos.
A única equação em que cada motor assenta
O agregador maximiza um único objetivo sobre as rotas candidatas — tomar o output líquido, mas só de rotas que ultrapassam o piso da Iron Law Φ, ponderado pela vitalidade de cada pool:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mrow><mi>𝒰</mi><mo>(</mo><mi>route</mi><mo>)</mo><mo>=</mo><mi>𝟙</mi><mo>[</mo><msub><mi>y</mi><mtext>net</mtext></msub><mo>≥</mo><mi>Φ</mi><mo>·</mo><msub><mi>y</mi><mtext>quote</mtext></msub><mo>]</mo><mo>·</mo><msub><mi>y</mi><mtext>net</mtext></msub><mo>·</mo><munder><mo>∏</mo><mi>i</mi></munder><msubsup><mi>Ψ</mi><mi>i</mi><msub><mi>w</mi><mi>i</mi></msub></msubsup></mrow></math>
O motor de staking assenta na Master Conservation Identity — o saldo físico é igual ao que o livro-razão deve, imposto por transação pela guarda conserves, de modo que um estado insolvente é inatingível, não apenas observável:
balanceOf(this) + totalBadDebt
== (totalStaked − totalDebt) + rewardReserve + protocolReserve
+ (totalRewardDistributed − totalRewardsPaid)Leia-o em direto, de graça, a partir da chain: /solvency (ou isSolvent() · solvency() · auditInvariants()).
Verifique tudo você mesmo
Nada aqui pede confiança. O motor de staking está em produção e solvente neste momento:
cast call 0x3f60C7aa0c36a78D200405feBE143d2Cf3fA0c77 "isSolvent()(bool)" --rpc-url https://mainnet.base.org
Licença do código: os contratos são BUSL-1.1 até 2030 — leia, audite e verifique livremente; uso em produção requer licença. Faça parceria, não clone ›