// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.0; contract NoidProvider { // nice opaque identifier - NOId // https://metacpan.org/dist/Noid/view/noid // TODO: Passar como parametro string alphabet_raw = "0123456789bcdfghjkmnpqrstvwxz"; uint8 alphabet_len = 29; //0-28 // dados do alfabeto bytes alphabet; mapping(bytes1 => uint8) private map_alphabet; // Dados do dono bytes nam; bytes dnam; bytes sec_nam; bytes1 sep_token; address private owner; // noid util uint8 noid_len; uint8[] noid_gen_index; // uint contador = 0; bool configured = false; bool full = false; constructor() { //usar para controle de acesso //TODO: CRIAR SET OWNER COM O CONTROLE DE ACESSO owner = msg.sender; } // configurar // secnam e o separador function configure(uint8 tamanho, string memory _nam, string memory dnam_id, string memory secnam_id, string memory _sep_token) public { require(configured == false,"noid already configured"); nam = bytes(_nam); noid_len = tamanho; noid_gen_index = new uint8[](tamanho); configured = true; for (uint8 i=0; i