@1delta/margin-fetcher 0.0.93 → 0.0.95

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
@@ -1,6 +1,6 @@
1
- import { formatEther, BaseError, formatUnits } from './chunk-5R4LXFCO.js';
1
+ import { formatEther, BaseError, formatUnits } from './chunk-5KOR6CTI.js';
2
2
  import './chunk-BYTNVMX7.js';
3
- import './chunk-O4JCFUFK.js';
3
+ import './chunk-5AK7VEID.js';
4
4
  import './chunk-PR4QN5HX.js';
5
5
  import lodash from 'lodash';
6
6
  import { multicallRetry } from '@1delta/providers';
@@ -6240,7 +6240,7 @@ var IrgetterAbi = [
6240
6240
  }
6241
6241
  ];
6242
6242
 
6243
- // ../../node_modules/.pnpm/@1delta+lender-registry@0.0.7/node_modules/@1delta/lender-registry/dist/index.mjs
6243
+ // ../../node_modules/.pnpm/@1delta+lender-registry@0.0.8/node_modules/@1delta/lender-registry/dist/index.mjs
6244
6244
  var Lender = /* @__PURE__ */ ((Lender2) => {
6245
6245
  Lender2["AAVE_V3"] = "AAVE_V3";
6246
6246
  Lender2["AAVE_V3_PRIME"] = "AAVE_V3_PRIME";
@@ -6362,6 +6362,9 @@ var Lender = /* @__PURE__ */ ((Lender2) => {
6362
6362
  Lender2["COMPOUND_V3_WBTC"] = "COMPOUND_V3_WBTC";
6363
6363
  Lender2["INIT"] = "INIT";
6364
6364
  Lender2["MORPHO_BLUE"] = "MORPHO_BLUE";
6365
+ Lender2["LISTA_DAO"] = "LISTA_DAO";
6366
+ Lender2["SILO_V2"] = "SILO_V2";
6367
+ Lender2["EULER_V2"] = "EULER_V2";
6365
6368
  Lender2["SWAYLEND_USDC"] = "SWAYLEND_USDC";
6366
6369
  return Lender2;
6367
6370
  })(Lender || {});
@@ -8080,7 +8083,7 @@ var buildCompoundV3StyleLenderReserveCall = (chainId, lender) => {
8080
8083
  return calls;
8081
8084
  };
8082
8085
 
8083
- // ../../node_modules/.pnpm/viem@2.38.0_typescript@5.9.3_zod@3.25.76/node_modules/viem/_esm/errors/unit.js
8086
+ // ../../node_modules/.pnpm/viem@2.38.3_typescript@5.9.3_zod@3.25.76/node_modules/viem/_esm/errors/unit.js
8084
8087
  var InvalidDecimalNumberError = class extends BaseError {
8085
8088
  constructor({ value }) {
8086
8089
  super(`Number \`${value}\` is not a valid decimal number.`, {
@@ -8089,7 +8092,7 @@ var InvalidDecimalNumberError = class extends BaseError {
8089
8092
  }
8090
8093
  };
8091
8094
 
8092
- // ../../node_modules/.pnpm/viem@2.38.0_typescript@5.9.3_zod@3.25.76/node_modules/viem/_esm/utils/unit/parseUnits.js
8095
+ // ../../node_modules/.pnpm/viem@2.38.3_typescript@5.9.3_zod@3.25.76/node_modules/viem/_esm/utils/unit/parseUnits.js
8093
8096
  function parseUnits(value, decimals) {
8094
8097
  if (!/^(-?)([0-9]*)\.?([0-9]*)$/.test(value))
8095
8098
  throw new InvalidDecimalNumberError({ value });
@@ -8124,7 +8127,7 @@ function parseUnits(value, decimals) {
8124
8127
  return BigInt(`${negative ? "-" : ""}${integer}${fraction}`);
8125
8128
  }
8126
8129
 
8127
- // ../../node_modules/.pnpm/viem@2.38.0_typescript@5.9.3_zod@3.25.76/node_modules/viem/_esm/constants/address.js
8130
+ // ../../node_modules/.pnpm/viem@2.38.3_typescript@5.9.3_zod@3.25.76/node_modules/viem/_esm/constants/address.js
8128
8131
  var zeroAddress = "0x0000000000000000000000000000000000000000";
8129
8132
 
8130
8133
  // src/utils/parsing.ts
@@ -8138,9 +8141,12 @@ var parseRawAmount = (answer, decimals = 18) => {
8138
8141
  }
8139
8142
  };
8140
8143
  var BLOCK_TIMES = {
8141
- 5: 12,
8142
- 1: 12,
8143
- 56: 3
8144
+ [Chain.ETHEREUM_MAINNET]: 12,
8145
+ [Chain.OP_MAINNET]: 1,
8146
+ [Chain.BNB_SMART_CHAIN_MAINNET]: 0.75,
8147
+ [Chain.ARBITRUM_ONE]: 1,
8148
+ [Chain.OPBNB_MAINNET]: 1,
8149
+ [Chain.BASE]: 1
8144
8150
  };
8145
8151
  var SECONDS_PER_YEAR = 31536e3;
8146
8152
  var apyToApr = (apy) => {
@@ -8162,7 +8168,7 @@ var calculateRateForCompound = (n, chainId, lender = Lender.COMPOUND_V3_USDCE) =
8162
8168
  }
8163
8169
  const rate = Number(formatEther(BigInt(n)));
8164
8170
  if (scale === 0 /* BLOCK */)
8165
- return (Math.pow(rate * 60 * 60 * 24 / (BLOCK_TIMES[chainId] ?? 1) + 1, 365) - 1) * 100;
8171
+ return (Math.pow(rate * 60 * 60 * 24 / (BLOCK_TIMES[chainId] ?? "1") + 1, 365) - 1) * 100;
8166
8172
  return (Math.pow(rate * 60 * 60 * 24 + 1, 365) - 1) * 100;
8167
8173
  };
8168
8174
  var formatAaveRawApyToApr = (raw) => {
@@ -11898,6 +11904,7 @@ var MorphoLensAbi = [
11898
11904
  ];
11899
11905
 
11900
11906
  // src/lending/addresses/compoundV2.ts
11907
+ var VENUS_LENS_VBNB = "0xf15A9c5aaDc327B383945D5821C7aC08Cdac7430";
11901
11908
  var VENUS_LENS = {
11902
11909
  [Chain.BNB_SMART_CHAIN_MAINNET]: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
11903
11910
  [Chain.ETHEREUM_MAINNET]: "0x277950603178BDD223eB53B9b7cF5D0053aa3473",
@@ -11921,15 +11928,162 @@ function getCompoundV2Lens(chainId, lender) {
11921
11928
  return zeroAddress;
11922
11929
  }
11923
11930
 
11931
+ // src/abis/compound-v2/VenusLensLegacy.ts
11932
+ var VenusLensLegacyAbi = [
11933
+ {
11934
+ inputs: [
11935
+ {
11936
+ internalType: "contract VToken",
11937
+ name: "vToken",
11938
+ type: "address"
11939
+ }
11940
+ ],
11941
+ name: "vTokenMetadata",
11942
+ outputs: [
11943
+ {
11944
+ components: [
11945
+ {
11946
+ internalType: "address",
11947
+ name: "vToken",
11948
+ type: "address"
11949
+ },
11950
+ {
11951
+ internalType: "uint256",
11952
+ name: "exchangeRateCurrent",
11953
+ type: "uint256"
11954
+ },
11955
+ {
11956
+ internalType: "uint256",
11957
+ name: "supplyRatePerBlock",
11958
+ type: "uint256"
11959
+ },
11960
+ {
11961
+ internalType: "uint256",
11962
+ name: "borrowRatePerBlock",
11963
+ type: "uint256"
11964
+ },
11965
+ {
11966
+ internalType: "uint256",
11967
+ name: "reserveFactorMantissa",
11968
+ type: "uint256"
11969
+ },
11970
+ {
11971
+ internalType: "uint256",
11972
+ name: "totalBorrows",
11973
+ type: "uint256"
11974
+ },
11975
+ {
11976
+ internalType: "uint256",
11977
+ name: "totalReserves",
11978
+ type: "uint256"
11979
+ },
11980
+ {
11981
+ internalType: "uint256",
11982
+ name: "totalSupply",
11983
+ type: "uint256"
11984
+ },
11985
+ {
11986
+ internalType: "uint256",
11987
+ name: "totalCash",
11988
+ type: "uint256"
11989
+ },
11990
+ {
11991
+ internalType: "bool",
11992
+ name: "isListed",
11993
+ type: "bool"
11994
+ },
11995
+ {
11996
+ internalType: "uint256",
11997
+ name: "collateralFactorMantissa",
11998
+ type: "uint256"
11999
+ },
12000
+ {
12001
+ internalType: "address",
12002
+ name: "underlyingAssetAddress",
12003
+ type: "address"
12004
+ },
12005
+ {
12006
+ internalType: "uint256",
12007
+ name: "vTokenDecimals",
12008
+ type: "uint256"
12009
+ },
12010
+ {
12011
+ internalType: "uint256",
12012
+ name: "underlyingDecimals",
12013
+ type: "uint256"
12014
+ },
12015
+ {
12016
+ internalType: "uint256",
12017
+ name: "venusSupplySpeed",
12018
+ type: "uint256"
12019
+ },
12020
+ {
12021
+ internalType: "uint256",
12022
+ name: "venusBorrowSpeed",
12023
+ type: "uint256"
12024
+ },
12025
+ {
12026
+ internalType: "uint256",
12027
+ name: "dailySupplyXvs",
12028
+ type: "uint256"
12029
+ },
12030
+ {
12031
+ internalType: "uint256",
12032
+ name: "dailyBorrowXvs",
12033
+ type: "uint256"
12034
+ },
12035
+ {
12036
+ internalType: "uint256",
12037
+ name: "pausedActions",
12038
+ type: "uint256"
12039
+ },
12040
+ {
12041
+ internalType: "uint256",
12042
+ name: "liquidationThresholdMantissa",
12043
+ type: "uint256"
12044
+ },
12045
+ {
12046
+ internalType: "uint256",
12047
+ name: "liquidationIncentiveMantissa",
12048
+ type: "uint256"
12049
+ },
12050
+ {
12051
+ internalType: "bool",
12052
+ name: "isBorrowAllowed",
12053
+ type: "bool"
12054
+ },
12055
+ {
12056
+ internalType: "uint96",
12057
+ name: "poolId",
12058
+ type: "uint96"
12059
+ }
12060
+ ],
12061
+ internalType: "struct VenusLens.VTokenMetadata",
12062
+ name: "",
12063
+ type: "tuple"
12064
+ }
12065
+ ],
12066
+ stateMutability: "nonpayable",
12067
+ type: "function"
12068
+ }
12069
+ ];
12070
+
11924
12071
  // src/lending/compound-v2/publicCallBuild.ts
11925
12072
  var buildCompoundV2StyleLenderReserveCall = (chainId, lender) => {
11926
12073
  const collateralTokens = getCompoundV2CollateralTokens(chainId, lender);
11927
12074
  const lens = getCompoundV2Lens(chainId, lender);
11928
- const calls = Object.values(collateralTokens).map((tk) => ({
11929
- address: lens,
11930
- name: "vTokenMetadata",
11931
- params: [tk]
11932
- }));
12075
+ const calls = Object.values(collateralTokens).map(
12076
+ (tk) => chainId === Chain.BNB_SMART_CHAIN_MAINNET && tk === "0xa07c5b74c9b40447a954e1466938b865b6bbea36" ? {
12077
+ abi: VenusLensLegacyAbi,
12078
+ address: VENUS_LENS_VBNB,
12079
+ name: "vTokenMetadata",
12080
+ params: [tk]
12081
+ } : {
12082
+ address: lens,
12083
+ name: "vTokenMetadata",
12084
+ params: [tk]
12085
+ }
12086
+ );
11933
12087
  return calls;
11934
12088
  };
11935
12089
 
@@ -12023,16 +12177,20 @@ var getCompoundV2ReservesDataConverter = (lender, chainId, prices, additionalYie
12023
12177
  poolId,
12024
12178
  asset,
12025
12179
  // interest rates
12026
- depositRate: calculateRateForCompound(
12027
- currentEntry?.supplyRatePerBlock?.toString(),
12028
- chainId,
12029
- Lender.COMPOUND_V2
12030
- ),
12031
- variableBorrowRate: calculateRateForCompound(
12032
- currentEntry?.borrowRatePerBlock?.toString(),
12033
- chainId,
12034
- Lender.COMPOUND_V2
12035
- ),
12180
+ depositRate: apyToApr2(
12181
+ calculateRateForCompound(
12182
+ currentEntry?.supplyRatePerBlock?.toString(),
12183
+ chainId,
12184
+ Lender.COMPOUND_V2
12185
+ ) / 100
12186
+ ) * 100,
12187
+ variableBorrowRate: apyToApr2(
12188
+ calculateRateForCompound(
12189
+ currentEntry?.borrowRatePerBlock?.toString(),
12190
+ chainId,
12191
+ Lender.COMPOUND_V2
12192
+ ) / 100
12193
+ ) * 100,
12036
12194
  stableBorrowRate: 0,
12037
12195
  totalLiquidity: liquidity,
12038
12196
  totalLiquidityUSD: liquidity * price,
@@ -12053,7 +12211,7 @@ var getCompoundV2ReservesDataConverter = (lender, chainId, prices, additionalYie
12053
12211
  }
12054
12212
  },
12055
12213
  hasStable: false,
12056
- underlying: currentEntry?.underlyingAssetAddress,
12214
+ underlying: asset.address,
12057
12215
  // // rewards (TBU)
12058
12216
  // compSupplySpeed: parseRawAmount(
12059
12217
  // currentEntry?.venusSupplySpeed?.toString(),
@@ -12857,7 +13015,7 @@ var getLenderPublicData = async (chainId, lenders, prices, additionalYields, mul
12857
13015
  for (const lender of lenders) {
12858
13016
  const abi = getAbi(lender);
12859
13017
  const callData = buildLenderCall(chainId, lender);
12860
- const mappedCalls = callData.map((call) => ({ call, abi }));
13018
+ const mappedCalls = callData.map((call) => ({ call, abi: call.abi ?? abi }));
12861
13019
  calls = [...calls, ...mappedCalls];
12862
13020
  }
12863
13021
  const [rawResults, list] = await Promise.all([
@@ -21854,6 +22012,196 @@ var getCompoundV2Calls = (chainId) => {
21854
22012
  names
21855
22013
  ];
21856
22014
  }
22015
+ case Chain.BNB_SMART_CHAIN_MAINNET: {
22016
+ const names = [
22017
+ ["Cardano Token::ADA", 18],
22018
+ //
22019
+ ["Astherus Staked BNB::asBNB", 18],
22020
+ ["THE", 18],
22021
+ ["Trust Wallet::TWT", 18],
22022
+ ["Wrapped Binance Beacon ETH::wBETH", 18],
22023
+ ["Tron V2::TRX", 30],
22024
+ ["LUNA", 18],
22025
+ ["UST", 18],
22026
+ ["Tron::TRX", 18],
22027
+ ["Cannon::CAN", 18],
22028
+ ["Beacon ETH::BETH", 18],
22029
+ ["Filecoin::FIL", 18],
22030
+ ["Polkadot Token::DOT", 18],
22031
+ ["Bitcoin Cash Token::BCH", 18],
22032
+ ["XRP Token::XRP", 18],
22033
+ ["Litecoin Token::LTC", 18],
22034
+ ["Venus::XVS", 18],
22035
+ ["SXP", 18]
22036
+ ];
22037
+ return [
22038
+ [
22039
+ {
22040
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22041
+ // lens
22042
+ name: "vTokenUnderlyingPrice",
22043
+ params: [
22044
+ "0x9a0af7fdb2065ce470d72664de73cae409da28ec"
22045
+ //
22046
+ ]
22047
+ },
22048
+ {
22049
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22050
+ // lens
22051
+ name: "vTokenUnderlyingPrice",
22052
+ params: [
22053
+ "0xcc1db43a06d97f736c7b045aedd03c6707c09bdf"
22054
+ //
22055
+ ]
22056
+ },
22057
+ {
22058
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22059
+ // lens
22060
+ name: "vTokenUnderlyingPrice",
22061
+ params: [
22062
+ "0x86e06eafa6a1ea631eab51de500e3d474933739f"
22063
+ //
22064
+ ]
22065
+ },
22066
+ {
22067
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22068
+ // lens
22069
+ name: "vTokenUnderlyingPrice",
22070
+ params: [
22071
+ "0x4d41a36d04d97785bcea57b057c412b278e6edcc"
22072
+ //
22073
+ ]
22074
+ },
22075
+ {
22076
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22077
+ // lens
22078
+ name: "vTokenUnderlyingPrice",
22079
+ params: [
22080
+ "0x6cfdec747f37daf3b87a35a1d9c8ad3063a1a8a0"
22081
+ //
22082
+ ]
22083
+ },
22084
+ {
22085
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22086
+ // lens
22087
+ name: "vTokenUnderlyingPrice",
22088
+ params: [
22089
+ "0xc5d3466aa484b040ee977073fcf337f2c00071c1"
22090
+ //
22091
+ ]
22092
+ },
22093
+ {
22094
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22095
+ // lens
22096
+ name: "vTokenUnderlyingPrice",
22097
+ params: [
22098
+ "0xb91a659e88b51474767cd97ef3196a3e7cedd2c8"
22099
+ //
22100
+ ]
22101
+ },
22102
+ {
22103
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22104
+ // lens
22105
+ name: "vTokenUnderlyingPrice",
22106
+ params: [
22107
+ "0x78366446547d062f45b4c0f320cdaa6d710d87bb"
22108
+ //
22109
+ ]
22110
+ },
22111
+ {
22112
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22113
+ // lens
22114
+ name: "vTokenUnderlyingPrice",
22115
+ params: [
22116
+ "0x61edcfe8dd6ba3c891cb9bec2dc7657b3b422e93"
22117
+ //
22118
+ ]
22119
+ },
22120
+ {
22121
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22122
+ // lens
22123
+ name: "vTokenUnderlyingPrice",
22124
+ params: [
22125
+ "0xebd0070237a0713e8d94fef1b728d3d993d290ef"
22126
+ //
22127
+ ]
22128
+ },
22129
+ {
22130
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22131
+ // lens
22132
+ name: "vTokenUnderlyingPrice",
22133
+ params: [
22134
+ "0x972207a639cc1b374b893cc33fa251b55ceb7c07"
22135
+ //
22136
+ ]
22137
+ },
22138
+ {
22139
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22140
+ // lens
22141
+ name: "vTokenUnderlyingPrice",
22142
+ params: [
22143
+ "0xf91d58b5ae142dacc749f58a49fcbac340cb0343"
22144
+ //
22145
+ ]
22146
+ },
22147
+ {
22148
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22149
+ // lens
22150
+ name: "vTokenUnderlyingPrice",
22151
+ params: [
22152
+ "0x1610bc33319e9398de5f57b33a5b184c806ad217"
22153
+ //
22154
+ ]
22155
+ },
22156
+ {
22157
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22158
+ // lens
22159
+ name: "vTokenUnderlyingPrice",
22160
+ params: [
22161
+ "0x5f0388ebc2b94fa8e123f404b79ccf5f40b29176"
22162
+ //
22163
+ ]
22164
+ },
22165
+ {
22166
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22167
+ // lens
22168
+ name: "vTokenUnderlyingPrice",
22169
+ params: [
22170
+ "0xb248a295732e0225acd3337607cc01068e3b9c10"
22171
+ //
22172
+ ]
22173
+ },
22174
+ {
22175
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22176
+ // lens
22177
+ name: "vTokenUnderlyingPrice",
22178
+ params: [
22179
+ "0x57a5297f2cb2c0aac9d554660acd6d385ab50c6b"
22180
+ //
22181
+ ]
22182
+ },
22183
+ {
22184
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22185
+ // lens
22186
+ name: "vTokenUnderlyingPrice",
22187
+ params: [
22188
+ "0x151b1e2635a717bcdc836ecd6fbb62b674fe3e1d"
22189
+ //
22190
+ ]
22191
+ },
22192
+ {
22193
+ address: "0xA179d2f1Fd53D15Bc790bE91d5fF4a0108E29621",
22194
+ // lens
22195
+ name: "vTokenUnderlyingPrice",
22196
+ params: [
22197
+ "0x2ff3d0f6990a40261c66e1ff2017acbc282eb6d0"
22198
+ //
22199
+ ]
22200
+ }
22201
+ ],
22202
+ names
22203
+ ];
22204
+ }
21857
22205
  case Chain.ETHEREUM_MAINNET: {
21858
22206
  const names = [
21859
22207
  ["SFRXETH", 18],
@@ -21928,7 +22276,9 @@ var parseCompoundV2Results = (chainId, data, names, other = {}) => {
21928
22276
  return Object.assign(
21929
22277
  {},
21930
22278
  ...data.map((entry, index) => {
21931
- let price = Number(parseRawAmount(entry?.underlyingPrice ?? "0", names[index][1]));
22279
+ let price = Number(
22280
+ parseRawAmount(entry?.underlyingPrice ?? "0", names[index][1])
22281
+ );
21932
22282
  const name = names[index][0];
21933
22283
  if (name === "SFRXETH") {
21934
22284
  price = other["ETH"] * price;
@@ -22215,7 +22565,7 @@ var parseRWADynamicOracleResults = (chainId, data, assetName) => {
22215
22565
  }
22216
22566
  };
22217
22567
 
22218
- // ../../node_modules/.pnpm/@1delta+dex-registry@0.0.87/node_modules/@1delta/dex-registry/dist/index.mjs
22568
+ // ../../node_modules/.pnpm/@1delta+dex-registry@0.0.88/node_modules/@1delta/dex-registry/dist/index.mjs
22219
22569
  var BALANCER_V2 = {
22220
22570
  vault: {
22221
22571
  [Chain.ETHEREUM_MAINNET]: "0xBA12222222228d8Ba445958a75a0704d566BF2C8",
@@ -25340,6 +25690,7 @@ var FLASH_LOAN_IDS = {
25340
25690
  [Lender.RADIANT_V2]: 20,
25341
25691
  // Morphos
25342
25692
  [Lender.MORPHO_BLUE]: 0,
25693
+ [Lender.LISTA_DAO]: 0,
25343
25694
  /** Balancer V2 */
25344
25695
  [
25345
25696
  "BALANCER_V2"
@@ -25363,6 +25714,62 @@ var FLASH_LOAN_IDS = {
25363
25714
  /* UNISWAP_V4 */
25364
25715
  ]: 0
25365
25716
  };
25717
+ ({
25718
+ [Chain.ARBITRUM_ONE]: {
25719
+ [Lender.EULER_V2]: [
25720
+ {
25721
+ address: "0xE96e07C16661744836a742Ef2090F11e84a86f4F",
25722
+ underlying: "0x4186BFC76E2E237523CBC30FD220FE055156b41F",
25723
+ // rsETH
25724
+ id: 0
25725
+ }
25726
+ ],
25727
+ [Lender.SILO_V2]: [
25728
+ {
25729
+ address: "0xf0543D476e7906374863091034fe679a7bE8Ee20",
25730
+ underlying: "0x6eaf19b2fc24552925db245f9ff613157a7dbb4c",
25731
+ // USDX
25732
+ id: 0
25733
+ }
25734
+ ]
25735
+ },
25736
+ [Chain.AVALANCHE_C_CHAIN]: {
25737
+ [Lender.EULER_V2]: [
25738
+ {
25739
+ address: "0x6c718a70239fA548c0bD268fE88F37EBE8b6E2ea",
25740
+ underlying: "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",
25741
+ // WAVAX
25742
+ id: 0
25743
+ },
25744
+ {
25745
+ address: "0x38a559c2b6eF3fF7Cdc40a800D6351a2B70b2243",
25746
+ underlying: "0x2b2C81e08f1Af8835a78Bb2A90AE924ACE0eA4bE",
25747
+ // sAVAX
25748
+ id: 1
25749
+ },
25750
+ {
25751
+ address: "0x39dE0f00189306062D79eDEC6DcA5bb6bFd108f9",
25752
+ underlying: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
25753
+ // USDC
25754
+ id: 2
25755
+ }
25756
+ ],
25757
+ [Lender.SILO_V2]: [
25758
+ {
25759
+ address: "0xf0543D476e7906374863091034fe679a7bE8Ee20",
25760
+ underlying: "0x2b2C81e08f1Af8835a78Bb2A90AE924ACE0eA4bE",
25761
+ // sAVAX
25762
+ id: 0
25763
+ },
25764
+ {
25765
+ address: "0xa919d365f210DCc2287d1Cf6B0900fDB9134F87e",
25766
+ underlying: "0x211Cc4DD073734dA055fbF44a2b4667d5E5fE5d2",
25767
+ // sUSDE
25768
+ id: 1
25769
+ }
25770
+ ]
25771
+ }
25772
+ });
25366
25773
  function createStableAndVol(f) {
25367
25774
  return [f + "_VOLATILE", f + "_STABLE"];
25368
25775
  }