Added logic to use tx_data.value when present instead of payload.amount for transaction amount field. Updated comment to clarify payload.amount is a fallback value.
Changed transaction failure logging from error to warning level in PoA proposer.
Removed immediate session.commit() after state transition as balance changes are now persisted via explicit SQL UPDATE statements.
Added "value" field mapping from "amount" in transaction normalization and PoA proposer to ensure state transition compatibility.
Replaced SQLAlchemy ORM balance updates with explicit SQL UPDATE statements using
Changed transaction failure logging from warning to error level in PoA proposer.
Added immediate session.commit() after successful state transition to persist balance changes.
Removed fallback to sender address for 'to' field in submit_transaction as it should be required.
Replaced SQLAlchemy ORM with direct sqlite3 queries in unified_genesis.py initialize_genesis_database function to simplify database operations and remove dependency on SQLModel Session.
Added genesis command group to CLI with init, verify, and info subcommands for genesis block and wallet management. Implemented handlers for genesis operations including initialization, verification, and information display
Deleted aitbc/queue.py containing TaskQueue, JobScheduler, BackgroundTaskManager, and WorkerPool classes that were not being used in the codebase.
Refactored chain_id handling in CLI to use centralized get_chain_id utility function instead of duplicating chain_id detection logic in send_transaction, get_balance, and agent_operations functions.
The wrapper was using src.app.main:app which expects 'src' to be a top-level
module, but with PYTHONPATH set to apps/agent-coordinator/src, the correct
import target is app.main:app.
The wrapper was inserting /opt/aitbc/aitbc to sys.path, which is incorrect.
The aitbc package is at /opt/aitbc/aitbc/__init__.py, so the path should be
/opt/aitbc, not /opt/aitbc/aitbc.
The blockchain-explorer was failing with NameError because it used Dict and Any
but only imported Optional and List from typing. Added Dict and Any to the import.
Python requires from __future__ imports to be at the beginning of the file.
The import was at line 10, causing SyntaxError during coordinator-api startup.
Pydantic v2 requires all class attributes to be annotated. genesis_candidates
is a class-level constant, not a field, so it should be annotated as ClassVar.
The wrapper scripts were setting PYTHONPATH to only the app's src directory,
causing ModuleNotFoundError when trying to import from the aitbc package.
Added REPO_DIR to PYTHONPATH to ensure aitbc module can be imported.
The wrapper scripts were setting PYTHONPATH to only the app's src directory,
causing 'ModuleNotFoundError: No module named aitbc' when services tried
to import from the aitbc package. Added REPO_DIR to PYTHONPATH in
coordinator-api, agent-coordinator, and explorer wrappers to allow aitbc imports.
The aitbc/queue.py module was shadowing Python's standard library queue module,
causing urllib3 to fail with AttributeError when trying to import queue.LifoQueue.
Renamed to queue_manager.py to resolve the naming conflict.
- Add DataLayer, MockDataGenerator, RealDataFetcher, and get_data_layer to aitbc package exports
- Migrate blockchain-explorer/main.py to use aitbc.get_data_layer for mock/real data toggle
- Add data layer integration to search_transactions, search_blocks, and analytics_overview endpoints
- Migrate CLI blockchain commands to use chain registry instead of hardcoded chain list
- Replace hardcoded ['ait-devnet', 'ait-testnet'] with get
Phase 1: Agent SDK Marketplace Integration
- Implement _submit_to_marketplace() with HTTP client to coordinator API
- Implement _update_marketplace_offer() with HTTP client
- Implement assess_capabilities() with GPU detection using nvidia-smi
- Add coordinator_url parameter and AITBCHTTPClient integration
Phase 2: Agent SDK Network Registration
- Implement register_with_network() with HTTP client to coordinator API
- Implement get_reputation() with HTTP client to fetch from API
- Implement get_earnings() with HTTP client to fetch from API
- Implement signature verification in send_message() and receive_message()
- Add coordinator_url parameter and AITBCHTTPClient integration
Phase 3: Coordinator API Enterprise Integration
- Implement generic ERPIntegration base class methods with mock implementations
- Implement generic CRMIntegration base class methods with mock implementations
- Add BillingIntegration base class with generic mock implementations
- Add ComplianceIntegration base class with generic mock implementations
- No third-party integration as requested
Phase 4: Coordinator API Key Management
- Add MockHSMStorage class with in-memory key storage
- Add HSMProviderInterface with mock HSM connection methods
- FileKeyStorage already had all abstract methods implemented
Phase 5: Blockchain Node Multi-Chain Operations
- Implement start_chain() with Ethereum-specific chain startup
- Implement stop_chain() with Ethereum-specific chain shutdown
- Implement sync_chain() with Ethereum consensus (longest-chain rule)
- Add database, RPC server, P2P service, and consensus initialization
Phase 6: Settlement Bridge
- Implement EthereumBridge class extending BridgeAdapter
- Implement _encode_payload() with Ethereum transaction encoding
- Implement _get_gas_estimate() with Web3 client integration
- Add Web3 client initialization and gas estimation with safety buffer
- Migrate agent-coordinator/scripts/agent_daemon.py hardcoded paths to use KEYSTORE_DIR and DATA_DIR
- Migrate wallet/simple_daemon.py hardcoded path to use KEYSTORE_DIR
- Migrate scripts/blockchain_simple.py from logging to aitbc.get_logger
- Migrate hardcoded paths in blockchain_simple.py to use DATA_DIR, CONFIG_DIR, LOG_DIR
- Migrate scripts/blockchain_http_launcher.py from logging to aitbc.get_logger
- Remove logging.basicConfig() calls
- Migrate monitor/monitor.py from logging to aitbc.get_logger and hardcoded paths to DATA_DIR
- Migrate multi-region-load-balancer/main.py from logging to aitbc.get_logger
- Migrate global-infrastructure/main.py from logging to aitbc.get_logger
- Migrate global-ai-agents/main.py from logging to aitbc.get_logger
- Migrate exchange-integration/main.py from logging to aitbc.get_logger
- Migrate trading-engine/main.py from logging to aitbc.get_logger
- Migrate compliance-service/main.py from logging to aitbc.get_logger
- Remove logging.basicConfig() calls from all files
- Migrate plugin-security/main.py from logging to aitbc.get_logger
- Migrate plugin-registry/main.py from logging to aitbc.get_logger
- Migrate plugin-analytics/main.py from logging to aitbc.get_logger
- Migrate plugin-marketplace/main.py from logging to aitbc.get_logger
- Remove logging.basicConfig() calls from all files
- Consolidate aitbc imports in production_miner.py and production_miner_fixed.py
- Migrate hardcoded path in production_miner_fixed.py to use LOG_DIR constant
- Migrate services/sla_collector.py from logging to aitbc.get_logger
- Migrate app/routers/sla.py from logging to aitbc.get_logger
- Consolidate aitbc imports in services/billing_integration.py
- Migrate 3 files from logging to aitbc.get_logger
- scripts/real_marketplace_launcher.py, scripts/marketplace.py, scripts/gpu_marketplace_launcher.py
- Remove logging.basicConfig() from all files
- Migrate 2 files from logging to aitbc.get_logger
- health_monitor.py, real_exchange_integration.py
- Remove logging.basicConfig() from both files
- Migrate 3 files with hardcoded paths to use DATA_DIR constant
- simple_exchange_api.py, scripts/seed_market.py, database.py
- Migrate 10 files from logging to aitbc.get_logger
- combined_main.py, p2p_network.py, chain_sync.py
- network/bridge_manager.py, network/island_manager.py, network/nat_traversal.py
- network/multi_chain_manager.py, network/hub_manager.py, network/hub_discovery.py
- Remove logging.basicConfig() from combined_main.py
- Migrate hardcoded paths in config.py and hub_manager.py to use DATA_DIR and KEYSTORE_DIR constants
- Migrate 69 service files from logging to aitbc.get_logger
- Migrate explorer.py HTTP client from httpx.Client to AITBCHTTPClient
- Migrate config.py hardcoded paths to use DATA_DIR and LOG_DIR constants from aitbc.constants
- Remove duplicate LOG_DIR import in config.py
- All routers already using aitbc utilities
- Replace httpx.Client with aitbc.AITBCHTTPClient in client.py get_blocks endpoint
- Migrate monitoring_dashboard.py from httpx.AsyncClient to AITBCHTTPClient
- Replace httpx with AITBCHTTPClient in blockchain.py get_balance function
- Add NetworkError exception handling across all migrated endpoints
- Remove async context managers in favor of direct AITBCHTTPClient usage
- Remove httpx imports
- Replace httpx.Client with aitbc.AITBCHTTPClient in buy command
- Remove async context manager in favor of direct AITBCHTTPClient usage
- Replace status code checks with NetworkError exception handling
- Remove httpx import (no longer needed)
- Simplify error handling with separate NetworkError and generic Exception catches