-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathverify.sh
executable file
·89 lines (72 loc) · 1.88 KB
/
verify.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/bash
# Check if an argument is provided
if [ $# -eq 0 ]; then
echo "No arguments of NEON RPC provided. Usage: $0 MAINNET|DEVNET"
exit 1
fi
NETWORK=$1
if [ "$NETWORK" == "MAINNET" ]; then
NETWORK_ENV=neonmainnet
VERIFIER_ADDRESS=0xF9dB5cD92fbE2A32D3491f10241C2008Df9ba2Cb
elif [ "$NETWORK" == "DEVNET" ]; then
NETWORK_ENV=neonlabs
VERIFIER_ADDRESS=0x8406d7D31ffC9bAF8BA7D2fd4965E4EC7Bd93a4d
else
echo "Invalid input. Please enter MAINNET or DEVNET."
exit 1
fi
echo "Network environment set to: $NETWORK_ENV"
# Check if running in Docker
is_docker() {
if [ -f /.dockerenv ] || grep -q 'docker' /proc/1/cgroup; then
return 0
else
return 1
fi
}
if is_docker; then
cd contracts
else
cd risczero/contracts
fi
ENV_VARS="
RPC_URL_DEVNET=https://devnet.neonevm.org
CHAIN_ID_DEVNET=245022926
RPC_URL_MAINNET=https://neon-proxy-mainnet.solana.p2p.org
CHAIN_ID_MAINNET=245022934
VERIFIER_URL_BLOCKSCOUT=https://neon-devnet.blockscout.com/api
"
ENV_FILE=".env"
# Function to add or update a variable
add_or_update() {
local var="$1"
local file="$2"
local key=$(echo "$var" | cut -d '=' -f 1)
local value=$(echo "$var" | cut -d '=' -f 2-)
if grep -q "^${key}=" "$file"; then
perl -i -pe "s/^${key}=.*/${var}/" "$file"
else
# Append the new key
echo "$var" >> "$file"
fi
}
# Function to add a variable if it does not already exist
add_if_not_exists() {
local var="$1"
local file="$2"
local key=$(echo "$var" | cut -d '=' -f 1)
if ! grep -q "^${key}=" "$file"; then
echo "$var" >> "$file"
fi
}
if [ -f "$ENV_FILE" ]; then
for var in $ENV_VARS; do
add_if_not_exists "$var" "$ENV_FILE"
done
else
echo "$ENV_VARS" > "$ENV_FILE"
fi
add_or_update "VERIFIER_ADDRESS=$VERIFIER_ADDRESS" "$ENV_FILE"
source .env
yarn
npx hardhat run --network $NETWORK_ENV scripts/verification.ts