@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,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VaultReader = void 0;
|
|
4
|
+
const MOCK_VAULT_DATA = [
|
|
5
|
+
{
|
|
6
|
+
address: "0x1",
|
|
7
|
+
name: "Vault 1",
|
|
8
|
+
description: "Vault 1 description",
|
|
9
|
+
manager: "0x1",
|
|
10
|
+
status: "active",
|
|
11
|
+
created_at: 1640995200000,
|
|
12
|
+
tvl: 1000000,
|
|
13
|
+
volume: 1000000,
|
|
14
|
+
all_time_return: 1000000,
|
|
15
|
+
past_month_return: 1000000,
|
|
16
|
+
sharpe_ratio: 1000000,
|
|
17
|
+
max_drawdown: 1000000,
|
|
18
|
+
weekly_win_rate_12w: 1000000,
|
|
19
|
+
profit_share: 1000000,
|
|
20
|
+
pnl_90d: 1000000,
|
|
21
|
+
manager_avg_cash: 1000000,
|
|
22
|
+
average_leverage: 1000000,
|
|
23
|
+
depositors: 1000000,
|
|
24
|
+
spot_equity: 1000000,
|
|
25
|
+
perp_equity: 1000000,
|
|
26
|
+
type: "user",
|
|
27
|
+
pnl_history: [
|
|
28
|
+
900000, 920000, 940000, 950000, 970000, 990000, 1000000, 1010000, 1005000, 1000000, 995000,
|
|
29
|
+
1002000, 1008000,
|
|
30
|
+
],
|
|
31
|
+
age: 100,
|
|
32
|
+
socials: {
|
|
33
|
+
x: "decibeltrade",
|
|
34
|
+
website: "www.decibel.trade",
|
|
35
|
+
discord: "nc5NqyzM8V",
|
|
36
|
+
medium: "decibel-trade",
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
address: "0x2",
|
|
41
|
+
name: "Vault 2",
|
|
42
|
+
description: "Vault 2 description",
|
|
43
|
+
manager: "0x2",
|
|
44
|
+
status: "active",
|
|
45
|
+
created_at: 1640995200000,
|
|
46
|
+
tvl: 1000000,
|
|
47
|
+
volume: 1000000,
|
|
48
|
+
all_time_return: 1000000,
|
|
49
|
+
past_month_return: 1000000,
|
|
50
|
+
sharpe_ratio: 1000000,
|
|
51
|
+
max_drawdown: 1000000,
|
|
52
|
+
weekly_win_rate_12w: 1000000,
|
|
53
|
+
profit_share: 1000000,
|
|
54
|
+
pnl_90d: 1000000,
|
|
55
|
+
manager_avg_cash: 1000000,
|
|
56
|
+
average_leverage: 1000000,
|
|
57
|
+
depositors: 1000000,
|
|
58
|
+
spot_equity: 1000000,
|
|
59
|
+
perp_equity: 1000000,
|
|
60
|
+
type: "user",
|
|
61
|
+
pnl_history: [
|
|
62
|
+
900000, 920000, 940000, 950000, 970000, 990000, 1000000, 1010000, 1005000, 1000000, 995000,
|
|
63
|
+
1002000, 1008000,
|
|
64
|
+
],
|
|
65
|
+
age: 100,
|
|
66
|
+
socials: {
|
|
67
|
+
x: "decibeltrade",
|
|
68
|
+
website: "www.decibel.trade",
|
|
69
|
+
discord: "nc5NqyzM8V",
|
|
70
|
+
medium: "decibel-trade",
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
const MOCK_VAULT_POSITION_DATA = [
|
|
75
|
+
{
|
|
76
|
+
address: "0x1",
|
|
77
|
+
all_time_pnl: 50000,
|
|
78
|
+
unrealized_pnl: 10000,
|
|
79
|
+
withdrawable_amount: 20000,
|
|
80
|
+
withdrawable_at: 1641081600000, // 1 day after created_at
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
class VaultReader {
|
|
84
|
+
deps;
|
|
85
|
+
constructor(deps) {
|
|
86
|
+
this.deps = deps;
|
|
87
|
+
}
|
|
88
|
+
getVaults() {
|
|
89
|
+
return MOCK_VAULT_DATA;
|
|
90
|
+
}
|
|
91
|
+
getVaultByAddress(vaultAddress) {
|
|
92
|
+
const response = MOCK_VAULT_DATA.find((vault) => vault.address.toLowerCase() === vaultAddress.toLowerCase());
|
|
93
|
+
if (!response) {
|
|
94
|
+
throw new Error("Vault not found");
|
|
95
|
+
}
|
|
96
|
+
return response;
|
|
97
|
+
}
|
|
98
|
+
getVaultPositions() {
|
|
99
|
+
return MOCK_VAULT_POSITION_DATA;
|
|
100
|
+
}
|
|
101
|
+
// ======= VAULT READ FUNCTIONS =======
|
|
102
|
+
/**
|
|
103
|
+
* Get the number of shares for a vault
|
|
104
|
+
*/
|
|
105
|
+
async getVaultNumShares(vaultAddress) {
|
|
106
|
+
const response = await this.deps.aptos.view({
|
|
107
|
+
payload: {
|
|
108
|
+
function: `${this.deps.config.deployment.package}::vault::get_vault_num_shares`,
|
|
109
|
+
typeArguments: [],
|
|
110
|
+
functionArguments: [vaultAddress],
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
return Number(response[0]);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Get the net asset value for a vault
|
|
117
|
+
*/
|
|
118
|
+
async getVaultNetAssetValue(vaultAddress) {
|
|
119
|
+
const response = await this.deps.aptos.view({
|
|
120
|
+
payload: {
|
|
121
|
+
function: `${this.deps.config.deployment.package}::vault::get_vault_net_asset_value`,
|
|
122
|
+
typeArguments: [],
|
|
123
|
+
functionArguments: [vaultAddress],
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
return Number(response[0]);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get the contribution asset type for a vault
|
|
130
|
+
*/
|
|
131
|
+
async getVaultContributionAssetType(vaultAddress) {
|
|
132
|
+
const response = await this.deps.aptos.view({
|
|
133
|
+
payload: {
|
|
134
|
+
function: `${this.deps.config.deployment.package}::vault::get_vault_contribution_asset_type`,
|
|
135
|
+
typeArguments: [],
|
|
136
|
+
functionArguments: [vaultAddress],
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
return response[0];
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get the share asset type for a vault
|
|
143
|
+
*/
|
|
144
|
+
async getVaultShareAssetType(vaultAddress) {
|
|
145
|
+
const response = await this.deps.aptos.view({
|
|
146
|
+
payload: {
|
|
147
|
+
function: `${this.deps.config.deployment.package}::vault::get_vault_share_asset_type`,
|
|
148
|
+
typeArguments: [],
|
|
149
|
+
functionArguments: [vaultAddress],
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
return response[0];
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get the admin address for a vault
|
|
156
|
+
*/
|
|
157
|
+
async getVaultAdmin(vaultAddress) {
|
|
158
|
+
const response = await this.deps.aptos.view({
|
|
159
|
+
payload: {
|
|
160
|
+
function: `${this.deps.config.deployment.package}::vault::get_vault_admin`,
|
|
161
|
+
typeArguments: [],
|
|
162
|
+
functionArguments: [vaultAddress],
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
return response[0];
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.VaultReader = VaultReader;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import z from "zod/v4";
|
|
2
|
+
import { PageParams } from "../pagination.types";
|
|
3
|
+
export interface GetVaultsArgs extends PageParams {
|
|
4
|
+
address?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface GetVaultPositionsArgs extends PageParams {
|
|
7
|
+
address?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const VaultSchema: z.ZodObject<{
|
|
10
|
+
address: z.ZodString;
|
|
11
|
+
name: z.ZodString;
|
|
12
|
+
description: z.ZodString;
|
|
13
|
+
manager: z.ZodString;
|
|
14
|
+
status: z.ZodString;
|
|
15
|
+
created_at: z.ZodNumber;
|
|
16
|
+
tvl: z.ZodNumber;
|
|
17
|
+
volume: z.ZodNumber;
|
|
18
|
+
all_time_return: z.ZodNumber;
|
|
19
|
+
past_month_return: z.ZodNumber;
|
|
20
|
+
sharpe_ratio: z.ZodNullable<z.ZodNumber>;
|
|
21
|
+
max_drawdown: z.ZodNullable<z.ZodNumber>;
|
|
22
|
+
weekly_win_rate_12w: z.ZodNullable<z.ZodNumber>;
|
|
23
|
+
profit_share: z.ZodNumber;
|
|
24
|
+
pnl_90d: z.ZodNumber;
|
|
25
|
+
manager_avg_cash: z.ZodNumber;
|
|
26
|
+
average_leverage: z.ZodNumber;
|
|
27
|
+
depositors: z.ZodNumber;
|
|
28
|
+
spot_equity: z.ZodNumber;
|
|
29
|
+
perp_equity: z.ZodNumber;
|
|
30
|
+
type: z.ZodString;
|
|
31
|
+
pnl_history: z.ZodArray<z.ZodNumber>;
|
|
32
|
+
age: z.ZodNumber;
|
|
33
|
+
socials: z.ZodObject<{
|
|
34
|
+
x: z.ZodString;
|
|
35
|
+
website: z.ZodString;
|
|
36
|
+
discord: z.ZodString;
|
|
37
|
+
medium: z.ZodString;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
export declare const VaultPositionSchema: z.ZodObject<{
|
|
41
|
+
address: z.ZodString;
|
|
42
|
+
all_time_pnl: z.ZodNumber;
|
|
43
|
+
unrealized_pnl: z.ZodNumber;
|
|
44
|
+
withdrawable_amount: z.ZodNumber;
|
|
45
|
+
withdrawable_at: z.ZodNumber;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
export type Vault = z.infer<typeof VaultSchema>;
|
|
48
|
+
export type VaultPosition = z.infer<typeof VaultPositionSchema>;
|
|
49
|
+
//# sourceMappingURL=vault.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.types.d.ts","sourceRoot":"","sources":["../../../src/read/vault/vault.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BtB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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.VaultPositionSchema = exports.VaultSchema = void 0;
|
|
7
|
+
const v4_1 = __importDefault(require("zod/v4"));
|
|
8
|
+
exports.VaultSchema = v4_1.default.object({
|
|
9
|
+
address: v4_1.default.string(),
|
|
10
|
+
name: v4_1.default.string(),
|
|
11
|
+
description: v4_1.default.string(),
|
|
12
|
+
manager: v4_1.default.string(),
|
|
13
|
+
status: v4_1.default.string(),
|
|
14
|
+
created_at: v4_1.default.number(),
|
|
15
|
+
tvl: v4_1.default.number(),
|
|
16
|
+
volume: v4_1.default.number(),
|
|
17
|
+
all_time_return: v4_1.default.number(),
|
|
18
|
+
past_month_return: v4_1.default.number(),
|
|
19
|
+
sharpe_ratio: v4_1.default.number().nullable(),
|
|
20
|
+
max_drawdown: v4_1.default.number().nullable(),
|
|
21
|
+
weekly_win_rate_12w: v4_1.default.number().nullable(),
|
|
22
|
+
profit_share: v4_1.default.number(),
|
|
23
|
+
pnl_90d: v4_1.default.number(),
|
|
24
|
+
manager_avg_cash: v4_1.default.number(),
|
|
25
|
+
average_leverage: v4_1.default.number(),
|
|
26
|
+
depositors: v4_1.default.number(),
|
|
27
|
+
spot_equity: v4_1.default.number(),
|
|
28
|
+
perp_equity: v4_1.default.number(),
|
|
29
|
+
type: v4_1.default.string(),
|
|
30
|
+
pnl_history: v4_1.default.array(v4_1.default.number()),
|
|
31
|
+
age: v4_1.default.number(),
|
|
32
|
+
socials: v4_1.default.object({
|
|
33
|
+
x: v4_1.default.string(),
|
|
34
|
+
website: v4_1.default.string(),
|
|
35
|
+
discord: v4_1.default.string(),
|
|
36
|
+
medium: v4_1.default.string(),
|
|
37
|
+
}),
|
|
38
|
+
});
|
|
39
|
+
exports.VaultPositionSchema = v4_1.default.object({
|
|
40
|
+
address: v4_1.default.string(),
|
|
41
|
+
all_time_pnl: v4_1.default.number(),
|
|
42
|
+
unrealized_pnl: v4_1.default.number(), // could be zero, if has all_time_earned but no current withdrawable amount in the vault
|
|
43
|
+
withdrawable_amount: v4_1.default.number(), // could be zero, if has all_time_earned but no current withdrawable amount in the vault
|
|
44
|
+
withdrawable_at: v4_1.default.number(), // for cooldown
|
|
45
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { BaseReader } from "../base-reader";
|
|
2
|
+
import { GetPublicVaultsArgs, GetUserOwnedVaultsArgs, GetUserPerformancesOnVaultsArgs } from "./vaults.types";
|
|
3
|
+
export declare class VaultsReader extends BaseReader {
|
|
4
|
+
/**
|
|
5
|
+
* Get all vaults
|
|
6
|
+
* @returns All vaults
|
|
7
|
+
*/
|
|
8
|
+
getVaults(args?: GetPublicVaultsArgs): Promise<{
|
|
9
|
+
items: {
|
|
10
|
+
address: string;
|
|
11
|
+
name: string;
|
|
12
|
+
description: string | null;
|
|
13
|
+
manager: string;
|
|
14
|
+
status: string;
|
|
15
|
+
created_at: number;
|
|
16
|
+
tvl: number | null;
|
|
17
|
+
volume: number | null;
|
|
18
|
+
all_time_return: number | null;
|
|
19
|
+
past_month_return: number | null;
|
|
20
|
+
sharpe_ratio: number | null;
|
|
21
|
+
max_drawdown: number | null;
|
|
22
|
+
weekly_win_rate_12w: number | null;
|
|
23
|
+
profit_share: number | null;
|
|
24
|
+
pnl_90d: number | null;
|
|
25
|
+
manager_avg_cash: number | null;
|
|
26
|
+
average_leverage: number | null;
|
|
27
|
+
depositors: number | null;
|
|
28
|
+
perp_equity: number | null;
|
|
29
|
+
vault_type: string;
|
|
30
|
+
pnl_history: string[] | null;
|
|
31
|
+
social_links: string[] | null;
|
|
32
|
+
}[];
|
|
33
|
+
total_count: number;
|
|
34
|
+
total_value_locked: number;
|
|
35
|
+
total_volume: number;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Get vaults by owner address
|
|
39
|
+
* @param user The user address to filter vaults by
|
|
40
|
+
* @returns The vaults for the given owner address
|
|
41
|
+
*/
|
|
42
|
+
getUserOwnedVaults(args: GetUserOwnedVaultsArgs): Promise<{
|
|
43
|
+
items: {
|
|
44
|
+
vault_address: string;
|
|
45
|
+
vault_name: string;
|
|
46
|
+
vault_share_symbol: string;
|
|
47
|
+
status: string;
|
|
48
|
+
age_days: number;
|
|
49
|
+
num_managers: number;
|
|
50
|
+
tvl: number | null;
|
|
51
|
+
apr: number | null;
|
|
52
|
+
manager_equity: number | null;
|
|
53
|
+
manager_stake: number | null;
|
|
54
|
+
}[];
|
|
55
|
+
total_count: number;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Get user performance
|
|
59
|
+
* @param args The arguments for the user performance
|
|
60
|
+
* @returns The user performance
|
|
61
|
+
*/
|
|
62
|
+
getUserPerformancesOnVaults(args: GetUserPerformancesOnVaultsArgs): Promise<{
|
|
63
|
+
vault_address: string;
|
|
64
|
+
user_address: string;
|
|
65
|
+
net_deposits: number | null;
|
|
66
|
+
current_num_shares: number | null;
|
|
67
|
+
current_value_of_shares: number | null;
|
|
68
|
+
all_time_return: number | null;
|
|
69
|
+
unrealized_pnl: number | null;
|
|
70
|
+
}[]>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=vaults.reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaults.reader.d.ts","sourceRoot":"","sources":["../../../src/read/vaults/vaults.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,+BAA+B,EAIhC,MAAM,gBAAgB,CAAC;AAExB,qBAAa,YAAa,SAAQ,UAAU;IAC1C;;;OAGG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgB1C;;;;OAIG;IACG,kBAAkB,CAAC,IAAI,EAAE,sBAAsB;;;;;;;;;;;;;;;IAkBrD;;;;OAIG;IACG,2BAA2B,CAAC,IAAI,EAAE,+BAA+B;;;;;;;;;CAaxE"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VaultsReader = void 0;
|
|
4
|
+
const base_reader_1 = require("../base-reader");
|
|
5
|
+
const vaults_types_1 = require("./vaults.types");
|
|
6
|
+
class VaultsReader extends base_reader_1.BaseReader {
|
|
7
|
+
/**
|
|
8
|
+
* Get all vaults
|
|
9
|
+
* @returns All vaults
|
|
10
|
+
*/
|
|
11
|
+
async getVaults(args) {
|
|
12
|
+
const queryParams = new URLSearchParams();
|
|
13
|
+
if (args?.vaultType)
|
|
14
|
+
queryParams.set("vault_type", args.vaultType);
|
|
15
|
+
if (args?.limit)
|
|
16
|
+
queryParams.set("limit", args.limit.toString());
|
|
17
|
+
if (args?.offset)
|
|
18
|
+
queryParams.set("offset", args.offset.toString());
|
|
19
|
+
const response = await this.getRequest({
|
|
20
|
+
schema: vaults_types_1.VaultsResponseSchema,
|
|
21
|
+
url: `${this.deps.config.tradingHttpUrl}/api/v1/vaults`,
|
|
22
|
+
queryParams,
|
|
23
|
+
});
|
|
24
|
+
return response.data;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get vaults by owner address
|
|
28
|
+
* @param user The user address to filter vaults by
|
|
29
|
+
* @returns The vaults for the given owner address
|
|
30
|
+
*/
|
|
31
|
+
async getUserOwnedVaults(args) {
|
|
32
|
+
const queryParams = new URLSearchParams({
|
|
33
|
+
user: args.ownerAddr,
|
|
34
|
+
});
|
|
35
|
+
if (args.limit)
|
|
36
|
+
queryParams.set("limit", args.limit.toString());
|
|
37
|
+
if (args.offset)
|
|
38
|
+
queryParams.set("offset", args.offset.toString());
|
|
39
|
+
const response = await this.getRequest({
|
|
40
|
+
schema: vaults_types_1.UserOwnedVaultsResponseSchema,
|
|
41
|
+
url: `${this.deps.config.tradingHttpUrl}/api/v1/user_owned_vaults`,
|
|
42
|
+
queryParams,
|
|
43
|
+
});
|
|
44
|
+
return response.data;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get user performance
|
|
48
|
+
* @param args The arguments for the user performance
|
|
49
|
+
* @returns The user performance
|
|
50
|
+
*/
|
|
51
|
+
async getUserPerformancesOnVaults(args) {
|
|
52
|
+
const queryParams = new URLSearchParams({
|
|
53
|
+
user_address: args.ownerAddr,
|
|
54
|
+
});
|
|
55
|
+
const response = await this.getRequest({
|
|
56
|
+
schema: vaults_types_1.UserPerformancesOnVaultsResponseSchema,
|
|
57
|
+
url: `${this.deps.config.tradingHttpUrl}/api/v1/user_vault_performance`,
|
|
58
|
+
queryParams,
|
|
59
|
+
});
|
|
60
|
+
return response.data;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.VaultsReader = VaultsReader;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import z from "zod/v4";
|
|
2
|
+
/**
|
|
3
|
+
* Arguments for fetching vaults owned by a specific user
|
|
4
|
+
*/
|
|
5
|
+
export interface GetUserOwnedVaultsArgs {
|
|
6
|
+
ownerAddr: string;
|
|
7
|
+
limit?: number;
|
|
8
|
+
offset?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface GetPublicVaultsArgs {
|
|
11
|
+
limit?: number;
|
|
12
|
+
offset?: number;
|
|
13
|
+
vaultType?: "user" | "protocol";
|
|
14
|
+
address?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Arguments for fetching user performance metrics for a specific subaccount
|
|
18
|
+
*/
|
|
19
|
+
export interface GetUserPerformancesOnVaultsArgs {
|
|
20
|
+
ownerAddr: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Schema for a vault in the protocol
|
|
24
|
+
* Represents both protocol-wide vaults and user-managed vaults
|
|
25
|
+
*/
|
|
26
|
+
export declare const VaultSchema: z.ZodObject<{
|
|
27
|
+
address: z.ZodString;
|
|
28
|
+
name: z.ZodString;
|
|
29
|
+
description: z.ZodNullable<z.ZodString>;
|
|
30
|
+
manager: z.ZodString;
|
|
31
|
+
status: z.ZodString;
|
|
32
|
+
created_at: z.ZodNumber;
|
|
33
|
+
tvl: z.ZodNullable<z.ZodNumber>;
|
|
34
|
+
volume: z.ZodNullable<z.ZodNumber>;
|
|
35
|
+
all_time_return: z.ZodNullable<z.ZodNumber>;
|
|
36
|
+
past_month_return: z.ZodNullable<z.ZodNumber>;
|
|
37
|
+
sharpe_ratio: z.ZodNullable<z.ZodNumber>;
|
|
38
|
+
max_drawdown: z.ZodNullable<z.ZodNumber>;
|
|
39
|
+
weekly_win_rate_12w: z.ZodNullable<z.ZodNumber>;
|
|
40
|
+
profit_share: z.ZodNullable<z.ZodNumber>;
|
|
41
|
+
pnl_90d: z.ZodNullable<z.ZodNumber>;
|
|
42
|
+
manager_avg_cash: z.ZodNullable<z.ZodNumber>;
|
|
43
|
+
average_leverage: z.ZodNullable<z.ZodNumber>;
|
|
44
|
+
depositors: z.ZodNullable<z.ZodNumber>;
|
|
45
|
+
perp_equity: z.ZodNullable<z.ZodNumber>;
|
|
46
|
+
vault_type: z.ZodString;
|
|
47
|
+
pnl_history: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
48
|
+
social_links: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
49
|
+
}, z.core.$strip>;
|
|
50
|
+
export declare const VaultsResponseSchema: z.ZodObject<{
|
|
51
|
+
items: z.ZodArray<z.ZodObject<{
|
|
52
|
+
address: z.ZodString;
|
|
53
|
+
name: z.ZodString;
|
|
54
|
+
description: z.ZodNullable<z.ZodString>;
|
|
55
|
+
manager: z.ZodString;
|
|
56
|
+
status: z.ZodString;
|
|
57
|
+
created_at: z.ZodNumber;
|
|
58
|
+
tvl: z.ZodNullable<z.ZodNumber>;
|
|
59
|
+
volume: z.ZodNullable<z.ZodNumber>;
|
|
60
|
+
all_time_return: z.ZodNullable<z.ZodNumber>;
|
|
61
|
+
past_month_return: z.ZodNullable<z.ZodNumber>;
|
|
62
|
+
sharpe_ratio: z.ZodNullable<z.ZodNumber>;
|
|
63
|
+
max_drawdown: z.ZodNullable<z.ZodNumber>;
|
|
64
|
+
weekly_win_rate_12w: z.ZodNullable<z.ZodNumber>;
|
|
65
|
+
profit_share: z.ZodNullable<z.ZodNumber>;
|
|
66
|
+
pnl_90d: z.ZodNullable<z.ZodNumber>;
|
|
67
|
+
manager_avg_cash: z.ZodNullable<z.ZodNumber>;
|
|
68
|
+
average_leverage: z.ZodNullable<z.ZodNumber>;
|
|
69
|
+
depositors: z.ZodNullable<z.ZodNumber>;
|
|
70
|
+
perp_equity: z.ZodNullable<z.ZodNumber>;
|
|
71
|
+
vault_type: z.ZodString;
|
|
72
|
+
pnl_history: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
73
|
+
social_links: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
74
|
+
}, z.core.$strip>>;
|
|
75
|
+
total_count: z.ZodNumber;
|
|
76
|
+
total_value_locked: z.ZodNumber;
|
|
77
|
+
total_volume: z.ZodNumber;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
export type VaultsResponse = z.infer<typeof VaultsResponseSchema>;
|
|
80
|
+
export type Vault = z.infer<typeof VaultSchema>;
|
|
81
|
+
export type Vaults = Vault[];
|
|
82
|
+
/**
|
|
83
|
+
* Schema for vaults owned/managed by a specific user
|
|
84
|
+
* Contains summary information about vaults the user manages
|
|
85
|
+
*/
|
|
86
|
+
export declare const UserOwnedVaultSchema: z.ZodObject<{
|
|
87
|
+
vault_address: z.ZodString;
|
|
88
|
+
vault_name: z.ZodString;
|
|
89
|
+
vault_share_symbol: z.ZodString;
|
|
90
|
+
status: z.ZodString;
|
|
91
|
+
age_days: z.ZodNumber;
|
|
92
|
+
num_managers: z.ZodNumber;
|
|
93
|
+
tvl: z.ZodNullable<z.ZodNumber>;
|
|
94
|
+
apr: z.ZodNullable<z.ZodNumber>;
|
|
95
|
+
manager_equity: z.ZodNullable<z.ZodNumber>;
|
|
96
|
+
manager_stake: z.ZodNullable<z.ZodNumber>;
|
|
97
|
+
}, z.core.$strip>;
|
|
98
|
+
export declare const UserOwnedVaultsResponseSchema: z.ZodObject<{
|
|
99
|
+
items: z.ZodArray<z.ZodObject<{
|
|
100
|
+
vault_address: z.ZodString;
|
|
101
|
+
vault_name: z.ZodString;
|
|
102
|
+
vault_share_symbol: z.ZodString;
|
|
103
|
+
status: z.ZodString;
|
|
104
|
+
age_days: z.ZodNumber;
|
|
105
|
+
num_managers: z.ZodNumber;
|
|
106
|
+
tvl: z.ZodNullable<z.ZodNumber>;
|
|
107
|
+
apr: z.ZodNullable<z.ZodNumber>;
|
|
108
|
+
manager_equity: z.ZodNullable<z.ZodNumber>;
|
|
109
|
+
manager_stake: z.ZodNullable<z.ZodNumber>;
|
|
110
|
+
}, z.core.$strip>>;
|
|
111
|
+
total_count: z.ZodNumber;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
export type UserOwnedVaultsResponse = z.infer<typeof UserOwnedVaultsResponseSchema>;
|
|
114
|
+
export type UserOwnedVault = z.infer<typeof UserOwnedVaultSchema>;
|
|
115
|
+
export type UserOwnedVaults = UserOwnedVault[];
|
|
116
|
+
/**
|
|
117
|
+
* Schema for user performance metrics within a vault
|
|
118
|
+
* Tracks a user's deposits, shares, returns, and PnL for a specific vault
|
|
119
|
+
*/
|
|
120
|
+
export declare const UserPerformanceOnVaultSchema: z.ZodObject<{
|
|
121
|
+
vault_address: z.ZodString;
|
|
122
|
+
user_address: z.ZodString;
|
|
123
|
+
net_deposits: z.ZodNullable<z.ZodNumber>;
|
|
124
|
+
current_num_shares: z.ZodNullable<z.ZodNumber>;
|
|
125
|
+
current_value_of_shares: z.ZodNullable<z.ZodNumber>;
|
|
126
|
+
all_time_return: z.ZodNullable<z.ZodNumber>;
|
|
127
|
+
unrealized_pnl: z.ZodNullable<z.ZodNumber>;
|
|
128
|
+
}, z.core.$strip>;
|
|
129
|
+
export declare const UserPerformancesOnVaultsResponseSchema: z.ZodArray<z.ZodObject<{
|
|
130
|
+
vault_address: z.ZodString;
|
|
131
|
+
user_address: z.ZodString;
|
|
132
|
+
net_deposits: z.ZodNullable<z.ZodNumber>;
|
|
133
|
+
current_num_shares: z.ZodNullable<z.ZodNumber>;
|
|
134
|
+
current_value_of_shares: z.ZodNullable<z.ZodNumber>;
|
|
135
|
+
all_time_return: z.ZodNullable<z.ZodNumber>;
|
|
136
|
+
unrealized_pnl: z.ZodNullable<z.ZodNumber>;
|
|
137
|
+
}, z.core.$strip>>;
|
|
138
|
+
export type UserPerformanceOnVault = z.infer<typeof UserPerformanceOnVaultSchema>;
|
|
139
|
+
export type UserPerformancesOnVaults = UserPerformanceOnVault[];
|
|
140
|
+
//# sourceMappingURL=vaults.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaults.types.d.ts","sourceRoot":"","sources":["../../../src/read/vaults/vaults.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAIvB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;iBAuBtB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;AAE7B;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAW/B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;iBAAgD,CAAC;AAC3F,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;iBAQvC,CAAC;AACH,eAAO,MAAM,sCAAsC;;;;;;;;kBAAwC,CAAC;AAC5F,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
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.UserPerformancesOnVaultsResponseSchema = exports.UserPerformanceOnVaultSchema = exports.UserOwnedVaultsResponseSchema = exports.UserOwnedVaultSchema = exports.VaultsResponseSchema = exports.VaultSchema = void 0;
|
|
7
|
+
const v4_1 = __importDefault(require("zod/v4"));
|
|
8
|
+
const pagination_types_1 = require("../pagination.types");
|
|
9
|
+
/**
|
|
10
|
+
* Schema for a vault in the protocol
|
|
11
|
+
* Represents both protocol-wide vaults and user-managed vaults
|
|
12
|
+
*/
|
|
13
|
+
exports.VaultSchema = v4_1.default.object({
|
|
14
|
+
address: v4_1.default.string(),
|
|
15
|
+
name: v4_1.default.string(),
|
|
16
|
+
description: v4_1.default.string().nullable(),
|
|
17
|
+
manager: v4_1.default.string(),
|
|
18
|
+
status: v4_1.default.string(),
|
|
19
|
+
created_at: v4_1.default.number(),
|
|
20
|
+
tvl: v4_1.default.number().nullable(),
|
|
21
|
+
volume: v4_1.default.number().nullable(),
|
|
22
|
+
all_time_return: v4_1.default.number().nullable(),
|
|
23
|
+
past_month_return: v4_1.default.number().nullable(),
|
|
24
|
+
sharpe_ratio: v4_1.default.number().nullable(),
|
|
25
|
+
max_drawdown: v4_1.default.number().nullable(),
|
|
26
|
+
weekly_win_rate_12w: v4_1.default.number().nullable(),
|
|
27
|
+
profit_share: v4_1.default.number().nullable(),
|
|
28
|
+
pnl_90d: v4_1.default.number().nullable(),
|
|
29
|
+
manager_avg_cash: v4_1.default.number().nullable(),
|
|
30
|
+
average_leverage: v4_1.default.number().nullable(),
|
|
31
|
+
depositors: v4_1.default.number().nullable(),
|
|
32
|
+
perp_equity: v4_1.default.number().nullable(),
|
|
33
|
+
vault_type: v4_1.default.string(),
|
|
34
|
+
pnl_history: v4_1.default.array(v4_1.default.string()).nullable(),
|
|
35
|
+
social_links: v4_1.default.array(v4_1.default.string()).nullable(),
|
|
36
|
+
});
|
|
37
|
+
exports.VaultsResponseSchema = (0, pagination_types_1.PaginatedResponseSchema)(exports.VaultSchema).extend({
|
|
38
|
+
total_value_locked: v4_1.default.number(),
|
|
39
|
+
total_volume: v4_1.default.number(),
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Schema for vaults owned/managed by a specific user
|
|
43
|
+
* Contains summary information about vaults the user manages
|
|
44
|
+
*/
|
|
45
|
+
exports.UserOwnedVaultSchema = v4_1.default.object({
|
|
46
|
+
vault_address: v4_1.default.string(),
|
|
47
|
+
vault_name: v4_1.default.string(),
|
|
48
|
+
vault_share_symbol: v4_1.default.string(),
|
|
49
|
+
status: v4_1.default.string(),
|
|
50
|
+
age_days: v4_1.default.number(),
|
|
51
|
+
num_managers: v4_1.default.number(),
|
|
52
|
+
tvl: v4_1.default.number().nullable(),
|
|
53
|
+
apr: v4_1.default.number().nullable(),
|
|
54
|
+
manager_equity: v4_1.default.number().nullable(),
|
|
55
|
+
manager_stake: v4_1.default.number().nullable(),
|
|
56
|
+
});
|
|
57
|
+
exports.UserOwnedVaultsResponseSchema = (0, pagination_types_1.PaginatedResponseSchema)(exports.UserOwnedVaultSchema);
|
|
58
|
+
/**
|
|
59
|
+
* Schema for user performance metrics within a vault
|
|
60
|
+
* Tracks a user's deposits, shares, returns, and PnL for a specific vault
|
|
61
|
+
*/
|
|
62
|
+
exports.UserPerformanceOnVaultSchema = v4_1.default.object({
|
|
63
|
+
vault_address: v4_1.default.string(),
|
|
64
|
+
user_address: v4_1.default.string(),
|
|
65
|
+
net_deposits: v4_1.default.number().nullable(),
|
|
66
|
+
current_num_shares: v4_1.default.number().nullable(),
|
|
67
|
+
current_value_of_shares: v4_1.default.number().nullable(),
|
|
68
|
+
all_time_return: v4_1.default.number().nullable(),
|
|
69
|
+
unrealized_pnl: v4_1.default.number().nullable(),
|
|
70
|
+
});
|
|
71
|
+
exports.UserPerformancesOnVaultsResponseSchema = v4_1.default.array(exports.UserPerformanceOnVaultSchema);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ErrorEvent } from "isomorphic-ws";
|
|
2
|
+
import { z } from "zod/v4";
|
|
3
|
+
import { DecibelConfig } from "../constants";
|
|
4
|
+
export declare class DecibelWsSubscription {
|
|
5
|
+
#private;
|
|
6
|
+
readonly config: DecibelConfig;
|
|
7
|
+
readonly onError?: ((error: ErrorEvent) => void) | undefined;
|
|
8
|
+
constructor(config: DecibelConfig, onError?: ((error: ErrorEvent) => void) | undefined);
|
|
9
|
+
subscribe<TMessageData>(topic: string, schema: z.ZodType<TMessageData>, onData: (data: TMessageData) => void | Promise<void>): () => void;
|
|
10
|
+
private unsubscribe;
|
|
11
|
+
/**
|
|
12
|
+
* Removes the specified listener from the set of listeners for the given topic.
|
|
13
|
+
* If no listeners remain for the topic after removal, unsubscribes from the topic.
|
|
14
|
+
* If all subscriptions are removed, closes the WebSocket connection.
|
|
15
|
+
*/
|
|
16
|
+
private unsubscribeByListener;
|
|
17
|
+
reset(topic: string): void;
|
|
18
|
+
close(): void;
|
|
19
|
+
readyState(): 0 | 2 | 1 | 3;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=ws-subscription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-subscription.d.ts","sourceRoot":"","sources":["../../src/read/ws-subscription.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,qBAAa,qBAAqB;;IAE9B,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,OAAO,CAAC,GAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;gBADrC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,GAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,aAAA;IA+FhD,SAAS,CAAC,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,OAAO,CAAC,WAAW;IAenB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAoB7B,KAAK,CAAC,KAAK,EAAE,MAAM;IAYnB,KAAK;IAKL,UAAU;CAGX"}
|