330 lines
8.6 KiB
Markdown
330 lines
8.6 KiB
Markdown
# Defi-Mix-Tooling - Monorepo
|
|
|
|
**Status**: ✅ **Active**
|
|
**Purpose**: Unified monorepository for DeFi tooling and development frameworks. Consolidates multiple DeFi projects into a single structure with shared code and tooling.
|
|
|
|
---
|
|
|
|
## Overview
|
|
|
|
Defi-Mix-Tooling is a monorepository that consolidates DeFi development tools, starter kits, and execution frameworks. This enables shared code, unified versioning, simplified dependency management, and coordinated development across all DeFi tooling projects.
|
|
|
|
---
|
|
|
|
## Monorepo Structure
|
|
|
|
This monorepo uses git submodules to manage related projects:
|
|
|
|
```
|
|
Defi-Mix-Tooling/
|
|
├── .gitmodules # Git submodules configuration
|
|
├── 27-combi/ # Aave Stablecoin Looping Tool (submodule)
|
|
├── 237-combo/ # DeFi Starter Kit (submodule)
|
|
├── CurrenciCombo/ # ISO-20022 Combo Flow (submodule)
|
|
├── strategic/ # TypeScript CLI + Solidity Atomic Executor (submodule)
|
|
├── no_five/ # DBIS Atomic Amortizing Leverage Engine (submodule)
|
|
├── asle/ # Ali & Saum Liquidity Engine (submodule)
|
|
├── packages/ # Shared packages (planned)
|
|
│ ├── defi-shared/ # Shared DeFi utilities
|
|
│ ├── defi-types/ # TypeScript types for DeFi
|
|
│ ├── defi-protocols/ # Protocol integration libraries
|
|
│ └── defi-simulator/ # DeFi simulation utilities
|
|
├── tools/ # Development tools (planned)
|
|
└── docs/ # Documentation (planned)
|
|
```
|
|
|
|
---
|
|
|
|
## Submodules
|
|
|
|
### 27-combi
|
|
**Status**: ✅ Active
|
|
**Description**: Aave Stablecoin Looping Tool - A TypeScript/Node.js tool for executing stablecoin leverage loops on Aave v3.
|
|
|
|
**Features**:
|
|
- Multi-chain support
|
|
- Configurable wallet providers
|
|
- DEX integrations
|
|
- Comprehensive safety monitoring
|
|
|
|
### 237-combo
|
|
**Status**: ✅ Active
|
|
**Description**: DeFi Starter Kit - A comprehensive TypeScript + Foundry starter kit for building on core DeFi protocols.
|
|
|
|
**Features**:
|
|
- Aave v3, Uniswap v3/v4, Protocolink integrations
|
|
- Compound III, Balancer v3, Curve crvUSD support
|
|
- Multi-chain support
|
|
- Type-safe integrations
|
|
- Comprehensive testing framework
|
|
|
|
### CurrenciCombo
|
|
**Status**: ✅ Active
|
|
**Description**: ISO-20022 Combo Flow - A visual workflow builder for composing multi-step financial transactions.
|
|
|
|
**Features**:
|
|
- Combines ISO-20022 banking messages with DLT operations
|
|
- Web App, PWA, and DApp deployment models
|
|
- 2PC (Two-Phase Commit) execution
|
|
|
|
### strategic
|
|
**Status**: ✅ Active
|
|
**Description**: TypeScript CLI + Solidity Atomic Executor - Full-stack TypeScript CLI scaffold with Solidity atomic executor.
|
|
|
|
**Features**:
|
|
- Strategy JSON DSL
|
|
- Protocol adapters (Aave, Compound, Uniswap, MakerDAO, Balancer, Curve, etc.)
|
|
- Atomic execution via multicall or flash loan callback
|
|
- Safety guards and multi-chain support
|
|
|
|
### no_five
|
|
**Status**: ✅ Active
|
|
**Description**: DBIS Atomic Amortizing Leverage Engine - A comprehensive, production-ready DeFi leverage system with atomic amortization cycles.
|
|
|
|
**Features**:
|
|
- Automatically improves positions through atomic amortization cycles
|
|
- Multi-provider flash loans (Aave, Balancer, Uniswap, DAI)
|
|
- Multi-source yield aggregation (Aave, Balancer, Curve/Convex, Protocol revenue)
|
|
- Recursive leverage kernel with amortization cycles
|
|
- Governance guard and policy engine
|
|
- Oracle adapter (Chainlink, Aave, Uniswap TWAP)
|
|
- MEV bot infrastructure (TypeScript)
|
|
- Production-ready with comprehensive test coverage
|
|
|
|
**Deployment**: ✅ Production ready on Ethereum Mainnet (18/18 contracts deployed)
|
|
|
|
### asle
|
|
**Status**: ✅ Active
|
|
**Description**: Ali & Saum Liquidity Engine - Hybrid cross-chain liquidity infrastructure with PMM, CCIP, ERC-2535 Diamond Standard, and ISO/ICC compliance.
|
|
|
|
**Features**:
|
|
- DODO PMM (Proactive Market Maker) for efficient liquidity provision
|
|
- Chainlink CCIP for secure cross-chain operations
|
|
- ERC-2535 Diamond Standard for fully upgradeable smart contracts
|
|
- ERC-1155 & ERC-4626 for multi-asset vaults and tokenization
|
|
- Multi-mode compliance (Regulated/Fintech/Decentralized)
|
|
- ISO 20022 & FATF Travel Rule compliance for institutional use
|
|
- KYC/AML verification integration
|
|
- OFAC sanctions screening
|
|
- Real-World Asset (RWA) tokenization
|
|
- RESTful and GraphQL APIs
|
|
|
|
---
|
|
|
|
## Getting Started
|
|
|
|
### Clone with Submodules
|
|
|
|
```bash
|
|
# Clone repository with all submodules
|
|
git clone --recurse-submodules <repository-url>
|
|
cd Defi-Mix-Tooling
|
|
|
|
# Or if already cloned, initialize submodules
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
### Update Submodules
|
|
|
|
```bash
|
|
# Update all submodules to latest commits
|
|
git submodule update --remote
|
|
|
|
# Update specific submodule
|
|
cd 27-combi
|
|
git pull origin main
|
|
cd ..
|
|
git add 27-combi
|
|
git commit -m "Update 27-combi submodule"
|
|
```
|
|
|
|
### Working with Submodules
|
|
|
|
```bash
|
|
# Work on a submodule
|
|
cd 237-combo
|
|
# Make changes and commit
|
|
git add .
|
|
git commit -m "Your changes"
|
|
git push
|
|
cd ..
|
|
|
|
# Update parent repo to reference new submodule commit
|
|
git add 237-combo
|
|
git commit -m "Update 237-combo submodule reference"
|
|
git push
|
|
```
|
|
|
|
---
|
|
|
|
## Shared Resources (Planned)
|
|
|
|
### Shared Packages
|
|
|
|
**defi-shared**:
|
|
- Common DeFi utilities
|
|
- Protocol interaction helpers
|
|
- Type definitions
|
|
- Validation schemas
|
|
|
|
**defi-types**:
|
|
- TypeScript types for DeFi protocols
|
|
- Contract type definitions
|
|
- Transaction types
|
|
- Event types
|
|
|
|
**defi-protocols**:
|
|
- Protocol integration libraries
|
|
- Multi-protocol abstraction layer
|
|
- Common protocol patterns
|
|
|
|
**defi-simulator**:
|
|
- DeFi simulation utilities
|
|
- Transaction simulation
|
|
- Strategy backtesting
|
|
- Risk analysis tools
|
|
|
|
---
|
|
|
|
## Technology Stack
|
|
|
|
### Shared Technologies
|
|
- **TypeScript**: Primary language
|
|
- **Foundry**: Solidity development and testing
|
|
- **Node.js**: Runtime environment
|
|
- **pnpm**: Package manager (recommended)
|
|
|
|
### Protocol Integrations
|
|
- Aave v3
|
|
- Uniswap v3/v4
|
|
- Compound III
|
|
- Balancer v3
|
|
- Curve crvUSD
|
|
- Protocolink
|
|
- MakerDAO
|
|
- 1inch/0x
|
|
- Lido
|
|
- GMX
|
|
|
|
---
|
|
|
|
## Development Workflow (Planned)
|
|
|
|
### Monorepo Tooling
|
|
- **Package Manager**: pnpm workspaces (recommended)
|
|
- **Build Tool**: Turborepo or Nx
|
|
- **Testing**: Foundry (Solidity), Vitest/Jest (TypeScript)
|
|
- **Linting**: ESLint, Solidity linters
|
|
|
|
### Development Commands
|
|
|
|
```bash
|
|
# Install dependencies for all projects
|
|
pnpm install
|
|
|
|
# Build all projects
|
|
pnpm build
|
|
|
|
# Test all projects
|
|
pnpm test
|
|
|
|
# Lint all projects
|
|
pnpm lint
|
|
|
|
# Type check all projects
|
|
pnpm type-check
|
|
```
|
|
|
|
### Project-Specific Commands
|
|
|
|
```bash
|
|
# Work with specific submodule
|
|
cd 27-combi
|
|
pnpm install
|
|
pnpm build
|
|
pnpm test
|
|
|
|
# Or use filter (if using pnpm workspaces)
|
|
pnpm --filter 27-combi build
|
|
```
|
|
|
|
---
|
|
|
|
## Integration Points
|
|
|
|
### Shared DeFi Libraries
|
|
Projects in this monorepo can share:
|
|
- Protocol interaction utilities
|
|
- Type definitions
|
|
- Simulation tools
|
|
- Testing frameworks
|
|
- Common configurations
|
|
|
|
### Cross-Project Usage
|
|
- **237-combo** starter kit can be used as foundation for other projects
|
|
- **strategic** executor can execute strategies from other projects
|
|
- **CurrenciCombo** workflows can integrate with other tools
|
|
- **27-combi** patterns can be reused across projects
|
|
- **no_five** leverage engine can be integrated with other DeFi tools
|
|
- **asle** liquidity infrastructure can provide cross-chain liquidity for other projects
|
|
|
|
---
|
|
|
|
## CI/CD Pipeline (Planned)
|
|
|
|
### Workflow
|
|
1. **Lint & Type Check**: All TypeScript projects
|
|
2. **Solidity Compilation**: Foundry projects
|
|
3. **Unit Tests**: TypeScript and Solidity tests
|
|
4. **Integration Tests**: Cross-project integration
|
|
5. **Build**: Build all packages
|
|
6. **Deploy**: Deploy packages to npm registry (if applicable)
|
|
|
|
---
|
|
|
|
## Documentation
|
|
|
|
Each submodule maintains its own documentation:
|
|
- **[27-combi](../27-combi/)** - Aave looping tool docs
|
|
- **[237-combo](../237-combo/)** - DeFi starter kit docs
|
|
- **[CurrenciCombo](../CurrenciCombo/)** - ISO-20022 combo flow docs
|
|
- **[strategic](../strategic/)** - Atomic executor docs
|
|
- **[no_five](../no_five/)** - DBIS Atomic Amortizing Leverage Engine docs
|
|
- **[asle](../asle/)** - Ali & Saum Liquidity Engine docs
|
|
|
|
Monorepo-level documentation will be added as shared packages are developed.
|
|
|
|
---
|
|
|
|
## Contributing
|
|
|
|
When contributing:
|
|
|
|
1. Follow DeFi development best practices
|
|
2. Use shared packages where applicable
|
|
3. Test across protocols
|
|
4. Update documentation
|
|
5. Ensure security best practices
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
[To be determined - will align across projects]
|
|
|
|
---
|
|
|
|
## Status
|
|
|
|
**Current Status**: ✅ Active
|
|
**Next Steps**:
|
|
- Create shared packages
|
|
- Set up monorepo tooling
|
|
- Extract common code to shared packages
|
|
- Configure unified CI/CD
|
|
|
|
---
|
|
|
|
**Last Updated**: 2025-01-27
|
|
|