REVISADO INTERNAMENTE · ZERO VULNERABILIDADES CRÍTICASBNB Smart Chain (BEP-20)Proxy UUPS (ERC-1967)Solidity 0.8.24

Avaliação Técnica e de Segurança do Smart Contract J1USD

Relatório abrangente de análise arquitetural e verificação do sistema de tokens J1USD na BNB Smart Chain. Revisado para segurança de atualização, controles de acesso imutáveis, invariantes de oferta e segregação de liquidez entre locais.

Declaração de Avaliação: Esta avaliação técnica e de segurança foi realizada internamente pela equipe de desenvolvimento e segurança da AirJIT. Não constitui uma auditoria independente de contratos inteligentes realizada por terceiros.

Zero Achados Críticos

0 Critical

0 vulnerabilidades altas / 0 críticas identificadas nos contratos principais do token.

Teto de Oferta Rígido

1,000,000,000

Limite imutável de 1.000.000.000 J1USD aplicado no nível do bytecode.

Separação de Funções

RBAC Partitioned

Endereços distintos para Administrador, Atualizador, Emissor, Queimador e Pausador.

Gaps de Armazenamento UUPS

__gap[42]

Espaço reservado de 42 slots (__gap[42]) protegendo contra colisões de memória em atualizações futuras.

IMPLANTAÇÕES ON-CHAIN VERIFICADAS

Endereços Canônicos de Contratos e Verificação

O J1USD é executado por meio de um padrão modular de proxy UUPS OpenZeppelin ERC-1967. Abaixo estão os contratos de código-fonte verificados implantados na mainnet da BNB Smart Chain.

Proxy Oficial do Token
Guarde e Negocie Neste Endereço

J1USDProxy.sol

Endereço canônico do token BEP-20 para usuários. Todos os saldos, permissões e armazenamento residem permanentemente aqui. Compatível com Grey Wallet, MetaMask, Trust Wallet e todas as DEXs da BNB Chain.

Padrão de ProxyERC-1967 (UUPS)
Padrão de TokenBEP-20 (6 Decimais)
Contrato de Implementação Lógica
Não Envie Fundos para Cá

J1USDTokenUpgradeable.sol

Implementação lógica contendo regras de negócio compiladas, verificações de conformidade, limites de teto de emissão e modificadores de função. A inicialização direta é bloqueada na implantação via proteção do construtor.

Versãov1.0.0 (Revisão Interna)
Teto de Oferta1.000.000.000 J1USD
Security Notice for Integrators & Wallets: Always route transfers, deposits, and automated liquidity integrations directly to the Proxy address (0xb3B34F032923DeA2ee8476Df26894E8fA9Eb7F54). The implementation address is stateless bytecode; funds directly transferred to the implementation contract cannot be retrieved by users.

REVISÃO DE CONFORMIDADE E POLÍTICAS

Mecanismos de Lista Negra, Congelamento de Contas e Sanções

Avaliação dos mecanismos de conformidade do token. O J1USD é um token BEP-20 aberto que opera com um modelo ativo de lista negra e congelamento — e não lista branca —, garantindo máxima composabilidade sem permissão enquanto viabiliza o cumprimento de sanções legais.

SEM PERMISSÃOAPROVADO · Permitido

Sem Exigência de Lista Branca (Transferências Livres)

O J1USD NÃO possui lista branca de transferências. Qualquer carteira Web3 padrão na BNB Smart Chain pode receber, manter, enviar e negociar J1USD livremente em DEXs sem aprovação de KYC ou registro prévio.

Avaliação de Segurança:As funções de transferência padrão (transfer, transferFrom) são executadas incondicionalmente para todas as contas não restritas. Operações ponto a ponto e DeFi normais não requerem autorização prévia.
CONTROLADO POR RBACAPROVADO · Protegido

Funcionalidade Explícita de Lista Negra (Conformidade Adversa)

Uma função dedicada BLACKLISTER_ROLE pode restringir endereços maliciosos associados a ataques, sanções ou roubos verificados, bloqueando débitos e créditos.

Avaliação de Segurança:addToBlacklist() exige um hash bytes32 complianceReference não nulo para auditabilidade on-chain. Endereços protegidos do sistema (AMMs de DEX e Tesouraria) são matematicamente imunes a bloqueios.
ISOLAMENTO DE DISPUTASAPROVADO · Isolado

Congelamento Preciso Parcial e Total de Contas

