@defisaver/positions-sdk 2.1.149 → 2.1.150-cirbtc-dev

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.
@@ -11,7 +11,7 @@ import Dec from 'decimal.js';
11
11
  import { NetworkNumber } from '../types/common';
12
12
  import { AaveMarkets, AaveV4Spokes, CompoundMarkets, CrvUsdMarkets, LiquityV2Markets, LlamaLendMarkets, MorphoBlueMarkets, MorphoMidnightMarkets, SparkMarkets, } from '../markets';
13
13
  import { _getMorphoBlueAccountData, _getMorphoBluePortfolioMarketData, getMorphoEarn } from '../morphoBlue';
14
- import { _getMorphoMidnightAccountData, _getMorphoMidnightMarketData } from '../morphoMidnight';
14
+ import { _getMorphoMidnightAccountData, _getMorphoMidnightMarketData, getMorphoMidnightEarn } from '../morphoMidnight';
15
15
  import { AaveVersions, CompoundVersions, } from '../types';
16
16
  import { _getCompoundV3AccountData, _getCompoundV3MarketsData } from '../compoundV3';
17
17
  import { _getSparkAccountData, _getSparkMarketsData } from '../spark';
@@ -107,6 +107,7 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
107
107
  stakingPositions[address.toLowerCase()] = {
108
108
  aaveV3: {},
109
109
  morphoBlue: {},
110
+ morphoMidnight: {},
110
111
  compoundV3: {},
111
112
  spark: {},
112
113
  aaveV2: {},
@@ -474,9 +475,32 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
474
475
  }))).flat(),
