Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 21 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ members = [
"contracts/property-token",
"contracts/insurance",
"contracts/analytics",
"contracts/fees",
"contracts/compliance_registry",
]
resolver = "2"

Expand Down
9 changes: 6 additions & 3 deletions contracts/compliance_registry/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@
name = "compliance_registry"
version = "0.1.0"
edition = "2021"
description = "Multi-jurisdictional compliance and regulatory framework for PropChain"

[dependencies]
ink = { version = "5.0.0", default-features = false }
scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] }
scale-info = { version = "2", default-features = false, features = ["derive"], optional = true }
ink = { workspace = true }
scale = { workspace = true }
scale-info = { workspace = true }
propchain-traits = { path = "../traits", default-features = false }

[dev-dependencies]
ink_e2e = "5.0.0"
Expand All @@ -20,5 +22,6 @@ std = [
"ink/std",
"scale/std",
"scale-info/std",
"propchain-traits/std",
]
ink-as-dependency = []
32 changes: 32 additions & 0 deletions contracts/compliance_registry/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# PropChain Compliance Registry (Issue #45)

Multi-jurisdictional compliance and regulatory framework for PropChain: KYC/AML, sanctions screening, audit trails, workflow management, and regulatory reporting.

## Features

- **Multi-jurisdiction**: US, EU, UK, Singapore, UAE, Other with configurable rules per jurisdiction.
- **KYC**: Verification requests, document/biometric types, verification levels, expiry.
- **AML**: Risk factors (PEP, high-risk country, transaction patterns, source of funds), batch AML checks.
- **Sanctions**: Multiple list sources (UN, OFAC, EU, UK, Singapore, UAE), status and list stored per account.
- **Audit**: Audit log per account; compliance report and sanctions screening summary.
- **Workflow**: Create verification request → off-chain processing → process_verification_request; workflow status query.
- **Regulatory reporting**: `get_regulatory_report(jurisdiction, period_start, period_end)`.
- **Transaction compliance**: `check_transaction_compliance(account, operation)` for rules-engine style checks.
- **Integration**: Implements `ComplianceChecker` trait for PropertyRegistry cross-calls.

## Build and Test

From repo root:

```bash
cargo build -p compliance_registry
cargo test -p compliance_registry
```

## Usage with PropertyRegistry

1. Deploy ComplianceRegistry.
2. On PropertyRegistry, call `set_compliance_registry(Some(registry_address))` (admin).
3. Registration and transfers will then require compliant accounts (registry `is_compliant(account)` must be true).

See `docs/compliance-regulatory-framework.md` and `docs/compliance-integration.md` for full integration and best practices.
Loading
Loading