Adicionar controle de dia do mês no contrato Minter.sol
Opened this issue · 3 comments
Hoje ele verifica D+30, forçando que a emissão seja feita na data exata.
O contrato deve liberar a emissão caso seja >= dia 1º do mês.
Adicionar variável de controle que diga que já se emitiu neste mês.
Olhando para esta necessidade penso que seria o caso de criar um array privado de inteiros no âmbito do contrato para armazenar o mês e o ano em que ocorre cada emissão. Podemos nomeá-lo "alreadyMinted".
Então alteraria o modificador "allowedMinting()" para verificar se o mês e o ano do timestamp do bloco já aparecem em alreadyMinted.
Colocaria a instrução para armazenar em alreadyMinted[] o mês deste bloco recém cunhado como a última instrução antes do retorno da função mint().
@evertonfraga considerações?
Com certeza, este é um caminho válido.
O Solidity não possui library nativa de controle de datas. sugiro utilizar esta daqui:
https://github.com/pipermerriam/ethereum-datetime
Podemos ir iterando nessa mudança junto em um Pull Request.
Blza criando um branch para eu trabalhar.