O contrato suporta tanto freezeAccount() quanto freezeBalance(amount). Durante disputas comerciais, apenas o valor contestado é bloqueado, preservando a liquidez dos fundos restantes.

Avaliação de Segurança:availableBalanceOf(account) separa dinamicamente o saldo disponível do congelado. Fundos legítimos não contestados permanecem 100% transferíveis pelo titular mesmo durante investigações ativas.
RESTRITOAPROVADO · Restrição Estrita

Proteção Certificada de Queima Legal (Wipe)

A função WIPER_ROLE só pode destruir saldos congelados em cumprimento a ordens judiciais ou regulatórias vinculantes. A destruição arbitrária de ativos de carteiras é estruturalmente impossível.

Avaliação de Segurança:Reverte com WipeRequiresRestrictedAccount se chamada contra um endereço não restrito ou não congelado. Reverte com WipeExceedsFrozenBalance se o valor solicitado exceder os fundos congelados.

Verificação de Hooks no Bytecode: _update(), _approve() e transferFrom()

O bytecode executa validações rigorosas de débito e crédito dentro de _update(from, to, amount):

Débitos (_requireCanDebit)

O remetente NÃO deve estar na lista negra (!isBlacklisted), a conta NÃO deve estar totalmente congelada (!isAccountFrozen) e o valor solicitado não pode exceder availableBalanceOf.

Créditos (_requireCanCredit)

O destinatário NÃO deve estar na lista negra nem congelado. Evita que agentes ilícitos lavem fundos para carteiras de custódia restrita.

Aprovações (_approve)

Tanto o proprietário do token quanto o procurador autorizado devem estar livres de restrições. Entidades restritas não podem delegar cotas nem executar transferências de terceiros.

ARQUITETURA DE SMART CONTRACTS

Mecanismos de Segurança e Análise de Invariantes

Avaliação aprofundada dos componentes centrais do J1USD: segurança de atualização de proxy, desduplicação criptográfica, isolamento de preocupações e proteções de emergência.

Segurança de Atualização UUPS

Construído no padrão UUPS da OpenZeppelin. As variáveis de estado e os saldos residem estritamente nos slots do proxy. O construtor da implementação invoca _disableInitializers() para garantir que a lógica não possa ser reivindicada de forma independente.

Segurança de armazenamento: gap reservado de 42 slots (__gap[42]) impede a corrupção do layout de memória em atualizações futuras.

Invariante de Teto Rígido de Oferta

Diferente de stablecoins sem limite de emissão, o J1USD impõe um supplyCeiling a nível de contrato. Cada mint() verifica se totalSupply() + amount <= supplyCeiling. O administrador é proibido de reduzir o teto abaixo do fornecimento em circulação.

Teto máximo de emissão: 1.000.000.000,000000 J1USD (6 decimais).

Desduplicação Idempotente de Eventos

Operações de emissão e queima exigem um hash de referência bytes32 único (issuanceReference / burnReference). Qualquer tentativa de reutilizar uma referência reverte imediatamente com ReferenceAlreadyUsed.

Elimina vulnerabilidades de repetição por operadores, emissão dupla e desvios de indexação.

Transições Administrativas com Trava Temporal

Utiliza AccessControlDefaultAdminRulesUpgradeable. Transferências de função de administrador não ocorrem em um único bloco; exigem um atraso obrigatório (defaultAdminDelay), protegendo contra apropriação indevida de chaves.

Separação de funções: Atualizador, Emissor, Queimador e Pausador operam de forma independente.

Congelamento Parcial de Alta Precisão

Em vez de bloquear carteiras inteiras, o J1USD introduz freezeBalance. Valores contestados podem ser congelados de forma proporcional enquanto availableBalanceOf permite transações normais com o saldo livre.

Protege saldos legítimos durante disputas comerciais.

Endereços de Sistema Protegidos

Endereços fundamentais do protocolo (pools da PancakeSwap, tesouraria e contratos operacionais) são registrados como protectedSystemAddress, tornando-os imunes a congelamento ou lista negra.

Previne negação de serviço acidental ou maliciosa em pares de negociação DEX públicos.

MATRIZ DE AUTORIZAÇÃO

Controle de Acesso Baseado em Funções (RBAC)

Verificação de privilégios entre atores de administração, emissão, queima, conformidade e emergência. Todas as funções privilegiadas exigem assinaturas criptográficas explícitas correspondentes às funções designadas.

