@@ -14,86 +14,9 @@ One of the foremost use case is the support of regulated asset classes and finan
14
14
15
15
## Content
16
16
17
- ### Audit Phase 1 limitations
17
+ This repository is a monorepos of the different component of the projects.
18
18
19
- The Audit Phase 1 concerned the Core and the Oracle monorepos.
20
- In particular the goal of this phase 1 is to audit a limited version of the C-Layer for standard STO and ICO Tokens only.
21
-
22
- To this regard, the core only accepts in this version a fixed list of delegates defined at the Core deployment time.
23
- AuditData is also limited to the delegates configuration and cannot be updated.
24
-
25
- Remaining tasks to prior to the audit:
26
- - Review and validates AuditData storage
27
- - AuditTokenDelegate must read AuditConfig and update AuditStorage accordingly,
28
- - Rely on token's Audit to eval Tokensale contributions,
29
- - Add more documentations,
30
- - Testing. Coverage up to 90% at least.
31
-
32
- ### C-Layer Core
33
-
34
- The C-Layer can support the tokenization of the following assets: Bonds, Equity, Payment and Utility.
35
-
36
- <img src =" smartcontracts.core.png " height =500/ >
37
-
38
- The token is represented by a proxy contract which implements the ERC20 interface.
39
- The token rely on a core for all operations and in particular transfers.
40
-
41
- The core has three roles:
42
- - Routing proxy call to the relevant token delegates. A delegate contains the code for all the operations.
43
- One delegate represent one asset class.
44
- - Database. All tokens data are stored within the core contract.
45
- This ensure that cross tokens operations are inherently safe and consistent in respect to the compliance.
46
- - Security. This core responsability is critical.
47
- Access control can be precisely managed through an integrated role base access control.
48
-
49
- Many delegates are possible through a combination of existing delegates.
50
- The primary one will be the C-Layer Delegate Token which contains all the requirements for a regulated asset.
51
- However, the C-Layer Delegate Token does not define the supply generation and may be inherited with the Mintable Token Delegate.
52
-
53
- Token Delegates include the following features:
54
- - Operable: provide an owner and ability to delegate restricted features to operators
55
- - Auditability: track sendings and receiptions
56
- - Proofs of ownership: store balance history within Ethereum state
57
- - Rule Engine: ERC-1592 (see below)
58
- - Claims: provides claims based on token balance or generated proofs of ownership
59
- - Seize: authorize operators to seize any tokens. Any seizure will emit a Seize events in the Ethereum history.
60
-
61
- Following [ ERC-1592] ( https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1592.md ) , the token contains a rule engine.
62
- It allows to plug rules which follow the IRule interface implementations.
63
- Available rules are:
64
- - YesNoRule: accept or refuse all transfers (used for testing)
65
- - UserRule: lock all addresses which are not contains within a specified user registry.
66
-
67
- ### C-Layer Oracle
68
-
69
- Three oracles are provided:
70
- - UserRegistry: contains a list of users alongs with their respective profiling informations.
71
-
72
- - RatesProvider: contains a list of rates for many pairs. Rates history is available through events search.
73
-
74
- - Tokensale: provides a way to operate a tokensale with happend both in FIAT (centralized) and in ETH (decentralized).
75
- The tokensale provides also the following features:
76
- - Contribution limitations based on a user profiles in user registry oracle
77
- - Automatic conversion from ETHER to FIAT through a rates provider oracle
78
- - Pre allocations of tokens to specific investors
79
- - Onchain SPA aggrement (defined as not mandatory)
80
- - Bonus provided until a certain dates
81
-
82
- <img src =" smartcontracts.oracle.png " height =500/ >
83
-
84
- ### Callstacks
85
-
86
- #### ERC20 Transfer callstack
87
-
88
- <img src =" callstack.transfer.png " height =500/ >
89
-
90
- #### Tokensale invest callstack
91
-
92
- <img src =" callstack.invest.png " height =500/ >
93
-
94
- ### Coverage
95
-
96
- The latest coverage result may be found below:
97
- - [ Core] ( https://c-layer.github.io/contracts/c-layer-core/coverage/ )
98
- - [ Oracle] ( https://c-layer.github.io/contracts/c-layer-oracle/coverage/ )
19
+ - Common: contains the core and security architectures among other utilities
20
+ - Oracle: contains an oracle
21
+ - Token: contains the token core, all token delegates, a token factory with their own default configurations
99
22
0 commit comments