@gearbox-protocol/sdk 1.16.9 → 1.16.11

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/README.md CHANGED
@@ -1,5 +1,4 @@
1
1
  # Gearbox SDK
2
2
 
3
3
  Gearbox core types SDK
4
-
5
4
  Contains core datastructures which are used across multiple gearbox services
@@ -6,6 +6,18 @@ export declare class CreditRewards {
6
6
  static computeReward(creditManager: string, address: string, provider: providers.Provider, toBlock?: number): Promise<BigNumber>;
7
7
  static computeAllRewards(creditManager: string, provider: providers.Provider, toBlock?: number): Promise<Array<Reward>>;
8
8
  static parseEvents(events: Array<TypedEvent>, rewardPerBlock: RangedValue, toBlock: number): Array<Reward>;
9
+ static parseCMEvents(events: Array<TypedEvent>): {
10
+ borrowedRange: Record<string, RangedValue>;
11
+ totalBorrowedRange: RangedValue;
12
+ borrowed: Record<string, BigNumber>;
13
+ totalBorrowed: BigNumber;
14
+ };
15
+ static computeCMStats(creditManager: string, provider: providers.Provider, toBlock?: number): Promise<{
16
+ borrowedRange: Record<string, RangedValue>;
17
+ totalBorrowedRange: RangedValue;
18
+ borrowed: Record<string, BigNumber>;
19
+ totalBorrowed: BigNumber;
20
+ }>;
9
21
  static computeRewardInt(toBlock: number, balance: RangedValue, totalSupply: RangedValue, rewardPerBlock: RangedValue): BigNumber;
10
22
  protected static query(creditFacade: string, provider: providers.Provider, toBlock: number): Promise<Array<TypedEvent>>;
11
23
  protected static getRewardsRange(creditManager: string): RangedValue;
@@ -113,6 +113,13 @@ var CreditRewards = /** @class */ (function () {
113
113
  });
114
114
  };
115
115
  CreditRewards.parseEvents = function (events, rewardPerBlock, toBlock) {
116
+ var _a = CreditRewards.parseCMEvents(events), borrowedRange = _a.borrowedRange, totalBorrowedRange = _a.totalBorrowedRange, borrowed = _a.borrowed;
117
+ return Object.keys(borrowed).map(function (address) { return ({
118
+ address: address.toLowerCase(),
119
+ amount: CreditRewards.computeRewardInt(toBlock, borrowedRange[address], totalBorrowedRange, rewardPerBlock),
120
+ }); });
121
+ };
122
+ CreditRewards.parseCMEvents = function (events) {
116
123
  var borrowedRange = {};
117
124
  var totalBorrowedRange = new range_1.RangedValue();
118
125
  var borrowed = {};
@@ -173,10 +180,53 @@ var CreditRewards = /** @class */ (function () {
173
180
  }
174
181
  }
175
182
  });
176
- return Object.keys(borrowed).map(function (address) { return ({
177
- address: address.toLowerCase(),
178
- amount: CreditRewards.computeRewardInt(toBlock, borrowedRange[address], totalBorrowedRange, rewardPerBlock),
179
- }); });
183
+ return {
184
+ borrowedRange: borrowedRange,
185
+ totalBorrowedRange: totalBorrowedRange,
186
+ borrowed: borrowed,
187
+ totalBorrowed: totalBorrowed,
188
+ };
189
+ };
190
+ CreditRewards.computeCMStats = function (creditManager, provider, toBlock) {
191
+ return __awaiter(this, void 0, void 0, function () {
192
+ var toBlockQuery, _a, cm, cc, _b, _c, creditFacadesEvents, events, _i, creditFacadesEvents_2, cfe, query;
193
+ return __generator(this, function (_d) {
194
+ switch (_d.label) {
195
+ case 0:
196
+ _a = toBlock;
197
+ if (_a) return [3 /*break*/, 2];
198
+ return [4 /*yield*/, provider.getBlockNumber()];
199
+ case 1:
200
+ _a = (_d.sent());
201
+ _d.label = 2;
202
+ case 2:
203
+ toBlockQuery = _a;
204
+ cm = types_1.ICreditManagerV2__factory.connect(creditManager, provider);
205
+ _c = (_b = types_1.ICreditConfigurator__factory).connect;
206
+ return [4 /*yield*/, cm.creditConfigurator()];
207
+ case 3:
208
+ cc = _c.apply(_b, [_d.sent(), provider]);
209
+ return [4 /*yield*/, cc.queryFilter(cc.filters.CreditFacadeUpgraded())];
210
+ case 4:
211
+ creditFacadesEvents = _d.sent();
212
+ events = [];
213
+ _i = 0, creditFacadesEvents_2 = creditFacadesEvents;
214
+ _d.label = 5;
215
+ case 5:
216
+ if (!(_i < creditFacadesEvents_2.length)) return [3 /*break*/, 8];
217
+ cfe = creditFacadesEvents_2[_i];
218
+ return [4 /*yield*/, CreditRewards.query(cfe.args.newCreditFacade, provider, toBlockQuery)];
219
+ case 6:
220
+ query = _d.sent();
221
+ events.push.apply(events, query);
222
+ _d.label = 7;
223
+ case 7:
224
+ _i++;
225
+ return [3 /*break*/, 5];
226
+ case 8: return [2 /*return*/, CreditRewards.parseCMEvents(events)];
227
+ }
228
+ });
229
+ });
180
230
  };
