mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-09 16:28:06 +00:00
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
import websockets
|
|
import asyncio
|
|
from utils import default_example_setup, ws_send_tx
|
|
|
|
|
|
async def main():
|
|
client, api_client, ws_client_promise = default_example_setup()
|
|
|
|
# set up WS client and print a connected message
|
|
ws_client: websockets.ClientConnection = await ws_client_promise
|
|
print("Received:", await ws_client.recv())
|
|
|
|
# Note: the HTTP method `update_leverage` receives `leverage` as the argument,
|
|
# while the WS one that calls `sign_update_leverage` to get the TX to send it directly over WS
|
|
# receives `fraction` as the argument, which is 10_000 / leverage
|
|
# this was kept this way to not break backwards compatibility. Ideally, they would be consistent.
|
|
|
|
tx_type, tx_info, tx_hash, err = client.sign_update_leverage(
|
|
market_index=0,
|
|
fraction=10_000 // 50,
|
|
margin_mode=client.ISOLATED_MARGIN_MODE
|
|
)
|
|
if err is not None:
|
|
raise Exception(err)
|
|
await ws_send_tx(ws_client, tx_type, tx_info, tx_hash)
|
|
|
|
await client.close()
|
|
await api_client.close()
|
|
await ws_client.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|