@tawf-labs/sharia-capital-standard
v0.1.4
Published
Open infrastructure-grade risk-sharing capital formation primitive based on AAOIFI standards
Downloads
62
Maintainers
Readme
Sharia Capital Standard (SCS)
Open infrastructure-grade risk-sharing capital formation primitive for EVM & SVM networks
Overview
SCS provides production-ready smart contract implementations for Sharia-compliant capital formation, based on AAOIFI standards for:
- SCS-1: Mudarabah (manager-investor profit-sharing)
- SCS-2: Musharakah (joint venture capital)
- SCS-3: Profit-Sharing Vault Engine (NAV calculation, epochs)
- SCS-4: Non-Guaranteed Return Enforcement Layer
- SCS-5: Sharia Governance & Compliance
Important Notice: This is the TAWF Sharia Standard, an open-source implementation based on AAOIFI standards. This framework is not officially approved or endorsed by AAOIFI. It is designed as a reference implementation inspired by AAOIFI principles for blockchain-based Islamic finance. Users must obtain independent Sharia Supervisory Board approval before production use.
AAOIFI Standards Reference
This project is based on standards from the Accounting and Auditing Organization for Islamic Financial Institutions:
- Sharia Standard #8: Mudarabah (profit-sharing partnership)
- Sharia Standard #12: Musharakah (joint venture)
- Sharia Standard #17: Investment Agencies
- Governance Standard #3: Internal Sharia Review
- Financial Accounting Standards: FAS #4, #9, #27
Project Structure
Sharia-Capital-Standard/
├── evm/ # EVM implementation (Solidity)
│ ├── src/
│ │ ├── interfaces/ # Core SCS interfaces
│ │ ├── SCS1/ # Mudarabah ✅
│ │ ├── SCS2/ # Musharakah ✅
│ │ ├── SCS3/ # Vault Engine ✅
│ │ ├── SCS4/ # Enforcement Layer ✅
│ │ ├── SCS5/ # AAOIFI Governance ✅
│ │ └── libraries/ # Shared libraries
│ └── test/ # Comprehensive test suite
└── solana/ # SVM implementation (Anchor)
└── programs/Installation
For Foundry Projects (Recommended)
Install as a Foundry dependency:
forge install tawf-labs/Sharia-Capital-StandardAdd to your remappings.txt:
@sharia-capital/=lib/Sharia-Capital-Standard/evm/src/Import in your contracts:
import "@sharia-capital/SCS1/MudarabahPool.sol";
import "@sharia-capital/SCS2/MusharakahPool.sol";
import "@sharia-capital/SCS3/VaultEngine.sol";
import "@sharia-capital/SCS4/SCSEnforcement.sol";
import "@sharia-capital/SCS5/ShariaGovernance.sol";For Hardhat/npm Projects
Install via npm:
npm install @tawf-labs/sharia-capital-standard
# or
yarn add @tawf-labs/sharia-capital-standardImport in your contracts (clean style):
import "@tawf-labs/sharia-capital-standard/SCS1/MudarabahPool.sol";
import "@tawf-labs/sharia-capital-standard/interfaces/ISCS1.sol";Or use direct paths:
import "@tawf-labs/sharia-capital-standard/evm/src/SCS1/MudarabahPool.sol";Access ABIs in JavaScript/TypeScript:
const MudarabahPoolABI = require('@tawf-labs/sharia-capital-standard/evm/out/MudarabahPool.sol/MudarabahPool.json');For Development
Clone the repository to contribute or run tests:
git clone https://github.com/tawf-labs/Sharia-Capital-Standard.git
cd Sharia-Capital-Standard
# Install dependencies
forge install
# Build contracts
forge build
# Run tests
forge test
# Run tests with gas report
forge test --gas-reportUsage Example
// Create Mudarabah pool
MudarabahFactory factory = new MudarabahFactory(enforcementAddress);
address pool = factory.createPool(
usdcAddress,
managerAddress,
capitalProviderAddress,
2000, // 20% manager share (basis points)
8000, // 80% provider share (basis points)
"USDC Mudarabah Pool",
"MDP-USDC"
);
// Deposit capital
MudarabahPool mudarabah = MudarabahPool(pool);
usdc.approve(pool, 1000e6);
mudarabah.deposit(1000e6);
// Deploy to strategy
mudarabah.deployCapital(strategyAddress, 500e6);Core Concepts
Mudarabah (SCS-1)
Manager-investor profit-sharing model where:
- Capital provider (Rabb al-Mal) provides capital
- Manager (Mudarib) manages investments
- Profits shared by pre-agreed ratio
- Losses borne by capital provider (except misconduct)
Musharakah (SCS-2)
Joint venture model where:
- All partners contribute capital
- Profit ratio can differ from capital ratio
- Loss ratio MUST equal capital ratio (AAOIFI requirement)
Vault Engine (SCS-3)
ERC-4626 compliant vault with:
- Epoch-based accounting
- NAV calculation
- Strategy management
Enforcement Layer (SCS-4)
Ensures Sharia compliance by:
- Prohibiting guaranteed returns
- Preventing fixed-yield structures
- Validating profit-sharing ratios
Sharia Governance (SCS-5)
Based on AAOIFI Governance Standard #3:
- Sharia Supervisory Board (SSB) oversight
- Multi-signature approval for investments
- Prohibited asset screening
- Financial ratio validation
Documentation
- SCS-1: Mudarabah Specification
- SCS-2: Musharakah Specification
- SCS-3: Vault Engine Specification
- SCS-4: Enforcement Layer
- SCS-5: AAOIFI Governance
- AAOIFI Compliance Guide
- Integration Guide
Security
- Comprehensive test coverage (100%)
- Fuzz testing (256+ iterations)
- Invariant testing
- ReentrancyGuard protection
- Role-based access control
- Static analysis via Aderyn in CI
- External audit recommended before production use
Security Analysis
This project uses Aderyn, a Rust-based Solidity static analyzer by Cyfrin, to automatically detect potential vulnerabilities in the codebase.
Automated CI Checks:
- Aderyn runs automatically on every push and pull request
- Builds fail on high-severity findings
- Analysis reports are available in GitHub Actions logs
Local Analysis (Optional):
Developers can run Aderyn locally for immediate feedback:
# Install Aderyn (requires Rust)
cargo install aderyn
# Run analysis on the project
aderyn .
# View the generated report
cat report.mdFor more information, see the Aderyn documentation.
See SECURITY.md for reporting vulnerabilities.
Contributing
See CONTRIBUTING.md for contribution guidelines.
License
MIT License - see LICENSE for details.
Disclaimer
This is reference implementation software. Users must:
- Conduct independent Sharia compliance review
- Obtain qualified Sharia Supervisory Board approval
- Complete security audits before production deployment
- Ensure compliance with local regulations
References
- AAOIFI Official Website
- AAOIFI Sharia Standards
- AAOIFI Governance Standards
- AAOIFI Financial Accounting Standards
- ERC-4626 Tokenized Vault Standard
- OpenZeppelin Contracts
Contact
For questions or collaboration: Create an issue
