@1delta/data-sdk 0.0.38 → 0.0.40
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 +146 -0
- package/dist/index.mjs +131 -1
- package/dist/lending.d.ts +155 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -82,11 +82,14 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
82
82
|
inverseMarkets: {},
|
|
83
83
|
usddConfig: {},
|
|
84
84
|
usddMarkets: {},
|
|
85
|
+
skyConfig: {},
|
|
86
|
+
skyMarkets: {},
|
|
85
87
|
frankencoinConfig: {},
|
|
86
88
|
frankencoinMarkets: {},
|
|
87
89
|
llamaLendConfig: {},
|
|
88
90
|
llamaLendMarkets: {},
|
|
89
91
|
resupplyConfig: {},
|
|
92
|
+
curvanceConfig: {},
|
|
90
93
|
compoundV3Bulker: {},
|
|
91
94
|
eulerConfigs: {},
|
|
92
95
|
eulerVaults: {},
|
|
@@ -152,11 +155,14 @@ function initializeLenderData({
|
|
|
152
155
|
inverseMarketsOverride,
|
|
153
156
|
usddConfigOverride,
|
|
154
157
|
usddMarketsOverride,
|
|
158
|
+
skyConfigOverride,
|
|
159
|
+
skyMarketsOverride,
|
|
155
160
|
frankencoinConfigOverride,
|
|
156
161
|
frankencoinMarketsOverride,
|
|
157
162
|
llamaLendConfigOverride,
|
|
158
163
|
llamaLendMarketsOverride,
|
|
159
164
|
resupplyConfigOverride,
|
|
165
|
+
curvanceConfigOverride,
|
|
160
166
|
compoundV3BulkerOverride,
|
|
161
167
|
eulerConfigsOverride,
|
|
162
168
|
eulerVaultsOverride,
|
|
@@ -215,11 +221,14 @@ function initializeLenderData({
|
|
|
215
221
|
if (inverseMarketsOverride) data.inverseMarkets = inverseMarketsOverride;
|
|
216
222
|
if (usddConfigOverride) data.usddConfig = usddConfigOverride;
|
|
217
223
|
if (usddMarketsOverride) data.usddMarkets = usddMarketsOverride;
|
|
224
|
+
if (skyConfigOverride) data.skyConfig = skyConfigOverride;
|
|
225
|
+
if (skyMarketsOverride) data.skyMarkets = skyMarketsOverride;
|
|
218
226
|
if (frankencoinConfigOverride) data.frankencoinConfig = frankencoinConfigOverride;
|
|
219
227
|
if (frankencoinMarketsOverride) data.frankencoinMarkets = frankencoinMarketsOverride;
|
|
220
228
|
if (llamaLendConfigOverride) data.llamaLendConfig = llamaLendConfigOverride;
|
|
221
229
|
if (llamaLendMarketsOverride) data.llamaLendMarkets = llamaLendMarketsOverride;
|
|
222
230
|
if (resupplyConfigOverride) data.resupplyConfig = resupplyConfigOverride;
|
|
231
|
+
if (curvanceConfigOverride) data.curvanceConfig = curvanceConfigOverride;
|
|
223
232
|
if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
|
|
224
233
|
if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
|
|
225
234
|
if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
|
|
@@ -401,6 +410,21 @@ var usddLendersByChain = (chainId) => {
|
|
|
401
410
|
const chain = String(chainId);
|
|
402
411
|
return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.vat);
|
|
403
412
|
};
|
|
413
|
+
var skyConfig = () => getGlobalData2()?.skyConfig;
|
|
414
|
+
var skyConfigFor = (lender, chainId) => getGlobalData2()?.skyConfig?.[lender]?.[String(chainId)];
|
|
415
|
+
var skyMarkets = () => getGlobalData2()?.skyMarkets;
|
|
416
|
+
var skyChainData = (lender, chainId) => getGlobalData2()?.skyMarkets?.[lender]?.[String(chainId)];
|
|
417
|
+
var skyLendersByChain = (chainId) => {
|
|
418
|
+
const cfg = getGlobalData2()?.skyConfig ?? {};
|
|
419
|
+
const chain = String(chainId);
|
|
420
|
+
return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.vat);
|
|
421
|
+
};
|
|
422
|
+
var isSkyKey = (lender) => lender === "SKY" || !!lender?.startsWith("SKY_");
|
|
423
|
+
var dssConfigFor = (lender, chainId) => isSkyKey(lender) ? skyConfigFor(lender, chainId) : usddConfigFor(lender, chainId);
|
|
424
|
+
var dssChainData = (lender, chainId) => isSkyKey(lender) ? skyChainData(lender, chainId) : usddChainData(lender, chainId);
|
|
425
|
+
var dssMarketByIlk = (lender, chainId, ilk) => dssChainData(lender, chainId)?.markets?.find((m) => m.ilk === ilk);
|
|
426
|
+
var dssDebtToken = (cfg) => cfg?.debtToken ?? cfg?.usdd;
|
|
427
|
+
var dssDebtJoin = (cfg) => cfg?.debtJoin ?? cfg?.usddJoin;
|
|
404
428
|
var frankencoinConfig = () => getGlobalData2()?.frankencoinConfig;
|
|
405
429
|
var frankencoinConfigFor = (lender, chainId) => getGlobalData2()?.frankencoinConfig?.[lender]?.[String(chainId)];
|
|
406
430
|
var frankencoinMarkets = () => getGlobalData2()?.frankencoinMarkets;
|
|
@@ -449,6 +473,112 @@ var resupplyLendersByChain = (chainId) => {
|
|
|
449
473
|
}
|
|
450
474
|
return [...keys];
|
|
451
475
|
};
|
|
476
|
+
var CURVANCE_MONAD_CONFIG = {
|
|
477
|
+
centralRegistry: "0x1310f352f1389969Ece6741671c4B919523912fF",
|
|
478
|
+
oracleManager: "0x65ADF8aE8420A58278De066593E6fF1713A137c5",
|
|
479
|
+
protocolReader: "0xC5E6DD26095Cc1fa2369f7885dF263e150228D8b",
|
|
480
|
+
optimizerReader: "0x821a4a2Be28888917106B3A628c8edaffEbF2e2F",
|
|
481
|
+
optimizers: {
|
|
482
|
+
// `hyAUSD` — 6-dec shares over AUSD; itself collateral in 2 markets.
|
|
483
|
+
hyAUSD: "0xaD663aC84052b52BE4ed1b27BA416505e84a00Bf"
|
|
484
|
+
},
|
|
485
|
+
// Only KyberSwap's MetaAggregationRouterV2 has a registered checker on Monad
|
|
486
|
+
// (2026-08). 1inch / Odos / OogaBooga all return the zero address even
|
|
487
|
+
// though checker contracts for them exist in the Curvance repo — registering
|
|
488
|
+
// OogaBooga is a single DAO call. Probe live before relying on any of this.
|
|
489
|
+
swapTargets: {
|
|
490
|
+
kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"
|
|
491
|
+
},
|
|
492
|
+
positionManagers: {
|
|
493
|
+
// muBOND | AUSD
|
|
494
|
+
"0x830D40CDFdc494BC1A2729a7381bfCe44326c944": { simplePositionManager: "0xA3d212D4705caf42C35d6EaE0C85E94c4cd329E4" },
|
|
495
|
+
// loAZND | AUSD
|
|
496
|
+
"0x7C822B093A116654F824Ec2A35CD23a3749E4f90": { simplePositionManager: "0x9e4638fd67bE15360bfebC5e07AECfF33dfda917" },
|
|
497
|
+
// ezETH | WETH
|
|
498
|
+
"0x83840d837E7A3E00bBb0B8501E60E989A8987c37": { simplePositionManager: "0xd8d3E46E52C3AB8FD98D04143984C763B4Bbc584" },
|
|
499
|
+
// shMON | WMON
|
|
500
|
+
"0xE1C24B2E93230FBe33d32Ba38ECA3218284143e2": {
|
|
501
|
+
nativeVaultPositionManager: "0x2fAA792502aC5a329DcCc1580C5308fCc0a772fe",
|
|
502
|
+
simplePositionManager: "0x7E8705a164DA7Cc5a4119C750b1F79837AD89D5E"
|
|
503
|
+
},
|
|
504
|
+
// aprMON | WMON
|
|
505
|
+
"0x5EA0a1Cf3501C954b64902c5e92100b8A2CaB1Ac": {
|
|
506
|
+
nativeVaultPositionManager: "0x82f88A810E86a730699231F5fBF5686c643467C8",
|
|
507
|
+
simplePositionManager: "0x669786FF3da7544c98FE74eE1006D787118d1770"
|
|
508
|
+
},
|
|
509
|
+
// sMON | WMON
|
|
510
|
+
"0xe5970cDB1916B2cCF6185C86C174EEE2d330D05B": { simplePositionManager: "0x3d6ba6C90E1738cb01C46E72F284C7Bd57eB11EC" },
|
|
511
|
+
// sAUSD | AUSD
|
|
512
|
+
"0xBBE7A3c45aDBb16F6490767b663428c34aA341Eb": {
|
|
513
|
+
simplePositionManager: "0x491e8712885E4e0b98864F13393ced8c1a61FD57",
|
|
514
|
+
vaultPositionManager: "0xe94AC990873C3B59A417d25C1ec1398807FB41A1"
|
|
515
|
+
},
|
|
516
|
+
// earnAUSD | AUSD
|
|
517
|
+
"0xd6365555f6a697C7C295bA741100AA644cE28545": { simplePositionManager: "0xd807efC94376618B4d9CE6eAaf89607006d3B881" },
|
|
518
|
+
// WMON | AUSD
|
|
519
|
+
"0x05e70717fA8BD0F21a9F826d093d99f6Da4f1554": { simplePositionManager: "0x2619BB5Acfe51317c4C36a63578FD56148e68C74" },
|
|
520
|
+
// WMON | USDC
|
|
521
|
+
"0xa6A2A92F126b79Ee0804845ee6B52899b4491093": { simplePositionManager: "0x960c49E523e6A87282D2bC5032d0AeCb35Dc20ef" },
|
|
522
|
+
// WBTC | USDC
|
|
523
|
+
"0x01C4a0d396EFE982B1B103BE9910321d34e1aEA9": { simplePositionManager: "0x8cA51d155C07e91B206Cf11C8D52d5aB082657F6" },
|
|
524
|
+
// WETH | USDC
|
|
525
|
+
"0xb3E9E0134354cc91b7FB9F9d6C3ab0dE7854BB49": { simplePositionManager: "0x3A1B2Dc11a81Fe106eC667BaB4056fC72498ff73" },
|
|
526
|
+
// gMON | WMON
|
|
527
|
+
"0xb00aFF53a4Df2b4E2f97a3d9ffaDb55564C8E42F": { simplePositionManager: "0x77B90040E6dFE8A62293Cd91CAeE35296EC266Ee" },
|
|
528
|
+
// syzUSD | AUSD
|
|
529
|
+
"0x90fc1A4abC4ee5f8a9560dE069067D9606d2909C": { simplePositionManager: "0x9352318f75e8Cb7C47C5B086D56d3e6D761b7419" },
|
|
530
|
+
// wsrUSD | AUSD
|
|
531
|
+
"0x627a15859d09C1550e2934991AA95aFc6896e3Ef": { simplePositionManager: "0xF8613b7b4e8bFb5E7155fb4D3bc9f9B93d895C31" },
|
|
532
|
+
// YZM | AUSD
|
|
533
|
+
"0x4409e2161B6f9A25ACbC471a37390654Ed272249": { simplePositionManager: "0xb85dEf309F7eEEb8f581909c7afB623dDf59AdD9" },
|
|
534
|
+
// vUSD | AUSD
|
|
535
|
+
"0x2DB9AB1bB00d7000b21A2EbcE7D1a9b91F351E72": { simplePositionManager: "0xCb1709fAF66A73b4f6026b531Bef9AF971368f50" },
|
|
536
|
+
// eBTC | WBTC
|
|
537
|
+
"0xBc4cd7bbd8d38027A88838B88BA04561FA778C35": { simplePositionManager: "0x5e339724818c4b46E1Bc6966FeB4ea2924Ca17D9" },
|
|
538
|
+
// savUSD | USDC
|
|
539
|
+
"0x38104e87Eb96ce5ef1C23a06878dB0D657B4a699": { simplePositionManager: "0x7B918FF5EDc44B29ced4d3dc52Fb8b859025325c" },
|
|
540
|
+
// savUSD | AUSD
|
|
541
|
+
"0x4B0a39eCC3e5A5dA3ce6D492D4D255cD1F0209F7": { simplePositionManager: "0xb8F6f480E645dBa96Df9eD3948D900725bA9e9Ec" }
|
|
542
|
+
}
|
|
543
|
+
};
|
|
544
|
+
var CURVANCE_BUILTIN = {
|
|
545
|
+
CURVANCE: { "143": CURVANCE_MONAD_CONFIG }
|
|
546
|
+
};
|
|
547
|
+
var curvanceConfig = () => getGlobalData2()?.curvanceConfig;
|
|
548
|
+
var curvanceConfigFor = (lender, chainId) => {
|
|
549
|
+
const published = getGlobalData2()?.curvanceConfig?.[lender]?.[String(chainId)];
|
|
550
|
+
if (published?.centralRegistry) return published;
|
|
551
|
+
return CURVANCE_BUILTIN[lender]?.[String(chainId)];
|
|
552
|
+
};
|
|
553
|
+
var curvanceLendersByChain = (chainId) => {
|
|
554
|
+
const chain = String(chainId);
|
|
555
|
+
const cfg = getGlobalData2()?.curvanceConfig ?? {};
|
|
556
|
+
const keys = /* @__PURE__ */ new Set();
|
|
557
|
+
for (const lender of Object.keys(cfg)) {
|
|
558
|
+
if (cfg[lender]?.[chain]?.centralRegistry) keys.add(lender);
|
|
559
|
+
}
|
|
560
|
+
for (const lender of Object.keys(CURVANCE_BUILTIN)) {
|
|
561
|
+
if (CURVANCE_BUILTIN[lender]?.[chain]?.centralRegistry) keys.add(lender);
|
|
562
|
+
}
|
|
563
|
+
return [...keys];
|
|
564
|
+
};
|
|
565
|
+
var curvancePositionManagersFor = (lender, chainId, marketManager) => {
|
|
566
|
+
const map = curvanceConfigFor(lender, chainId)?.positionManagers;
|
|
567
|
+
if (!map || !marketManager) return void 0;
|
|
568
|
+
const direct = map[marketManager];
|
|
569
|
+
if (direct) return direct;
|
|
570
|
+
const target = marketManager.toLowerCase();
|
|
571
|
+
for (const key of Object.keys(map)) {
|
|
572
|
+
if (key.toLowerCase() === target) return map[key];
|
|
573
|
+
}
|
|
574
|
+
return void 0;
|
|
575
|
+
};
|
|
576
|
+
var curvancePositionManager = (lender, chainId, marketManager, kind) => {
|
|
577
|
+
const pms = curvancePositionManagersFor(lender, chainId, marketManager);
|
|
578
|
+
if (!pms) return void 0;
|
|
579
|
+
if (kind) return pms[kind];
|
|
580
|
+
return pms.simplePositionManager ?? pms.vaultPositionManager ?? pms.nativeVaultPositionManager ?? pms.pendlePtPositionManager;
|
|
581
|
+
};
|
|
452
582
|
var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
|
|
453
583
|
var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
|
|
454
584
|
var eulerVaults = () => getGlobalData2()?.eulerVaults;
|
|
@@ -633,6 +763,7 @@ async function fetchMainTokensMap() {
|
|
|
633
763
|
return await data.json();
|
|
634
764
|
}
|
|
635
765
|
|
|
766
|
+
exports.CURVANCE_MONAD_CONFIG = CURVANCE_MONAD_CONFIG;
|
|
636
767
|
exports.GEARBOX_ACCOUNT_COMPRESSOR_V310 = GEARBOX_ACCOUNT_COMPRESSOR_V310;
|
|
637
768
|
exports.RESUPPLY_ETHEREUM_CONFIG = RESUPPLY_ETHEREUM_CONFIG;
|
|
638
769
|
exports.aaveOracles = aaveOracles;
|
|
@@ -658,10 +789,20 @@ exports.compoundV3Bulker = compoundV3Bulker;
|
|
|
658
789
|
exports.compoundV3OraclesData = compoundV3OraclesData;
|
|
659
790
|
exports.compoundV3Pools = compoundV3Pools;
|
|
660
791
|
exports.compoundV3Reserves = compoundV3Reserves;
|
|
792
|
+
exports.curvanceConfig = curvanceConfig;
|
|
793
|
+
exports.curvanceConfigFor = curvanceConfigFor;
|
|
794
|
+
exports.curvanceLendersByChain = curvanceLendersByChain;
|
|
795
|
+
exports.curvancePositionManager = curvancePositionManager;
|
|
796
|
+
exports.curvancePositionManagersFor = curvancePositionManagersFor;
|
|
661
797
|
exports.dolomiteChains = dolomiteChains;
|
|
662
798
|
exports.dolomiteConfigs = dolomiteConfigs;
|
|
663
799
|
exports.dolomiteEmode = dolomiteEmode;
|
|
664
800
|
exports.dolomiteMarketIdByToken = dolomiteMarketIdByToken;
|
|
801
|
+
exports.dssChainData = dssChainData;
|
|
802
|
+
exports.dssConfigFor = dssConfigFor;
|
|
803
|
+
exports.dssDebtJoin = dssDebtJoin;
|
|
804
|
+
exports.dssDebtToken = dssDebtToken;
|
|
805
|
+
exports.dssMarketByIlk = dssMarketByIlk;
|
|
665
806
|
exports.eulerConfigs = eulerConfigs;
|
|
666
807
|
exports.eulerVaults = eulerVaults;
|
|
667
808
|
exports.exactlyConfig = exactlyConfig;
|
|
@@ -764,6 +905,11 @@ exports.siloPeripherals = siloPeripherals;
|
|
|
764
905
|
exports.siloPeripheralsV3 = siloPeripheralsV3;
|
|
765
906
|
exports.siloV2LenderKey = siloV2LenderKey;
|
|
766
907
|
exports.siloV3LenderKey = siloV3LenderKey;
|
|
908
|
+
exports.skyChainData = skyChainData;
|
|
909
|
+
exports.skyConfig = skyConfig;
|
|
910
|
+
exports.skyConfigFor = skyConfigFor;
|
|
911
|
+
exports.skyLendersByChain = skyLendersByChain;
|
|
912
|
+
exports.skyMarkets = skyMarkets;
|
|
767
913
|
exports.tellerConfig = tellerConfig;
|
|
768
914
|
exports.tellerConfigByChain = tellerConfigByChain;
|
|
769
915
|
exports.tellerPoolByAddress = tellerPoolByAddress;
|
package/dist/index.mjs
CHANGED
|
@@ -80,11 +80,14 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
80
80
|
inverseMarkets: {},
|
|
81
81
|
usddConfig: {},
|
|
82
82
|
usddMarkets: {},
|
|
83
|
+
skyConfig: {},
|
|
84
|
+
skyMarkets: {},
|
|
83
85
|
frankencoinConfig: {},
|
|
84
86
|
frankencoinMarkets: {},
|
|
85
87
|
llamaLendConfig: {},
|
|
86
88
|
llamaLendMarkets: {},
|
|
87
89
|
resupplyConfig: {},
|
|
90
|
+
curvanceConfig: {},
|
|
88
91
|
compoundV3Bulker: {},
|
|
89
92
|
eulerConfigs: {},
|
|
90
93
|
eulerVaults: {},
|
|
@@ -150,11 +153,14 @@ function initializeLenderData({
|
|
|
150
153
|
inverseMarketsOverride,
|
|
151
154
|
usddConfigOverride,
|
|
152
155
|
usddMarketsOverride,
|
|
156
|
+
skyConfigOverride,
|
|
157
|
+
skyMarketsOverride,
|
|
153
158
|
frankencoinConfigOverride,
|
|
154
159
|
frankencoinMarketsOverride,
|
|
155
160
|
llamaLendConfigOverride,
|
|
156
161
|
llamaLendMarketsOverride,
|
|
157
162
|
resupplyConfigOverride,
|
|
163
|
+
curvanceConfigOverride,
|
|
158
164
|
compoundV3BulkerOverride,
|
|
159
165
|
eulerConfigsOverride,
|
|
160
166
|
eulerVaultsOverride,
|
|
@@ -213,11 +219,14 @@ function initializeLenderData({
|
|
|
213
219
|
if (inverseMarketsOverride) data.inverseMarkets = inverseMarketsOverride;
|
|
214
220
|
if (usddConfigOverride) data.usddConfig = usddConfigOverride;
|
|
215
221
|
if (usddMarketsOverride) data.usddMarkets = usddMarketsOverride;
|
|
222
|
+
if (skyConfigOverride) data.skyConfig = skyConfigOverride;
|
|
223
|
+
if (skyMarketsOverride) data.skyMarkets = skyMarketsOverride;
|
|
216
224
|
if (frankencoinConfigOverride) data.frankencoinConfig = frankencoinConfigOverride;
|
|
217
225
|
if (frankencoinMarketsOverride) data.frankencoinMarkets = frankencoinMarketsOverride;
|
|
218
226
|
if (llamaLendConfigOverride) data.llamaLendConfig = llamaLendConfigOverride;
|
|
219
227
|
if (llamaLendMarketsOverride) data.llamaLendMarkets = llamaLendMarketsOverride;
|
|
220
228
|
if (resupplyConfigOverride) data.resupplyConfig = resupplyConfigOverride;
|
|
229
|
+
if (curvanceConfigOverride) data.curvanceConfig = curvanceConfigOverride;
|
|
221
230
|
if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
|
|
222
231
|
if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
|
|
223
232
|
if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
|
|
@@ -399,6 +408,21 @@ var usddLendersByChain = (chainId) => {
|
|
|
399
408
|
const chain = String(chainId);
|
|
400
409
|
return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.vat);
|
|
401
410
|
};
|
|
411
|
+
var skyConfig = () => getGlobalData2()?.skyConfig;
|
|
412
|
+
var skyConfigFor = (lender, chainId) => getGlobalData2()?.skyConfig?.[lender]?.[String(chainId)];
|
|
413
|
+
var skyMarkets = () => getGlobalData2()?.skyMarkets;
|
|
414
|
+
var skyChainData = (lender, chainId) => getGlobalData2()?.skyMarkets?.[lender]?.[String(chainId)];
|
|
415
|
+
var skyLendersByChain = (chainId) => {
|
|
416
|
+
const cfg = getGlobalData2()?.skyConfig ?? {};
|
|
417
|
+
const chain = String(chainId);
|
|
418
|
+
return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.vat);
|
|
419
|
+
};
|
|
420
|
+
var isSkyKey = (lender) => lender === "SKY" || !!lender?.startsWith("SKY_");
|
|
421
|
+
var dssConfigFor = (lender, chainId) => isSkyKey(lender) ? skyConfigFor(lender, chainId) : usddConfigFor(lender, chainId);
|
|
422
|
+
var dssChainData = (lender, chainId) => isSkyKey(lender) ? skyChainData(lender, chainId) : usddChainData(lender, chainId);
|
|
423
|
+
var dssMarketByIlk = (lender, chainId, ilk) => dssChainData(lender, chainId)?.markets?.find((m) => m.ilk === ilk);
|
|
424
|
+
var dssDebtToken = (cfg) => cfg?.debtToken ?? cfg?.usdd;
|
|
425
|
+
var dssDebtJoin = (cfg) => cfg?.debtJoin ?? cfg?.usddJoin;
|
|
402
426
|
var frankencoinConfig = () => getGlobalData2()?.frankencoinConfig;
|
|
403
427
|
var frankencoinConfigFor = (lender, chainId) => getGlobalData2()?.frankencoinConfig?.[lender]?.[String(chainId)];
|
|
404
428
|
var frankencoinMarkets = () => getGlobalData2()?.frankencoinMarkets;
|
|
@@ -447,6 +471,112 @@ var resupplyLendersByChain = (chainId) => {
|
|
|
447
471
|
}
|
|
448
472
|
return [...keys];
|
|
449
473
|
};
|
|
474
|
+
var CURVANCE_MONAD_CONFIG = {
|
|
475
|
+
centralRegistry: "0x1310f352f1389969Ece6741671c4B919523912fF",
|
|
476
|
+
oracleManager: "0x65ADF8aE8420A58278De066593E6fF1713A137c5",
|
|
477
|
+
protocolReader: "0xC5E6DD26095Cc1fa2369f7885dF263e150228D8b",
|
|
478
|
+
optimizerReader: "0x821a4a2Be28888917106B3A628c8edaffEbF2e2F",
|
|
479
|
+
optimizers: {
|
|
480
|
+
// `hyAUSD` — 6-dec shares over AUSD; itself collateral in 2 markets.
|
|
481
|
+
hyAUSD: "0xaD663aC84052b52BE4ed1b27BA416505e84a00Bf"
|
|
482
|
+
},
|
|
483
|
+
// Only KyberSwap's MetaAggregationRouterV2 has a registered checker on Monad
|
|
484
|
+
// (2026-08). 1inch / Odos / OogaBooga all return the zero address even
|
|
485
|
+
// though checker contracts for them exist in the Curvance repo — registering
|
|
486
|
+
// OogaBooga is a single DAO call. Probe live before relying on any of this.
|
|
487
|
+
swapTargets: {
|
|
488
|
+
kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"
|
|
489
|
+
},
|
|
490
|
+
positionManagers: {
|
|
491
|
+
// muBOND | AUSD
|
|
492
|
+
"0x830D40CDFdc494BC1A2729a7381bfCe44326c944": { simplePositionManager: "0xA3d212D4705caf42C35d6EaE0C85E94c4cd329E4" },
|
|
493
|
+
// loAZND | AUSD
|
|
494
|
+
"0x7C822B093A116654F824Ec2A35CD23a3749E4f90": { simplePositionManager: "0x9e4638fd67bE15360bfebC5e07AECfF33dfda917" },
|
|
495
|
+
// ezETH | WETH
|
|
496
|
+
"0x83840d837E7A3E00bBb0B8501E60E989A8987c37": { simplePositionManager: "0xd8d3E46E52C3AB8FD98D04143984C763B4Bbc584" },
|
|
497
|
+
// shMON | WMON
|
|
498
|
+
"0xE1C24B2E93230FBe33d32Ba38ECA3218284143e2": {
|
|
499
|
+
nativeVaultPositionManager: "0x2fAA792502aC5a329DcCc1580C5308fCc0a772fe",
|
|
500
|
+
simplePositionManager: "0x7E8705a164DA7Cc5a4119C750b1F79837AD89D5E"
|
|
501
|
+
},
|
|
502
|
+
// aprMON | WMON
|
|
503
|
+
"0x5EA0a1Cf3501C954b64902c5e92100b8A2CaB1Ac": {
|
|
504
|
+
nativeVaultPositionManager: "0x82f88A810E86a730699231F5fBF5686c643467C8",
|
|
505
|
+
simplePositionManager: "0x669786FF3da7544c98FE74eE1006D787118d1770"
|
|
506
|
+
},
|
|
507
|
+
// sMON | WMON
|
|
508
|
+
"0xe5970cDB1916B2cCF6185C86C174EEE2d330D05B": { simplePositionManager: "0x3d6ba6C90E1738cb01C46E72F284C7Bd57eB11EC" },
|
|
509
|
+
// sAUSD | AUSD
|
|
510
|
+
"0xBBE7A3c45aDBb16F6490767b663428c34aA341Eb": {
|
|
511
|
+
simplePositionManager: "0x491e8712885E4e0b98864F13393ced8c1a61FD57",
|
|
512
|
+
vaultPositionManager: "0xe94AC990873C3B59A417d25C1ec1398807FB41A1"
|
|
513
|
+
},
|
|
514
|
+
// earnAUSD | AUSD
|
|
515
|
+
"0xd6365555f6a697C7C295bA741100AA644cE28545": { simplePositionManager: "0xd807efC94376618B4d9CE6eAaf89607006d3B881" },
|
|
516
|
+
// WMON | AUSD
|
|
517
|
+
"0x05e70717fA8BD0F21a9F826d093d99f6Da4f1554": { simplePositionManager: "0x2619BB5Acfe51317c4C36a63578FD56148e68C74" },
|
|
518
|
+
// WMON | USDC
|
|
519
|
+
"0xa6A2A92F126b79Ee0804845ee6B52899b4491093": { simplePositionManager: "0x960c49E523e6A87282D2bC5032d0AeCb35Dc20ef" },
|
|
520
|
+
// WBTC | USDC
|
|
521
|
+
"0x01C4a0d396EFE982B1B103BE9910321d34e1aEA9": { simplePositionManager: "0x8cA51d155C07e91B206Cf11C8D52d5aB082657F6" },
|
|
522
|
+
// WETH | USDC
|
|
523
|
+
"0xb3E9E0134354cc91b7FB9F9d6C3ab0dE7854BB49": { simplePositionManager: "0x3A1B2Dc11a81Fe106eC667BaB4056fC72498ff73" },
|
|
524
|
+
// gMON | WMON
|
|
525
|
+
"0xb00aFF53a4Df2b4E2f97a3d9ffaDb55564C8E42F": { simplePositionManager: "0x77B90040E6dFE8A62293Cd91CAeE35296EC266Ee" },
|
|
526
|
+
// syzUSD | AUSD
|
|
527
|
+
"0x90fc1A4abC4ee5f8a9560dE069067D9606d2909C": { simplePositionManager: "0x9352318f75e8Cb7C47C5B086D56d3e6D761b7419" },
|
|
528
|
+
// wsrUSD | AUSD
|
|
529
|
+
"0x627a15859d09C1550e2934991AA95aFc6896e3Ef": { simplePositionManager: "0xF8613b7b4e8bFb5E7155fb4D3bc9f9B93d895C31" },
|
|
530
|
+
// YZM | AUSD
|
|
531
|
+
"0x4409e2161B6f9A25ACbC471a37390654Ed272249": { simplePositionManager: "0xb85dEf309F7eEEb8f581909c7afB623dDf59AdD9" },
|
|
532
|
+
// vUSD | AUSD
|
|
533
|
+
"0x2DB9AB1bB00d7000b21A2EbcE7D1a9b91F351E72": { simplePositionManager: "0xCb1709fAF66A73b4f6026b531Bef9AF971368f50" },
|
|
534
|
+
// eBTC | WBTC
|
|
535
|
+
"0xBc4cd7bbd8d38027A88838B88BA04561FA778C35": { simplePositionManager: "0x5e339724818c4b46E1Bc6966FeB4ea2924Ca17D9" },
|
|
536
|
+
// savUSD | USDC
|
|
537
|
+
"0x38104e87Eb96ce5ef1C23a06878dB0D657B4a699": { simplePositionManager: "0x7B918FF5EDc44B29ced4d3dc52Fb8b859025325c" },
|
|
538
|
+
// savUSD | AUSD
|
|
539
|
+
"0x4B0a39eCC3e5A5dA3ce6D492D4D255cD1F0209F7": { simplePositionManager: "0xb8F6f480E645dBa96Df9eD3948D900725bA9e9Ec" }
|
|
540
|
+
}
|
|
541
|
+
};
|
|
542
|
+
var CURVANCE_BUILTIN = {
|
|
543
|
+
CURVANCE: { "143": CURVANCE_MONAD_CONFIG }
|
|
544
|
+
};
|
|
545
|
+
var curvanceConfig = () => getGlobalData2()?.curvanceConfig;
|
|
546
|
+
var curvanceConfigFor = (lender, chainId) => {
|
|
547
|
+
const published = getGlobalData2()?.curvanceConfig?.[lender]?.[String(chainId)];
|
|
548
|
+
if (published?.centralRegistry) return published;
|
|
549
|
+
return CURVANCE_BUILTIN[lender]?.[String(chainId)];
|
|
550
|
+
};
|
|
551
|
+
var curvanceLendersByChain = (chainId) => {
|
|
552
|
+
const chain = String(chainId);
|
|
553
|
+
const cfg = getGlobalData2()?.curvanceConfig ?? {};
|
|
554
|
+
const keys = /* @__PURE__ */ new Set();
|
|
555
|
+
for (const lender of Object.keys(cfg)) {
|
|
556
|
+
if (cfg[lender]?.[chain]?.centralRegistry) keys.add(lender);
|
|
557
|
+
}
|
|
558
|
+
for (const lender of Object.keys(CURVANCE_BUILTIN)) {
|
|
559
|
+
if (CURVANCE_BUILTIN[lender]?.[chain]?.centralRegistry) keys.add(lender);
|
|
560
|
+
}
|
|
561
|
+
return [...keys];
|
|
562
|
+
};
|
|
563
|
+
var curvancePositionManagersFor = (lender, chainId, marketManager) => {
|
|
564
|
+
const map = curvanceConfigFor(lender, chainId)?.positionManagers;
|
|
565
|
+
if (!map || !marketManager) return void 0;
|
|
566
|
+
const direct = map[marketManager];
|
|
567
|
+
if (direct) return direct;
|
|
568
|
+
const target = marketManager.toLowerCase();
|
|
569
|
+
for (const key of Object.keys(map)) {
|
|
570
|
+
if (key.toLowerCase() === target) return map[key];
|
|
571
|
+
}
|
|
572
|
+
return void 0;
|
|
573
|
+
};
|
|
574
|
+
var curvancePositionManager = (lender, chainId, marketManager, kind) => {
|
|
575
|
+
const pms = curvancePositionManagersFor(lender, chainId, marketManager);
|
|
576
|
+
if (!pms) return void 0;
|
|
577
|
+
if (kind) return pms[kind];
|
|
578
|
+
return pms.simplePositionManager ?? pms.vaultPositionManager ?? pms.nativeVaultPositionManager ?? pms.pendlePtPositionManager;
|
|
579
|
+
};
|
|
450
580
|
var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
|
|
451
581
|
var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
|
|
452
582
|
var eulerVaults = () => getGlobalData2()?.eulerVaults;
|
|
@@ -631,4 +761,4 @@ async function fetchMainTokensMap() {
|
|
|
631
761
|
return await data.json();
|
|
632
762
|
}
|
|
633
763
|
|
|
634
|
-
export { GEARBOX_ACCOUNT_COMPRESSOR_V310, RESUPPLY_ETHEREUM_CONFIG, aaveOracles, aaveOraclesConfig, aavePools, aaveReserves, aaveTokens, aaveV4Oracles, aaveV4Peripherals, aaveV4SpokeLenderKey, aaveV4Spokes, aaveWethGateway, chainLogoURI, chains, compoundV2Oracles, compoundV2OraclesConfig, compoundV2Pools, compoundV2Reserves, compoundV2TokenArray, compoundV2Tokens, compoundV3BaseData, compoundV3Bulker, compoundV3OraclesData, compoundV3Pools, compoundV3Reserves, dolomiteChains, dolomiteConfigs, dolomiteEmode, dolomiteMarketIdByToken, eulerConfigs, eulerVaults, exactlyConfig, exactlyMarketByAddress, exactlyMarketByAsset, exactlyMarkets, exactlyMarketsByChain, fetchMainTokensMap, fetchTokenList, fetchTokenListFile, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, frankencoinChainData, frankencoinConfig, frankencoinConfigFor, frankencoinLendersByChain, frankencoinMarketByPosition, frankencoinMarkets, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getChainEntries, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, inverseChainData, inverseConfig, inverseConfigFor, inverseLendersByChain, inverseMarketByAddress, inverseMarkets, liquityBranchByIndex, liquityBranchByTroveManager, liquityBranchesByChain, liquityConfig, liquityConfigFor, liquityLendersByChain, liquityMarkets, listaNativeProvider, llamaLendApiBaseUrl, llamaLendChainData, llamaLendConfig, llamaLendConfigFor, llamaLendLenderKey, llamaLendLendersByChain, llamaLendLeverageZap, llamaLendMarketByController, llamaLendMarketByVault, llamaLendMarkets, llamaLendSupportsDelegation, llamaLendSupportsLeverage, midnightApiBaseOverride, midnightConfig, midnightMarketById, midnightMarkets, midnightMarketsByChain, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseGearboxV3LenderKey, parseLlamaLendLenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, parseTermMaxLenderKey, resolveMidnightApiBase, resolveTermApiBase, resupplyConfig, resupplyConfigFor, resupplyLendersByChain, riverChainData, riverConfig, riverConfigFor, riverLendersByChain, riverMarketByIndex, riverMarkets, setMidnightApiBase, setTermApiBase, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey, tellerConfig, tellerConfigByChain, tellerPoolByAddress, tellerPools, tellerPoolsByChain, termApiBaseOverride, termConfig, termMarketById, termMarkets, termMarketsByChain, termMaxApiBaseUrl, termMaxChainIds, termMaxConfig, termMaxConfigByChain, termMaxLenderKey, usddChainData, usddConfig, usddConfigFor, usddLendersByChain, usddMarketByIlk, usddMarkets };
|
|
764
|
+
export { CURVANCE_MONAD_CONFIG, GEARBOX_ACCOUNT_COMPRESSOR_V310, RESUPPLY_ETHEREUM_CONFIG, aaveOracles, aaveOraclesConfig, aavePools, aaveReserves, aaveTokens, aaveV4Oracles, aaveV4Peripherals, aaveV4SpokeLenderKey, aaveV4Spokes, aaveWethGateway, chainLogoURI, chains, compoundV2Oracles, compoundV2OraclesConfig, compoundV2Pools, compoundV2Reserves, compoundV2TokenArray, compoundV2Tokens, compoundV3BaseData, compoundV3Bulker, compoundV3OraclesData, compoundV3Pools, compoundV3Reserves, curvanceConfig, curvanceConfigFor, curvanceLendersByChain, curvancePositionManager, curvancePositionManagersFor, dolomiteChains, dolomiteConfigs, dolomiteEmode, dolomiteMarketIdByToken, dssChainData, dssConfigFor, dssDebtJoin, dssDebtToken, dssMarketByIlk, eulerConfigs, eulerVaults, exactlyConfig, exactlyMarketByAddress, exactlyMarketByAsset, exactlyMarkets, exactlyMarketsByChain, fetchMainTokensMap, fetchTokenList, fetchTokenListFile, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, frankencoinChainData, frankencoinConfig, frankencoinConfigFor, frankencoinLendersByChain, frankencoinMarketByPosition, frankencoinMarkets, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getChainEntries, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, inverseChainData, inverseConfig, inverseConfigFor, inverseLendersByChain, inverseMarketByAddress, inverseMarkets, liquityBranchByIndex, liquityBranchByTroveManager, liquityBranchesByChain, liquityConfig, liquityConfigFor, liquityLendersByChain, liquityMarkets, listaNativeProvider, llamaLendApiBaseUrl, llamaLendChainData, llamaLendConfig, llamaLendConfigFor, llamaLendLenderKey, llamaLendLendersByChain, llamaLendLeverageZap, llamaLendMarketByController, llamaLendMarketByVault, llamaLendMarkets, llamaLendSupportsDelegation, llamaLendSupportsLeverage, midnightApiBaseOverride, midnightConfig, midnightMarketById, midnightMarkets, midnightMarketsByChain, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseGearboxV3LenderKey, parseLlamaLendLenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, parseTermMaxLenderKey, resolveMidnightApiBase, resolveTermApiBase, resupplyConfig, resupplyConfigFor, resupplyLendersByChain, riverChainData, riverConfig, riverConfigFor, riverLendersByChain, riverMarketByIndex, riverMarkets, setMidnightApiBase, setTermApiBase, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey, skyChainData, skyConfig, skyConfigFor, skyLendersByChain, skyMarkets, tellerConfig, tellerConfigByChain, tellerPoolByAddress, tellerPools, tellerPoolsByChain, termApiBaseOverride, termConfig, termMarketById, termMarkets, termMarketsByChain, termMaxApiBaseUrl, termMaxChainIds, termMaxConfig, termMaxConfigByChain, termMaxLenderKey, usddChainData, usddConfig, usddConfigFor, usddLendersByChain, usddMarketByIlk, usddMarkets };
|
package/dist/lending.d.ts
CHANGED
|
@@ -650,6 +650,69 @@ export type ResupplyConfigType = {
|
|
|
650
650
|
[chainId: string]: ResupplyConfigChain;
|
|
651
651
|
};
|
|
652
652
|
};
|
|
653
|
+
/** The Position Manager variants Curvance deploys, keyed as the app keys them. */
|
|
654
|
+
export type CurvancePositionManagers = {
|
|
655
|
+
/** Generic non-native ERC-20 legs. The common case (20 of 20 PM'd markets). */
|
|
656
|
+
simplePositionManager?: string;
|
|
657
|
+
/** ERC-4626-style collateral that is entered on leverage. */
|
|
658
|
+
vaultPositionManager?: string;
|
|
659
|
+
/** Wrapped-native collateral — unwraps / swaps into native before depositing. */
|
|
660
|
+
nativeVaultPositionManager?: string;
|
|
661
|
+
/** Pendle principal-token collateral. */
|
|
662
|
+
pendlePtPositionManager?: string;
|
|
663
|
+
};
|
|
664
|
+
/** Per-chain, protocol-level (evergreen) Curvance addresses. */
|
|
665
|
+
export type CurvanceConfigChain = {
|
|
666
|
+
/** `CentralRegistry` — `marketManagers()` IS the market discovery, and every
|
|
667
|
+
* other singleton hangs off it. The one address the provider bootstraps
|
|
668
|
+
* from. */
|
|
669
|
+
centralRegistry: string;
|
|
670
|
+
/** `OracleManager` — `getPrice(asset, inUSD, getLower)`. Prices are WAD USD
|
|
671
|
+
* and carry an `errorCode` that GATES actions (see the abis header). */
|
|
672
|
+
oracleManager?: string;
|
|
673
|
+
/** `ProtocolReader` — `getStaticMarketData()` + `getAllDynamicState(account)`
|
|
674
|
+
* return the entire public book and one account's whole portfolio in two
|
|
675
|
+
* calls. Optional: the fetchers fall back to a plain multicall over the
|
|
676
|
+
* MarketManagers when it is absent. */
|
|
677
|
+
protocolReader?: string;
|
|
678
|
+
/** `OptimizerReader` — lens for the LendingOptimizer ("Vaults") surface. */
|
|
679
|
+
optimizerReader?: string;
|
|
680
|
+
/**
|
|
681
|
+
* Native-leverage Position Managers, keyed by MARKET MANAGER address
|
|
682
|
+
* (lowercase-insensitive on read). A market absent here has no native
|
|
683
|
+
* leverage — which is a real state, not a gap: 5 of 25 markets on Monad
|
|
684
|
+
* have none registered.
|
|
685
|
+
*/
|
|
686
|
+
positionManagers?: {
|
|
687
|
+
[marketManager: string]: CurvancePositionManagers;
|
|
688
|
+
};
|
|
689
|
+
/**
|
|
690
|
+
* `LendingOptimizer` vaults by symbol. Their shares are collateralisable
|
|
691
|
+
* through `LendingOptimizerShareCToken`, which is why `hyAUSD` appears as
|
|
692
|
+
* collateral in two markets.
|
|
693
|
+
*/
|
|
694
|
+
optimizers?: {
|
|
695
|
+
[symbol: string]: string;
|
|
696
|
+
};
|
|
697
|
+
/**
|
|
698
|
+
* Swap targets with a registered `externalCalldataChecker`, i.e. the ONLY
|
|
699
|
+
* routers the native leverage path will accept. Cached here as a hint; the
|
|
700
|
+
* mapping is DAO-mutable in both directions, so a builder must still probe
|
|
701
|
+
* `externalCalldataChecker(target)` live and fail closed.
|
|
702
|
+
*/
|
|
703
|
+
swapTargets?: {
|
|
704
|
+
[aggregator: string]: string;
|
|
705
|
+
};
|
|
706
|
+
/** Optional allowlist of MarketManager addresses. When set, on-chain
|
|
707
|
+
* discovery is INTERSECTED with it; absent (the default) publishes every
|
|
708
|
+
* listed market. */
|
|
709
|
+
marketAllowlist?: string[] | null;
|
|
710
|
+
};
|
|
711
|
+
export type CurvanceConfigType = {
|
|
712
|
+
[lender: string]: {
|
|
713
|
+
[chainId: string]: CurvanceConfigChain;
|
|
714
|
+
};
|
|
715
|
+
};
|
|
653
716
|
/** Per-chain LlamaLend deployment seed (hand-maintained). */
|
|
654
717
|
export type LlamaLendConfigChain = {
|
|
655
718
|
/** v1 `OneWayLendingFactory` — parallel index getters. Absent on chains
|
|
@@ -686,7 +749,7 @@ export type LlamaLendConfigChain = {
|
|
|
686
749
|
/**
|
|
687
750
|
* The crvUSD mint (CDP) factory, when the chain's zap indexes it as
|
|
688
751
|
* `factoryId = 1`. Present on Ethereum only. Recorded because the SAME zap
|
|
689
|
-
* serves those markets — see
|
|
752
|
+
* serves those markets — see LLAMALEND.md.
|
|
690
753
|
*/
|
|
691
754
|
crvUsdFactory?: string;
|
|
692
755
|
/** Curve data API base. Overridable so a self-hosted indexer can be
|
|
@@ -808,10 +871,22 @@ export type UsddConfigChain = {
|
|
|
808
871
|
proxyActions: string;
|
|
809
872
|
/** ProxyRegistry — `proxies(user)` / `build()` for the DSProxy route. */
|
|
810
873
|
proxyRegistry: string;
|
|
811
|
-
/** The debt token.
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
874
|
+
/** The debt token. USDD publishes it as `usdd`; Sky (and any future dss
|
|
875
|
+
* fork) publishes the neutral `debtToken`. Read via `dssDebtToken`. */
|
|
876
|
+
usdd?: string;
|
|
877
|
+
debtToken?: string;
|
|
878
|
+
/** DaiJoin-equivalent for debt enter/exit — `usddJoin` on USDD,
|
|
879
|
+
* `debtJoin` elsewhere. Read via `dssDebtJoin`. */
|
|
880
|
+
usddJoin?: string;
|
|
881
|
+
debtJoin?: string;
|
|
882
|
+
/** Display symbol for the debt asset (`USDD`, `DAI`, …). */
|
|
883
|
+
debtSymbol?: string;
|
|
884
|
+
/** Maker's `IlkRegistry` — enumerates ilks and classifies them
|
|
885
|
+
* (`info(ilk).class`). Present on Sky; USDD ships no registry. */
|
|
886
|
+
ilkRegistry?: string;
|
|
887
|
+
/** Maker chainlog (address book) — Sky only. */
|
|
888
|
+
chainlog?: string;
|
|
889
|
+
end?: string;
|
|
815
890
|
/** Debt decimals (18). */
|
|
816
891
|
debtDecimals?: number;
|
|
817
892
|
/** The savings Pot (sDAI-style; savings side lives in margin-fetcher's
|
|
@@ -850,12 +925,16 @@ export type UsddMarketConfig = {
|
|
|
850
925
|
line: string;
|
|
851
926
|
/** Per-CDP debt floor, rad (Vat.ilks.dust). */
|
|
852
927
|
dust: string;
|
|
928
|
+
/** `line == 0` ⇒ the ilk was OFFBOARDED: borrowing is disabled but the
|
|
929
|
+
* existing debt is real and repay/withdraw stay open. Set by the Sky
|
|
930
|
+
* generator; absent on USDD rows. */
|
|
931
|
+
offboarded?: boolean;
|
|
853
932
|
name?: string;
|
|
854
933
|
};
|
|
855
934
|
/** Generated per-chain data: verified ilk list + the cdpi trigger snapshot. */
|
|
856
935
|
export type UsddChainData = {
|
|
857
936
|
markets: UsddMarketConfig[];
|
|
858
|
-
/** `cdpManager.cdpi()` at generation time — the
|
|
937
|
+
/** `cdpManager.cdpi()` at generation time — the USDD.md
|
|
859
938
|
* re-evaluation trigger (0 = no CDP ever opened on this chain). */
|
|
860
939
|
cdpi?: string;
|
|
861
940
|
};
|
|
@@ -1278,7 +1357,7 @@ export type AaveV4PeripheralsType = {
|
|
|
1278
1357
|
[chainId: string]: AaveV4ChainPeripherals;
|
|
1279
1358
|
};
|
|
1280
1359
|
/** Override datas used in the SDK - works across all module instances */
|
|
1281
|
-
export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOverride, aaveOraclesOverride, compoundV2OraclesOverride, compoundV3OraclesDataOverride, compoundV3PoolsOverride, compoundV3BaseDataOverride, morphoPoolsOverride, compoundV2TokensOverride, compoundV2TokenArrayOverride, compoundV2PoolsOverride, initConfigOverride, aaveReservesOverride, compoundV3ReservesOverride, compoundV2ReservesOverride, morphoOraclesOverride, morphoTypeOraclesOverride, morphoTypeMarketsOverride, morphoTypeVaultsOverride, aaveOraclesConfigOverride, compoundV2OraclesConfigOverride, aaveWethGatewayOverride, morphoBundler3Override, listaNativeProviderOverride, midnightConfigOverride, midnightMarketsOverride, termConfigOverride, termMarketsOverride, exactlyConfigOverride, exactlyMarketsOverride, tellerConfigOverride, tellerPoolsOverride, liquityConfigOverride, liquityMarketsOverride, riverConfigOverride, riverMarketsOverride, inverseConfigOverride, termMaxConfigOverride, inverseMarketsOverride, usddConfigOverride, usddMarketsOverride, frankencoinConfigOverride, frankencoinMarketsOverride, llamaLendConfigOverride, llamaLendMarketsOverride, resupplyConfigOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, dolomiteConfigsOverride, dolomiteEmodeOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
|
|
1360
|
+
export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOverride, aaveOraclesOverride, compoundV2OraclesOverride, compoundV3OraclesDataOverride, compoundV3PoolsOverride, compoundV3BaseDataOverride, morphoPoolsOverride, compoundV2TokensOverride, compoundV2TokenArrayOverride, compoundV2PoolsOverride, initConfigOverride, aaveReservesOverride, compoundV3ReservesOverride, compoundV2ReservesOverride, morphoOraclesOverride, morphoTypeOraclesOverride, morphoTypeMarketsOverride, morphoTypeVaultsOverride, aaveOraclesConfigOverride, compoundV2OraclesConfigOverride, aaveWethGatewayOverride, morphoBundler3Override, listaNativeProviderOverride, midnightConfigOverride, midnightMarketsOverride, termConfigOverride, termMarketsOverride, exactlyConfigOverride, exactlyMarketsOverride, tellerConfigOverride, tellerPoolsOverride, liquityConfigOverride, liquityMarketsOverride, riverConfigOverride, riverMarketsOverride, inverseConfigOverride, termMaxConfigOverride, inverseMarketsOverride, usddConfigOverride, usddMarketsOverride, skyConfigOverride, skyMarketsOverride, frankencoinConfigOverride, frankencoinMarketsOverride, llamaLendConfigOverride, llamaLendMarketsOverride, resupplyConfigOverride, curvanceConfigOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, dolomiteConfigsOverride, dolomiteEmodeOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
|
|
1282
1361
|
aaveTokensOverride?: AaveTokensType;
|
|
1283
1362
|
aavePoolsOverride?: AavePoolsType;
|
|
1284
1363
|
aaveOraclesOverride?: OracleMap;
|
|
@@ -1320,11 +1399,14 @@ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOver
|
|
|
1320
1399
|
inverseMarketsOverride?: InverseMarketsType;
|
|
1321
1400
|
usddConfigOverride?: UsddConfigType;
|
|
1322
1401
|
usddMarketsOverride?: UsddMarketsType;
|
|
1402
|
+
skyConfigOverride?: UsddConfigType;
|
|
1403
|
+
skyMarketsOverride?: UsddMarketsType;
|
|
1323
1404
|
frankencoinConfigOverride?: FrankencoinConfigType;
|
|
1324
1405
|
frankencoinMarketsOverride?: FrankencoinMarketsType;
|
|
1325
1406
|
llamaLendConfigOverride?: LlamaLendConfigType;
|
|
1326
1407
|
llamaLendMarketsOverride?: LlamaLendMarketsType;
|
|
1327
1408
|
resupplyConfigOverride?: ResupplyConfigType;
|
|
1409
|
+
curvanceConfigOverride?: CurvanceConfigType;
|
|
1328
1410
|
compoundV3BulkerOverride?: CompoundV3BulkerType;
|
|
1329
1411
|
eulerConfigsOverride?: EulerConfigsType;
|
|
1330
1412
|
eulerVaultsOverride?: EulerVaultsType;
|
|
@@ -1515,6 +1597,23 @@ export declare const usddMarketByIlk: (lender: string, chainId: string | number,
|
|
|
1515
1597
|
* the (empty-roster) provider still runs and reports zero markets rather
|
|
1516
1598
|
* than being invisible; the per-ilk keys only exist once metadata fills. */
|
|
1517
1599
|
export declare const usddLendersByChain: (chainId: string | number) => string[];
|
|
1600
|
+
export declare const skyConfig: () => UsddConfigType;
|
|
1601
|
+
export declare const skyConfigFor: (lender: string, chainId: string | number) => UsddConfigChain | undefined;
|
|
1602
|
+
export declare const skyMarkets: () => UsddMarketsType;
|
|
1603
|
+
export declare const skyChainData: (lender: string, chainId: string | number) => UsddChainData | undefined;
|
|
1604
|
+
/** All Sky lender keys with config on a chain (drives getLendersForChain). */
|
|
1605
|
+
export declare const skyLendersByChain: (chainId: string | number) => string[];
|
|
1606
|
+
/** Deployment seed for ANY dss lender (Sky or a fork such as USDD). */
|
|
1607
|
+
export declare const dssConfigFor: (lender: string, chainId: string | number) => UsddConfigChain | undefined;
|
|
1608
|
+
/** Generated ilk roster for ANY dss lender. */
|
|
1609
|
+
export declare const dssChainData: (lender: string, chainId: string | number) => UsddChainData | undefined;
|
|
1610
|
+
/** One ilk of ANY dss lender, by its ilk string (the market-key suffix). */
|
|
1611
|
+
export declare const dssMarketByIlk: (lender: string, chainId: string | number, ilk: string) => UsddMarketConfig | undefined;
|
|
1612
|
+
/** The debt token of a dss deployment, tolerating both field spellings
|
|
1613
|
+
* (`usdd` on the published USDD config, `debtToken` on Sky). */
|
|
1614
|
+
export declare const dssDebtToken: (cfg?: UsddConfigChain) => string | undefined;
|
|
1615
|
+
/** The debt join of a dss deployment (`usddJoin` / `debtJoin`). */
|
|
1616
|
+
export declare const dssDebtJoin: (cfg?: UsddConfigChain) => string | undefined;
|
|
1518
1617
|
export declare const frankencoinConfig: () => FrankencoinConfigType;
|
|
1519
1618
|
/** Deployment seed for one Frankencoin lender on a chain. */
|
|
1520
1619
|
export declare const frankencoinConfigFor: (lender: string, chainId: string | number) => FrankencoinConfigChain | undefined;
|
|
@@ -1558,6 +1657,55 @@ export declare const resupplyConfigFor: (lender: string, chainId: string | numbe
|
|
|
1558
1657
|
* happens with or without a publish.
|
|
1559
1658
|
*/
|
|
1560
1659
|
export declare const resupplyLendersByChain: (chainId: string | number) => string[];
|
|
1660
|
+
/**
|
|
1661
|
+
* Built-in Monad deployment seed for Curvance.
|
|
1662
|
+
*
|
|
1663
|
+
* Same arrangement as Resupply: a published `config/curvance.json` still WINS
|
|
1664
|
+
* (see `curvanceConfigFor`), but the provider is live with nothing to publish
|
|
1665
|
+
* because `centralRegistry` is an immutable protocol singleton and the whole
|
|
1666
|
+
* market roster is discovered from it at runtime.
|
|
1667
|
+
*
|
|
1668
|
+
* The `positionManagers` map is the exception and the reason this seed carries
|
|
1669
|
+
* more than one address: PM registration is an un-enumerable mapping, and Monad
|
|
1670
|
+
* public RPCs cap `eth_getLogs` at 100 blocks so `PositionManagerUpdated`
|
|
1671
|
+
* cannot be scanned. Every entry below was verified on-chain 2026-08-07 —
|
|
1672
|
+
* 23/23 answered `isPositionManager == true` on their market AND reported that
|
|
1673
|
+
* same market back from `marketManager()`.
|
|
1674
|
+
*
|
|
1675
|
+
* FIVE live markets have NO Position Manager and therefore no native leverage:
|
|
1676
|
+
* `PT-AUSD-8OCT2026 | AUSD` (the largest market at ~$45M), `PT-earnAUSD | AUSD`,
|
|
1677
|
+
* both `High Yield AUSD Vault` markets, and `aguaUSDCgc | USDC`. Their absence
|
|
1678
|
+
* here is the truth, not a gap to fill in.
|
|
1679
|
+
*/
|
|
1680
|
+
export declare const CURVANCE_MONAD_CONFIG: CurvanceConfigChain;
|
|
1681
|
+
export declare const curvanceConfig: () => CurvanceConfigType;
|
|
1682
|
+
/**
|
|
1683
|
+
* Deployment seed for one Curvance lender on a chain. Published metadata wins;
|
|
1684
|
+
* the built-in Monad row is the fallback so the provider works before
|
|
1685
|
+
* `config/curvance.json` exists.
|
|
1686
|
+
*/
|
|
1687
|
+
export declare const curvanceConfigFor: (lender: string, chainId: string | number) => CurvanceConfigChain | undefined;
|
|
1688
|
+
/**
|
|
1689
|
+
* All Curvance lender keys with config on a chain (drives getLendersForChain).
|
|
1690
|
+
* Gated on the CENTRAL REGISTRY — the one address the provider bootstraps from.
|
|
1691
|
+
*/
|
|
1692
|
+
export declare const curvanceLendersByChain: (chainId: string | number) => string[];
|
|
1693
|
+
/**
|
|
1694
|
+
* Position Managers registered for one Curvance market. Returns `undefined`
|
|
1695
|
+
* when the market has none — a real state (5 of 25 on Monad, including the
|
|
1696
|
+
* largest market), and the signal that native leverage is unavailable there.
|
|
1697
|
+
*
|
|
1698
|
+
* Lookup is case-insensitive because market-manager addresses arrive from
|
|
1699
|
+
* `queryTokensListed`/config in mixed checksum forms.
|
|
1700
|
+
*/
|
|
1701
|
+
export declare const curvancePositionManagersFor: (lender: string, chainId: string | number, marketManager: string) => CurvancePositionManagers | undefined;
|
|
1702
|
+
/**
|
|
1703
|
+
* The Position Manager to drive for a market, preferring an explicit `kind` and
|
|
1704
|
+
* otherwise falling back to `simplePositionManager` — which is the right default
|
|
1705
|
+
* because every PM'd market has one, and the vault/native variants exist only as
|
|
1706
|
+
* ALTERNATIVES for legs whose collateral needs an extra wrap step.
|
|
1707
|
+
*/
|
|
1708
|
+
export declare const curvancePositionManager: (lender: string, chainId: string | number, marketManager: string, kind?: keyof CurvancePositionManagers) => string | undefined;
|
|
1561
1709
|
export declare const compoundV3Bulker: () => CompoundV3BulkerType;
|
|
1562
1710
|
export declare const eulerConfigs: () => EulerConfigsType;
|
|
1563
1711
|
export declare const eulerVaults: () => EulerVaultsType;
|