mapping(address => uint256) frozenBalanceOfMapping das carteiras e respectivo valor congelado.
event FrozenBalance(address wallet, uint256 amount)Evento emitido quando um valor de uma carteira é congelado.
| Name | Type | Description |
|---|---|---|
| wallet | address | carteira que teve o fundo congelado |
| amount | uint256 | quantidade congelada |
modifier checkFrozenBalance(address from, uint256 amount)Modifier para verificar se um endereço possui fundos suficientes. Usado no _beforeTokenTransfer.
constructor(string _name, string _symbol, address _authority, address _admin) publicConstrutor do token do Real Digital.
Invoca o construtor do ERC20 e dá permissão de autoridade para a carteira do BCB.
| Name | Type | Description |
|---|---|---|
| _name | string | Nome do token: Real Digital |
| _symbol | string | Símbolo do token: BRL |
| _authority | address | Carteira responsável por emitir, resgatar, mover e congelar fundos (BCB) |
| _admin | address | Carteira responsável por administrar o controle de acessos (BCB) |
function pause() publicFunção para pausar o token em casos necessários, bloqueando-o para todas as operações.
function unpause() publicFunção para despausar o token em casos necessários, desbloqueando-o para todas as operações.
function mint(address to, uint256 amount) publicFunção para emitir tokens para as carteiras permitidas.
| Name | Type | Description |
|---|---|---|
| to | address | carteira destino |
| amount | uint256 | quantidade de tokens |
function _beforeTokenTransfer(address from, address to, uint256 amount) internalGatilho executado sempre que é solicitada uma movimentação de token, inclusive na criação e destruição de tokens.
Condições de chamada:
- quando
fromé zero,amounttokens serão emitidosto. - quando
toé zero,amountdofromtokens serão destruídos. frometonunca serão simultaneamente zero.frometodevem estar registrados como participantes.
function decimals() public view virtual returns (uint8)Retorna o número de casas decimais utilizadas na representação do valor do token. Por exemplo, se decimals for igual a 2, um saldo de 505 tokens deve ser apresentado como 5.05 (505 / 10 ** 2).
function move(address from, address to, uint256 amount) publicFunção para mover tokens de uma carteira para outra. Somente quem possuir MOVER_ROLE pode executar.
| Name | Type | Description |
|---|---|---|
| from | address | carteira origem |
| to | address | carteira destino |
| amount | uint256 | quantidade de tokens |
function increaseFrozenBalance(address from, uint256 amount) publicFunção para incrementar tokens parcialmente bloqueados de uma carteira. Somente quem possuir FREEZER_ROLE pode executar.
| Name | Type | Description |
|---|---|---|
| from | address | carteira origem |
| amount | uint256 | quantidade de tokens |
function decreaseFrozenBalance(address from, uint256 amount) publicFunção para decrementar tokens parcialmente bloqueados de uma carteira. Somente quem possuir FREEZER_ROLE pode executar.
| Name | Type | Description |
|---|---|---|
| from | address | carteira origem |
| amount | uint256 | quantidade de tokens |
function burn(uint256 amount) publicDestrói um determinado valor da carteira.
Veja {ERC20-burn}.
function moveAndBurn(address from, uint256 amount) publicFunção para destruir tokens de uma carteira. Somente quem possuir MOVER_ROLE pode executar.
| Name | Type | Description |
|---|---|---|
| from | address | carteira origem |
| amount | uint256 | quantidade de tokens |
function burnFrom(address account, uint256 amount) publicDestrói amount tokens da account, deduzindo alllowance do executor.
Olhe {ERC20-_burn} e {ERC20-allowance}.
Requerimentos:
- o executor deve possuir autorização de mover fundos da
accountsde no mínimo oamount.