Files
proxmox/scripts/check-and-fix-allowance.sh
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

79 lines
2.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# Check and fix bridge allowance
# Usage: ./check-and-fix-allowance.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SOURCE_PROJECT="/home/intlc/projects/smom-dbis-138"
source "$SOURCE_PROJECT/.env"
RPC_URL="${RPC_URL_138:-http://192.168.11.250:8545}"
WETH9_ADDRESS="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
BRIDGE_ADDRESS="0x89dd12025bfCD38A168455A44B400e913ED33BE2"
DEPLOYER=$(cast wallet address --private-key "$PRIVATE_KEY" 2>/dev/null)
AMOUNT_WEI=$(cast --to-wei 6.0 ether)
echo "=== Checking Bridge Allowance ==="
echo "Deployer: $DEPLOYER"
echo "Bridge: $BRIDGE_ADDRESS"
echo ""
# Check current allowance
ALLOW=$(cast call "$WETH9_ADDRESS" "allowance(address,address)" "$DEPLOYER" "$BRIDGE_ADDRESS" --rpc-url "$RPC_URL" 2>/dev/null || echo "0")
if [ "$ALLOW" != "0" ] && [ "$ALLOW" != "0x0000000000000000000000000000000000000000000000000000000000000000" ]; then
ALLOW_ETH=$(echo "scale=6; $ALLOW / 1000000000000000000" | bc 2>/dev/null || echo "0")
echo "✅ Allowance exists: $ALLOW_ETH ETH"
exit 0
fi
echo "⚠️ Allowance is 0. Attempting to approve..."
echo ""
# Get current nonce
CURRENT_NONCE=$(cast nonce "$DEPLOYER" --rpc-url "$RPC_URL" 2>/dev/null || echo "0")
echo "Current nonce: $CURRENT_NONCE"
# Try to approve
echo "Sending approval transaction..."
TX_OUTPUT=$(cast send "$WETH9_ADDRESS" \
"approve(address,uint256)" \
"$BRIDGE_ADDRESS" \
"$AMOUNT_WEI" \
--rpc-url "$RPC_URL" \
--private-key "$PRIVATE_KEY" \
--gas-price 20000000000 \
--nonce "$CURRENT_NONCE" \
2>&1 || echo "FAILED")
if echo "$TX_OUTPUT" | grep -qE "transactionHash"; then
HASH=$(echo "$TX_OUTPUT" | grep -oE "transactionHash[[:space:]]+0x[0-9a-fA-F]{64}" | awk '{print $2}')
echo "✅ Transaction sent: $HASH"
echo ""
echo "Waiting 30 seconds for confirmation..."
sleep 30
# Check again
ALLOW=$(cast call "$WETH9_ADDRESS" "allowance(address,address)" "$DEPLOYER" "$BRIDGE_ADDRESS" --rpc-url "$RPC_URL" 2>/dev/null || echo "0")
if [ "$ALLOW" != "0" ] && [ "$ALLOW" != "0x0000000000000000000000000000000000000000000000000000000000000000" ]; then
ALLOW_ETH=$(echo "scale=6; $ALLOW / 1000000000000000000" | bc 2>/dev/null || echo "0")
echo "✅ Allowance confirmed: $ALLOW_ETH ETH"
exit 0
else
echo "⚠️ Allowance still pending. Transaction may need more time to be mined."
echo "Transaction hash: $HASH"
exit 1
fi
else
ERR=$(echo "$TX_OUTPUT" | grep -E "Error|Known|underpriced" | head -1 || echo "Unknown error")
echo "❌ Approval failed: $ERR"
echo ""
echo "Full output:"
echo "$TX_OUTPUT" | tail -5
exit 1
fi