Skip to content

Latest commit

 

History

History
166 lines (106 loc) · 3.13 KB

CBDCAccessControl.md

File metadata and controls

166 lines (106 loc) · 3.13 KB

Solidity API

CBDCAccessControl

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.

PAUSER_ROLE

bytes32 PAUSER_ROLE

Role que permite pausar o contrato.

MINTER_ROLE

bytes32 MINTER_ROLE

Role que permite fazer o mint nos contratos de token.

ACCESS_ROLE

bytes32 ACCESS_ROLE

Role que permite habilitar um endereço.

MOVER_ROLE

bytes32 MOVER_ROLE

Role que permite acesso à função move, ou seja, transferir o token de outra carteira.

BURNER_ROLE

bytes32 BURNER_ROLE

Role que permite acesso à função burn.

FREEZER_ROLE

bytes32 FREEZER_ROLE

Role que permite bloquear saldo de uma carteira, por exemplo para o swap de dois passos.

authorizedAccounts

mapping(address => bool) authorizedAccounts

Mapping das contas autorizadas a receber o token.

EnabledAccount

event EnabledAccount(address member)

Evento de carteira habilitada.

Parameters

Name Type Description
member address Carteira habilitada

DisabledAccount

event DisabledAccount(address member)

Evento de carteira desabilitada.

Parameters

Name Type Description
member address Carteira desabilitada

constructor

constructor(address _authority, address _admin) internal

Constrói uma instância do contrato, armazenando os argumentos informados.

Parameters

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

checkAccess

modifier checkAccess(address from, address to)

Modificador que checa se tanto o pagador quanto o recebedor estão habilitados a receber o token.

Parameters

Name Type Description
from address Carteira do pagador
to address Carteira do recebedor

enableAccount

function enableAccount(address member) public

Habilita a carteira a receber o token.

Parameters

Name Type Description
member address Carteira a ser habilitada

disableAccount

function disableAccount(address member) public

Desabilita a carteira.

Parameters

Name Type Description
member address Carteira a ser desabilitada

verifyAccount

function verifyAccount(address account) public view virtual returns (bool)

Checa se a carteira pode receber o token.

Parameters

Name Type Description
account address Carteira a ser checada