Smart Contract responsável pela camada de controle de acesso para o Real Digital/Tokenizado.
Suas principais funcionalidades são:
- Determinar quais carteiras podem enviar/receber tokens.
- Controlar os papeis de qual endereço pode emitir/resgatar/congelar saldo de uma carteira.
bytes32 PAUSER_ROLERole que permite pausar o contrato.
bytes32 MINTER_ROLERole que permite fazer o mint nos contratos de token.
bytes32 ACCESS_ROLERole que permite habilitar um endereço.
bytes32 MOVER_ROLERole que permite acesso à função move, ou seja, transferir o token de outra carteira.
bytes32 BURNER_ROLERole que permite acesso à função burn.
bytes32 FREEZER_ROLERole que permite bloquear saldo de uma carteira, por exemplo para o swap de dois passos.
mapping(address => bool) authorizedAccountsMapping das contas autorizadas a receber o token.
event EnabledAccount(address member)Evento de carteira habilitada.
| Name | Type | Description |
|---|---|---|
| member | address | Carteira habilitada |
event DisabledAccount(address member)Evento de carteira desabilitada.
| Name | Type | Description |
|---|---|---|
| member | address | Carteira desabilitada |
constructor(address _authority, address _admin) internalConstrói uma instância do contrato, armazenando os argumentos informados.
| Name | Type | Description |
|---|---|---|
| _authority | address | Autoridade do contrato, pode fazer todas as operações com o token |
| _admin | address | Administrador do contrato, pode trocar a autoridade do contrato caso seja necessário |
modifier checkAccess(address from, address to)Modificador que checa se tanto o pagador quanto o recebedor estão habilitados a receber o token.
| Name | Type | Description |
|---|---|---|
| from | address | Carteira do pagador |
| to | address | Carteira do recebedor |
function enableAccount(address member) publicHabilita a carteira a receber o token.
| Name | Type | Description |
|---|---|---|
| member | address | Carteira a ser habilitada |
function disableAccount(address member) publicDesabilita a carteira.
| Name | Type | Description |
|---|---|---|
| member | address | Carteira a ser desabilitada |
function verifyAccount(address account) public view virtual returns (bool)Checa se a carteira pode receber o token.
| Name | Type | Description |
|---|---|---|
| account | address | Carteira a ser checada |