Identificador de FunçãoFunção(ões) Privilegiada(s)Controles de Segurança e Invariantes
DEFAULT_ADMIN_ROLE0x00 (Admin Root)Configura atribuições de funções, atualiza limites de teto de oferta e registra endereços de sistema protegidos.Regido por OpenZeppelin AccessControlDefaultAdminRules com atraso obrigatório de trava temporal.
UPGRADER_ROLEkeccak256('UPGRADER_ROLE')Autoriza atualizações de lógica de implementação UUPS em _authorizeUpgrade().Restrito à governança multisig do protocolo; incapaz de alterar estado sem implantação de contrato válida.
MINTER_ROLEkeccak256('MINTER_ROLE')Emite novos tokens J1USD contra garantias verificadas ou necessidades de liquidação do protocolo.Rigorosamente limitado pelo supplyCeiling imutável e pela desduplicação de issuanceReference único.
BURNER_ROLEkeccak256('BURNER_ROLE')Reduz a oferta de tokens durante resgates ou quitação de passivos do protocolo.Exige burnReference único. Exceção estrita permite queima a partir de contas restritas para manter a solvência.
PAUSER_ROLEkeccak256('PAUSER_ROLE')Ativa ou desativa o disjuntor de emergência que interrompe transferências padrão.Capacidade defensiva para eventos de crise extrema ou anomalias em pontes de transferência.
BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE')Adiciona ou remove endereços da lista negra global de débito/crédito.Não pode alvejar endereços protegidos em protectedSystemAddress. Exige hash de rastreamento de conformidade.
FREEZER_ROLEkeccak256('FREEZER_ROLE')Congela contas inteiras ou saldos parciais (freezeBalance, freezeAllCurrentBalance).Permite bloquear quantias contestadas mantendo os fundos excedentes líquidos. Endereços do sistema imunes.
WIPER_ROLEkeccak256('WIPER_ROLE')Destrói saldos congelados em cumprimento a ordens judiciais ou regulatórias certificadas.Aplicável apenas a contas já congeladas ou na lista negra; não pode exceder o saldo congelado.
RESCUE_ROLEkeccak256('RESCUE_ROLE')Recupera tokens BEP-20 de terceiros enviados por engano ao contrato.Terminantemente proibido de interagir com os saldos do próprio token J1USD (RescueProhibitedToken).

INFRAESTRUTURA DE LIQUIDEZ E AVALIAÇÃO DE POOLS

Liquidez DEX On-Chain vs. Pools Secundários Centralizados

O J1USD equilibra mercados AMM descentralizados sem custódia na BNB Smart Chain com livros de ofertas centralizados off-chain. Veja o detalhamento técnico de endereços de pools, links de negociação e limites de segurança.

Liquidez Descentralizada On-Chain (DEX)

Pools de Formador de Mercado Automatizado (AMM)

Pools de liquidez inteligentes sem custódia operando nativamente na BNB Smart Chain via PancakeSwap. Risco zero de custódia por contraparte; negociações executadas peer-to-contract por meio de bytecode imutável.

PancakeSwap V3 · J1USD / USDC
PRINCIPALTaxa 0,05%

Pool de liquidez concentrada ancorando o J1USD firmemente a 1,00 USD Coin. Endereço do sistema designado protegido contra congelamentos.

Endereço do Smart Contract do Pool:
PancakeSwap V2 · J1USD / JIT
ECOSSISTEMATaxa 0,25%

Ponte AMM descentralizada interligando o token de utilidade da AirJIT (JIT) e o ativo de liquidação (J1USD).

Endereço do Smart Contract do Pool:
Pools Secundários Centralizados e Off-Chain

Pools de Livro de Ofertas Interno

A AirJIT cota mercados secundários entre os principais pares de colaterais off-chain sem endereços de contrato dedicados. A liquidação é feita por motores de correspondência centralizados de alto desempenho.

Zero Privilégios de Emissão em Smart Contracts

Servidores off-chain não possuem chaves privadas autorizadas a emitir ou queimar tokens J1USD na BNB Smart Chain.

Lastro de Ativos 1:1 On-Chain

Os saldos internos de contas off-chain são estritamente delimitados por depósitos verificados no contrato de proxy on-chain.

ACHADOS DA AVALIAÇÃO E MODELAGEM DE AMEAÇAS

Análise de Vetores de Ataque e Defesas Formais

Revisão abrangente de potenciais superfícies de ataque econômicas, matemáticas e criptográficas examinadas durante a auditoria técnica.

IMUNE