181
231
  CreditRewards.computeRewardInt = function (toBlock, balance, totalSupply, rewardPerBlock) {
182
232
  var keys = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], balance.keys, true), totalSupply.keys, true), rewardPerBlock.keys, true), [
@@ -3,5 +3,7 @@ import { DieselTokenTypes } from "../tokens/gear";
3
3
  import { RangedValue } from "./range";
4
4
  export declare const poolRewardsPerBlock: Record<NetworkType, Record<DieselTokenTypes, RangedValue>>;
5
5
  export declare const GEAR_PER_BLOCK: Record<DieselTokenTypes, number>;
6
+ export declare const GEAR_PER_BLOCK_GIP30: Record<DieselTokenTypes, number>;
6
7
  export declare const GOERLI_BLOCK = 7694030;
7
8
  export declare const MAINNET_BLOCK = 15820000;
9
+ export declare const MAINNET_BLOCK_GIP30 = 15977000;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAINNET_BLOCK = exports.GOERLI_BLOCK = exports.GEAR_PER_BLOCK = exports.poolRewardsPerBlock = void 0;
3
+ exports.MAINNET_BLOCK_GIP30 = exports.MAINNET_BLOCK = exports.GOERLI_BLOCK = exports.GEAR_PER_BLOCK_GIP30 = exports.GEAR_PER_BLOCK = exports.poolRewardsPerBlock = void 0;
4
4
  var ethers_1 = require("ethers");
5
5
  var range_1 = require("./range");
6
6
  exports.poolRewardsPerBlock = {
@@ -26,6 +26,13 @@ exports.GEAR_PER_BLOCK = {
26
26
  dWBTC: 913,
27
27
  dwstETH: 1636,
28
28
  };
29
+ exports.GEAR_PER_BLOCK_GIP30 = {
30
+ dDAI: 2283,
31
+ dUSDC: 3101,
32
+ dWETH: 4014,
33
+ dWBTC: 457,
34
+ dwstETH: 0,
35
+ };
29
36
  exports.GOERLI_BLOCK = 7694030;
30
37
  exports.poolRewardsPerBlock.Goerli.dDAI.addValue(exports.GOERLI_BLOCK, ethers_1.BigNumber.from(10).pow(18).mul(exports.GEAR_PER_BLOCK.dDAI).div(100));
31
38
  exports.poolRewardsPerBlock.Goerli.dUSDC.addValue(exports.GOERLI_BLOCK, ethers_1.BigNumber.from(10).pow(18).mul(exports.GEAR_PER_BLOCK.dUSDC).div(100));
@@ -39,3 +46,9 @@ exports.poolRewardsPerBlock.Mainnet.dWETH.addValue(exports.MAINNET_BLOCK, ethers
39
46
  exports.poolRewardsPerBlock.Mainnet.dWBTC.addValue(exports.MAINNET_BLOCK, ethers_1.BigNumber.from(10).pow(18).mul(exports.GEAR_PER_BLOCK.dWBTC).div(100));
40
47
  exports.poolRewardsPerBlock.Mainnet.dwstETH.addValue(exports.MAINNET_BLOCK, ethers_1.BigNumber.from(10).pow(18).mul(exports.GEAR_PER_BLOCK.dwstETH).div(100));
41
48
  // poolRewardsPerBlock.Goerli.dDAI.addValue(90000, BigNumber.from(0));
49
+ exports.MAINNET_BLOCK_GIP30 = 15977000;
50
+ exports.poolRewardsPerBlock.Mainnet.dDAI.addValue(exports.MAINNET_BLOCK_GIP30, ethers_1.BigNumber.from(10).pow(18).mul(exports.GEAR_PER_BLOCK_GIP30.dDAI).div(100));
51
+ exports.poolRewardsPerBlock.Mainnet.dUSDC.addValue(exports.MAINNET_BLOCK_GIP30, ethers_1.BigNumber.from(10).pow(18).mul(exports.GEAR_PER_BLOCK_GIP30.dUSDC).div(100));
52
+ exports.poolRewardsPerBlock.Mainnet.dWETH.addValue(exports.MAINNET_BLOCK_GIP30, ethers_1.BigNumber.from(10).pow(18).mul(exports.GEAR_PER_BLOCK_GIP30.dWETH).div(100));
53
+ exports.poolRewardsPerBlock.Mainnet.dWBTC.addValue(exports.MAINNET_BLOCK_GIP30, ethers_1.BigNumber.from(10).pow(18).mul(exports.GEAR_PER_BLOCK_GIP30.dWBTC).div(100));
54
+ exports.poolRewardsPerBlock.Mainnet.dwstETH.addValue(exports.MAINNET_BLOCK_GIP30, ethers_1.BigNumber.from(10).pow(18).mul(exports.GEAR_PER_BLOCK_GIP30.dwstETH).div(100));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "1.16.9",
3
+ "version": "1.16.11",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",