Commit Graph

2161 Commits

Author SHA1 Message Date
aitbc
aff0a955c1 Require genesis.json file for deterministic genesis block creation
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Failing after 15s
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Failing after 15s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 5s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 4s
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 2s
Integration Tests / test-service-integration (push) Successful in 43s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Successful in 1s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 4s
Node Failover Simulation / failover-test (push) Failing after 2s
P2P Network Verification / p2p-verification (push) Successful in 2s
Python Tests / test-python (push) Failing after 33s
Cross-Chain Functionality Tests / aggregate-results (push) Successful in 3s
2026-05-26 21:01:40 +02:00
aitbc
00497a655a Remove force-enable block production from wrapper script
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Removes AITBC_FORCE_ENABLE_BLOCK_PRODUCTION, ENABLE_BLOCK_PRODUCTION, and enable_block_production environment variable overrides
- Block production is now controlled by env file settings (enable_block_production)
- Allows follower nodes to properly disable block production via configuration
2026-05-26 20:04:04 +02:00
aitbc
c84d81cb2d Fix genesis creation to only run when block production is enabled
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Blockchain Synchronization Verification / sync-verification (push) Has been cancelled
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Has been cancelled
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Has been cancelled
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Has been cancelled
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Has been cancelled
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Has been cancelled
Cross-Chain Functionality Tests / aggregate-results (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Has been cancelled
Multi-Node Blockchain Health Monitoring / health-check (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
P2P Network Verification / p2p-verification (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Move _ensure_genesis_for_chains() inside block production enabled check in main.py
- Prevents follower nodes from creating local genesis blocks
- Removes redundant genesis check from poa.start() since genesis creation is now controlled at startup
- Follower nodes will sync genesis from hub instead of creating their own
2026-05-26 19:53:16 +02:00
aitbc
f06ac1142d Add genesis block existence check to PoA proposer start() method
Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Has been cancelled
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Has been cancelled
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Has been cancelled
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Has been cancelled
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Has been cancelled
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Has been cancelled
Cross-Chain Functionality Tests / aggregate-results (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Has been cancelled
Multi-Node Blockchain Health Monitoring / health-check (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
P2P Network Verification / p2p-verification (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Block production now requires a genesis block to exist before starting
- Prevents automatic local genesis creation and subsequent chain divergence
- Follower nodes without genesis will not produce blocks even if proposer_id is present
2026-05-26 19:38:58 +02:00
aitbc
7f1c8794c3 Add ENABLE_BLOCK_PRODUCTION check to PoA proposer start() method
Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Has been cancelled
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Has been cancelled
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Has been cancelled
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Has been cancelled
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Has been cancelled
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Has been cancelled
Cross-Chain Functionality Tests / aggregate-results (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Has been cancelled
Multi-Node Blockchain Health Monitoring / health-check (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
P2P Network Verification / p2p-verification (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Prevents block production on follower nodes when enable_block_production=false
- Fixes issue where proposer_id in secrets was overriding config setting
- PoA proposer now respects the enable_block_production configuration
2026-05-26 18:38:24 +02:00
aitbc
9ec53892bc Fix load-keystore-secrets.sh to prevent duplicate entries
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Clear env file at start to avoid appending duplicates when script runs multiple times
- Fixes issue where proposer_id was repeated many times in /run/aitbc/secrets/.env
- This was causing unwanted block production on follower nodes
2026-05-26 16:20:16 +02:00
aitbc
fd75eb32bc Fix workflow scripts: create blockchain.env directly instead of copying from non-existent /opt/aitbc/.env
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Update 01_preflight_setup.sh to create blockchain.env with defaults
- Update hermes preflight setup scripts to create blockchain.env with defaults
- Remove dependency on /opt/aitbc/.env which doesn't exist
2026-05-26 15:54:17 +02:00
aitbc
27312dcf2a Standardize config files: use blockchain.env and node.env instead of .env
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
CLI Tests / test-cli (push) Has been cancelled
Documentation Validation / validate-docs (push) Failing after 11s
Documentation Validation / validate-policies-strict (push) Successful in 4s
- Update CLI config to load from /etc/aitbc/blockchain.env
- Update operational-features.md documentation
- Update setup.sh to create/use blockchain.env
- Update utility scripts (setup-credentials, migrate_secrets, generate_unique_node_ids, chain_regen_node, load-keystore-secrets)
- Update workflow scripts (01_preflight_setup, hermes preflight setups)
- Maintain backward compatibility for existing deployments
2026-05-26 15:53:04 +02:00
aitbc
60ea1f91aa fix: use validated top-level fields in submit_transaction
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Blockchain Synchronization Verification / sync-verification (push) Has been cancelled
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Has been cancelled
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Has been cancelled
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Has been cancelled
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Has been cancelled
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Has been cancelled
Cross-Chain Functionality Tests / aggregate-results (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Has been cancelled
Multi-Node Blockchain Health Monitoring / health-check (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
P2P Network Verification / p2p-verification (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
- Use tx_data.sender and tx_data.recipient instead of reading from payload
- Use tx_data.amount instead of tx_data.payload.get('amount')
- Fixes 'transaction.to is required' error when CLI sends fields at top level
- Pydantic model already validates and aliases from/to to sender/recipient
2026-05-26 15:03:13 +02:00
aitbc
755d5bdeaf fix: move transaction fields to top level (not nested in payload)
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
CLI Tests / test-cli (push) Has been cancelled
- RPC expects from, to, amount, fee, nonce, type, signature at top level
- Payload is additional free-form object, not container for all fields
- Fixes validation error: missing field 'from' at body level
- Matches TransactionRequest OpenAPI schema
2026-05-26 14:44:00 +02:00
aitbc
8ad9f6c425 fix: use cryptography library signature directly (no .signature attribute)
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- cryptography library's Ed25519PrivateKey.sign() returns just signature bytes
- Not a SignedMessage object like PyNaCl
- Reverted .signature attribute access
- Fixes AttributeError when signing transactions
2026-05-26 14:35:02 +02:00
aitbc
2e9e7c5798 fix: extract 64-byte signature from SignedMessage using .signature attribute
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- private_key.sign() returns SignedMessage (signature + message)
- Extract only the 64-byte signature using .signature attribute
- Fixes signature length mismatch (was sending 216 hex chars instead of 128)
- RPC expects only the 64-byte signature portion
2026-05-26 14:30:06 +02:00
aitbc
f70b7e691c fix: restructure transaction with nested payload and proper signing
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Move transaction data into nested payload object
- Sign only the payload, not the entire request
- Submit as {"payload": {...}, "signature": "..."}
- Matches RPC server expectation for nested structure
- Ensures Ed25519 signature is properly included
2026-05-26 14:16:13 +02:00
aitbc
fe1525cc05 fix: restructure transaction payload to match RPC server schema
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Move amount and recipient/to to top level instead of nested in payload
- Remove chain_id from top level (not in TransactionRequest schema)
- Match TransactionRequest model in apps/blockchain-node/src/aitbc_chain/rpc/transactions.py
- Fixes 422 validation error: field amount is required
- Fixes int_from_flo error by ensuring amount and fee are integers
2026-05-26 14:01:38 +02:00
aitbc
dd1c3c69a5 fix: strip 0x prefix from private key hex string
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Wallet stores private key with 0x prefix (e.g., 0xf0295e...)
- Strip 0x prefix before converting to bytes with bytes.fromhex()
- Fixes hex parsing error when loading private key from wallet
2026-05-26 13:51:45 +02:00
aitbc
37e30bd309 fix: skip decryption for unencrypted wallets in transactions send
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Check if wallet is encrypted before attempting decryption
- For unencrypted wallets (created with --no-encrypt), use private_key directly
- Checks both 'encrypted' and 'encrypted_private_key' fields for encryption status
- Fixes 'Unsupported cipher' error when using unencrypted wallets
2026-05-26 13:47:25 +02:00
aitbc
c425ff760c fix: use same wallet directory for transactions as wallet create
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Changed DEFAULT_KEYSTORE_DIR from KEYSTORE_DIR to Path.home()/.aitbc/wallets
- This matches the wallet directory used by wallet create command
- Fixes 'Wallet not found' error in transactions send command
- Wallets created at ~/.aitbc/wallets/ are now accessible to transactions commands
2026-05-26 13:41:37 +02:00
aitbc
7128927707 fix: restructure password resolution and improve genesis chain_id detection
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Restructured password resolution in transactions send/batch to check env var before TTY
- Changed from os.environ.get() to 'in os.environ' to detect empty string env vars
- Added unencrypted wallet detection to skip password for --no-encrypt wallets
- Updated genesis info to auto-detect chain_id from blockchain RPC health endpoint
- Added --rpc-url option to genesis info for custom RPC URL
- Improved error messages to show RPC URL used for detection
- Fixes termios.error when AITBC_WALLET_PASSWORD is set to empty string
2026-05-26 13:38:24 +02:00
aitbc
99ef26e464 fix: add TTY handling to transactions commands and improve genesis info
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Added sys.stdin.isatty() check before getpass in transactions send and batch commands
- Added environment variable fallback (AITBC_WALLET_PASSWORD) for non-interactive environments
- Added --data-dir option to genesis info command to allow custom data directory paths
- Improved error messages in genesis info to show chain_id and data directory
- Fixes termios.error in non-interactive environments for transactions
2026-05-26 13:14:03 +02:00
aitbc
d365b84885 fix: add TTY handling for password prompts and config get alias
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Fixed getpass TTY error by checking sys.stdin.isatty() before prompting
- Added environment variable fallback for non-interactive environments (AITBC_WALLET_PASSWORD)
- Added config get command as alias for show command
- Wrapped getpass calls in try/except for better error handling
- Fixes termios.error in non-interactive environments like CI/scripts
2026-05-26 12:36:26 +02:00
aitbc
f67819c7e5 fix: add optional positional wallet name argument to balance and address commands
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Added @click.argument("name", required=False) to balance command
- Added @click.argument("name", required=False) to address command
- Commands now accept wallet name as positional argument or fall back to --wallet-name option
- Fixes UsageError when running "aitbc wallet balance my-agent-wallet"
- Matches scenario documentation syntax expectations
2026-05-26 12:27:20 +02:00
aitbc
7ced360c1f refactor: move cli/core/ to cli/aitbc_cli/core/ for proper package structure
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Moved core/ directory to aitbc_cli/core/ to make it a proper subpackage
- Updated aitbc_cli.py to load from new path
- Simplified aitbc_cli/__init__.py to use normal import instead of spec_from_file_location
- Updated all core imports to use aitbc_cli.core prefix
- Copied utils files (wallet_daemon_client, error_handling, crypto_utils, subprocess) to aitbc_cli/utils/
- Fixed wallet list command to work with new structure
- This fixes ModuleNotFoundError for aitbc_cli.core submodules
2026-05-26 12:17:58 +02:00
aitbc
f8150ae1aa fix: copy cli/models/ directory to cli/aitbc_cli/models/
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Copied all files from cli/models/ to cli/aitbc_cli/models/
- Commands use relative imports like from ..models.chain import ChainType
- Files were in cli/models/ but imports expected them in cli/aitbc_cli/models/
- Fixes ModuleNotFoundError for ChainType and other model imports
2026-05-26 12:08:15 +02:00
aitbc
c009aa3066 fix: copy dual_mode_wallet_adapter.py to aitbc_cli/utils/
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Copied from cli/utils/ to cli/aitbc_cli/utils/
- Wallet command imports from aitbc_cli.utils.dual_mode_wallet_adapter
- File was in cli/utils/ but import expected it in cli/aitbc_cli/utils/
- Fixes ModuleNotFoundError for DualModeWalletAdapter
2026-05-26 11:45:13 +02:00
aitbc
98390554b2 fix: register aitbc_cli.core in sys.modules before loading core/main.py
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Register aitbc_cli.core module pointing to core/ directory before loading
- Register aitbc_cli.core.main in sys.modules before exec_module
- Fixes No module named 'aitbc_cli.core' error when core/main.py imports
- Allows core/main.py to import from aitbc_cli.commands.* correctly
2026-05-26 11:39:18 +02:00
aitbc
cff0dc1393 fix: add sys.path setup in core/main.py for aitbc_cli imports
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Added sys.path.insert(0, str(CLI_DIR)) where CLI_DIR is /opt/aitbc/cli
- Ensures aitbc_cli package is importable from core/main.py
- Fixes No module named 'aitbc_cli.core' error
- core/ and aitbc_cli/ are siblings, so core/main.py needs explicit path setup
2026-05-26 11:36:11 +02:00
aitbc
020f7435c8 fix: prevent sys.modules corruption in aitbc_cli/__init__.py
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Disabled compatibility aliases for core and models (sibling directories, not subpackages)
- Changed __getattr__ to use spec_from_file_location instead of import_module
- Prevents sys.modules corruption that broke aitbc_cli.utils imports
- Fixes wallet command ModuleNotFoundError for dual_mode_wallet_adapter
2026-05-26 11:32:57 +02:00
aitbc
7fdc3e2619 fix: register CLI module in sys.modules for proper package resolution
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Added sys.modules["aitbc_cli.core.main"] registration before exec_module
- Fixes ModuleNotFoundError for aitbc_cli.utils.dual_mode_wallet_adapter
- Ensures subpackage imports resolve correctly when loaded via spec_from_file_location
- Allows wallet commands to import from aitbc_cli.utils properly
2026-05-26 11:26:18 +02:00
aitbc
c96309e76f fix: correct config import name in main.py
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Changed from config_cmd to config as config_cmd
- The function in config.py is named config, not config_cmd
- All other import names matched their actual function names
2026-05-26 11:21:19 +02:00
aitbc
86058671eb fix: remove non-existent Config import from config command
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Removed Config from import in config.py command file
- Config class doesn't exist in aitbc_cli.config (only CLIConfig exists)
- Config was unused in the command file anyway
- Fixes ImportError that cascaded to fail all commands
2026-05-26 11:17:09 +02:00
aitbc
a1321d85ac fix: re-enable exchange and config commands (no ..core imports)
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Re-enabled exchange and config commands as they don't import from ..core
- exchange imports from ..config and ..utils (both exist)
- config imports from ..config and ..utils (both exist)
- Commands with ..core imports remain disabled until aitbc_cli.core subpackage is created
2026-05-26 11:12:56 +02:00
aitbc
b42a4d9b5f fix: disable all commands with invalid ..core.* imports
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Disabled analytics, crosschain, deployment, monitor, node, agent_comm, exchange, config commands
- These commands import from aitbc_cli.core.* which doesn't exist (core/ is at cli/core/, not cli/aitbc_cli/core/)
- Kept working commands: system, marketplace, chain, agent_sdk, gpu_marketplace, exchange_island, wallet, genesis, transactions, mining, hermes, workflow, resource, operations, simulate, edge
- Prevents ModuleNotFoundError when loading CLI
2026-05-26 11:11:47 +02:00
aitbc
598bc350f3 fix: disable deployment command due to missing core.deployment module
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Commented out deployment command import and registration
- deployment.py imports from aitbc_cli.core.deployment which doesn't exist
- Other commands using ..core.* imports are valid (config, chain_manager, analytics, etc.)
- Prevents ModuleNotFoundError when loading CLI
2026-05-26 11:10:56 +02:00
aitbc
16162897d5 feat: add missing CLI command groups and fix genesis chain_id detection
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Added missing command groups: analytics, crosschain, deployment, monitor, node, agent, exchange, config
- Fixed genesis commands to auto-detect chain_id from config instead of hardcoding ait-mainnet
- Addresses scenario requirements for staking, governance, agent, marketplace commands
- Fixes genesis config path mismatch for nodes configured for different chains
2026-05-26 11:06:31 +02:00
aitbc
d281eff8ef fix: use full package path for utils import in wallet commands
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Changed from utils.dual_mode_wallet_adapter to aitbc_cli.utils.dual_mode_wallet_adapter
- Removes need for sys.path manipulation
- Works correctly with spec_from_file_location loading
- Fixes ModuleNotFoundError when core/main.py loads wallet commands
2026-05-26 11:00:16 +02:00
aitbc
a70b901072 fix: correct utils module import path in wallet commands
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Fixed path to include /cli directory for utils.dual_mode_wallet_adapter import
- Changed from parent.parent.parent to parent.parent.parent.parent / "cli"
- Ensures utils module can be found when running wallet commands
- Fixes ModuleNotFoundError for utils.dual_mode_wallet_adapter
2026-05-26 10:58:37 +02:00
aitbc
4c468291bb fix: use Python wrapper directly instead of python -m for CLI
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Changed scripts/aitbc-cli to use python /opt/aitbc/cli/aitbc_cli.py directly
- Avoids module resolution issues with python -m
- Python wrapper handles correct module loading internally
2026-05-26 10:54:52 +02:00
aitbc
876f7f37fc fix: correct CLI module path from cli.core.main to aitbc_cli.core.main
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Fixed scripts/aitbc-cli to use correct module name aitbc_cli.core.main
- Prevents module resolution to hermes-agent or other cli packages
- Ensures AITBC CLI loads from correct aitbc_cli package
2026-05-26 10:54:07 +02:00
aitbc
db19c80026 fix: prevent hermes-agent cli module conflict in aitbc-cli
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
CLI Tests / test-cli (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Remove /usr/local/lib/hermes-agent from sys.path in aitbc-cli wrapper
- Prevents python -m cli.core.main from resolving to hermes-agent's cli module
- Ensures AITBC CLI loads from correct module path
- Fixes hermes agent stumble when CLI picks up wrong module
2026-05-26 10:53:32 +02:00
aitbc
ec8fbdc744 feat: add aitbc CLI to system PATH during setup
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Added symlink from /opt/aitbc/aitbc-cli to /usr/local/bin/aitbc-cli
- CLI now available system-wide without requiring /opt/aitbc in PATH
- Fixes hermes agent stumble when aitbc CLI not found
- Added error handling if symlink creation fails
- Provides manual PATH addition instructions as fallback
2026-05-26 10:51:43 +02:00
aitbc
670b700d30 docs: add AITBC Software Capabilities (Scenarios) section to SETUP.md
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Documentation Validation / validate-docs (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Has been cancelled
- Added new section linking to docs/scenarios/ for hermes agents
- Links to Scenarios README, Validation Guide, and Troubleshooting Guide
- Categorizes 47 scenarios into core capabilities:
  - Blockchain Operations (01-05)
  - Trading & Marketplace (06-10)
  - Database & Infrastructure (11-13)
  - Staking & Governance (14-18)
  - Security & Cross-Chain (19-20)
  - Advanced Agents (21-40)
  - Advanced Features (41-47)
- Helps hermes agents understand what AITBC software is built for
- Provides practical examples of AITBC capabilities
2026-05-26 10:48:21 +02:00
aitbc
652fe5e9fb feat: add secure PostgreSQL user password generation and loading
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Generate secure random passwords for all PostgreSQL database users
- Store passwords in /etc/aitbc/credentials/postgres_*_password files
- Update load-keystore-secrets.sh to load PostgreSQL passwords into runtime .env
- Set passwords for both new and existing users with ALTER USER
- Fixes PostgreSQL authentication failures in services
- Ensures secure password management for database access
2026-05-26 10:34:16 +02:00
aitbc
ad04f2b785 feat: add PostgreSQL client library support for psycopg2
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Added libpq-dev to apt-get prerequisites for psycopg2 compilation
- Added postgresql-devel to yum prerequisites for psycopg2 compilation
- Added fallback installation of psycopg2-binary when Poetry fails
- Added fallback installation of critical packages (fastapi, uvicorn, sqlmodel)
- Prevents service crashes due to missing psycopg2 module
- Ensures PostgreSQL database connectivity for services
2026-05-26 10:32:43 +02:00
aitbc
17ac576dbd fix: update legacy Coordinator API port from 8000 to 8011
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Updated setup.sh service information to use port 8011
- Port 8000 is deprecated for Coordinator API
- Aligns with current port mapping documentation
2026-05-26 10:31:20 +02:00
aitbc
1ad702694f feat: add robust error handling and fallbacks for credentials generation
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Added error handling for python3 secrets module failures
- Added OpenSSL fallback for credential generation
- Added timestamp-based fallback if both python3 and openssl fail
- Added fallback for proposer_id generation if not in .env
- Improved logging for each credential generation step
- Prevents setup failures when python3 secrets module unavailable
- Ensures credentials are always generated with fallback methods
2026-05-26 10:30:07 +02:00
aitbc
2a0bca6d98 feat: add runtime secrets generation to setup_credentials
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Added call to load-keystore-secrets.sh in setup_credentials function
- Generates /run/aitbc/secrets/.env during setup
- Required by blockchain-node and blockchain-rpc systemd services
- Added error handling if secrets generation fails
- Prevents service startup failures due to missing runtime secrets
- Fixes hermes setup stumble where services failed to start
2026-05-26 10:28:26 +02:00
aitbc
6006550938 feat: add Redis to prerequisites in setup.sh
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Added redis-server and redis-cli to prerequisite command checks
- Added installation cases for Redis (redis-server, redis-tools) for apt-get
- Added Redis to yum installation batch
- Redis is required for gossip configuration
- Ensures Redis is available for P2P network setup
2026-05-26 10:24:31 +02:00
aitbc
4f25d07beb feat: add comprehensive error handling for venv and poetry steps
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Add error handling for venv activation (both new and existing)
- Add error handling for pip upgrade (continues if fails)
- Add error handling for Poetry installation
- Add error handling for poetry install command
- Provide manual recovery instructions for each failure point
- Prevents script from failing completely on venv/poetry issues
- Improves hermes agent setup reliability
2026-05-26 10:11:06 +02:00
aitbc
f88128512d feat: improve setup script robustness
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Add automatic PostgreSQL service start if not running
- Add graceful handling of existing configs when venv creation fails
- Check for existing configs in /etc/aitbc before failing on venv error
- Provide manual recovery instructions when venv creation fails
- Change pyproject.toml error to warning to allow setup to continue
- Improves hermes agent setup experience by handling partial failures
2026-05-26 10:07:21 +02:00
aitbc
54e854b8cb feat: add PostgreSQL and python3-venv to prerequisites
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
- Added postgresql and psql to command checks
- Added python3-venv package check (tests venv module availability)
- Added installation cases for PostgreSQL (postgresql, postgresql-contrib, postgresql-client)
- Added installation case for python3-venv
- Updated apt-get and yum package managers to include these dependencies
- Fixes fatal venv setup error when python3-venv is missing
- Ensures PostgreSQL is available for database setup
2026-05-26 10:02:51 +02:00