Coleções
Pré-requisitos de acesso
- Permissão (módulo):
manageToken - Licença/Feature:
MANAGE_NFTS - Contêiner do menu: TOKENIZAÇÃO → grupo Tokenização → Coleções
O que é / quando usar
Coleções agrupam NFTs por tema/oferta e carregam a configuração on-chain comum: rede, contrato e — quando aplicável — o padrão de contrato regulado (ERC-3643 / ERC-721-compliant). Toda NFT pertence a uma coleção, então a coleção precisa existir antes de criar a NFT.
A escolha do padrão de contrato (regulado ou não) é resolvida por coleção, normalmente no encerramento de um crowdfunding, e fica gravada em contract_standard.
Pré-condições
- Permissão:
manageToken(dupla — enum CPM + módulo no DB). - Licença/Feature:
MANAGE_NFTS. - Dependências: redes (
network_id) cadastradas.
Passo a passo (listagem)
- Acesse Tokenização → Coleções.
- Busque por nome e filtre por rede.
- Edite, visualize ou exclua (coleções com itens não podem ser excluídas).
- Criar coleção para abrir o formulário.
Filtros e colunas
| Filtro / Coluna | O que mostra | Origem do dado |
|---|---|---|
| Busca por nome | Filtra por name (server-side, paginado, debounce) | getCollections({ name, networkId, limit, offset }) |
| Rede | Filtra por networkId | getNetworks() |
| Nome / Itens / Rede | Identificação, nº de NFTs e blockchain | TokenController (collections) |
Campos do formulário
| Campo | O que é | Obrigatório? | Efeito no sistema/backend |
|---|---|---|---|
| Nome | Nome da coleção | Sim | name. Não modificável após criada (tooltip "não pode modificar"). Validação de formato (collectionNameValidator). |
| Rede | Blockchain da coleção | Sim | network_id. Não modificável após criada. Define onde o contrato é implantado. |
| Descrição | Descrição (até 1500 caracteres) | Sim | description. |
| Imagem | Logo da coleção | Sim | photo. |
| Imagem de capa | Banner | Não | cover_photo. |
| Preço | Preço de referência | Não | price (BigNumber) + priceCurrency. |
| Whitepaper (URL) | Link do whitepaper | Não | whitepaper_url. |
| Instituição criadora | Nome/URL do criador | Não | creator_institution / creator_institution_url. |
| Documento legal (PDF) | Documentação jurídica | Não | document_url (upload, máx. 10 MB). |
| Documento de contrato (PDF) | Contrato anexo | Não | contract_url (upload). |
| Exibir disclaimer | Mostra aviso na coleção | Não | show_disclaimer. |
| Endereço de contrato | Contrato on-chain | Automático | contract_address — preenchido pela plataforma após o processamento on-chain (exibido como "processando" enquanto não confirma). |
Padrão de contrato e painel de Regulação
O campo contract_standard define o tipo de contrato da coleção:
ERC721(padrão) — NFT não-regulada;ERC721_COMPLIANT— NFT regulada (identidade on-chain via IdentityRegistry compartilhada);ERC3643— token de segurança fungível regulado.
Em coleções reguladas, o formulário (modos editar/visualizar) exibe o painel Regulação (app-regulated-admin), auto-oculto quando a coleção não é regulada. Esse painel permite, sobre o token/holder:
| Ação | O que faz |
|---|---|
| Pause / Unpause | Pausa transferências do token regulado. |
| Freeze / Unfreeze (por carteira) | Congela uma carteira específica. |
| Forced transfer | Transferência forçada from → to → value (value = tokenId no NFT-compliant, ou amount no fungível). |
| Recover | Recuperação oldWallet → newWallet via ONCHAINID (tokenId só no NFT). |
| Lista de holders | Tabela com holders reais da coleção (freeze/recover/forced por linha). |
As ações de identidade do investidor (status/retry/revoke) ficam na tela de Detalhes do Usuário, não aqui.
Ações e modais
- Criar / Salvar: modal de confirmação (bottom sheet). Cria (
createCollection) ou atualiza (updateCollections). - Excluir: só permitida se a coleção não tiver itens; pede confirmação. Caso contrário, bloqueia com aviso.
- Ações de regulação: disparam step-up (re-autenticação senha+MFA, header
X-Step-Up-Token) nas operações destrutivas (forced-transfer, recover, freeze).
Regras de negócio / cuidados
Atenção
- Nome e rede são imutáveis após a criação da coleção.
- Coleção com NFTs não pode ser excluída — esvazie/encerre antes.
- O endereço de contrato é gerado pela plataforma; aguarde o processamento on-chain.
Irreversível
- Operações reguladas de forced transfer, recover e revoke de identidade alteram posse on-chain e não têm rollback. Exigem step-up (senha+MFA).
- Valores financeiros: preço é BigNumber, sem arredondamento.
Exemplos
Cenário 1 — Coleção padrão (não regulada) para NFTs colecionáveis
- Nome "Arte Axia", rede
POLYGON, descrição, imagem e capa. - Salvar —
contract_standardpermaneceERC721. - A coleção fica pronta para receber NFTs em Gerenciar NFTs.
Cenário 2 — Coleção regulada (security token) de crowdfunding
- A coleção nasce regulada quando o crowdfunding correspondente é marcado como regulado — no encerramento,
contract_standardé resolvido paraERC721_COMPLIANT(NFT) ouERC3643(fungível). - Ao editar/visualizar a coleção, o painel Regulação aparece com IdentityRegistry/compliance e ações de pause/freeze/forced/recover.
- As transferências passam a exigir investidores com identidade verificada (KYC on-chain provisionada de forma lazy).