PDAs como Autoridades
PDAs comumente atuam como autoridades de mint, autoridades de congelamento, proprietários de vaults e custodiantes de escrow. O programa garante quando a PDA pode assinar através da lógica de negócio.
Busque em todas as páginas da documentação
PDAs comumente atuam como autoridades de mint, autoridades de congelamento, proprietários de vaults e custodiantes de escrow. O programa garante quando a PDA pode assinar através da lógica de negócio.
// Seeds de PDA de autoridade de mint: [b"mint_auth", mint.key.as_ref()]Quando usar:
// Conceitual: programa verifica as condições de escrow e então assina a transferência de token da PDA de escrow
pub fn release_escrow(bump: u8, /* contas */) -> ProgramResult {
// validar expiração, assinaturas, máquina de estados
// transfer_checked CPI com invoke_signed seeds &[&[b"escrow", &[bump]]]
// (spl_token::instruction::transfer é depreciado e rejeita Token-2022)
Ok(())
}O que isso demonstra:
| Papel | Seeds típicas |
|---|---|
| Vault | [b"vault", user] |
| Mint auth | [b"mint", mint] |
| Escrow | [b"escrow", order_id] |
Bug no programa = comprometimento total da autoridade.
// Nunca exponha um wrapper invoke_signed arbitrário sem verificações.| Alternativa | Use Quando | Não Use Quando |
|---|---|---|
| Autoridade multisig | Operações humanas | Automação total |
| Vault com proprietário de carteira | Custódia do usuário | Escrow de protocolo |
| Programas de escrow NFT | Especializado | Apenas token SPL |
Código do programa no ID do programa.
CPI set_authority.
Recomendado após o fornecimento fixo.
A PDA detém lamports; o programa assina as transferências.
Mesmos padrões com verificações de metadados.
Upgrade malicioso rouba a autoridade.
Padrão de operações off-chain.
Derive o endereço de token associado.
Possível com o programa de token.
Retorne o aluguel; zere o estado.
Alvo de achado de nível crítico.
Suporta autoridades PDA.
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 19 de jul. de 2026