Ir para o conteúdo

Autorização de carteira

Autorização de carteira é uma permissão on-chain que permite a um spender chamar transferFrom para tokens do usuário. Explica assinaturas, autorizações ilimitadas e verificação ou revogação.

Atualizado

Apenas para fins educacionais; não constitui recomendação de investimento. Investimentos podem causar perdas.

Resposta direta

Autorização de carteira, ou aprovação de token, é a allowance on-chain do proprietário para um único spender. approve(spender, amount) registra o valor ERC-20 e transferFrom pode usá-lo dentro do saldo restante. Não entrega chave privada nem outros tokens. A aprovação muda estado; assinatura de login costuma ser off-chain. ERC-2612 permit é dado assinado que cria allowance sem gás pago pelo proprietário, mas continua sendo autorização. ETH não usa allowance ERC-20. Confira token, spender, valor, duração e rede; conectar o site não é permissão de gasto.

Autorização de carteira
0 / 5
0 itens revisados; 5 itens ainda não resolvidos

A conclusão desta revisão não prova que um ativo, transação ou sistema seja seguro.

Como funciona

  1. O usuário envia approve ao contrato; 0 significa nenhum restante e um valor enorme aparece como ilimitado.
  2. O spender usa transferFrom depois; o contrato verifica saldo e allowance, transfere e normalmente reduz o valor.
  3. A alteração é uma transição on-chain; trocar valores positivos pode competir no mempool, então use zero primeiro confirmado quando necessário.
  4. ERC-2612 permit é mensagem assinada: verifique token, chain ID, nonce, prazo, spender e valor, pois terceiros podem enviá-la.
  5. Aprove apenas spender verificado e valor necessário, simule a chamada e confira receipt, eventos, saldo e allowance. Revogue com 0 na rede certa; não desfaz transferências confirmadas.

Exemplo

Alice tem 100 USDC e aprova um router verificado por 40. Ele pode gastar no máximo 40 USDC, não ETH nem outro token; após 15 restam 25. Uma aprovação ilimitada também cobre depósitos futuros, então verifique o contrato, use valor finito e envie approve(router, 0) quando terminar.

Riscos

  • Spender malicioso ou atualizado pode usar todos os tokens da allowance.
  • A aprovação ilimitada expõe depósitos futuros.
  • Rede, contrato, endereço, decimais ou calldata incorretos podem ocultar risco.
  • Alteração ou revogação pendente pode competir com transferFrom; zero não reverte transferência executada.
  • Assinaturas permit podem ser enviadas depois; desconectar o site não as invalida.
  • Tokens não padrão, com taxa, rebasing, pausados ou callback podem agir diferente; confira estado final.

Equívocos comuns

  • “Conectar a carteira concede acesso.” A autoridade vem de aprovação, permit ou transação confirmada.
  • “Assinatura sem gás é inofensiva.” Um relayer pode enviá-la depois.
  • “Desconectar o site revoga a aprovação.” Conexão e allowance on-chain são separadas.
  • “Ilimitado permite retirar tudo imediatamente.” Ainda são necessários chamada, saldo e implementação compatíveis, mas não há limite.
  • “Simulação bem-sucedida prova segurança.” Verifique rede, calldata, destinatário, código, receipt e saldos.

Tópicos relacionados

Fontes

Navegação

Pesquisar na wiki...