475
476
  ...morphoMidnightMarkets.map((market) => addresses.map((address) => __awaiter(this, void 0, void 0, function* () {
476
477
  try {
477
- const accData = yield _getMorphoMidnightAccountData(client, network, address, market, morphoMidnightMarketsData[market.value]);
478
- if (new Dec(accData.suppliedUsd).gt(0))
479
- positions[address.toLowerCase()].morphoMidnight[market.value] = { error: '', data: accData };
478
+ const [accDataPromise, earnDataPromise] = yield Promise.allSettled([
479
+ _getMorphoMidnightAccountData(client, network, address, market, morphoMidnightMarketsData[market.value]),
480
+ getMorphoMidnightEarn(client, network, address, market, morphoMidnightMarketsData[market.value]),
481
+ ]);
482
+ if (accDataPromise.status === 'rejected') {
483
+ console.error(`Error fetching MorphoMidnight account data for address ${address} on market ${market.value}:`, accDataPromise.reason);
484
+ positions[address.toLowerCase()].morphoMidnight[market.value] = { error: `Error fetching MorphoMidnight account data for address ${address} on market ${market.value}`, data: null };
485
+ }
486
+ if (earnDataPromise.status === 'rejected') {
487
+ console.error(`Error fetching MorphoMidnight account data for address ${address} on market ${market.value}:`, earnDataPromise.reason);
488
+ positions[address.toLowerCase()].morphoMidnight[market.value] = { error: `Error fetching MorphoMidnight account data for address ${address} on market ${market.value}`, data: null };
489
+ }
490
+ if (accDataPromise.status !== 'rejected') {
491
+ const accData = accDataPromise.value;
492
+ if (new Dec(accData.suppliedUsd).gt(0))
493
+ positions[address.toLowerCase()].morphoMidnight[market.value] = { error: '', data: accData };
494
+ }
495
+ if (earnDataPromise.status !== 'rejected') {
496
+ const earnData = earnDataPromise.value;
497
+ if (earnData && new Dec(earnData.amount).gt(0)) {
498
+ stakingPositions[address.toLowerCase()].morphoMidnight[market.value] = {
499
+ error: '',
500
+ data: earnData,
501
+ };
502
+ }
503
+ }
480
504
  }
481
505
  catch (error) {
482
506
  console.error(`Error fetching MorphoMidnight account data for address ${address} on market ${market.value}:`, error);
@@ -7,7 +7,8 @@ export declare enum CompoundVersions {
7
7
  'CompoundV3USDbC' = "v3-USDbC",
8
8
  'CompoundV3USDT' = "v3-USDT",
9
9
  'CompoundV3USDS' = "v3-USDS",
10
- 'CompoundV3wstETH' = "v3-wstETH"
10
+ 'CompoundV3wstETH' = "v3-wstETH",
11
+ 'CompoundV3InstitutionalUSDC' = "v3-institutional-USDC"
11
12
  }
12
13
  export declare enum CompoundVersionType {
13
14
  V2 = "v2",
@@ -21,6 +22,7 @@ export interface CompoundMarketData {
21
22
  chainIds: NetworkNumber[];
22
23
  label: string;
23
24
  shortLabel: string;
25
+ url: string;
24
26
  value: CompoundVersions;
25
27
  baseAsset: string;
26
28
  collAssets: readonly string[];
@@ -8,6 +8,7 @@ export var CompoundVersions;
8
8
  CompoundVersions["CompoundV3USDT"] = "v3-USDT";
9
9
  CompoundVersions["CompoundV3USDS"] = "v3-USDS";
10
10
  CompoundVersions["CompoundV3wstETH"] = "v3-wstETH";
11
+ CompoundVersions["CompoundV3InstitutionalUSDC"] = "v3-institutional-USDC";
11
12
  })(CompoundVersions || (CompoundVersions = {}));
12
13
  export var CompoundVersionType;
13
14
  (function (CompoundVersionType) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "2.1.149",
3
+ "version": "2.1.150-cirbtc-dev",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -1,12 +1,27 @@
1
- import { Client } from 'viem';
1
+ import { BaseError, Client, ContractFunctionRevertedError } from 'viem';
2
2
  import { assetAmountInEth, getAssetInfoByAddress } from '@defisaver/tokens';
3
3
  import { EthAddress, NetworkNumber } from '../types/common';
4
4
  import { CompV3ViewContractViem } from '../contracts';
5
5
  import { ClaimType } from '../types/claiming';
6
6
 
7
+ // `CometRewards.NotSupported(address)`. CometRewards reverts with it for any Comet that has no
8
+ // `rewardConfig` set - such a market never accrues COMP, so there is nothing to claim.
9
+ // Not decodable by name, since the error lives in CometRewards' ABI and we call through CompV3View.
10
+ const NOT_SUPPORTED_ERROR_SIG = '0x9c58e3b6';
11
+
12
+ // Only an actual on-chain revert counts - viem reports transport failures as ContractFunctionExecutionError too.
13
+ const isMarketWithoutRewardsConfig = (err: unknown) => {
14
+ if (!(err instanceof BaseError)) return false;
15
+ const revert = err.walk((e) => e instanceof ContractFunctionRevertedError);
16
+ return revert instanceof ContractFunctionRevertedError && !!revert.raw?.startsWith(NOT_SUPPORTED_ERROR_SIG);
17
+ };
18
+
7
19
  export const getCompoundV3Rewards = async (provider: Client, network: NetworkNumber, user: EthAddress, market: any) => {
8
20
  const compV3View = CompV3ViewContractViem(provider, network);
9
- const rewards = await compV3View.read.getRewardsOwed([market, user]);
21
+ const rewards = await compV3View.read.getRewardsOwed([market, user]).catch((err) => {
22
+ if (isMarketWithoutRewardsConfig(err)) return null;
23
+ throw err;
24
+ });
10
25
  if (!rewards || rewards.owed.toString() === '0' || getAssetInfoByAddress(rewards.token, network).symbol !== 'COMP') return [];
11
26
  return [{
12
27
  symbol: 'COMP',
@@ -509,6 +509,14 @@ export const cWstETHv3 = {
509
509
  },
510
510
  },
511
511
  } as const;
512
+ export const ciUSDCv3 = {
513
+ "abi": [{"inputs":[{"internalType":"address","name":"manager","type":"address"},{"internalType":"bool","name":"isAllowed_","type":"bool"}],"name":"allow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"governor","type":"address"},{"internalType":"address","name":"pauseGuardian","type":"address"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"baseTokenPriceFeed","type":"address"},{"internalType":"address","name":"extensionDelegate","type":"address"},{"internalType":"uint64","name":"supplyKink","type":"uint64"},{"internalType":"uint64","name":"supplyPerYearInterestRateSlopeLow","type":"uint64"},{"internalType":"uint64","name":"supplyPerYearInterestRateSlopeHigh","type":"uint64"},{"internalType":"uint64","name":"supplyPerYearInterestRateBase","type":"uint64"},{"internalType":"uint64","name":"borrowKink","type":"uint64"},{"internalType":"uint64","name":"borrowPerYearInterestRateSlopeLow","type":"uint64"},{"internalType":"uint64","name":"borrowPerYearInterestRateSlopeHigh","type":"uint64"},{"internalType":"uint64","name":"borrowPerYearInterestRateBase","type":"uint64"},{"internalType":"uint64","name":"storeFrontPriceFactor","type":"uint64"},{"internalType":"uint64","name":"trackingIndexScale","type":"uint64"},{"internalType":"uint64","name":"baseTrackingSupplySpeed","type":"uint64"},{"internalType":"uint64","name":"baseTrackingBorrowSpeed","type":"uint64"},{"internalType":"uint104","name":"baseMinForRewards","type":"uint104"},{"internalType":"uint104","name":"baseBorrowMin","type":"uint104"},{"internalType":"uint104","name":"targetReserves","type":"uint104"},{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"priceFeed","type":"address"},{"internalType":"uint8","name":"decimals","type":"uint8"},{"internalType":"uint64","name":"borrowCollateralFactor","type":"uint64"},{"internalType":"uint64","name":"liquidateCollateralFactor","type":"uint64"},{"internalType":"uint64","name":"liquidationFactor","type":"uint64"},{"internalType":"uint128","name":"supplyCap","type":"uint128"}],"internalType":"struct CometConfiguration.AssetConfig[]","name":"assetConfigs","type":"tuple[]"}],"internalType":"struct CometConfiguration.Configuration","name":"config","type":"tuple"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Absurd","type":"error"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"BadAsset","type":"error"},{"inputs":[],"name":"BadDecimals","type":"error"},{"inputs":[],"name":"BadDiscount","type":"error"},{"inputs":[],"name":"BadMinimum","type":"error"},{"inputs":[],"name":"BadPrice","type":"error"},{"inputs":[],"name":"BorrowCFTooLarge","type":"error"},{"inputs":[],"name":"BorrowTooSmall","type":"error"},{"inputs":[],"name":"InsufficientReserves","type":"error"},{"inputs":[],"name":"InvalidInt104","type":"error"},{"inputs":[],"name":"InvalidInt256","type":"error"},{"inputs":[],"name":"InvalidUInt104","type":"error"},{"inputs":[],"name":"InvalidUInt128","type":"error"},{"inputs":[],"name":"InvalidUInt64","type":"error"},{"inputs":[],"name":"LiquidateCFTooLarge","type":"error"},{"inputs":[],"name":"NegativeNumber","type":"error"},{"inputs":[],"name":"NoSelfTransfer","type":"error"},{"inputs":[],"name":"NotCollateralized","type":"error"},{"inputs":[],"name":"NotForSale","type":"error"},{"inputs":[],"name":"NotLiquidatable","type":"error"},{"inputs":[],"name":"Paused","type":"error"},{"inputs":[],"name":"SupplyCapExceeded","type":"error"},{"inputs":[],"name":"TimestampTooLarge","type":"error"},{"inputs":[],"name":"TooManyAssets","type":"error"},{"inputs":[],"name":"TooMuchSlippage","type":"error"},{"inputs":[],"name":"TransferInFailed","type":"error"},{"inputs":[],"name":"TransferOutFailed","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"absorber","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"collateralAbsorbed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"usdValue","type":"uint256"}],"name":"AbsorbCollateral","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"absorber","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint256","name":"basePaidOut","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"usdValue","type":"uint256"}],"name":"AbsorbDebt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"baseAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collateralAmount","type":"uint256"}],"name":"BuyCollateral","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"supplyPaused","type":"bool"},{"indexed":false,"internalType":"bool","name":"transferPaused","type":"bool"},{"indexed":false,"internalType":"bool","name":"withdrawPaused","type":"bool"},{"indexed":false,"internalType":"bool","name":"absorbPaused","type":"bool"},{"indexed":false,"internalType":"bool","name":"buyPaused","type":"bool"}],"name":"PauseAction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Supply","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SupplyCollateral","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferCollateral","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawCollateral","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawReserves","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"absorber","type":"address"},{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"absorb","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"accrueAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"manager","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approveThis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseBorrowMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseMinForRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseScale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseTokenPriceFeed","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseTrackingBorrowSpeed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseTrackingSupplySpeed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"borrowBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowKink","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowPerSecondInterestRateBase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowPerSecondInterestRateSlopeHigh","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"borrowPerSecondInterestRateSlopeLow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"minAmount","type":"uint256"},{"internalType":"uint256","name":"baseAmount","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"buyCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"extensionDelegate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"i","type":"uint8"}],"name":"getAssetInfo","outputs":[{"components":[{"internalType":"uint8","name":"offset","type":"uint8"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"priceFeed","type":"address"},{"internalType":"uint64","name":"scale","type":"uint64"},{"internalType":"uint64","name":"borrowCollateralFactor","type":"uint64"},{"internalType":"uint64","name":"liquidateCollateralFactor","type":"uint64"},{"internalType":"uint64","name":"liquidationFactor","type":"uint64"},{"internalType":"uint128","name":"supplyCap","type":"uint128"}],"internalType":"struct CometCore.AssetInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"}],"name":"getAssetInfoByAddress","outputs":[{"components":[{"internalType":"uint8","name":"offset","type":"uint8"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"priceFeed","type":"address"},{"internalType":"uint64","name":"scale","type":"uint64"},{"internalType":"uint64","name":"borrowCollateralFactor","type":"uint64"},{"internalType":"uint64","name":"liquidateCollateralFactor","type":"uint64"},{"internalType":"uint64","name":"liquidationFactor","type":"uint64"},{"internalType":"uint128","name":"supplyCap","type":"uint128"}],"internalType":"struct CometCore.AssetInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"utilization","type":"uint256"}],"name":"getBorrowRate","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"priceFeed","type":"address"}],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"utilization","type":"uint256"}],"name":"getSupplyRate","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUtilization","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"manager","type":"address"}],"name":"hasPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initializeStorage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isAbsorbPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBorrowCollateralized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isBuyPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isLiquidatable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSupplyPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTransferPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isWithdrawPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"liquidatorPoints","outputs":[{"internalType":"uint32","name":"numAbsorbs","type":"uint32"},{"internalType":"uint64","name":"numAbsorbed","type":"uint64"},{"internalType":"uint128","name":"approxSpend","type":"uint128"},{"internalType":"uint32","name":"_reserved","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numAssets","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"supplyPaused","type":"bool"},{"internalType":"bool","name":"transferPaused","type":"bool"},{"internalType":"bool","name":"withdrawPaused","type":"bool"},{"internalType":"bool","name":"absorbPaused","type":"bool"},{"internalType":"bool","name":"buyPaused","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pauseGuardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"baseAmount","type":"uint256"}],"name":"quoteCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"storeFrontPriceFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"supply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"supplyFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"supplyKink","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"supplyPerSecondInterestRateBase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"supplyPerSecondInterestRateSlopeHigh","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"supplyPerSecondInterestRateSlopeLow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"supplyTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"targetReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBorrow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalsCollateral","outputs":[{"internalType":"uint128","name":"totalSupplyAsset","type":"uint128"},{"internalType":"uint128","name":"_reserved","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trackingIndexScale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferAsset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferAssetFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userBasic","outputs":[{"internalType":"int104","name":"principal","type":"int104"},{"internalType":"uint64","name":"baseTrackingIndex","type":"uint64"},{"internalType":"uint64","name":"baseTrackingAccrued","type":"uint64"},{"internalType":"uint16","name":"assetsIn","type":"uint16"},{"internalType":"uint8","name":"_reserved","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"userCollateral","outputs":[{"internalType":"uint128","name":"balance","type":"uint128"},{"internalType":"uint128","name":"_reserved","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawReserves","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTo","outputs":[],"stateMutability":"nonpayable","type":"function"}],
514
+ "networks": {
515
+ "1": {
516
+ "address": "0x207158a267CBD2598BB3d611D8CBdEE2709F2F8C",
517
+ },
518
+ },
519
+ } as const;
512
520
  export const CompV3View = {
513
521
  "abi": [{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_supplyAmount","type":"uint256"},{"internalType":"uint256","name":"_borrowAmount","type":"uint256"}],"name":"getApyAfterValuesEstimation","outputs":[{"internalType":"uint256","name":"utilization","type":"uint256"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getAssetPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"getAssets","outputs":[{"components":[{"internalType":"uint8","name":"offset","type":"uint8"},{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"priceFeed","type":"address"},{"internalType":"uint64","name":"scale","type":"uint64"},{"internalType":"uint64","name":"borrowCollateralFactor","type":"uint64"},{"internalType":"uint64","name":"liquidateCollateralFactor","type":"uint64"},{"internalType":"uint64","name":"liquidationFactor","type":"uint64"},{"internalType":"uint128","name":"supplyCap","type":"uint128"}],"internalType":"struct IComet.AssetInfo[]","name":"assets","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"getFullBaseTokenInfo","outputs":[{"components":[{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyIndex","type":"uint256"},{"internalType":"uint256","name":"borrowIndex","type":"uint256"},{"internalType":"uint256","name":"trackingSupplyIndex","type":"uint256"},{"internalType":"uint256","name":"trackingBorrowIndex","type":"uint256"},{"internalType":"uint256","name":"supplyRate","type":"uint256"},{"internalType":"uint256","name":"borrowRate","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"utilization","type":"uint256"},{"internalType":"uint256","name":"baseBorrowMin","type":"uint256"},{"internalType":"uint256","name":"baseTrackingBorrowRewardsSpeed","type":"uint256"},{"internalType":"uint256","name":"baseTrackingSupplyRewardsSpeed","type":"uint256"}],"internalType":"struct CompV3View.BaseTokenInfoFull","name":"baseToken","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_tokenAddr","type":"address"}],"name":"getFullCollInfo","outputs":[{"components":[{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"supplyReserved","type":"uint256"},{"internalType":"uint256","name":"borrowCollateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidateCollateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationFactor","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"}],"internalType":"struct CompV3View.CollateralInfoFull","name":"coll","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"getFullCollInfos","outputs":[{"components":[{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"supplyReserved","type":"uint256"},{"internalType":"uint256","name":"borrowCollateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidateCollateralFactor","type":"uint256"},{"internalType":"uint256","name":"liquidationFactor","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"supplyCap","type":"uint256"}],"internalType":"struct CompV3View.CollateralInfoFull[]","name":"colls","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"getGovernanceInfoFull","outputs":[{"components":[{"internalType":"bool","name":"isSupplyPaused","type":"bool"},{"internalType":"bool","name":"isTransferPaused","type":"bool"},{"internalType":"bool","name":"isWithdrawPaused","type":"bool"},{"internalType":"bool","name":"isAbsorbPaused","type":"bool"}],"internalType":"struct CompV3View.GovernanceInfoFull","name":"govInfo","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getLoanData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"depositValue","type":"uint256"},{"internalType":"uint256","name":"borrowAmount","type":"uint256"},{"internalType":"uint256","name":"borrowValue","type":"uint256"},{"internalType":"uint256","name":"collValue","type":"uint256"}],"internalType":"struct CompV3View.LoanData","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"getLoanDataArr","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address[]","name":"collAddr","type":"address[]"},{"internalType":"uint256[]","name":"collAmounts","type":"uint256[]"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"depositValue","type":"uint256"},{"internalType":"uint256","name":"borrowAmount","type":"uint256"},{"internalType":"uint256","name":"borrowValue","type":"uint256"},{"internalType":"uint256","name":"collValue","type":"uint256"}],"internalType":"struct CompV3View.LoanData[]","name":"loans","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getRewardsOwed","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"owed","type":"uint256"}],"internalType":"struct ICometRewards.RewardOwed","name":"rewardsOwed","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint64","name":"baseSupplyIndex","type":"uint64"},{"internalType":"uint64","name":"baseBorrowIndex","type":"uint64"},{"internalType":"uint64","name":"trackingSupplyIndex","type":"uint64"},{"internalType":"uint64","name":"trackingBorrowIndex","type":"uint64"},{"internalType":"uint104","name":"totalSupplyBase","type":"uint104"},{"internalType":"uint104","name":"totalBorrowBase","type":"uint104"},{"internalType":"uint40","name":"lastAccrualTime","type":"uint40"},{"internalType":"uint8","name":"pauseFlags","type":"uint8"}],"internalType":"struct IComet.TotalsBasic","name":"totals","type":"tuple"}],"name":"getUtilization","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_manager","type":"address"}],"name":"isAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}, {"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getRewardsOwed","outputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"owed","type":"uint256"}],"internalType":"struct ICometRewards.RewardOwed","name":"rewardsOwed","type":"tuple"}],"stateMutability":"view","type":"function"}],
