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
Copy file name to clipboardExpand all lines: content/stellar-contracts/tokens/rwa/rwa.mdx
+35-9Lines changed: 35 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -238,14 +238,28 @@ The RWA package includes several supporting modules that work together to provid
238
238
239
239
This is a mandatory module, since RWA token contract expects the compliance checks and hooks to be available.
240
240
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:
243
-
244
-
-**Transferred**: Called after tokens are successfully transferred
245
-
-**Created**: Called after tokens are successfully minted
246
-
-**Destroyed**: Called after tokens are successfully burned
247
-
-**CanTransfer**: Called during transfer validation (read-only)
248
-
-**CanCreate**: Called during mint validation (read-only)
241
+
Provides a modular framework for implementing custom compliance rules through a hook-based architecture where multiple
can be registered to the [Compliance Contract](https://github.com/OpenZeppelin/stellar-contracts/blob/main/packages/tokens/src/rwa/compliance/mod.rs#L67).
B --> C{Hook Type<br/>CanTransfer<br/>CanCreate<br/>etc.}
251
+
C --> D[Registered Modules 1..N]
252
+
D --> E[Transfer Limit Module]
253
+
D --> F[Country Restriction Module]
254
+
D --> G[Investor Count Module]
255
+
D --> H[Custom Module X]
256
+
E --> I{All modules<br/>return true?}
257
+
F --> I
258
+
G --> I
259
+
H --> I
260
+
I -->|Yes| J[Operation Proceeds]
261
+
I -->|No| K[Operation Reverts]
262
+
```
249
263
250
264
The compliance contract is designed to be shared across multiple RWA tokens, with each hook function accepting a
251
265
`token` parameter to identify the calling token.
@@ -367,12 +381,24 @@ Claims are issued by trusted authorities and contain:
367
381
368
382
This module is an implementation detail. It is provided as the suggested implementation for the **Claim-based** approach.
369
383
370
-
Validates cryptographic claims with support for multiple signature schemes:
384
+
Validates cryptographic claims and provides comprehensive claim lifecycle management. The module includes:
371
385
386
+
**Signature Verification:**
372
387
- Ed25519 (Stellar native)
373
388
- Secp256k1 (Ethereum compatible)
374
389
- Secp256r1 (Enterprise PKI compatible)
375
390
391
+
**Key Management:**
392
+
- Topic-specific key authorization with registry tracking
393
+
- Each public key is tied to a signature scheme
394
+
- A signing key (public key + scheme) can be authorized to sign claims for specific topic and registry combinations
395
+
- The same signing key can be authorized across multiple topics and registries independently
396
+
397
+
**Claim Invalidation Mechanisms:**
398
+
-**Passive Expiration**: Helper functions to encode/decode expiration metadata (`created_at` and `valid_until` timestamps) within claim data, allowing claims to automatically expire without on-chain action
399
+
-**Per-claim Revocation**: Fine-grained revocation of individual claims for precise control
400
+
-**Signature Invalidation**: Efficient bulk invalidation via nonce increment for revoking all claims signed by a specific key
0 commit comments