@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.
Files changed (59) hide show
  1. package/dist/chunk-4GAKANLT.mjs +1987 -0
  2. package/dist/chunk-4UEJOM6W.mjs +1 -3
  3. package/dist/chunk-VBC6EQ7Q.mjs +235 -0
  4. package/dist/client-CgmiTuEX.d.mts +179 -0
  5. package/dist/client-CgmiTuEX.d.ts +179 -0
  6. package/dist/ecommerce.d.mts +3732 -0
  7. package/dist/ecommerce.d.ts +3732 -0
  8. package/dist/ecommerce.js +2031 -0
  9. package/dist/ecommerce.mjs +2 -0
  10. package/dist/index.d.mts +79 -4
  11. package/dist/index.d.ts +79 -4
  12. package/dist/index.js +3674 -331
  13. package/dist/index.mjs +107 -104
  14. package/dist/{meta-57AY44US.mjs → meta-JB5ITE27.mjs} +6 -14
  15. package/dist/{meta-RSZFFH63.mjs → meta-UOGUG3OW.mjs} +5 -11
  16. package/dist/{perpDexs-PBKWKKQU.mjs → perpDexs-3LRJ5ZHM.mjs} +100 -13
  17. package/dist/{perpDexs-XSB4Y2BP.mjs → perpDexs-4ISLD7NX.mjs} +798 -121
  18. package/dist/react.d.mts +39 -0
  19. package/dist/react.d.ts +39 -0
  20. package/dist/react.js +268 -0
  21. package/dist/react.mjs +31 -0
  22. package/dist/{spotMeta-WQ4PXRNY.mjs → spotMeta-GHXX7C5M.mjs} +85 -14
  23. package/dist/{spotMeta-Y7G2GI7B.mjs → spotMeta-IBBUP2SG.mjs} +249 -12
  24. package/dist/staticMeta-GM7T3OYL.mjs +3 -6
  25. package/dist/staticMeta-QV2KMX57.mjs +3 -6
  26. package/ecommerce.ts +15 -0
  27. package/index.ts +7 -0
  28. package/lib/cloid/cloid.ts +2 -0
  29. package/lib/ecommerce/QUICK_REFERENCE.md +211 -0
  30. package/lib/ecommerce/README.md +385 -0
  31. package/lib/ecommerce/USAGE_EXAMPLES.md +704 -0
  32. package/lib/ecommerce/client/base.ts +272 -0
  33. package/lib/ecommerce/client/customer.ts +522 -0
  34. package/lib/ecommerce/client/merchant.ts +1341 -0
  35. package/lib/ecommerce/index.ts +51 -0
  36. package/lib/ecommerce/types/entities.ts +722 -0
  37. package/lib/ecommerce/types/enums.ts +270 -0
  38. package/lib/ecommerce/types/index.ts +18 -0
  39. package/lib/ecommerce/types/requests.ts +525 -0
  40. package/lib/ecommerce/types/responses.ts +805 -0
  41. package/lib/ecommerce/utils/errors.ts +113 -0
  42. package/lib/ecommerce/utils/helpers.ts +131 -0
  43. package/lib/fee.ts +10 -10
  44. package/lib/hip3/market-info.ts +36 -8
  45. package/lib/hip3/utils.ts +15 -2
  46. package/lib/instrument/client.ts +351 -0
  47. package/lib/meta/data/mainnet/meta.json +2 -4
  48. package/lib/meta/data/mainnet/perpDexs.json +97 -9
  49. package/lib/meta/data/mainnet/spotMeta.json +82 -8
  50. package/lib/meta/data/testnet/meta.json +3 -7
  51. package/lib/meta/data/testnet/perpDexs.json +795 -117
  52. package/lib/meta/data/testnet/spotMeta.json +246 -6
  53. package/lib/meta/metadata.ts +8 -1
  54. package/lib/meta/types.ts +36 -0
  55. package/lib/react/InstrumentProvider.tsx +69 -0
  56. package/lib/utils/flooredDateTime.ts +55 -0
  57. package/lib/utils/time.ts +51 -0
  58. package/package.json +37 -11
  59. package/react.ts +1 -0
@@ -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 };
@@ -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 "./chunk-4UEJOM6W.mjs";
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: null,
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: null,
3625
+ evmContract: {
3626
+ address: "0x000000000000780555bd0bca3791f89f9542c2d6",
3627
+ evm_extra_wei_decimals: 10
3628
+ },
3578
3629
  fullName: "Kinetiq",
3579
- deployerTradingFeeShare: "0.0"
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: "0.0"
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: null,
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: null,
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: null,
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: null,
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
- export {
6894
- spotMeta_default as default,
6895
- tokens,
6896
- universe
6897
- };
6967
+
6968
+ export { spotMeta_default as default, tokens, universe };