514
522
  "networks": {
@@ -16,6 +16,7 @@ import {
16
16
  v3USDSCollAssets,
17
17
  v3USDTCollAssets,
18
18
  v3wstETHCollAssets,
19
+ v3InstitutionalUSDCCollAssets,
19
20
  } from './marketsAssets';
20
21
 
21
22
  export {
@@ -41,6 +42,7 @@ const BULKER_OPTIONS: Record<NetworkNumber, Record<CompoundVersions, CompoundBul
41
42
  [CompoundVersions.CompoundV3USDT]: STANDARD_BULKER_OPTIONS,
42
43
  [CompoundVersions.CompoundV3wstETH]: STANDARD_BULKER_OPTIONS,
43
44
  [CompoundVersions.CompoundV3USDS]: STANDARD_BULKER_OPTIONS,
45
+ [CompoundVersions.CompoundV3InstitutionalUSDC]: STANDARD_BULKER_OPTIONS,
44
46
 
45
47
  // Non-existing markets, keeping it because of typescript
46
48
  [CompoundVersions.CompoundV2]: EMPTY_BULKER_OPTIONS,
@@ -58,6 +60,7 @@ const BULKER_OPTIONS: Record<NetworkNumber, Record<CompoundVersions, CompoundBul
58
60
  [CompoundVersions.CompoundV3USDbC]: EMPTY_BULKER_OPTIONS,
59
61
  [CompoundVersions.CompoundV3wstETH]: EMPTY_BULKER_OPTIONS,
60
62
  [CompoundVersions.CompoundV3USDS]: EMPTY_BULKER_OPTIONS,
63
+ [CompoundVersions.CompoundV3InstitutionalUSDC]: EMPTY_BULKER_OPTIONS,
61
64
  },
62
65
  [NetworkNumber.Base]: {
63
66
  [CompoundVersions.CompoundV3ETH]: STANDARD_BULKER_OPTIONS,
@@ -70,6 +73,7 @@ const BULKER_OPTIONS: Record<NetworkNumber, Record<CompoundVersions, CompoundBul
70
73
  [CompoundVersions.CompoundV3USDCe]: EMPTY_BULKER_OPTIONS,
71
74
  [CompoundVersions.CompoundV3USDT]: EMPTY_BULKER_OPTIONS,
72
75
  [CompoundVersions.CompoundV3wstETH]: EMPTY_BULKER_OPTIONS,
76
+ [CompoundVersions.CompoundV3InstitutionalUSDC]: EMPTY_BULKER_OPTIONS,
73
77
  },
74
78
  [NetworkNumber.Opt]: {
75
79
  [CompoundVersions.CompoundV3USDC]: STANDARD_BULKER_OPTIONS,
@@ -81,6 +85,7 @@ const BULKER_OPTIONS: Record<NetworkNumber, Record<CompoundVersions, CompoundBul
81
85
  [CompoundVersions.CompoundV3USDCe]: EMPTY_BULKER_OPTIONS,
82
86
  [CompoundVersions.CompoundV3wstETH]: EMPTY_BULKER_OPTIONS,
83
87
  [CompoundVersions.CompoundV3USDS]: EMPTY_BULKER_OPTIONS,
88
+ [CompoundVersions.CompoundV3InstitutionalUSDC]: EMPTY_BULKER_OPTIONS,
84
89
  },
85
90
  [NetworkNumber.Linea]: {
86
91
  // Non-existing markets, keeping it because of typescript
@@ -92,6 +97,7 @@ const BULKER_OPTIONS: Record<NetworkNumber, Record<CompoundVersions, CompoundBul
92
97
  [CompoundVersions.CompoundV3USDCe]: EMPTY_BULKER_OPTIONS,
93
98
  [CompoundVersions.CompoundV3wstETH]: EMPTY_BULKER_OPTIONS,
94
99
  [CompoundVersions.CompoundV3USDS]: EMPTY_BULKER_OPTIONS,
100
+ [CompoundVersions.CompoundV3InstitutionalUSDC]: EMPTY_BULKER_OPTIONS,
95
101
  },
96
102
  [NetworkNumber.Plasma]: {
97
103
  // Non-existing markets, keeping it because of typescript
@@ -103,6 +109,7 @@ const BULKER_OPTIONS: Record<NetworkNumber, Record<CompoundVersions, CompoundBul
103
109
  [CompoundVersions.CompoundV3USDCe]: EMPTY_BULKER_OPTIONS,
104
110
  [CompoundVersions.CompoundV3wstETH]: EMPTY_BULKER_OPTIONS,
105
111
  [CompoundVersions.CompoundV3USDS]: EMPTY_BULKER_OPTIONS,
112
+ [CompoundVersions.CompoundV3InstitutionalUSDC]: EMPTY_BULKER_OPTIONS,
106
113
  },
107
114
  };
