- Add nosec B104 comments to 4 uvicorn.run() and 1 api_host binding using 0.0.0.0 (api-gateway, coordinator-api, exchange, wallet)
- Replace datetime.UTC with datetime.timezone.utc in 10 locations across agent SDK (agent.py, compute_provider.py, swarm_coordinator.py)
- Add Union and Callable to contract_integration.py imports
- Fixed zk_cache.py: replaced bare except with OSError, FileNotFoundError
- Fixed simple_daemon.py: replaced bare except with specific httpx exceptions
- Fixed migrate_to_postgresql.py: replaced bare except with JSONDecodeError
This continues Phase 3.1: Fix bare except patterns
- Migrate simple_daemon.py from mock data to real keystore and blockchain RPC integration
- Add httpx for async HTTP client in wallet daemon
- Implement real wallet listing from keystore directory
- Implement blockchain balance queries via RPC
- Update CLI to use aitbc.AITBCHTTPClient instead of requests
- Add aitbc imports: constants, http_client, exceptions, logging, paths, validation
- Add address and amount validation in
- Add GET /state endpoint to blockchain RPC router for chain state information
- Add GET /rpc/getBalance/{address} endpoint for account balance queries
- Add GET /rpc/head endpoint to retrieve current chain head block
- Add GET /rpc/transactions endpoint for latest transaction listing
- Add chain-specific wallet balance endpoint to wallet daemon
- Add blockchain state CLI command with --all-chains flag for multi-chain queries
- Change file mode from 644 to 755 for all project files
- Add chain_id parameter to get_balance RPC endpoint with default "ait-devnet"
- Rename Miner.extra_meta_data to extra_metadata for consistency