You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. The RWA token calls `identity_verifier.verify_identity(&address)`
172
+
2. The identity verifier checks if the address has a registered identity
173
+
3. The identity verifier validates that the identity has all required claims from trusted issuers
174
+
4. If verification fails, the entire operation reverts with `IdentityVerificationFailed` error
175
+
145
176
### Compliance Validation
146
177
147
178
Compliance Validation is handled on a separate contract as a module.
@@ -207,8 +238,8 @@ The RWA package includes several supporting modules that work together to provid
207
238
208
239
This is a mandatory module, since RWA token contract expects the compliance checks and hooks to be available.
209
240
210
-
The compliance module provides a modular framework for implementing custom compliance rules.
211
-
It uses a hook-based architecture where compliance modules can be registered for specific events:
241
+
Provides a modular framework for implementing custom compliance rules.
242
+
[Compliance Contract](https://github.com/OpenZeppelin/stellar-contracts/blob/main/packages/tokens/src/rwa/compliance/mod.rs#L67)uses a hook-based architecture where multiple [compliance modules](https://github.com/OpenZeppelin/stellar-contracts/blob/main/packages/tokens/src/rwa/compliance/mod.rs#L327) can be registered for specific events:
212
243
213
244
-**Transferred**: Called after tokens are successfully transferred
214
245
-**Created**: Called after tokens are successfully minted
@@ -225,28 +256,79 @@ The compliance contract is designed to be shared across multiple RWA tokens, wit
225
256
This is a mandatory module, since RWA token contract expects `verify_identity(e: &Env, address: Address)`
226
257
function to be available.
227
258
228
-
The identity verifier module provides the interface for verifying user identities.
259
+
The **Identity Verifier Module** provides the interface for verifying user identities.
229
260
It can also support possible custom implementation approaches:
230
261
231
262
-**Claim-based**: Cryptographic claims from trusted issuers (provided default implementation)
232
263
-**Merkle Tree**: Efficient verification using merkle proofs
233
264
-**Zero-Knowledge**: Privacy-preserving verification with custom ZK circuits
234
265
-**Other custom approaches**: Any implementation that satisfies the `verify_identity` interface
235
266
236
-
The default claim-based implementation integrates with the Claim Topics and Issuers module and
267
+
The default claim-based implementation integrates with the **Claim Topics and Issuers Module** and
@@ -265,7 +347,15 @@ Stores identity information for verified investors, including:
265
347
266
348
This module is an implementation detail. It is provided as the suggested implementation for the **Claim-based** approach.
267
349
268
-
Manages on-chain identity claims with cryptographic signatures. Claims are issued by trusted authorities and contain:
350
+
Manages on-chain identity claims with cryptographic signatures.
351
+
352
+
This module can be used to extend or be embedded in identity systems.
353
+
354
+
<Callouttype="info">
355
+
This contract is under the control of the investors themselves, who are responsible for storing their claims and corresponding signatures. This gives investors ownership of their identity data.
356
+
</Callout>
357
+
358
+
Claims are issued by trusted authorities and contain:
0 commit comments