30 lines
1017 B
Python
30 lines
1017 B
Python
import os
|
|
|
|
from dotenv import load_dotenv
|
|
from x10.config import MAINNET_CONFIG
|
|
from x10.core.stark_account import StarkPerpetualAccount
|
|
from x10.perpetual.trading_client import PerpetualTradingClient
|
|
import logging
|
|
|
|
async def create_auth_account_and_trading_client() -> tuple[StarkPerpetualAccount, PerpetualTradingClient]:
|
|
load_dotenv()
|
|
API_KEY = os.getenv('EXTENDED_API_KEY')
|
|
PUBLIC_KEY = os.getenv('EXTENDED_STARK_KEY_PUBLIC')
|
|
PRIVATE_KEY = os.getenv('EXTENDED_STARK_KEY_PRIVATE')
|
|
VAULT = int(os.getenv('EXTENDED_VAULT_NUMBER'))
|
|
|
|
stark_account = StarkPerpetualAccount(
|
|
vault=VAULT,
|
|
private_key=PRIVATE_KEY,
|
|
public_key=PUBLIC_KEY,
|
|
api_key=API_KEY,
|
|
)
|
|
|
|
trading_client = PerpetualTradingClient(MAINNET_CONFIG, stark_account)
|
|
|
|
try:
|
|
await trading_client.account.get_balance()
|
|
except ValueError as e:
|
|
logging.critical(f'Failed to get balance after creation of trading account: {e}')
|
|
|
|
return stark_account, trading_client |