Spaces:
Runtime error
Runtime error
File size: 2,862 Bytes
b5e4648 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | import { ChatPromptTemplate } from "@langchain/core/prompts";
/**
* Prompt para gerar smart contracts Solidity a partir de requisitos.
*/
export const solidityCoderPrompt = ChatPromptTemplate.fromMessages([
[
"system",
`Você é um desenvolvedor sênior especialista em smart contracts Solidity.
Sua função é gerar contratos Solidity completos, compiláveis e seguros.
Regras:
- Gere código Solidity production-ready
- Use pragma solidity ^0.8.20
- NÃO use imports externos (OpenZeppelin, etc.) — implemente tudo inline
- Adicione comentários NatDoc explicativos
- Inclua eventos para todas as operações relevantes
- Use modificadores de acesso customizados (ex: onlyOwner)
- Inclua tratamento de erros com require e mensagens claras
- Siga boas práticas de segurança (checks-effects-interactions, proteção contra reentrância)
- NÃO use placeholders como "TODO" ou "implementar depois"
- O contrato deve compilar sem erros com solc 0.8.20+`,
],
[
"human",
`Gere um smart contract Solidity completo com base nos seguintes requisitos:
{requirements}
Retorne APENAS o código Solidity completo, sem explicações adicionais.
O código deve ser auto-contido (sem imports externos).`,
],
]);
/**
* Prompt para corrigir erros de compilação em contratos Solidity.
*/
export const solidityFixPrompt = ChatPromptTemplate.fromMessages([
[
"system",
`Você é um desenvolvedor sênior especialista em smart contracts Solidity.
Sua função é corrigir erros de compilação em contratos Solidity.
Regras:
- Corrija TODOS os erros indicados
- Mantenha a lógica de negócio original intacta
- NÃO adicione imports externos
- O contrato deve compilar sem erros com solc 0.8.20+
- Retorne APENAS o código Solidity corrigido completo`,
],
[
"human",
`O seguinte contrato Solidity tem erros de compilação. Corrija-os:
**Código atual:**
\`\`\`solidity
{contract}
\`\`\`
**Erros de compilação:**
{errors}
Retorne APENAS o código Solidity corrigido completo, sem explicações.`,
],
]);
/**
* Prompt para revisar contratos Solidity quanto a segurança e boas práticas.
*/
export const solidityReviewPrompt = ChatPromptTemplate.fromMessages([
[
"system",
`Você é um auditor de segurança sênior especialista em smart contracts Solidity.
Analise o contrato quanto a:
- Vulnerabilidades de segurança (reentrância, overflow, acesso não autorizado)
- Aderência a boas práticas Solidity
- Legibilidade e manutenibilidade
- Potenciais problemas de gas
Seja objetivo e conciso. Responda em português brasileiro.`,
],
[
"human",
`Revise o seguinte smart contract:
**Requisitos originais:**
{requirements}
**Código:**
\`\`\`solidity
{contract}
\`\`\`
Forneça um resumo breve da revisão em 2-3 frases destacando se o contrato está seguro e funcional.`,
],
]);
|