evertonfraga/prospera

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.