@curvefi/llamalend-api 1.0.4 → 1.0.6

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/st-crvUSD.js CHANGED
@@ -1,14 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -18,488 +7,183 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
18
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
19
8
  });
20
9
  };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
- 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;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
10
  import { _getAddress, _mulBy1_3, DIGas, ensureAllowance, ensureAllowanceEstimateGas, formatUnits, hasAllowance, getAllowance, parseUnits, smartNumber, getBalances, MAX_ALLOWANCE, } from "./utils.js";
49
11
  import { llamalend } from "./llamalend.js";
50
12
  // ---------------- UTILS ----------------
51
- export var convertToShares = function (assets) { return __awaiter(void 0, void 0, void 0, function () {
52
- var _assets, _shares;
53
- return __generator(this, function (_a) {
54
- switch (_a.label) {
55
- case 0:
56
- _assets = parseUnits(assets);
57
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.convertToShares(_assets)];
58
- case 1:
59
- _shares = _a.sent();
60
- return [2 /*return*/, llamalend.formatUnits(_shares)];
61
- }
62
- });
63
- }); };
64
- export var convertToAssets = function (shares) { return __awaiter(void 0, void 0, void 0, function () {
65
- var _shares, _assets;
66
- return __generator(this, function (_a) {
67
- switch (_a.label) {
68
- case 0:
69
- _shares = parseUnits(shares);
70
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.convertToAssets(_shares)];
71
- case 1:
72
- _assets = _a.sent();
73
- return [2 /*return*/, llamalend.formatUnits(_assets)];
74
- }
75
- });
76
- }); };
13
+ export const convertToShares = (assets) => __awaiter(void 0, void 0, void 0, function* () {
14
+ const _assets = parseUnits(assets);
15
+ const _shares = yield llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.convertToShares(_assets);
16
+ return llamalend.formatUnits(_shares);
17
+ });
18
+ export const convertToAssets = (shares) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const _shares = parseUnits(shares);
20
+ const _assets = yield llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.convertToAssets(_shares);
21
+ return llamalend.formatUnits(_assets);
22
+ });
77
23
  // ---------------- BALANCES ----------------
78
- export var userBalances = function (address) {
79
- if (address === void 0) { address = llamalend.signerAddress; }
80
- return __awaiter(void 0, void 0, void 0, function () {
81
- var rawBalances;
82
- return __generator(this, function (_a) {
83
- switch (_a.label) {
84
- case 0: return [4 /*yield*/, getBalances([llamalend.constants.ALIASES.crvUSD, llamalend.constants.ALIASES.st_crvUSD], address)];
85
- case 1:
86
- rawBalances = _a.sent();
87
- return [2 /*return*/, {
88
- "crvUSD": rawBalances[0],
89
- "st_crvUSD": rawBalances[1],
90
- }];
91
- }
92
- });
93
- });
94
- };
95
- export var totalSupplyAndCrvUSDLocked = function () { return __awaiter(void 0, void 0, void 0, function () {
96
- var contract, _totalSupply, _crvUSDLocked;
97
- return __generator(this, function (_a) {
98
- switch (_a.label) {
99
- case 0:
100
- contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
101
- return [4 /*yield*/, contract.totalSupply()];
102
- case 1:
103
- _totalSupply = _a.sent();
104
- return [4 /*yield*/, contract.convertToAssets(_totalSupply)];
105
- case 2:
106
- _crvUSDLocked = _a.sent();
107
- return [2 /*return*/, {
108
- "crvUSD": llamalend.formatUnits(_crvUSDLocked),
109
- "st_crvUSD": llamalend.formatUnits(_totalSupply),
110
- }];
111
- }
112
- });
113
- }); };
24
+ export const userBalances = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (address = llamalend.signerAddress) {
25
+ const rawBalances = yield getBalances([llamalend.constants.ALIASES.crvUSD, llamalend.constants.ALIASES.st_crvUSD], address);
26
+ return {
27
+ "crvUSD": rawBalances[0],
28
+ "st_crvUSD": rawBalances[1],
29
+ };
30
+ });
31
+ export const totalSupplyAndCrvUSDLocked = () => __awaiter(void 0, void 0, void 0, function* () {
32
+ const contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
33
+ const _totalSupply = yield contract.totalSupply();
34
+ const _crvUSDLocked = yield contract.convertToAssets(_totalSupply);
35
+ return {
36
+ "crvUSD": llamalend.formatUnits(_crvUSDLocked),
37
+ "st_crvUSD": llamalend.formatUnits(_totalSupply),
38
+ };
39
+ });
114
40
  // ---------------- DEPOSIT ----------------
