@basedone/core 0.1.8 → 0.2.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-4GAKANLT.mjs +1987 -0
- package/dist/chunk-4UEJOM6W.mjs +1 -3
- package/dist/chunk-VBC6EQ7Q.mjs +235 -0
- package/dist/client-CgmiTuEX.d.mts +179 -0
- package/dist/client-CgmiTuEX.d.ts +179 -0
- package/dist/ecommerce.d.mts +3732 -0
- package/dist/ecommerce.d.ts +3732 -0
- package/dist/ecommerce.js +2031 -0
- package/dist/ecommerce.mjs +2 -0
- package/dist/index.d.mts +79 -4
- package/dist/index.d.ts +79 -4
- package/dist/index.js +3674 -331
- package/dist/index.mjs +107 -104
- package/dist/{meta-57AY44US.mjs → meta-JB5ITE27.mjs} +6 -14
- package/dist/{meta-RSZFFH63.mjs → meta-UOGUG3OW.mjs} +5 -11
- package/dist/{perpDexs-PBKWKKQU.mjs → perpDexs-3LRJ5ZHM.mjs} +100 -13
- package/dist/{perpDexs-XSB4Y2BP.mjs → perpDexs-4ISLD7NX.mjs} +798 -121
- package/dist/react.d.mts +39 -0
- package/dist/react.d.ts +39 -0
- package/dist/react.js +268 -0
- package/dist/react.mjs +31 -0
- package/dist/{spotMeta-WQ4PXRNY.mjs → spotMeta-GHXX7C5M.mjs} +85 -14
- package/dist/{spotMeta-Y7G2GI7B.mjs → spotMeta-IBBUP2SG.mjs} +249 -12
- package/dist/staticMeta-GM7T3OYL.mjs +3 -6
- package/dist/staticMeta-QV2KMX57.mjs +3 -6
- package/ecommerce.ts +15 -0
- package/index.ts +7 -0
- package/lib/cloid/cloid.ts +2 -0
- package/lib/ecommerce/QUICK_REFERENCE.md +211 -0
- package/lib/ecommerce/README.md +385 -0
- package/lib/ecommerce/USAGE_EXAMPLES.md +704 -0
- package/lib/ecommerce/client/base.ts +272 -0
- package/lib/ecommerce/client/customer.ts +522 -0
- package/lib/ecommerce/client/merchant.ts +1341 -0
- package/lib/ecommerce/index.ts +51 -0
- package/lib/ecommerce/types/entities.ts +722 -0
- package/lib/ecommerce/types/enums.ts +270 -0
- package/lib/ecommerce/types/index.ts +18 -0
- package/lib/ecommerce/types/requests.ts +525 -0
- package/lib/ecommerce/types/responses.ts +805 -0
- package/lib/ecommerce/utils/errors.ts +113 -0
- package/lib/ecommerce/utils/helpers.ts +131 -0
- package/lib/fee.ts +10 -10
- package/lib/hip3/market-info.ts +36 -8
- package/lib/hip3/utils.ts +15 -2
- package/lib/instrument/client.ts +351 -0
- package/lib/meta/data/mainnet/meta.json +2 -4
- package/lib/meta/data/mainnet/perpDexs.json +97 -9
- package/lib/meta/data/mainnet/spotMeta.json +82 -8
- package/lib/meta/data/testnet/meta.json +3 -7
- package/lib/meta/data/testnet/perpDexs.json +795 -117
- package/lib/meta/data/testnet/spotMeta.json +246 -6
- package/lib/meta/metadata.ts +8 -1
- package/lib/meta/types.ts +36 -0
- package/lib/react/InstrumentProvider.tsx +69 -0
- package/lib/utils/flooredDateTime.ts +55 -0
- package/lib/utils/time.ts +51 -0
- package/package.json +37 -11
- package/react.ts +1 -0
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
} from
|
|
1
|
+
export { BannerType, BaseEcommerceClient, CustomerEcommerceClient, DiscountMethod, DiscountScope, DiscountType, EcommerceApiError, InventoryAuditAction, MerchantEcommerceClient, MerchantStatus, OrderStatus, PaymentMethod, PaymentStatus, ProductSortBy, ReturnStatus, ReviewSortBy, ReviewStatus, ShipmentStatus, SortOrder, TaxBehavior, TaxReportPeriodType, TaxReportStatus, TaxType, buildQueryString, calculateDiscountAmount, calculateFinalPrice, formatPrice, getBackoffDelay, isRetryableError, isValidAddress, isValidEmail, parseError, retryWithBackoff, sleep, truncateAddress } from './chunk-4GAKANLT.mjs';
|
|
2
|
+
export { AssetIdUtils, InstrumentClient } from './chunk-VBC6EQ7Q.mjs';
|
|
3
|
+
import { __glob } from './chunk-4UEJOM6W.mjs';
|
|
4
|
+
import Decimal, { Decimal as Decimal$1 } from 'decimal.js';
|
|
5
|
+
import { HttpTransport, InfoClient } from '@nktkas/hyperliquid';
|
|
6
|
+
import { signL1Action, signUserSignedAction } from '@nktkas/hyperliquid/signing';
|
|
4
7
|
|
|
5
8
|
// lib/cloid/encoder.ts
|
|
6
9
|
var mask = (bits) => (1n << bits) - 1n;
|
|
@@ -209,7 +212,8 @@ var CloidClientCode = {
|
|
|
209
212
|
Chase: 6,
|
|
210
213
|
Desktop: 7,
|
|
211
214
|
API: 8,
|
|
212
|
-
Stream: 9
|
|
215
|
+
Stream: 9,
|
|
216
|
+
Pal: 10
|
|
213
217
|
};
|
|
214
218
|
var CloidClientCodeNameById = {
|
|
215
219
|
[CloidClientCode.Unset]: "Unset",
|
|
@@ -221,7 +225,8 @@ var CloidClientCodeNameById = {
|
|
|
221
225
|
[CloidClientCode.Chase]: "Chase",
|
|
222
226
|
[CloidClientCode.Desktop]: "Desktop",
|
|
223
227
|
[CloidClientCode.API]: "API",
|
|
224
|
-
[CloidClientCode.Stream]: "Stream"
|
|
228
|
+
[CloidClientCode.Stream]: "Stream",
|
|
229
|
+
[CloidClientCode.Pal]: "Pal"
|
|
225
230
|
};
|
|
226
231
|
function getClientCodeNameById(id) {
|
|
227
232
|
return CloidClientCodeNameById[id] ?? `client_${id}`;
|
|
@@ -284,9 +289,6 @@ function isMiniAppTriggeredCloid(cloidHex) {
|
|
|
284
289
|
return cloidData.miniAppTriggered;
|
|
285
290
|
}
|
|
286
291
|
|
|
287
|
-
// lib/fee.ts
|
|
288
|
-
import Decimal from "decimal.js";
|
|
289
|
-
|
|
290
292
|
// lib/constants/fee.ts
|
|
291
293
|
var BASED_FEE_WALLET = "0x1924b8561eeF20e70Ede628A296175D358BE80e5";
|
|
292
294
|
var BASED_REFERRAL_CODE = "SHIFU";
|
|
@@ -325,18 +327,18 @@ var getApprovalAmount = ({
|
|
|
325
327
|
validatedPerpFeePct = TARGET_FUTURES_BUILDER_FEE / 1e3;
|
|
326
328
|
}
|
|
327
329
|
validatedPerpFeePct = new Decimal(validatedPerpFeePct).mul(discountMultiplier).toNumber();
|
|
328
|
-
if (validatedPerpFeePct > 0 && validatedPerpFeePct <
|
|
329
|
-
console.warn("Perp fee is less than 0.
|
|
330
|
-
validatedPerpFeePct =
|
|
331
|
-
}
|
|
332
|
-
if (validatedPerpFeePct < 0) {
|
|
333
|
-
console.warn("Perp fee is less than 0, setting to 0");
|
|
334
|
-
validatedPerpFeePct = 0;
|
|
330
|
+
if (validatedPerpFeePct > 0 && validatedPerpFeePct < 1e-3) {
|
|
331
|
+
console.warn("Perp fee is less than 0.001%, setting to 0.001%");
|
|
332
|
+
validatedPerpFeePct = 1e-3;
|
|
335
333
|
}
|
|
336
334
|
if (validatedPerpFeePct > 0.1) {
|
|
337
335
|
console.warn("Perp fee is greater than 0.1%, setting to 0.1%");
|
|
338
336
|
validatedPerpFeePct = 0.1;
|
|
339
337
|
}
|
|
338
|
+
if (validatedPerpFeePct < 0) {
|
|
339
|
+
console.warn("Perp fee is less than 0, setting to 0");
|
|
340
|
+
validatedPerpFeePct = 0;
|
|
341
|
+
}
|
|
340
342
|
let validatedSpotFeePct = spotTradingFee;
|
|
341
343
|
if (validatedSpotFeePct === void 0) {
|
|
342
344
|
validatedSpotFeePct = TARGET_SPOT_BUILDER_FEE / 1e3;
|
|
@@ -447,7 +449,6 @@ function getNextTierInfo(pupTokenAmount, normalizedAirDropAmount, isAirdropRecip
|
|
|
447
449
|
else if (currentBoost === XP_BOOST_PERCENTAGES.TIER_2) currentTier = 2;
|
|
448
450
|
else if (currentBoost === XP_BOOST_PERCENTAGES.TIER_1) currentTier = 1;
|
|
449
451
|
if (isAirdropRecipient && normalizedAirDropAmount > 0) {
|
|
450
|
-
const retentionRatio = pupTokenAmount / normalizedAirDropAmount;
|
|
451
452
|
if (currentTier === 0) {
|
|
452
453
|
const threshold = normalizedAirDropAmount * PUP_TOKEN_THRESHOLDS.AIRDROP_35_PERCENT;
|
|
453
454
|
return {
|
|
@@ -544,18 +545,6 @@ var TESTNET_USDC_SPOT_TOKEN = {
|
|
|
544
545
|
fullName: null,
|
|
545
546
|
deployerTradingFeeShare: "0.0"
|
|
546
547
|
};
|
|
547
|
-
|
|
548
|
-
// lib/meta/metadata.ts
|
|
549
|
-
import {
|
|
550
|
-
HttpTransport,
|
|
551
|
-
InfoClient
|
|
552
|
-
} from "@nktkas/hyperliquid";
|
|
553
|
-
|
|
554
|
-
// lib/hip3/utils.ts
|
|
555
|
-
import {
|
|
556
|
-
signL1Action,
|
|
557
|
-
signUserSignedAction
|
|
558
|
-
} from "@nktkas/hyperliquid/signing";
|
|
559
548
|
function isHip3Symbol(symbol) {
|
|
560
549
|
if (!symbol) return false;
|
|
561
550
|
return symbol.includes(":");
|
|
@@ -619,7 +608,7 @@ async function getHip3DexAbstraction(client, user) {
|
|
|
619
608
|
}
|
|
620
609
|
var dexToCollateralTokenSymbol = {
|
|
621
610
|
rrrrr: "USDEEE",
|
|
622
|
-
|
|
611
|
+
hyna: "USDE",
|
|
623
612
|
flx: "USDH",
|
|
624
613
|
vntl: "USDH"
|
|
625
614
|
};
|
|
@@ -642,7 +631,18 @@ function isStableQuoteToken(coin) {
|
|
|
642
631
|
return stableQuoteTokens.includes(coin);
|
|
643
632
|
}
|
|
644
633
|
function getDisplayMarketSymbol(coin, showCollateralTokenSymbol = true, collateralTokenSymbol) {
|
|
645
|
-
if (!coin
|
|
634
|
+
if (!coin) return coin;
|
|
635
|
+
if (isSpotSymbol(coin)) {
|
|
636
|
+
if (coin.includes("/")) {
|
|
637
|
+
const [baseToken, quoteToken] = coin.split("/");
|
|
638
|
+
if (showCollateralTokenSymbol) {
|
|
639
|
+
return `${baseToken}/${collateralTokenSymbol ?? quoteToken}`;
|
|
640
|
+
} else {
|
|
641
|
+
return baseToken;
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
return coin;
|
|
645
|
+
}
|
|
646
646
|
if (isHip3Symbol(coin)) {
|
|
647
647
|
const [_, symbol] = coin.split(":");
|
|
648
648
|
if (!showCollateralTokenSymbol) return symbol;
|
|
@@ -659,26 +659,26 @@ function getDexFromCollateralTokenSymbol(collateralTokenSymbol) {
|
|
|
659
659
|
|
|
660
660
|
// import("./data/**/*/staticMeta.json") in lib/meta/metadata.ts
|
|
661
661
|
var globImport_data_staticMeta_json = __glob({
|
|
662
|
-
"./data/mainnet/staticMeta.json": () => import(
|
|
663
|
-
"./data/testnet/staticMeta.json": () => import(
|
|
662
|
+
"./data/mainnet/staticMeta.json": () => import('./staticMeta-QV2KMX57.mjs'),
|
|
663
|
+
"./data/testnet/staticMeta.json": () => import('./staticMeta-GM7T3OYL.mjs')
|
|
664
664
|
});
|
|
665
665
|
|
|
666
666
|
// import("./data/**/*/spotMeta.json") in lib/meta/metadata.ts
|
|
667
667
|
var globImport_data_spotMeta_json = __glob({
|
|
668
|
-
"./data/mainnet/spotMeta.json": () => import(
|
|
669
|
-
"./data/testnet/spotMeta.json": () => import(
|
|
668
|
+
"./data/mainnet/spotMeta.json": () => import('./spotMeta-GHXX7C5M.mjs'),
|
|
669
|
+
"./data/testnet/spotMeta.json": () => import('./spotMeta-IBBUP2SG.mjs')
|
|
670
670
|
});
|
|
671
671
|
|
|
672
672
|
// import("./data/**/*/meta.json") in lib/meta/metadata.ts
|
|
673
673
|
var globImport_data_meta_json = __glob({
|
|
674
|
-
"./data/mainnet/meta.json": () => import(
|
|
675
|
-
"./data/testnet/meta.json": () => import(
|
|
674
|
+
"./data/mainnet/meta.json": () => import('./meta-UOGUG3OW.mjs'),
|
|
675
|
+
"./data/testnet/meta.json": () => import('./meta-JB5ITE27.mjs')
|
|
676
676
|
});
|
|
677
677
|
|
|
678
678
|
// import("./data/**/*/perpDexs.json") in lib/meta/metadata.ts
|
|
679
679
|
var globImport_data_perpDexs_json = __glob({
|
|
680
|
-
"./data/mainnet/perpDexs.json": () => import(
|
|
681
|
-
"./data/testnet/perpDexs.json": () => import(
|
|
680
|
+
"./data/mainnet/perpDexs.json": () => import('./perpDexs-3LRJ5ZHM.mjs'),
|
|
681
|
+
"./data/testnet/perpDexs.json": () => import('./perpDexs-4ISLD7NX.mjs')
|
|
682
682
|
});
|
|
683
683
|
|
|
684
684
|
// lib/meta/metadata.ts
|
|
@@ -871,7 +871,8 @@ var MetadataClient = class {
|
|
|
871
871
|
assetId: index,
|
|
872
872
|
szDecimals: market.szDecimals,
|
|
873
873
|
type: "perps",
|
|
874
|
-
maxLeverage: market.maxLeverage
|
|
874
|
+
maxLeverage: market.maxLeverage,
|
|
875
|
+
growthMode: market.growthMode === "enabled"
|
|
875
876
|
};
|
|
876
877
|
const staticOverrides = this.staticMeta?.coins?.[market.name];
|
|
877
878
|
if (staticOverrides) {
|
|
@@ -904,7 +905,8 @@ var MetadataClient = class {
|
|
|
904
905
|
szDecimals: baseToken.szDecimals,
|
|
905
906
|
type: "spot",
|
|
906
907
|
baseToken,
|
|
907
|
-
quoteToken
|
|
908
|
+
quoteToken,
|
|
909
|
+
growthMode: false
|
|
908
910
|
};
|
|
909
911
|
const staticOverrides = this.staticMeta?.coins?.[coin];
|
|
910
912
|
if (staticOverrides) {
|
|
@@ -1003,7 +1005,8 @@ var MetadataClient = class {
|
|
|
1003
1005
|
dexIndex: dexInfo.dexIndex,
|
|
1004
1006
|
dexDisplayName: dexInfo.displayName,
|
|
1005
1007
|
dexImageUrl: dexInfo.imageUrl,
|
|
1006
|
-
dexCollateralTokenSymbol: dexInfo.collateralTokenSymbol
|
|
1008
|
+
dexCollateralTokenSymbol: dexInfo.collateralTokenSymbol,
|
|
1009
|
+
growthMode: market.growthMode === "enabled"
|
|
1007
1010
|
};
|
|
1008
1011
|
const staticOverrides = this.staticMeta?.coins?.[symbol];
|
|
1009
1012
|
if (staticOverrides) {
|
|
@@ -1078,7 +1081,8 @@ var MetadataClient = class {
|
|
|
1078
1081
|
// Perps asset ID is just the index
|
|
1079
1082
|
szDecimals: market.szDecimals,
|
|
1080
1083
|
type: "perps",
|
|
1081
|
-
maxLeverage: market.maxLeverage
|
|
1084
|
+
maxLeverage: market.maxLeverage,
|
|
1085
|
+
growthMode: market.growthMode === "enabled"
|
|
1082
1086
|
};
|
|
1083
1087
|
}
|
|
1084
1088
|
/**
|
|
@@ -1180,9 +1184,6 @@ var MetadataClient = class {
|
|
|
1180
1184
|
};
|
|
1181
1185
|
}
|
|
1182
1186
|
};
|
|
1183
|
-
|
|
1184
|
-
// lib/utils/formatter.ts
|
|
1185
|
-
import { Decimal as Decimal2 } from "decimal.js";
|
|
1186
1187
|
var formatPriceAndSize = ({
|
|
1187
1188
|
px,
|
|
1188
1189
|
sz,
|
|
@@ -1190,8 +1191,8 @@ var formatPriceAndSize = ({
|
|
|
1190
1191
|
isSpot
|
|
1191
1192
|
}) => {
|
|
1192
1193
|
const priceDecimals = getPriceDecimals(px, szDecimals, isSpot);
|
|
1193
|
-
const price = new
|
|
1194
|
-
const size = new
|
|
1194
|
+
const price = new Decimal$1(px).toDP(priceDecimals).toNumber();
|
|
1195
|
+
const size = new Decimal$1(sz).toDP(szDecimals, Decimal$1.ROUND_DOWN).toNumber();
|
|
1195
1196
|
return {
|
|
1196
1197
|
price,
|
|
1197
1198
|
size
|
|
@@ -1203,7 +1204,7 @@ var formatPriceForOrder = ({
|
|
|
1203
1204
|
isSpot
|
|
1204
1205
|
}) => {
|
|
1205
1206
|
const priceDecimals = getPriceDecimals(px, szDecimals, isSpot);
|
|
1206
|
-
const price = new
|
|
1207
|
+
const price = new Decimal$1(px).toDP(priceDecimals).toNumber();
|
|
1207
1208
|
return price;
|
|
1208
1209
|
};
|
|
1209
1210
|
var formatPriceForDisplay = ({
|
|
@@ -1222,7 +1223,7 @@ var formatSizeForOrder = ({
|
|
|
1222
1223
|
sz,
|
|
1223
1224
|
szDecimals
|
|
1224
1225
|
}) => {
|
|
1225
|
-
return new
|
|
1226
|
+
return new Decimal$1(sz).toDP(szDecimals, Decimal$1.ROUND_DOWN).toNumber();
|
|
1226
1227
|
};
|
|
1227
1228
|
var formatSizeForDisplay = ({
|
|
1228
1229
|
sz,
|
|
@@ -1248,58 +1249,60 @@ function getPriceDecimals(price, szDecimals, isSpot) {
|
|
|
1248
1249
|
}
|
|
1249
1250
|
return minDecimals;
|
|
1250
1251
|
}
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
}
|
|
1252
|
+
|
|
1253
|
+
// lib/utils/flooredDateTime.ts
|
|
1254
|
+
var MIN = 6e4;
|
|
1255
|
+
var HOUR = 60 * MIN;
|
|
1256
|
+
var DAY = 24 * HOUR;
|
|
1257
|
+
var WEEK = 7 * DAY;
|
|
1258
|
+
var opOf = (m) => m === "ceil" ? Math.ceil : m === "round" ? Math.round : Math.floor;
|
|
1259
|
+
function makeUtcRounder(stepMs, opts = {}) {
|
|
1260
|
+
const mode = opts.mode ?? "floor";
|
|
1261
|
+
const op = opOf(mode);
|
|
1262
|
+
let anchorUtc = opts.anchorUtc ?? 0;
|
|
1263
|
+
if (stepMs % WEEK === 0 && opts.weekStartsOn !== void 0) {
|
|
1264
|
+
const sundayUTC = Date.UTC(1970, 0, 4);
|
|
1265
|
+
anchorUtc = sundayUTC + opts.weekStartsOn * DAY;
|
|
1266
|
+
}
|
|
1267
|
+
return (t) => {
|
|
1268
|
+
const ts = t.getTime();
|
|
1269
|
+
const snapped = op((ts - anchorUtc) / stepMs) * stepMs + anchorUtc;
|
|
1270
|
+
return new Date(snapped);
|
|
1271
|
+
};
|
|
1272
|
+
}
|
|
1273
|
+
var floorUtcMinutes = (stepMinutes) => makeUtcRounder(stepMinutes * MIN, { mode: "floor" });
|
|
1274
|
+
var floorUtcHour = () => makeUtcRounder(HOUR, { mode: "floor" });
|
|
1275
|
+
var floorUtcDay = () => makeUtcRounder(DAY, { mode: "floor" });
|
|
1276
|
+
var floorUtcWeek = (weekStartsOn = 1) => makeUtcRounder(WEEK, { mode: "floor", weekStartsOn });
|
|
1277
|
+
|
|
1278
|
+
// lib/utils/time.ts
|
|
1279
|
+
var DayOfWeek = /* @__PURE__ */ ((DayOfWeek2) => {
|
|
1280
|
+
DayOfWeek2[DayOfWeek2["Sunday"] = 0] = "Sunday";
|
|
1281
|
+
DayOfWeek2[DayOfWeek2["Monday"] = 1] = "Monday";
|
|
1282
|
+
DayOfWeek2[DayOfWeek2["Tuesday"] = 2] = "Tuesday";
|
|
1283
|
+
DayOfWeek2[DayOfWeek2["Wednesday"] = 3] = "Wednesday";
|
|
1284
|
+
DayOfWeek2[DayOfWeek2["Thursday"] = 4] = "Thursday";
|
|
1285
|
+
DayOfWeek2[DayOfWeek2["Friday"] = 5] = "Friday";
|
|
1286
|
+
DayOfWeek2[DayOfWeek2["Saturday"] = 6] = "Saturday";
|
|
1287
|
+
return DayOfWeek2;
|
|
1288
|
+
})(DayOfWeek || {});
|
|
1289
|
+
var WEEK_IN_MS = 7 * 24 * 60 * 60 * 1e3;
|
|
1290
|
+
function getLatestCompletedWeek(currentTimestamp, offset = 0, weekStartsOn = 4 /* Thursday */) {
|
|
1291
|
+
const now = new Date(currentTimestamp ?? Date.now());
|
|
1292
|
+
const floorToWeekStart = floorUtcWeek(weekStartsOn);
|
|
1293
|
+
const endDate = new Date(floorToWeekStart(now).getTime() - offset * WEEK_IN_MS);
|
|
1294
|
+
const startDate = new Date(endDate.getTime() - WEEK_IN_MS);
|
|
1295
|
+
const week1StartDate = new Date(process.env.WEEK1_START_DATE || "2025-12-04T00:00:00Z");
|
|
1296
|
+
const msSinceWeek1 = startDate.getTime() - week1StartDate.getTime();
|
|
1297
|
+
const weekNumber = Math.round(msSinceWeek1 / WEEK_IN_MS) + 1;
|
|
1298
|
+
return { weekNumber, startDate, endDate };
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
// lib/hip3/market-info.ts
|
|
1302
|
+
async function getAllPerpsMeta(infoClient) {
|
|
1303
|
+
return infoClient.transport.request("info", {
|
|
1304
|
+
type: "allPerpMetas"
|
|
1305
|
+
});
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
export { CloidClientCode, CloidClientCodeNameById, DayOfWeek, MetadataClient, PUP_TOKEN_ADDRESS, PUP_TOKEN_THRESHOLDS, ROOT_DEX, TARGET_APPROVED_MAX_BUILDER_FEE, TARGET_APPROVED_MAX_BUILDER_FEE_PERCENT, TESTNET_USDC_SPOT_TOKEN, USDC_SPOT_TOKEN, UserDexAbstractionTypes, WidgetType, WidgetTypeById, XP_BOOST_PERCENTAGES, buildCloid, calculateBoostPercentage, calculateTotalPupAmount, decodeSlug, enableHip3DexAbstractionWithAgent, encodeSlug, floorUtcDay, floorUtcHour, floorUtcMinutes, floorUtcWeek, formatPriceAndSize, formatPriceForDisplay, formatPriceForOrder, formatSizeForDisplay, formatSizeForOrder, getAllPerpsMeta, getApprovalAmount, getClientCodeNameById, getCloid, getDexFromCollateralTokenSymbol, getDisplayMarketSymbol, getHip3Dex, getHip3DexAbstraction, getLatestCompletedWeek, getNextTierInfo, getPriceDecimals, getStaticCollateralTokenByDex, getStaticCollateralTokenSymbol, getWidgetTypeById, isBasedCloid, isClientCode, isHip3Symbol, isMiniAppCloid, isMiniAppTriggeredCloid, isSpotSymbol, isStableQuoteToken, isTenantCloid, isTrackingIdCloid, isWidgetType, makeUtcRounder, normaliseSlug, normaliseTrackingId, normalizeAirdropAmount, parseCloid, setHip3DexAbstraction, stableQuoteTokens };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './chunk-4UEJOM6W.mjs';
|
|
2
2
|
|
|
3
3
|
// lib/meta/data/testnet/meta.json
|
|
4
4
|
var universe = [
|
|
@@ -507,9 +507,7 @@ var universe = [
|
|
|
507
507
|
szDecimals: 0,
|
|
508
508
|
name: "WIF",
|
|
509
509
|
maxLeverage: 5,
|
|
510
|
-
marginTableId: 5
|
|
511
|
-
onlyIsolated: true,
|
|
512
|
-
marginMode: "strictIsolated"
|
|
510
|
+
marginTableId: 5
|
|
513
511
|
},
|
|
514
512
|
{
|
|
515
513
|
szDecimals: 1,
|
|
@@ -1242,10 +1240,8 @@ var universe = [
|
|
|
1242
1240
|
{
|
|
1243
1241
|
szDecimals: 0,
|
|
1244
1242
|
name: "MON",
|
|
1245
|
-
maxLeverage:
|
|
1246
|
-
marginTableId:
|
|
1247
|
-
onlyIsolated: true,
|
|
1248
|
-
marginMode: "strictIsolated"
|
|
1243
|
+
maxLeverage: 5,
|
|
1244
|
+
marginTableId: 5
|
|
1249
1245
|
},
|
|
1250
1246
|
{
|
|
1251
1247
|
szDecimals: 0,
|
|
@@ -1390,9 +1386,5 @@ var meta_default = {
|
|
|
1390
1386
|
marginTables,
|
|
1391
1387
|
collateralToken
|
|
1392
1388
|
};
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
meta_default as default,
|
|
1396
|
-
marginTables,
|
|
1397
|
-
universe
|
|
1398
|
-
};
|
|
1389
|
+
|
|
1390
|
+
export { collateralToken, meta_default as default, marginTables, universe };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './chunk-4UEJOM6W.mjs';
|
|
2
2
|
|
|
3
3
|
// lib/meta/data/mainnet/meta.json
|
|
4
4
|
var universe = [
|
|
@@ -1348,10 +1348,8 @@ var universe = [
|
|
|
1348
1348
|
{
|
|
1349
1349
|
szDecimals: 0,
|
|
1350
1350
|
name: "MON",
|
|
1351
|
-
maxLeverage:
|
|
1352
|
-
marginTableId:
|
|
1353
|
-
onlyIsolated: true,
|
|
1354
|
-
marginMode: "strictIsolated"
|
|
1351
|
+
maxLeverage: 5,
|
|
1352
|
+
marginTableId: 5
|
|
1355
1353
|
},
|
|
1356
1354
|
{
|
|
1357
1355
|
szDecimals: 0,
|
|
@@ -1502,9 +1500,5 @@ var meta_default = {
|
|
|
1502
1500
|
marginTables,
|
|
1503
1501
|
collateralToken
|
|
1504
1502
|
};
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
meta_default as default,
|
|
1508
|
-
marginTables,
|
|
1509
|
-
universe
|
|
1510
|
-
};
|
|
1503
|
+
|
|
1504
|
+
export { collateralToken, meta_default as default, marginTables, universe };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './chunk-4UEJOM6W.mjs';
|
|
2
2
|
|
|
3
3
|
// lib/meta/data/mainnet/perpDexs.json
|
|
4
4
|
var perpDexs_default = [
|
|
@@ -8,7 +8,7 @@ var perpDexs_default = [
|
|
|
8
8
|
fullName: "XYZ",
|
|
9
9
|
deployer: "0x88806a71d74ad0a510b350545c9ae490912f0888",
|
|
10
10
|
oracleUpdater: null,
|
|
11
|
-
feeRecipient: "
|
|
11
|
+
feeRecipient: "0x97f46f90c04efb91d0d740bd263e76683ca6f904",
|
|
12
12
|
assetToStreamingOiCap: [
|
|
13
13
|
[
|
|
14
14
|
"xyz:AAPL",
|
|
@@ -28,7 +28,7 @@ var perpDexs_default = [
|
|
|
28
28
|
],
|
|
29
29
|
[
|
|
30
30
|
"xyz:GOOGL",
|
|
31
|
-
"
|
|
31
|
+
"50000000.0"
|
|
32
32
|
],
|
|
33
33
|
[
|
|
34
34
|
"xyz:HOOD",
|
|
@@ -76,7 +76,8 @@ var perpDexs_default = [
|
|
|
76
76
|
]
|
|
77
77
|
],
|
|
78
78
|
deployerFeeScale: "1.0",
|
|
79
|
-
lastDeployerFeeScaleChangeTime: "1970-01-01T00:00:00"
|
|
79
|
+
lastDeployerFeeScaleChangeTime: "1970-01-01T00:00:00",
|
|
80
|
+
assetToFundingMultiplier: []
|
|
80
81
|
},
|
|
81
82
|
{
|
|
82
83
|
name: "flx",
|
|
@@ -85,9 +86,13 @@ var perpDexs_default = [
|
|
|
85
86
|
oracleUpdater: "0x94757f8dcb4bf73b850195660e959d1105cfedd5",
|
|
86
87
|
feeRecipient: "0xe2872b5ae7dcbba40cc4510d08c8bbea95b42d43",
|
|
87
88
|
assetToStreamingOiCap: [
|
|
89
|
+
[
|
|
90
|
+
"flx:COIN",
|
|
91
|
+
"2000000.0"
|
|
92
|
+
],
|
|
88
93
|
[
|
|
89
94
|
"flx:CRCL",
|
|
90
|
-
"
|
|
95
|
+
"2000000.0"
|
|
91
96
|
],
|
|
92
97
|
[
|
|
93
98
|
"flx:TSLA",
|
|
@@ -145,10 +150,42 @@ var perpDexs_default = [
|
|
|
145
150
|
"0xae083732032a813f9142733cdf380e1bc9e518af",
|
|
146
151
|
"0xd0d4ef34424af3da883672b8cdeca751293655a5"
|
|
147
152
|
]
|
|
153
|
+
],
|
|
154
|
+
[
|
|
155
|
+
"setMarginModes",
|
|
156
|
+
[
|
|
157
|
+
"0xd0d4ef34424af3da883672b8cdeca751293655a5"
|
|
158
|
+
]
|
|
159
|
+
],
|
|
160
|
+
[
|
|
161
|
+
"setFeeScale",
|
|
162
|
+
[
|
|
163
|
+
"0xd0d4ef34424af3da883672b8cdeca751293655a5"
|
|
164
|
+
]
|
|
165
|
+
],
|
|
166
|
+
[
|
|
167
|
+
"setGrowthModes",
|
|
168
|
+
[
|
|
169
|
+
"0xd0d4ef34424af3da883672b8cdeca751293655a5"
|
|
170
|
+
]
|
|
148
171
|
]
|
|
149
172
|
],
|
|
150
173
|
deployerFeeScale: "1.0",
|
|
151
|
-
lastDeployerFeeScaleChangeTime: "1970-01-01T00:00:00"
|
|
174
|
+
lastDeployerFeeScaleChangeTime: "1970-01-01T00:00:00",
|
|
175
|
+
assetToFundingMultiplier: [
|
|
176
|
+
[
|
|
177
|
+
"flx:COIN",
|
|
178
|
+
"0.0396816138"
|
|
179
|
+
],
|
|
180
|
+
[
|
|
181
|
+
"flx:CRCL",
|
|
182
|
+
"0.6849327969"
|
|
183
|
+
],
|
|
184
|
+
[
|
|
185
|
+
"flx:TSLA",
|
|
186
|
+
"0.055534957"
|
|
187
|
+
]
|
|
188
|
+
]
|
|
152
189
|
},
|
|
153
190
|
{
|
|
154
191
|
name: "vntl",
|
|
@@ -157,13 +194,17 @@ var perpDexs_default = [
|
|
|
157
194
|
oracleUpdater: null,
|
|
158
195
|
feeRecipient: "0x5afe865300895b96d20132a8d9fa8e7829334b52",
|
|
159
196
|
assetToStreamingOiCap: [
|
|
197
|
+
[
|
|
198
|
+
"vntl:ANTHROPIC",
|
|
199
|
+
"3000000.0"
|
|
200
|
+
],
|
|
160
201
|
[
|
|
161
202
|
"vntl:OPENAI",
|
|
162
|
-
"
|
|
203
|
+
"3000000.0"
|
|
163
204
|
],
|
|
164
205
|
[
|
|
165
206
|
"vntl:SPACEX",
|
|
166
|
-
"
|
|
207
|
+
"3000000.0"
|
|
167
208
|
]
|
|
168
209
|
],
|
|
169
210
|
subDeployers: [
|
|
@@ -188,14 +229,60 @@ var perpDexs_default = [
|
|
|
188
229
|
[
|
|
189
230
|
"setFundingMultipliers",
|
|
190
231
|
[
|
|
191
|
-
"0x6bdf4b47b638a8bb8ba630fbf867dc0f458d953e"
|
|
232
|
+
"0x6bdf4b47b638a8bb8ba630fbf867dc0f458d953e",
|
|
233
|
+
"0x9f82ce39734468c213f46834d0189222e1fadf5b"
|
|
234
|
+
]
|
|
235
|
+
]
|
|
236
|
+
],
|
|
237
|
+
deployerFeeScale: "1.0",
|
|
238
|
+
lastDeployerFeeScaleChangeTime: "1970-01-01T00:00:00",
|
|
239
|
+
assetToFundingMultiplier: [
|
|
240
|
+
[
|
|
241
|
+
"vntl:ANTHROPIC",
|
|
242
|
+
"0.0053054031"
|
|
243
|
+
],
|
|
244
|
+
[
|
|
245
|
+
"vntl:OPENAI",
|
|
246
|
+
"0.0050794237"
|
|
247
|
+
],
|
|
248
|
+
[
|
|
249
|
+
"vntl:SPACEX",
|
|
250
|
+
"0.010663783"
|
|
251
|
+
]
|
|
252
|
+
]
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
name: "hyna",
|
|
256
|
+
fullName: "HyENA",
|
|
257
|
+
deployer: "0x53e655101ea361537124ef814ad4e654b54d0637",
|
|
258
|
+
oracleUpdater: "0xaab93501e78f5105e265a1eafda10ce6530de17e",
|
|
259
|
+
feeRecipient: null,
|
|
260
|
+
assetToStreamingOiCap: [
|
|
261
|
+
[
|
|
262
|
+
"hyna:BTC",
|
|
263
|
+
"500000.0"
|
|
264
|
+
],
|
|
265
|
+
[
|
|
266
|
+
"hyna:ETH",
|
|
267
|
+
"500000.0"
|
|
268
|
+
],
|
|
269
|
+
[
|
|
270
|
+
"hyna:HYPE",
|
|
271
|
+
"500000.0"
|
|
272
|
+
]
|
|
273
|
+
],
|
|
274
|
+
subDeployers: [
|
|
275
|
+
[
|
|
276
|
+
"setOracle",
|
|
277
|
+
[
|
|
278
|
+
"0xaab93501e78f5105e265a1eafda10ce6530de17e"
|
|
192
279
|
]
|
|
193
280
|
]
|
|
194
281
|
],
|
|
195
282
|
deployerFeeScale: "1.0",
|
|
196
|
-
lastDeployerFeeScaleChangeTime: "
|
|
283
|
+
lastDeployerFeeScaleChangeTime: "2025-12-03T10:32:09.252520621",
|
|
284
|
+
assetToFundingMultiplier: []
|
|
197
285
|
}
|
|
198
286
|
];
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
};
|
|
287
|
+
|
|
288
|
+
export { perpDexs_default as default };
|