@tradejs/infra 2.0.21 → 3.0.0
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/dist/{chunk-YVIHTUV5.mjs → chunk-OLB6NQRG.mjs} +1 -1
- package/dist/{chunk-I2J6YDBD.mjs → chunk-ZXU7OYFU.mjs} +65 -38
- package/dist/internal-BuHqoCCV.d.mts +9 -0
- package/dist/internal-q48Torp4.d.ts +9 -0
- package/dist/ml.mjs +3 -3
- package/dist/query-tkHVD4Xo.d.mts +12 -0
- package/dist/query-tkHVD4Xo.d.ts +12 -0
- package/dist/timescale/candles.js +6 -4
- package/dist/timescale/candles.mjs +2 -2
- package/dist/timescale/client.d.mts +3 -2
- package/dist/timescale/client.d.ts +3 -2
- package/dist/timescale/client.js +40 -15
- package/dist/timescale/client.mjs +2 -2
- package/dist/timescale/derivatives.d.mts +4 -2
- package/dist/timescale/derivatives.d.ts +4 -2
- package/dist/timescale/derivatives.js +20 -12
- package/dist/timescale/derivatives.mjs +479 -13
- package/dist/timescale/hyperliquidWhales.d.mts +29 -25
- package/dist/timescale/hyperliquidWhales.d.ts +29 -25
- package/dist/timescale/hyperliquidWhales.js +84 -71
- package/dist/timescale/hyperliquidWhales.mjs +1103 -14
- package/dist/timescale/marketContext.d.mts +15 -11
- package/dist/timescale/marketContext.d.ts +15 -11
- package/dist/timescale/marketContext.js +67 -57
- package/dist/timescale/marketContext.mjs +1259 -28
- package/dist/timescale/spread.js +6 -4
- package/dist/timescale/spread.mjs +105 -5
- package/dist/userSettings.js +3 -316
- package/dist/userSettings.mjs +3 -21
- package/package.json +2 -22
- package/dist/aiEndpoints.d.mts +0 -10
- package/dist/aiEndpoints.d.ts +0 -10
- package/dist/aiEndpoints.js +0 -159
- package/dist/aiEndpoints.mjs +0 -12
- package/dist/aiLanguages.d.mts +0 -11
- package/dist/aiLanguages.d.ts +0 -11
- package/dist/aiLanguages.js +0 -71
- package/dist/aiLanguages.mjs +0 -12
- package/dist/aiModels.d.mts +0 -12
- package/dist/aiModels.d.ts +0 -12
- package/dist/aiModels.js +0 -272
- package/dist/aiModels.mjs +0 -17
- package/dist/chunk-2CZREG43.mjs +0 -112
- package/dist/chunk-CCC7DX2T.mjs +0 -44
- package/dist/chunk-DFMKDB2R.mjs +0 -1285
- package/dist/chunk-DTCLZIBM.mjs +0 -163
- package/dist/chunk-NWXFWTWU.mjs +0 -1114
- package/dist/chunk-SZQB7ER5.mjs +0 -492
- package/dist/chunk-XQ3YBULV.mjs +0 -132
- package/dist/internal-2coHaaos.d.mts +0 -26
- package/dist/internal-2coHaaos.d.ts +0 -26
- package/dist/timescale.d.mts +0 -9
- package/dist/timescale.d.ts +0 -9
- package/dist/timescale.js +0 -4228
- package/dist/timescale.mjs +0 -138
|
@@ -34,6 +34,8 @@ __export(hyperliquidWhales_exports, {
|
|
|
34
34
|
upsertHyperliquidWhaleWalletCoverage: () => upsertHyperliquidWhaleWalletCoverage
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(hyperliquidWhales_exports);
|
|
37
|
+
|
|
38
|
+
// src/timescale/hyperliquidWhales/commands.ts
|
|
37
39
|
var import_types = require("@tradejs/types");
|
|
38
40
|
|
|
39
41
|
// src/timescale/pool.ts
|
|
@@ -123,18 +125,7 @@ var queryMarketContext = async (text, values, options = {}) => {
|
|
|
123
125
|
var PG_SAFE_MAX_BIND_PARAMS = 3e4;
|
|
124
126
|
var getSafeBulkInsertRows = (columnsCount) => Math.max(1, Math.floor(PG_SAFE_MAX_BIND_PARAMS / columnsCount));
|
|
125
127
|
|
|
126
|
-
// src/timescale/
|
|
127
|
-
var derivativesSchemaReady = false;
|
|
128
|
-
var binanceMarketSchemaReady = false;
|
|
129
|
-
var hyperliquidWhaleSchemaReady = false;
|
|
130
|
-
var derivativesSchemaReadyPromise = null;
|
|
131
|
-
var binanceMarketSchemaReadyPromise = null;
|
|
132
|
-
var hyperliquidWhaleSchemaReadyPromise = null;
|
|
133
|
-
var marketContextSchemaMode = "ensure";
|
|
134
|
-
var verifiedMarketContextSchemas = /* @__PURE__ */ new Set();
|
|
135
|
-
var DERIVATIVES_SCHEMA_LOCK_KEY = 610001;
|
|
136
|
-
var BINANCE_MARKET_SCHEMA_LOCK_KEY = 610003;
|
|
137
|
-
var HYPERLIQUID_WHALE_SCHEMA_LOCK_KEY = 610004;
|
|
128
|
+
// src/timescale/schema/lifecycle.ts
|
|
138
129
|
var withSchemaLock = async (lockKey, work) => {
|
|
139
130
|
const pool = getPool();
|
|
140
131
|
await pool.query("SELECT pg_advisory_lock($1)", [lockKey]);
|
|
@@ -144,6 +135,11 @@ var withSchemaLock = async (lockKey, work) => {
|
|
|
144
135
|
await pool.query("SELECT pg_advisory_unlock($1)", [lockKey]);
|
|
145
136
|
}
|
|
146
137
|
};
|
|
138
|
+
|
|
139
|
+
// src/timescale/schema/derivatives.ts
|
|
140
|
+
var derivativesSchemaReady = false;
|
|
141
|
+
var derivativesSchemaReadyPromise = null;
|
|
142
|
+
var DERIVATIVES_SCHEMA_LOCK_KEY = 610001;
|
|
147
143
|
var ensureDerivativesSchema = async () => {
|
|
148
144
|
if (derivativesSchemaReady) return;
|
|
149
145
|
if (derivativesSchemaReadyPromise) {
|
|
@@ -231,6 +227,11 @@ var ensureDerivativesSchema = async () => {
|
|
|
231
227
|
});
|
|
232
228
|
await derivativesSchemaReadyPromise;
|
|
233
229
|
};
|
|
230
|
+
|
|
231
|
+
// src/timescale/schema/marketContext.ts
|
|
232
|
+
var binanceMarketSchemaReady = false;
|
|
233
|
+
var binanceMarketSchemaReadyPromise = null;
|
|
234
|
+
var BINANCE_MARKET_SCHEMA_LOCK_KEY = 610003;
|
|
234
235
|
var ensureBinanceMarketSchema = async () => {
|
|
235
236
|
if (binanceMarketSchemaReady) return;
|
|
236
237
|
if (binanceMarketSchemaReadyPromise) {
|
|
@@ -511,6 +512,11 @@ var ensureBinanceMarketSchema = async () => {
|
|
|
511
512
|
});
|
|
512
513
|
await binanceMarketSchemaReadyPromise;
|
|
513
514
|
};
|
|
515
|
+
|
|
516
|
+
// src/timescale/schema/hyperliquidWhales.ts
|
|
517
|
+
var hyperliquidWhaleSchemaReady = false;
|
|
518
|
+
var hyperliquidWhaleSchemaReadyPromise = null;
|
|
519
|
+
var HYPERLIQUID_WHALE_SCHEMA_LOCK_KEY = 610004;
|
|
514
520
|
var ensureHyperliquidWhaleSchema = async () => {
|
|
515
521
|
if (hyperliquidWhaleSchemaReady) return;
|
|
516
522
|
if (hyperliquidWhaleSchemaReadyPromise) {
|
|
@@ -739,6 +745,10 @@ var ensureHyperliquidWhaleSchema = async () => {
|
|
|
739
745
|
});
|
|
740
746
|
await hyperliquidWhaleSchemaReadyPromise;
|
|
741
747
|
};
|
|
748
|
+
|
|
749
|
+
// src/timescale/internal.ts
|
|
750
|
+
var marketContextSchemaMode = "ensure";
|
|
751
|
+
var verifiedMarketContextSchemas = /* @__PURE__ */ new Set();
|
|
742
752
|
var ensureCoinMarketCapContextSchema = async () => ensureBinanceMarketSchema();
|
|
743
753
|
var ensureMarketContextSchema = async (source) => {
|
|
744
754
|
switch (source) {
|
|
@@ -787,13 +797,7 @@ var verifyMarketContextSchema = async (source) => {
|
|
|
787
797
|
};
|
|
788
798
|
var prepareMarketContextSchemaForRead = async (source) => marketContextSchemaMode === "verify" ? verifyMarketContextSchema(source) : ensureMarketContextSchema(source);
|
|
789
799
|
|
|
790
|
-
// src/timescale/hyperliquidWhales.ts
|
|
791
|
-
var HYPERLIQUID_CONTEXT_INTERVAL_MS = {
|
|
792
|
-
"1m": 6e4,
|
|
793
|
-
"5m": 5 * 6e4,
|
|
794
|
-
"15m": 15 * 6e4,
|
|
795
|
-
"1h": 60 * 6e4
|
|
796
|
-
};
|
|
800
|
+
// src/timescale/hyperliquidWhales/commands.ts
|
|
797
801
|
async function upsertHyperliquidWhaleTradeEvents(rows) {
|
|
798
802
|
if (!rows.length) return;
|
|
799
803
|
await ensureHyperliquidWhaleSchema();
|
|
@@ -1279,55 +1283,6 @@ async function rebuildHyperliquidWhaleFlowRows(params) {
|
|
|
1279
1283
|
client.release();
|
|
1280
1284
|
}
|
|
1281
1285
|
}
|
|
1282
|
-
async function getHyperliquidWhaleWalletCoverage(params) {
|
|
1283
|
-
await ensureHyperliquidWhaleSchema();
|
|
1284
|
-
const result = await getPool().query(
|
|
1285
|
-
`
|
|
1286
|
-
SELECT
|
|
1287
|
-
status,
|
|
1288
|
-
covered_from_ts,
|
|
1289
|
-
covered_to_ts,
|
|
1290
|
-
fills_count,
|
|
1291
|
-
error,
|
|
1292
|
-
checked_at
|
|
1293
|
-
FROM hyperliquid_whale_wallet_coverage
|
|
1294
|
-
WHERE universe_fingerprint = $1
|
|
1295
|
-
AND whale_registry_fingerprint = $2
|
|
1296
|
-
AND address = $3
|
|
1297
|
-
AND data_model_version = $6
|
|
1298
|
-
AND (
|
|
1299
|
-
(
|
|
1300
|
-
covered_from_ts <= to_timestamp($4/1000.0)
|
|
1301
|
-
AND covered_to_ts >= to_timestamp($5/1000.0)
|
|
1302
|
-
)
|
|
1303
|
-
OR (
|
|
1304
|
-
requested_from_ts = to_timestamp($4/1000.0)
|
|
1305
|
-
AND requested_to_ts = to_timestamp($5/1000.0)
|
|
1306
|
-
)
|
|
1307
|
-
)
|
|
1308
|
-
ORDER BY checked_at DESC
|
|
1309
|
-
LIMIT 1
|
|
1310
|
-
`,
|
|
1311
|
-
[
|
|
1312
|
-
params.universeFingerprint,
|
|
1313
|
-
params.whaleRegistryFingerprint,
|
|
1314
|
-
params.address.toLowerCase(),
|
|
1315
|
-
params.fromMs,
|
|
1316
|
-
params.toMs,
|
|
1317
|
-
import_types.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
|
|
1318
|
-
]
|
|
1319
|
-
);
|
|
1320
|
-
const row = result.rows[0];
|
|
1321
|
-
if (!row) return null;
|
|
1322
|
-
return {
|
|
1323
|
-
status: row.covered_from_ts != null && row.covered_to_ts != null && new Date(row.covered_from_ts).getTime() <= params.fromMs && new Date(row.covered_to_ts).getTime() >= params.toMs ? "complete" : String(row.status),
|
|
1324
|
-
coveredFromMs: row.covered_from_ts == null ? null : new Date(row.covered_from_ts).getTime(),
|
|
1325
|
-
coveredToMs: row.covered_to_ts == null ? null : new Date(row.covered_to_ts).getTime(),
|
|
1326
|
-
fillsCount: Number(row.fills_count) || 0,
|
|
1327
|
-
error: row.error == null ? null : String(row.error),
|
|
1328
|
-
checkedAt: new Date(row.checked_at)
|
|
1329
|
-
};
|
|
1330
|
-
}
|
|
1331
1286
|
async function upsertHyperliquidWhaleWalletCoverage(params) {
|
|
1332
1287
|
await ensureHyperliquidWhaleSchema();
|
|
1333
1288
|
await getPool().query(
|
|
@@ -1595,6 +1550,64 @@ async function upsertHyperliquidWhaleCoverageRows(rows) {
|
|
|
1595
1550
|
values
|
|
1596
1551
|
);
|
|
1597
1552
|
}
|
|
1553
|
+
|
|
1554
|
+
// src/timescale/hyperliquidWhales/queries.ts
|
|
1555
|
+
var import_types2 = require("@tradejs/types");
|
|
1556
|
+
var HYPERLIQUID_CONTEXT_INTERVAL_MS = {
|
|
1557
|
+
"1m": 6e4,
|
|
1558
|
+
"5m": 5 * 6e4,
|
|
1559
|
+
"15m": 15 * 6e4,
|
|
1560
|
+
"1h": 60 * 6e4
|
|
1561
|
+
};
|
|
1562
|
+
async function getHyperliquidWhaleWalletCoverage(params) {
|
|
1563
|
+
await ensureHyperliquidWhaleSchema();
|
|
1564
|
+
const result = await getPool().query(
|
|
1565
|
+
`
|
|
1566
|
+
SELECT
|
|
1567
|
+
status,
|
|
1568
|
+
covered_from_ts,
|
|
1569
|
+
covered_to_ts,
|
|
1570
|
+
fills_count,
|
|
1571
|
+
error,
|
|
1572
|
+
checked_at
|
|
1573
|
+
FROM hyperliquid_whale_wallet_coverage
|
|
1574
|
+
WHERE universe_fingerprint = $1
|
|
1575
|
+
AND whale_registry_fingerprint = $2
|
|
1576
|
+
AND address = $3
|
|
1577
|
+
AND data_model_version = $6
|
|
1578
|
+
AND (
|
|
1579
|
+
(
|
|
1580
|
+
covered_from_ts <= to_timestamp($4/1000.0)
|
|
1581
|
+
AND covered_to_ts >= to_timestamp($5/1000.0)
|
|
1582
|
+
)
|
|
1583
|
+
OR (
|
|
1584
|
+
requested_from_ts = to_timestamp($4/1000.0)
|
|
1585
|
+
AND requested_to_ts = to_timestamp($5/1000.0)
|
|
1586
|
+
)
|
|
1587
|
+
)
|
|
1588
|
+
ORDER BY checked_at DESC
|
|
1589
|
+
LIMIT 1
|
|
1590
|
+
`,
|
|
1591
|
+
[
|
|
1592
|
+
params.universeFingerprint,
|
|
1593
|
+
params.whaleRegistryFingerprint,
|
|
1594
|
+
params.address.toLowerCase(),
|
|
1595
|
+
params.fromMs,
|
|
1596
|
+
params.toMs,
|
|
1597
|
+
import_types2.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
|
|
1598
|
+
]
|
|
1599
|
+
);
|
|
1600
|
+
const row = result.rows[0];
|
|
1601
|
+
if (!row) return null;
|
|
1602
|
+
return {
|
|
1603
|
+
status: row.covered_from_ts != null && row.covered_to_ts != null && new Date(row.covered_from_ts).getTime() <= params.fromMs && new Date(row.covered_to_ts).getTime() >= params.toMs ? "complete" : String(row.status),
|
|
1604
|
+
coveredFromMs: row.covered_from_ts == null ? null : new Date(row.covered_from_ts).getTime(),
|
|
1605
|
+
coveredToMs: row.covered_to_ts == null ? null : new Date(row.covered_to_ts).getTime(),
|
|
1606
|
+
fillsCount: Number(row.fills_count) || 0,
|
|
1607
|
+
error: row.error == null ? null : String(row.error),
|
|
1608
|
+
checkedAt: new Date(row.checked_at)
|
|
1609
|
+
};
|
|
1610
|
+
}
|
|
1598
1611
|
async function getHyperliquidWhaleCoverageSeriesRows(params) {
|
|
1599
1612
|
await prepareMarketContextSchemaForRead("hyperliquidWhales");
|
|
1600
1613
|
const result = await queryMarketContext(
|
|
@@ -1615,7 +1628,7 @@ async function getHyperliquidWhaleCoverageSeriesRows(params) {
|
|
|
1615
1628
|
[
|
|
1616
1629
|
params.universeFingerprint,
|
|
1617
1630
|
params.whaleRegistryFingerprint,
|
|
1618
|
-
|
|
1631
|
+
import_types2.HYPERLIQUID_WHALE_DATA_MODEL_VERSION,
|
|
1619
1632
|
params.fromMs,
|
|
1620
1633
|
params.toMs
|
|
1621
1634
|
],
|
|
@@ -1802,7 +1815,7 @@ async function getHyperliquidWhaleFlowAggregate(params) {
|
|
|
1802
1815
|
params.whaleRegistryFingerprint,
|
|
1803
1816
|
params.decisionTimeMs,
|
|
1804
1817
|
intervalMs,
|
|
1805
|
-
|
|
1818
|
+
import_types2.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
|
|
1806
1819
|
],
|
|
1807
1820
|
params
|
|
1808
1821
|
);
|
|
@@ -1871,7 +1884,7 @@ async function hasHyperliquidWhaleBackfillCoverage(params) {
|
|
|
1871
1884
|
params.whaleRegistryFingerprint,
|
|
1872
1885
|
params.fromMs,
|
|
1873
1886
|
params.toMs,
|
|
1874
|
-
|
|
1887
|
+
import_types2.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
|
|
1875
1888
|
]
|
|
1876
1889
|
);
|
|
1877
1890
|
return Number(result.rows[0]?.buckets) === expectedBuckets && Number(result.rows[0]?.complete_buckets) === expectedBuckets;
|