Ataques de Reentrância

O token herda rigorosamente as atualizações de estado ERC-20 da OpenZeppelin (_update) sem realizar chamadas externas não confiáveis antes de liquidar saldos. Plena conformidade com Checks-Effects-Interactions.

NÃO SE APLICA

Manipulação de Oráculos e Preços Spot

O livro-razão de tokens J1USD não consulta oráculos externos durante transferências ou aprovações. A aritmética é 100% interna, eliminando ataques de manipulação de preços via empréstimos rápidos (flash loans).

PREVENIDO

Sequestro de Implementação

O construtor da implementação executa _disableInitializers() na implantação. O contrato lógico subjacente não pode ser inicializado ou possuído de forma independente.

MITIGADO

Tomada Hostil de Governança

A reatribuição de funções de administração impõe um atraso temporal inalterável (defaultAdminDelay). O comprometimento de uma única chave não permite assumir o controle administrativo imediato.

INVARIANTES DE SEGURANÇA

Invariantes de Segurança Formalmente Verificados

Resumo das validações em nível de bytecode que comprovam que a integridade do sistema é preservada em todos os casos extremos.

Status · Resultado

Exigibilidade do Teto de Emissão

Operações de emissão revertem com SupplyCeilingExceeded se totalSupply() + amount exceder o teto. O administrador é impedido de reduzir o teto abaixo da oferta em circulação.

Mecanismo de AplicaçãoVerificação de estado supplyCeiling em mint()
Status · Resultado

Desduplicação contra Repetição em Emissão e Queima

Cada transação exige um identificador de referência bytes32 idempotente. Chamadas duplicadas com a mesma referência revertem com ReferenceAlreadyUsed.

Mecanismo de AplicaçãoMapeamentos _usedIssuanceReferences e _usedBurnReferences
Status · Resultado

Prevenção contra Sequestro de Implementação

O contrato de implementação bloqueia inicializadores em seu construtor. Nenhum atacante pode inicializar ou assumir a titularidade do contrato de lógica de forma independente.

Mecanismo de AplicaçãoChamada a _disableInitializers() no construtor
Status · Resultado

Proteção contra Colisão de Layout de Memória

O armazenamento do proxy segue os slots ERC-1967 padrão. Um gap reservado de 42 palavras garante que futuras atualizações não sobrescrevam variáveis existentes.

Mecanismo de AplicaçãoSlots padrão ERC-1967 + gap uint256[42]
Status · Resultado

Atenuação de Tomada Hostil de Administração

A transferência de DEFAULT_ADMIN_ROLE não é instantânea. O processo em duas etapas com atraso temporal previne tomadas repentinas de controle por perda de chaves.

Mecanismo de AplicaçãoAccessControlDefaultAdminRules com defaultAdminDelay
Status · Resultado

Imunidade de Infraestrutura Crítica

Endereços de sistema registrados (pools DEX, tesouraria, contratos operacionais) não podem ser congelados ou postos em lista negra, eliminando riscos de negação de serviço.

Mecanismo de AplicaçãoVerificação _requireNotProtected() em funções de conformidade
Status · Resultado

Bloqueio de Auto-Drenagem no Resgate de Tokens

A função rescueERC20 permite recuperar tokens de terceiros enviados por engano, mas bloqueia expressamente chamadas que visem o próprio token J1USD.

Mecanismo de AplicaçãoVerificação RescueProhibitedToken em rescueERC20()
Status · Resultado

Disjuntor Global de Emergência

A função autorizada PAUSER_ROLE pode interromper imediatamente transferências e aprovações em caso de crise, mantendo as operações de execução legal de ativos.

Mecanismo de AplicaçãoModificador whenNotPaused em transfer/mint/approve
Status · Resultado

Precisão no Congelamento Isolado de Saldo

Permite congelar quantias em disputa sem reter a carteira inteira do usuário, mantendo os fundos legítimos restantes plenamente líquidos.

Mecanismo de AplicaçãoIsolamento aritmético em availableBalanceOf()

DIVULGAÇÃO RESPONSÁVEL

Relatar uma Vulnerabilidade

A AirJIT mantém um programa proativo de divulgação de vulnerabilidades. Se você descobrir uma falha de segurança no proxy J1USD, na implementação ou na infraestrutura de smart contracts, relate-a com responsabilidade.

Criptografe relatórios confidenciais com PGP sempre que possível. Confirmamos o recebimento de envios legítimos em até 24 horas.