Skip to content

Commit

Permalink
Disponibiliza a primeira versão do kit de onboard
Browse files Browse the repository at this point in the history
  • Loading branch information
aldenio committed Jul 3, 2023
0 parents commit 9c4e88b
Show file tree
Hide file tree
Showing 33 changed files with 4,881 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules/
package-lock.json
cache/
52 changes: 52 additions & 0 deletions AddressDiscovery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Solidity API

## AddressDiscovery

_Smart Contract_ utilitário para facilitar a descoberta dos demais endereços de contratos na rede do Piloto RD.

### ACCESS_ROLE

```solidity
bytes32 ACCESS_ROLE
```

_Role_ de acesso, pertencente a autoridade do contrato.

### addressDiscovery

```solidity
mapping(bytes32 => address) addressDiscovery
```

_Mapping_ do endereço dos contratos, a chave é o hash keccak256 do nome do contrato.

### constructor

```solidity
constructor(address _authority, address _admin) public
```

Construtor

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| _authority | address | Autoridade do contrato, pode atualizar os endereços dos contratos. |
| _admin | address | Administrador, pode trocar a autoridade. |

### updateAddress

```solidity
function updateAddress(bytes32 smartContract, address newAddress) public
```

Atualiza o endereço de um contrato, permitido apenas para a autoridade.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| smartContract | bytes32 | Hash keccak256 do nome do contrato. |
| newAddress | address | Novo endereço do contrato. |

166 changes: 166 additions & 0 deletions CBDCAccessControl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
# 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

```solidity
bytes32 PAUSER_ROLE
```

_Role_ que permite pausar o contrato.

### MINTER_ROLE

```solidity
bytes32 MINTER_ROLE
```

_Role_ que permite fazer o `mint` nos contratos de token.

### ACCESS_ROLE

```solidity
bytes32 ACCESS_ROLE
```

_Role_ que permite habilitar um endereço.

### MOVER_ROLE

```solidity
bytes32 MOVER_ROLE
```

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

### BURNER_ROLE

```solidity
bytes32 BURNER_ROLE
```

_Role_ que permite acesso à função `burn`.

### FREEZER_ROLE

```solidity
bytes32 FREEZER_ROLE
```

_Role_ que permite bloquear saldo de uma carteira, por exemplo para o [_swap_ de dois passos](./SwapTwoSteps.md).

### authorizedAccounts

```solidity
mapping(address => bool) authorizedAccounts
```

_Mapping_ das contas autorizadas a receber o token.

### EnabledAccount

```solidity
event EnabledAccount(address member)
```

Evento de carteira habilitada.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| member | address | Carteira habilitada |

### DisabledAccount

```solidity
event DisabledAccount(address member)
```

Evento de carteira desabilitada.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| member | address | Carteira desabilitada |

### constructor

```solidity
constructor(address _authority, address _admin) internal
```

Constrói uma instância da 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

```solidity
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

```solidity
function enableAccount(address member) public
```

Habilita a carteira a receber o token.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| member | address | Carteira a ser habilitada |

### disableAccount

```solidity
function disableAccount(address member) public
```

Desabilita a carteira.

#### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| member | address | Carteira a ser desabilitada |

### verifyAccount

```solidity
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 |

Loading

0 comments on commit 9c4e88b

Please sign in to comment.