84 lines
2.7 KiB
Python
84 lines
2.7 KiB
Python
import os
|
|
import asyncio
|
|
from flextrade.flextrade_client import Client
|
|
from flextrade.constants.markets import (
|
|
BASE_MARKET_ETH_USD, BASE_MARKET_BTC_USD, BASE_MARKET_BNB_USD,
|
|
BASE_MARKET_SHIB_USD, BASE_MARKET_PEPE_USD, BASE_MARKET_SUI_USD,
|
|
BASE_MARKET_DOGE_USD, BASE_MARKET_AAVE_USD, BASE_MARKET_HBAR_USD,
|
|
BASE_MARKET_VIRTUAL_USD, BASE_MARKET_ADA_USD, BASE_MARKET_PENDLE_USD,
|
|
BASE_MARKET_TRX_USD, BASE_MARKET_AVAX_USD, BASE_MARKET_UNI_USD,
|
|
BASE_MARKET_SOL_USD, BASE_MARKET_LINK_USD, BASE_MARKET_XRP_USD,
|
|
BASE_MARKET_TON_USD
|
|
)
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
RPC_URL = os.getenv("RPC_URL")
|
|
PRIVATE_KEY = os.getenv("PRIVATE_KEY")
|
|
|
|
# List of all markets to test
|
|
MARKETS = [
|
|
BASE_MARKET_ETH_USD,
|
|
BASE_MARKET_BTC_USD,
|
|
BASE_MARKET_BNB_USD,
|
|
BASE_MARKET_SHIB_USD,
|
|
BASE_MARKET_PEPE_USD,
|
|
BASE_MARKET_SUI_USD,
|
|
BASE_MARKET_DOGE_USD,
|
|
BASE_MARKET_AAVE_USD,
|
|
BASE_MARKET_HBAR_USD,
|
|
BASE_MARKET_VIRTUAL_USD,
|
|
BASE_MARKET_ADA_USD,
|
|
BASE_MARKET_PENDLE_USD,
|
|
BASE_MARKET_TRX_USD,
|
|
BASE_MARKET_AVAX_USD,
|
|
BASE_MARKET_UNI_USD,
|
|
BASE_MARKET_SOL_USD,
|
|
BASE_MARKET_LINK_USD,
|
|
BASE_MARKET_XRP_USD,
|
|
BASE_MARKET_TON_USD
|
|
]
|
|
|
|
def print_market_info(market_info):
|
|
"""Helper function to print market information"""
|
|
print('Market {0}'.format(market_info["market"]))
|
|
print('Price: {0:.4f}'.format(market_info["price"]))
|
|
print('Long: {0:.2f}'.format((market_info["long_size"])))
|
|
print('Short: {0:.2f}'.format((market_info["short_size"])))
|
|
print('Funding rate 1H: {0:.6f}%'.format(
|
|
(market_info["funding_rate"]["1H"])))
|
|
print('Funding rate 8H: {0:.6f}%'.format(
|
|
(market_info["funding_rate"]["8H"])))
|
|
print('Funding rate 24H: {0:.6f}%'.format(
|
|
(market_info["funding_rate"]["24H"])))
|
|
print('Funding rate 1Y: {0:.6f}%'.format(
|
|
(market_info["funding_rate"]["1Y"])))
|
|
print('Borrowing rate 1H: {0:.6f}%'.format(
|
|
(market_info["borrowing_rate"]["1H"])))
|
|
print('Borrowing rate 8H: {0:.6f}%'.format(
|
|
(market_info["borrowing_rate"]["8H"])))
|
|
print('Borrowing rate 24H: {0:.6f}%'.format(
|
|
(market_info["borrowing_rate"]["24H"])))
|
|
print('Borrowing rate 1Y: {0:.6f}%'.format(
|
|
(market_info["borrowing_rate"]["1Y"])))
|
|
print('-' * 50) # Separator line
|
|
|
|
async def main():
|
|
client = Client(
|
|
eth_private_key=PRIVATE_KEY,
|
|
rpc_url=RPC_URL
|
|
)
|
|
|
|
print("Testing all markets...\n")
|
|
|
|
for market in MARKETS:
|
|
try:
|
|
market_info = client.public.get_market_info(market)
|
|
print_market_info(market_info)
|
|
except Exception as e:
|
|
print(f"Error fetching market {market}: {e}")
|
|
print('-' * 50)
|
|
|
|
if __name__ == '__main__':
|
|
asyncio.run(main()) |