feat: add blockchain state and balance endpoints with multi-chain support

- 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
This commit is contained in:
oib
2026-03-07 20:00:21 +01:00
parent d92d7a087f
commit 36be9c814e
10 changed files with 469 additions and 110 deletions

View File

@@ -66,13 +66,24 @@ async def create_chain():
# For now, just return the current chains
return JSONResponse(chains_data)
@app.get("/v1/chains/{chain_id}/wallets")
async def list_chain_wallets(chain_id: str):
"""List wallets in a specific chain"""
@app.get("/v1/chains/{chain_id}/wallets/{wallet_id}/balance")
async def get_wallet_balance(chain_id: str, wallet_id: str):
"""Get wallet balance for a specific chain"""
# Chain-specific balances
chain_balances = {
"ait-devnet": 100.5,
"ait-testnet": 50.0,
"mainnet": 0.0
}
balance = chain_balances.get(chain_id, 0.0)
return JSONResponse({
"wallet_id": wallet_id,
"chain_id": chain_id,
"wallets": [],
"count": 0,
"balance": balance,
"currency": f"AITBC-{chain_id.upper()}",
"last_updated": datetime.now().isoformat(),
"mode": "daemon"
})