-
Notifications
You must be signed in to change notification settings - Fork 105
Expand file tree
/
Copy pathverify-vyper.sh
More file actions
executable file
·89 lines (68 loc) · 2.37 KB
/
verify-vyper.sh
File metadata and controls
executable file
·89 lines (68 loc) · 2.37 KB
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
#!/usr/bin/env bash
set -euo pipefail
MODE=${MODE:-"full"}
TEMPO_RPC_URL=${TEMPO_RPC_URL:-"https://rpc.moderato.tempo.xyz"}
VERIFIER_URL=${VERIFIER_URL:-"https://contracts.tempo.xyz"}
FEE_TOKEN="${TEMPO_FEE_TOKEN:-0x20c0000000000000000000000000000000000001}"
if [[ "$MODE" == "invalid-payload" ]]; then
RESPONSE_HEADERS=$(mktemp)
RESPONSE_BODY=$(mktemp)
REQUEST_BODY='{}'
echo -e "\n=== REPRO /verify/vyper VALIDATION REGRESSION ==="
echo "VERIFIER_URL: $VERIFIER_URL"
echo "REQUEST_BODY: $REQUEST_BODY"
HTTP_STATUS=$(
curl -sS \
-D "$RESPONSE_HEADERS" \
-o "$RESPONSE_BODY" \
-w '%{http_code}' \
-X POST \
"$VERIFIER_URL/verify/vyper" \
-H 'Content-Type: application/json' \
--data "$REQUEST_BODY"
)
echo -e "\nHTTP_STATUS: $HTTP_STATUS"
echo -e "\n=== RESPONSE HEADERS ==="
cat "$RESPONSE_HEADERS"
echo -e "\n=== RESPONSE BODY ==="
cat "$RESPONSE_BODY"
echo
if [[ -n "${EXPECTED_STATUS:-}" && "$HTTP_STATUS" != "$EXPECTED_STATUS" ]]; then
echo "Expected status $EXPECTED_STATUS but got $HTTP_STATUS" >&2
exit 1
fi
exit 0
fi
echo -e "\n=== VERSIONS ==="
CAST_VERSION=$(cast --version)
FORGE_VERSION=$(forge --version)
echo -e "\nCAST_VERSION: $CAST_VERSION"
echo -e "FORGE_VERSION: $FORGE_VERSION"
echo -e "\n=== USING FEE TOKEN: $FEE_TOKEN ==="
TEMP_DIR=$(mktemp -d)
echo -e "\nCreating temporary directory $TEMP_DIR\n"
cd "$TEMP_DIR"
git clone --depth 1 https://github.com/grandizzy/counter-vy.git "$TEMP_DIR"/counter-vy
cd "$TEMP_DIR"/counter-vy
echo -e "\n=== CREATE & FUND NEW WALLET ===\n"
NEW_WALLET=$(cast wallet new --json | jq --raw-output '.[0]')
TEST_ADDRESS=$(echo "$NEW_WALLET" | jq --raw-output '.address')
TEST_PRIVATE_KEY=$(echo "$NEW_WALLET" | jq --raw-output '.private_key')
echo -e "ADDRESS: $TEST_ADDRESS\n"
for _ in {1..10}; do
cast rpc tempo_fundAddress "$TEST_ADDRESS" --rpc-url "$TEMPO_RPC_URL" > /dev/null 2>&1 || true
done
WALLET_BALANCE=$(cast balance "$TEST_ADDRESS" --rpc-url "$TEMPO_RPC_URL")
echo "WALLET BALANCE: $WALLET_BALANCE"
echo -e "\n=== FORGE BUILD ===\n"
forge build
echo -e "\n=== FORGE SCRIPT DEPLOY ==="
echo -e "\nDEPLOYER: $TEST_ADDRESS\n"
forge script script/Counter.s.sol \
--tempo.fee-token="$FEE_TOKEN" \
--rpc-url "$TEMPO_RPC_URL" \
--private-key "$TEST_PRIVATE_KEY" \
--broadcast \
--verify \
--verifier sourcify \
--verifier-url "$VERIFIER_URL"