Skip to content

Sepolia Smoke Test

Sepolia Smoke Test #3

Workflow file for this run

name: Sepolia Smoke Test
on:
schedule:
- cron: '0 6 * * 1'
workflow_dispatch:
jobs:
smoke:
name: Base Sepolia Smoke
runs-on: ubuntu-latest
steps:
- name: Check ServiceRegistry deployment
run: |
RESULT=$(curl -s -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getCode","params":["0x32487f8a8B54A8E8efBAb0c72De7b34239952180","latest"],"id":1}' \
https://sepolia.base.org)
CODE=$(echo "$RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin)['result'])")
if [ "$CODE" = "0x" ] || [ -z "$CODE" ]; then
echo "FAIL: ServiceRegistry has no code on Base Sepolia"
exit 1
fi
echo "OK: ServiceRegistry deployed"
- name: Check PaymentChannel deployment
run: |
RESULT=$(curl -s -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getCode","params":["0x9c350ae4D2e8aE380185d3AC95b56fedF98837C3","latest"],"id":1}' \
https://sepolia.base.org)
CODE=$(echo "$RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin)['result'])")
if [ "$CODE" = "0x" ] || [ -z "$CODE" ]; then
echo "FAIL: PaymentChannel has no code on Base Sepolia"
exit 1
fi
echo "OK: PaymentChannel deployed"
- name: Check SpendingPolicy deployment
run: |
RESULT=$(curl -s -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getCode","params":["0x4A2921672F22f1CA75EbBce49ce4d38F92Aa4463","latest"],"id":1}' \
https://sepolia.base.org)
CODE=$(echo "$RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin)['result'])")
if [ "$CODE" = "0x" ] || [ -z "$CODE" ]; then
echo "FAIL: SpendingPolicy has no code on Base Sepolia"
exit 1
fi
echo "OK: SpendingPolicy deployed"
- name: Check USDC deployment
run: |
RESULT=$(curl -s -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getCode","params":["0x036CbD53842c5426634e7929541eC2318f3dCF7e","latest"],"id":1}' \
https://sepolia.base.org)
CODE=$(echo "$RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin)['result'])")
if [ "$CODE" = "0x" ] || [ -z "$CODE" ]; then
echo "FAIL: USDC has no code on Base Sepolia"
exit 1
fi
echo "OK: USDC deployed"
- name: Check SubscriptionManager deployment
run: |
RESULT=$(curl -s -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getCode","params":["0x3116436B73e9Bbe230e517460A780359ba90B033","latest"],"id":1}' \
https://sepolia.base.org)
CODE=$(echo "$RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin)['result'])")
if [ "$CODE" = "0x" ] || [ -z "$CODE" ]; then
echo "FAIL: SubscriptionManager has no code on Base Sepolia"
exit 1
fi
echo "OK: SubscriptionManager deployed"
- name: Read getSubscriptionCount() from SubscriptionManager
run: |
# selector verified with cast sig locally: 0x66419970
RESULT=$(curl -s -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x3116436B73e9Bbe230e517460A780359ba90B033","data":"0x66419970"},"latest"],"id":1}' \
https://sepolia.base.org)
COUNT=$(echo "$RESULT" | python3 -c "import sys,json; r=json.load(sys.stdin)['result']; print(int(r,16) if r and r != '0x' else -1)")
if [ "$COUNT" -ge 0 ]; then
echo "OK: getSubscriptionCount() = $COUNT"
else
echo "WARN: getSubscriptionCount() returned empty"
fi
- name: Check AgentReputation deployment
run: |
RESULT=$(curl -s -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getCode","params":["0x014d6681978A43E0ceCF7BF6474095f7Fa5905f3","latest"],"id":1}' \
https://sepolia.base.org)
CODE=$(echo "$RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin)['result'])")
if [ "$CODE" = "0x" ] || [ -z "$CODE" ]; then
echo "FAIL: AgentReputation has no code on Base Sepolia"
exit 1
fi
echo "OK: AgentReputation deployed"
- name: Read EAS address from AgentReputation
run: |
RESULT=$(curl -s -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x014d6681978A43E0ceCF7BF6474095f7Fa5905f3","data":"0x0911beb4"},"latest"],"id":1}' \
https://sepolia.base.org)
EAS=$(echo "$RESULT" | python3 -c "import sys,json; r=json.load(sys.stdin)['result']; print('0x'+r[-40:])")
if [ "$EAS" = "0x4200000000000000000000000000000000000021" ]; then
echo "OK: AgentReputation.EAS() = $EAS"
else
echo "FAIL: AgentReputation.EAS() = $EAS (expected 0x420...0021)"
exit 1
fi
- name: Read getServiceCount() from ServiceRegistry
run: |
# selector verified with cast sig locally: 0x3672404e
RESULT=$(curl -s -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x32487f8a8B54A8E8efBAb0c72De7b34239952180","data":"0x3672404e"},"latest"],"id":1}' \
https://sepolia.base.org)
COUNT=$(echo "$RESULT" | python3 -c "import sys,json; r=json.load(sys.stdin)['result']; print(int(r,16) if r and r != '0x' else -1)")
if [ "$COUNT" -ge 0 ]; then
echo "OK: getServiceCount() = $COUNT"
else
echo "WARN: getServiceCount() returned empty"
fi