🏛️ 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
187 lines
4.8 KiB
TOML
187 lines
4.8 KiB
TOML
[tool.pytest.ini_options]
|
|
# Test discovery
|
|
python_files = ["test_*.py", "*_test.py"]
|
|
python_classes = ["Test*"]
|
|
python_functions = ["test_*"]
|
|
|
|
# Cache directory - prevent root level cache
|
|
cache_dir = "dev/cache/.pytest_cache"
|
|
|
|
# Test paths to run - include all test directories across the project
|
|
testpaths = [
|
|
"tests",
|
|
"apps/agent-protocols/tests",
|
|
"apps/ai-engine/tests",
|
|
"apps/analytics-platform/tests",
|
|
"apps/blockchain-node/tests",
|
|
"apps/coordinator-api/tests",
|
|
"apps/pool-hub/tests",
|
|
"apps/predictive-intelligence/tests",
|
|
"apps/wallet/tests",
|
|
"apps/explorer-web/tests",
|
|
"apps/wallet-daemon/tests",
|
|
"apps/zk-circuits/test",
|
|
"cli/tests",
|
|
"contracts/test",
|
|
"packages/py/aitbc-crypto/tests",
|
|
"packages/py/aitbc-sdk/tests",
|
|
"packages/solidity/aitbc-token/test",
|
|
"scripts/test"
|
|
]
|
|
|
|
# Python path for imports
|
|
pythonpath = [
|
|
".",
|
|
"packages/py/aitbc-crypto/src",
|
|
"packages/py/aitbc-crypto/tests",
|
|
"packages/py/aitbc-sdk/src",
|
|
"packages/py/aitbc-sdk/tests",
|
|
"apps/coordinator-api/src",
|
|
"apps/coordinator-api/tests",
|
|
"apps/wallet-daemon/src",
|
|
"apps/wallet-daemon/tests",
|
|
"apps/blockchain-node/src",
|
|
"apps/blockchain-node/tests",
|
|
"apps/pool-hub/src",
|
|
"apps/pool-hub/tests",
|
|
"apps/explorer-web/src",
|
|
"apps/explorer-web/tests",
|
|
"cli",
|
|
"cli/tests"
|
|
]
|
|
|
|
# Additional options for local testing
|
|
addopts = [
|
|
"--verbose",
|
|
"--tb=short",
|
|
"--strict-markers",
|
|
"--disable-warnings",
|
|
"-ra"
|
|
]
|
|
|
|
# Custom markers
|
|
markers = [
|
|
"unit: Unit tests (fast, isolated)",
|
|
"integration: Integration tests (may require external services)",
|
|
"slow: Slow running tests",
|
|
"cli: CLI command tests",
|
|
"api: API endpoint tests",
|
|
"blockchain: Blockchain-related tests",
|
|
"crypto: Cryptography tests",
|
|
"contracts: Smart contract tests",
|
|
"e2e: End-to-end tests (full system)",
|
|
"performance: Performance tests (measure speed/memory)",
|
|
"security: Security tests (vulnerability scanning)",
|
|
"gpu: Tests requiring GPU resources",
|
|
"confidential: Tests for confidential transactions",
|
|
"multitenant: Multi-tenancy specific tests"
|
|
]
|
|
|
|
# Environment variables for tests
|
|
env = [
|
|
"AUDIT_LOG_DIR=/tmp/aitbc-audit",
|
|
"DATABASE_URL=sqlite:///./test_coordinator.db",
|
|
"TEST_MODE=true",
|
|
"SQLITE_DATABASE=sqlite:///./test_coordinator.db"
|
|
]
|
|
|
|
# Warnings
|
|
filterwarnings = [
|
|
"ignore::UserWarning",
|
|
"ignore::DeprecationWarning",
|
|
"ignore::PendingDeprecationWarning",
|
|
"ignore::pytest.PytestUnknownMarkWarning",
|
|
"ignore::pydantic.PydanticDeprecatedSince20",
|
|
"ignore::sqlalchemy.exc.SADeprecationWarning"
|
|
]
|
|
|
|
# Asyncio configuration
|
|
asyncio_default_fixture_loop_scope = "function"
|
|
|
|
# Import mode
|
|
import_mode = "append"
|
|
|
|
[project]
|
|
name = "aitbc-cli"
|
|
version = "0.2.0"
|
|
description = "AITBC Command Line Interface Tools"
|
|
authors = [
|
|
{name = "AITBC Team", email = "team@aitbc.net"}
|
|
]
|
|
readme = "cli/README.md"
|
|
license = "MIT"
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
"click==8.3.1",
|
|
"httpx==0.28.1",
|
|
"pydantic==2.12.5",
|
|
"pyyaml==6.0.3",
|
|
"rich==13.7.0",
|
|
"keyring==25.7.0",
|
|
"cryptography==46.0.5",
|
|
"click-completion==0.5.2",
|
|
"tabulate==0.10.0",
|
|
"colorama==0.4.6",
|
|
"python-dotenv==1.0.0",
|
|
"asyncpg==0.31.0",
|
|
# Dependencies for service module imports (coordinator-api services)
|
|
"numpy>=1.26.0",
|
|
"pandas>=2.0.0",
|
|
"aiohttp>=3.9.0",
|
|
"fastapi>=0.111.0",
|
|
"uvicorn[standard]>=0.30.0"
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Operating System :: OS Independent",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"Topic :: System :: Distributed Computing",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest==9.0.2",
|
|
"pytest-asyncio==0.21.1",
|
|
"pytest-cov==7.0.0",
|
|
"pytest-mock==3.15.1",
|
|
"black==26.3.1",
|
|
"isort==8.0.1",
|
|
"ruff==0.15.5",
|
|
"mypy==1.8.0",
|
|
"bandit==1.9.4",
|
|
"types-requests==2.32.4.20260107",
|
|
"types-setuptools==69.0.0",
|
|
"types-PyYAML==6.0.12",
|
|
"sqlalchemy[mypy]==2.0.25"
|
|
]
|
|
|
|
[project.scripts]
|
|
aitbc = "aitbc_cli.main:cli"
|
|
|
|
[project.urls]
|
|
Homepage = "https://aitbc.net"
|
|
Repository = "https://github.com/aitbc/aitbc"
|
|
Documentation = "https://docs.aitbc.net"
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=61.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["cli", "apps/coordinator-api"]
|
|
include = ["aitbc_cli*", "aitbc*"]
|
|
|
|
[tool.setuptools.package-dir]
|
|
"aitbc_cli" = "cli/aitbc_cli"
|
|
"aitbc" = "apps/coordinator-api/aitbc"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"mypy (>=1.19.1,<2.0.0)"
|
|
]
|