decibel-python-sdk 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. decibel/__init__.py +247 -0
  2. decibel/_base.py +726 -0
  3. decibel/_constants.py +164 -0
  4. decibel/_fee_pay.py +301 -0
  5. decibel/_gas_price_manager.py +262 -0
  6. decibel/_order_status.py +138 -0
  7. decibel/_order_types.py +109 -0
  8. decibel/_pagination.py +82 -0
  9. decibel/_subaccount_types.py +43 -0
  10. decibel/_transaction_builder.py +325 -0
  11. decibel/_utils.py +432 -0
  12. decibel/_version.py +1 -0
  13. decibel/abi/__init__.py +23 -0
  14. decibel/abi/__main__.py +4 -0
  15. decibel/abi/_registry.py +89 -0
  16. decibel/abi/_types.py +55 -0
  17. decibel/abi/generate.py +183 -0
  18. decibel/abi/json/netna.json +2417 -0
  19. decibel/abi/json/testnet.json +2919 -0
  20. decibel/admin.py +868 -0
  21. decibel/py.typed +0 -0
  22. decibel/read/__init__.py +279 -0
  23. decibel/read/_account_overview.py +119 -0
  24. decibel/read/_base.py +137 -0
  25. decibel/read/_candlesticks.py +97 -0
  26. decibel/read/_delegations.py +32 -0
  27. decibel/read/_leaderboard.py +64 -0
  28. decibel/read/_market_contexts.py +35 -0
  29. decibel/read/_market_depth.py +81 -0
  30. decibel/read/_market_prices.py +100 -0
  31. decibel/read/_market_trades.py +81 -0
  32. decibel/read/_markets.py +146 -0
  33. decibel/read/_portfolio_chart.py +48 -0
  34. decibel/read/_trading_points.py +36 -0
  35. decibel/read/_types.py +136 -0
  36. decibel/read/_user_active_twaps.py +70 -0
  37. decibel/read/_user_bulk_orders.py +73 -0
  38. decibel/read/_user_fund_history.py +49 -0
  39. decibel/read/_user_funding_history.py +45 -0
  40. decibel/read/_user_notifications.py +87 -0
  41. decibel/read/_user_open_orders.py +91 -0
  42. decibel/read/_user_order_history.py +101 -0
  43. decibel/read/_user_positions.py +84 -0
  44. decibel/read/_user_subaccounts.py +35 -0
  45. decibel/read/_user_trade_history.py +77 -0
  46. decibel/read/_user_twap_history.py +32 -0
  47. decibel/read/_vaults.py +218 -0
  48. decibel/read/_ws.py +245 -0
  49. decibel/write/__init__.py +1949 -0
  50. decibel/write/_types.py +190 -0
  51. decibel_python_sdk-0.1.0.dist-info/METADATA +255 -0
  52. decibel_python_sdk-0.1.0.dist-info/RECORD +53 -0
  53. decibel_python_sdk-0.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,190 @@
