@1delta/data-sdk 0.0.58 → 0.0.60

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 CHANGED
@@ -98,6 +98,7 @@ var LENDER_DATA_DEFAULTS = () => ({
98
98
  resupplyConfig: {},
99
99
  curvanceConfig: {},
100
100
  coolerConfig: {},
101
+ ripeConfig: {},
101
102
  twyneConfig: {},
102
103
  twyneMarkets: {},
103
104
  fraxlendConfig: {},
@@ -875,6 +876,64 @@ var coolerLendersByChain = (chainId) => {
875
876
  return [...keys];
876
877
  };
877
878
 
879
+ // src/lending/ripe.ts
880
+ var RIPE_HQ_IDS = {
881
+ greenToken: 1,
882
+ savingsGreen: 2,
883
+ ripeToken: 3,
884
+ ledger: 4,
885
+ missionControl: 5,
886
+ priceDesk: 7,
887
+ vaultBook: 8,
888
+ creditEngine: 13,
889
+ teller: 17
890
+ };
891
+ var RIPE_BASE_CONFIG = {
892
+ ripeHq: "0x6162df1b329E157479F8f1407E888260E0EC3d2b",
893
+ teller: "0xae87deB25Bc5030991Aa5E27Cbab38f37a112C13",
894
+ missionControl: "0x559E53F42b68b4995732Dba4aF300796761DBC19",
895
+ ledger: "0x365256e322a47Aa2015F6724783F326e9B24fA47",
896
+ creditEngine: "0xEdd0563D06CC52fb5F264A2366A31d9776f6dcC7",
897
+ priceDesk: "0x2F7901BE53cC94AEF174f1a0764430840360Ef53",
898
+ vaultBook: "0xB758e30C14825519b895Fd9928d5d8748A71a944",
899
+ green: "0xd1Eac76497D06Cf15475A5e3984D5bC03de7C707",
900
+ savingsGreen: "0xaa0f13488CE069A7B5a099457c753A7CFBE04d36",
901
+ ripeToken: "0x2A0a59d6B975828e781EcaC125dBA40d7ee5dDC0"
902
+ };
903
+ var RIPE_ROBINHOOD_CONFIG = {
904
+ ripeHq: "0xD4e82AE1De673bba3B53386A2D2C630AE6630940",
905
+ teller: "0x2D3Cb2B39289f402187D7DC9B609ead6646f2506",
906
+ missionControl: "0xb05f928BAA860ef4548aeB6cF7BB901E402BF8B6",
907
+ ledger: "0x7E1d751D168f09761b88651A4c78C996354FaeB1",
908
+ creditEngine: "0xC0ff2bC7FA74cA232ceDaBDE9901e501dC59384c",
909
+ priceDesk: "0x56Db9c2322e009189049bC57385751fc7922AAb0",
910
+ vaultBook: "0x559E53F42b68b4995732Dba4aF300796761DBC19",
911
+ green: "0x355bB7F0f6c730e4460d620420a300fa08FF82F3",
912
+ savingsGreen: "0x290a52380A88f743813B8C3e9F6B0e61DB5FDF73",
913
+ ripeToken: "0x4D3f37a965b21aB4122e92Dd41D2693E742c883b"
914
+ };
915
+ var RIPE_BUILTIN = {
916
+ RIPE: { "8453": RIPE_BASE_CONFIG, "4663": RIPE_ROBINHOOD_CONFIG }
917
+ };
918
+ var ripeConfig = () => getGlobalData2()?.ripeConfig;
919
+ var ripeConfigFor = (lender, chainId) => {
920
+ const published = getGlobalData2()?.ripeConfig?.[lender]?.[String(chainId)];
921
+ if (published?.ripeHq) return published;
922
+ return RIPE_BUILTIN[lender]?.[String(chainId)];
923
+ };
924
+ var ripeLendersByChain = (chainId) => {
925
+ const chain = String(chainId);
926
+ const cfg = getGlobalData2()?.ripeConfig ?? {};
927
+ const keys = /* @__PURE__ */ new Set();
928
+ for (const lender of Object.keys(cfg)) {
929
+ if (cfg[lender]?.[chain]?.ripeHq) keys.add(lender);
930
+ }
931
+ for (const lender of Object.keys(RIPE_BUILTIN)) {
932
+ if (RIPE_BUILTIN[lender]?.[chain]?.ripeHq) keys.add(lender);
933
+ }
934
+ return [...keys];
935
+ };
936
+
878
937
  // src/lending/twyne.ts
879
938
  var twyneConfig = () => getGlobalData2()?.twyneConfig;
880
939
  var twyneConfigFor = (lender, chainId) => getGlobalData2()?.twyneConfig?.[twyneBaseKey(lender)]?.[String(chainId)];
@@ -1329,6 +1388,9 @@ exports.FRAXLEND_ETHEREUM_CONFIG = FRAXLEND_ETHEREUM_CONFIG;
1329
1388
  exports.GEARBOX_ACCOUNT_COMPRESSOR_V310 = GEARBOX_ACCOUNT_COMPRESSOR_V310;
1330
1389
  exports.REMOTE_CACHE_STORE_TTL_S = REMOTE_CACHE_STORE_TTL_S;
1331
1390
  exports.RESUPPLY_ETHEREUM_CONFIG = RESUPPLY_ETHEREUM_CONFIG;
1391
+ exports.RIPE_BASE_CONFIG = RIPE_BASE_CONFIG;
1392
+ exports.RIPE_HQ_IDS = RIPE_HQ_IDS;
1393
+ exports.RIPE_ROBINHOOD_CONFIG = RIPE_ROBINHOOD_CONFIG;
1332
1394
  exports.RemoteFetchError = RemoteFetchError;
1333
1395
  exports.aaveOracles = aaveOracles;
1334
1396
  exports.aaveOraclesConfig = aaveOraclesConfig;
@@ -1493,6 +1555,9 @@ exports.resolveTermOrderStoreBase = resolveTermOrderStoreBase;
1493
1555
  exports.resupplyConfig = resupplyConfig;
1494
1556
  exports.resupplyConfigFor = resupplyConfigFor;
1495
1557
  exports.resupplyLendersByChain = resupplyLendersByChain;
1558
+ exports.ripeConfig = ripeConfig;
1559
+ exports.ripeConfigFor = ripeConfigFor;
1560
+ exports.ripeLendersByChain = ripeLendersByChain;
1496
1561
  exports.riverChainData = riverChainData;
1497
1562
  exports.riverConfig = riverConfig;
1498
1563
  exports.riverConfigFor = riverConfigFor;
package/dist/index.mjs CHANGED
@@ -96,6 +96,7 @@ var LENDER_DATA_DEFAULTS = () => ({
96
96
  resupplyConfig: {},
97
97
  curvanceConfig: {},
98
98
  coolerConfig: {},
99
+ ripeConfig: {},
99
100
  twyneConfig: {},
100
101
  twyneMarkets: {},
101
102
  fraxlendConfig: {},
@@ -873,6 +874,64 @@ var coolerLendersByChain = (chainId) => {
873
874
  return [...keys];
874
875
  };
875
876
 
877
+ // src/lending/ripe.ts
878
+ var RIPE_HQ_IDS = {
879
+ greenToken: 1,
880
+ savingsGreen: 2,
881
+ ripeToken: 3,
882
+ ledger: 4,
883
+ missionControl: 5,
884
+ priceDesk: 7,
885
+ vaultBook: 8,
886
+ creditEngine: 13,
887
+ teller: 17
888
+ };
889
+ var RIPE_BASE_CONFIG = {
890
+ ripeHq: "0x6162df1b329E157479F8f1407E888260E0EC3d2b",
891
+ teller: "0xae87deB25Bc5030991Aa5E27Cbab38f37a112C13",
892
+ missionControl: "0x559E53F42b68b4995732Dba4aF300796761DBC19",
893
+ ledger: "0x365256e322a47Aa2015F6724783F326e9B24fA47",
894
+ creditEngine: "0xEdd0563D06CC52fb5F264A2366A31d9776f6dcC7",
895
+ priceDesk: "0x2F7901BE53cC94AEF174f1a0764430840360Ef53",
896
+ vaultBook: "0xB758e30C14825519b895Fd9928d5d8748A71a944",
897
+ green: "0xd1Eac76497D06Cf15475A5e3984D5bC03de7C707",
898
+ savingsGreen: "0xaa0f13488CE069A7B5a099457c753A7CFBE04d36",
899
+ ripeToken: "0x2A0a59d6B975828e781EcaC125dBA40d7ee5dDC0"
900
+ };
901
+ var RIPE_ROBINHOOD_CONFIG = {
902
+ ripeHq: "0xD4e82AE1De673bba3B53386A2D2C630AE6630940",
903
+ teller: "0x2D3Cb2B39289f402187D7DC9B609ead6646f2506",
904
+ missionControl: "0xb05f928BAA860ef4548aeB6cF7BB901E402BF8B6",
905
+ ledger: "0x7E1d751D168f09761b88651A4c78C996354FaeB1",
906
+ creditEngine: "0xC0ff2bC7FA74cA232ceDaBDE9901e501dC59384c",
907
+ priceDesk: "0x56Db9c2322e009189049bC57385751fc7922AAb0",
908
+ vaultBook: "0x559E53F42b68b4995732Dba4aF300796761DBC19",
909
+ green: "0x355bB7F0f6c730e4460d620420a300fa08FF82F3",
910
+ savingsGreen: "0x290a52380A88f743813B8C3e9F6B0e61DB5FDF73",
911
+ ripeToken: "0x4D3f37a965b21aB4122e92Dd41D2693E742c883b"
912
+ };
913
+ var RIPE_BUILTIN = {
914
+ RIPE: { "8453": RIPE_BASE_CONFIG, "4663": RIPE_ROBINHOOD_CONFIG }
915
+ };
916
+ var ripeConfig = () => getGlobalData2()?.ripeConfig;
917
+ var ripeConfigFor = (lender, chainId) => {
918
+ const published = getGlobalData2()?.ripeConfig?.[lender]?.[String(chainId)];
919
+ if (published?.ripeHq) return published;
920
+ return RIPE_BUILTIN[lender]?.[String(chainId)];
921
+ };
922
+ var ripeLendersByChain = (chainId) => {
923
+ const chain = String(chainId);
924
+ const cfg = getGlobalData2()?.ripeConfig ?? {};
925
+ const keys = /* @__PURE__ */ new Set();
926
+ for (const lender of Object.keys(cfg)) {
927
+ if (cfg[lender]?.[chain]?.ripeHq) keys.add(lender);
928
+ }
929
+ for (const lender of Object.keys(RIPE_BUILTIN)) {
930
+ if (RIPE_BUILTIN[lender]?.[chain]?.ripeHq) keys.add(lender);
931
+ }
932
+ return [...keys];
933
+ };
934
+
876
935
  // src/lending/twyne.ts
877
936
  var twyneConfig = () => getGlobalData2()?.twyneConfig;
878
937
  var twyneConfigFor = (lender, chainId) => getGlobalData2()?.twyneConfig?.[twyneBaseKey(lender)]?.[String(chainId)];
@@ -1320,4 +1379,4 @@ async function fetchMainTokensMap() {
1320
1379
  }
1321
1380
  }
1322
1381
 
1323
- export { COOLER_ETHEREUM_CONFIG, CURVANCE_MONAD_CONFIG, DOLOMITE_ROUTER_DEFAULTS, 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, dolomiteIsolation, dolomiteIsolationMarket, dolomiteMarketIdByToken, dolomiteOdosExecutorShim, dolomiteRouters, 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, refreshRemoteCache, resolveMidnightApiBase, resolveTenorApiUrl, resolveTermApiBase, resolveTermOrderStoreBase, resupplyConfig, resupplyConfigFor, resupplyLendersByChain, riverChainData, riverConfig, riverConfigFor, riverLendersByChain, riverMarketByIndex, riverMarkets, setMidnightApiBase, setRemoteCacheGithubToken, setRemoteCacheStore, setRemoteCacheWaitUntil, 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, tokenListCacheKey, twyneBaseKey, twyneBeaconFor, twyneChainData, twyneConfig, twyneConfigFor, twyneLendersByChain, twyneMarketByKey, twyneMarketFor, twyneMarketKey, twyneMarkets, twyneMarketsForIntermediateVault, twyneOperator, usddChainData, usddConfig, usddConfigFor, usddLendersByChain, usddMarketByIlk, usddMarkets };
1382
+ export { COOLER_ETHEREUM_CONFIG, CURVANCE_MONAD_CONFIG, DOLOMITE_ROUTER_DEFAULTS, FRAXLEND_ETHEREUM_CONFIG, GEARBOX_ACCOUNT_COMPRESSOR_V310, REMOTE_CACHE_STORE_TTL_S, RESUPPLY_ETHEREUM_CONFIG, RIPE_BASE_CONFIG, RIPE_HQ_IDS, RIPE_ROBINHOOD_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, dolomiteIsolation, dolomiteIsolationMarket, dolomiteMarketIdByToken, dolomiteOdosExecutorShim, dolomiteRouters, 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, refreshRemoteCache, resolveMidnightApiBase, resolveTenorApiUrl, resolveTermApiBase, resolveTermOrderStoreBase, resupplyConfig, resupplyConfigFor, resupplyLendersByChain, ripeConfig, ripeConfigFor, ripeLendersByChain, riverChainData, riverConfig, riverConfigFor, riverLendersByChain, riverMarketByIndex, riverMarkets, setMidnightApiBase, setRemoteCacheGithubToken, setRemoteCacheStore, setRemoteCacheWaitUntil, 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, tokenListCacheKey, twyneBaseKey, twyneBeaconFor, twyneChainData, twyneConfig, twyneConfigFor, twyneLendersByChain, twyneMarketByKey, twyneMarketFor, twyneMarketKey, twyneMarkets, twyneMarketsForIntermediateVault, twyneOperator, usddChainData, usddConfig, usddConfigFor, usddLendersByChain, usddMarketByIlk, usddMarkets };
@@ -89,6 +89,13 @@ export type DolomiteIsolationMarket = {
89
89
  unwrapperOutputMarketIds: string[];
90
90
  async: boolean;
91
91
  executionFeeWei: string | null;
92
+ /**
93
+ * `getProxyVaultInitCodeHash()` of the factory. A user's vault is
94
+ * `CREATE2(factory, keccak256(abi.encodePacked(user)), hash)`, so the
95
+ * vault that owns an isolation position can be derived offline — see
96
+ * margin-fetcher's `dolomiteVaultAddress`. Per factory (17 distinct hashes on Arbitrum).
97
+ */
98
+ vaultInitCodeHash: string | null;
92
99
  };
93
100
  export type DolomiteIsolationType = {
94
101
  [chainId: string]: {
@@ -39,5 +39,6 @@ export * from './llamalend';
39
39
  export * from './resupply';
40
40
  export * from './curvance';
41
41
  export * from './cooler';
42
+ export * from './ripe';
42
43
  export * from './twyne';
43
44
  export * from './fraxlend';
@@ -25,6 +25,7 @@ import type { CompoundV2OraclesConfigType, CompoundV2PoolsType, CompoundV2TokenA
25
25
  import type { CompoundV3BaseDataType, CompoundV3BulkerType, CompoundV3OracleDataMap, CompoundV3PoolsType } from './compoundV3';
26
26
  import type { CurvanceConfigType } from './curvance';
27
27
  import type { CoolerConfigType } from './cooler';
28
+ import type { RipeConfigType } from './ripe';
28
29
  import type { TwyneConfigType, TwyneMarketsType } from './twyne';
29
30
  import type { DolomiteConfigsType, DolomiteEmodeType, DolomiteIsolationType } from './dolomite';
30
31
  import type { UsddConfigType, UsddMarketsType } from './dss';
@@ -111,6 +112,7 @@ export interface GlobalLenderDataRegistry {
111
112
  resupplyConfig: ResupplyConfigType;
112
113
  curvanceConfig: CurvanceConfigType;
113
114
  coolerConfig: CoolerConfigType;
115
+ ripeConfig: RipeConfigType;
114
116
  twyneConfig: TwyneConfigType;
115
117
  twyneMarkets: TwyneMarketsType;
116
118
  fraxlendConfig: FraxlendConfigType;
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Ripe Protocol — a multi-collateral CDP minting the GREEN stablecoin on Base
3
+ * (8453) and Robinhood Chain (4663). ONE cross-collateral position per
4
+ * address per chain, so `RIPE` is both the dispatch key and the market key.
5
+ *
6
+ * Every Ripe deployment is an address book rooted in ONE contract, `RipeHq`
7
+ * (an `AddressRegistry`): departments are upgraded by re-pointing a registry
8
+ * id, and the Base book has already diverged from Ripe's own deployment
9
+ * manifest (Vault Book, Auction House and Deleverage were all re-pointed).
10
+ * So the department addresses below are a SEED — fetchers resolve the live
11
+ * ones from `RipeHq.getAddr(<id>)` every cycle (ids are fixed by Ripe's
12
+ * `Addys` module) and fall back to the seed only for a failed read.
13
+ *
14
+ * The asset roster is NOT seeded either: `MissionControl.numAssets()` /
15
+ * `assets(i)` enumerate it on chain, and per-asset terms change by governance.
16
+ *
17
+ * Follows the Cooler/Curvance built-in-seed pattern: published metadata wins
18
+ * if it ever exists, the built-in rows are the working fallback. Addresses
19
+ * verified on chain 2026-10-14 (RipeHq registry walk) — see RIPE.md.
20
+ */
21
+ export interface RipeConfigChain {
22
+ /** The root registry every other address resolves from. */
23
+ ripeHq: string;
24
+ /** Teller — the single user write surface (deposit/withdraw/borrow/repay). */
25
+ teller: string;
26
+ /** MissionControl — asset roster, per-asset `DebtTerms`, global limits. */
27
+ missionControl: string;
28
+ /** Ledger — per-user debt + vault participation, total debt. */
29
+ ledger: string;
30
+ /** CreditEngine — position views (borrow terms, max borrow, health). */
31
+ creditEngine: string;
32
+ /** PriceDesk — Ripe's own oracle router (18-dec USD per token). */
33
+ priceDesk: string;
34
+ /** VaultBook — vault-id → vault registry (collateral custody). */
35
+ vaultBook: string;
36
+ /** GREEN — the minted debt token (18 dec). */
37
+ green: string;
38
+ /** sGREEN — ERC-4626 savings vault over GREEN (revenue accrues here). */
39
+ savingsGreen: string;
40
+ /** RIPE governance token. */
41
+ ripeToken: string;
42
+ }
43
+ export type RipeConfigType = {
44
+ [lender: string]: {
45
+ [chainId: string]: RipeConfigChain;
46
+ };
47
+ };
48
+ /** `RipeHq` registry ids (Ripe's `contracts/modules/Addys.vy`). */
49
+ export declare const RIPE_HQ_IDS: {
50
+ readonly greenToken: 1;
51
+ readonly savingsGreen: 2;
52
+ readonly ripeToken: 3;
53
+ readonly ledger: 4;
54
+ readonly missionControl: 5;
55
+ readonly priceDesk: 7;
56
+ readonly vaultBook: 8;
57
+ readonly creditEngine: 13;
58
+ readonly teller: 17;
59
+ };
60
+ export declare const RIPE_BASE_CONFIG: RipeConfigChain;
61
+ export declare const RIPE_ROBINHOOD_CONFIG: RipeConfigChain;
62
+ export declare const ripeConfig: () => RipeConfigType;
63
+ /**
64
+ * Deployment seed for the Ripe lender on a chain. Published metadata wins;
65
+ * the built-in rows are the fallback, so the provider works with no
66
+ * `config/ripe.json` publish.
67
+ */
68
+ export declare const ripeConfigFor: (lender: string, chainId: string | number) => RipeConfigChain | undefined;
69
+ /**
70
+ * All Ripe lender keys with a deployment on a chain (drives
71
+ * `getLendersForChain`). Gated on `ripeHq` — the one address everything
72
+ * bootstraps from.
73
+ */
74
+ export declare const ripeLendersByChain: (chainId: string | number) => string[];
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.0.58",
7
+ "version": "0.0.60",
8
8
  "description": "Hold and initialize lending protocol data across a stack",
9
9
  "files": [
10
10
  "dist"