Files
aitbc/apps/trading-service
aitbc 573aae065b
Some checks failed
API Endpoint Tests / test-api-endpoints (push) Successful in 56s
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
CLI Tests / test-cli (push) Failing after 5s
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Failing after 19s
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Failing after 18s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 3s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 4s
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 5s
Deploy to Testnet / deploy-testnet (push) Failing after 21s
Documentation Validation / validate-docs (push) Failing after 13s
Documentation Validation / validate-policies-strict (push) Successful in 4s
Integration Tests / test-service-integration (push) Failing after 2s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Successful in 4s
Multi-Node Blockchain Health Monitoring / health-check (push) Failing after 14s
Node Failover Simulation / failover-test (push) Successful in 9s
P2P Network Verification / p2p-verification (push) Successful in 5s
Package Tests / Python package - aitbc-agent-sdk (push) Successful in 51s
Package Tests / Python package - aitbc-core (push) Failing after 3s
Package Tests / Python package - aitbc-crypto (push) Successful in 22s
Package Tests / Python package - aitbc-sdk (push) Successful in 16s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 21s
Package Tests / JavaScript package - aitbc-token (push) Failing after 18s
Production Tests / Production Integration Tests (push) Failing after 1m9s
Python Tests / test-python (push) Failing after 3s
Security Scanning / security-scan (push) Failing after 41s
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Failing after 6s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Failing after 7s
Smart Contract Tests / test-foundry (push) Failing after 20s
Smart Contract Tests / lint-solidity (push) Failing after 4s
Smart Contract Tests / deploy-contracts (push) Failing after 5s
Cross-Chain Functionality Tests / aggregate-results (push) Successful in 2s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Cross-Node Transaction Testing / transaction-test (push) Successful in 3s
feat: complete codebase remediation with all phases
Phase 1: Security fixes
- Added CORSMiddleware to marketplace-service with specific origins
- Fixed blockchain-node auth to fail closed on JWT errors
- Added security regression tests (test_cors_configuration.py, test_dispute_auth.py)

Phase 2: Repository cleanup
- Removed 51 fix/backup/legacy files
- Deleted marketplace-service-debug directory

Phase 3.1: Python version constraints
- Updated aitbc-crypto and aitbc-sdk with requires-python >=3.13
- Added explicit [tool.poetry].packages declarations

Phase 3.2: Agent service DI architecture
- Created aitbc-agent-core package with protocols and shared service
- Implemented adapters for agent-management and coordinator-api
- Created factory functions for gradual migration
- Added migration comments to existing integration files

Phase 4.1: Auth/utils extraction
- Created auth.py module with JWT validation and security utilities
- Created utils.py module with common helpers

Phase 4.2: Router decomposition
- Decomposed router.py into 10 domain modules (58 endpoints)
- Created route table snapshot for verification
- Preserved router_old.py as reference

Phase 5: App shell classification
- Documented app shell patterns across services

Phase 6: Quality gates
- Verified mypy type checking (75% error reduction)
- Analyzed logging inconsistencies with structlog migration plan
- Removed unused orjson dependency

Documentation:
- Created comprehensive remediation report
- Added architecture documentation for DI pattern
- Added quality analysis documents
2026-05-24 20:21:23 +02:00
..

AITBC Trading Service

Manages trading operations.

Installation

cd /opt/aitbc
poetry install --with trading-service

Database Setup

Create a separate database for the trading service:

sudo -u postgres psql -f apps/trading-service/scripts/setup-database.sql

Or manually:

CREATE DATABASE aitbc_trading;
CREATE USER aitbc_trading WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE aitbc_trading TO aitbc_trading;

Running

# Development
python -m trading_service.main

# Production (systemd)
sudo systemctl start trading-service
sudo systemctl enable trading-service

Endpoints

  • GET /health - Health check
  • GET /trading/status - Get trading status
  • GET /v1/trading/requests - Get trade requests
  • GET /v1/trading/requests/{request_id} - Get specific request
  • POST /v1/trading/requests - Create new request
  • GET /v1/trading/matches - Get trade matches
  • POST /v1/trading/matches - Create new match
  • GET /v1/trading/agreements - Get trade agreements
  • POST /v1/trading/agreements - Create new agreement
  • GET /v1/trading/analytics - Get trading analytics

Testing

Prerequisites

  • PostgreSQL running and aitbc_trading database created
  • Poetry dependencies installed

Database Setup

sudo -u postgres psql -f scripts/setup-database.sql

Start Service (Development)

python -m trading_service.main

Health Check

curl http://localhost:8104/health

Expected response:

{"status": "healthy", "service": "trading-service"}

Trading Status

curl http://localhost:8104/trading/status

Expected response:

{
  "status": "operational",
  "service": "trading-service",
  "message": "Trading service is running"
}

Get Trade Requests

curl http://localhost:8104/v1/trading/requests

Expected response:

[]

Create Trade Request

curl -X POST http://localhost:8104/v1/trading/requests \
  -H "Content-Type: application/json" \
  -d '{
    "buyer_agent_id": "test_buyer",
    "trade_type": "compute_resources",
    "title": "Test Trade Request",
    "description": "Test description"
  }'

Test Through Gateway

  1. Start the API gateway:

    python -m api_gateway.main
    
  2. Test trading endpoints through the gateway:

    curl http://localhost:8080/trading/health
    curl http://localhost:8080/trading/v1/trading/requests
    

For comprehensive testing procedures, see MICROSERVICES_TESTING_GUIDE.md.

Service Configuration

  • Port: 8104
  • Database: aitbc_trading
  • Gateway route: /trading/*

Migration Status

Completed:

  • Extracted trading domain models (TradeRequest, TradeMatch, TradeNegotiation, TradeAgreement, TradeSettlement, TradeFeedback, TradingAnalytics)
  • Extracted trading services (TradingService with CRUD operations)
  • Set up database session management
  • Extracted trading router endpoints
  • Created systemd service configuration
  • Created database setup script

Remaining:

  • Remove trading routers from coordinator-api
  • Remove trading services from coordinator-api
  • Remove trading domain models from coordinator-api
  • Run database migration script to create aitbc_trading database
  • Install and enable systemd service
  • End-to-end testing with gateway

Note: The trading service is ~60K lines, so full removal from coordinator-api requires careful coordination to avoid breaking existing functionality. The foundation is in place for gradual migration.