From 4f5b36b439ebc14caa3fdc6a9fc9d92625450e7f Mon Sep 17 00:00:00 2001 From: sparqet Date: Wed, 19 Jul 2023 11:15:40 +0200 Subject: [PATCH] implemented rpc testsuite --- rpc_diff.sh | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100755 rpc_diff.sh diff --git a/rpc_diff.sh b/rpc_diff.sh new file mode 100755 index 0000000000..f72c226605 --- /dev/null +++ b/rpc_diff.sh @@ -0,0 +1,122 @@ +#!/bin/bash + + +echo "////////////////////////////////////////GET_TRANSACTION_RECEIPT//////////////////////////////////////////////" + + +# Faire la première requête curl +response1=$(curl -s -X POST \ + -H "Content-Type: application/json" \ + --data '{"jsonrpc":"2.0","method":"starknet_getTransactionReceipt","params":["0x585a43c4df382ff17bc6079c2747dc017fe71d0aca9c34cac890b835e90786e"],"id":0}' \ + http://127.0.0.1:9956/ | jq '.') + +# Faire la deuxième requête curl +response2=$(curl -s -X POST \ + -H "Content-Type: application/json" \ + --data '{"jsonrpc":"2.0","method":"starknet_getTransactionReceipt","params":["0x585a43c4df382ff17bc6079c2747dc017fe71d0aca9c34cac890b835e90786e"],"id":0}' \ + https://starknet-mainnet.g.alchemy.com/v2/hnj_DGevqpyoyeoEs9Vfx-6qSTHOnaIu | jq '.') + +# Extraire les champs pour comparaison +fields=$(echo "$response1" | jq -r '.result | keys[]') + +# Comparer les champs et afficher les différences +diff_output="" + +for field in $fields; do + value1=$(echo "$response1" | jq -r ".result.$field") + value2=$(echo "$response2" | jq -r ".result.$field") + diff_output=$(diff -u <(echo "$value1") <(echo "$value2") | colordiff) + if [ -z "$diff_output" ]; then + echo "" + else + echo "$field" + echo "$diff_output" + fi +done + + +echo "////////////////////////////////////////////GET_TRANSACTION_BY_HASH//////////////////////////////////////////" + +# Faire la première requête curl +response1=$(curl -s -X POST \ + -H "Content-Type: application/json" \ + --data '{"jsonrpc":"2.0","method":"starknet_getTransactionByHash","params":["0x585a43c4df382ff17bc6079c2747dc017fe71d0aca9c34cac890b835e90786e"],"id":0}' \ + http://127.0.0.1:9956/ | jq '.') + +# Faire la deuxième requête curl +response2=$(curl -s -X POST \ + -H "Content-Type: application/json" \ + --data '{"jsonrpc":"2.0","method":"starknet_getTransactionByHash","params":["0x585a43c4df382ff17bc6079c2747dc017fe71d0aca9c34cac890b835e90786e"],"id":0}' \ + https://starknet-mainnet.g.alchemy.com/v2/hnj_DGevqpyoyeoEs9Vfx-6qSTHOnaIu | jq '.') + +# Extraire les champs pour comparaison +fields=$(echo "$response1" | jq -r '.result | keys[]') + +# Comparer les champs et afficher les différences +diff_output="" + +for field in $fields; do + value1=$(echo "$response1" | jq -r ".result.$field") + value2=$(echo "$response2" | jq -r ".result.$field") + diff_output=$(diff -u <(echo "$value1") <(echo "$value2") | colordiff) + if [ -z "$diff_output" ]; then + echo "" + else + echo "$field" + echo "$diff_output" + fi +done + + +echo "////////////////////////////////////////////CHAIN ID//////////////////////////////////////////" + +# Faire la première requête curl +response1=$(curl -s -X POST \ + -H "Content-Type: application/json" \ + --data '{"jsonrpc":"2.0","method":"starknet_chainId","id":0}' \ + http://127.0.0.1:9956/ | jq '.') + +# Faire la deuxième requête curl +response2=$(curl -s -X POST \ + -H "Content-Type: application/json" \ + --data '{"jsonrpc":"2.0","method":"starknet_chainId","id":0}' \ + https://starknet-mainnet.g.alchemy.com/v2/hnj_DGevqpyoyeoEs9Vfx-6qSTHOnaIu | jq '.') + + +# Comparer les champs et afficher les différences +diff_output="" + +diff_output=$(diff -u <(echo "$response1") <(echo "$response2") | colordiff) +echo "$diff_output" + +echo "////////////////////////////////////////////GET_TRANSACTION_BY_BLOCKID_AND_INDEX//////////////////////////////////////////" + +# Faire la première requête curl +response1=$(curl -s -X POST \ + -H "Content-Type: application/json" \ + --data '{"jsonrpc":"2.0","method":"starknet_getTransactionByBlockIdAndIndex","params":[{"block_number": 9100}, 4],"id":0}' \ + http://127.0.0.1:9956/ | jq '.') + +# Faire la deuxième requête curl +response2=$(curl -s -X POST \ + -H "Content-Type: application/json" \ + --data '{"jsonrpc":"2.0","method":"starknet_getTransactionByBlockIdAndIndex","params":[{"block_number": 9100}, 4],"id":0}' \ + https://starknet-mainnet.g.alchemy.com/v2/hnj_DGevqpyoyeoEs9Vfx-6qSTHOnaIu | jq '.') + +# Extraire les champs pour comparaison +fields=$(echo "$response1" | jq -r '.result | keys[]') + +# Comparer les champs et afficher les différences +diff_output="" + +for field in $fields; do + value1=$(echo "$response1" | jq -r ".result.$field") + value2=$(echo "$response2" | jq -r ".result.$field") + diff_output=$(diff -u <(echo "$value1") <(echo "$value2") | colordiff) + if [ -z "$diff_output" ]; then + echo "" + else + echo "$field" + echo "$diff_output" + fi +done