feat: implement complete OpenClaw DAO governance system

🏛️ OpenClawDAO Smart Contract Implementation:

Core Governance Contract:
- Enhanced OpenClawDAO with snapshot security and anti-flash-loan protection
- Token-weighted voting with 24-hour TWAS calculation
- Multi-sig protection for critical proposals (emergency/protocol upgrades)
- Agent swarm role integration (Provider/Consumer/Builder/Coordinator)
- Proposal types: Parameter Change, Protocol Upgrade, Treasury, Emergency, Agent Trading, DAO Grants
- Maximum voting power limits (5% per address) and vesting periods

Security Features:
- Snapshot-based voting power capture prevents flash-loan manipulation
- Proposal bonds and challenge mechanisms for proposal validation
- Multi-signature requirements for critical governance actions
- Reputation-based voting weight enhancement for agents
- Emergency pause and recovery mechanisms

Agent Wallet Contract:
- Autonomous agent voting with configurable strategies
- Role-specific voting preferences based on agent type
- Reputation-based voting power bonuses
- Authorized caller management for agent control
- Emergency stop and reactivate functionality
- Autonomous vote execution based on predefined strategies

GPU Staking Contract:
- GPU resource staking with AITBC token collateral
- Reputation-based reward rate calculations
- Utilization-based reward scaling
- Lock period enforcement with flexible durations
- Provider reputation tracking and updates
- Multi-pool support with different reward rates

Deployment & Testing:
- Complete deployment script with system configuration
- Comprehensive test suite covering all major functionality
- Multi-sig setup and initial agent registration
- Snapshot creation and staking pool initialization
- Test report generation with detailed results

🔐 Security Implementation:
- Anti-flash-loan protection through snapshot voting
- Multi-layer security (proposal bonds, challenges, multi-sig)
- Reputation-based access control and voting enhancement
- Emergency mechanisms for system recovery
- Comprehensive input validation and access controls

📊 Governance Features:
- 6 proposal types covering all governance scenarios
- 4 agent swarm roles with specialized voting preferences
- Token-weighted voting with reputation bonuses
- 7-day voting period with 1-day delay
- 4% quorum requirement and 1000 AITBC proposal threshold

🚀 Ready for deployment and integration with AITBC ecosystem
This commit is contained in:
AITBC System
2026-03-18 20:32:44 +01:00
parent e2ebd0f773
commit 1ee2238cc8
19 changed files with 2836 additions and 146 deletions

View File

@@ -1233,11 +1233,18 @@ def unstake(ctx, amount: float):
}
)
# Save wallet with encryption
password = None
# CRITICAL SECURITY FIX: Save wallet properly to avoid double-encryption
if wallet_data.get("encrypted"):
# For encrypted wallets, we need to re-encrypt the private key before saving
password = _get_wallet_password(wallet_name)
_save_wallet(wallet_path, wallet_data, password)
# Only encrypt the private key, not the entire wallet data
if "private_key" in wallet_data:
wallet_data["private_key"] = encrypt_value(wallet_data["private_key"], password)
# Save without passing password to avoid double-encryption
_save_wallet(wallet_path, wallet_data, None)
else:
# For unencrypted wallets, save normally
_save_wallet(wallet_path, wallet_data, None)
success(f"Unstaked {amount} AITBC")
output(