@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/react.d.mts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { SpotMeta } from '@nktkas/hyperliquid';
|
|
4
|
+
import { A as AllPerpsMeta, I as InstrumentClient } from './client-CgmiTuEX.mjs';
|
|
5
|
+
|
|
6
|
+
interface InstrumentsProviderProps {
|
|
7
|
+
spotMeta: SpotMeta;
|
|
8
|
+
allPerpsMeta: AllPerpsMeta;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Provides InstrumentClient to the React tree.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <InstrumentsProvider spotMeta={spotMeta} allPerpsMeta={allPerpsMeta}>
|
|
17
|
+
* <App />
|
|
18
|
+
* </InstrumentsProvider>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
declare function InstrumentsProvider({ spotMeta, allPerpsMeta, children, }: InstrumentsProviderProps): react_jsx_runtime.JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Access the InstrumentClient from context.
|
|
24
|
+
* Must be used within an InstrumentsProvider.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* const client = useInstruments();
|
|
29
|
+
* const btc = client.getInstrument("BTC");
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare function useInstruments(): InstrumentClient;
|
|
33
|
+
/**
|
|
34
|
+
* Access the InstrumentClient from context, returns null if not in provider.
|
|
35
|
+
* Useful for optional instrument access.
|
|
36
|
+
*/
|
|
37
|
+
declare function useInstrumentsOptional(): InstrumentClient | null;
|
|
38
|
+
|
|
39
|
+
export { InstrumentsProvider, type InstrumentsProviderProps, useInstruments, useInstrumentsOptional };
|
package/dist/react.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { SpotMeta } from '@nktkas/hyperliquid';
|
|
4
|
+
import { A as AllPerpsMeta, I as InstrumentClient } from './client-CgmiTuEX.js';
|
|
5
|
+
|
|
6
|
+
interface InstrumentsProviderProps {
|
|
7
|
+
spotMeta: SpotMeta;
|
|
8
|
+
allPerpsMeta: AllPerpsMeta;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Provides InstrumentClient to the React tree.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <InstrumentsProvider spotMeta={spotMeta} allPerpsMeta={allPerpsMeta}>
|
|
17
|
+
* <App />
|
|
18
|
+
* </InstrumentsProvider>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
declare function InstrumentsProvider({ spotMeta, allPerpsMeta, children, }: InstrumentsProviderProps): react_jsx_runtime.JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Access the InstrumentClient from context.
|
|
24
|
+
* Must be used within an InstrumentsProvider.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* const client = useInstruments();
|
|
29
|
+
* const btc = client.getInstrument("BTC");
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare function useInstruments(): InstrumentClient;
|
|
33
|
+
/**
|
|
34
|
+
* Access the InstrumentClient from context, returns null if not in provider.
|
|
35
|
+
* Useful for optional instrument access.
|
|
36
|
+
*/
|
|
37
|
+
declare function useInstrumentsOptional(): InstrumentClient | null;
|
|
38
|
+
|
|
39
|
+
export { InstrumentsProvider, type InstrumentsProviderProps, useInstruments, useInstrumentsOptional };
|
package/dist/react.js
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
|
|
6
|
+
// lib/react/InstrumentProvider.tsx
|
|
7
|
+
|
|
8
|
+
// lib/instrument/client.ts
|
|
9
|
+
var AssetIdUtils = {
|
|
10
|
+
/**
|
|
11
|
+
* Calculate perp asset ID
|
|
12
|
+
* - Root dex: assetIndex (0, 1, 2, ...)
|
|
13
|
+
* - HIP3 dex: 100000 + dexIndex * 10000 + assetIndex
|
|
14
|
+
*/
|
|
15
|
+
calcPerpAssetId(dexIndex, assetIndex) {
|
|
16
|
+
if (dexIndex === 0) return assetIndex;
|
|
17
|
+
return 1e5 + dexIndex * 1e4 + assetIndex;
|
|
18
|
+
},
|
|
19
|
+
/**
|
|
20
|
+
* Calculate spot asset ID: 10000 + pairIndex
|
|
21
|
+
*/
|
|
22
|
+
calcSpotAssetId(pairIndex) {
|
|
23
|
+
return 1e4 + pairIndex;
|
|
24
|
+
},
|
|
25
|
+
/**
|
|
26
|
+
* Check if symbol is HIP3 format (contains ":")
|
|
27
|
+
*/
|
|
28
|
+
isHip3Symbol(symbol) {
|
|
29
|
+
return symbol?.includes(":") ?? false;
|
|
30
|
+
},
|
|
31
|
+
/**
|
|
32
|
+
* Extract dex name from HIP3 symbol (e.g., "xyz:MSTR" -> "xyz")
|
|
33
|
+
*/
|
|
34
|
+
extractDexName(symbol) {
|
|
35
|
+
if (!this.isHip3Symbol(symbol)) return void 0;
|
|
36
|
+
return symbol.split(":")[0];
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var InstrumentClient = class {
|
|
40
|
+
constructor(spotMeta, allPerpsMeta) {
|
|
41
|
+
this.spotMeta = spotMeta;
|
|
42
|
+
this.allPerpsMeta = allPerpsMeta;
|
|
43
|
+
this.instruments = [];
|
|
44
|
+
// O(1) lookup maps for efficient retrieval
|
|
45
|
+
this.instrumentsBySymbol = /* @__PURE__ */ new Map();
|
|
46
|
+
this.instrumentsByCoin = /* @__PURE__ */ new Map();
|
|
47
|
+
this.instrumentsByAssetId = /* @__PURE__ */ new Map();
|
|
48
|
+
// Additional spot lookups (base token -> instrument)
|
|
49
|
+
this.spotByBaseToken = /* @__PURE__ */ new Map();
|
|
50
|
+
// Dex metadata map (dex name -> PerpsMeta)
|
|
51
|
+
// Key: "" for root dex, dex name for HIP3 (e.g., "xyz")
|
|
52
|
+
this.dexMetaMap = /* @__PURE__ */ new Map();
|
|
53
|
+
// Token index lookup for spot
|
|
54
|
+
this.spotTokensByIndex = /* @__PURE__ */ new Map();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Initialize the client by processing meta into instruments.
|
|
58
|
+
* Call this after construction to populate the instrument registry.
|
|
59
|
+
* @returns this for chaining
|
|
60
|
+
*/
|
|
61
|
+
init() {
|
|
62
|
+
if (!this.spotMeta || !this.allPerpsMeta) {
|
|
63
|
+
throw new Error("SpotMeta and allPerpsMeta are required");
|
|
64
|
+
}
|
|
65
|
+
this.indexSpotTokens();
|
|
66
|
+
this.processPerpsInstruments();
|
|
67
|
+
this.processSpotInstruments();
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
// ===== Perps Meta Accessors =====
|
|
71
|
+
getAllPerpsMeta() {
|
|
72
|
+
return this.allPerpsMeta;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get PerpsMeta for a specific dex
|
|
76
|
+
* @param dex - Dex name ("" for root dex, or HIP3 dex name)
|
|
77
|
+
*/
|
|
78
|
+
getPerpDex(dex) {
|
|
79
|
+
return this.dexMetaMap.get(dex);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get PerpsMeta by dex index in allPerpsMeta array
|
|
83
|
+
*/
|
|
84
|
+
getPerpDexByIndex(index) {
|
|
85
|
+
return this.allPerpsMeta[index];
|
|
86
|
+
}
|
|
87
|
+
// ===== Instrument Accessors =====
|
|
88
|
+
/**
|
|
89
|
+
* Get all instruments
|
|
90
|
+
*/
|
|
91
|
+
getAllInstruments() {
|
|
92
|
+
return this.instruments;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get all perps instruments
|
|
96
|
+
*/
|
|
97
|
+
getPerpsInstruments() {
|
|
98
|
+
return this.instruments.filter(
|
|
99
|
+
(i) => i.type === "futures"
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
getHip3Instruments() {
|
|
103
|
+
return this.instruments.filter(
|
|
104
|
+
(i) => i.type === "futures" && !!i.dex
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get all spot instruments
|
|
109
|
+
*/
|
|
110
|
+
getSpotInstruments() {
|
|
111
|
+
return this.instruments.filter(
|
|
112
|
+
(i) => i.type === "spot"
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Get instrument by symbol or coin (tries both)
|
|
117
|
+
* @param coinOrSymbol - Symbol (e.g., "BTC", "BTC/USDC") or coin (e.g., "@107")
|
|
118
|
+
*/
|
|
119
|
+
getInstrument(coinOrSymbol) {
|
|
120
|
+
return this.instrumentsByCoin.get(coinOrSymbol) ?? this.instrumentsBySymbol.get(coinOrSymbol);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Get instrument by display symbol
|
|
124
|
+
* @param symbol - Display symbol (e.g., "BTC", "BTC/USDC", "xyz:MSTR")
|
|
125
|
+
*/
|
|
126
|
+
getInstrumentBySymbol(symbol) {
|
|
127
|
+
return this.instrumentsBySymbol.get(symbol);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get instrument by Hyperliquid API coin format
|
|
131
|
+
* @param coin - API coin name (e.g., "BTC", "@107", "xyz:MSTR")
|
|
132
|
+
*/
|
|
133
|
+
getInstrumentByCoin(coin) {
|
|
134
|
+
return this.instrumentsByCoin.get(coin);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get instrument by asset ID
|
|
138
|
+
* @param assetId - Numeric asset ID (e.g., 1 for perps, 10001 for spot)
|
|
139
|
+
*/
|
|
140
|
+
getInstrumentByAssetId(assetId) {
|
|
141
|
+
return this.instrumentsByAssetId.get(assetId);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get spot instrument by base token symbol
|
|
145
|
+
* @param baseSymbol - Base token symbol (e.g., "HYPE" to find "HYPE/USDC")
|
|
146
|
+
*/
|
|
147
|
+
getSpotInstrumentByBaseToken(baseSymbol) {
|
|
148
|
+
return this.spotByBaseToken.get(baseSymbol);
|
|
149
|
+
}
|
|
150
|
+
/** Search instruments by symbol, coin, or assetId */
|
|
151
|
+
searchInstruments(query, type) {
|
|
152
|
+
return this.instruments.filter((i) => {
|
|
153
|
+
if (type && i.type !== type) return false;
|
|
154
|
+
return i.symbol.toLowerCase().includes(query.toLowerCase()) || i.coin.toLowerCase().includes(query.toLowerCase());
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get spot token by index
|
|
159
|
+
*/
|
|
160
|
+
getSpotToken(index) {
|
|
161
|
+
return this.spotTokensByIndex.get(index);
|
|
162
|
+
}
|
|
163
|
+
// ===== Internal Processing =====
|
|
164
|
+
indexSpotTokens() {
|
|
165
|
+
for (const token of this.spotMeta.tokens) {
|
|
166
|
+
this.spotTokensByIndex.set(token.index, token);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
processPerpsInstruments() {
|
|
170
|
+
for (let dexIndex = 0; dexIndex < this.allPerpsMeta.length; dexIndex++) {
|
|
171
|
+
const perpMeta = this.allPerpsMeta[dexIndex];
|
|
172
|
+
const dexName = this.extractDexNameFromMeta(perpMeta, dexIndex);
|
|
173
|
+
this.dexMetaMap.set(dexName, perpMeta);
|
|
174
|
+
const collateralToken = this.spotTokensByIndex.get(
|
|
175
|
+
perpMeta.collateralToken
|
|
176
|
+
);
|
|
177
|
+
const collateralTokenSymbol = collateralToken?.name ?? "USDC";
|
|
178
|
+
for (let assetIndex = 0; assetIndex < perpMeta.universe.length; assetIndex++) {
|
|
179
|
+
const info = perpMeta.universe[assetIndex];
|
|
180
|
+
const assetId = AssetIdUtils.calcPerpAssetId(dexIndex, assetIndex);
|
|
181
|
+
const instrument = {
|
|
182
|
+
assetId,
|
|
183
|
+
symbol: info.name,
|
|
184
|
+
coin: info.name,
|
|
185
|
+
szDecimals: info.szDecimals,
|
|
186
|
+
leverage: info.maxLeverage,
|
|
187
|
+
collateralTokenSymbol,
|
|
188
|
+
type: "futures",
|
|
189
|
+
isDelisted: info.isDelisted,
|
|
190
|
+
dex: AssetIdUtils.extractDexName(info.name),
|
|
191
|
+
collateralTokenIndex: perpMeta.collateralToken
|
|
192
|
+
};
|
|
193
|
+
this.addInstrument(instrument);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
processSpotInstruments() {
|
|
198
|
+
const seenSymbols = /* @__PURE__ */ new Set();
|
|
199
|
+
for (const pair of this.spotMeta.universe) {
|
|
200
|
+
const [baseTokenIndex, quoteTokenIndex] = pair.tokens;
|
|
201
|
+
const baseToken = this.spotTokensByIndex.get(baseTokenIndex);
|
|
202
|
+
const quoteToken = this.spotTokensByIndex.get(quoteTokenIndex);
|
|
203
|
+
if (!baseToken || !quoteToken) continue;
|
|
204
|
+
const symbol = `${baseToken.name}/${quoteToken.name}`;
|
|
205
|
+
if (seenSymbols.has(symbol)) continue;
|
|
206
|
+
seenSymbols.add(symbol);
|
|
207
|
+
const assetId = AssetIdUtils.calcSpotAssetId(pair.index);
|
|
208
|
+
const instrument = {
|
|
209
|
+
assetId,
|
|
210
|
+
symbol,
|
|
211
|
+
coin: pair.name,
|
|
212
|
+
// e.g., "@107"
|
|
213
|
+
szDecimals: baseToken.szDecimals,
|
|
214
|
+
type: "spot",
|
|
215
|
+
baseToken,
|
|
216
|
+
quoteToken
|
|
217
|
+
};
|
|
218
|
+
this.addInstrument(instrument);
|
|
219
|
+
if (!this.spotByBaseToken.has(baseToken.name)) {
|
|
220
|
+
this.spotByBaseToken.set(baseToken.name, instrument);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
addInstrument(instrument) {
|
|
225
|
+
this.instruments.push(instrument);
|
|
226
|
+
this.instrumentsBySymbol.set(instrument.symbol, instrument);
|
|
227
|
+
this.instrumentsByCoin.set(instrument.coin, instrument);
|
|
228
|
+
this.instrumentsByAssetId.set(instrument.assetId, instrument);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Extract dex name from PerpsMeta
|
|
232
|
+
* Root dex (index 0) returns "", HIP3 dexes return the dex name (e.g., "xyz")
|
|
233
|
+
*/
|
|
234
|
+
extractDexNameFromMeta(perpMeta, dexIndex) {
|
|
235
|
+
if (dexIndex === 0) return "";
|
|
236
|
+
const firstAsset = perpMeta.universe[0];
|
|
237
|
+
if (!firstAsset) return "";
|
|
238
|
+
return AssetIdUtils.extractDexName(firstAsset.name) ?? "";
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
var InstrumentContext = react.createContext(null);
|
|
242
|
+
function InstrumentsProvider({
|
|
243
|
+
spotMeta,
|
|
244
|
+
allPerpsMeta,
|
|
245
|
+
children
|
|
246
|
+
}) {
|
|
247
|
+
const client = react.useMemo(
|
|
248
|
+
() => new InstrumentClient(spotMeta, allPerpsMeta).init(),
|
|
249
|
+
[spotMeta, allPerpsMeta]
|
|
250
|
+
);
|
|
251
|
+
return /* @__PURE__ */ jsxRuntime.jsx(InstrumentContext.Provider, { value: client, children });
|
|
252
|
+
}
|
|
253
|
+
function useInstruments() {
|
|
254
|
+
const client = react.useContext(InstrumentContext);
|
|
255
|
+
if (!client) {
|
|
256
|
+
throw new Error(
|
|
257
|
+
"useInstruments must be used within an InstrumentsProvider"
|
|
258
|
+
);
|
|
259
|
+
}
|
|
260
|
+
return client;
|
|
261
|
+
}
|
|
262
|
+
function useInstrumentsOptional() {
|
|
263
|
+
return react.useContext(InstrumentContext);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
exports.InstrumentsProvider = InstrumentsProvider;
|
|
267
|
+
exports.useInstruments = useInstruments;
|
|
268
|
+
exports.useInstrumentsOptional = useInstrumentsOptional;
|
package/dist/react.mjs
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { InstrumentClient } from './chunk-VBC6EQ7Q.mjs';
|
|
2
|
+
import './chunk-4UEJOM6W.mjs';
|
|
3
|
+
import { createContext, useMemo, useContext } from 'react';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var InstrumentContext = createContext(null);
|
|
7
|
+
function InstrumentsProvider({
|
|
8
|
+
spotMeta,
|
|
9
|
+
allPerpsMeta,
|
|
10
|
+
children
|
|
11
|
+
}) {
|
|
12
|
+
const client = useMemo(
|
|
13
|
+
() => new InstrumentClient(spotMeta, allPerpsMeta).init(),
|
|
14
|
+
[spotMeta, allPerpsMeta]
|
|
15
|
+
);
|
|
16
|
+
return /* @__PURE__ */ jsx(InstrumentContext.Provider, { value: client, children });
|
|
17
|
+
}
|
|
18
|
+
function useInstruments() {
|
|
19
|
+
const client = useContext(InstrumentContext);
|
|
20
|
+
if (!client) {
|
|
21
|
+
throw new Error(
|
|
22
|
+
"useInstruments must be used within an InstrumentsProvider"
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
return client;
|
|
26
|
+
}
|
|
27
|
+
function useInstrumentsOptional() {
|
|
28
|
+
return useContext(InstrumentContext);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { InstrumentsProvider, useInstruments, useInstrumentsOptional };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './chunk-4UEJOM6W.mjs';
|
|
2
2
|
|
|
3
3
|
// lib/meta/data/mainnet/spotMeta.json
|
|
4
4
|
var universe = [
|
|
@@ -2143,6 +2143,51 @@ var universe = [
|
|
|
2143
2143
|
name: "@253",
|
|
2144
2144
|
index: 253,
|
|
2145
2145
|
isCanonical: false
|
|
2146
|
+
},
|
|
2147
|
+
{
|
|
2148
|
+
tokens: [
|
|
2149
|
+
124,
|
|
2150
|
+
360
|
|
2151
|
+
],
|
|
2152
|
+
name: "@254",
|
|
2153
|
+
index: 254,
|
|
2154
|
+
isCanonical: false
|
|
2155
|
+
},
|
|
2156
|
+
{
|
|
2157
|
+
tokens: [
|
|
2158
|
+
150,
|
|
2159
|
+
235
|
|
2160
|
+
],
|
|
2161
|
+
name: "@255",
|
|
2162
|
+
index: 255,
|
|
2163
|
+
isCanonical: false
|
|
2164
|
+
},
|
|
2165
|
+
{
|
|
2166
|
+
tokens: [
|
|
2167
|
+
374,
|
|
2168
|
+
0
|
|
2169
|
+
],
|
|
2170
|
+
name: "@256",
|
|
2171
|
+
index: 256,
|
|
2172
|
+
isCanonical: false
|
|
2173
|
+
},
|
|
2174
|
+
{
|
|
2175
|
+
tokens: [
|
|
2176
|
+
403,
|
|
2177
|
+
0
|
|
2178
|
+
],
|
|
2179
|
+
name: "@257",
|
|
2180
|
+
index: 257,
|
|
2181
|
+
isCanonical: false
|
|
2182
|
+
},
|
|
2183
|
+
{
|
|
2184
|
+
tokens: [
|
|
2185
|
+
398,
|
|
2186
|
+
0
|
|
2187
|
+
],
|
|
2188
|
+
name: "@258",
|
|
2189
|
+
index: 258,
|
|
2190
|
+
isCanonical: false
|
|
2146
2191
|
}
|
|
2147
2192
|
];
|
|
2148
2193
|
var tokens = [
|
|
@@ -2153,7 +2198,10 @@ var tokens = [
|
|
|
2153
2198
|
index: 0,
|
|
2154
2199
|
tokenId: "0x6d1e7cde53ba9467b783cb7c530ce054",
|
|
2155
2200
|
isCanonical: true,
|
|
2156
|
-
evmContract:
|
|
2201
|
+
evmContract: {
|
|
2202
|
+
address: "0x6b9e773128f453f5c2c60935ee2de2cbc5390a24",
|
|
2203
|
+
evm_extra_wei_decimals: -2
|
|
2204
|
+
},
|
|
2157
2205
|
fullName: null,
|
|
2158
2206
|
deployerTradingFeeShare: "0.0"
|
|
2159
2207
|
},
|
|
@@ -3574,9 +3622,12 @@ var tokens = [
|
|
|
3574
3622
|
index: 124,
|
|
3575
3623
|
tokenId: "0xbd31bd605c0a1b82c72aae3587f9061f",
|
|
3576
3624
|
isCanonical: false,
|
|
3577
|
-
evmContract:
|
|
3625
|
+
evmContract: {
|
|
3626
|
+
address: "0x000000000000780555bd0bca3791f89f9542c2d6",
|
|
3627
|
+
evm_extra_wei_decimals: 10
|
|
3628
|
+
},
|
|
3578
3629
|
fullName: "Kinetiq",
|
|
3579
|
-
deployerTradingFeeShare: "
|
|
3630
|
+
deployerTradingFeeShare: "1.0"
|
|
3580
3631
|
},
|
|
3581
3632
|
{
|
|
3582
3633
|
name: "BUSSY",
|
|
@@ -4068,7 +4119,7 @@ var tokens = [
|
|
|
4068
4119
|
evm_extra_wei_decimals: 10
|
|
4069
4120
|
},
|
|
4070
4121
|
fullName: null,
|
|
4071
|
-
deployerTradingFeeShare: "
|
|
4122
|
+
deployerTradingFeeShare: "1.0"
|
|
4072
4123
|
},
|
|
4073
4124
|
{
|
|
4074
4125
|
name: "ANIME",
|
|
@@ -6564,7 +6615,10 @@ var tokens = [
|
|
|
6564
6615
|
index: 374,
|
|
6565
6616
|
tokenId: "0x83a0bf54708a0236a49f7301677ffdc2",
|
|
6566
6617
|
isCanonical: false,
|
|
6567
|
-
evmContract:
|
|
6618
|
+
evmContract: {
|
|
6619
|
+
address: "0x4f96b683714377c38123631f2d17cdf18b3f46a7",
|
|
6620
|
+
evm_extra_wei_decimals: 10
|
|
6621
|
+
},
|
|
6568
6622
|
fullName: "SEDA",
|
|
6569
6623
|
deployerTradingFeeShare: "1.0"
|
|
6570
6624
|
},
|
|
@@ -6641,7 +6695,10 @@ var tokens = [
|
|
|
6641
6695
|
index: 381,
|
|
6642
6696
|
tokenId: "0xbd6af8c18f3e56d2da95a3c81d18e814",
|
|
6643
6697
|
isCanonical: false,
|
|
6644
|
-
evmContract:
|
|
6698
|
+
evmContract: {
|
|
6699
|
+
address: "0x99603f5cb890faca5cc5495ccc74391cdffa28bc",
|
|
6700
|
+
evm_extra_wei_decimals: 10
|
|
6701
|
+
},
|
|
6645
6702
|
fullName: "Funnel BNB",
|
|
6646
6703
|
deployerTradingFeeShare: "1.0"
|
|
6647
6704
|
},
|
|
@@ -6804,7 +6861,10 @@ var tokens = [
|
|
|
6804
6861
|
index: 395,
|
|
6805
6862
|
tokenId: "0xedfb8d993ee8cb935338601d8673dfcf",
|
|
6806
6863
|
isCanonical: false,
|
|
6807
|
-
evmContract:
|
|
6864
|
+
evmContract: {
|
|
6865
|
+
address: "0x3073f7aaa4db83f95e9fff17424f71d4751a3073",
|
|
6866
|
+
evm_extra_wei_decimals: 0
|
|
6867
|
+
},
|
|
6808
6868
|
fullName: null,
|
|
6809
6869
|
deployerTradingFeeShare: "1.0"
|
|
6810
6870
|
},
|
|
@@ -6837,7 +6897,10 @@ var tokens = [
|
|
|
6837
6897
|
index: 398,
|
|
6838
6898
|
tokenId: "0xec43194f64d555bdaef5afb5b6c6c686",
|
|
6839
6899
|
isCanonical: false,
|
|
6840
|
-
evmContract:
|
|
6900
|
+
evmContract: {
|
|
6901
|
+
address: "0xa51dc81944a15623874981181a99d6c56b20ed56",
|
|
6902
|
+
evm_extra_wei_decimals: 11
|
|
6903
|
+
},
|
|
6841
6904
|
fullName: "Stable",
|
|
6842
6905
|
deployerTradingFeeShare: "1.0"
|
|
6843
6906
|
},
|
|
@@ -6884,14 +6947,22 @@ var tokens = [
|
|
|
6884
6947
|
evmContract: null,
|
|
6885
6948
|
fullName: "UltraSolid",
|
|
6886
6949
|
deployerTradingFeeShare: "1.0"
|
|
6950
|
+
},
|
|
6951
|
+
{
|
|
6952
|
+
name: "UMEGA",
|
|
6953
|
+
szDecimals: 1,
|
|
6954
|
+
weiDecimals: 6,
|
|
6955
|
+
index: 403,
|
|
6956
|
+
tokenId: "0xc99926509a189b40651055a15d3be621",
|
|
6957
|
+
isCanonical: false,
|
|
6958
|
+
evmContract: null,
|
|
6959
|
+
fullName: "Unit MegaETH",
|
|
6960
|
+
deployerTradingFeeShare: "1.0"
|
|
6887
6961
|
}
|
|
6888
6962
|
];
|
|
6889
6963
|
var spotMeta_default = {
|
|
6890
6964
|
universe,
|
|
6891
6965
|
tokens
|
|
6892
6966
|
};
|
|
6893
|
-
|
|
6894
|
-
|
|
6895
|
-
tokens,
|
|
6896
|
-
universe
|
|
6897
|
-
};
|
|
6967
|
+
|
|
6968
|
+
export { spotMeta_default as default, tokens, universe };
|