@decibeltrade/sdk 0.1.1
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.
- package/.turbo/turbo-build.log +4 -0
- package/.turbo/turbo-lint$colon$check.log +5 -0
- package/.turbo/turbo-lint.log +5 -0
- package/decibel_transactions.md +1049 -0
- package/dist/abi/abi-manager.d.ts +13 -0
- package/dist/abi/abi-manager.d.ts.map +1 -0
- package/dist/abi/abi-manager.js +21 -0
- package/dist/abi/abis.json +1322 -0
- package/dist/abi/bytecode-manager.d.ts +57 -0
- package/dist/abi/bytecode-manager.d.ts.map +1 -0
- package/dist/abi/bytecode-manager.js +62 -0
- package/dist/abi/bytecode.json +24 -0
- package/dist/abi/fetch-abis.d.ts +7 -0
- package/dist/abi/fetch-abis.d.ts.map +1 -0
- package/dist/abi/fetch-abis.js +132 -0
- package/dist/abi/fetch-bytecode.d.ts +24 -0
- package/dist/abi/fetch-bytecode.d.ts.map +1 -0
- package/dist/abi/fetch-bytecode.js +123 -0
- package/dist/abi/generate-abis.d.ts +6 -0
- package/dist/abi/generate-abis.d.ts.map +1 -0
- package/dist/abi/generate-abis.js +170 -0
- package/dist/abi/json/netna.json +1323 -0
- package/dist/abi/json/testnet.json +1315 -0
- package/dist/abi/types.d.ts +22 -0
- package/dist/abi/types.d.ts.map +1 -0
- package/dist/abi/types.js +2 -0
- package/dist/admin.d.ts +29 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +203 -0
- package/dist/base.d.ts +42 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +176 -0
- package/dist/constants.d.ts +41 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +78 -0
- package/dist/fee-pay.d.ts +11 -0
- package/dist/fee-pay.d.ts.map +1 -0
- package/dist/fee-pay.js +30 -0
- package/dist/gas/gas-price-manager.d.ts +35 -0
- package/dist/gas/gas-price-manager.d.ts.map +1 -0
- package/dist/gas/gas-price-manager.js +93 -0
- package/dist/gas-price-manager.d.ts +31 -0
- package/dist/gas-price-manager.d.ts.map +1 -0
- package/dist/gas-price-manager.js +84 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/order-event.types.d.ts +55 -0
- package/dist/order-event.types.d.ts.map +1 -0
- package/dist/order-event.types.js +3 -0
- package/dist/order-status.d.ts +43 -0
- package/dist/order-status.d.ts.map +1 -0
- package/dist/order-status.js +86 -0
- package/dist/read/account-overview/account-overview.reader.d.ts +37 -0
- package/dist/read/account-overview/account-overview.reader.d.ts.map +1 -0
- package/dist/read/account-overview/account-overview.reader.js +35 -0
- package/dist/read/account-overview/account-overview.types.d.ts +52 -0
- package/dist/read/account-overview/account-overview.types.d.ts.map +1 -0
- package/dist/read/account-overview/account-overview.types.js +36 -0
- package/dist/read/api-wallets/api-wallets.reader.d.ts +17 -0
- package/dist/read/api-wallets/api-wallets.reader.d.ts.map +1 -0
- package/dist/read/api-wallets/api-wallets.reader.js +27 -0
- package/dist/read/api-wallets/api-wallets.types.d.ts +17 -0
- package/dist/read/api-wallets/api-wallets.types.d.ts.map +1 -0
- package/dist/read/api-wallets/api-wallets.types.js +13 -0
- package/dist/read/base-reader.d.ts +22 -0
- package/dist/read/base-reader.d.ts.map +1 -0
- package/dist/read/base-reader.js +29 -0
- package/dist/read/candlesticks/candlesticks.reader.d.ts +31 -0
- package/dist/read/candlesticks/candlesticks.reader.d.ts.map +1 -0
- package/dist/read/candlesticks/candlesticks.reader.js +43 -0
- package/dist/read/candlesticks/candlesticks.types.d.ts +45 -0
- package/dist/read/candlesticks/candlesticks.types.d.ts.map +1 -0
- package/dist/read/candlesticks/candlesticks.types.js +36 -0
- package/dist/read/delegations/delegations.reader.d.ts +15 -0
- package/dist/read/delegations/delegations.reader.d.ts.map +1 -0
- package/dist/read/delegations/delegations.reader.js +23 -0
- package/dist/read/delegations/delegations.types.d.ts +17 -0
- package/dist/read/delegations/delegations.types.d.ts.map +1 -0
- package/dist/read/delegations/delegations.types.js +13 -0
- package/dist/read/index.d.ts +105 -0
- package/dist/read/index.d.ts.map +1 -0
- package/dist/read/index.js +244 -0
- package/dist/read/leaderboard/leaderboard.reader.d.ts +21 -0
- package/dist/read/leaderboard/leaderboard.reader.d.ts.map +1 -0
- package/dist/read/leaderboard/leaderboard.reader.js +22 -0
- package/dist/read/leaderboard/leaderboard.types.d.ts +27 -0
- package/dist/read/leaderboard/leaderboard.types.d.ts.map +1 -0
- package/dist/read/leaderboard/leaderboard.types.js +14 -0
- package/dist/read/market-contexts/market-contexts.reader.d.ts +22 -0
- package/dist/read/market-contexts/market-contexts.reader.d.ts.map +1 -0
- package/dist/read/market-contexts/market-contexts.reader.js +27 -0
- package/dist/read/market-contexts/market-contexts.types.d.ts +26 -0
- package/dist/read/market-contexts/market-contexts.types.d.ts.map +1 -0
- package/dist/read/market-contexts/market-contexts.types.js +19 -0
- package/dist/read/market-depth/market-depth.reader.d.ts +30 -0
- package/dist/read/market-depth/market-depth.reader.d.ts.map +1 -0
- package/dist/read/market-depth/market-depth.reader.js +46 -0
- package/dist/read/market-depth/market-depth.types.d.ts +20 -0
- package/dist/read/market-depth/market-depth.types.d.ts.map +1 -0
- package/dist/read/market-depth/market-depth.types.js +16 -0
- package/dist/read/market-prices/market-prices.reader.d.ts +44 -0
- package/dist/read/market-prices/market-prices.reader.d.ts.map +1 -0
- package/dist/read/market-prices/market-prices.reader.js +51 -0
- package/dist/read/market-prices/market-prices.types.d.ts +48 -0
- package/dist/read/market-prices/market-prices.types.d.ts.map +1 -0
- package/dist/read/market-prices/market-prices.types.js +26 -0
- package/dist/read/market-trades/market-trades.reader.d.ts +33 -0
- package/dist/read/market-trades/market-trades.reader.d.ts.map +1 -0
- package/dist/read/market-trades/market-trades.reader.js +39 -0
- package/dist/read/market-trades/market-trades.types.d.ts +52 -0
- package/dist/read/market-trades/market-trades.types.d.ts.map +1 -0
- package/dist/read/market-trades/market-trades.types.js +23 -0
- package/dist/read/markets/markets.reader.d.ts +38 -0
- package/dist/read/markets/markets.reader.d.ts.map +1 -0
- package/dist/read/markets/markets.reader.js +80 -0
- package/dist/read/markets/markets.types.d.ts +82 -0
- package/dist/read/markets/markets.types.d.ts.map +1 -0
- package/dist/read/markets/markets.types.js +46 -0
- package/dist/read/pagination.types.d.ts +14 -0
- package/dist/read/pagination.types.d.ts.map +1 -0
- package/dist/read/pagination.types.js +12 -0
- package/dist/read/portfolio-chart/portfolio-chart.reader.d.ts +14 -0
- package/dist/read/portfolio-chart/portfolio-chart.reader.d.ts.map +1 -0
- package/dist/read/portfolio-chart/portfolio-chart.reader.js +21 -0
- package/dist/read/portfolio-chart/portfolio-chart.types.d.ts +14 -0
- package/dist/read/portfolio-chart/portfolio-chart.types.d.ts.map +1 -0
- package/dist/read/portfolio-chart/portfolio-chart.types.js +12 -0
- package/dist/read/public-vaults/public-vaults.reader.d.ts +38 -0
- package/dist/read/public-vaults/public-vaults.reader.d.ts.map +1 -0
- package/dist/read/public-vaults/public-vaults.reader.js +31 -0
- package/dist/read/public-vaults/public-vaults.types.d.ts +62 -0
- package/dist/read/public-vaults/public-vaults.types.d.ts.map +1 -0
- package/dist/read/public-vaults/public-vaults.types.js +33 -0
- package/dist/read/types.d.ts +178 -0
- package/dist/read/types.d.ts.map +1 -0
- package/dist/read/types.js +87 -0
- package/dist/read/user-active-twaps/user-active-twaps.reader.d.ts +31 -0
- package/dist/read/user-active-twaps/user-active-twaps.reader.d.ts.map +1 -0
- package/dist/read/user-active-twaps/user-active-twaps.reader.js +31 -0
- package/dist/read/user-active-twaps/user-active-twaps.types.d.ts +49 -0
- package/dist/read/user-active-twaps/user-active-twaps.types.d.ts.map +1 -0
- package/dist/read/user-active-twaps/user-active-twaps.types.js +25 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.reader.d.ts +31 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.reader.d.ts.map +1 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.reader.js +32 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.types.d.ts +46 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.types.d.ts.map +1 -0
- package/dist/read/user-bulk-orders/user-bulk-orders.types.js +24 -0
- package/dist/read/user-funding-history/user-funding-history.reader.d.ts +28 -0
- package/dist/read/user-funding-history/user-funding-history.reader.d.ts.map +1 -0
- package/dist/read/user-funding-history/user-funding-history.reader.js +32 -0
- package/dist/read/user-funding-history/user-funding-history.types.d.ts +37 -0
- package/dist/read/user-funding-history/user-funding-history.types.d.ts.map +1 -0
- package/dist/read/user-funding-history/user-funding-history.types.js +21 -0
- package/dist/read/user-notifications/user-notifications.reader.d.ts +13 -0
- package/dist/read/user-notifications/user-notifications.reader.d.ts.map +1 -0
- package/dist/read/user-notifications/user-notifications.reader.js +19 -0
- package/dist/read/user-notifications/user-notifications.types.d.ts +49 -0
- package/dist/read/user-notifications/user-notifications.types.d.ts.map +1 -0
- package/dist/read/user-notifications/user-notifications.types.js +18 -0
- package/dist/read/user-open-orders/user-open-orders.reader.d.ts +40 -0
- package/dist/read/user-open-orders/user-open-orders.reader.d.ts.map +1 -0
- package/dist/read/user-open-orders/user-open-orders.reader.js +31 -0
- package/dist/read/user-open-orders/user-open-orders.types.d.ts +76 -0
- package/dist/read/user-open-orders/user-open-orders.types.d.ts.map +1 -0
- package/dist/read/user-open-orders/user-open-orders.types.js +34 -0
- package/dist/read/user-order-history/user-order-history.reader.d.ts +40 -0
- package/dist/read/user-order-history/user-order-history.reader.d.ts.map +1 -0
- package/dist/read/user-order-history/user-order-history.reader.js +28 -0
- package/dist/read/user-order-history/user-order-history.types.d.ts +85 -0
- package/dist/read/user-order-history/user-order-history.types.d.ts.map +1 -0
- package/dist/read/user-order-history/user-order-history.types.js +37 -0
- package/dist/read/user-positions/user-positions.reader.d.ts +37 -0
- package/dist/read/user-positions/user-positions.reader.d.ts.map +1 -0
- package/dist/read/user-positions/user-positions.reader.js +41 -0
- package/dist/read/user-positions/user-positions.types.d.ts +2590 -0
- package/dist/read/user-positions/user-positions.types.d.ts.map +1 -0
- package/dist/read/user-positions/user-positions.types.js +31 -0
- package/dist/read/user-subaccounts/user-subaccounts.reader.d.ts +18 -0
- package/dist/read/user-subaccounts/user-subaccounts.reader.d.ts.map +1 -0
- package/dist/read/user-subaccounts/user-subaccounts.reader.js +28 -0
- package/dist/read/user-subaccounts/user-subaccounts.types.d.ts +21 -0
- package/dist/read/user-subaccounts/user-subaccounts.types.d.ts.map +1 -0
- package/dist/read/user-subaccounts/user-subaccounts.types.js +15 -0
- package/dist/read/user-trade-history/user-trade-history.reader.d.ts +33 -0
- package/dist/read/user-trade-history/user-trade-history.reader.d.ts.map +1 -0
- package/dist/read/user-trade-history/user-trade-history.reader.js +32 -0
- package/dist/read/user-trade-history/user-trade-history.types.d.ts +52 -0
- package/dist/read/user-trade-history/user-trade-history.types.d.ts.map +1 -0
- package/dist/read/user-trade-history/user-trade-history.types.js +26 -0
- package/dist/read/user-vaults/user-vaults.reader.d.ts +26 -0
- package/dist/read/user-vaults/user-vaults.reader.d.ts.map +1 -0
- package/dist/read/user-vaults/user-vaults.reader.js +32 -0
- package/dist/read/user-vaults/user-vaults.types.d.ts +39 -0
- package/dist/read/user-vaults/user-vaults.types.d.ts.map +1 -0
- package/dist/read/user-vaults/user-vaults.types.js +21 -0
- package/dist/read/vault/vault.reader.d.ts +95 -0
- package/dist/read/vault/vault.reader.d.ts.map +1 -0
- package/dist/read/vault/vault.reader.js +168 -0
- package/dist/read/vault/vault.types.d.ts +49 -0
- package/dist/read/vault/vault.types.d.ts.map +1 -0
- package/dist/read/vault/vault.types.js +45 -0
- package/dist/read/vaults/vaults.reader.d.ts +72 -0
- package/dist/read/vaults/vaults.reader.d.ts.map +1 -0
- package/dist/read/vaults/vaults.reader.js +63 -0
- package/dist/read/vaults/vaults.types.d.ts +140 -0
- package/dist/read/vaults/vaults.types.d.ts.map +1 -0
- package/dist/read/vaults/vaults.types.js +71 -0
- package/dist/read/ws-subscription.d.ts +21 -0
- package/dist/read/ws-subscription.d.ts.map +1 -0
- package/dist/read/ws-subscription.js +170 -0
- package/dist/subaccount-types.d.ts +24 -0
- package/dist/subaccount-types.d.ts.map +1 -0
- package/dist/subaccount-types.js +11 -0
- package/dist/transaction-builder.d.ts +14 -0
- package/dist/transaction-builder.d.ts.map +1 -0
- package/dist/transaction-builder.js +40 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/utils.d.ts +56 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +164 -0
- package/dist/vault-types.d.ts +43 -0
- package/dist/vault-types.d.ts.map +1 -0
- package/dist/vault-types.js +11 -0
- package/dist/write.d.ts +271 -0
- package/dist/write.d.ts.map +1 -0
- package/dist/write.js +485 -0
- package/eslint.config.mjs +25 -0
- package/package.json +39 -0
- package/readme.md +257 -0
- package/sdk_reference.md +876 -0
- package/src/abi/generate-abis.ts +164 -0
- package/src/abi/json/netna.json +1323 -0
- package/src/abi/json/testnet.json +1315 -0
- package/src/abi/types.ts +23 -0
- package/src/admin.ts +284 -0
- package/src/base.ts +218 -0
- package/src/constants.ts +118 -0
- package/src/fee-pay.ts +39 -0
- package/src/gas/gas-price-manager.ts +115 -0
- package/src/index.ts +10 -0
- package/src/order-event.types.ts +65 -0
- package/src/order-status.ts +89 -0
- package/src/read/account-overview/account-overview.reader.ts +43 -0
- package/src/read/account-overview/account-overview.types.ts +45 -0
- package/src/read/base-reader.ts +41 -0
- package/src/read/candlesticks/candlesticks.reader.ts +61 -0
- package/src/read/candlesticks/candlesticks.types.ts +46 -0
- package/src/read/delegations/delegations.reader.ts +22 -0
- package/src/read/delegations/delegations.types.ts +19 -0
- package/src/read/index.ts +271 -0
- package/src/read/leaderboard/leaderboard.reader.ts +21 -0
- package/src/read/leaderboard/leaderboard.types.ts +26 -0
- package/src/read/market-contexts/market-contexts.reader.ts +26 -0
- package/src/read/market-contexts/market-contexts.types.ts +18 -0
- package/src/read/market-depth/market-depth.reader.ts +60 -0
- package/src/read/market-depth/market-depth.types.ts +24 -0
- package/src/read/market-prices/market-prices.reader.ts +61 -0
- package/src/read/market-prices/market-prices.types.ts +38 -0
- package/src/read/market-trades/market-trades.reader.ts +46 -0
- package/src/read/market-trades/market-trades.types.ts +34 -0
- package/src/read/markets/markets.reader.ts +82 -0
- package/src/read/markets/markets.types.ts +54 -0
- package/src/read/pagination.types.ts +18 -0
- package/src/read/portfolio-chart/portfolio-chart.reader.ts +20 -0
- package/src/read/portfolio-chart/portfolio-chart.types.ts +21 -0
- package/src/read/types.ts +129 -0
- package/src/read/user-active-twaps/user-active-twaps.reader.ts +36 -0
- package/src/read/user-active-twaps/user-active-twaps.types.ts +33 -0
- package/src/read/user-bulk-orders/user-bulk-orders.reader.ts +37 -0
- package/src/read/user-bulk-orders/user-bulk-orders.types.ts +32 -0
- package/src/read/user-funding-history/user-funding-history.reader.ts +38 -0
- package/src/read/user-funding-history/user-funding-history.types.ts +29 -0
- package/src/read/user-notifications/user-notifications.reader.ts +17 -0
- package/src/read/user-notifications/user-notifications.types.ts +61 -0
- package/src/read/user-open-orders/user-open-orders.reader.ts +36 -0
- package/src/read/user-open-orders/user-open-orders.types.ts +42 -0
- package/src/read/user-order-history/user-order-history.reader.ts +34 -0
- package/src/read/user-order-history/user-order-history.types.ts +44 -0
- package/src/read/user-positions/user-positions.reader.ts +55 -0
- package/src/read/user-positions/user-positions.types.ts +43 -0
- package/src/read/user-subaccounts/user-subaccounts.reader.ts +30 -0
- package/src/read/user-subaccounts/user-subaccounts.types.ts +21 -0
- package/src/read/user-trade-history/user-trade-history.reader.ts +38 -0
- package/src/read/user-trade-history/user-trade-history.types.ts +33 -0
- package/src/read/vaults/vaults.reader.ts +79 -0
- package/src/read/vaults/vaults.types.ts +106 -0
- package/src/read/ws-subscription.ts +200 -0
- package/src/subaccount-types.ts +31 -0
- package/src/transaction-builder.ts +75 -0
- package/src/utils.ts +255 -0
- package/src/write.ts +965 -0
- package/tsconfig.json +8 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.DecibelReadDex = void 0;
|
|
18
|
+
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
19
|
+
const account_overview_reader_1 = require("./account-overview/account-overview.reader");
|
|
20
|
+
const candlesticks_reader_1 = require("./candlesticks/candlesticks.reader");
|
|
21
|
+
const delegations_reader_1 = require("./delegations/delegations.reader");
|
|
22
|
+
const leaderboard_reader_1 = require("./leaderboard/leaderboard.reader");
|
|
23
|
+
const market_contexts_reader_1 = require("./market-contexts/market-contexts.reader");
|
|
24
|
+
const market_depth_reader_1 = require("./market-depth/market-depth.reader");
|
|
25
|
+
const market_prices_reader_1 = require("./market-prices/market-prices.reader");
|
|
26
|
+
const market_trades_reader_1 = require("./market-trades/market-trades.reader");
|
|
27
|
+
const markets_reader_1 = require("./markets/markets.reader");
|
|
28
|
+
const portfolio_chart_reader_1 = require("./portfolio-chart/portfolio-chart.reader");
|
|
29
|
+
const types_1 = require("./types");
|
|
30
|
+
const user_active_twaps_reader_1 = require("./user-active-twaps/user-active-twaps.reader");
|
|
31
|
+
const user_bulk_orders_reader_1 = require("./user-bulk-orders/user-bulk-orders.reader");
|
|
32
|
+
const user_funding_history_reader_1 = require("./user-funding-history/user-funding-history.reader");
|
|
33
|
+
const user_notifications_reader_1 = require("./user-notifications/user-notifications.reader");
|
|
34
|
+
const user_open_orders_reader_1 = require("./user-open-orders/user-open-orders.reader");
|
|
35
|
+
const user_order_history_reader_1 = require("./user-order-history/user-order-history.reader");
|
|
36
|
+
const user_positions_reader_1 = require("./user-positions/user-positions.reader");
|
|
37
|
+
const user_subaccounts_reader_1 = require("./user-subaccounts/user-subaccounts.reader");
|
|
38
|
+
const user_trade_history_reader_1 = require("./user-trade-history/user-trade-history.reader");
|
|
39
|
+
const vaults_reader_1 = require("./vaults/vaults.reader");
|
|
40
|
+
const ws_subscription_1 = require("./ws-subscription");
|
|
41
|
+
__exportStar(require("./types"), exports);
|
|
42
|
+
class DecibelReadDex {
|
|
43
|
+
config;
|
|
44
|
+
cache;
|
|
45
|
+
deps;
|
|
46
|
+
accountOverview;
|
|
47
|
+
markets;
|
|
48
|
+
marketContexts;
|
|
49
|
+
marketDepth;
|
|
50
|
+
marketPrices;
|
|
51
|
+
marketTrades;
|
|
52
|
+
userFundingHistory;
|
|
53
|
+
userTradeHistory;
|
|
54
|
+
candlesticks;
|
|
55
|
+
userSubaccounts;
|
|
56
|
+
userPositions;
|
|
57
|
+
userOrderHistory;
|
|
58
|
+
userOpenOrders;
|
|
59
|
+
userBulkOrders;
|
|
60
|
+
userActiveTwaps;
|
|
61
|
+
portfolioChart;
|
|
62
|
+
leaderboard;
|
|
63
|
+
vaults;
|
|
64
|
+
delegations;
|
|
65
|
+
userNotifications;
|
|
66
|
+
constructor(config, opts) {
|
|
67
|
+
this.config = config;
|
|
68
|
+
const aptosConfig = new ts_sdk_1.AptosConfig({
|
|
69
|
+
network: config.network,
|
|
70
|
+
fullnode: config.fullnodeUrl,
|
|
71
|
+
clientConfig: { API_KEY: opts?.nodeApiKey },
|
|
72
|
+
});
|
|
73
|
+
this.deps = {
|
|
74
|
+
aptos: new ts_sdk_1.Aptos(aptosConfig),
|
|
75
|
+
ws: new ws_subscription_1.DecibelWsSubscription(config, opts?.onWsError),
|
|
76
|
+
config: this.config,
|
|
77
|
+
apiKey: opts?.nodeApiKey,
|
|
78
|
+
};
|
|
79
|
+
this.cache = {};
|
|
80
|
+
this.accountOverview = new account_overview_reader_1.AccountOverviewReader(this.deps);
|
|
81
|
+
this.markets = new markets_reader_1.MarketsReader(this.deps);
|
|
82
|
+
this.marketContexts = new market_contexts_reader_1.MarketContextsReader(this.deps);
|
|
83
|
+
this.marketDepth = new market_depth_reader_1.MarketDepthReader(this.deps);
|
|
84
|
+
this.marketPrices = new market_prices_reader_1.MarketPricesReader(this.deps);
|
|
85
|
+
this.marketTrades = new market_trades_reader_1.MarketTradesReader(this.deps);
|
|
86
|
+
this.userPositions = new user_positions_reader_1.UserPositionsReader(this.deps);
|
|
87
|
+
this.userOrderHistory = new user_order_history_reader_1.UserOrderHistoryReader(this.deps);
|
|
88
|
+
this.userSubaccounts = new user_subaccounts_reader_1.UserSubaccountsReader(this.deps);
|
|
89
|
+
this.userOpenOrders = new user_open_orders_reader_1.UserOpenOrdersReader(this.deps);
|
|
90
|
+
this.userBulkOrders = new user_bulk_orders_reader_1.UserBulkOrdersReader(this.deps);
|
|
91
|
+
this.userFundingHistory = new user_funding_history_reader_1.UserFundingHistoryReader(this.deps);
|
|
92
|
+
this.userTradeHistory = new user_trade_history_reader_1.UserTradeHistoryReader(this.deps);
|
|
93
|
+
this.userActiveTwaps = new user_active_twaps_reader_1.UserActiveTwapsReader(this.deps);
|
|
94
|
+
this.candlesticks = new candlesticks_reader_1.CandlesticksReader(this.deps);
|
|
95
|
+
this.portfolioChart = new portfolio_chart_reader_1.PortfolioChartReader(this.deps);
|
|
96
|
+
this.leaderboard = new leaderboard_reader_1.LeaderboardReader(this.deps);
|
|
97
|
+
this.vaults = new vaults_reader_1.VaultsReader(this.deps);
|
|
98
|
+
this.delegations = new delegations_reader_1.DelegationsReader(this.deps);
|
|
99
|
+
this.userNotifications = new user_notifications_reader_1.UserNotificationsReader(this.deps);
|
|
100
|
+
}
|
|
101
|
+
async globalPerpEngineState() {
|
|
102
|
+
try {
|
|
103
|
+
// Attempt to get the global perp engine state resource
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, custom/no-get-account-resource
|
|
105
|
+
return await this.deps.aptos.getAccountResource({
|
|
106
|
+
accountAddress: this.config.deployment.package,
|
|
107
|
+
resourceType: `${this.config.deployment.package}::perp_engine::Global`,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
async collateralBalanceDecimals() {
|
|
115
|
+
const decimals = await this.deps.aptos.view({
|
|
116
|
+
payload: {
|
|
117
|
+
function: `${this.config.deployment.package}::perp_engine::collateral_balance_decimals`,
|
|
118
|
+
typeArguments: [],
|
|
119
|
+
functionArguments: [],
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
return Number(decimals[0]);
|
|
123
|
+
}
|
|
124
|
+
async usdcDecimals() {
|
|
125
|
+
if (this.cache.usdcDecimals) {
|
|
126
|
+
return this.cache.usdcDecimals;
|
|
127
|
+
}
|
|
128
|
+
const decimals = await this.deps.aptos.view({
|
|
129
|
+
payload: {
|
|
130
|
+
function: `0x1::fungible_asset::decimals`,
|
|
131
|
+
typeArguments: ["0x1::fungible_asset::Metadata"],
|
|
132
|
+
functionArguments: [this.config.deployment.usdc],
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
this.cache.usdcDecimals = Number(decimals[0]);
|
|
136
|
+
return this.cache.usdcDecimals;
|
|
137
|
+
}
|
|
138
|
+
async usdcBalance(addr) {
|
|
139
|
+
const usdcDecimals = await this.usdcDecimals();
|
|
140
|
+
const balance = await this.deps.aptos.view({
|
|
141
|
+
payload: {
|
|
142
|
+
function: `0x1::primary_fungible_store::balance`,
|
|
143
|
+
typeArguments: ["0x1::fungible_asset::Metadata"],
|
|
144
|
+
functionArguments: [addr, this.config.deployment.usdc],
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
return Number(balance[0]) / 10 ** usdcDecimals;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Get the number of restricted mints remaining for the day.
|
|
151
|
+
* Global value. Not specific to an account.
|
|
152
|
+
*
|
|
153
|
+
* @remarks This method is temporary and only for use in testnet. The mints_remaining
|
|
154
|
+
* view function is a testnet-only feature and should be removed before mainnet deployment.
|
|
155
|
+
*/
|
|
156
|
+
async mintsRemaining() {
|
|
157
|
+
const result = await this.deps.aptos.view({
|
|
158
|
+
payload: {
|
|
159
|
+
function: `${this.config.deployment.package}::usdc::mints_remaining`,
|
|
160
|
+
typeArguments: [],
|
|
161
|
+
functionArguments: [],
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
return Number(result[0]);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get the available restricted mint amount for an account (account limit).
|
|
168
|
+
* Returns the amount in chain units (raw u64).
|
|
169
|
+
*
|
|
170
|
+
* @remarks This method is temporary and only for use in testnet. The available_restricted_mint_for
|
|
171
|
+
* view function is a testnet-only feature and should be removed before mainnet deployment.
|
|
172
|
+
*/
|
|
173
|
+
async availableRestrictedMintFor(addr) {
|
|
174
|
+
const result = await this.deps.aptos.view({
|
|
175
|
+
payload: {
|
|
176
|
+
function: `${this.config.deployment.package}::usdc::available_restricted_mint_for`,
|
|
177
|
+
typeArguments: [],
|
|
178
|
+
functionArguments: [addr],
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
return Number(result[0]);
|
|
182
|
+
}
|
|
183
|
+
async tokenBalance(addr, tokenAddr, tokenDecimals) {
|
|
184
|
+
const balance = await this.deps.aptos.view({
|
|
185
|
+
payload: {
|
|
186
|
+
function: `0x1::primary_fungible_store::balance`,
|
|
187
|
+
typeArguments: ["0x1::fungible_asset::Metadata"],
|
|
188
|
+
functionArguments: [addr, tokenAddr],
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
return Number(balance[0]) / 10 ** tokenDecimals;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get the balance of the account
|
|
195
|
+
* @returns The balance of the account
|
|
196
|
+
*/
|
|
197
|
+
async accountBalance(addr) {
|
|
198
|
+
const balance = await this.deps.aptos.view({
|
|
199
|
+
payload: {
|
|
200
|
+
function: `${this.config.deployment.package}::perp_engine::get_account_balance_fungible`,
|
|
201
|
+
typeArguments: [],
|
|
202
|
+
functionArguments: [addr],
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
return balance[0];
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Get the size of the position for an account
|
|
209
|
+
* @param addr The address of the account to get the position size for
|
|
210
|
+
* @param marketAddr The name of the market to get the position size for
|
|
211
|
+
* @returns The size of the position for the account
|
|
212
|
+
*/
|
|
213
|
+
async positionSize(addr, marketAddr) {
|
|
214
|
+
return await this.deps.aptos.view({
|
|
215
|
+
payload: {
|
|
216
|
+
function: `${this.config.deployment.package}::perp_engine::get_position_size`,
|
|
217
|
+
typeArguments: [],
|
|
218
|
+
functionArguments: [addr, marketAddr],
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get the crossed position for an account
|
|
224
|
+
* @param addr The address of the account to get the crossed position for
|
|
225
|
+
* @returns The crossed position for the account
|
|
226
|
+
*/
|
|
227
|
+
async getCrossedPosition(addr) {
|
|
228
|
+
const seed = new TextEncoder().encode("perp_position");
|
|
229
|
+
const crossedPositionAddr = (0, ts_sdk_1.createObjectAddress)(addr, seed);
|
|
230
|
+
try {
|
|
231
|
+
// TODO: Fix lint error
|
|
232
|
+
// eslint-disable-next-line custom/no-get-account-resource
|
|
233
|
+
const crossedPosition = await this.deps.aptos.getAccountResource({
|
|
234
|
+
accountAddress: crossedPositionAddr,
|
|
235
|
+
resourceType: `${this.config.deployment.package}::perp_positions::CrossedPosition`,
|
|
236
|
+
});
|
|
237
|
+
return types_1.CrossedPosition.parse(crossedPosition);
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
exports.DecibelReadDex = DecibelReadDex;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseReader } from "../base-reader";
|
|
2
|
+
import { GetLeaderboardArgs } from "./leaderboard.types";
|
|
3
|
+
export declare class LeaderboardReader extends BaseReader {
|
|
4
|
+
/**
|
|
5
|
+
* Get the leaderboard
|
|
6
|
+
* @param queryParams The query parameters for the leaderboard
|
|
7
|
+
* @returns The leaderboard
|
|
8
|
+
*/
|
|
9
|
+
getLeaderboard(args: GetLeaderboardArgs): Promise<{
|
|
10
|
+
items: {
|
|
11
|
+
rank: number;
|
|
12
|
+
account: string;
|
|
13
|
+
account_value: number;
|
|
14
|
+
realized_pnl: number;
|
|
15
|
+
roi: number;
|
|
16
|
+
volume: number;
|
|
17
|
+
}[];
|
|
18
|
+
total_count: number;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=leaderboard.reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leaderboard.reader.d.ts","sourceRoot":"","sources":["../../../src/read/leaderboard/leaderboard.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAqB,MAAM,qBAAqB,CAAC;AAE5E,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C;;;;OAIG;IACG,cAAc,CAAC,IAAI,EAAE,kBAAkB;;;;;;;;;;;CAS9C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LeaderboardReader = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const base_reader_1 = require("../base-reader");
|
|
6
|
+
const leaderboard_types_1 = require("./leaderboard.types");
|
|
7
|
+
class LeaderboardReader extends base_reader_1.BaseReader {
|
|
8
|
+
/**
|
|
9
|
+
* Get the leaderboard
|
|
10
|
+
* @param queryParams The query parameters for the leaderboard
|
|
11
|
+
* @returns The leaderboard
|
|
12
|
+
*/
|
|
13
|
+
async getLeaderboard(args) {
|
|
14
|
+
const response = await this.getRequest({
|
|
15
|
+
schema: leaderboard_types_1.LeaderboardSchema,
|
|
16
|
+
url: `${this.deps.config.tradingHttpUrl}/api/v1/leaderboard`,
|
|
17
|
+
queryParams: (0, utils_1.constructKnownQueryParams)(args),
|
|
18
|
+
});
|
|
19
|
+
return response.data;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.LeaderboardReader = LeaderboardReader;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
import { PageParams, SearchTermParams, SortParams } from "../types";
|
|
3
|
+
export type LeaderboardSortKey = "volume" | "realized_pnl" | "roi" | "account_value";
|
|
4
|
+
export interface GetLeaderboardArgs extends PageParams, SearchTermParams, SortParams<LeaderboardSortKey> {
|
|
5
|
+
}
|
|
6
|
+
export declare const LeaderboardItemSchema: z.ZodObject<{
|
|
7
|
+
rank: z.ZodNumber;
|
|
8
|
+
account: z.ZodString;
|
|
9
|
+
account_value: z.ZodNumber;
|
|
10
|
+
realized_pnl: z.ZodNumber;
|
|
11
|
+
roi: z.ZodNumber;
|
|
12
|
+
volume: z.ZodNumber;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export declare const LeaderboardSchema: z.ZodObject<{
|
|
15
|
+
items: z.ZodArray<z.ZodObject<{
|
|
16
|
+
rank: z.ZodNumber;
|
|
17
|
+
account: z.ZodString;
|
|
18
|
+
account_value: z.ZodNumber;
|
|
19
|
+
realized_pnl: z.ZodNumber;
|
|
20
|
+
roi: z.ZodNumber;
|
|
21
|
+
volume: z.ZodNumber;
|
|
22
|
+
}, z.core.$strip>>;
|
|
23
|
+
total_count: z.ZodNumber;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export type LeaderboardItem = z.infer<typeof LeaderboardItemSchema>;
|
|
26
|
+
export type Leaderboard = z.infer<typeof LeaderboardSchema>;
|
|
27
|
+
//# sourceMappingURL=leaderboard.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leaderboard.types.d.ts","sourceRoot":"","sources":["../../../src/read/leaderboard/leaderboard.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,UAAU,EAA2B,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7F,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,cAAc,GAAG,KAAK,GAAG,eAAe,CAAC;AAErF,MAAM,WAAW,kBACf,SAAQ,UAAU,EAChB,gBAAgB,EAChB,UAAU,CAAC,kBAAkB,CAAC;CAAG;AAErC,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAAiD,CAAC;AAEhF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LeaderboardSchema = exports.LeaderboardItemSchema = void 0;
|
|
4
|
+
const v4_1 = require("zod/v4");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
exports.LeaderboardItemSchema = v4_1.z.object({
|
|
7
|
+
rank: v4_1.z.number(),
|
|
8
|
+
account: v4_1.z.string(),
|
|
9
|
+
account_value: v4_1.z.number(),
|
|
10
|
+
realized_pnl: v4_1.z.number(),
|
|
11
|
+
roi: v4_1.z.number(),
|
|
12
|
+
volume: v4_1.z.number(),
|
|
13
|
+
});
|
|
14
|
+
exports.LeaderboardSchema = (0, types_1.PaginatedResponseSchema)(exports.LeaderboardItemSchema);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseReader } from "../base-reader";
|
|
2
|
+
export declare class MarketContextsReader extends BaseReader {
|
|
3
|
+
/**
|
|
4
|
+
* Get the asset context for a given market
|
|
5
|
+
*
|
|
6
|
+
* // DEV NOTE: marketName is not supported by the API yet
|
|
7
|
+
* // @param marketName The name of the market to get asset context for
|
|
8
|
+
* @returns The asset context for the given market or all if no market name is provided
|
|
9
|
+
*/
|
|
10
|
+
getAll(): Promise<{
|
|
11
|
+
market: string;
|
|
12
|
+
volume_24h: number;
|
|
13
|
+
open_interest: number;
|
|
14
|
+
mark_price: number;
|
|
15
|
+
mid_price: number;
|
|
16
|
+
oracle_price: number;
|
|
17
|
+
previous_day_price: number;
|
|
18
|
+
price_change_pct_24h: number;
|
|
19
|
+
price_history: number[];
|
|
20
|
+
}[]>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=market-contexts.reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-contexts.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-contexts/market-contexts.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,qBAAa,oBAAqB,SAAQ,UAAU;IAClD;;;;;;OAMG;IACG,MAAM;;;;;;;;;;;CAab"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarketContextsReader = void 0;
|
|
4
|
+
const base_reader_1 = require("../base-reader");
|
|
5
|
+
const market_contexts_types_1 = require("./market-contexts.types");
|
|
6
|
+
class MarketContextsReader extends base_reader_1.BaseReader {
|
|
7
|
+
/**
|
|
8
|
+
* Get the asset context for a given market
|
|
9
|
+
*
|
|
10
|
+
* // DEV NOTE: marketName is not supported by the API yet
|
|
11
|
+
* // @param marketName The name of the market to get asset context for
|
|
12
|
+
* @returns The asset context for the given market or all if no market name is provided
|
|
13
|
+
*/
|
|
14
|
+
async getAll() {
|
|
15
|
+
// const marketAddr = marketName
|
|
16
|
+
// ? getMarketAddr(marketName, this.config.deployment.perpEngineGlobal)
|
|
17
|
+
// : undefined;
|
|
18
|
+
const response = await this.getRequest({
|
|
19
|
+
schema: market_contexts_types_1.MarketContextsSchema,
|
|
20
|
+
// TODO: Update this when the API is /market_contexts
|
|
21
|
+
url: `${this.deps.config.tradingHttpUrl}/api/v1/asset_contexts`,
|
|
22
|
+
// queryParams: marketAddr ? { market: marketAddr.toString() } : undefined,
|
|
23
|
+
});
|
|
24
|
+
return response.data;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.MarketContextsReader = MarketContextsReader;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import z from "zod/v4";
|
|
2
|
+
export declare const MarketContextSchema: z.ZodObject<{
|
|
3
|
+
market: z.ZodString;
|
|
4
|
+
volume_24h: z.ZodNumber;
|
|
5
|
+
open_interest: z.ZodNumber;
|
|
6
|
+
mark_price: z.ZodNumber;
|
|
7
|
+
mid_price: z.ZodNumber;
|
|
8
|
+
oracle_price: z.ZodNumber;
|
|
9
|
+
previous_day_price: z.ZodNumber;
|
|
10
|
+
price_change_pct_24h: z.ZodNumber;
|
|
11
|
+
price_history: z.ZodArray<z.ZodNumber>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export declare const MarketContextsSchema: z.ZodArray<z.ZodObject<{
|
|
14
|
+
market: z.ZodString;
|
|
15
|
+
volume_24h: z.ZodNumber;
|
|
16
|
+
open_interest: z.ZodNumber;
|
|
17
|
+
mark_price: z.ZodNumber;
|
|
18
|
+
mid_price: z.ZodNumber;
|
|
19
|
+
oracle_price: z.ZodNumber;
|
|
20
|
+
previous_day_price: z.ZodNumber;
|
|
21
|
+
price_change_pct_24h: z.ZodNumber;
|
|
22
|
+
price_history: z.ZodArray<z.ZodNumber>;
|
|
23
|
+
}, z.core.$strip>>;
|
|
24
|
+
export type MarketContext = z.infer<typeof MarketContextSchema>;
|
|
25
|
+
export type MarketContexts = z.infer<typeof MarketContextsSchema>;
|
|
26
|
+
//# sourceMappingURL=market-contexts.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-contexts.types.d.ts","sourceRoot":"","sources":["../../../src/read/market-contexts/market-contexts.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAU9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;kBAA+B,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MarketContextsSchema = exports.MarketContextSchema = void 0;
|
|
7
|
+
const v4_1 = __importDefault(require("zod/v4"));
|
|
8
|
+
exports.MarketContextSchema = v4_1.default.object({
|
|
9
|
+
market: v4_1.default.string(),
|
|
10
|
+
volume_24h: v4_1.default.number(),
|
|
11
|
+
open_interest: v4_1.default.number(),
|
|
12
|
+
mark_price: v4_1.default.number(),
|
|
13
|
+
mid_price: v4_1.default.number(),
|
|
14
|
+
oracle_price: v4_1.default.number(),
|
|
15
|
+
previous_day_price: v4_1.default.number(),
|
|
16
|
+
price_change_pct_24h: v4_1.default.number(),
|
|
17
|
+
price_history: v4_1.default.array(v4_1.default.number()),
|
|
18
|
+
});
|
|
19
|
+
exports.MarketContextsSchema = v4_1.default.array(exports.MarketContextSchema);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BaseReader } from "../base-reader";
|
|
2
|
+
import { MarketDepth, MarketDepthAggregationSize } from "./market-depth.types";
|
|
3
|
+
export declare class MarketDepthReader extends BaseReader {
|
|
4
|
+
/**
|
|
5
|
+
* Get the market depth data for a given market
|
|
6
|
+
* @param marketName The name of the market to get market depth for
|
|
7
|
+
* @returns The market depth data for the given market
|
|
8
|
+
*/
|
|
9
|
+
getByName(marketName: string, limit?: number): Promise<{
|
|
10
|
+
market: string;
|
|
11
|
+
bids: {
|
|
12
|
+
price: number;
|
|
13
|
+
size: number;
|
|
14
|
+
}[];
|
|
15
|
+
asks: {
|
|
16
|
+
price: number;
|
|
17
|
+
size: number;
|
|
18
|
+
}[];
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Subscribe to market depth updates for a given market ID
|
|
22
|
+
* @param marketName The name of the market to subscribe to
|
|
23
|
+
* @param onData Callback function for received market depth data
|
|
24
|
+
* @returns A function to unsubscribe from the market depth updates
|
|
25
|
+
*/
|
|
26
|
+
subscribeByName(marketName: string, aggregationSize: MarketDepthAggregationSize, onData: (data: MarketDepth) => void): () => void;
|
|
27
|
+
resetSubscriptionByName(marketName: string, aggregationSize?: MarketDepthAggregationSize): void;
|
|
28
|
+
getAggregationSizes(): [1, 2, 5, 10];
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=market-depth.reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-depth.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-depth/market-depth.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAqB,MAAM,sBAAsB,CAAC;AAElG,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C;;;;OAIG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;;;;;;IAgBlD;;;;;OAKG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,0BAA0B,EAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI;IAQrC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,GAAE,0BAA8B;IAO3F,mBAAmB;CAGpB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarketDepthReader = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const base_reader_1 = require("../base-reader");
|
|
6
|
+
const market_depth_types_1 = require("./market-depth.types");
|
|
7
|
+
class MarketDepthReader extends base_reader_1.BaseReader {
|
|
8
|
+
/**
|
|
9
|
+
* Get the market depth data for a given market
|
|
10
|
+
* @param marketName The name of the market to get market depth for
|
|
11
|
+
* @returns The market depth data for the given market
|
|
12
|
+
*/
|
|
13
|
+
async getByName(marketName, limit) {
|
|
14
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
15
|
+
const queryParams = new URLSearchParams({ market: marketAddr.toString() });
|
|
16
|
+
if (limit !== undefined) {
|
|
17
|
+
queryParams.set("limit", limit.toString());
|
|
18
|
+
}
|
|
19
|
+
const response = await this.getRequest({
|
|
20
|
+
schema: market_depth_types_1.MarketDepthSchema,
|
|
21
|
+
url: `${this.deps.config.tradingHttpUrl}/api/v1/depth`,
|
|
22
|
+
queryParams,
|
|
23
|
+
});
|
|
24
|
+
return response.data;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Subscribe to market depth updates for a given market ID
|
|
28
|
+
* @param marketName The name of the market to subscribe to
|
|
29
|
+
* @param onData Callback function for received market depth data
|
|
30
|
+
* @returns A function to unsubscribe from the market depth updates
|
|
31
|
+
*/
|
|
32
|
+
subscribeByName(marketName, aggregationSize, onData) {
|
|
33
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
34
|
+
const topic = `depth:${marketAddr}:${aggregationSize}`;
|
|
35
|
+
return this.deps.ws.subscribe(topic, market_depth_types_1.MarketDepthSchema, onData);
|
|
36
|
+
}
|
|
37
|
+
resetSubscriptionByName(marketName, aggregationSize = 1) {
|
|
38
|
+
const marketAddr = (0, utils_1.getMarketAddr)(marketName, this.deps.config.deployment.perpEngineGlobal);
|
|
39
|
+
const topic = `depth:${marketAddr}:${aggregationSize}`;
|
|
40
|
+
this.deps.ws.reset(topic);
|
|
41
|
+
}
|
|
42
|
+
getAggregationSizes() {
|
|
43
|
+
return [1, 2, 5, 10];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.MarketDepthReader = MarketDepthReader;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import z from "zod/v4";
|
|
2
|
+
export declare const MarketOrderSchema: z.ZodObject<{
|
|
3
|
+
price: z.ZodNumber;
|
|
4
|
+
size: z.ZodNumber;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export declare const MarketDepthSchema: z.ZodObject<{
|
|
7
|
+
market: z.ZodString;
|
|
8
|
+
bids: z.ZodArray<z.ZodObject<{
|
|
9
|
+
price: z.ZodNumber;
|
|
10
|
+
size: z.ZodNumber;
|
|
11
|
+
}, z.core.$strip>>;
|
|
12
|
+
asks: z.ZodArray<z.ZodObject<{
|
|
13
|
+
price: z.ZodNumber;
|
|
14
|
+
size: z.ZodNumber;
|
|
15
|
+
}, z.core.$strip>>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export type MarketDepthAggregationSize = 1 | 2 | 5 | 10;
|
|
18
|
+
export type MarketOrder = z.infer<typeof MarketOrderSchema>;
|
|
19
|
+
export type MarketDepth = z.infer<typeof MarketDepthSchema>;
|
|
20
|
+
//# sourceMappingURL=market-depth.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-depth.types.d.ts","sourceRoot":"","sources":["../../../src/read/market-depth/market-depth.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;iBAI5B,CAAC;AAGH,MAAM,MAAM,0BAA0B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MarketDepthSchema = exports.MarketOrderSchema = void 0;
|
|
7
|
+
const v4_1 = __importDefault(require("zod/v4"));
|
|
8
|
+
exports.MarketOrderSchema = v4_1.default.object({
|
|
9
|
+
price: v4_1.default.number(),
|
|
10
|
+
size: v4_1.default.number(),
|
|
11
|
+
});
|
|
12
|
+
exports.MarketDepthSchema = v4_1.default.object({
|
|
13
|
+
market: v4_1.default.string(),
|
|
14
|
+
bids: v4_1.default.array(exports.MarketOrderSchema),
|
|
15
|
+
asks: v4_1.default.array(exports.MarketOrderSchema),
|
|
16
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BaseReader } from "../base-reader";
|
|
2
|
+
import { MarketPriceWsMessage } from "./market-prices.types";
|
|
3
|
+
export declare class MarketPricesReader extends BaseReader {
|
|
4
|
+
getAll(): Promise<{
|
|
5
|
+
market: string;
|
|
6
|
+
mark_px: number;
|
|
7
|
+
mid_px: number;
|
|
8
|
+
oracle_px: number;
|
|
9
|
+
funding_rate_bps: number;
|
|
10
|
+
is_funding_positive: boolean;
|
|
11
|
+
open_interest: number;
|
|
12
|
+
transaction_unix_ms: number;
|
|
13
|
+
}[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Get the price data for a given market
|
|
16
|
+
* @param marketName The name of the market to get prices for
|
|
17
|
+
* @returns The price data for the given market
|
|
18
|
+
*/
|
|
19
|
+
getByName(marketName: string): Promise<{
|
|
20
|
+
market: string;
|
|
21
|
+
mark_px: number;
|
|
22
|
+
mid_px: number;
|
|
23
|
+
oracle_px: number;
|
|
24
|
+
funding_rate_bps: number;
|
|
25
|
+
is_funding_positive: boolean;
|
|
26
|
+
open_interest: number;
|
|
27
|
+
transaction_unix_ms: number;
|
|
28
|
+
}[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Subscribe to price updates for a market
|
|
31
|
+
* @param marketName The name of the market to subscribe to
|
|
32
|
+
* @param onData Callback function for received price data
|
|
33
|
+
* @returns A function to unsubscribe from the oracle price updates
|
|
34
|
+
*/
|
|
35
|
+
subscribeByName(marketName: string, onData: (data: MarketPriceWsMessage) => void): () => void;
|
|
36
|
+
/**
|
|
37
|
+
* Subscribe to price updates for a market
|
|
38
|
+
* @param marketAddr The address of the market to subscribe to
|
|
39
|
+
* @param onData Callback function for received price data
|
|
40
|
+
* @returns A function to unsubscribe from the oracle price updates
|
|
41
|
+
*/
|
|
42
|
+
subscribeByAddress(marketAddr: string, onData: (data: MarketPriceWsMessage) => void): () => void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=market-prices.reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market-prices.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-prices/market-prices.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAEL,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,kBAAmB,SAAQ,UAAU;IAC1C,MAAM;;;;;;;;;;IAQZ;;;;OAIG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;IAWlC;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI;IAOhF;;;;;OAKG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI;CAKpF"}
|