Fluxo entre contratos
Módulos
| Pasta | Contrato principal | Função |
|---|---|---|
access/ | BrightAccessControl, PlatformPauseController | Papéis globais e pausa coordenada |
users/ | UserRegistry | Cadastro de usuários (wallet + hashes) |
companies/ | CompanyRegistry, CompanyMembershipRegistry, PermissionPolicy | Empresas, equipe e permissões |
documents/ | DocumentRegistry | Âncora de documentos corporativos |
energy-assets/ | EnergyAssetRegistry | Usinas / ativos de geração |
evidence/ | EvidenceRegistry | Provas de geração e auditoria |
emissions/ | EmissionMethodologyRegistry | Metodologia e CO₂ evitado |
certificates/ | EnergyCertificateToken, CertificationAuthority | ERC-1155 e fachada certificadora |
marketplace/ | Marketplace | Listagens e trades |
retirement/ | RetirementRegistry | Aposentadoria de MWh |
views/ | PublicViewRegistry | Leituras agregadas para portais |
libraries/ | Structs, Errors, Events, Constants | Tipos e mensagens compartilhadas |
enums/ | Vários | Status e papéis tipados |
Token de certificado (ERC-1155)
EnergyCertificateToken:
- Herda OpenZeppelin
ERC1155+BrightAccessControl - Um
tokenIdporevidenceIdauditada - Saldos internos:
available,listed,retired,revoked(em MWh) - Emissão:
onlyCertifier - Reserva/listagem: caller com
MARKETPLACE_ROLE - Aposentadoria própria: apenas
RetirementRegistry
Ordem sugerida de deploy
Endereços e script de deploy completo dependem do ambiente. Use o repositório Hardhat da equipe e a rede
brightcity no hardhat.config.ts.Referência técnica
Status, erros e eventos
Deploy na rede
Hardhat na BrightCity Chain
