@1delta/data-sdk 0.0.38 → 0.0.39
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 +115 -0
- package/dist/index.mjs +110 -1
- package/dist/lending.d.ts +114 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -87,6 +87,7 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
87
87
|
llamaLendConfig: {},
|
|
88
88
|
llamaLendMarkets: {},
|
|
89
89
|
resupplyConfig: {},
|
|
90
|
+
curvanceConfig: {},
|
|
90
91
|
compoundV3Bulker: {},
|
|
91
92
|
eulerConfigs: {},
|
|
92
93
|
eulerVaults: {},
|
|
@@ -157,6 +158,7 @@ function initializeLenderData({
|
|
|
157
158
|
llamaLendConfigOverride,
|
|
158
159
|
llamaLendMarketsOverride,
|
|
159
160
|
resupplyConfigOverride,
|
|
161
|
+
curvanceConfigOverride,
|
|
160
162
|
compoundV3BulkerOverride,
|
|
161
163
|
eulerConfigsOverride,
|
|
162
164
|
eulerVaultsOverride,
|
|
@@ -220,6 +222,7 @@ function initializeLenderData({
|
|
|
220
222
|
if (llamaLendConfigOverride) data.llamaLendConfig = llamaLendConfigOverride;
|
|
221
223
|
if (llamaLendMarketsOverride) data.llamaLendMarkets = llamaLendMarketsOverride;
|
|
222
224
|
if (resupplyConfigOverride) data.resupplyConfig = resupplyConfigOverride;
|
|
225
|
+
if (curvanceConfigOverride) data.curvanceConfig = curvanceConfigOverride;
|
|
223
226
|
if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
|
|
224
227
|
if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
|
|
225
228
|
if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
|
|
@@ -449,6 +452,112 @@ var resupplyLendersByChain = (chainId) => {
|
|
|
449
452
|
}
|
|
450
453
|
return [...keys];
|
|
451
454
|
};
|
|
455
|
+
var CURVANCE_MONAD_CONFIG = {
|
|
456
|
+
centralRegistry: "0x1310f352f1389969Ece6741671c4B919523912fF",
|
|
457
|
+
oracleManager: "0x65ADF8aE8420A58278De066593E6fF1713A137c5",
|
|
458
|
+
protocolReader: "0xC5E6DD26095Cc1fa2369f7885dF263e150228D8b",
|
|
459
|
+
optimizerReader: "0x821a4a2Be28888917106B3A628c8edaffEbF2e2F",
|
|
460
|
+
optimizers: {
|
|
461
|
+
// `hyAUSD` — 6-dec shares over AUSD; itself collateral in 2 markets.
|
|
462
|
+
hyAUSD: "0xaD663aC84052b52BE4ed1b27BA416505e84a00Bf"
|
|
463
|
+
},
|
|
464
|
+
// Only KyberSwap's MetaAggregationRouterV2 has a registered checker on Monad
|
|
465
|
+
// (2026-08). 1inch / Odos / OogaBooga all return the zero address even
|
|
466
|
+
// though checker contracts for them exist in the Curvance repo — registering
|
|
467
|
+
// OogaBooga is a single DAO call. Probe live before relying on any of this.
|
|
468
|
+
swapTargets: {
|
|
469
|
+
kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"
|
|
470
|
+
},
|
|
471
|
+
positionManagers: {
|
|
472
|
+
// muBOND | AUSD
|
|
473
|
+
"0x830D40CDFdc494BC1A2729a7381bfCe44326c944": { simplePositionManager: "0xA3d212D4705caf42C35d6EaE0C85E94c4cd329E4" },
|
|
474
|
+
// loAZND | AUSD
|
|
475
|
+
"0x7C822B093A116654F824Ec2A35CD23a3749E4f90": { simplePositionManager: "0x9e4638fd67bE15360bfebC5e07AECfF33dfda917" },
|
|
476
|
+
// ezETH | WETH
|
|
477
|
+
"0x83840d837E7A3E00bBb0B8501E60E989A8987c37": { simplePositionManager: "0xd8d3E46E52C3AB8FD98D04143984C763B4Bbc584" },
|
|
478
|
+
// shMON | WMON
|
|
479
|
+
"0xE1C24B2E93230FBe33d32Ba38ECA3218284143e2": {
|
|
480
|
+
nativeVaultPositionManager: "0x2fAA792502aC5a329DcCc1580C5308fCc0a772fe",
|
|
481
|
+
simplePositionManager: "0x7E8705a164DA7Cc5a4119C750b1F79837AD89D5E"
|
|
482
|
+
},
|
|
483
|
+
// aprMON | WMON
|
|
484
|
+
"0x5EA0a1Cf3501C954b64902c5e92100b8A2CaB1Ac": {
|
|
485
|
+
nativeVaultPositionManager: "0x82f88A810E86a730699231F5fBF5686c643467C8",
|
|
486
|
+
simplePositionManager: "0x669786FF3da7544c98FE74eE1006D787118d1770"
|
|
487
|
+
},
|
|
488
|
+
// sMON | WMON
|
|
489
|
+
"0xe5970cDB1916B2cCF6185C86C174EEE2d330D05B": { simplePositionManager: "0x3d6ba6C90E1738cb01C46E72F284C7Bd57eB11EC" },
|
|
490
|
+
// sAUSD | AUSD
|
|
491
|
+
"0xBBE7A3c45aDBb16F6490767b663428c34aA341Eb": {
|
|
492
|
+
simplePositionManager: "0x491e8712885E4e0b98864F13393ced8c1a61FD57",
|
|
493
|
+
vaultPositionManager: "0xe94AC990873C3B59A417d25C1ec1398807FB41A1"
|
|
494
|
+
},
|
|
495
|
+
// earnAUSD | AUSD
|
|
496
|
+
"0xd6365555f6a697C7C295bA741100AA644cE28545": { simplePositionManager: "0xd807efC94376618B4d9CE6eAaf89607006d3B881" },
|
|
497
|
+
// WMON | AUSD
|
|
498
|
+
"0x05e70717fA8BD0F21a9F826d093d99f6Da4f1554": { simplePositionManager: "0x2619BB5Acfe51317c4C36a63578FD56148e68C74" },
|
|
499
|
+
// WMON | USDC
|
|
500
|
+
"0xa6A2A92F126b79Ee0804845ee6B52899b4491093": { simplePositionManager: "0x960c49E523e6A87282D2bC5032d0AeCb35Dc20ef" },
|
|
501
|
+
// WBTC | USDC
|
|
502
|
+
"0x01C4a0d396EFE982B1B103BE9910321d34e1aEA9": { simplePositionManager: "0x8cA51d155C07e91B206Cf11C8D52d5aB082657F6" },
|
|
503
|
+
// WETH | USDC
|
|
504
|
+
"0xb3E9E0134354cc91b7FB9F9d6C3ab0dE7854BB49": { simplePositionManager: "0x3A1B2Dc11a81Fe106eC667BaB4056fC72498ff73" },
|
|
505
|
+
// gMON | WMON
|
|
506
|
+
"0xb00aFF53a4Df2b4E2f97a3d9ffaDb55564C8E42F": { simplePositionManager: "0x77B90040E6dFE8A62293Cd91CAeE35296EC266Ee" },
|
|
507
|
+
// syzUSD | AUSD
|
|
508
|
+
"0x90fc1A4abC4ee5f8a9560dE069067D9606d2909C": { simplePositionManager: "0x9352318f75e8Cb7C47C5B086D56d3e6D761b7419" },
|
|
509
|
+
// wsrUSD | AUSD
|
|
510
|
+
"0x627a15859d09C1550e2934991AA95aFc6896e3Ef": { simplePositionManager: "0xF8613b7b4e8bFb5E7155fb4D3bc9f9B93d895C31" },
|
|
511
|
+
// YZM | AUSD
|
|
512
|
+
"0x4409e2161B6f9A25ACbC471a37390654Ed272249": { simplePositionManager: "0xb85dEf309F7eEEb8f581909c7afB623dDf59AdD9" },
|
|
513
|
+
// vUSD | AUSD
|
|
514
|
+
"0x2DB9AB1bB00d7000b21A2EbcE7D1a9b91F351E72": { simplePositionManager: "0xCb1709fAF66A73b4f6026b531Bef9AF971368f50" },
|
|
515
|
+
// eBTC | WBTC
|
|
516
|
+
"0xBc4cd7bbd8d38027A88838B88BA04561FA778C35": { simplePositionManager: "0x5e339724818c4b46E1Bc6966FeB4ea2924Ca17D9" },
|
|
517
|
+
// savUSD | USDC
|
|
518
|
+
"0x38104e87Eb96ce5ef1C23a06878dB0D657B4a699": { simplePositionManager: "0x7B918FF5EDc44B29ced4d3dc52Fb8b859025325c" },
|
|
519
|
+
// savUSD | AUSD
|
|
520
|
+
"0x4B0a39eCC3e5A5dA3ce6D492D4D255cD1F0209F7": { simplePositionManager: "0xb8F6f480E645dBa96Df9eD3948D900725bA9e9Ec" }
|
|
521
|
+
}
|
|
522
|
+
};
|
|
523
|
+
var CURVANCE_BUILTIN = {
|
|
524
|
+
CURVANCE: { "143": CURVANCE_MONAD_CONFIG }
|
|
525
|
+
};
|
|
526
|
+
var curvanceConfig = () => getGlobalData2()?.curvanceConfig;
|
|
527
|
+
var curvanceConfigFor = (lender, chainId) => {
|
|
528
|
+
const published = getGlobalData2()?.curvanceConfig?.[lender]?.[String(chainId)];
|
|
529
|
+
if (published?.centralRegistry) return published;
|
|
530
|
+
return CURVANCE_BUILTIN[lender]?.[String(chainId)];
|
|
531
|
+
};
|
|
532
|
+
var curvanceLendersByChain = (chainId) => {
|
|
533
|
+
const chain = String(chainId);
|
|
534
|
+
const cfg = getGlobalData2()?.curvanceConfig ?? {};
|
|
535
|
+
const keys = /* @__PURE__ */ new Set();
|
|
536
|
+
for (const lender of Object.keys(cfg)) {
|
|
537
|
+
if (cfg[lender]?.[chain]?.centralRegistry) keys.add(lender);
|
|
538
|
+
}
|
|
539
|
+
for (const lender of Object.keys(CURVANCE_BUILTIN)) {
|
|
540
|
+
if (CURVANCE_BUILTIN[lender]?.[chain]?.centralRegistry) keys.add(lender);
|
|
541
|
+
}
|
|
542
|
+
return [...keys];
|
|
543
|
+
};
|
|
544
|
+
var curvancePositionManagersFor = (lender, chainId, marketManager) => {
|
|
545
|
+
const map = curvanceConfigFor(lender, chainId)?.positionManagers;
|
|
546
|
+
if (!map || !marketManager) return void 0;
|
|
547
|
+
const direct = map[marketManager];
|
|
548
|
+
if (direct) return direct;
|
|
549
|
+
const target = marketManager.toLowerCase();
|
|
550
|
+
for (const key of Object.keys(map)) {
|
|
551
|
+
if (key.toLowerCase() === target) return map[key];
|
|
552
|
+
}
|
|
553
|
+
return void 0;
|
|
554
|
+
};
|
|
555
|
+
var curvancePositionManager = (lender, chainId, marketManager, kind) => {
|
|
556
|
+
const pms = curvancePositionManagersFor(lender, chainId, marketManager);
|
|
557
|
+
if (!pms) return void 0;
|
|
558
|
+
if (kind) return pms[kind];
|
|
559
|
+
return pms.simplePositionManager ?? pms.vaultPositionManager ?? pms.nativeVaultPositionManager ?? pms.pendlePtPositionManager;
|
|
560
|
+
};
|
|
452
561
|
var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
|
|
453
562
|
var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
|
|
454
563
|
var eulerVaults = () => getGlobalData2()?.eulerVaults;
|
|
@@ -633,6 +742,7 @@ async function fetchMainTokensMap() {
|
|
|
633
742
|
return await data.json();
|
|
634
743
|
}
|
|
635
744
|
|
|
745
|
+
exports.CURVANCE_MONAD_CONFIG = CURVANCE_MONAD_CONFIG;
|
|
636
746
|
exports.GEARBOX_ACCOUNT_COMPRESSOR_V310 = GEARBOX_ACCOUNT_COMPRESSOR_V310;
|
|
637
747
|
exports.RESUPPLY_ETHEREUM_CONFIG = RESUPPLY_ETHEREUM_CONFIG;
|
|
638
748
|
exports.aaveOracles = aaveOracles;
|
|
@@ -658,6 +768,11 @@ exports.compoundV3Bulker = compoundV3Bulker;
|
|
|
658
768
|
exports.compoundV3OraclesData = compoundV3OraclesData;
|
|
659
769
|
exports.compoundV3Pools = compoundV3Pools;
|
|
660
770
|
exports.compoundV3Reserves = compoundV3Reserves;
|
|
771
|
+
exports.curvanceConfig = curvanceConfig;
|
|
772
|
+
exports.curvanceConfigFor = curvanceConfigFor;
|
|
773
|
+
exports.curvanceLendersByChain = curvanceLendersByChain;
|
|
774
|
+
exports.curvancePositionManager = curvancePositionManager;
|
|
775
|
+
exports.curvancePositionManagersFor = curvancePositionManagersFor;
|
|
661
776
|
exports.dolomiteChains = dolomiteChains;
|
|
662
777
|
exports.dolomiteConfigs = dolomiteConfigs;
|
|
663
778
|
exports.dolomiteEmode = dolomiteEmode;
|
package/dist/index.mjs
CHANGED
|
@@ -85,6 +85,7 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
85
85
|
llamaLendConfig: {},
|
|
86
86
|
llamaLendMarkets: {},
|
|
87
87
|
resupplyConfig: {},
|
|
88
|
+
curvanceConfig: {},
|
|
88
89
|
compoundV3Bulker: {},
|
|
89
90
|
eulerConfigs: {},
|
|
90
91
|
eulerVaults: {},
|
|
@@ -155,6 +156,7 @@ function initializeLenderData({
|
|
|
155
156
|
llamaLendConfigOverride,
|
|
156
157
|
llamaLendMarketsOverride,
|
|
157
158
|
resupplyConfigOverride,
|
|
159
|
+
curvanceConfigOverride,
|
|
158
160
|
compoundV3BulkerOverride,
|
|
159
161
|
eulerConfigsOverride,
|
|
160
162
|
eulerVaultsOverride,
|
|
@@ -218,6 +220,7 @@ function initializeLenderData({
|
|
|
218
220
|
if (llamaLendConfigOverride) data.llamaLendConfig = llamaLendConfigOverride;
|
|
219
221
|
if (llamaLendMarketsOverride) data.llamaLendMarkets = llamaLendMarketsOverride;
|
|
220
222
|
if (resupplyConfigOverride) data.resupplyConfig = resupplyConfigOverride;
|
|
223
|
+
if (curvanceConfigOverride) data.curvanceConfig = curvanceConfigOverride;
|
|
221
224
|
if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
|
|
222
225
|
if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
|
|
223
226
|
if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
|
|
@@ -447,6 +450,112 @@ var resupplyLendersByChain = (chainId) => {
|
|
|
447
450
|
}
|
|
448
451
|
return [...keys];
|
|
449
452
|
};
|
|
453
|
+
var CURVANCE_MONAD_CONFIG = {
|
|
454
|
+
centralRegistry: "0x1310f352f1389969Ece6741671c4B919523912fF",
|
|
455
|
+
oracleManager: "0x65ADF8aE8420A58278De066593E6fF1713A137c5",
|
|
456
|
+
protocolReader: "0xC5E6DD26095Cc1fa2369f7885dF263e150228D8b",
|
|
457
|
+
optimizerReader: "0x821a4a2Be28888917106B3A628c8edaffEbF2e2F",
|
|
458
|
+
optimizers: {
|
|
459
|
+
// `hyAUSD` — 6-dec shares over AUSD; itself collateral in 2 markets.
|
|
460
|
+
hyAUSD: "0xaD663aC84052b52BE4ed1b27BA416505e84a00Bf"
|
|
461
|
+
},
|
|
462
|
+
// Only KyberSwap's MetaAggregationRouterV2 has a registered checker on Monad
|
|
463
|
+
// (2026-08). 1inch / Odos / OogaBooga all return the zero address even
|
|
464
|
+
// though checker contracts for them exist in the Curvance repo — registering
|
|
465
|
+
// OogaBooga is a single DAO call. Probe live before relying on any of this.
|
|
466
|
+
swapTargets: {
|
|
467
|
+
kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"
|
|
468
|
+
},
|
|
469
|
+
positionManagers: {
|
|
470
|
+
// muBOND | AUSD
|
|
471
|
+
"0x830D40CDFdc494BC1A2729a7381bfCe44326c944": { simplePositionManager: "0xA3d212D4705caf42C35d6EaE0C85E94c4cd329E4" },
|
|
472
|
+
// loAZND | AUSD
|
|
473
|
+
"0x7C822B093A116654F824Ec2A35CD23a3749E4f90": { simplePositionManager: "0x9e4638fd67bE15360bfebC5e07AECfF33dfda917" },
|
|
474
|
+
// ezETH | WETH
|
|
475
|
+
"0x83840d837E7A3E00bBb0B8501E60E989A8987c37": { simplePositionManager: "0xd8d3E46E52C3AB8FD98D04143984C763B4Bbc584" },
|
|
476
|
+
// shMON | WMON
|
|
477
|
+
"0xE1C24B2E93230FBe33d32Ba38ECA3218284143e2": {
|
|
478
|
+
nativeVaultPositionManager: "0x2fAA792502aC5a329DcCc1580C5308fCc0a772fe",
|
|
479
|
+
simplePositionManager: "0x7E8705a164DA7Cc5a4119C750b1F79837AD89D5E"
|
|
480
|
+
},
|
|
481
|
+
// aprMON | WMON
|
|
482
|
+
"0x5EA0a1Cf3501C954b64902c5e92100b8A2CaB1Ac": {
|
|
483
|
+
nativeVaultPositionManager: "0x82f88A810E86a730699231F5fBF5686c643467C8",
|
|
484
|
+
simplePositionManager: "0x669786FF3da7544c98FE74eE1006D787118d1770"
|
|
485
|
+
},
|
|
486
|
+
// sMON | WMON
|
|
487
|
+
"0xe5970cDB1916B2cCF6185C86C174EEE2d330D05B": { simplePositionManager: "0x3d6ba6C90E1738cb01C46E72F284C7Bd57eB11EC" },
|
|
488
|
+
// sAUSD | AUSD
|
|
489
|
+
"0xBBE7A3c45aDBb16F6490767b663428c34aA341Eb": {
|
|
490
|
+
simplePositionManager: "0x491e8712885E4e0b98864F13393ced8c1a61FD57",
|
|
491
|
+
vaultPositionManager: "0xe94AC990873C3B59A417d25C1ec1398807FB41A1"
|
|
492
|
+
},
|
|
493
|
+
// earnAUSD | AUSD
|
|
494
|
+
"0xd6365555f6a697C7C295bA741100AA644cE28545": { simplePositionManager: "0xd807efC94376618B4d9CE6eAaf89607006d3B881" },
|
|
495
|
+
// WMON | AUSD
|
|
496
|
+
"0x05e70717fA8BD0F21a9F826d093d99f6Da4f1554": { simplePositionManager: "0x2619BB5Acfe51317c4C36a63578FD56148e68C74" },
|
|
497
|
+
// WMON | USDC
|
|
498
|
+
"0xa6A2A92F126b79Ee0804845ee6B52899b4491093": { simplePositionManager: "0x960c49E523e6A87282D2bC5032d0AeCb35Dc20ef" },
|
|
499
|
+
// WBTC | USDC
|
|
500
|
+
"0x01C4a0d396EFE982B1B103BE9910321d34e1aEA9": { simplePositionManager: "0x8cA51d155C07e91B206Cf11C8D52d5aB082657F6" },
|
|
501
|
+
// WETH | USDC
|
|
502
|
+
"0xb3E9E0134354cc91b7FB9F9d6C3ab0dE7854BB49": { simplePositionManager: "0x3A1B2Dc11a81Fe106eC667BaB4056fC72498ff73" },
|
|
503
|
+
// gMON | WMON
|
|
504
|
+
"0xb00aFF53a4Df2b4E2f97a3d9ffaDb55564C8E42F": { simplePositionManager: "0x77B90040E6dFE8A62293Cd91CAeE35296EC266Ee" },
|
|
505
|
+
// syzUSD | AUSD
|
|
506
|
+
"0x90fc1A4abC4ee5f8a9560dE069067D9606d2909C": { simplePositionManager: "0x9352318f75e8Cb7C47C5B086D56d3e6D761b7419" },
|
|
507
|
+
// wsrUSD | AUSD
|
|
508
|
+
"0x627a15859d09C1550e2934991AA95aFc6896e3Ef": { simplePositionManager: "0xF8613b7b4e8bFb5E7155fb4D3bc9f9B93d895C31" },
|
|
509
|
+
// YZM | AUSD
|
|
510
|
+
"0x4409e2161B6f9A25ACbC471a37390654Ed272249": { simplePositionManager: "0xb85dEf309F7eEEb8f581909c7afB623dDf59AdD9" },
|
|
511
|
+
// vUSD | AUSD
|
|
512
|
+
"0x2DB9AB1bB00d7000b21A2EbcE7D1a9b91F351E72": { simplePositionManager: "0xCb1709fAF66A73b4f6026b531Bef9AF971368f50" },
|
|
513
|
+
// eBTC | WBTC
|
|
514
|
+
"0xBc4cd7bbd8d38027A88838B88BA04561FA778C35": { simplePositionManager: "0x5e339724818c4b46E1Bc6966FeB4ea2924Ca17D9" },
|
|
515
|
+
// savUSD | USDC
|
|
516
|
+
"0x38104e87Eb96ce5ef1C23a06878dB0D657B4a699": { simplePositionManager: "0x7B918FF5EDc44B29ced4d3dc52Fb8b859025325c" },
|
|
517
|
+
// savUSD | AUSD
|
|
518
|
+
"0x4B0a39eCC3e5A5dA3ce6D492D4D255cD1F0209F7": { simplePositionManager: "0xb8F6f480E645dBa96Df9eD3948D900725bA9e9Ec" }
|
|
519
|
+
}
|
|
520
|
+
};
|
|
521
|
+
var CURVANCE_BUILTIN = {
|
|
522
|
+
CURVANCE: { "143": CURVANCE_MONAD_CONFIG }
|
|
523
|
+
};
|
|
524
|
+
var curvanceConfig = () => getGlobalData2()?.curvanceConfig;
|
|
525
|
+
var curvanceConfigFor = (lender, chainId) => {
|
|
526
|
+
const published = getGlobalData2()?.curvanceConfig?.[lender]?.[String(chainId)];
|
|
527
|
+
if (published?.centralRegistry) return published;
|
|
528
|
+
return CURVANCE_BUILTIN[lender]?.[String(chainId)];
|
|
529
|
+
};
|
|
530
|
+
var curvanceLendersByChain = (chainId) => {
|
|
531
|
+
const chain = String(chainId);
|
|
532
|
+
const cfg = getGlobalData2()?.curvanceConfig ?? {};
|
|
533
|
+
const keys = /* @__PURE__ */ new Set();
|
|
534
|
+
for (const lender of Object.keys(cfg)) {
|
|
535
|
+
if (cfg[lender]?.[chain]?.centralRegistry) keys.add(lender);
|
|
536
|
+
}
|
|
537
|
+
for (const lender of Object.keys(CURVANCE_BUILTIN)) {
|
|
538
|
+
if (CURVANCE_BUILTIN[lender]?.[chain]?.centralRegistry) keys.add(lender);
|
|
539
|
+
}
|
|
540
|
+
return [...keys];
|
|
541
|
+
};
|
|
542
|
+
var curvancePositionManagersFor = (lender, chainId, marketManager) => {
|
|
543
|
+
const map = curvanceConfigFor(lender, chainId)?.positionManagers;
|
|
544
|
+
if (!map || !marketManager) return void 0;
|
|
545
|
+
const direct = map[marketManager];
|
|
546
|
+
if (direct) return direct;
|
|
547
|
+
const target = marketManager.toLowerCase();
|
|
548
|
+
for (const key of Object.keys(map)) {
|
|
549
|
+
if (key.toLowerCase() === target) return map[key];
|
|
550
|
+
}
|
|
551
|
+
return void 0;
|
|
552
|
+
};
|
|
553
|
+
var curvancePositionManager = (lender, chainId, marketManager, kind) => {
|
|
554
|
+
const pms = curvancePositionManagersFor(lender, chainId, marketManager);
|
|
555
|
+
if (!pms) return void 0;
|
|
556
|
+
if (kind) return pms[kind];
|
|
557
|
+
return pms.simplePositionManager ?? pms.vaultPositionManager ?? pms.nativeVaultPositionManager ?? pms.pendlePtPositionManager;
|
|
558
|
+
};
|
|
450
559
|
var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
|
|
451
560
|
var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
|
|
452
561
|
var eulerVaults = () => getGlobalData2()?.eulerVaults;
|
|
@@ -631,4 +740,4 @@ async function fetchMainTokensMap() {
|
|
|
631
740
|
return await data.json();
|
|
632
741
|
}
|
|
633
742
|
|
|
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 };
|
|
743
|
+
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, 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 };
|
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
|
|
@@ -1278,7 +1341,7 @@ export type AaveV4PeripheralsType = {
|
|
|
1278
1341
|
[chainId: string]: AaveV4ChainPeripherals;
|
|
1279
1342
|
};
|
|
1280
1343
|
/** 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, }: {
|
|
1344
|
+
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, curvanceConfigOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, dolomiteConfigsOverride, dolomiteEmodeOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
|
|
1282
1345
|
aaveTokensOverride?: AaveTokensType;
|
|
1283
1346
|
aavePoolsOverride?: AavePoolsType;
|
|
1284
1347
|
aaveOraclesOverride?: OracleMap;
|
|
@@ -1325,6 +1388,7 @@ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOver
|
|
|
1325
1388
|
llamaLendConfigOverride?: LlamaLendConfigType;
|
|
1326
1389
|
llamaLendMarketsOverride?: LlamaLendMarketsType;
|
|
1327
1390
|
resupplyConfigOverride?: ResupplyConfigType;
|
|
1391
|
+
curvanceConfigOverride?: CurvanceConfigType;
|
|
1328
1392
|
compoundV3BulkerOverride?: CompoundV3BulkerType;
|
|
1329
1393
|
eulerConfigsOverride?: EulerConfigsType;
|
|
1330
1394
|
eulerVaultsOverride?: EulerVaultsType;
|
|
@@ -1558,6 +1622,55 @@ export declare const resupplyConfigFor: (lender: string, chainId: string | numbe
|
|
|
1558
1622
|
* happens with or without a publish.
|
|
1559
1623
|
*/
|
|
1560
1624
|
export declare const resupplyLendersByChain: (chainId: string | number) => string[];
|
|
1625
|
+
/**
|
|
1626
|
+
* Built-in Monad deployment seed for Curvance.
|
|
1627
|
+
*
|
|
1628
|
+
* Same arrangement as Resupply: a published `config/curvance.json` still WINS
|
|
1629
|
+
* (see `curvanceConfigFor`), but the provider is live with nothing to publish
|
|
1630
|
+
* because `centralRegistry` is an immutable protocol singleton and the whole
|
|
1631
|
+
* market roster is discovered from it at runtime.
|
|
1632
|
+
*
|
|
1633
|
+
* The `positionManagers` map is the exception and the reason this seed carries
|
|
1634
|
+
* more than one address: PM registration is an un-enumerable mapping, and Monad
|
|
1635
|
+
* public RPCs cap `eth_getLogs` at 100 blocks so `PositionManagerUpdated`
|
|
1636
|
+
* cannot be scanned. Every entry below was verified on-chain 2026-08-07 —
|
|
1637
|
+
* 23/23 answered `isPositionManager == true` on their market AND reported that
|
|
1638
|
+
* same market back from `marketManager()`.
|
|
1639
|
+
*
|
|
1640
|
+
* FIVE live markets have NO Position Manager and therefore no native leverage:
|
|
1641
|
+
* `PT-AUSD-8OCT2026 | AUSD` (the largest market at ~$45M), `PT-earnAUSD | AUSD`,
|
|
1642
|
+
* both `High Yield AUSD Vault` markets, and `aguaUSDCgc | USDC`. Their absence
|
|
1643
|
+
* here is the truth, not a gap to fill in.
|
|
1644
|
+
*/
|
|
1645
|
+
export declare const CURVANCE_MONAD_CONFIG: CurvanceConfigChain;
|
|
1646
|
+
export declare const curvanceConfig: () => CurvanceConfigType;
|
|
1647
|
+
/**
|
|
1648
|
+
* Deployment seed for one Curvance lender on a chain. Published metadata wins;
|
|
1649
|
+
* the built-in Monad row is the fallback so the provider works before
|
|
1650
|
+
* `config/curvance.json` exists.
|
|
1651
|
+
*/
|
|
1652
|
+
export declare const curvanceConfigFor: (lender: string, chainId: string | number) => CurvanceConfigChain | undefined;
|
|
1653
|
+
/**
|
|
1654
|
+
* All Curvance lender keys with config on a chain (drives getLendersForChain).
|
|
1655
|
+
* Gated on the CENTRAL REGISTRY — the one address the provider bootstraps from.
|
|
1656
|
+
*/
|
|
1657
|
+
export declare const curvanceLendersByChain: (chainId: string | number) => string[];
|
|
1658
|
+
/**
|
|
1659
|
+
* Position Managers registered for one Curvance market. Returns `undefined`
|
|
1660
|
+
* when the market has none — a real state (5 of 25 on Monad, including the
|
|
1661
|
+
* largest market), and the signal that native leverage is unavailable there.
|
|
1662
|
+
*
|
|
1663
|
+
* Lookup is case-insensitive because market-manager addresses arrive from
|
|
1664
|
+
* `queryTokensListed`/config in mixed checksum forms.
|
|
1665
|
+
*/
|
|
1666
|
+
export declare const curvancePositionManagersFor: (lender: string, chainId: string | number, marketManager: string) => CurvancePositionManagers | undefined;
|
|
1667
|
+
/**
|
|
1668
|
+
* The Position Manager to drive for a market, preferring an explicit `kind` and
|
|
1669
|
+
* otherwise falling back to `simplePositionManager` — which is the right default
|
|
1670
|
+
* because every PM'd market has one, and the vault/native variants exist only as
|
|
1671
|
+
* ALTERNATIVES for legs whose collateral needs an extra wrap step.
|
|
1672
|
+
*/
|
|
1673
|
+
export declare const curvancePositionManager: (lender: string, chainId: string | number, marketManager: string, kind?: keyof CurvancePositionManagers) => string | undefined;
|
|
1561
1674
|
export declare const compoundV3Bulker: () => CompoundV3BulkerType;
|
|
1562
1675
|
export declare const eulerConfigs: () => EulerConfigsType;
|
|
1563
1676
|
export declare const eulerVaults: () => EulerVaultsType;
|