1
+ from __future__ import annotations
2
+
3
+ from enum import IntEnum
4
+ from typing import TYPE_CHECKING, NotRequired, TypedDict
5
+
6
+ if TYPE_CHECKING:
7
+ from aptos_sdk.account import Account
8
+
9
+ __all__ = [
10
+ "TimeInForce",
11
+ "PlaceOrderArgs",
12
+ "PlaceTwapOrderArgs",
13
+ "CancelOrderArgs",
14
+ "CancelClientOrderArgs",
15
+ "CancelTwapOrderArgs",
16
+ "ConfigureUserSettingsArgs",
17
+ "DelegateTradingArgs",
18
+ "RevokeDelegationArgs",
19
+ "PlaceTpSlOrderArgs",
20
+ "UpdateTpOrderArgs",
21
+ "UpdateSlOrderArgs",
22
+ "CancelTpSlOrderArgs",
23
+ "ApproveBuilderFeeArgs",
24
+ "RevokeBuilderFeeArgs",
25
+ "DeactivateSubaccountArgs",
26
+ "DelegateDexActionsArgs",
27
+ "PlaceBulkOrdersArgs",
28
+ "CancelBulkOrderArgs",
29
+ ]
30
+
31
+
32
+ class TimeInForce(IntEnum):
33
+ GoodTillCanceled = 0
34
+ PostOnly = 1
35
+ ImmediateOrCancel = 2
36
+
37
+
38
+ class PlaceOrderArgs(TypedDict, total=False):
39
+ market_name: str
40
+ price: float
41
+ size: float
42
+ is_buy: bool
43
+ time_in_force: TimeInForce
44
+ is_reduce_only: bool
45
+ client_order_id: str | None
46
+ stop_price: float | None
47
+ tp_trigger_price: float | None
48
+ tp_limit_price: float | None
49
+ sl_trigger_price: float | None
50
+ sl_limit_price: float | None
51
+ builder_addr: str | None
52
+ builder_fee: float | None
53
+ subaccount_addr: str | None
54
+ account_override: Account | None
55
+ tick_size: float | None
56
+
57
+
58
+ class PlaceTwapOrderArgs(TypedDict, total=False):
59
+ market_name: str
60
+ size: float
61
+ is_buy: bool
62
+ is_reduce_only: bool
63
+ client_order_id: str | None
64
+ twap_frequency_seconds: int
65
+ twap_duration_seconds: int
66
+ builder_address: str | None
67
+ builder_fees: float | None
68
+ subaccount_addr: str | None
69
+ account_override: Account | None
70
+
71
+
72
+ class CancelOrderArgs(TypedDict, total=False):
73
+ order_id: int | str
74
+ market_name: NotRequired[str]
75
+ market_addr: NotRequired[str]
76
+ subaccount_addr: str | None
77
+ account_override: Account | None
78
+
79
+
80
+ class CancelClientOrderArgs(TypedDict):
81
+ client_order_id: str
82
+ market_name: str
83
+ subaccount_addr: NotRequired[str | None]
84
+ account_override: NotRequired[Account | None]
85
+
86
+
87
+ class CancelTwapOrderArgs(TypedDict):
88
+ order_id: str
89
+ market_addr: str
90
+ subaccount_addr: NotRequired[str | None]
91
+ account_override: NotRequired[Account | None]
92
+
93
+
94
+ class ConfigureUserSettingsArgs(TypedDict):
95
+ market_addr: str
96
+ subaccount_addr: str
97
+ is_cross: bool
98
+ user_leverage: int
99
+
100
+
101
+ class DelegateTradingArgs(TypedDict):
102
+ subaccount_addr: str
103
+ account_to_delegate_to: str
104
+ expiration_timestamp_secs: NotRequired[int | None]
105
+
106
+
107
+ class RevokeDelegationArgs(TypedDict):
108
+ account_to_revoke: str
109
+ subaccount_addr: NotRequired[str | None]
110
+
111
+
112
+ class PlaceTpSlOrderArgs(TypedDict, total=False):
113
+ market_addr: str
114
+ tp_trigger_price: float | None
115
+ tp_limit_price: float | None
116
+ tp_size: float | None
117
+ sl_trigger_price: float | None
118
+ sl_limit_price: float | None
119
+ sl_size: float | None
120
+ subaccount_addr: str | None
121
+ account_override: Account | None
122
+ tick_size: float | None
123
+
124
+
125
+ class UpdateTpOrderArgs(TypedDict, total=False):
126
+ market_addr: str
127
+ prev_order_id: int | str
128
+ tp_trigger_price: float | None
129
+ tp_limit_price: float | None
130
+ tp_size: float | None
131
+ subaccount_addr: str | None
132
+ account_override: Account | None
133
+
134
+
135
+ class UpdateSlOrderArgs(TypedDict, total=False):
136
+ market_addr: str
137
+ prev_order_id: int | str
138
+ sl_trigger_price: float | None
139
+ sl_limit_price: float | None
140
+ sl_size: float | None
141
+ subaccount_addr: str | None
142
+ account_override: Account | None
143
+
144
+
145
+ class CancelTpSlOrderArgs(TypedDict):
146
+ market_addr: str
147
+ order_id: int | str
148
+ subaccount_addr: NotRequired[str | None]
149
+ account_override: NotRequired[Account | None]
150
+
151
+
152
+ class ApproveBuilderFeeArgs(TypedDict):
153
+ builder_addr: str
154
+ max_fee: int
155
+ subaccount_addr: NotRequired[str | None]
156
+
157
+
158
+ class RevokeBuilderFeeArgs(TypedDict):
159
+ builder_addr: str
160
+ subaccount_addr: NotRequired[str | None]
161
+
162
+
163
+ class DeactivateSubaccountArgs(TypedDict):
164
+ subaccount_addr: str
165
+ revoke_all_delegations: NotRequired[bool]
166
+
167
+
168
+ class DelegateDexActionsArgs(TypedDict):
169
+ vault_address: str
170
+ account_to_delegate_to: str
171
+ expiration_timestamp_secs: NotRequired[int | None]
172
+
173
+
174
+ class PlaceBulkOrdersArgs(TypedDict, total=False):
175
+ market_name: str
176
+ sequence_number: int
177
+ bid_prices: list[int]
178
+ bid_sizes: list[int]
179
+ ask_prices: list[int]
180
+ ask_sizes: list[int]
181
+ builder_addr: str | None
182
+ builder_fee: int | None
183
+ subaccount_addr: str | None
184
+ account_override: Account | None
185
+
186
+
187
+ class CancelBulkOrderArgs(TypedDict, total=False):
188
+ market_name: str
189
+ subaccount_addr: str | None
190
+ account_override: Account | None
@@ -0,0 +1,255 @@
1
+ Metadata-Version: 2.4
2
+ Name: decibel-python-sdk
3
+ Version: 0.1.0
4
+ Summary: Python SDK for interacting with Decibel, a fully on-chain trading engine built on Aptos.
5
+ Keywords: decibel,aptos,blockchain,trading,sdk
6
+ Author: Decibel
7
+ Author-email: Decibel <support@decibel.trade>
8
+ License-Expression: MIT
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Typing :: Typed
17
+ Requires-Dist: aptos-sdk>=0.11.0
18
+ Requires-Dist: httpx>=0.28.0
19
+ Requires-Dist: pydantic>=2.0.0
20
+ Requires-Dist: websockets>=14.0
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+
24
+ # decibel-python-sdk
25
+
26
+ <div align="center">
27
+
28
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
29
+ [![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
30
+ [![Type checked: pyright](https://img.shields.io/badge/type%20checked-pyright-blue.svg)](https://github.com/microsoft/pyright)
31
+ [![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
32
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
33
+
34
+ Python SDK for interacting with [Decibel](https://decibel.trade), a fully on-chain trading engine built on [Aptos](https://aptos.dev).
35
+
36
+ **[📚 View Full Documentation →](https://docs.decibel.trade)**
37
+
38
+ </div>
39
+
40
+ ## Installation
41
+
42
+ ```bash
43
+ pip install decibel-python-sdk
44
+ ```
45
+
46
+ Or with [uv](https://docs.astral.sh/uv/):
47
+
48
+ ```bash
49
+ uv add decibel-python-sdk
50
+ ```
51
+
52
+ ## Configuration
53
+
54
+ Set the following environment variables:
55
+
56
+ ```bash
57
+ # Required for write operations
58
+ export PRIVATE_KEY="your_private_key_hex"
59
+
60
+ # Optional: for better rate limits
61
+ export APTOS_NODE_API_KEY="your_aptos_node_api_key"
62
+ ```
63
+
64
+ > **New to Decibel?** Follow the [Getting Started Guide](https://docs.decibel.trade/quickstart/overview) to create your API Wallet and get your API key from [Geomi](https://geomi.dev).
65
+
66
+ ## Quick Start
67
+
68
+ ### Reading Market Data
69
+
70
+ ```python
71
+ import asyncio
72
+ from decibel import NETNA_CONFIG
73
+ from decibel.read import DecibelReadDex
74
+
75
+ async def main():
76
+ read = DecibelReadDex(NETNA_CONFIG)
77
+
78
+ # Get all markets
79
+ markets = await read.markets.get_all()
80
+ for market in markets:
81
+ print(f"{market.market_name}: {market.max_leverage}x leverage")
82
+
83
+ # Get market prices
84
+ prices = await read.market_prices.get_all()
85
+ for price in prices:
86
+ print(f"{price.market}: ${price.mark_px}")
87
+
88
+ asyncio.run(main())
89
+ ```
90
+
91
+ ### Placing Orders
92
+
93
+ ```python
94
+ import asyncio
95
+ import os
96
+ from aptos_sdk.account import Account
97
+ from aptos_sdk.ed25519 import PrivateKey
98
+ from decibel import (
99
+ NETNA_CONFIG,
100
+ BaseSDKOptions,
101
+ DecibelWriteDex,
102
+ GasPriceManager,
103
+ PlaceOrderSuccess,
104
+ TimeInForce,
105
+ amount_to_chain_units,
106
+ )
107
+ from decibel.read import DecibelReadDex
108
+
109
+ async def main():
110
+ private_key = PrivateKey.from_hex(os.environ["PRIVATE_KEY"])
111
+ account = Account.load_key(private_key.hex())
112
+
113
+ gas = GasPriceManager(NETNA_CONFIG)
114
+ await gas.initialize()
115
+
116
+ read = DecibelReadDex(NETNA_CONFIG)
117
+ markets = await read.markets.get_all()
118
+ btc = next(m for m in markets if m.market_name == "BTC/USD")
119
+
120
+ write = DecibelWriteDex(
121
+ NETNA_CONFIG,
122
+ account,
123
+ opts=BaseSDKOptions(gas_price_manager=gas),
124
+ )
125
+
126
+ result = await write.place_order(
127
+ market_name="BTC/USD",
128
+ price=amount_to_chain_units(100000.0, btc.px_decimals),
129
+ size=amount_to_chain_units(0.001, btc.sz_decimals),
130
+ is_buy=True,
131
+ time_in_force=TimeInForce.GoodTilCancelled,
132
+ is_reduce_only=False,
133
+ )
134
+
135
+ if isinstance(result, PlaceOrderSuccess):
136
+ print(f"Order placed! ID: {result.order_id}")
137
+ else:
138
+ print(f"Order failed: {result.error}")
139
+
140
+ await gas.destroy()
141
+
142
+ asyncio.run(main())
143
+ ```
144
+
145
+ ### WebSocket Streaming
146
+
147
+ ```python
148
+ import asyncio
149
+ from decibel import NETNA_CONFIG
150
+ from decibel.read import DecibelReadDex
151
+
152
+ async def main():
153
+ read = DecibelReadDex(NETNA_CONFIG)
154
+
155
+ def on_price(msg):
156
+ price = msg.price
157
+ print(f"BTC/USD: ${price.mark_px}")
158
+
159
+ unsubscribe = read.market_prices.subscribe_by_name("BTC/USD", on_price)
160
+
161
+ await asyncio.sleep(30)
162
+ unsubscribe()
163
+ await read.ws.close()
164
+
165
+ asyncio.run(main())
166
+ ```
167
+
168
+ ## Examples
169
+
170
+ See the [examples](examples) directory for complete working examples:
171
+
172
+ - **[examples/read](examples/read)** - REST API queries (markets, prices, positions, orders)
173
+ - **[examples/read/ws](examples/read/ws)** - WebSocket subscriptions (real-time streaming)
174
+ - **[examples/write](examples/write)** - Trading operations (orders, deposits, withdrawals)
175
+
176
+ ## API Reference
177
+
178
+ ### Network Configs
179
+
180
+ ```python
181
+ from decibel import NETNA_CONFIG, TESTNET_CONFIG
182
+
183
+ # NETNA_CONFIG - Dev Network
184
+ # TESTNET_CONFIG - Test network
185
+ ```
186
+
187
+ ### Read Client
188
+
189
+ ```python
190
+ from decibel.read import DecibelReadDex
191
+
192
+ read = DecibelReadDex(config, api_key=None)
193
+
194
+ # Market data
195
+ read.markets.get_all()
196
+ read.market_prices.get_all()
197
+ read.market_prices.get_by_name(market_name)
198
+ read.market_depth.get_by_name(market_name, limit=50)
199
+ read.market_trades.get_by_name(market_name)
200
+ read.candlesticks.get_by_name(market_name, interval, start_time, end_time)
201
+
202
+ # User data
203
+ read.user_positions.get_by_addr(sub_addr)
204
+ read.user_open_orders.get_by_addr(sub_addr)
205
+ read.user_order_history.get_by_addr(sub_addr)
206
+ read.user_trade_history.get_by_addr(sub_addr)
207
+ read.account_overview.get_by_addr(sub_addr)
208
+
209
+ # WebSocket subscriptions
210
+ read.market_prices.subscribe_by_name(market_name, callback)
211
+ read.market_depth.subscribe_by_name(market_name, aggregation_size, callback)
212
+ read.user_positions.subscribe_by_addr(sub_addr, callback)
213
+ ```
214
+
215
+ ### Write Client
216
+
217
+ ```python
218
+ from decibel import DecibelWriteDex, TimeInForce
219
+
220
+ write = DecibelWriteDex(config, account, opts)
221
+
222
+ # Orders
223
+ write.place_order(market_name, price, size, is_buy, time_in_force, is_reduce_only)
224
+ write.cancel_order(market_name, order_id)
225
+ write.cancel_order_by_client_id(market_name, client_order_id)
226
+
227
+ # TP/SL
228
+ write.place_tp_sl_for_position(market_name, tp_price, sl_price, ...)
229
+ write.update_tp_order(market_name, order_id, new_trigger_price, ...)
230
+ write.update_sl_order(market_name, order_id, new_trigger_price, ...)
231
+
232
+ # Collateral
233
+ write.deposit(amount)
234
+ write.withdraw(amount)
235
+ ```
236
+
237
+ ## Development
238
+
239
+ ```bash
240
+ uv sync --all-extras # Install dependencies
241
+ uv run pre-commit install # Setup pre-commit hooks
242
+ uv run pytest # Run tests
243
+ uv run ruff check . # Lint
244
+ uv run pyright # Type check
245
+ ```
246
+
247
+ ## Resources
248
+
249
+ - [📚 Documentation](https://docs.decibel.trade) - Full API documentation
250
+ - [🌐 Trading Platform](https://app.decibel.trade) - Decibel trading interface
251
+ - [💬 Discord](https://discord.gg/decibel) - Community support
252
+
253
+ ## License
254
+
255
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
@@ -0,0 +1,53 @@
1
+ decibel/__init__.py,sha256=2izkLHNyNNFzEkpzkzRbVjex-yL0e5F_8GPnWsWj8uM,5952
2
+ decibel/_base.py,sha256=dfpMPL9tNgGx9wX9Wwxm-ttu6ykkSKlbDMah_4adKfM,25894
3
+ decibel/_constants.py,sha256=dbQVBwCupucXT-bmp8-KggbdxjNRYxFmreOdAmZhGfg,4955
4
+ decibel/_fee_pay.py,sha256=zyBfqnOChlHBdO9lTO6BfR-0pARQE6Sldcta-iZVwts,9466
5
+ decibel/_gas_price_manager.py,sha256=-nZYWrpzwvGbCu1ywRLzdoIxU79TI1C0UR9tCpuJM8g,7915
6
+ decibel/_order_status.py,sha256=siqf0iL8FDKixz0B0usq7zH2jVkS2bl0XqDCEdMVdvs,4000
7
+ decibel/_order_types.py,sha256=mmmcFRX1rbeeUmWEd1zpq9qhutmSozZdFgohEvV_CWc,2378
8
+ decibel/_pagination.py,sha256=ZJ02B3cnM2UHE6X1q2QDc_GvVd8Tgwqf00QiJdmM3TU,1842
9
+ decibel/_subaccount_types.py,sha256=Khp_iXyAGX8CaFpJfd9ARnXN6qVMwcT-ANylaXuJOZw,972
10
+ decibel/_transaction_builder.py,sha256=PXoFvQ6kknzhX2PUPkEj89fKDeedHQNZCIsRiNDyIMg,10727
11
+ decibel/_utils.py,sha256=-i1yHiAXPkiWjqm9-BWgBOjVE4JnRKJOS95VDjLraxw,12851
12
+ decibel/_version.py,sha256=kUR5RAFc7HCeiqdlX36dZOHkUI5wI6V_43RpEcD8b-0,22
13
+ decibel/abi/__init__.py,sha256=0H9wpejYMJj-t-0z6ZazPUb4VJEd34zIdlNBDJ8eHu8,398
14
+ decibel/abi/__main__.py,sha256=AJQyxHBa3B7PuVpexW7vGmxtBpd4Q_RfHzIZZTq6mD4,75
15
+ decibel/abi/_registry.py,sha256=nQnP2z90NcuAOic_QXdlRqVK2gwnVHROhDKzctt0zoc,2716
16
+ decibel/abi/_types.py,sha256=3mcLZQZMZtY7YfNXUCLAZIDbf3omd7e7YV3O5ETDYNg,1241
17
+ decibel/abi/generate.py,sha256=Ukx_ZXHmFFn4zZunCf5FiTx5p_j5xM2REE-qrjv14w0,5554
18
+ decibel/abi/json/netna.json,sha256=MmM-09B49lnXZvCyZv-P0qmqoKvgqlHIba_QqHI5jTU,83693
19
+ decibel/abi/json/testnet.json,sha256=uKBgFK_hK3VI9XCRe4PGN37-lzx0cRVowiVfSw4-NOA,100182
20
+ decibel/admin.py,sha256=7oL9EtmafnWow8k9wUSoIFEcCaisp6XS8-WNgj6ec3o,29404
21
+ decibel/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ decibel/read/__init__.py,sha256=paIZctG0lOuHJu-PYG33nTJWtRpBml9V5m-OMUH98yQ,7183
23
+ decibel/read/_account_overview.py,sha256=fx5N72HHwsFFVfCyM4SaMUw35y9dSIf95sXu0IVZlK8,3378
24
+ decibel/read/_base.py,sha256=rwPhe6cg7-1vm4cbi8tonXY1R9fj30cY2Jr91RUBXiI,2932
25
+ decibel/read/_candlesticks.py,sha256=-WSODzZd8YEueW8uhFhJEqJyUJ6S5E2vjUTIG9XPynI,2583
26
+ decibel/read/_delegations.py,sha256=SEWIHbVKq2m_iTuSVkM1EYs8s1AzM77OA_FZfAHhbfo,761
27
+ decibel/read/_leaderboard.py,sha256=QQUTpjilH9TIdbC-gURouUqFWrVt4NVf75VgU9qH7nM,1682
28
+ decibel/read/_market_contexts.py,sha256=kx1aO1ZXRW_Cdbw2EAOGm0NF92qN14lW4yiNcVz-cBw,898
29
+ decibel/read/_market_depth.py,sha256=2Cv7_pRkby1OH0bDBT0tZkhS1jE8lIyYUAlBVxW7C4Y,2350
30
+ decibel/read/_market_prices.py,sha256=W9Hb_Pl61YVsnZe3B1BeL3rjqBkmJSlD-H2uIqY89KI,2805
31
+ decibel/read/_market_trades.py,sha256=-r5L1SIrysiV2qRMOc1IPPn_2HlfeFlPxtAesiF6-0k,2066
32
+ decibel/read/_markets.py,sha256=hrOEJ8OWCRBWsOjN6KME64Kvh80Eu80WN-LL5g5S_5Q,4212
33
+ decibel/read/_portfolio_chart.py,sha256=4hr1XE0KJ1cED3wj0sbA0SMJ5RRz8lCnHW7zgMes7r8,1187
34
+ decibel/read/_trading_points.py,sha256=U6b_lNQdWeav4-q3sAd1lSIi7_ymDtydGjwvY_PDQ5s,866
35
+ decibel/read/_types.py,sha256=9GvuaOjxJ6kucxkxwy0laTk_oLGkqIw391OFg7W8AtY,3047
36
+ decibel/read/_user_active_twaps.py,sha256=JU34bH7IQH5lomhuUsy22AInaWYj_wvphl5YdXL_FJY,1752
37
+ decibel/read/_user_bulk_orders.py,sha256=nu4HFzl0kYHe3tr62DV55aWk62j_QteFAaWqUkhcqwQ,1889
38
+ decibel/read/_user_fund_history.py,sha256=UoG_ItqysDHeNWERJHe2xLKSBdv_JPiI6_0KxCoO9Bw,1179
39
+ decibel/read/_user_funding_history.py,sha256=FRut1YrnfSJM8MD7RTwvRQ1Hp7_jRl5YoysG2lr-RpQ,1079
40
+ decibel/read/_user_notifications.py,sha256=qjf0T-ZB02KASWUubHxIoeiVFm5nHJpAhNczKoJwkoA,2556
41
+ decibel/read/_user_open_orders.py,sha256=QLI27Er0-IgE2_JFTyuJJgRQqt051k-hRw4eLZx7RAc,2341
42
+ decibel/read/_user_order_history.py,sha256=cVQoU9eGC2U71_lVA0YpSLCxv6Pwy9qZqTd-gXlxfSo,2395
43
+ decibel/read/_user_positions.py,sha256=8kNYFKOBi9_IKP65y7V-sd6Oh8vF8RyUyYaC59jccJo,2142
44
+ decibel/read/_user_subaccounts.py,sha256=pGCy4W_OYideDZ2qknNa9juG2bO8rj7CETDoqiouCCo,910
45
+ decibel/read/_user_trade_history.py,sha256=XpvDujyntU_vaXl7zb_74IKMyII6CW5Mfk81J2FIZI0,1892
46
+ decibel/read/_user_twap_history.py,sha256=K6OBZw2HAkMm-K5Z0SFHg1VTBasVL7YppybJ5Ndt7J8,800
47
+ decibel/read/_vaults.py,sha256=ajmDBNOdgF3ieBxPZzdFmECJ1-WRavWv7Kg5mbTfDac,6039
48
+ decibel/read/_ws.py,sha256=GIFMQFI603mdY9ZUtw-YGaxE8wPPTdYqj0hkjyCigbA,8473
49
+ decibel/write/__init__.py,sha256=iffod3tCkXMV7Jp-2fmHiUvHgpFxF081iIs4u8pC14Q,69093
50
+ decibel/write/_types.py,sha256=gdFa4u6QXF5nQbQeJhfMeo4sX0f6aVCpl5Hy7DjXC8s,4693
51
+ decibel_python_sdk-0.1.0.dist-info/WHEEL,sha256=fAguSjoiATBe7TNBkJwOjyL1Tt4wwiaQGtNtjRPNMQA,80
52
+ decibel_python_sdk-0.1.0.dist-info/METADATA,sha256=8umFjvUTr48fDVoOz3wJjcZ5OQYjq-UMichIu84Q6o8,7177
53
+ decibel_python_sdk-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.9.28
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any