@gearbox-protocol/sdk 0.0.39 → 0.0.42

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.
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.protocolData = exports.Protocols = void 0;
5
+ var Protocols;
6
+ (function (Protocols) {
7
+ Protocols[Protocols["Uniswap"] = 0] = "Uniswap";
8
+ Protocols[Protocols["Sushiswap"] = 1] = "Sushiswap";
9
+ Protocols[Protocols["Curve"] = 2] = "Curve";
10
+ Protocols[Protocols["Yearn"] = 3] = "Yearn";
11
+ Protocols[Protocols["Convex"] = 4] = "Convex";
12
+ Protocols[Protocols["Lido"] = 5] = "Lido";
13
+ })(Protocols = exports.Protocols || (exports.Protocols = {}));
14
+ exports.protocolData = (_a = {},
15
+ _a[Protocols.Uniswap] = {
16
+ name: "Uniswap",
17
+ icon: "/protocols/uniswap.png"
18
+ },
19
+ _a[Protocols.Sushiswap] = {
20
+ name: "Sushiswap",
21
+ icon: "/protocols/sushi.svg"
22
+ },
23
+ _a[Protocols.Curve] = {
24
+ name: "Curve",
25
+ icon: "/protocols/curve.svg"
26
+ },
27
+ _a[Protocols.Yearn] = {
28
+ name: "Yearn",
29
+ icon: "/protocols/yearn.svg"
30
+ },
31
+ _a[Protocols.Convex] = {
32
+ name: "Convex",
33
+ icon: "/protocols/convex.svg"
34
+ },
35
+ _a[Protocols.Lido] = {
36
+ name: "Lido",
37
+ icon: "/protocols/lido.svg"
38
+ },
39
+ _a);
@@ -1,4 +1,5 @@
1
1
  import { NetworkType } from "./constants";
