@gearbox-protocol/sdk 3.0.0-next.200 → 3.0.0-next.202

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.
@@ -5,7 +5,7 @@ type MainnetCreditManagersV2 = "DAI_V2" | "USDC_V2" | "WETH_V2" | "WSTETH_V2" |
5
5
  type MainnetCreditManagersV2_1 = "WETH_V2_1";
6
6
  type MainnetCreditManagersV3 = "USDC_V3_TRADE_TIER_1" | "USDC_V3_TRADE_TIER_2" | "USDC_V3_TRADE_TIER_3" | "WBTC_V3_TRADE_TIER_1" | "WBTC_V3_TRADE_TIER_2" | "WBTC_V3_TRADE_TIER_3" | "WETH_V3_TRADE_TIER_1" | "WETH_V3_TRADE_TIER_2" | "WETH_V3_TRADE_TIER_3" | "USDC_V3_FARM" | "WETH_V3_FARM" | "WETH_V3_RESTAKING" | "USDT_V3_TIER_1_BROKEN" | "GHO_V3_TIER_1" | "DAI_V3_TIER_1" | "USDT_V3_TIER_1" | "CRVUSD_V3_TIER_1";
7
7
  export type MainnetCreditManagers = MainnetCreditManagersV1 | MainnetCreditManagersV2 | MainnetCreditManagersV2_1 | MainnetCreditManagersV3;
8
- export type ArbitrumCreditManagers = "USDC_E_V3_TRADE_TIER_1" | "USDC_E_V3_TRADE_TIER_2" | "WETH_V3_TRADE_TIER_1" | "WETH_V3_TRADE_TIER_2";
8
+ export type ArbitrumCreditManagers = "USDC_E_V3_TRADE_TIER_1" | "USDC_E_V3_TRADE_TIER_2" | "USDC_V3_TRADE_TIER_1" | "USDC_V3_TRADE_TIER_2" | "WETH_V3_TRADE_TIER_1" | "WETH_V3_TRADE_TIER_2";
9
9
  export type OptimismCreditManagers = "USDC_E_V3_TIER_1" | "USDC_E_V3_TIER_2" | "WETH_V3_TIER_1" | "WETH_V3_TRADE_TIER_2";
10
10
  export type BaseCreditManagers = never;
