Skip to content

Commit 5eabda0

Browse files
committed
mermaid rework
1 parent c32e1cd commit 5eabda0

File tree

1 file changed

+13
-29
lines changed
  • content/stellar-contracts/tokens/rwa

1 file changed

+13
-29
lines changed

content/stellar-contracts/tokens/rwa/rwa.mdx

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ It can also support possible custom implementation approaches:
312312
- **Zero-Knowledge**: Privacy-preserving verification with custom ZK circuits
313313
- **Other custom approaches**: Any implementation that satisfies the `verify_identity` interface
314314

315-
The architecture of the default claim-based implementation is shown in the diagram below:
315+
The diagram below illustrates how identity verification works in the claim-based identity stack:
316316

317317
```mermaid
318318
graph TB
@@ -326,24 +326,14 @@ graph TB
326326
CI[Claim Issuer]
327327
IC[Identity Claims]
328328
329-
IV_TITLE["Claim-Based Identity Verification"]
330-
IV_TITLE ~~~ IRS
331329
end
332330
333-
334-
335-
RWA -->|"verify_identity()<br/>recovery_target()"| IDV
336-
331+
RWA -->|"verify_identity()"| IDV
337332
338333
IDV -->|"get_claim_topics_and_issuers()"| CTI
339-
IDV -->|"stored_identity()<br/>get_recovered_to()"| IRS
340-
IDV -->|"try_is_claim_valid()"| CI
334+
IDV -->|"stored_identity()"| IRS
335+
IDV -->|"is_claim_valid()"| CI
341336
IDV -->|"get_claim_ids_by_topic()<br/>get_claim()"| IC
342-
343-
CI --> |"has_claim_topic()"| CTI
344-
IC --> |"is_claim_valid()"| CI
345-
346-
style IV_TITLE fill:none,stroke:#ff9800,stroke-width:2px
347337
```
348338

349339
### - Claim Topics and Issuers
@@ -392,22 +382,16 @@ Each claim contains:
392382

393383
**How Claims Work:**
394384

395-
1. **Issuance**: A trusted authority (e.g., KYC provider) verifies an investor's identity off-chain
396-
2. **Signing**: The authority creates a cryptographic signature over the claim data using their private key
397-
3. **Storage**: The claim is stored on-chain in the investor's identity contract
398-
4. **Verification**: When the investor tries to receive tokens, the RWA contract:
399-
- Retrieves the required claims from the identity contract
400-
- Validates the cryptographic signatures using the issuer's public key
401-
- Checks that the claims haven't expired or been revoked
402-
- Ensures the issuer is trusted and authorized for those claim topics
385+
1. **Off-chain Verification**: KYC Provider verifies investor's identity documents off-chain
386+
2. **Off-chain Signing**: KYC Provider signs the claim with their private key off-chain
387+
3. **On-chain Storage**: Signed claim is stored in the investor's Identity Contract
388+
4. **Token Validation**: When investor attempts to receive tokens, the RWA Token:
389+
- Retrieves claims from the Identity Contract
390+
- Calls the Claim Issuer Contract to validate signatures
391+
- Checks for revocations (stored in Claim Issuer Contract)
392+
- Verifies the issuer is trusted (via Claim Topics and Issuers registry)
403393

404-
**Example Flow:**
405-
```
406-
Investor → KYC Provider (off-chain verification)
407-
→ Claim Issuer Contract (signs claim with private key)
408-
→ Identity Contract (stores signed claim on-chain)
409-
→ RWA Token (validates claim during transfer/mint)
410-
```
394+
**Note:** The KYC Provider and Claim Issuer are the same entity. Signing happens off-chain; only the signed claim and revocation data are stored on-chain.
411395

412396

413397
### - Identity Registry Storage

0 commit comments

Comments
 (0)