2
+ import { ConvexPoolContract } from "./contracts";
2
3
  declare enum TokenType {
3
4
  CONNECTOR = 0,
4
5
  NORMAL_TOKEN = 1,
@@ -11,25 +12,49 @@ declare enum TokenType {
11
12
  CONVEX_STAKED_PHANTOM_TOKEN = 8
12
13
  }
13
14
  export declare const priority: Record<TokenType, number>;
15
+ export declare type NormalToken = "1INCH" | "AAVE" | "COMP" | "CRV" | "DAI" | "DPI" | "FEI" | "LINK" | "SNX" | "SUSHI" | "UNI" | "USDC" | "USDT" | "WBTC" | "WETH" | "YFI" | "STETH" | "FTM" | "CVX" | "FRAX" | "FXS" | "LDO" | "SPELL" | "LUSD" | "sUSD" | "GUSD" | "LUNA" | "LQTY";
16
+ export declare type CurveLPToken = "3Crv" | "steCRV" | "FRAX3CRV" | "LUSD3CRV" | "crvPlain3andSUSD" | "gusd3CRV";
17
+ export declare type YearnLPToken = "yvDAI" | "yvUSDC" | "yvWETH" | "yvWBTC" | "yvCurve_stETH" | "yvCurve_FRAX";
18
+ export declare type ConvexLPToken = "cvx3Crv" | "cvxsteCRV" | "cvxFRAX3CRV" | "cvxcrvPlain3andSUSD" | "cvxgusd3CRV";
19
+ export declare type ConvexStakedPhantomToken = "stkcvx3Crv" | "stkcvxsteCRV" | "stkcvxFRAX3CRV" | "stkcvxcrvPlain3andSUSD" | "stkcvxgusd3CRV";
20
+ export declare type SupportedToken = NormalToken | YearnLPToken | CurveLPToken | ConvexLPToken | ConvexStakedPhantomToken;
14
21
  export declare type TokenDataI = {
22
+ symbol: NormalToken;
15
23
  type: TokenType.CONNECTOR;
16
24
  } | {
25
+ symbol: NormalToken;
17
26
  type: TokenType.NORMAL_TOKEN;
18
27
  } | {
28
+ symbol: CurveLPToken;
19
29
  type: TokenType.CURVE_LP;
20
30
  } | {
31
+ symbol: YearnLPToken;
21
32
  type: TokenType.YEARN_VAULT;
22
- underlying: SupportedTokens;
33
+ underlying: NormalToken;
23
34
  } | {
35
+ symbol: CurveLPToken;
24
36
  type: TokenType.META_CURVE_LP;
25
37
  } | {
38
+ symbol: YearnLPToken;
26
39
  type: TokenType.YEARN_VAULT_OF_CURVE_LP;
40
+ underlying: CurveLPToken;
27
41
  } | {
42
+ symbol: YearnLPToken;
43
+ type: TokenType.YEARN_VAULT_OF_META_CURVE_LP;
44
+ underlying: CurveLPToken;
45
+ } | {
46
+ symbol: ConvexLPToken;
28
47
  type: TokenType.CONVEX_LP_TOKEN;
48
+ pool: ConvexPoolContract;
49
+ underlying: CurveLPToken;
50
+ stakedToken: ConvexStakedPhantomToken;
29
51
  } | {
30
- type: TokenType.YEARN_VAULT_OF_META_CURVE_LP;
52
+ symbol: ConvexStakedPhantomToken;
53
+ type: TokenType.CONVEX_STAKED_PHANTOM_TOKEN;
54
+ pool: ConvexPoolContract;
55
+ underlying: CurveLPToken;
56
+ lpToken: ConvexLPToken;
31
57
  };
32
- export declare type SupportedTokens = "1INCH" | "AAVE" | "COMP" | "CRV" | "DAI" | "DPI" | "FEI" | "LINK" | "SNX" | "SUSHI" | "UNI" | "USDC" | "USDT" | "WBTC" | "WETH" | "YFI" | "STETH" | "FTM" | "CVX" | "FRAX" | "FXS" | "LDO" | "SPELL" | "LUSD" | "sUSD" | "GUSD" | "LUNA" | "LQTY" | "yvDAI" | "yvUSDC" | "yvWETH" | "yvWBTC" | "3Crv" | "steCRV" | "FRAX3CRV" | "LUSD3CRV" | "crvPlain3andSUSD" | "gusd3CRV" | "cvx3Crv" | "cvxsteCRV" | "cvxFRAX3CRV" | "cvxcrvPlain3andSUSD" | "cvxgusd3CRV" | "yvCurve_stETH" | "yvCurve_FRAX";
33
- export declare const supportedTokens: Record<SupportedTokens, TokenDataI>;
34
- export declare const tokenDataByNetwork: Record<NetworkType, Record<SupportedTokens, string>>;
58
+ export declare const supportedTokens: Record<SupportedToken, TokenDataI>;
59
+ export declare const tokenDataByNetwork: Record<NetworkType, Record<SupportedToken, string>>;
35
60
  export {};
package/lib/core/token.js CHANGED
@@ -27,149 +27,247 @@ exports.priority = (_a = {},
27
27
  _a);
28
28
  exports.supportedTokens = {
29
29
  "1INCH": {
30
+ symbol: "1INCH",
30
31
  type: TokenType.NORMAL_TOKEN
31
32
  },
32
33
  AAVE: {
34
+ symbol: "AAVE",
33
35
  type: TokenType.NORMAL_TOKEN
34
36
  },
35
37
  COMP: {
38
+ symbol: "COMP",
36
39
  type: TokenType.NORMAL_TOKEN
37
40
  },
38
41
  CRV: {
42
+ symbol: "CRV",
39
43
  type: TokenType.NORMAL_TOKEN
40
44
  },
41
45
  DAI: {
46
+ symbol: "DAI",
42
47
  type: TokenType.CONNECTOR
43
48
  },
44
49
  DPI: {
50
+ symbol: "DPI",
45
51
  type: TokenType.NORMAL_TOKEN
46
52
  },
47
53
  FEI: {
54
+ symbol: "FEI",
48
55
  type: TokenType.NORMAL_TOKEN
49
56
  },
50
57
  LINK: {
58
+ symbol: "LINK",
51
59
  type: TokenType.NORMAL_TOKEN
52
60
  },
53
61
  SNX: {
62
+ symbol: "SNX",
54
63
  type: TokenType.NORMAL_TOKEN
55
64
  },
56
65
  SUSHI: {
66
+ symbol: "SUSHI",
57
67
  type: TokenType.NORMAL_TOKEN
58
68
  },
59
69
  UNI: {
70
+ symbol: "UNI",
60
71
  type: TokenType.NORMAL_TOKEN
61
72
  },
62
73
  USDC: {
74
+ symbol: "USDC",
63
75
  type: TokenType.CONNECTOR
64
76
  },
65
77
  USDT: {
78
+ symbol: "USDT",
66
79
  type: TokenType.NORMAL_TOKEN
67
80
  },
68
81
  WBTC: {
82
+ symbol: "WBTC",
69
83
  type: TokenType.CONNECTOR
70
84
  },
71
85
  WETH: {
86
+ symbol: "WETH",
72
87
  type: TokenType.CONNECTOR
73
88
  },
74
89
  YFI: {
90
+ symbol: "YFI",
75
91
  type: TokenType.NORMAL_TOKEN
76
92
  },
77
93
  /// UPDATE
78
94
  STETH: {
95
+ symbol: "STETH",
79
96
  type: TokenType.NORMAL_TOKEN
80
97
  },
81
98
  FTM: {
99
+ symbol: "FTM",
82
100
  type: TokenType.NORMAL_TOKEN
83
101
  },
84
102
  CVX: {
103
+ symbol: "CVX",
85
104
  type: TokenType.NORMAL_TOKEN
86
105
  },
87
106
  FRAX: {
107
+ symbol: "FRAX",
88
108
  type: TokenType.NORMAL_TOKEN
89
109
  },
90
110
  FXS: {
111
+ symbol: "FXS",
91
112
  type: TokenType.NORMAL_TOKEN
92
113
  },
93
114
  LDO: {
115
+ symbol: "LDO",
94
116
  type: TokenType.NORMAL_TOKEN
95
117
  },
96
118
  SPELL: {
119
+ symbol: "SPELL",
97
120
  type: TokenType.NORMAL_TOKEN
98
121
  },
99
122
  LUSD: {
123
+ symbol: "LUSD",
100
124
  type: TokenType.NORMAL_TOKEN
101
125
  },
102
126
  sUSD: {
127
+ symbol: "sUSD",
103
128
  type: TokenType.NORMAL_TOKEN
104
129
  },
105
130
  GUSD: {
131
+ symbol: "GUSD",
106
132
  type: TokenType.NORMAL_TOKEN
107
133
  },
108
134
  LUNA: {
135
+ symbol: "LUNA",
109
136
  type: TokenType.NORMAL_TOKEN
110
137
  },
111
138
  LQTY: {
139
+ symbol: "LQTY",
112
140
  type: TokenType.NORMAL_TOKEN
113
141
  },
114
142
  // YEARN TOKENS
115
143
  yvDAI: {
144
+ symbol: "yvDAI",
116
145
  type: TokenType.YEARN_VAULT,
117
- underlying: "DAI",
146
+ underlying: "DAI"
118
147
  },
119
148
  yvUSDC: {
149
+ symbol: "yvUSDC",
120
150
  type: TokenType.YEARN_VAULT,
121
151
  underlying: "USDC"
122
152
  },
123
153
  yvWETH: {
154
+ symbol: "yvWETH",
124
155
  type: TokenType.YEARN_VAULT,
125
- underlying: "WETH",
156
+ underlying: "WETH"
126
157
  },
127
158
  yvWBTC: {
159
+ symbol: "yvWBTC",
128
160
  type: TokenType.YEARN_VAULT,
129
161
  underlying: "WBTC"
130
162
  },
131
163
  // CURVE LP TOKENS
132
164
  "3Crv": {
133
- type: TokenType.CURVE_LP
165
+ symbol: "3Crv",
166
+ type: TokenType.CURVE_LP,
134
167
  },
135
168
  steCRV: {
169
+ symbol: "steCRV",
136
170
  type: TokenType.CURVE_LP
137
171
  },
138
172
  crvPlain3andSUSD: {
173
+ symbol: "crvPlain3andSUSD",
139
174
  type: TokenType.CURVE_LP
140
175
  },
141
176
  // META CURVE LP TOKENS
142
177
  FRAX3CRV: {
178
+ symbol: "FRAX3CRV",
143
179
  type: TokenType.META_CURVE_LP
144
180
  },
145
181
  LUSD3CRV: {
182
+ symbol: "LUSD3CRV",
146
183
  type: TokenType.META_CURVE_LP
147
184
  },
148
185
  gusd3CRV: {
186
+ symbol: "gusd3CRV",
149
187
  type: TokenType.META_CURVE_LP
150
188
  },
151
189
  // CONVEX LP TOKENS
152
190
  cvx3Crv: {
153
- type: TokenType.CONVEX_LP_TOKEN
191
+ symbol: "cvx3Crv",
192
+ type: TokenType.CONVEX_LP_TOKEN,
193
+ pool: "CONVEX_3CRV",
194
+ underlying: "3Crv",
195
+ stakedToken: "stkcvx3Crv",
154
196
  },
155
197
  cvxsteCRV: {
156
- type: TokenType.CONVEX_LP_TOKEN
198
+ symbol: "cvxsteCRV",
199
+ type: TokenType.CONVEX_LP_TOKEN,
200
+ pool: "CONVEX_STECRV",
201
+ underlying: "steCRV",
202
+ stakedToken: "stkcvxsteCRV",
157
203
  },
158
204
  cvxFRAX3CRV: {
159
- type: TokenType.CONVEX_LP_TOKEN
205
+ symbol: "cvxFRAX3CRV",
206
+ type: TokenType.CONVEX_LP_TOKEN,
207
+ pool: "CONVEX_FRAX3CRV",
208
+ underlying: "FRAX3CRV",
209
+ stakedToken: "stkcvxFRAX3CRV",
160
210
  },
161
211
  cvxcrvPlain3andSUSD: {
162
- type: TokenType.CONVEX_LP_TOKEN
212
+ symbol: "cvxcrvPlain3andSUSD",
213
+ type: TokenType.CONVEX_LP_TOKEN,
214
+ pool: "CONVEX_SUSD",
215
+ underlying: "crvPlain3andSUSD",
216
+ stakedToken: "stkcvxcrvPlain3andSUSD",
163
217
  },
164
218
  cvxgusd3CRV: {
165
- type: TokenType.CONVEX_LP_TOKEN
219
+ symbol: "cvxgusd3CRV",
220
+ type: TokenType.CONVEX_LP_TOKEN,
221
+ pool: "CONVEX_GUSD",
222
+ underlying: "gusd3CRV",
223
+ stakedToken: "stkcvxgusd3CRV"
166
224
  },
167
225
  // YEARN- CURVE TOKENS
168
226
  yvCurve_stETH: {
169
- type: TokenType.YEARN_VAULT_OF_CURVE_LP
227
+ symbol: "yvCurve_stETH",
228
+ type: TokenType.YEARN_VAULT_OF_CURVE_LP,
229
+ underlying: "steCRV"
170
230
  },
171
231
  yvCurve_FRAX: {
172
- type: TokenType.YEARN_VAULT_OF_META_CURVE_LP
232
+ symbol: "yvCurve_FRAX",
233
+ type: TokenType.YEARN_VAULT_OF_META_CURVE_LP,
234
+ underlying: "FRAX3CRV"
235
+ },
236
+ // STAKED CONVEX
237
+ stkcvx3Crv: {
238
+ symbol: "stkcvx3Crv",
239
+ type: TokenType.CONVEX_STAKED_PHANTOM_TOKEN,
240
+ pool: "CONVEX_3CRV",
241
+ underlying: "3Crv",
242
+ lpToken: "cvx3Crv",
243
+ },
244
+ stkcvxsteCRV: {
245
+ symbol: "stkcvxsteCRV",
246
+ type: TokenType.CONVEX_STAKED_PHANTOM_TOKEN,
247
+ pool: "CONVEX_STECRV",
248
+ underlying: "steCRV",
249
+ lpToken: "cvxsteCRV",
250
+ },
251
+ stkcvxFRAX3CRV: {
252
+ symbol: "stkcvxFRAX3CRV",
253
+ type: TokenType.CONVEX_STAKED_PHANTOM_TOKEN,
254
+ pool: "CONVEX_FRAX3CRV",
255
+ underlying: "FRAX3CRV",
256
+ lpToken: "cvxFRAX3CRV",
257
+ },
258
+ stkcvxcrvPlain3andSUSD: {
259
+ symbol: "stkcvxcrvPlain3andSUSD",
260
+ type: TokenType.CONVEX_STAKED_PHANTOM_TOKEN,
261
+ pool: "CONVEX_SUSD",
262
+ underlying: "crvPlain3andSUSD",
263
+ lpToken: "cvxcrvPlain3andSUSD",
264
+ },
265
+ stkcvxgusd3CRV: {
266
+ symbol: "stkcvxgusd3CRV",
267
+ type: TokenType.CONVEX_STAKED_PHANTOM_TOKEN,
268
+ pool: "CONVEX_GUSD",
269
+ underlying: "gusd3CRV",
270
+ lpToken: "cvxgusd3CRV"
173
271
  }
174
272
  };
175
273
  exports.tokenDataByNetwork = {
@@ -224,7 +322,11 @@ exports.tokenDataByNetwork = {
224
322
  cvxcrvPlain3andSUSD: "0x11D200ef1409cecA8D6d23e6496550f707772F11",
225
323
  cvxgusd3CRV: "0x15c2471ef46Fa721990730cfa526BcFb45574576",
226
324
  // CONVEX PHANTOM TOKEN ADDRESSES
227
- // <Provide them here>
325
+ stkcvx3Crv: "",
326
+ stkcvxsteCRV: "",
327
+ stkcvxFRAX3CRV: "",
328
+ stkcvxcrvPlain3andSUSD: "",
329
+ stkcvxgusd3CRV: "",
228
330
  // YEARN- CURVE TOKENS
229
331
  yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
230
332
  yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139"
@@ -281,6 +383,12 @@ exports.tokenDataByNetwork = {
281
383
  cvxFRAX3CRV: "",
282
384
  cvxcrvPlain3andSUSD: "",
283
385
  cvxgusd3CRV: "",
386
+ // CONVEX PHANTOM TOKEN ADDRESSES
387
+ stkcvx3Crv: "",
388
+ stkcvxsteCRV: "",
389
+ stkcvxFRAX3CRV: "",
390
+ stkcvxcrvPlain3andSUSD: "",
391
+ stkcvxgusd3CRV: "",
284
392
  // YEARN- CURVE TOKENS
285
393
  yvCurve_stETH: "0xdDc2FA328321573Bc2647C0135D75012c522CDAC",
286
394
  yvCurve_FRAX: ""
@@ -1,7 +1,7 @@
1
1
  import { BigNumber } from "ethers";
2
2
  import { TokenDataPayload } from "../payload/token";
3
3
  import { NetworkType } from "./constants";
4
- import { SupportedTokens } from "./token";
4
+ import { SupportedToken } from "./token";
5
5
  export declare class TokenData {
6
6
  readonly id: string;
7
7
  readonly symbol: string;
@@ -24,5 +24,5 @@ export interface TokenSavedData {
24
24
  type: TokenType;
25
25
  }
26
26
  export declare const WETHToken: Record<NetworkType, string>;
27
- export declare const connectors: Record<NetworkType, Array<SupportedTokens>>;
27
+ export declare const connectors: Record<NetworkType, Array<SupportedToken>>;
28
28
  export declare function getConnectors(networkType: NetworkType): string[];
@@ -0,0 +1,7 @@
1
+ import { Logger } from "tslog";
2
+ export declare abstract class LoggedDeployer {
3
+ protected readonly _logger: Logger;
4
+ protected constructor();
5
+ enableLogs(): void;
6
+ disableLogs(): void;
7
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoggedDeployer = void 0;
4
+ var tslog_1 = require("tslog");
5
+ var LoggedDeployer = /** @class */ (function () {
6
+ function LoggedDeployer() {
7
+ this._logger = new tslog_1.Logger({
8
+ minLevel: "error",
9
+ displayFunctionName: false,
10
+ displayLoggerName: false,
11
+ displayFilePath: "hidden",
12
+ });
13
+ }
14
+ LoggedDeployer.prototype.enableLogs = function () {
15
+ this._logger.setSettings({ minLevel: "debug" });
16
+ };
17
+ LoggedDeployer.prototype.disableLogs = function () {
18
+ this._logger.setSettings({ minLevel: "error" });
19
+ };
20
+ return LoggedDeployer;
21
+ }());
22
+ exports.LoggedDeployer = LoggedDeployer;
@@ -0,0 +1,13 @@
1
+ import { LoggedDeployer } from "./loggedDeployer";
2
+ export interface VerifyRequest {
3
+ address: string;
4
+ constructorArguments: Array<any>;
5
+ }
6
+ export declare class Verifier extends LoggedDeployer {
7
+ protected verifier: Array<VerifyRequest>;
8
+ protected apiKey: string;
9
+ constructor();
10
+ addContract(c: VerifyRequest): void;
11
+ deploy(): Promise<void>;
12
+ protected _saveVerifier(): void;
13
+ }
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
41
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
42
+ return new (P || (P = Promise))(function (resolve, reject) {
43
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
44
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
45
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
46
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
47
+ });
48
+ };
49
+ var __generator = (this && this.__generator) || function (thisArg, body) {
50
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
51
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
52
+ function verb(n) { return function (v) { return step([n, v]); }; }
53
+ function step(op) {
54
+ if (f) throw new TypeError("Generator is already executing.");
55
+ while (_) try {
56
+ 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;
57
+ if (y = 0, t) op = [op[0] & 2, t.value];
58
+ switch (op[0]) {
59
+ case 0: case 1: t = op; break;
60
+ case 4: _.label++; return { value: op[1], done: false };
61
+ case 5: _.label++; y = op[1]; op = [0]; continue;
62
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
63
+ default:
64
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
65
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
66
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
67
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
68
+ if (t[2]) _.ops.pop();
69
+ _.trys.pop(); continue;
70
+ }
71
+ op = body.call(thisArg, _);
72
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
73
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
74
+ }
75
+ };
76
+ var __importDefault = (this && this.__importDefault) || function (mod) {
77
+ return (mod && mod.__esModule) ? mod : { "default": mod };
78
+ };
79
+ Object.defineProperty(exports, "__esModule", { value: true });
80
+ exports.Verifier = void 0;
81
+ /*
82
+ * Copyright (c) 2021. Gearbox
83
+ */
84
+ var loggedDeployer_1 = require("./loggedDeployer");
85
+ var fs = __importStar(require("fs"));
86
+ var dotenv_1 = require("dotenv");
87
+ var axios_1 = __importDefault(require("axios"));
88
+ var hre = require("hardhat");
89
+ var VERIFIER_FILE = "./.verifier.json";
90
+ (0, dotenv_1.config)({ path: ".env" });
91
+ var Verifier = /** @class */ (function (_super) {
92
+ __extends(Verifier, _super);
93
+ function Verifier() {
94
+ var _this = _super.call(this) || this;
95
+ _this.verifier = [];
96
+ // this.verifier = verifierJson;
97
+ // JSON.parse("")
98
+ _this.apiKey = process.env.ETHERSCAN_API_KEY || "";
99
+ if (_this.apiKey === "")
100
+ throw new Error("No etherscan API provided");
101
+ return _this;
102
+ }
103
+ Verifier.prototype.addContract = function (c) {
104
+ // Add logic to check if address is already exists
105
+ this.verifier.push(c);
106
+ this._saveVerifier();
107
+ };
108
+ Verifier.prototype.deploy = function () {
109
+ return __awaiter(this, void 0, void 0, function () {
110
+ var i, params, url, isVerified;
111
+ return __generator(this, function (_a) {
112
+ switch (_a.label) {
113
+ case 0:
114
+ this.enableLogs();
115
+ i = 0;
116
+ _a.label = 1;
117
+ case 1:
118
+ if (!(i < this.verifier.length)) return [3 /*break*/, 7];
119
+ params = this.verifier.shift();
120
+ url = "https://api-kovan.etherscan.io/api?module=contract&action=getabi&address=".concat(params === null || params === void 0 ? void 0 : params.address, "&apikey=").concat(this.apiKey);
121
+ return [4 /*yield*/, axios_1.default.get(url)];
122
+ case 2:
123
+ isVerified = _a.sent();
124
+ console.log(isVerified.data);
125
+ if (!(isVerified.data.status === '1')) return [3 /*break*/, 3];
126
+ this._logger.debug("".concat(params === null || params === void 0 ? void 0 : params.address, " is already verified"));
127
+ return [3 /*break*/, 5];
128
+ case 3:
129
+ this._logger.info("Verifing: ".concat(params === null || params === void 0 ? void 0 : params.address));
130
+ return [4 /*yield*/, hre.run("verify:verify", params)];
131
+ case 4:
132
+ _a.sent();
133
+ _a.label = 5;
134
+ case 5:
135
+ this._saveVerifier();
136
+ _a.label = 6;
137
+ case 6:
138
+ i++;
139
+ return [3 /*break*/, 1];
140
+ case 7: return [2 /*return*/];
141
+ }
142
+ });
143
+ });
144
+ };
145
+ Verifier.prototype._saveVerifier = function () {
146
+ fs.writeFileSync(VERIFIER_FILE, JSON.stringify(this.verifier));
147
+ this._logger.debug("Deploy progress was saved into .verifier.json");
148
+ };
149
+ return Verifier;
150
+ }(loggedDeployer_1.LoggedDeployer));
151
+ exports.Verifier = Verifier;
152
+ // const verifier = new Verifier();
153
+ // verifier
154
+ // .deploy()
155
+ // .then(() => {
156
+ // process.exit(0);
157
+ // })
158
+ // .catch((error) => {
159
+ // console.error(error);
160
+ // process.exit(1);
161
+ // });
package/lib/index.d.ts CHANGED
@@ -28,9 +28,10 @@ export * from "./utils/math";
28
28
  export * from "./core/creditCard";
29
29
  export * from "./payload/graphPayload";
30
30
  export * from "./types/index";
31
+ export * from "./devops/verifierDeployer";
31
32
  export type { IAppPoolService, IAppCreditManager, IAppERC20, IAppAddressProvider, IDataCompressor, IWETHGateway } from "./types";
32
33
  export * from "./core/history";
33
34
  export { MultiCallContract } from "./utils/multicall";
34
35
  export { callRepeater } from "./utils/repeater";
35
36
  export { getContractName } from "./core/contractsRegister";
36
- export { AdapterInterface } from "./core/contracts";
37
+ export { AdapterInterface } from "./core/adapters";
package/lib/index.js CHANGED
@@ -45,6 +45,7 @@ __exportStar(require("./utils/math"), exports);
45
45
  __exportStar(require("./core/creditCard"), exports);
46
46
  __exportStar(require("./payload/graphPayload"), exports);
47
47
  __exportStar(require("./types/index"), exports);
48
+ __exportStar(require("./devops/verifierDeployer"), exports);
48
49
  __exportStar(require("./core/history"), exports);
49
50
  var multicall_1 = require("./utils/multicall");
50
51
  Object.defineProperty(exports, "MultiCallContract", { enumerable: true, get: function () { return multicall_1.MultiCallContract; } });
@@ -52,5 +53,5 @@ var repeater_1 = require("./utils/repeater");
52
53
  Object.defineProperty(exports, "callRepeater", { enumerable: true, get: function () { return repeater_1.callRepeater; } });
53
54
  var contractsRegister_1 = require("./core/contractsRegister");
54
55
  Object.defineProperty(exports, "getContractName", { enumerable: true, get: function () { return contractsRegister_1.getContractName; } });
55
- var contracts_1 = require("./core/contracts");
56
- Object.defineProperty(exports, "AdapterInterface", { enumerable: true, get: function () { return contracts_1.AdapterInterface; } });
56
+ var adapters_1 = require("./core/adapters");
57
+ Object.defineProperty(exports, "AdapterInterface", { enumerable: true, get: function () { return adapters_1.AdapterInterface; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "0.0.39",
3
+ "version": "0.0.42",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -16,12 +16,16 @@
16
16
  "moment": "^2.29.1"
17
17
  },
18
18
  "devDependencies": {
19
+ "@types/axios": "^0.14.0",
19
20
  "@types/jest": "^26.0.4",
20
21
  "@types/node": "^14.0.23",
21
- "ethers": "^5.4.5",
22
+ "axios": "^0.27.2",
23
+ "dotenv": "^16.0.1",
24
+ "ethers": "^5.6.5",
22
25
  "jest": "^26.1.0",
23
26
  "prettier": "^2.3.0",
24
27
  "ts-node": "^10.1.0",
28
+ "tslog": "^3.3.3",
25
29
  "typescript": "^4.2.4"
26
30
  }
27
31
  }