108
115
 
@@ -110,6 +117,7 @@ export const COMPOUND_V2: CompoundMarketData = {
110
117
  chainIds: [NetworkNumber.Eth],
111
118
  label: 'Compound V2',
112
119
  shortLabel: CompoundVersionType.V2,
120
+ url: '',
113
121
  value: CompoundVersions.CompoundV2,
114
122
  baseAsset: '',
115
123
  collAssets: compoundV2CollateralAssets.map(a => a.underlyingAsset),
@@ -126,6 +134,7 @@ export const COMPOUND_V3_USDC = (networkId: NetworkNumber): CompoundMarketData =
126
134
  chainIds: [NetworkNumber.Eth, NetworkNumber.Arb, NetworkNumber.Base, NetworkNumber.Opt],
127
135
  label: 'Compound V3 - USDC',
128
136
  shortLabel: CompoundVersionType.V3,
137
+ url: 'cusdcv3',
129
138
  value: CompoundVersions.CompoundV3USDC,
130
139
  baseAsset: 'USDC',
131
140
  collAssets: networkId ? v3USDCCollAssets[networkId] : [],
@@ -142,6 +151,7 @@ export const COMPOUND_V3_USDCe = (networkId: NetworkNumber): CompoundMarketData
142
151
  chainIds: [NetworkNumber.Arb],
143
152
  label: 'Compound V3 - USDC.e',
144
153
  shortLabel: CompoundVersionType.V3,
154
+ url: 'cusdcev3',
145
155
  value: CompoundVersions.CompoundV3USDCe,
146
156
  baseAsset: 'USDC.e',
147
157
  collAssets: networkId ? v3USDCeCollAssets[networkId] : [],
@@ -158,6 +168,7 @@ export const COMPOUND_V3_ETH = (networkId: NetworkNumber): CompoundMarketData =>
158
168
  chainIds: [NetworkNumber.Eth, NetworkNumber.Base, NetworkNumber.Arb, NetworkNumber.Opt],
159
169
  label: 'Compound V3 - ETH',
160
170
  shortLabel: CompoundVersionType.V3,
171
+ url: 'cethv3',
161
172
  value: CompoundVersions.CompoundV3ETH,
162
173
  baseAsset: 'ETH',
163
174
  collAssets: networkId ? v3ETHCollAssets[networkId] : [],
@@ -174,6 +185,7 @@ export const COMPOUND_V3_USDBC = (networkId: NetworkNumber): CompoundMarketData
174
185
  chainIds: [NetworkNumber.Base],
175
186
  label: 'Compound V3 - USDbC',
176
187
  shortLabel: CompoundVersionType.V3,
188
+ url: 'cusdbcv3',
177
189
  value: CompoundVersions.CompoundV3USDbC,
178
190
  baseAsset: 'USDbC',
179
191
  collAssets: networkId ? v3USDbCCollAssets[networkId] : [],
@@ -190,6 +202,7 @@ export const COMPOUND_V3_USDT = (networkId: NetworkNumber): CompoundMarketData =
190
202
  chainIds: [NetworkNumber.Eth, NetworkNumber.Arb, NetworkNumber.Opt],
191
203
  label: 'Compound V3 - USDT',
192
204
  shortLabel: CompoundVersionType.V3,
205
+ url: 'cusdtv3',
193
206
  value: CompoundVersions.CompoundV3USDT,
194
207
  baseAsset: 'USDT',
195
208
  collAssets: networkId ? v3USDTCollAssets[networkId] : [],
@@ -206,6 +219,7 @@ export const COMPOUND_V3_WSTETH = (networkId: NetworkNumber): CompoundMarketData
206
219
  chainIds: [NetworkNumber.Eth],
207
220
  label: 'Compound V3 - wstETH',
208
221
  shortLabel: CompoundVersionType.V3,
222
+ url: 'cwstethv3',
209
223
  value: CompoundVersions.CompoundV3wstETH,
210
224
  baseAsset: 'wstETH',
211
225
  collAssets: networkId ? v3wstETHCollAssets[networkId] : [],
@@ -221,6 +235,7 @@ export const COMPOUND_V3_USDS = (networkId: NetworkNumber): CompoundMarketData =
221
235
  chainIds: [NetworkNumber.Eth, NetworkNumber.Base],
222
236
  label: 'Compound V3 - USDS',
223
237
  shortLabel: CompoundVersionType.V3,
238
+ url: 'cusdsv3',
224
239
  value: CompoundVersions.CompoundV3USDS,
225
240
  baseAsset: 'USDS',
226
241
  collAssets: networkId ? v3USDSCollAssets[networkId] : [],
@@ -232,6 +247,22 @@ export const COMPOUND_V3_USDS = (networkId: NetworkNumber): CompoundMarketData =
232
247
  bulkerOptions: BULKER_OPTIONS[networkId][CompoundVersions.CompoundV3USDS],
233
248
  });
