From 3010961b696545209b2ec08d162d8885ec60cdda Mon Sep 17 00:00:00 2001 From: Davide Casale Date: Wed, 24 Apr 2024 17:42:46 +0200 Subject: [PATCH] Add /examples/websocket/auth/calc.py demo to show how calc works. --- examples/websocket/auth/calc.py | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 examples/websocket/auth/calc.py diff --git a/examples/websocket/auth/calc.py b/examples/websocket/auth/calc.py new file mode 100644 index 0000000..3099f00 --- /dev/null +++ b/examples/websocket/auth/calc.py @@ -0,0 +1,40 @@ +# python -c "import examples.websocket.auth.calc" + +import os + +from bfxapi import Client +from bfxapi.types import BaseMarginInfo, FundingInfo, SymbolMarginInfo + +bfx = Client( + api_key=os.getenv("BFX_API_KEY"), + api_secret=os.getenv("BFX_API_SECRET"), +) + + +@bfx.wss.on("authenticated") +async def on_authenticated(_): + await bfx.wss.inputs.calc("margin_base") + + await bfx.wss.inputs.calc("margin_sym_tBTCUSD") + + await bfx.wss.inputs.calc("funding_sym_fUST") + + +@bfx.wss.on("base_margin_info") +def on_base_margin_info(data: BaseMarginInfo): + print("Base margin info:", data) + + +@bfx.wss.on("symbol_margin_info") +def on_symbol_margin_info(data: SymbolMarginInfo): + if data.symbol == "tBTCUSD": + print("Symbol margin info:", data) + + +@bfx.wss.on("funding_info_update") +def on_funding_info_update(data: FundingInfo): + if data.symbol == "fUST": + print("Funding info update:", data) + + +bfx.wss.run()