11
11
  type CreditManagersListType = {
@@ -17,7 +17,7 @@ export declare const creditManagerByAddress: Record<string, SupportedCreditManag
17
17
  export type MainnetPoolsV1 = "DAI_V1" | "USDC_V1" | "WETH_V1" | "WBTC_V1" | "WSTETH_V1" | "FRAX_V1";
18
18
  export type MainnetPoolsV3 = "USDC_V3_TRADE" | "WETH_V3_TRADE" | "WBTC_V3_TRADE" | "USDT_V3_BROKEN" | "GHO_V3" | "DAI_V3" | "USDT_V3" | "CRVUSD_V3";
19
19
  export type MainnetPools = MainnetPoolsV1 | MainnetPoolsV3;
20
- export type ArbitrumPools = "USDC_V3" | "WETH_V3";
20
+ export type ArbitrumPools = "USDC_V3" | "USDC_e_V3" | "WETH_V3";
21
21
  export type OptimismPools = "USDC_V3" | "WETH_V3";
22
22
  export type BasePools = never;
23
23
  type PoolsListType = {
@@ -42,6 +42,8 @@ exports.creditManagerByNetwork = {
42
42
  Arbitrum: {
43
43
  USDC_E_V3_TRADE_TIER_1: "0x75bc0fef1c93723be3d73b2000b5ba139a0c680c".toLowerCase(),
44
44
  USDC_E_V3_TRADE_TIER_2: "0xb4bc02c0859b372c61abccfa5df91b1ccaa4dd1f".toLowerCase(),
45
+ USDC_V3_TRADE_TIER_1: "0xe5e2d4bb15d26a6036805fce666c5488367623e2".toLowerCase(),
46
+ USDC_V3_TRADE_TIER_2: "0xb780dd9cec259a0bbf7b32587802f33730353e86".toLowerCase(),
45
47
  WETH_V3_TRADE_TIER_1: "0xcedaa4b4a42c0a771f6c24a3745c3ca3ed73f17a".toLowerCase(),
46
48
  WETH_V3_TRADE_TIER_2: "0x3ab1d35500d2da4216f5863229a7b81e2f6ff976".toLowerCase(),
47
49
  },
@@ -77,7 +79,8 @@ exports.poolByNetwork = {
77
79
  CRVUSD_V3: "0x8ef73f036feec873d0b2fd20892215df5b8bdd72".toLowerCase(),
78
80
  },
79
81
  Arbitrum: {
80
- USDC_V3: "0xa76c604145d7394dec36c49af494c144ff327861".toLowerCase(),
82
+ USDC_e_V3: "0xa76c604145d7394dec36c49af494c144ff327861".toLowerCase(),
83
+ USDC_V3: "0x890a69ef363c9c7bdd5e36eb95ceb569f63acbf6".toLowerCase(),
81
84
  WETH_V3: "0x04419d3509f13054f60d253e0c79491d9e683399".toLowerCase(),
82
85
  },
83
86
  Optimism: {
@@ -9,6 +9,7 @@ export declare class PoolData {
9
9
  readonly underlyingToken: string;
10
10
  readonly dieselToken: string;
11
11
  readonly stakedDieselToken: Array<string>;
12
+ readonly stakedDieselToken_old: Array<string>;
12
13
  readonly isPaused: boolean;
13
14
  readonly version: number;
14
15
  readonly poolQuotaKeeper: string;
package/lib/core/pool.js CHANGED
@@ -10,6 +10,7 @@ class PoolData {
10
10
  underlyingToken;
11
11
  dieselToken;
12
12
  stakedDieselToken;
13
+ stakedDieselToken_old;
13
14
  isPaused;
14
15
  version;
15
16
  poolQuotaKeeper;
@@ -43,6 +44,7 @@ class PoolData {
43
44
  this.underlyingToken = payload.underlying.toLowerCase();
44
45
  this.dieselToken = payload.dieselToken.toLowerCase();
45
46
  this.stakedDieselToken = (extra.stakedDieselToken || []).map(t => t.toLowerCase());
47
+ this.stakedDieselToken_old = (extra.stakedDieselToken_old || []).map(t => t.toLowerCase());
46
48
  this.isPaused = payload.isPaused;
47
49
  this.version = Number(payload.version);
48
50
  this.poolQuotaKeeper = payload.poolQuotaKeeper.toLowerCase();
@@ -10,7 +10,7 @@ interface PoolEvent {
10
10
  readonly poolName?: string;
11
11
  }
12
12
  export interface TxSerialized {
13
- type: "TxAddLiquidity" | "TxRemoveLiquidity" | "TxSwap" | "TxAddCollateral" | "TxIncreaseBorrowAmount" | "TxDecreaseBorrowAmount" | "TxOpenAccount" | "TxRepayAccount" | "TxCloseAccount" | "TxApprove" | "TxOpenMultitokenAccount" | "TxClaimReward" | "TxClaimNFT" | "TxClaimRewards" | "TxEnableTokens" | "TxUpdateQuota" | "TxGaugeStake" | "TxGaugeUnstake" | "TxGaugeClaim" | "TxGaugeVote" | "TxWithdrawCollateral" | "TxAddBot" | "TxRemoveBot" | "TxLiquidateAccount";
13
+ type: "TxAddLiquidity" | "TxRemoveLiquidity" | "TxSwap" | "TxAddCollateral" | "TxIncreaseBorrowAmount" | "TxDecreaseBorrowAmount" | "TxOpenAccount" | "TxRepayAccount" | "TxCloseAccount" | "TxApprove" | "TxOpenMultitokenAccount" | "TxClaimReward" | "TxClaimNFT" | "TxClaimRewards" | "TxEnableTokens" | "TxUpdateQuota" | "TxGaugeStake" | "TxGaugeUnstake" | "TxGaugeClaim" | "TxGaugeVote" | "TxWithdrawCollateral" | "TxAddBot" | "TxRemoveBot" | "TxLiquidateAccount" | "TxStakeDiesel" | "TxUnstakeDiesel";
14
14
  content: string;
15
15
  }
16
16
  export declare class TxSerializer {
@@ -47,6 +47,33 @@ export declare class TxRemoveLiquidity extends EVMTx implements PoolEvent {
47
47
  toString(): string;
48
48
  serialize(): TxSerialized;
49
49
  }
50
+ interface TxStakeDieselProps extends EVMTxProps {
51
+ amount: bigint;
52
+ from: string;
53
+ to: string;
54
+ pool: string;
55
+ poolName?: string;
56
+ }
57
+ export declare class TxStakeDiesel extends EVMTx implements PoolEvent {
58
+ readonly amount: bigint;
59
+ readonly from: string;
60
+ readonly to: string;
61
+ readonly pool: string;
62
+ readonly poolName?: string;
63
+ constructor(opts: TxStakeDieselProps);
64
+ toString(): string;
65
+ serialize(): TxSerialized;
66
+ }
67
+ export declare class TxUnstakeDiesel extends EVMTx implements PoolEvent {
68
+ readonly amount: bigint;
69
+ readonly from: string;
70
+ readonly to: string;
71
+ readonly pool: string;
72
+ readonly poolName?: string;
73
+ constructor(opts: TxStakeDieselProps);
74
+ toString(): string;
75
+ serialize(): TxSerialized;
76
+ }
50
77
  interface SwapProps extends EVMTxProps {
51
78
  protocol: string;
52
79
  operation: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TxRemoveBot = exports.TxAddBot = exports.TxWithdrawCollateral = exports.TxGaugeVote = exports.TxGaugeClaim = exports.TxGaugeUnstake = exports.TxGaugeStake = exports.TxUpdateQuota = exports.TxEnableTokens = exports.TxApprove = exports.TxCloseAccount = exports.TxLiquidateAccount = exports.TxRepayAccount = exports.TxClaimRewards = exports.TxClaimNFT = exports.TxClaimReward = exports.TxOpenMultitokenAccount = exports.TxOpenAccount = exports.TxDecreaseBorrowAmount = exports.TxIncreaseBorrowAmount = exports.TxAddCollateral = exports.TXSwap = exports.TxRemoveLiquidity = exports.TxAddLiquidity = exports.TxSerializer = void 0;
3
+ exports.TxRemoveBot = exports.TxAddBot = exports.TxWithdrawCollateral = exports.TxGaugeVote = exports.TxGaugeClaim = exports.TxGaugeUnstake = exports.TxGaugeStake = exports.TxUpdateQuota = exports.TxEnableTokens = exports.TxApprove = exports.TxCloseAccount = exports.TxLiquidateAccount = exports.TxRepayAccount = exports.TxClaimRewards = exports.TxClaimNFT = exports.TxClaimReward = exports.TxOpenMultitokenAccount = exports.TxOpenAccount = exports.TxDecreaseBorrowAmount = exports.TxIncreaseBorrowAmount = exports.TxAddCollateral = exports.TXSwap = exports.TxUnstakeDiesel = exports.TxStakeDiesel = exports.TxRemoveLiquidity = exports.TxAddLiquidity = exports.TxSerializer = void 0;
4
4
  const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
5
5
  const contractsRegister_1 = require("../contracts/contractsRegister");
6
6
  const math_1 = require("../utils/math");
@@ -61,6 +61,10 @@ class TxSerializer {
61
61
  return new TxRemoveBot(params);
62
62
  case "TxLiquidateAccount":
63
63
  return new TxLiquidateAccount(params);
64
+ case "TxStakeDiesel":
65
+ return new TxStakeDiesel(params);
66
+ case "TxUnstakeDiesel":
67
+ return new TxUnstakeDiesel(params);
64
68
  default:
65
69
  throw new Error(`Unknown transaction for parsing: ${e.type}`);
66
70
  }
@@ -116,6 +120,60 @@ class TxRemoveLiquidity extends eventOrTx_1.EVMTx {
116
120
  }
117
121
  }
118
122
  exports.TxRemoveLiquidity = TxRemoveLiquidity;
123
+ class TxStakeDiesel extends eventOrTx_1.EVMTx {
124
+ amount;
125
+ from;
126
+ to;
127
+ pool;
128
+ poolName;
129
+ constructor(opts) {
130
+ super(opts);
131
+ this.amount = opts.amount;
132
+ this.from = opts.from;
133
+ this.to = opts.to;
134
+ this.pool = opts.pool;
135
+ this.poolName = opts.poolName;
136
+ }
137
+ toString() {
138
+ const [fromSymbol, fromDecimals] = (0, sdk_gov_1.extractTokenData)(this.from);
139
+ const [toSymbol] = (0, sdk_gov_1.extractTokenData)(this.to);
140
+ return `${this.poolName || (0, contractsRegister_1.getContractName)(this.pool)}: Stake ${(0, sdk_gov_1.formatBN)(this.amount, fromDecimals || 18)} ${fromSymbol} => ${toSymbol}`;
141
+ }
142
+ serialize() {
143
+ return {
144
+ type: "TxStakeDiesel",
145
+ content: JSON.stringify(this),
146
+ };
147
+ }
148
+ }
149
+ exports.TxStakeDiesel = TxStakeDiesel;
150
+ class TxUnstakeDiesel extends eventOrTx_1.EVMTx {
151
+ amount;
152
+ from;
153
+ to;
154
+ pool;
155
+ poolName;
156
+ constructor(opts) {
157
+ super(opts);
158
+ this.amount = opts.amount;
159
+ this.from = opts.from;
160
+ this.to = opts.to;
161
+ this.pool = opts.pool;
162
+ this.poolName = opts.poolName;
163
+ }
164
+ toString() {
165
+ const [fromSymbol, fromDecimals] = (0, sdk_gov_1.extractTokenData)(this.from);
166
+ const [toSymbol] = (0, sdk_gov_1.extractTokenData)(this.to);
167
+ return `${this.poolName || (0, contractsRegister_1.getContractName)(this.pool)}: Unstake ${(0, sdk_gov_1.formatBN)(this.amount, fromDecimals || 18)} ${fromSymbol} => ${toSymbol}`;
168
+ }
169
+ serialize() {
170
+ return {
171
+ type: "TxUnstakeDiesel",
172
+ content: JSON.stringify(this),
173
+ };
174
+ }
175
+ }
176
+ exports.TxUnstakeDiesel = TxUnstakeDiesel;
119
177
  class TXSwap extends eventOrTx_1.EVMTx {
120
178
  protocol;
121
179
  operation;
@@ -34,12 +34,14 @@ export type FarmInfo = FarmInfoOutput & {
34
34
  symbol: SupportedToken;
35
35
  };
36
36
  type PoolsWithExtraRewardsList = Record<NetworkType, Array<SupportedToken>>;
37
+ type ReportHandler = (e: unknown, description?: string) => void;
37
38
  export interface GetLmRewardsInfoProps {
38
39
  currentTokenData: Record<SupportedToken, string>;
39
40
  provider: Provider | Signer;
40
41
  multicallAddress: string;
41
42
  poolsWithExtraRewards?: PoolsWithExtraRewardsList;
42
43
  network: NetworkType;
44
+ reportError?: ReportHandler;
43
45
  }
44
46
  export interface GetLmRewardsProps {
45
47
  baseRewardPoolsInfo: Record<string, FarmInfo>;
@@ -48,6 +50,7 @@ export interface GetLmRewardsProps {
48
50
  provider: Provider | Signer;
49
51
  airdropDistributorAddress: string | undefined;
50
52
  network: NetworkType;
53
+ reportError?: ReportHandler;
51
54
  }
52
55
  export interface ClaimLmRewardsV2Props {
53
56
  signer: Signer;
@@ -61,7 +64,7 @@ export interface ClaimLmRewardsV3Props {
61
64
  signer: Signer;
62
65
  }
63
66
  export declare class GearboxRewardsApi {
64
- static getLmRewardsInfo({ currentTokenData, provider, multicallAddress, poolsWithExtraRewards, network, }: GetLmRewardsInfoProps): Promise<{
67
+ static getLmRewardsInfo({ currentTokenData, provider, multicallAddress, poolsWithExtraRewards, network, reportError, }: GetLmRewardsInfoProps): Promise<{
65
68
  rewardPoolsInfo: Record<string, FarmInfo[]>;
66
69
  baseRewardPoolsInfo: Record<string, FarmInfo>;
67
70
  extraRewardPoolsInfo: Record<string, FarmInfo[]>;
@@ -70,9 +73,10 @@ export declare class GearboxRewardsApi {
70
73
  static getLmRewardsV2({ provider, account, currentTokenData, network, airdropDistributorAddress, }: GetLmRewardsProps): Promise<{
71
74
  rewards: GearboxLmReward[];
72
75
  }>;
73
- static getLmRewardsV3({ baseRewardPoolsInfo, currentTokenData, provider, account, network, }: GetLmRewardsProps): Promise<{
76
+ static getLmRewardsV3({ baseRewardPoolsInfo, currentTokenData, provider, account, network, reportError, }: GetLmRewardsProps): Promise<{
74
77
  rewards: (GearboxLmReward | GearboxLmReward[])[];
75
78
  }>;
79
+ private static extractFulfilled;
76
80
  static claimLmRewardsV2({ signer, account, provider, network, airdropDistributorAddress, }: ClaimLmRewardsV2Props): Promise<import("ethers").TransactionResponse | import("../utils/calls").MinimalTxInfo>;
77
81
  static claimLmRewardsV3({ reward, signer }: ClaimLmRewardsV3Props): Promise<import("ethers").TransactionResponse | import("../utils/calls").MinimalTxInfo>;
78
82
  private static getMerkle;
@@ -14,13 +14,13 @@ const math_1 = require("../utils/math");
14
14
  const abi_1 = require("./abi");
15
15
  const merklAPI_1 = require("./merklAPI");
16
16
  const DEFAULT_POOLS_WITH_EXTRA_REWARDS = {
17
- Mainnet: ["sdGHOV3", "sdcrvUSDV3"],
17
+ Mainnet: ["sdcrvUSDV3"],
18
18
  Arbitrum: [],
19
19
  Optimism: [],
20
20
  Base: [],
21
21
  };
22
22
  class GearboxRewardsApi {
23
- static async getLmRewardsInfo({ currentTokenData, provider, multicallAddress, poolsWithExtraRewards = DEFAULT_POOLS_WITH_EXTRA_REWARDS, network, }) {
23
+ static async getLmRewardsInfo({ currentTokenData, provider, multicallAddress, poolsWithExtraRewards = DEFAULT_POOLS_WITH_EXTRA_REWARDS, network, reportError, }) {
24
24
  const poolTokens = sdk_gov_1.TypedObjectUtils.entries(currentTokenData).filter(([symbol]) => (0, sdk_gov_1.isDieselStakedToken)(symbol));
25
25
  const farmInfoCalls = poolTokens.map(([, address]) => ({
26
26
  address: address,
@@ -45,7 +45,7 @@ class GearboxRewardsApi {
45
45
  };
46
46
  const tokenWithExtraRewards = poolsWithExtraRewards[network] || [];
47
47
  const chainId = sdk_gov_1.CHAINS[network];
48
- const [[blockTimestamp, ...mcResponse], ...extraRewardsResponses] = await Promise.all([
48
+ const [mc, ...extra] = await Promise.allSettled([
49
49
  (0, sdk_gov_1.multicall)([
50
50
  blockTimestampCall,
51
51
  ...farmInfoCalls,
@@ -59,15 +59,18 @@ class GearboxRewardsApi {
59
59
  },
60
60
  }))),
61
61
  ]);
62
+ const mcResponse = this.extractFulfilled(mc, reportError, "rewardsInfoMulticall") || [];
63
+ const [blockTimestamp = 0n, ...restMCResponse] = mcResponse;
62
64
  const farmInfoCallsEnd = farmInfoCalls.length;
63
- const farmInfo = mcResponse.slice(0, farmInfoCallsEnd);
65
+ const farmInfo = restMCResponse.slice(0, farmInfoCallsEnd);
64
66
  const farmSupplyCallsEnd = farmInfoCallsEnd + farmSupplyCalls.length;
65
- const farmSupply = mcResponse.slice(farmInfoCallsEnd, farmSupplyCallsEnd);
67
+ const farmSupply = restMCResponse.slice(farmInfoCallsEnd, farmSupplyCallsEnd);
66
68
  const rewardTokenCallsEnd = farmSupplyCallsEnd + rewardTokenCalls.length;
67
- const rewardTokens = mcResponse.slice(farmSupplyCallsEnd, rewardTokenCallsEnd);
68
- const extraRewards = extraRewardsResponses.reduce((acc, r, index) => {
69
+ const rewardTokens = restMCResponse.slice(farmSupplyCallsEnd, rewardTokenCallsEnd);
70
+ const extraRewards = extra.reduce((acc, r, index) => {
69
71
  const stakedSymbol = tokenWithExtraRewards[index];
70
- const l = r.data.reduce((infos, d) => {
72
+ const safeResp = this.extractFulfilled(r, reportError, `merkleCampaign: ${stakedSymbol}`);
73
+ const l = safeResp?.data.reduce((infos, d) => {
71
74
  const started = (0, sdk_gov_1.toBigInt)(d.startTimestamp || 0);
72
75
  const finished = (0, sdk_gov_1.toBigInt)(d.endTimestamp || 0);
73
76
  if (blockTimestamp >= started && blockTimestamp <= finished) {
@@ -86,25 +89,27 @@ class GearboxRewardsApi {
86
89
  }
87
90
  return infos;
88
91
  }, []);
89
- acc[currentTokenData[stakedSymbol]] = l;
92
+ if (l) {
93
+ acc[currentTokenData[stakedSymbol]] = l;
94
+ }
90
95
  return acc;
91
96
  }, {});
92
97
  const rewardPoolsInfo = poolTokens.reduce((acc, [, address], i) => {
93
98
  const currentInfo = farmInfo[i];
94
99
  const [symbol] = (0, sdk_gov_1.extractTokenData)(rewardTokens[i] || "");
95
- if (!symbol)
96
- throw new Error(`Can't get reward token for: ${(0, sdk_gov_1.extractTokenData)(address)[0]} [${address}]`);
97
- const baseReward = {
98
- duration: currentInfo.duration,
99
- finished: currentInfo.finished,
100
- reward: currentInfo.reward,
101
- balance: currentInfo.balance,
102
- symbol: symbol,
103
- };
104
- const extra = extraRewards[address] || [];
105
- acc.base[address] = baseReward;
106
- acc.extra[address] = extra;
107
- acc.all[address] = [baseReward, ...extra];
100
+ if (symbol) {
101
+ const baseReward = {
102
+ duration: currentInfo.duration,
103
+ finished: currentInfo.finished,
104
+ reward: currentInfo.reward,
105
+ balance: currentInfo.balance,
106
+ symbol: symbol,
107
+ };
108
+ const extra = extraRewards[address] || [];
109
+ acc.base[address] = baseReward;
110
+ acc.extra[address] = extra;
111
+ acc.all[address] = [baseReward, ...extra];
112
+ }
108
113
  return acc;
109
114
  }, { base: {}, extra: {}, all: {} });
110
115
  const rewardPoolsSupply = poolTokens.reduce((acc, [, address], i) => {
@@ -141,7 +146,7 @@ class GearboxRewardsApi {
141
146
  ];
142
147
  return { rewards: rewards };
143
148
  }
144
- static async getLmRewardsV3({ baseRewardPoolsInfo, currentTokenData, provider, account, network, }) {
149
+ static async getLmRewardsV3({ baseRewardPoolsInfo, currentTokenData, provider, account, network, reportError, }) {
145
150
  const poolTokens = Object.keys(baseRewardPoolsInfo);
146
151
  const farmedCalls = poolTokens.map(address => ({
147
152
  address: address,
@@ -158,10 +163,8 @@ class GearboxRewardsApi {
158
163
  },
159
164
  })),
160
165
  ]);
161
- const gearboxLm = gearboxLmResponse.status === "fulfilled" ? gearboxLmResponse.value : [];
162
- const merkleXYZLM = merkleXYZLMResponse.status === "fulfilled"
163
- ? merkleXYZLMResponse.value?.data
164
- : undefined;
166
+ const gearboxLm = this.extractFulfilled(gearboxLmResponse, reportError, "v3Rewards") || [];
167
+ const merkleXYZLM = this.extractFulfilled(merkleXYZLMResponse, reportError, "merkleRewards")?.data;
165
168
  const PREFIX = "ERC20";
166
169
  const REWARD_KEYS_RECORD = poolTokens.reduce((acc, t) => {
167
170
  const key = [PREFIX, (0, ethers_1.getAddress)(t)].join("_");
@@ -205,6 +208,20 @@ class GearboxRewardsApi {
205
208
  rewards: [...nonZero, ...extraRewards, zero],
206
209
  };
207
210
  }
211
+ static extractFulfilled(r, reportError, description) {
212
+ if (r.status === "fulfilled") {
213
+ return r.value;
214
+ }
215
+ else {
216
+ if (reportError) {
217
+ reportError(r.reason, description);
218
+ }
219
+ else {
220
+ console.error(r.reason);
221
+ }
222
+ return undefined;
223
+ }
224
+ }
208
225
  static async claimLmRewardsV2({ signer, account, provider, network, airdropDistributorAddress, }) {
209
226
  if (!airdropDistributorAddress)
210
227
  throw new Error(`V2 rewards are not supported on chain: ${network}`);
@@ -7,6 +7,7 @@ export type PoolDataPayload = Omit<ExcludeArrayProps<PoolDataStructOutput>, "zap
7
7
  };
8
8
  export interface PoolDataExtraPayload {
9
9
  stakedDieselToken: Array<string>;
10
+ stakedDieselToken_old: Array<string>;
10
11
  supplyAPY7D: number | undefined;
11
12
  }
12
13
  export type LinearModel = Omit<ExcludeArrayProps<LinearModelStructOutput>, "version"> & {
@@ -4,6 +4,9 @@ exports.TokenData = void 0;
4
4
  const config_1 = require("../config");
5
5
  const ALIASES = {
6
6
  USDC_e: "USDC.e",
7
+ dUSDC_eV3: "dUSDC.eV3",
8
+ sdUSDC_eV3: "sdUSDC.eV3",
9
+ sdWETHV3_OLD: "sdWETHV3 Old",
7
10
  };
8
11
  const NETWROK_DEPENDENT_ALIASES = {
9
12
  Mainnet: {},
@@ -11,10 +14,7 @@ const NETWROK_DEPENDENT_ALIASES = {
11
14
  dUSDCV3: "dUSDC.eV3",
12
15
  sdUSDCV3: "sdUSDC.eV3",
13
16
  },
14
- Arbitrum: {
15
- dUSDCV3: "dUSDC.eV3",
16
- sdUSDCV3: "sdUSDC.eV3",
17
- },
17
+ Arbitrum: {},
18
18
  Base: {},
19
19
  };
20
20
  class TokenData {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "3.0.0-next.200",
3
+ "version": "3.0.0-next.202",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@gearbox-protocol/bots-v3": "^1.5.1",
34
- "@gearbox-protocol/sdk-gov": "^2.7.3",
34
+ "@gearbox-protocol/sdk-gov": "^2.8.1",
35
35
  "axios": "^1.2.6",
36
36
  "decimal.js-light": "^2.5.1",
37
37
  "deep-eql": "^4.1.0",