@gearbox-protocol/sdk 1.16.3 → 1.16.5
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/lib/rewards/creditRewards.js +15 -10
- package/package.json +1 -1
|
@@ -69,7 +69,7 @@ var CreditRewards = /** @class */ (function () {
|
|
|
69
69
|
};
|
|
70
70
|
CreditRewards.computeAllRewards = function (creditManagerData, provider, toBlock) {
|
|
71
71
|
return __awaiter(this, void 0, void 0, function () {
|
|
72
|
-
var toBlockQuery, _a, query, borrowedRange,
|
|
72
|
+
var toBlockQuery, _a, query, borrowedRange, totalBorrowedRange, rewardPerBlock, borrowed, totalBorrowed, cfi;
|
|
73
73
|
return __generator(this, function (_b) {
|
|
74
74
|
switch (_b.label) {
|
|
75
75
|
case 0:
|
|
@@ -85,17 +85,18 @@ var CreditRewards = /** @class */ (function () {
|
|
|
85
85
|
case 3:
|
|
86
86
|
query = _b.sent();
|
|
87
87
|
borrowedRange = {};
|
|
88
|
-
|
|
89
|
-
rewardPerBlock = CreditRewards.getRewardsRange(creditManagerData.
|
|
88
|
+
totalBorrowedRange = new range_1.RangedValue();
|
|
89
|
+
rewardPerBlock = CreditRewards.getRewardsRange(creditManagerData.address);
|
|
90
90
|
borrowed = {};
|
|
91
91
|
totalBorrowed = ethers_1.BigNumber.from(0);
|
|
92
92
|
cfi = types_1.ICreditFacade__factory.connect(creditManagerData.creditFacade, provider).interface;
|
|
93
93
|
query.forEach(function (e) {
|
|
94
|
+
var event = cfi.parseLog(e);
|
|
94
95
|
switch (e.topics[0]) {
|
|
95
96
|
case cfi.getEventTopic("OpenCreditAccount"): {
|
|
96
|
-
var _a =
|
|
97
|
-
.args, onBehalfOf = _a.onBehalfOf, borrowAmount = _a.borrowAmount;
|
|
97
|
+
var _a = event.args, onBehalfOf = _a.onBehalfOf, borrowAmount = _a.borrowAmount;
|
|
98
98
|
totalBorrowed = totalBorrowed.add(borrowAmount);
|
|
99
|
+
totalBorrowedRange.addValue(e.blockNumber, totalBorrowed);
|
|
99
100
|
borrowed[onBehalfOf] = borrowAmount;
|
|
100
101
|
if (!borrowedRange[onBehalfOf]) {
|
|
101
102
|
borrowedRange[onBehalfOf] = new range_1.RangedValue();
|
|
@@ -107,28 +108,32 @@ var CreditRewards = /** @class */ (function () {
|
|
|
107
108
|
case cfi.getEventTopic("LiquidateCreditAccount"):
|
|
108
109
|
case cfi.getEventTopic("LiquidateExpiredCreditAccount"): {
|
|
109
110
|
// We need { borrower} only so, we can use any event to get it from args
|
|
110
|
-
var borrower =
|
|
111
|
+
var borrower = event
|
|
112
|
+
.args.borrower;
|
|
111
113
|
totalBorrowed = totalBorrowed.sub(borrowed[borrower]);
|
|
114
|
+
totalBorrowedRange.addValue(e.blockNumber, totalBorrowed);
|
|
112
115
|
borrowed[borrower] = ethers_1.BigNumber.from(0);
|
|
113
116
|
borrowedRange[borrower].addValue(e.blockNumber, ethers_1.BigNumber.from(0));
|
|
114
117
|
break;
|
|
115
118
|
}
|
|
116
119
|
case cfi.getEventTopic("IncreaseBorrowedAmount"): {
|
|
117
|
-
var _b =
|
|
120
|
+
var _b = event.args, borrower = _b.borrower, amount = _b.amount;
|
|
118
121
|
totalBorrowed = totalBorrowed.add(amount);
|
|
122
|
+
totalBorrowedRange.addValue(e.blockNumber, totalBorrowed);
|
|
119
123
|
borrowed[borrower] = borrowed[borrower].add(amount);
|
|
120
124
|
borrowedRange[borrower].addValue(e.blockNumber, borrowed[borrower]);
|
|
121
125
|
break;
|
|
122
126
|
}
|
|
123
127
|
case cfi.getEventTopic("DecreaseBorrowedAmount"): {
|
|
124
|
-
var _c =
|
|
128
|
+
var _c = event.args, borrower = _c.borrower, amount = _c.amount;
|
|
125
129
|
totalBorrowed = totalBorrowed.sub(amount);
|
|
130
|
+
totalBorrowedRange.addValue(e.blockNumber, totalBorrowed);
|
|
126
131
|
borrowed[borrower] = borrowed[borrower].sub(amount);
|
|
127
132
|
borrowedRange[borrower].addValue(e.blockNumber, borrowed[borrower]);
|
|
128
133
|
break;
|
|
129
134
|
}
|
|
130
135
|
case cfi.getEventTopic("TransferAccount"): {
|
|
131
|
-
var _d =
|
|
136
|
+
var _d = event.args, newOwner = _d.newOwner, oldOwner = _d.oldOwner;
|
|
132
137
|
borrowed[newOwner] = borrowed[oldOwner];
|
|
133
138
|
if (!borrowed[newOwner]) {
|
|
134
139
|
borrowedRange[newOwner] = new range_1.RangedValue();
|
|
@@ -142,7 +147,7 @@ var CreditRewards = /** @class */ (function () {
|
|
|
142
147
|
});
|
|
143
148
|
return [2 /*return*/, Object.keys(borrowed).map(function (address) { return ({
|
|
144
149
|
address: address,
|
|
145
|
-
amount: CreditRewards.computeRewardInt(toBlockQuery, borrowedRange[address],
|
|
150
|
+
amount: CreditRewards.computeRewardInt(toBlockQuery, borrowedRange[address], totalBorrowedRange, rewardPerBlock),
|
|
146
151
|
}); })];
|
|
147
152
|
}
|
|
148
153
|
});
|