#!/bin/bash

# Script to call verifyProofDirectly with the exact proof components
set -e

# Check if PRIVATE_KEY is set
if [ -z "$PRIVATE_KEY" ]; then
    echo "Error: PRIVATE_KEY environment variable is not set"
    exit 1
fi

# Your deployed contract address on Fuji
FUJI_RECEIVER="0x5fBe586CDd41038E3B5530Dd8796ED885781E92F"
FUJI_RPC="https://api.avax-test.network/ext/bc/C/rpc"

echo "=== Calling verifyProofDirectly ==="
echo "Contract: $FUJI_RECEIVER"
echo "Network: Fuji Testnet"
echo ""

echo "Proof components being verified:"
echo "pA: [0x23c51d4c2910998244c4ddf0871f23dcf4f6db265396ee5e613cf924fdd8e518,0x192682ca929e750f12aeed4c3dc73ddb1ab14e81fae3a16629d561b80dfc1123]"
echo "pB: [[0x18b672040a57aec0d2b10c163756e6c5c2ff9c421c43cb9b7d8d5f02a7dc1a96,0x01d789d74eb28c0c39139aa5af9c663ece475da021166cabbc888c5249ea95c2],[0x08267be0537f4a1735e89c0cd40350346d68c4544f49d76d71061efbc9873dec,0x14774921b5fb24beb150067f6566cbcd86dbf464db94a6ff04a73688dc0489dd]]"
echo "pC: [0x14783186072b0d0e64634aee3d8ac6699d28a05a4e07ad382b5da2c8aa57c53d,0x0917edf7fe252174ab94d8752871cbe862c784260997742ba97bd51bb8ed5f64]"
echo "pubSignals: [0x21] (33 in decimal)"
echo ""

echo "Sending transaction..."
cast send $FUJI_RECEIVER \
"verifyProofDirectly(uint256[2],uint256[2][2],uint256[2],uint256[1])" \
'[0x23c51d4c2910998244c4ddf0871f23dcf4f6db265396ee5e613cf924fdd8e518,0x192682ca929e750f12aeed4c3dc73ddb1ab14e81fae3a16629d561b80dfc1123]' \
'[[0x18b672040a57aec0d2b10c163756e6c5c2ff9c421c43cb9b7d8d5f02a7dc1a96,0x01d789d74eb28c0c39139aa5af9c663ece475da021166cabbc888c5249ea95c2],[0x08267be0537f4a1735e89c0cd40350346d68c4544f49d76d71061efbc9873dec,0x14774921b5fb24beb150067f6566cbcd86dbf464db94a6ff04a73688dc0489dd]]' \
'[0x14783186072b0d0e64634aee3d8ac6699d28a05a4e07ad382b5da2c8aa57c53d,0x0917edf7fe252174ab94d8752871cbe862c784260997742ba97bd51bb8ed5f64]' \
'[0x21]' \
--rpc-url $FUJI_RPC \
--private-key $PRIVATE_KEY

echo ""
echo "=== Checking for ProofVerificationSuccess events ==="
echo "Looking for recent events..."
cast logs \
    --rpc-url $FUJI_RPC \
    --address $FUJI_RECEIVER \
    --from-block latest \
    "ProofVerificationSuccess(uint256)" 