73 lines
2.8 KiB
Bash
Executable File
73 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Test Position History API with Date Filtering
|
|
# Based on get-position-history.test.ts
|
|
|
|
# Configuration
|
|
BASE_URL="http://localhost:4111"
|
|
ACCOUNT="0x987b67313ee4827FE55e1FBcd8883D3bb0Bde83b"
|
|
|
|
# Calculate dates (last 1 hour)
|
|
TO_DATE=$(date -u +"%Y-%m-%dT%H:%M:%S.000Z")
|
|
FROM_DATE=$(date -u -v-1H +"%Y-%m-%dT%H:%M:%S.000Z" 2>/dev/null || date -u -d "1 hour ago" +"%Y-%m-%dT%H:%M:%S.000Z")
|
|
|
|
echo "================================================"
|
|
echo "Testing GMX Position History API"
|
|
echo "================================================"
|
|
echo ""
|
|
|
|
# Example 1: Get all positions (no date filter)
|
|
echo "📊 Example 1: Get all positions (no date filter)"
|
|
echo "Command:"
|
|
echo "curl -X GET \"${BASE_URL}/api/gmx/position-history?account=${ACCOUNT}&pageIndex=0&pageSize=20\""
|
|
echo ""
|
|
curl -X GET "${BASE_URL}/api/gmx/position-history?account=${ACCOUNT}&pageIndex=0&pageSize=20" \
|
|
-H "Content-Type: application/json" \
|
|
| jq '.'
|
|
echo ""
|
|
echo "================================================"
|
|
echo ""
|
|
|
|
# Example 2: Get positions with date range filter
|
|
echo "📅 Example 2: Get positions from last 1 hour with date filter"
|
|
echo "From: ${FROM_DATE}"
|
|
echo "To: ${TO_DATE}"
|
|
echo ""
|
|
echo "Command:"
|
|
echo "curl -X GET \"${BASE_URL}/api/gmx/position-history?account=${ACCOUNT}&pageIndex=0&pageSize=10&fromDateTime=${FROM_DATE}&toDateTime=${TO_DATE}\""
|
|
echo ""
|
|
curl -X GET "${BASE_URL}/api/gmx/position-history?account=${ACCOUNT}&pageIndex=0&pageSize=10&fromDateTime=$(echo $FROM_DATE | sed 's/:/%3A/g')&toDateTime=$(echo $TO_DATE | sed 's/:/%3A/g')" \
|
|
-H "Content-Type: application/json" \
|
|
| jq '.'
|
|
echo ""
|
|
echo "================================================"
|
|
echo ""
|
|
|
|
# Example 3: Get positions with ticker filter
|
|
echo "🎯 Example 3: Get positions for specific ticker (HYPE)"
|
|
echo "Command:"
|
|
echo "curl -X GET \"${BASE_URL}/api/gmx/position-history?account=${ACCOUNT}&pageIndex=0&pageSize=10&ticker=HYPE\""
|
|
echo ""
|
|
curl -X GET "${BASE_URL}/api/gmx/position-history?account=${ACCOUNT}&pageIndex=0&pageSize=10&ticker=HYPE" \
|
|
-H "Content-Type: application/json" \
|
|
| jq '.'
|
|
echo ""
|
|
echo "================================================"
|
|
echo ""
|
|
|
|
# Example 4: Get positions with date range AND ticker filter
|
|
echo "🎯📅 Example 4: Get positions for HYPE ticker in last 1 hour"
|
|
echo "From: ${FROM_DATE}"
|
|
echo "To: ${TO_DATE}"
|
|
echo "Ticker: HYPE"
|
|
echo ""
|
|
echo "Command:"
|
|
echo "curl -X GET \"${BASE_URL}/api/gmx/position-history?account=${ACCOUNT}&pageIndex=0&pageSize=10&ticker=HYPE&fromDateTime=${FROM_DATE}&toDateTime=${TO_DATE}\""
|
|
echo ""
|
|
curl -X GET "${BASE_URL}/api/gmx/position-history?account=${ACCOUNT}&pageIndex=0&pageSize=10&ticker=HYPE&fromDateTime=$(echo $FROM_DATE | sed 's/:/%3A/g')&toDateTime=$(echo $TO_DATE | sed 's/:/%3A/g')" \
|
|
-H "Content-Type: application/json" \
|
|
| jq '.'
|
|
echo ""
|
|
echo "================================================"
|
|
|