@gearbox-protocol/sdk 1.5.0 → 1.5.3
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.
|
@@ -28,6 +28,8 @@ var __assign = (this && this.__assign) || function () {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.calcHealthFactor = exports.calcMaxIncreaseBorrow = exports.CreditManagerStat = exports.CreditManagerData = void 0;
|
|
30
30
|
var ethers_1 = require("ethers");
|
|
31
|
+
var txParser_1 = require("../parsers/txParser");
|
|
32
|
+
var token_1 = require("../tokens/token");
|
|
31
33
|
var types_1 = require("../types");
|
|
32
34
|
var price_1 = require("../utils/price");
|
|
33
35
|
var constants_1 = require("./constants");
|
|
@@ -75,6 +77,13 @@ var CreditManagerData = /** @class */ (function () {
|
|
|
75
77
|
this.liquidationDiscount = ethers_1.BigNumber.from(payload.feeLiquidation).toNumber();
|
|
76
78
|
this.feeLiquidationExpired = ethers_1.BigNumber.from(payload.feeLiquidationExpired).toNumber();
|
|
77
79
|
this.liquidationDiscountExpired = ethers_1.BigNumber.from(payload.feeLiquidationExpired).toNumber();
|
|
80
|
+
if (this.creditFacade !== "") {
|
|
81
|
+
txParser_1.TxParser.addCreditFacade(this.creditFacade, token_1.tokenSymbolByAddress[this.underlyingToken]);
|
|
82
|
+
txParser_1.TxParser.addAdapters(payload.adapters.map(function (a) { return ({
|
|
83
|
+
adapter: a.adapter,
|
|
84
|
+
contract: a.allowedContract,
|
|
85
|
+
}); }));
|
|
86
|
+
}
|
|
78
87
|
}
|
|
79
88
|
CreditManagerData.prototype.getContractETH = function (signer) {
|
|
80
89
|
return types_1.ICreditManager__factory.connect(this.address, signer);
|
|
@@ -11,8 +11,8 @@ export declare class TxParser {
|
|
|
11
11
|
protected static parsers: Record<string, IParser>;
|
|
12
12
|
static parse(address: string, calldata: string): string;
|
|
13
13
|
static parseMultiCall(calls: Array<MultiCallStruct>): Array<string>;
|
|
14
|
-
static addAdapters(adapters: Array<AdapterForParser>):
|
|
14
|
+
static addAdapters(adapters: Array<AdapterForParser>): void;
|
|
15
15
|
static addContracts(network: NetworkType): void;
|
|
16
|
-
static
|
|
16
|
+
static addCreditFacade(creditFacade: string, underlying: SupportedToken): void;
|
|
17
17
|
protected static addParser(address: string, contract: SupportedContract, adapterType: number, isContract: boolean): void;
|
|
18
18
|
}
|
package/lib/parsers/txParser.js
CHANGED
|
@@ -1,40 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
3
|
exports.TxParser = void 0;
|
|
40
4
|
var adapters_1 = require("../contracts/adapters");
|
|
@@ -51,7 +15,7 @@ var TxParser = /** @class */ (function () {
|
|
|
51
15
|
function TxParser() {
|
|
52
16
|
}
|
|
53
17
|
TxParser.parse = function (address, calldata) {
|
|
54
|
-
var parser = this.parsers[address];
|
|
18
|
+
var parser = this.parsers[address.toLowerCase()];
|
|
55
19
|
if (!parser)
|
|
56
20
|
throw new Error("Can find parser for ".concat(address));
|
|
57
21
|
return parser.parse(calldata);
|
|
@@ -62,17 +26,11 @@ var TxParser = /** @class */ (function () {
|
|
|
62
26
|
});
|
|
63
27
|
};
|
|
64
28
|
TxParser.addAdapters = function (adapters) {
|
|
65
|
-
|
|
66
|
-
var
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
contract = contracts_1.contractsByAddress[a.contract.toLowerCase()];
|
|
71
|
-
TxParser.addParser(a.adapter, contract, contracts_1.contractParams[contract].type, false);
|
|
72
|
-
}
|
|
73
|
-
return [2 /*return*/];
|
|
74
|
-
});
|
|
75
|
-
});
|
|
29
|
+
for (var _i = 0, adapters_2 = adapters; _i < adapters_2.length; _i++) {
|
|
30
|
+
var a = adapters_2[_i];
|
|
31
|
+
var contract = contracts_1.contractsByAddress[a.contract.toLowerCase()];
|
|
32
|
+
TxParser.addParser(a.adapter, contract, contracts_1.contractParams[contract].type, false);
|
|
33
|
+
}
|
|
76
34
|
};
|
|
77
35
|
TxParser.addContracts = function (network) {
|
|
78
36
|
for (var _i = 0, _a = Object.keys(contracts_1.contractParams); _i < _a.length; _i++) {
|
|
@@ -81,16 +39,17 @@ var TxParser = /** @class */ (function () {
|
|
|
81
39
|
TxParser.addParser(address, c, contracts_1.contractParams[c].type, true);
|
|
82
40
|
}
|
|
83
41
|
};
|
|
84
|
-
TxParser.
|
|
42
|
+
TxParser.addCreditFacade = function (creditFacade, underlying) {
|
|
85
43
|
this.parsers[creditFacade.toLowerCase()] = new creditFacadeParser_1.CreditFacadeParser(underlying);
|
|
86
44
|
};
|
|
87
45
|
TxParser.addParser = function (address, contract, adapterType, isContract) {
|
|
46
|
+
var addressLC = address.toLowerCase();
|
|
88
47
|
switch (adapters_1.AdapterInterface[adapterType]) {
|
|
89
48
|
case "UNISWAP_V2_ROUTER":
|
|
90
|
-
TxParser.parsers[
|
|
49
|
+
TxParser.parsers[addressLC] = new uniV2AdapterParser_1.UniswapV2AdapterParser(contract, isContract);
|
|
91
50
|
break;
|
|
92
51
|
case "UNISWAP_V3_ROUTER":
|
|
93
|
-
TxParser.parsers[
|
|
52
|
+
TxParser.parsers[addressLC] = new uniV3AdapterParser_1.UniswapV3AdapterParser(contract, isContract);
|
|
94
53
|
break;
|
|
95
54
|
case "CURVE_V1_EXCHANGE_ONLY":
|
|
96
55
|
case "CURVE_V1_2ASSETS":
|
|
@@ -98,21 +57,21 @@ var TxParser = /** @class */ (function () {
|
|
|
98
57
|
case "CURVE_V1_4ASSETS":
|
|
99
58
|
case "CURVE_V1_STECRV_POOL":
|
|
100
59
|
case "CURVE_V1_WRAPPER":
|
|
101
|
-
TxParser.parsers[
|
|
60
|
+
TxParser.parsers[addressLC] = new curveAdapterParser_1.CurveAdapterParser(contract, isContract);
|
|
102
61
|
break;
|
|
103
62
|
case "YEARN_V2":
|
|
104
|
-
TxParser.parsers[
|
|
63
|
+
TxParser.parsers[addressLC] = new yearnV2AdapterParser_1.YearnV2AdapterParser(contract, isContract);
|
|
105
64
|
break;
|
|
106
65
|
case "CONVEX_V1_BASE_REWARD_POOL":
|
|
107
|
-
TxParser.parsers[
|
|
66
|
+
TxParser.parsers[addressLC] = new convexBaseRewardPoolAdapterParser_1.ConvexBaseRewardPoolAdapterParser(contract, isContract);
|
|
108
67
|
break;
|
|
109
68
|
case "CONVEX_V1_BOOSTER":
|
|
110
|
-
TxParser.parsers[
|
|
69
|
+
TxParser.parsers[addressLC] = new convexBoosterAdapterParser_1.ConvexBoosterAdapterParser(contract, isContract);
|
|
111
70
|
break;
|
|
112
71
|
case "CONVEX_V1_CLAIM_ZAP":
|
|
113
72
|
break;
|
|
114
73
|
case "LIDO_V1":
|
|
115
|
-
TxParser.parsers[
|
|
74
|
+
TxParser.parsers[addressLC] = new lidoAdapterParser_1.LidoAdapterParser(contract, isContract);
|
|
116
75
|
break;
|
|
117
76
|
}
|
|
118
77
|
};
|