Categorias de Contratos
As cinco categorias de contratos inteligentes do Carrot — controladores, custodiantes, NFTs, tokens e registros.
Visão geral
Os contratos inteligentes do Ecossistema Carrot são organizados em cinco categorias, cada uma com uma responsabilidade distinta. Esse design modular mantém os contratos individuais focados e auditáveis, enquanto o ContractRegistry os conecta em tempo de execução.
| Categoria | Contratos | Responsabilidade |
|---|---|---|
| Controladores | InventoryManager, CreditPurchaseManager, CreditRetirementManager | Lógica de negócio e orquestração |
| Custodiantes | Vault, RewardsVault | Custódia de ativos e distribuição |
| NFTs | MassID, Certificate, CreditPurchaseReceipt, CreditRetirementReceipt | Tokens de prova soulbound (ERC-721) |
| Tokens | Credit | Tokens de crédito fungíveis (ERC-20) |
| Registros | ContractRegistry, CertificateRegistry | Descoberta e rastreamento de relações |
Controladores
Os controladores são os pontos de entrada para todas as operações principais. Eles orquestram fluxos de trabalho que abrangem múltiplos contratos, garantindo que cada operação seja executada atomicamente — ou todos os passos são bem-sucedidos ou nenhum deles é.
InventoryManager
Cria os ativos on-chain fundamentais. Quando os dados verificados estão prontos para minting, o InventoryManager minta NFTs de MassID, NFTs de Certificado e tokens de Crédito em uma única operação coordenada. Ele também registra os relacionamentos entre esses ativos por meio do CertificateRegistry. Todos os ativos mintados são depositados no Vault.
CreditPurchaseManager
Executa compras de créditos atômicas. Em uma única transação, o CreditPurchaseManager:
- Valida a ordem de compra usando uma assinatura de dados tipados EIP-712
- Processa o pagamento em USDC
- Atualiza os registros de certificados de lastro
- Transfere os tokens de crédito para o comprador
- Minta um
CreditPurchaseReceiptcomo prova permanente - Registra as alocações de recompensas para os participantes
O CreditPurchaseManager também suporta aposentadoria integrada — comprar e aposentar créditos em uma única transação, o que elimina a necessidade de uma etapa separada de aposentadoria.
CreditRetirementManager
Realiza a aposentadoria de créditos standalone para detentores que desejam remover permanentemente créditos de circulação. O CreditRetirementManager queima os tokens de crédito, atualiza o rastreamento de certificados de lastro e minta um CreditRetirementReceipt como prova permanente da aposentadoria.
Custodiantes
Os custodiantes mantêm e gerenciam ativos em nome do ecossistema. Eles aplicam controles de acesso rigorosos — apenas contratos autorizados (controladores) podem transferir ou queimar ativos sob custódia.
Vault
O custodiante central para todos os NFTs soulbound (MassIDs, Certificados, NFTs de CreditPurchaseReceipt e CreditRetirementReceipt) e saldos de tokens de crédito antes da compra. O Vault é o lar permanente de todos os tokens não transferíveis do sistema, garantindo que permaneçam imutáveis e rastreáveis. Os tokens de crédito também são mantidos aqui como inventário disponível até que um comprador os adquira.
RewardsVault
Gerencia o sistema de distribuição de recompensas com preservação de privacidade. Durante as compras de créditos, os pagamentos em USDC são depositados no RewardsVault, e compromissos criptográficos (Merkle roots) representando a distribuição de recompensas são registrados on-chain. Isso mantém as identidades dos participantes e os detalhes individuais de recompensa privados — apenas compromissos hasheados são armazenados publicamente. Os participantes reivindicam suas recompensas fornecendo Merkle proofs que são verificadas contra as roots armazenadas. O RewardsVault mantém USDC alocado para recompensas até que os participantes os reivindiquem.
NFTs (Soulbound ERC-721)
Todos os NFTs no Ecossistema Carrot são soulbound — não transferíveis e mantidos permanentemente pelo Vault. Isso garante uma trilha de auditoria imutável e à prova de adulteração. Nenhum NFT pode ser movido, vendido ou ocultado após o minting.
MassID
Representa um lote verificado de material residual. Cada MassID registra o tipo de material, peso e a cadeia completa de custódia desde a geração do resíduo até a coleta e triagem. Os MassIDs são a base do ciclo de vida dos créditos — cada certificado pode ser rastreado até um único MassID.
Certificate
Representa um resultado ambiental verificado — seja reciclagem (RecycledID) ou prevenção de carbono (GasID). Os Certificados são vinculados aos seus MassIDs de origem por meio do CertificateRegistry e rastreiam seu ciclo de vida por meio de quatro quantidades: o montante total (definido no minting), o montante comprado (atualizado a cada venda), o montante aposentado (atualizado a cada aposentadoria) e o montante disponível (derivado dos outros três). Esse modelo contábil é central para a prevenção de dupla contagem — o contrato garante que créditos não possam ser vendidos ou aposentados além do saldo disponível.
CreditPurchaseReceipt
Prova imutável de que uma compra de crédito ocorreu. Cada recibo registra quais certificados estavam envolvidos, o endereço do comprador, o montante comprado e os detalhes do pagamento. Os recibos de compra são visíveis no Carrot Explorer e fornecem um registro permanente para conformidade e relatórios.
CreditRetirementReceipt
Prova permanente de que créditos foram aposentados (queimados). Os recibos de aposentadoria registram os certificados envolvidos, o montante aposentado e a parte que realizou a aposentadoria. São utilizados para relatórios ESG e conformidade regulatória, e podem ser visualizados no Carrot Explorer ou em qualquer explorador de blockchain (ex.: PolygonScan).
Tokens (Fungíveis ERC-20)
Credit
Tokens de crédito ambiental fungíveis. O Ecossistema Carrot emite dois tipos de crédito:
| Símbolo | Nome | Representa |
|---|---|---|
C-BIOW | Tokenized Recycling Credit (TRC), ex.: do BOLD Recycling | 1 tonelada métrica de material reciclado certificado |
C-CARB.CH4 | Tokenized Carbon Credit (TCC), ex.: do BOLD Carbon (CH₄) (metano) | 1 tonelada métrica de CO₂ equivalente evitada |
Os créditos são os únicos tokens transferíveis do sistema. São projetados para atividade de mercado — compra, custódia e aposentadoria de compensações ambientais. Todos os outros tokens (MassIDs, certificados, recibos) são soulbound e não podem ser transferidos. O sistema de créditos é projetado para suportar tipos de crédito adicionais além dos atuais C-BIOW e C-CARB.CH4 conforme novas metodologias ambientais forem validadas.
Registros
Os registros fornecem a infraestrutura para coordenação de contratos e rastreamento de relacionamentos. Eles não contêm lógica de negócio, mas são essenciais para a capacidade de atualização e a rastreabilidade do sistema.
ContractRegistry
O registro central que mapeia nomes lógicos de contratos para seus endereços implantados on-chain. Em vez de codificar endereços diretamente, os contratos consultam o ContractRegistry para descobrir uns aos outros em tempo de execução. Isso é fundamental para o modelo de atualização — quando um contrato é atualizado para uma nova implementação, apenas a entrada no registro precisa ser alterada. Todos os contratos dependentes descobrem automaticamente o novo endereço sem necessidade de reimplantação.
CertificateRegistry
Rastreia o relacionamento pai-filho entre tokens MassID e seus certificados vinculados. Cada certificado pode ser rastreado até os lotes específicos de resíduos que ele representa por meio deste registro. O CertificateRegistry é o que torna a rastreabilidade de ponta a ponta possível — de um crédito aposentado, passando por seu certificado, até o resíduo físico.
Relacionamentos entre tokens
Os ativos on-chain formam um grafo direcionado de relacionamentos:
- MassID → Certificate — Vinculados por meio do CertificateRegistry. Um ou mais MassIDs lastreiam cada certificado.
- Certificate → Credit — Os tokens de crédito são gerados no momento do minting em quantidades correspondentes aos seus certificados de lastro.
CreditPurchaseReceipteCreditRetirementReceipt— Registram transações contra certificados específicos, fornecendo a trilha de auditoria para cada compra e aposentadoria.
Essa estrutura garante que cada crédito em circulação possa ser rastreado, por meio de seu certificado, até os lotes específicos de resíduos que o produziram.
Próximos passos
- Fluxos On-Chain — Passo a passo de como esses contratos interagem durante o minting, compra e aposentadoria.
- Segurança — Controle de acesso, pausabilidade e proteções de governança.
- Ciclo de Vida dos Créditos — O ciclo de vida MassID → Certificate → Credit.
Visão Geral da Arquitetura de Contratos
Por que o Ecossistema Carrot utiliza blockchain, como seus smart contracts são organizados e os princípios de design por trás da arquitetura on-chain.
Fluxos On-Chain
Descrições passo a passo dos principais fluxos de transação on-chain — minting, compra de créditos, recompensas, aposentadoria e revogação.