Files
smom-dbis-138/docs/vault/COMPLIANCE_REQUIREMENTS.md
defiQUG 2b52cc6e32 refactor(archive): move historical contracts and adapters to archive directory
- Archived multiple non-EVM adapters (Algorand, Hedera, Tron, TON, Cosmos, Solana) and compliance contracts (IndyVerifier) to `archive/solidity/contracts/`.
- Updated documentation to reflect the historical status of archived components.
- Adjusted `foundry.toml` and `README.md` for clarity on historical dependencies and configurations.
- Enhanced Makefile and package.json scripts for improved contract testing and building processes.
- Removed obsolete contracts (AlltraCustomBridge, CommodityCCIPBridge, ISO4217WCCIPBridge, VaultBridgeAdapter) from the main directory.
- Updated implementation reports to indicate archived status for various components.
2026-04-12 18:21:05 -07:00

236 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DBIS ChainID 138 Vault System - Compliance Requirements
## Mandatory Compliance Standards
This document outlines the mandatory compliance requirements for the DBIS ChainID 138 Vault System.
## 1. ISO 4217 Currency Code Compliance
### Requirements
- **ALL currency codes, names, or denominations MUST be validated against ISO 4217 standards**
- Currency codes MUST be exactly 3 uppercase letters (A-Z)
- Non-ISO 4217 currencies MUST NOT be treated as legal tender
- Non-ISO currencies MUST be explicitly identified as one of:
- Non-ISO synthetic unit of account (e.g., GRU)
- Non-ISO internal accounting instrument
- Commodity code (XAU, XAG, etc.)
### Implementation
The system uses `CurrencyValidation` library to:
- Validate ISO 4217 format (3 uppercase letters)
- Identify recognized ISO 4217 currencies
- Distinguish between legal tender and synthetic units
- Explicitly flag non-ISO currencies
### Valid ISO 4217 Examples
- USD (US Dollar) - Legal tender
- EUR (Euro) - Legal tender
- GBP (British Pound) - Legal tender
- JPY (Japanese Yen) - Legal tender
### Non-ISO 4217 Examples
- **GRU** (Global Reserve Unit) - NON-ISO synthetic unit of account, NOT legal tender
- **M00, M0, M1** - GRU monetary layers - NON-ISO synthetic units
- **XAU** - ISO 4217 commodity code for gold (NOT currency, but recognized code)
## 2. Global Reserve Unit (GRU) Classification
### MANDATORY Classification
**GRU is a NON-ISO 4217 synthetic unit of account and SHALL NOT be classified as fiat currency.**
### GRU Monetary Layers
The system recognizes three GRU layers with **MANDATORY relationships**:
```
1 M00 GRU = 5 M0 GRU = 25 M1 GRU
```
### Conversion Ratios (MANDATORY - Must Be Enforced Exactly)
- **M00 to M0**: 1 M00 = 5 M0
- **M00 to M1**: 1 M00 = 25 M1
- **M0 to M1**: 1 M0 = 5 M1
These ratios are enforced in `GRUConstants.sol` and MUST NOT be modified.
### GRU Triangulation Requirement
**ALL GRU triangulations MUST be conducted through XAU (gold).**
Conversion path:
```
GRU → XAU → Target Currency
```
The system does NOT allow direct GRU-to-currency conversions without XAU intermediation.
## 3. XAU Triangulation Requirements
### Mandatory Rule
**ALL currency conversions MUST go through XAU (gold) triangulation.**
### Triangulation Formula
```
CurrencyA → XAU → CurrencyB
```
### Steps
1. Convert CurrencyA to XAU: `xauAmount = currencyAAmount / xauRateA`
2. Convert XAU to CurrencyB: `currencyBAmount = xauAmount * xauRateB`
### Implementation
The historical `XAUTriangulation` library, archived at `archive/solidity/contracts/vault/libraries/XAUTriangulation.sol`, documents this requirement:
- All conversions use `triangulate()` function
- Direct currency-to-currency conversions are NOT permitted
- XAU is the universal unit of account
### XAU as Universal Unit of Account
- All valuations in the vault system are normalized to XAU
- Collateral values are calculated in XAU
- Debt values are calculated in XAU
- Health ratios are calculated in XAU terms
## 4. Monetary Formulas (Mandatory Application)
The following formulas MUST be applied exactly as specified without modification:
### Money Supply Formula 1
```
M = C + D
```
Where:
- M = Money Supply
- C = Currency
- D = Deposits
### Money Supply Formula 2
```
M = MB × m
```
Where:
- M = Money Supply
- MB = Monetary Base
- m = Money Multiplier
### Money Velocity Formula
```
V = PQ / M
```
Where:
- V = Velocity
- P = Price Level
- Q = Quantity of Goods
- M = Money Supply
### Money Multiplier Formula 1 (Simple)
```
m = 1 / r
```
Where:
- m = Money Multiplier
- r = Reserve Ratio
### Money Multiplier Formula 2 (With Currency Ratio)
```
m = (1 + c) / (r + c)
```
Where:
- m = Money Multiplier
- r = Reserve Ratio
- c = Currency Ratio
### Implementation
These formulas are implemented in `MonetaryFormulas.sol` and MUST be used without modification.
## 5. eMoney Classification
### eMoney as XAU-Denominated Instrument
**eMoney tokens in this system are XAU-denominated by design:**
- 1 eMoney = 1 XAU equivalent
- eMoney is NOT legal tender
- eMoney is a regulated digital instrument
- eMoney issuance requires collateral backing in XAU terms
### Valuation
All eMoney valuations are normalized to XAU:
- Debt calculations assume 1:1 eMoney to XAU
- This ensures consistent valuation across all operations
## 6. Compliance Enforcement
### Validation Points
1. **Currency Registration**: All currencies are validated for ISO 4217 compliance
2. **GRU Handling**: GRU is explicitly flagged as non-ISO synthetic unit
3. **XAU Triangulation**: All conversions enforced through XAU
4. **Formula Application**: Monetary formulas applied exactly as specified
### Error Handling
The system will:
- Reject non-compliant currency codes
- Flag GRU as non-legal tender
- Require XAU triangulation for all conversions
- Enforce GRU conversion ratios exactly
## 7. Documentation Requirements
### Currency Classification
All currency references in documentation MUST:
- Identify ISO 4217 currencies as legal tender
- Identify GRU as NON-ISO synthetic unit of account
- Identify XAU as commodity code
- Identify eMoney as XAU-denominated instrument
### Formula References
All formula applications MUST:
- Reference the exact formula being used
- Show all variables and their meanings
- Apply formulas without modification
## 8. Testing Requirements
All tests MUST:
- Validate ISO 4217 compliance
- Test GRU conversion ratios
- Verify XAU triangulation
- Validate monetary formula applications
## Summary
The DBIS ChainID 138 Vault System enforces strict compliance with:
1. ✅ ISO 4217 currency code standards
2. ✅ GRU as NON-ISO synthetic unit classification
3. ✅ XAU triangulation for all conversions
4. ✅ Exact application of monetary formulas
5. ✅ eMoney as XAU-denominated instrument
**Any violation of these requirements MUST be flagged, corrected, or rejected prior to response generation.**