234
249
 
250
+ export const COMPOUND_V3_INSTITUTIONAL_USDC = (networkId: NetworkNumber): CompoundMarketData => ({
251
+ chainIds: [NetworkNumber.Eth],
252
+ label: 'Compound V3 - Institutional USDC',
253
+ shortLabel: CompoundVersionType.V3,
254
+ url: 'ciusdcv3',
255
+ value: CompoundVersions.CompoundV3InstitutionalUSDC,
256
+ baseAsset: 'USDC',
257
+ collAssets: networkId ? v3InstitutionalUSDCCollAssets[networkId] : [],
258
+ baseMarket: 'ciUSDCv3',
259
+ baseMarketAddress: getConfigContractAddress('ciUSDCv3', networkId),
260
+ secondLabel: 'Market',
261
+ bulkerName: networkId === NetworkNumber.Eth ? 'CompV3BulkerMainnetETH' : 'CompV3BulkerL2',
262
+ bulkerAddress: getConfigContractAddress(networkId === NetworkNumber.Eth ? 'CompV3BulkerMainnetETH' : 'CompV3BulkerL2', networkId),
263
+ bulkerOptions: BULKER_OPTIONS[networkId][CompoundVersions.CompoundV3InstitutionalUSDC],
264
+ });
265
+
235
266
  export const CompoundMarkets = (networkId: NetworkNumber) => ({
236
267
  [CompoundVersions.CompoundV2]: COMPOUND_V2,
237
268
  [CompoundVersions.CompoundV3ETH]: COMPOUND_V3_ETH(networkId),
@@ -241,4 +272,5 @@ export const CompoundMarkets = (networkId: NetworkNumber) => ({
241
272
  [CompoundVersions.CompoundV3USDT]: COMPOUND_V3_USDT(networkId),
242
273
  [CompoundVersions.CompoundV3wstETH]: COMPOUND_V3_WSTETH(networkId),
243
274
  [CompoundVersions.CompoundV3USDS]: COMPOUND_V3_USDS(networkId),
275
+ [CompoundVersions.CompoundV3InstitutionalUSDC]: COMPOUND_V3_INSTITUTIONAL_USDC(networkId),
244
276
  }) as const;
@@ -95,4 +95,15 @@ export const v3wstETHCollAssets = {
95
95
  [NetworkNumber.Base]: [],
96
96
  [NetworkNumber.Linea]: [],
97
97
  [NetworkNumber.Plasma]: [],
98
+ };
99
+
100
+ export const v3InstitutionalUSDCCollAssetsEth = ['ETH', 'wstETH', 'cbBTC', 'WBTC'];
101
+
102
+ export const v3InstitutionalUSDCCollAssets = {
103
+ [NetworkNumber.Eth]: v3InstitutionalUSDCCollAssetsEth,
104
+ [NetworkNumber.Opt]: [],
105
+ [NetworkNumber.Arb]: [],
106
+ [NetworkNumber.Base]: [],
107
+ [NetworkNumber.Linea]: [],
108
+ [NetworkNumber.Plasma]: [],
98
109
  };