@1delta/data-sdk 0.0.54 → 0.0.56
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/index.js +20 -0
- package/dist/index.mjs +16 -1
- package/dist/lending/dolomite.d.ts +25 -0
- package/dist/lending/midnight.d.ts +18 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -298,6 +298,7 @@ function parseGearboxV3LenderKey(lenderKey) {
|
|
|
298
298
|
|
|
299
299
|
// src/lending/dolomite.ts
|
|
300
300
|
var dolomiteConfigs = () => getGlobalData2()?.dolomiteConfigs;
|
|
301
|
+
var dolomiteOdosExecutorShim = (chainId) => getGlobalData2()?.dolomiteConfigs?.[chainId]?.odosExecutor;
|
|
301
302
|
var dolomiteChains = () => Object.keys(getGlobalData2()?.dolomiteConfigs ?? {});
|
|
302
303
|
var dolomiteEmode = () => getGlobalData2()?.dolomiteEmode;
|
|
303
304
|
var dolomiteMarketIdByToken = (chainId, token) => {
|
|
@@ -410,6 +411,20 @@ var midnightNotEnterableReason = (market, nowSec = Math.floor(Date.now() / 1e3))
|
|
|
410
411
|
return "market gating could not be resolved";
|
|
411
412
|
}
|
|
412
413
|
};
|
|
414
|
+
var MIDNIGHT_COLLATERAL_MARK = "-c";
|
|
415
|
+
var midnightCollateralRef = (token, collateralIndex) => `${token.toLowerCase()}${MIDNIGHT_COLLATERAL_MARK}${collateralIndex}`;
|
|
416
|
+
var midnightLoanRef = (loanToken) => loanToken.toLowerCase();
|
|
417
|
+
var parseMidnightRef = (ref) => {
|
|
418
|
+
const at = ref.lastIndexOf(MIDNIGHT_COLLATERAL_MARK);
|
|
419
|
+
if (at > 0) {
|
|
420
|
+
const tail = ref.slice(at + MIDNIGHT_COLLATERAL_MARK.length);
|
|
421
|
+
if (/^\d+$/.test(tail)) {
|
|
422
|
+
return { token: ref.slice(0, at).toLowerCase(), collateralIndex: Number(tail) };
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
return { token: ref.toLowerCase(), collateralIndex: void 0 };
|
|
426
|
+
};
|
|
427
|
+
var isMidnightCollateralRef = (ref) => parseMidnightRef(ref).collateralIndex !== void 0;
|
|
413
428
|
|
|
414
429
|
// src/lending/term.ts
|
|
415
430
|
var termConfig = () => getGlobalData2()?.termConfig;
|
|
@@ -1242,6 +1257,7 @@ exports.dolomiteChains = dolomiteChains;
|
|
|
1242
1257
|
exports.dolomiteConfigs = dolomiteConfigs;
|
|
1243
1258
|
exports.dolomiteEmode = dolomiteEmode;
|
|
1244
1259
|
exports.dolomiteMarketIdByToken = dolomiteMarketIdByToken;
|
|
1260
|
+
exports.dolomiteOdosExecutorShim = dolomiteOdosExecutorShim;
|
|
1245
1261
|
exports.dssChainData = dssChainData;
|
|
1246
1262
|
exports.dssConfigFor = dssConfigFor;
|
|
1247
1263
|
exports.dssDebtJoin = dssDebtJoin;
|
|
@@ -1307,6 +1323,7 @@ exports.inverseMarketByAddress = inverseMarketByAddress;
|
|
|
1307
1323
|
exports.inverseMarkets = inverseMarkets;
|
|
1308
1324
|
exports.isAaveV4OperationRestricted = isAaveV4OperationRestricted;
|
|
1309
1325
|
exports.isListaSmartLpAsset = isListaSmartLpAsset;
|
|
1326
|
+
exports.isMidnightCollateralRef = isMidnightCollateralRef;
|
|
1310
1327
|
exports.liquityBranchByIndex = liquityBranchByIndex;
|
|
1311
1328
|
exports.liquityBranchByTroveManager = liquityBranchByTroveManager;
|
|
1312
1329
|
exports.liquityBranchesByChain = liquityBranchesByChain;
|
|
@@ -1333,7 +1350,9 @@ exports.llamaLendSupportsLeverage = llamaLendSupportsLeverage;
|
|
|
1333
1350
|
exports.loadCached = loadCached;
|
|
1334
1351
|
exports.loadCachedJson = loadCachedJson;
|
|
1335
1352
|
exports.midnightApiBaseOverride = midnightApiBaseOverride;
|
|
1353
|
+
exports.midnightCollateralRef = midnightCollateralRef;
|
|
1336
1354
|
exports.midnightConfig = midnightConfig;
|
|
1355
|
+
exports.midnightLoanRef = midnightLoanRef;
|
|
1337
1356
|
exports.midnightMarketById = midnightMarketById;
|
|
1338
1357
|
exports.midnightMarketIsEnterable = midnightMarketIsEnterable;
|
|
1339
1358
|
exports.midnightMarkets = midnightMarkets;
|
|
@@ -1349,6 +1368,7 @@ exports.parseAaveV4SpokeLenderKey = parseAaveV4SpokeLenderKey;
|
|
|
1349
1368
|
exports.parseFraxlendPairKey = parseFraxlendPairKey;
|
|
1350
1369
|
exports.parseGearboxV3LenderKey = parseGearboxV3LenderKey;
|
|
1351
1370
|
exports.parseLlamaLendLenderKey = parseLlamaLendLenderKey;
|
|
1371
|
+
exports.parseMidnightRef = parseMidnightRef;
|
|
1352
1372
|
exports.parseSiloV2LenderKey = parseSiloV2LenderKey;
|
|
1353
1373
|
exports.parseSiloV3LenderKey = parseSiloV3LenderKey;
|
|
1354
1374
|
exports.parseTermMaxLenderKey = parseTermMaxLenderKey;
|
package/dist/index.mjs
CHANGED
|
@@ -296,6 +296,7 @@ function parseGearboxV3LenderKey(lenderKey) {
|
|
|
296
296
|
|
|
297
297
|
// src/lending/dolomite.ts
|
|
298
298
|
var dolomiteConfigs = () => getGlobalData2()?.dolomiteConfigs;
|
|
299
|
+
var dolomiteOdosExecutorShim = (chainId) => getGlobalData2()?.dolomiteConfigs?.[chainId]?.odosExecutor;
|
|
299
300
|
var dolomiteChains = () => Object.keys(getGlobalData2()?.dolomiteConfigs ?? {});
|
|
300
301
|
var dolomiteEmode = () => getGlobalData2()?.dolomiteEmode;
|
|
301
302
|
var dolomiteMarketIdByToken = (chainId, token) => {
|
|
@@ -408,6 +409,20 @@ var midnightNotEnterableReason = (market, nowSec = Math.floor(Date.now() / 1e3))
|
|
|
408
409
|
return "market gating could not be resolved";
|
|
409
410
|
}
|
|
410
411
|
};
|
|
412
|
+
var MIDNIGHT_COLLATERAL_MARK = "-c";
|
|
413
|
+
var midnightCollateralRef = (token, collateralIndex) => `${token.toLowerCase()}${MIDNIGHT_COLLATERAL_MARK}${collateralIndex}`;
|
|
414
|
+
var midnightLoanRef = (loanToken) => loanToken.toLowerCase();
|
|
415
|
+
var parseMidnightRef = (ref) => {
|
|
416
|
+
const at = ref.lastIndexOf(MIDNIGHT_COLLATERAL_MARK);
|
|
417
|
+
if (at > 0) {
|
|
418
|
+
const tail = ref.slice(at + MIDNIGHT_COLLATERAL_MARK.length);
|
|
419
|
+
if (/^\d+$/.test(tail)) {
|
|
420
|
+
return { token: ref.slice(0, at).toLowerCase(), collateralIndex: Number(tail) };
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
return { token: ref.toLowerCase(), collateralIndex: void 0 };
|
|
424
|
+
};
|
|
425
|
+
var isMidnightCollateralRef = (ref) => parseMidnightRef(ref).collateralIndex !== void 0;
|
|
411
426
|
|
|
412
427
|
// src/lending/term.ts
|
|
413
428
|
var termConfig = () => getGlobalData2()?.termConfig;
|
|
@@ -1196,4 +1211,4 @@ async function fetchMainTokensMap() {
|
|
|
1196
1211
|
}
|
|
1197
1212
|
}
|
|
1198
1213
|
|
|
1199
|
-
export { COOLER_ETHEREUM_CONFIG, CURVANCE_MONAD_CONFIG, FRAXLEND_ETHEREUM_CONFIG, GEARBOX_ACCOUNT_COMPRESSOR_V310, REMOTE_CACHE_STORE_TTL_S, RESUPPLY_ETHEREUM_CONFIG, RemoteFetchError, aaveOracles, aaveOraclesConfig, aavePools, aaveReserves, aaveTokens, aaveV4Oracles, aaveV4Peripherals, aaveV4SpokeLenderKey, aaveV4Spokes, aaveWethGateway, assertTwyneKeysUnique, chainLogoURI, chains, clearRemoteCache, compoundV2Oracles, compoundV2OraclesConfig, compoundV2Pools, compoundV2Reserves, compoundV2TokenArray, compoundV2Tokens, compoundV3BaseData, compoundV3Bulker, compoundV3OraclesData, compoundV3Pools, compoundV3Reserves, coolerConfig, coolerConfigFor, coolerLendersByChain, curvanceConfig, curvanceConfigFor, curvanceLendersByChain, curvancePositionManager, curvancePositionManagersFor, dolomiteChains, dolomiteConfigs, dolomiteEmode, dolomiteMarketIdByToken, dssChainData, dssConfigFor, dssDebtJoin, dssDebtToken, dssMarketByIlk, eulerConfigs, eulerVaults, exactlyConfig, exactlyMarketByAddress, exactlyMarketByAsset, exactlyMarkets, exactlyMarketsByChain, fetchMainTokensMap, fetchRemoteJson, fetchTokenList, fetchTokenListFile, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, flyingTulipAssets, flyingTulipAssetsFor, flyingTulipConfig, flyingTulipConfigFor, flyingTulipLendersByChain, frankencoinChainData, frankencoinConfig, frankencoinConfigFor, frankencoinLendersByChain, frankencoinMarketByPosition, frankencoinMarkets, fraxlendConfig, fraxlendConfigFor, fraxlendLendersByChain, fraxlendPairKey, fraxlendPairsFor, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeAccess, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getChainEntries, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, inverseChainData, inverseConfig, inverseConfigFor, inverseLendersByChain, inverseMarketByAddress, inverseMarkets, isAaveV4OperationRestricted, isListaSmartLpAsset, liquityBranchByIndex, liquityBranchByTroveManager, liquityBranchesByChain, liquityConfig, liquityConfigFor, liquityLendersByChain, liquityMarkets, listaCollateralProvider, listaCollateralProviders, listaNativeProvider, listaSmartLpByCollateral, llamaLendApiBaseUrl, llamaLendChainData, llamaLendConfig, llamaLendConfigFor, llamaLendLenderKey, llamaLendLendersByChain, llamaLendLeverageZap, llamaLendMarketByController, llamaLendMarketByVault, llamaLendMarkets, llamaLendSupportsDelegation, llamaLendSupportsLeverage, loadCached, loadCachedJson, midnightApiBaseOverride, midnightConfig, midnightMarketById, midnightMarketIsEnterable, midnightMarkets, midnightMarketsByChain, midnightNotEnterableReason, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseFraxlendPairKey, parseGearboxV3LenderKey, parseLlamaLendLenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, parseTermMaxLenderKey, resolveMidnightApiBase, resolveTenorApiUrl, resolveTermApiBase, resolveTermOrderStoreBase, resupplyConfig, resupplyConfigFor, resupplyLendersByChain, riverChainData, riverConfig, riverConfigFor, riverLendersByChain, riverMarketByIndex, riverMarkets, setMidnightApiBase, setRemoteCacheGithubToken, setRemoteCacheStore, setTenorApiUrl, setTermApiBase, setTermOrderStoreBase, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey, skyChainData, skyConfig, skyConfigFor, skyLendersByChain, skyMarkets, tellerConfig, tellerConfigByChain, tellerPoolByAddress, tellerPools, tellerPoolsByChain, tenorApiUrlOverride, termApiBaseOverride, termConfig, termMarketById, termMarkets, termMarketsByChain, termMaxApiBaseUrl, termMaxChainIds, termMaxConfig, termMaxConfigByChain, termMaxLenderKey, termOrderStoreBaseOverride, twyneBaseKey, twyneBeaconFor, twyneChainData, twyneConfig, twyneConfigFor, twyneLendersByChain, twyneMarketByKey, twyneMarketFor, twyneMarketKey, twyneMarkets, twyneMarketsForIntermediateVault, twyneOperator, usddChainData, usddConfig, usddConfigFor, usddLendersByChain, usddMarketByIlk, usddMarkets };
|
|
1214
|
+
export { COOLER_ETHEREUM_CONFIG, CURVANCE_MONAD_CONFIG, FRAXLEND_ETHEREUM_CONFIG, GEARBOX_ACCOUNT_COMPRESSOR_V310, REMOTE_CACHE_STORE_TTL_S, RESUPPLY_ETHEREUM_CONFIG, RemoteFetchError, aaveOracles, aaveOraclesConfig, aavePools, aaveReserves, aaveTokens, aaveV4Oracles, aaveV4Peripherals, aaveV4SpokeLenderKey, aaveV4Spokes, aaveWethGateway, assertTwyneKeysUnique, chainLogoURI, chains, clearRemoteCache, compoundV2Oracles, compoundV2OraclesConfig, compoundV2Pools, compoundV2Reserves, compoundV2TokenArray, compoundV2Tokens, compoundV3BaseData, compoundV3Bulker, compoundV3OraclesData, compoundV3Pools, compoundV3Reserves, coolerConfig, coolerConfigFor, coolerLendersByChain, curvanceConfig, curvanceConfigFor, curvanceLendersByChain, curvancePositionManager, curvancePositionManagersFor, dolomiteChains, dolomiteConfigs, dolomiteEmode, dolomiteMarketIdByToken, dolomiteOdosExecutorShim, dssChainData, dssConfigFor, dssDebtJoin, dssDebtToken, dssMarketByIlk, eulerConfigs, eulerVaults, exactlyConfig, exactlyMarketByAddress, exactlyMarketByAsset, exactlyMarkets, exactlyMarketsByChain, fetchMainTokensMap, fetchRemoteJson, fetchTokenList, fetchTokenListFile, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, flyingTulipAssets, flyingTulipAssetsFor, flyingTulipConfig, flyingTulipConfigFor, flyingTulipLendersByChain, frankencoinChainData, frankencoinConfig, frankencoinConfigFor, frankencoinLendersByChain, frankencoinMarketByPosition, frankencoinMarkets, fraxlendConfig, fraxlendConfigFor, fraxlendLendersByChain, fraxlendPairKey, fraxlendPairsFor, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeAccess, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getChainEntries, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, inverseChainData, inverseConfig, inverseConfigFor, inverseLendersByChain, inverseMarketByAddress, inverseMarkets, isAaveV4OperationRestricted, isListaSmartLpAsset, isMidnightCollateralRef, liquityBranchByIndex, liquityBranchByTroveManager, liquityBranchesByChain, liquityConfig, liquityConfigFor, liquityLendersByChain, liquityMarkets, listaCollateralProvider, listaCollateralProviders, listaNativeProvider, listaSmartLpByCollateral, llamaLendApiBaseUrl, llamaLendChainData, llamaLendConfig, llamaLendConfigFor, llamaLendLenderKey, llamaLendLendersByChain, llamaLendLeverageZap, llamaLendMarketByController, llamaLendMarketByVault, llamaLendMarkets, llamaLendSupportsDelegation, llamaLendSupportsLeverage, loadCached, loadCachedJson, midnightApiBaseOverride, midnightCollateralRef, midnightConfig, midnightLoanRef, midnightMarketById, midnightMarketIsEnterable, midnightMarkets, midnightMarketsByChain, midnightNotEnterableReason, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseFraxlendPairKey, parseGearboxV3LenderKey, parseLlamaLendLenderKey, parseMidnightRef, parseSiloV2LenderKey, parseSiloV3LenderKey, parseTermMaxLenderKey, resolveMidnightApiBase, resolveTenorApiUrl, resolveTermApiBase, resolveTermOrderStoreBase, resupplyConfig, resupplyConfigFor, resupplyLendersByChain, riverChainData, riverConfig, riverConfigFor, riverLendersByChain, riverMarketByIndex, riverMarkets, setMidnightApiBase, setRemoteCacheGithubToken, setRemoteCacheStore, setTenorApiUrl, setTermApiBase, setTermOrderStoreBase, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey, skyChainData, skyConfig, skyConfigFor, skyLendersByChain, skyMarkets, tellerConfig, tellerConfigByChain, tellerPoolByAddress, tellerPools, tellerPoolsByChain, tenorApiUrlOverride, termApiBaseOverride, termConfig, termMarketById, termMarkets, termMarketsByChain, termMaxApiBaseUrl, termMaxChainIds, termMaxConfig, termMaxConfigByChain, termMaxLenderKey, termOrderStoreBaseOverride, twyneBaseKey, twyneBeaconFor, twyneChainData, twyneConfig, twyneConfigFor, twyneLendersByChain, twyneMarketByKey, twyneMarketFor, twyneMarketKey, twyneMarkets, twyneMarketsForIntermediateVault, twyneOperator, usddChainData, usddConfig, usddConfigFor, usddLendersByChain, usddMarketByIlk, usddMarkets };
|
|
@@ -17,6 +17,25 @@ export type DolomiteConfigEntry = {
|
|
|
17
17
|
aggregatorTraders?: {
|
|
18
18
|
[K in DolomiteAggregator]?: string;
|
|
19
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* Our `OdosExecutor` (`contracts-delegation`,
|
|
22
|
+
* `contracts/1delta/composer/generic/OdosExecutor.sol`) — a contract carrying
|
|
23
|
+
* the Odos executor selector (`executePath(bytes,uint256[],address)`) that
|
|
24
|
+
* simply forwards to another aggregator's router. Sibling of the same repo's
|
|
25
|
+
* `AggregationExecutor` (1inch) and `AllowanceHolderExecutor` (0x).
|
|
26
|
+
*
|
|
27
|
+
* It exists because Dolomite swaps must route through a Dolomite-DEPLOYED
|
|
28
|
+
* `IExchangeWrapper` and we cannot add one, so a chain is limited to the
|
|
29
|
+
* wrappers Dolomite happens to have deployed. `OdosRouterV2` takes a
|
|
30
|
+
* caller-supplied `executor` and `pathDefinition` and validates NEITHER (its
|
|
31
|
+
* only mapping is `referralLookup`), and `OdosAggregatorTrader` forwards both
|
|
32
|
+
* verbatim — so pointing `executor` at this shim runs a KyberSwap/0x/1inch
|
|
33
|
+
* route through the `odos` wrapper without Odos's API being involved.
|
|
34
|
+
*
|
|
35
|
+
* Absent = the shim is not deployed on this chain and the passthrough route
|
|
36
|
+
* must not be offered (fail closed).
|
|
37
|
+
*/
|
|
38
|
+
odosExecutor?: string;
|
|
20
39
|
};
|
|
21
40
|
export type DolomiteConfigsType = {
|
|
22
41
|
[chainId: string]: DolomiteConfigEntry;
|
|
@@ -49,6 +68,12 @@ export type DolomiteEmodeType = {
|
|
|
49
68
|
[chainId: string]: DolomiteEmodeChain;
|
|
50
69
|
};
|
|
51
70
|
export declare const dolomiteConfigs: () => DolomiteConfigsType;
|
|
71
|
+
/**
|
|
72
|
+
* The `OdosExecutor` deployed on a chain, or `undefined` when the
|
|
73
|
+
* passthrough route is unavailable there. Callers MUST treat `undefined` as
|
|
74
|
+
* "not supported" — never substitute a default address.
|
|
75
|
+
*/
|
|
76
|
+
export declare const dolomiteOdosExecutorShim: (chainId: string) => string | undefined;
|
|
52
77
|
export declare const dolomiteChains: () => string[];
|
|
53
78
|
export declare const dolomiteEmode: () => DolomiteEmodeType;
|
|
54
79
|
export declare const dolomiteMarketIdByToken: (chainId: string, token: string) => string | undefined;
|
|
@@ -142,3 +142,21 @@ export declare const midnightMarketById: (chainId: string | number, marketId: st
|
|
|
142
142
|
export declare const midnightMarketIsEnterable: (market: Pick<MidnightMarketConfig, "gating" | "deprecatedAt" | "maturity">, nowSec?: number) => boolean;
|
|
143
143
|
/** Human-readable reason a market refuses new positions, or `undefined` if it does not. */
|
|
144
144
|
export declare const midnightNotEnterableReason: (market: Pick<MidnightMarketConfig, "gating" | "deprecatedAt" | "maturity">, nowSec?: number) => string | undefined;
|
|
145
|
+
/** Ref for a Midnight COLLATERAL LEG row: `<token>-c<collateralIndex>`. */
|
|
146
|
+
export declare const midnightCollateralRef: (token: string, collateralIndex: number) => string;
|
|
147
|
+
/** Ref for a Midnight LOAN-side row (borrow / lend): the bare loan token. */
|
|
148
|
+
export declare const midnightLoanRef: (loanToken: string) => string;
|
|
149
|
+
/**
|
|
150
|
+
* Split a Midnight row ref back into its token and side.
|
|
151
|
+
*
|
|
152
|
+
* `collateralIndex === undefined` means the LOAN side (credit / debt), which is
|
|
153
|
+
* the bare-token form. Anything else is that collateral leg. A trailing
|
|
154
|
+
* `-c<digits>` is the only thing read as a leg marker, so a token address —
|
|
155
|
+
* which cannot contain `-` — is never mistaken for one.
|
|
156
|
+
*/
|
|
157
|
+
export declare const parseMidnightRef: (ref: string) => {
|
|
158
|
+
token: string;
|
|
159
|
+
collateralIndex: number | undefined;
|
|
160
|
+
};
|
|
161
|
+
/** True when `ref` names a collateral leg rather than the loan side. */
|
|
162
|
+
export declare const isMidnightCollateralRef: (ref: string) => boolean;
|