Cotas ERC-4626 e ativos: entenda o saldo do cofre
O saldo de cotas e sua estimativa em tokens subjacentes descrevem uma posição em unidades diferentes. A prévia de resgate acrescenta outra pergunta: o que poderia sair?
O saldo de um cofre ERC-4626 é uma quantidade de cotas, não automaticamente a mesma quantidade de tokens subjacentes. Identifique o ativo do cofre e diferencie a conversão geral, a prévia de resgate e o limite de resgate do proprietário. Esses números respondem a perguntas diferentes sobre uma posição.
Se a carteira mostra 100 cotas e a tela do protocolo mostra 120 tokens subjacentes, não comece supondo que um saldo está errado. Primeiro verifique o que cada número mede. Este guia permite conciliar uma posição existente apenas por leitura, sem recomendar depósito no cofre ou resgate das cotas.
Identifique o token de cota e seu ativo subjacente
O padrão ERC-4626 define cotas de cofres como tokens ERC-20. balanceOf(account) do cofre conta essas cotas; asset() identifica o contrato do token subjacente. Guarde os dois endereços de contrato junto da rede e da conta verificadas.
Um símbolo conhecido não basta. Confirme a implantação exata do cofre na documentação oficial do protocolo ou em uma transação conhecida, acessada por um caminho confiável. Depois compare o endereço do ativo subjacente, e não apenas seu nome, com o token pretendido. Um contrato copiado pode expor nomes de métodos conhecidos sem ser o cofre procurado.
Confira as unidades dos dois lados. Uma quantidade bruta de cotas usa as casas decimais do token de cota; uma saída bruta de ativos usa as casas decimais do token subjacente. Elas não precisam ser iguais: o guia de cofres da OpenZeppelin descreve implementações com precisão adicional para cotas. Nosso guia de casas decimais de tokens explica como reconhecer um inteiro que ainda precisa de formatação. Não aplique a escala novamente a um valor já formatado.
Escolha o número que responde à sua pergunta
Use as leituras documentadas do contrato verificado em vez de multiplicar por uma taxa copiada de outro cofre. A referência da API da OpenZeppelin separa métodos de conversão, prévia e limite.
| Leitura | Unidade retornada | Pergunta respondida |
|---|---|---|
balanceOf(account) |
Cotas | Quantas cotas esta conta possui? |
convertToAssets(shares) |
Ativos subjacentes | Qual é o equivalente geral em ativos? |
previewRedeem(shares) |
Ativos subjacentes | Qual é a estimativa de resgate destas cotas? |
maxRedeem(owner) |
Cotas | Quantas cotas este proprietário pode resgatar agora? |
convertToAssets descreve uma conversão ideal, sem taxas nem deslizamento da troca real. Não é uma cotação personalizada de saque. previewRedeem inclui taxas de saque e reflete as condições atuais, mas ignora deliberadamente os limites de resgate. Para esses limites, consulte maxRedeem do proprietário. As definições de métodos do padrão deixam essas diferenças explícitas.
Uma prévia positiva é, portanto, compatível com um limite menor ou até zero. Uma leitura também não reserva fundos: o estado pode mudar antes de uma transação posterior. Siga as condições de saque documentadas daquele cofre, incluindo qualquer procedimento obrigatório de solicitação. Um cofre com extensão assíncrona ou outra interface precisa de instruções próprias.
Conte uma única posição na comparação
Considere um retrato hipotético do estado, com todos os números já formatados em unidades legíveis. Uma conta possui 100 cotas. Para essa quantidade, o cofre informa 120 tokens subjacentes por convertToAssets e 119 tokens subjacentes por previewRedeem. Separadamente, maxRedeem da conta é de 40 cotas.
Os 120 tokens são um equivalente geral. Os 119 tokens são a prévia para todas as 100 cotas, não prova de que as 100 podem ser resgatadas agora. O limite de 40 cotas é medido em cotas e não deve ser comparado como se fossem 40 tokens subjacentes. Para examinar a quantidade de cotas permitida, obtenha uma prévia própria em vez de supor que a prévia do saldo completo vale sem alterações.
Esses números são um exemplo inventado de rótulos e alcance, não uma cotação atual de um cofre, uma tabela de taxas ou o cálculo da taxa de um protocolo específico. Nenhuma carteira foi consultada e nenhuma transação foi executada para esse exemplo.
Não some 100 cotas e seu equivalente de 120 tokens como posições separadas. Eles descrevem a mesma posição. Se a carteira também guarda tokens subjacentes fora do cofre, registre esse saldo real separadamente. Ao comparar totais em moeda fiduciária, verifique qual representação o rastreador já contou antes de acrescentar um valor do protocolo. O guia geral de conciliação de carteira ajuda a separar uma quantidade ausente de um preço ausente ou uma posição sem suporte.
Registre um retrato consistente sem movimentar fundos
Use um explorador ou leitor de contratos em que já confie. Este procedimento descreve uma inspeção baseada em documentação; não foi testado em um cofre ativo para este artigo. As referências primárias foram verificadas em 25 de outubro de 2026.
- Confirme a identidade da posição. Registre rede, conta e endereço completo do contrato do cofre. Verifique se essa implantação usa a interface ERC-4626 que você pretende inspecionar.
- Identifique o ativo e as unidades. Registre
asset()e as escalas decimais das cotas e do ativo. Leia o saldo de cotas da conta, distinguindo inteiros brutos de quantidades formatadas. - Escolha a leitura relevante. Para uma comparação contábil, registre
convertToAssetspara essa quantidade exata de cotas. Para uma estimativa de resgate, registrepreviewRedeeme identifique o resultado como prévia. - Confira separadamente o limite do proprietário. Leia
maxRedeem(owner)e as condições de saque do protocolo. Não substitua um limite indisponível pelo saldo de cotas nem trate uma prévia positiva como autorização para resgatar. - Alinhe e identifique as observações. Prefira o mesmo bloco para saldo, conversão, prévia e limite. Se o leitor só oferece chamadas separadas ao estado mais recente, salve os horários e indique que os retratos de estado podem diferir.
- Concilie uma posição. Mantenha juntos quantidade de cotas, equivalente em ativos e informações de resgate. Marque uma leitura malsucedida como desconhecida, preserve o erro e investigue conta, contrato, rede ou interface antes de concluir que o valor é zero.
Essas leituras públicas não exigem assinatura, aprovação de gasto, frase de recuperação ou transferência. Se um site pedir algo disso apenas para revelar um saldo, interrompa esse fluxo. Uma resposta do contrato pode explicar uma exibição; não certifica a segurança do contrato.
Conversão não é retorno nem preço de venda
O equivalente em ativos indica como o cofre expressa uma quantidade de cotas em seu token subjacente. Ele não comprova lucro em relação ao depósito original, preço de venda no mercado ou resgate futuro garantido. Taxas, arredondamento, mudanças no cofre e o preço do próprio ativo subjacente devem ficar em registros separados.
Não generalize este procedimento para todo token que represente um depósito. Por exemplo, stETH e wstETH têm seu próprio método documentado de contabilidade e conversão. Um saldo de aparência semelhante não comprova comportamento ERC-4626.
A verificação termina quando você consegue nomear o cofre e o ativo exatos, identificar quantidade de cotas e retrato do estado e explicar qual tela mostra conversão, prévia ou limite. Se uma leitura essencial estiver indisponível, deixe essa parte sem verificação. Movimentar a posição é uma decisão separada; não é necessário para explicar o saldo exibido.
Perguntas frequentes
Uma cota ERC-4626 sempre equivale a um token subjacente?
Não. Cotas e ativos são unidades diferentes, e a conversão depende do cofre. Consulte a conversão documentada para o contrato e o retrato de estado exatos; o nome do token ou suas casas decimais não comprovam uma taxa de um para um.
previewRedeem comprova que posso sacar esse valor agora?
Não. Ele estima os ativos devolvidos por uma quantidade de cotas e inclui as taxas de saque, mas ignora os limites de resgate. Consulte separadamente maxRedeem do proprietário e as regras reais de saque do cofre. O estado pode mudar antes de uma transação.
Devo somar minhas cotas e seu equivalente em ativos?
Não. Quando as duas entradas descrevem a mesma posição, registre uma única posição com a quantidade de cotas e o equivalente em ativos. Tokens subjacentes mantidos separadamente na carteira são outro saldo.