115
- export var maxDeposit = function (address) {
116
- if (address === void 0) { address = ""; }
117
- return __awaiter(void 0, void 0, void 0, function () {
118
- var _assets;
119
- return __generator(this, function (_a) {
120
- switch (_a.label) {
121
- case 0:
122
- address = _getAddress(address);
123
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.crvUSD].contract.balanceOf(address)];
124
- case 1:
125
- _assets = _a.sent();
126
- return [2 /*return*/, formatUnits(_assets)];
127
- }
128
- });
129
- });
130
- };
131
- export var previewDeposit = function (assets) { return __awaiter(void 0, void 0, void 0, function () {
132
- var _assets, _shares;
133
- return __generator(this, function (_a) {
134
- switch (_a.label) {
135
- case 0:
136
- _assets = parseUnits(assets);
137
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.previewDeposit(_assets)];
138
- case 1:
139
- _shares = _a.sent();
140
- return [2 /*return*/, llamalend.formatUnits(_shares)];
141
- }
142
- });
143
- }); };
144
- export var depositIsApproved = function (assets) { return __awaiter(void 0, void 0, void 0, function () {
145
- return __generator(this, function (_a) {
146
- switch (_a.label) {
147
- case 0: return [4 /*yield*/, hasAllowance([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.signerAddress, llamalend.constants.ALIASES.st_crvUSD)];
148
- case 1: return [2 /*return*/, _a.sent()];
149
- }
150
- });
151
- }); };
152
- export var depositAllowance = function () { return __awaiter(void 0, void 0, void 0, function () {
153
- return __generator(this, function (_a) {
154
- switch (_a.label) {
155
- case 0: return [4 /*yield*/, getAllowance([llamalend.constants.ALIASES.crvUSD], llamalend.signerAddress, llamalend.constants.ALIASES.st_crvUSD)];
156
- case 1: return [2 /*return*/, _a.sent()];
157
- }
158
- });
159
- }); };
160
- export var depositApproveEstimateGas = function (assets) { return __awaiter(void 0, void 0, void 0, function () {
161
- return __generator(this, function (_a) {
162
- switch (_a.label) {
163
- case 0: return [4 /*yield*/, ensureAllowanceEstimateGas([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.constants.ALIASES.st_crvUSD)];
164
- case 1: return [2 /*return*/, _a.sent()];
165
- }
166
- });
167
- }); };
168
- export var depositApprove = function (assets, isMax) {
169
- if (isMax === void 0) { isMax = true; }
170
- return __awaiter(void 0, void 0, void 0, function () {
171
- return __generator(this, function (_a) {
172
- switch (_a.label) {
173
- case 0: return [4 /*yield*/, ensureAllowance([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.constants.ALIASES.st_crvUSD, isMax)];
174
- case 1: return [2 /*return*/, _a.sent()];
175
- }
176
- });
177
- });
178
- };
179
- var _deposit = function (assets, estimateGas) {
180
- if (estimateGas === void 0) { estimateGas = false; }
181
- return __awaiter(void 0, void 0, void 0, function () {
182
- var _assets, contract, gas, gasLimit;
183
- return __generator(this, function (_a) {
184
- switch (_a.label) {
185
- case 0:
186
- _assets = parseUnits(assets);
187
- contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
188
- return [4 /*yield*/, contract.deposit.estimateGas(_assets, llamalend.signerAddress, __assign({}, llamalend.constantOptions))];
189
- case 1:
190
- gas = _a.sent();
191
- if (estimateGas)
192
- return [2 /*return*/, smartNumber(gas)];
193
- return [4 /*yield*/, llamalend.updateFeeData()];
194
- case 2:
195
- _a.sent();
196
- gasLimit = _mulBy1_3(DIGas(gas));
197
- return [4 /*yield*/, contract.deposit(_assets, llamalend.signerAddress, __assign(__assign({}, llamalend.options), { gasLimit: gasLimit }))];
198
- case 3: return [2 /*return*/, (_a.sent()).hash];
199
- }
200
- });
201
- });
202
- };
203
- export var depositEstimateGas = function (assets) { return __awaiter(void 0, void 0, void 0, function () {
204
- return __generator(this, function (_a) {
205
- switch (_a.label) {
206
- case 0: return [4 /*yield*/, depositIsApproved(assets)];
207
- case 1:
208
- if (!(_a.sent()))
209
- throw Error("Approval is needed for gas estimation");
210
- return [4 /*yield*/, _deposit(assets, true)];
211
- case 2: return [2 /*return*/, _a.sent()];
212
- }
213
- });
214
- }); };
215
- export var deposit = function (assets) { return __awaiter(void 0, void 0, void 0, function () {
216
- return __generator(this, function (_a) {
217
- switch (_a.label) {
218
- case 0: return [4 /*yield*/, depositApprove(assets)];
219
- case 1:
220
- _a.sent();
221
- return [4 /*yield*/, _deposit(assets, false)];
222
- case 2: return [2 /*return*/, _a.sent()];
223
- }
224
- });
225
- }); };
41
+ export const maxDeposit = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (address = "") {
42
+ address = _getAddress(address);
43
+ const _assets = yield llamalend.contracts[llamalend.constants.ALIASES.crvUSD].contract.balanceOf(address);
44
+ return formatUnits(_assets);
45
+ });
46
+ export const previewDeposit = (assets) => __awaiter(void 0, void 0, void 0, function* () {
47
+ const _assets = parseUnits(assets);
48
+ const _shares = yield llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.previewDeposit(_assets);
49
+ return llamalend.formatUnits(_shares);
50
+ });
51
+ export const depositIsApproved = (assets) => __awaiter(void 0, void 0, void 0, function* () {
52
+ return yield hasAllowance([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.signerAddress, llamalend.constants.ALIASES.st_crvUSD);
53
+ });
54
+ export const depositAllowance = () => __awaiter(void 0, void 0, void 0, function* () {
55
+ return yield getAllowance([llamalend.constants.ALIASES.crvUSD], llamalend.signerAddress, llamalend.constants.ALIASES.st_crvUSD);
56
+ });
57
+ export const depositApproveEstimateGas = (assets) => __awaiter(void 0, void 0, void 0, function* () {
58
+ return yield ensureAllowanceEstimateGas([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.constants.ALIASES.st_crvUSD);
59
+ });
60
+ export const depositApprove = (assets_1, ...args_1) => __awaiter(void 0, [assets_1, ...args_1], void 0, function* (assets, isMax = true) {
61
+ return yield ensureAllowance([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.constants.ALIASES.st_crvUSD, isMax);
62
+ });
63
+ const _deposit = (assets_1, ...args_1) => __awaiter(void 0, [assets_1, ...args_1], void 0, function* (assets, estimateGas = false) {
64
+ const _assets = parseUnits(assets);
65
+ const contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
66
+ const gas = yield contract.deposit.estimateGas(_assets, llamalend.signerAddress, Object.assign({}, llamalend.constantOptions));
67
+ if (estimateGas)
68
+ return smartNumber(gas);
69
+ yield llamalend.updateFeeData();
70
+ const gasLimit = _mulBy1_3(DIGas(gas));
71
+ return (yield contract.deposit(_assets, llamalend.signerAddress, Object.assign(Object.assign({}, llamalend.options), { gasLimit }))).hash;
72
+ });
73
+ export const depositEstimateGas = (assets) => __awaiter(void 0, void 0, void 0, function* () {
74
+ if (!(yield depositIsApproved(assets)))
75
+ throw Error("Approval is needed for gas estimation");
76
+ return yield _deposit(assets, true);
77
+ });
78
+ export const deposit = (assets) => __awaiter(void 0, void 0, void 0, function* () {
79
+ yield depositApprove(assets);
80
+ return yield _deposit(assets, false);
81
+ });
226
82
  // ---------------- MINT ----------------
227
- export var maxMint = function (address) {
228
- if (address === void 0) { address = ""; }
229
- return __awaiter(void 0, void 0, void 0, function () {
230
- var _assetBalance, _shares;
231
- return __generator(this, function (_a) {
232
- switch (_a.label) {
233
- case 0:
234
- address = _getAddress(address);
235
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.crvUSD].contract.balanceOf(address)];
236
- case 1:
237
- _assetBalance = _a.sent();
238
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.convertToShares(_assetBalance)];
239
- case 2:
240
- _shares = _a.sent();
241
- return [2 /*return*/, formatUnits(_shares)];
242
- }
243
- });
244
- });
245
- };
246
- export var previewMint = function (shares) { return __awaiter(void 0, void 0, void 0, function () {
247
- var _shares, _assets;
248
- return __generator(this, function (_a) {
249
- switch (_a.label) {
250
- case 0:
251
- _shares = parseUnits(shares);
252
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.previewMint(_shares)];
253
- case 1:
254
- _assets = _a.sent();
255
- return [2 /*return*/, formatUnits(_assets)];
256
- }
257
- });
258
- }); };
259
- export var mintIsApproved = function (shares) { return __awaiter(void 0, void 0, void 0, function () {
260
- var assets;
261
- return __generator(this, function (_a) {
262
- switch (_a.label) {
263
- case 0: return [4 /*yield*/, previewMint(shares)];
264
- case 1:
265
- assets = _a.sent();
266
- return [4 /*yield*/, hasAllowance([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.signerAddress, llamalend.constants.ALIASES.st_crvUSD)];
267
- case 2: return [2 /*return*/, _a.sent()];
268
- }
269
- });
270
- }); };
271
- export var mintAllowance = function () { return __awaiter(void 0, void 0, void 0, function () {
272
- var assets, e_1;
273
- return __generator(this, function (_a) {
274
- switch (_a.label) {
275
- case 0: return [4 /*yield*/, getAllowance([llamalend.constants.ALIASES.crvUSD], llamalend.signerAddress, llamalend.constants.ALIASES.st_crvUSD)];
276
- case 1:
277
- assets = _a.sent();
278
- _a.label = 2;
279
- case 2:
280
- _a.trys.push([2, 4, , 5]);
281
- return [4 /*yield*/, convertToShares(assets[0])];
282
- case 3: return [2 /*return*/, [_a.sent()]];
283
- case 4:
284
- e_1 = _a.sent();
285
- if (parseUnits(assets[0]) === MAX_ALLOWANCE)
286
- return [2 /*return*/, [llamalend.formatUnits(MAX_ALLOWANCE)]];
287
- throw e_1;
288
- case 5: return [2 /*return*/];
289
- }
290
- });
291
- }); };
292
- export var mintApproveEstimateGas = function (shares) { return __awaiter(void 0, void 0, void 0, function () {
293
- var assets;
294
- return __generator(this, function (_a) {
295
- switch (_a.label) {
296
- case 0: return [4 /*yield*/, previewMint(shares)];
297
- case 1:
298
- assets = _a.sent();
299
- return [4 /*yield*/, ensureAllowanceEstimateGas([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.constants.ALIASES.st_crvUSD)];
300
- case 2: return [2 /*return*/, _a.sent()];
301
- }
302
- });
303
- }); };
304
- export var mintApprove = function (shares, isMax) {
305
- if (isMax === void 0) { isMax = true; }
306
- return __awaiter(void 0, void 0, void 0, function () {
307
- var assets;
308
- return __generator(this, function (_a) {
309
- switch (_a.label) {
310
- case 0: return [4 /*yield*/, previewMint(shares)];
311
- case 1:
312
- assets = _a.sent();
313
- return [4 /*yield*/, ensureAllowance([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.constants.ALIASES.st_crvUSD, isMax)];
314
- case 2: return [2 /*return*/, _a.sent()];
315
- }
316
- });
317
- });
318
- };
319
- var _mint = function (shares, estimateGas) {
320
- if (estimateGas === void 0) { estimateGas = false; }
321
- return __awaiter(void 0, void 0, void 0, function () {
322
- var _shares, contract, gas, gasLimit;
323
- return __generator(this, function (_a) {
324
- switch (_a.label) {
325
- case 0:
326
- _shares = parseUnits(shares);
327
- contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
328
- return [4 /*yield*/, contract.mint.estimateGas(_shares, llamalend.signerAddress, __assign({}, llamalend.constantOptions))];
329
- case 1:
330
- gas = _a.sent();
331
- if (estimateGas)
332
- return [2 /*return*/, smartNumber(gas)];
333
- return [4 /*yield*/, llamalend.updateFeeData()];
334
- case 2:
335
- _a.sent();
336
- gasLimit = _mulBy1_3(DIGas(gas));
337
- return [4 /*yield*/, contract.mint(_shares, llamalend.signerAddress, __assign(__assign({}, llamalend.options), { gasLimit: gasLimit }))];
338
- case 3: return [2 /*return*/, (_a.sent()).hash];
339
- }
340
- });
341
- });
342
- };
343
- export var mintEstimateGas = function (shares) { return __awaiter(void 0, void 0, void 0, function () {
344
- return __generator(this, function (_a) {
345
- switch (_a.label) {
346
- case 0: return [4 /*yield*/, mintIsApproved(shares)];
347
- case 1:
348
- if (!(_a.sent()))
349
- throw Error("Approval is needed for gas estimation");
350
- return [4 /*yield*/, _mint(shares, true)];
351
- case 2: return [2 /*return*/, _a.sent()];
352
- }
353
- });
354
- }); };
355
- export var mint = function (shares) { return __awaiter(void 0, void 0, void 0, function () {
356
- return __generator(this, function (_a) {
357
- switch (_a.label) {
358
- case 0: return [4 /*yield*/, mintApprove(shares)];
359
- case 1:
360
- _a.sent();
361
- return [4 /*yield*/, _mint(shares, false)];
362
- case 2: return [2 /*return*/, _a.sent()];
363
- }
364
- });
365
- }); };
83
+ export const maxMint = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (address = "") {
84
+ address = _getAddress(address);
85
+ const _assetBalance = yield llamalend.contracts[llamalend.constants.ALIASES.crvUSD].contract.balanceOf(address);
86
+ const _shares = yield llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.convertToShares(_assetBalance);
87
+ return formatUnits(_shares);
88
+ });
89
+ export const previewMint = (shares) => __awaiter(void 0, void 0, void 0, function* () {
90
+ const _shares = parseUnits(shares);
91
+ const _assets = yield llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.previewMint(_shares);
92
+ return formatUnits(_assets);
93
+ });
94
+ export const mintIsApproved = (shares) => __awaiter(void 0, void 0, void 0, function* () {
95
+ const assets = yield previewMint(shares);
96
+ return yield hasAllowance([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.signerAddress, llamalend.constants.ALIASES.st_crvUSD);
97
+ });
98
+ export const mintAllowance = () => __awaiter(void 0, void 0, void 0, function* () {
99
+ const assets = yield getAllowance([llamalend.constants.ALIASES.crvUSD], llamalend.signerAddress, llamalend.constants.ALIASES.st_crvUSD);
100
+ try {
101
+ return [yield convertToShares(assets[0])];
102
+ }
103
+ catch (e) {
104
+ if (parseUnits(assets[0]) === MAX_ALLOWANCE)
105
+ return [llamalend.formatUnits(MAX_ALLOWANCE)];
106
+ throw e;
107
+ }
108
+ });
109
+ export const mintApproveEstimateGas = (shares) => __awaiter(void 0, void 0, void 0, function* () {
110
+ const assets = yield previewMint(shares);
111
+ return yield ensureAllowanceEstimateGas([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.constants.ALIASES.st_crvUSD);
112
+ });
113
+ export const mintApprove = (shares_1, ...args_1) => __awaiter(void 0, [shares_1, ...args_1], void 0, function* (shares, isMax = true) {
114
+ const assets = yield previewMint(shares);
115
+ return yield ensureAllowance([llamalend.constants.ALIASES.crvUSD], [assets], llamalend.constants.ALIASES.st_crvUSD, isMax);
116
+ });
117
+ const _mint = (shares_1, ...args_1) => __awaiter(void 0, [shares_1, ...args_1], void 0, function* (shares, estimateGas = false) {
118
+ const _shares = parseUnits(shares);
119
+ const contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
120
+ const gas = yield contract.mint.estimateGas(_shares, llamalend.signerAddress, Object.assign({}, llamalend.constantOptions));
121
+ if (estimateGas)
122
+ return smartNumber(gas);
123
+ yield llamalend.updateFeeData();
124
+ const gasLimit = _mulBy1_3(DIGas(gas));
125
+ return (yield contract.mint(_shares, llamalend.signerAddress, Object.assign(Object.assign({}, llamalend.options), { gasLimit }))).hash;
126
+ });
127
+ export const mintEstimateGas = (shares) => __awaiter(void 0, void 0, void 0, function* () {
128
+ if (!(yield mintIsApproved(shares)))
129
+ throw Error("Approval is needed for gas estimation");
130
+ return yield _mint(shares, true);
131
+ });
132
+ export const mint = (shares) => __awaiter(void 0, void 0, void 0, function* () {
133
+ yield mintApprove(shares);
134
+ return yield _mint(shares, false);
135
+ });
366
136
  // ---------------- WITHDRAW ----------------
367
- export var maxWithdraw = function (address) {
368
- if (address === void 0) { address = ""; }
369
- return __awaiter(void 0, void 0, void 0, function () {
370
- var _assets;
371
- return __generator(this, function (_a) {
372
- switch (_a.label) {
373
- case 0:
374
- address = _getAddress(address);
375
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.maxWithdraw(address)];
376
- case 1:
377
- _assets = _a.sent();
378
- return [2 /*return*/, formatUnits(_assets)];
379
- }
380
- });
381
- });
382
- };
383
- export var previewWithdraw = function (assets) { return __awaiter(void 0, void 0, void 0, function () {
384
- var _assets, _shares;
385
- return __generator(this, function (_a) {
386
- switch (_a.label) {
387
- case 0:
388
- _assets = parseUnits(assets);
389
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.previewWithdraw(_assets)];
390
- case 1:
391
- _shares = _a.sent();
392
- return [2 /*return*/, formatUnits(_shares)];
393
- }
394
- });
395
- }); };
396
- var _withdraw = function (assets, estimateGas) {
397
- if (estimateGas === void 0) { estimateGas = false; }
398
- return __awaiter(void 0, void 0, void 0, function () {
399
- var _assets, contract, gas, gasLimit;
400
- return __generator(this, function (_a) {
401
- switch (_a.label) {
402
- case 0:
403
- _assets = parseUnits(assets);
404
- contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
405
- return [4 /*yield*/, contract.withdraw.estimateGas(_assets, llamalend.signerAddress, llamalend.signerAddress, __assign({}, llamalend.constantOptions))];
406
- case 1:
407
- gas = _a.sent();
408
- if (estimateGas)
409
- return [2 /*return*/, smartNumber(gas)];
410
- return [4 /*yield*/, llamalend.updateFeeData()];
411
- case 2:
412
- _a.sent();
413
- gasLimit = _mulBy1_3(DIGas(gas));
414
- return [4 /*yield*/, contract.withdraw(_assets, llamalend.signerAddress, llamalend.signerAddress, __assign(__assign({}, llamalend.options), { gasLimit: gasLimit }))];
415
- case 3: return [2 /*return*/, (_a.sent()).hash];
416
- }
417
- });
418
- });
419
- };
420
- export var withdrawEstimateGas = function (assets) { return __awaiter(void 0, void 0, void 0, function () {
421
- return __generator(this, function (_a) {
422
- switch (_a.label) {
423
- case 0: return [4 /*yield*/, _withdraw(assets, true)];
424
- case 1: return [2 /*return*/, _a.sent()];
425
- }
426
- });
427
- }); };
428
- export var withdraw = function (assets) { return __awaiter(void 0, void 0, void 0, function () {
429
- return __generator(this, function (_a) {
430
- switch (_a.label) {
431
- case 0: return [4 /*yield*/, _withdraw(assets, false)];
432
- case 1: return [2 /*return*/, _a.sent()];
433
- }
434
- });
435
- }); };
137
+ export const maxWithdraw = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (address = "") {
138
+ address = _getAddress(address);
139
+ const _assets = yield llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.maxWithdraw(address);
140
+ return formatUnits(_assets);
141
+ });
142
+ export const previewWithdraw = (assets) => __awaiter(void 0, void 0, void 0, function* () {
143
+ const _assets = parseUnits(assets);
144
+ const _shares = yield llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.previewWithdraw(_assets);
145
+ return formatUnits(_shares);
146
+ });
147
+ const _withdraw = (assets_1, ...args_1) => __awaiter(void 0, [assets_1, ...args_1], void 0, function* (assets, estimateGas = false) {
148
+ const _assets = parseUnits(assets);
149
+ const contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
150
+ const gas = yield contract.withdraw.estimateGas(_assets, llamalend.signerAddress, llamalend.signerAddress, Object.assign({}, llamalend.constantOptions));
151
+ if (estimateGas)
152
+ return smartNumber(gas);
153
+ yield llamalend.updateFeeData();
154
+ const gasLimit = _mulBy1_3(DIGas(gas));
155
+ return (yield contract.withdraw(_assets, llamalend.signerAddress, llamalend.signerAddress, Object.assign(Object.assign({}, llamalend.options), { gasLimit }))).hash;
156
+ });
157
+ export const withdrawEstimateGas = (assets) => __awaiter(void 0, void 0, void 0, function* () {
158
+ return yield _withdraw(assets, true);
159
+ });
160
+ export const withdraw = (assets) => __awaiter(void 0, void 0, void 0, function* () {
161
+ return yield _withdraw(assets, false);
162
+ });
436
163
  // ---------------- REDEEM ----------------
437
- export var maxRedeem = function (address) {
438
- if (address === void 0) { address = ""; }
439
- return __awaiter(void 0, void 0, void 0, function () {
440
- var _shares;
441
- return __generator(this, function (_a) {
442
- switch (_a.label) {
443
- case 0:
444
- address = _getAddress(address);
445
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.maxRedeem(address)];
446
- case 1:
447
- _shares = _a.sent();
448
- return [2 /*return*/, formatUnits(_shares)];
449
- }
450
- });
451
- });
452
- };
453
- export var previewRedeem = function (shares) { return __awaiter(void 0, void 0, void 0, function () {
454
- var _shares, _assets;
455
- return __generator(this, function (_a) {
456
- switch (_a.label) {
457
- case 0:
458
- _shares = parseUnits(shares, 18);
459
- return [4 /*yield*/, llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.previewRedeem(_shares)];
460
- case 1:
461
- _assets = _a.sent();
462
- return [2 /*return*/, formatUnits(_assets)];
463
- }
464
- });
465
- }); };
466
- var _redeem = function (shares, estimateGas) {
467
- if (estimateGas === void 0) { estimateGas = false; }
468
- return __awaiter(void 0, void 0, void 0, function () {
469
- var _shares, contract, gas, gasLimit;
470
- return __generator(this, function (_a) {
471
- switch (_a.label) {
472
- case 0:
473
- _shares = parseUnits(shares, 18);
474
- contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
475
- return [4 /*yield*/, contract.redeem.estimateGas(_shares, llamalend.signerAddress, llamalend.signerAddress, __assign({}, llamalend.constantOptions))];
476
- case 1:
477
- gas = _a.sent();
478
- if (estimateGas)
479
- return [2 /*return*/, smartNumber(gas)];
480
- return [4 /*yield*/, llamalend.updateFeeData()];
481
- case 2:
482
- _a.sent();
483
- gasLimit = _mulBy1_3(DIGas(gas));
484
- return [4 /*yield*/, contract.redeem(_shares, llamalend.signerAddress, llamalend.signerAddress, __assign(__assign({}, llamalend.options), { gasLimit: gasLimit }))];
485
- case 3: return [2 /*return*/, (_a.sent()).hash];
486
- }
487
- });
488
- });
489
- };
490
- export var redeemEstimateGas = function (shares) { return __awaiter(void 0, void 0, void 0, function () {
491
- return __generator(this, function (_a) {
492
- switch (_a.label) {
493
- case 0: return [4 /*yield*/, _redeem(shares, true)];
494
- case 1: return [2 /*return*/, _a.sent()];
495
- }
496
- });
497
- }); };
498
- export var redeem = function (shares) { return __awaiter(void 0, void 0, void 0, function () {
499
- return __generator(this, function (_a) {
500
- switch (_a.label) {
501
- case 0: return [4 /*yield*/, _redeem(shares, false)];
502
- case 1: return [2 /*return*/, _a.sent()];
503
- }
504
- });
505
- }); };
164
+ export const maxRedeem = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (address = "") {
165
+ address = _getAddress(address);
166
+ const _shares = yield llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.maxRedeem(address);
167
+ return formatUnits(_shares);
168
+ });
169
+ export const previewRedeem = (shares) => __awaiter(void 0, void 0, void 0, function* () {
170
+ const _shares = parseUnits(shares, 18);
171
+ const _assets = yield llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract.previewRedeem(_shares);
172
+ return formatUnits(_assets);
173
+ });
174
+ const _redeem = (shares_1, ...args_1) => __awaiter(void 0, [shares_1, ...args_1], void 0, function* (shares, estimateGas = false) {
175
+ const _shares = parseUnits(shares, 18);
176
+ const contract = llamalend.contracts[llamalend.constants.ALIASES.st_crvUSD].contract;
177
+ const gas = yield contract.redeem.estimateGas(_shares, llamalend.signerAddress, llamalend.signerAddress, Object.assign({}, llamalend.constantOptions));
178
+ if (estimateGas)
179
+ return smartNumber(gas);
180
+ yield llamalend.updateFeeData();
181
+ const gasLimit = _mulBy1_3(DIGas(gas));
182
+ return (yield contract.redeem(_shares, llamalend.signerAddress, llamalend.signerAddress, Object.assign(Object.assign({}, llamalend.options), { gasLimit }))).hash;
183
+ });
184
+ export const redeemEstimateGas = (shares) => __awaiter(void 0, void 0, void 0, function* () {
185
+ return yield _redeem(shares, true);
186
+ });
187
+ export const redeem = (shares) => __awaiter(void 0, void 0, void 0, function* () {
188
+ return yield _redeem(shares, false);
189
+ });