96 lines
4.1 KiB
Bash
Executable File
96 lines
4.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "🔍 Verifying Blockchain Integration"
|
|
echo "===================================="
|
|
echo ""
|
|
|
|
# Counter for checks
|
|
PASSED=0
|
|
FAILED=0
|
|
|
|
# Function to check file exists
|
|
check_file() {
|
|
if [ -f "$1" ]; then
|
|
echo "✅ $2"
|
|
((PASSED++))
|
|
else
|
|
echo "❌ $2 (not found)"
|
|
((FAILED++))
|
|
fi
|
|
}
|
|
|
|
# Function to check for string in file
|
|
check_content() {
|
|
if grep -q "$2" "$1" 2>/dev/null; then
|
|
echo "✅ $3"
|
|
((PASSED++))
|
|
else
|
|
echo "❌ $3"
|
|
((FAILED++))
|
|
fi
|
|
}
|
|
|
|
echo "📄 Phase 1: Smart Contract Documentation"
|
|
echo "----------------------------------------"
|
|
check_file "backend/app/blockchain/contracts/BetEscrow.pseudocode.md" "BetEscrow contract"
|
|
check_file "backend/app/blockchain/contracts/BetOracle.pseudocode.md" "BetOracle contract"
|
|
check_file "backend/app/blockchain/contracts/README.md" "Architecture README"
|
|
echo ""
|
|
|
|
echo "🔧 Phase 2: Backend Services"
|
|
echo "----------------------------"
|
|
check_file "backend/app/blockchain/services/blockchain_service.py" "blockchain_service.py"
|
|
check_file "backend/app/blockchain/services/blockchain_indexer.py" "blockchain_indexer.py"
|
|
check_file "backend/app/blockchain/services/oracle_node.py" "oracle_node.py"
|
|
check_file "backend/app/blockchain/services/oracle_aggregator.py" "oracle_aggregator.py"
|
|
check_file "backend/app/blockchain/config.py" "Blockchain config"
|
|
echo ""
|
|
|
|
echo "⚛️ Phase 3: Frontend Web3 Hooks"
|
|
echo "--------------------------------"
|
|
check_file "frontend/src/blockchain/hooks/useWeb3Wallet.ts" "useWeb3Wallet hook"
|
|
check_file "frontend/src/blockchain/hooks/useBlockchainBet.ts" "useBlockchainBet hook"
|
|
check_file "frontend/src/blockchain/hooks/useGasEstimate.ts" "useGasEstimate hook"
|
|
check_file "frontend/src/blockchain/components/BlockchainBadge.tsx" "BlockchainBadge component"
|
|
check_file "frontend/src/blockchain/components/TransactionModal.tsx" "TransactionModal component"
|
|
echo ""
|
|
|
|
echo "🎨 Phase 4: UI Component Modifications"
|
|
echo "--------------------------------------"
|
|
check_content "frontend/src/components/bets/BetCard.tsx" "BlockchainBadgeCompact" "BetCard - Blockchain badge imported"
|
|
check_content "frontend/src/components/bets/BetCard.tsx" "blockchain_tx_hash" "BetCard - Conditional blockchain badge"
|
|
check_content "frontend/src/components/bets/CreateBetModal.tsx" "useGasEstimate" "CreateBetModal - Gas estimate hook"
|
|
check_content "frontend/src/components/bets/CreateBetModal.tsx" "TransactionModal" "CreateBetModal - Transaction modal"
|
|
check_content "frontend/src/pages/BetDetails.tsx" "useBlockchainBet" "BetDetails - Blockchain bet hook"
|
|
check_content "frontend/src/pages/BetDetails.tsx" "Estimated Gas Cost" "BetDetails - Gas estimate panel"
|
|
check_content "frontend/src/components/wallet/WalletBalance.tsx" "On-Chain Escrow" "WalletBalance - On-chain section"
|
|
check_content "frontend/src/components/wallet/WalletBalance.tsx" "useWeb3Wallet" "WalletBalance - Web3 wallet hook"
|
|
check_content "frontend/src/components/layout/Header.tsx" "Connect Wallet" "Header - Wallet connect button"
|
|
check_content "frontend/src/components/layout/Header.tsx" "useWeb3Wallet" "Header - Web3 wallet integration"
|
|
echo ""
|
|
|
|
echo "📝 Phase 5: Database Models"
|
|
echo "---------------------------"
|
|
check_content "backend/app/models/bet.py" "blockchain_bet_id" "Bet model - blockchain_bet_id field"
|
|
check_content "backend/app/models/bet.py" "blockchain_tx_hash" "Bet model - blockchain_tx_hash field"
|
|
check_content "backend/app/models/bet.py" "blockchain_status" "Bet model - blockchain_status field"
|
|
check_content "backend/app/models/wallet.py" "blockchain_escrow" "Wallet model - blockchain_escrow field"
|
|
check_content "frontend/src/types/index.ts" "blockchain_tx_hash" "TypeScript types - Bet blockchain fields"
|
|
check_content "frontend/src/types/index.ts" "blockchain_escrow" "TypeScript types - Wallet blockchain field"
|
|
echo ""
|
|
|
|
echo "===================================="
|
|
echo "📊 Verification Results"
|
|
echo "===================================="
|
|
echo "✅ Passed: $PASSED"
|
|
echo "❌ Failed: $FAILED"
|
|
echo ""
|
|
|
|
if [ $FAILED -eq 0 ]; then
|
|
echo "🎉 All blockchain integration checks passed!"
|
|
exit 0
|
|
else
|
|
echo "⚠️ Some checks failed. Review the output above."
|
|
exit 1
|
|
fi
|