# 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.**
