@curvefi/api 2.60.1 → 2.60.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.
package/lib/boosting.d.ts CHANGED
@@ -24,6 +24,9 @@ export declare const withdrawLockedCrv: () => Promise<string>;
24
24
  export declare const claimableFees: (address?: string) => Promise<string>;
25
25
  export declare const claimFeesEstimateGas: (address?: string) => Promise<number>;
26
26
  export declare const claimFees: (address?: string) => Promise<string>;
27
+ export declare const claimableFeesCrvUSD: (address?: string) => Promise<string>;
28
+ export declare const claimFeesCrvUSDEstimateGas: (address?: string) => Promise<number>;
29
+ export declare const claimFeesCrvUSD: (address?: string) => Promise<string>;
27
30
  export declare const lastEthBlock: () => Promise<number>;
28
31
  export declare const getAnycallBalance: () => Promise<string>;
29
32
  export declare const topUpAnycallEstimateGas: (amount?: number | string) => Promise<number>;
package/lib/boosting.js CHANGED
@@ -48,6 +48,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
48
48
  import { Contract } from "ethers";
49
49
  import { curve } from "./curve.js";
50
50
  import feeDistributorViewABI from "./constants/abis/fee_distributor_view.json" assert { type: 'json' };
51
+ import feeDistributorCrvUSDViewABI from "./constants/abis/fee_distributor_crvusd_view.json" assert { type: 'json' };
51
52
  import { _getBalances, _prepareAddresses, DIGas, ensureAllowance, ensureAllowanceEstimateGas, hasAllowance, mulBy1_3, smartNumber, } from "./utils.js";
52
53
  import { _ensureAllowance, toBN, toStringFromBN, parseUnits } from './utils.js';
53
54
  import { _generateBoostingProof } from './external-api.js';
@@ -393,6 +394,9 @@ export var claimFees = function (address) {
393
394
  return __generator(this, function (_c) {
394
395
  switch (_c.label) {
395
396
  case 0:
397
+ if (curve.chainId !== 1) {
398
+ throw Error('This method is only available for the network with chainId 1');
399
+ }
396
400
  address = address || curve.signerAddress;
397
401
  contract = curve.contracts[curve.constants.ALIASES.fee_distributor].contract;
398
402
  return [4 /*yield*/, curve.updateFeeData()];
@@ -409,6 +413,68 @@ export var claimFees = function (address) {
409
413
  });
410
414
  });
411
415
  };
416
+ export var claimableFeesCrvUSD = function (address) {
417
+ if (address === void 0) { address = ""; }
418
+ return __awaiter(void 0, void 0, void 0, function () {
419
+ var contract, _a, _b;
420
+ return __generator(this, function (_c) {
421
+ switch (_c.label) {
422
+ case 0:
423
+ if (curve.chainId !== 1) {
424
+ throw Error('This method is only available for the network with chainId 1');
425
+ }
426
+ address = address || curve.signerAddress;
427
+ contract = new Contract(curve.constants.ALIASES.fee_distributor_crvusd, feeDistributorCrvUSDViewABI, curve.provider);
428
+ _b = (_a = curve).formatUnits;
429
+ return [4 /*yield*/, contract.claim(address, curve.constantOptions)];
430
+ case 1: return [2 /*return*/, _b.apply(_a, [_c.sent()])];
431
+ }
432
+ });
433
+ });
434
+ };
435
+ export var claimFeesCrvUSDEstimateGas = function (address) {
436
+ if (address === void 0) { address = ""; }
437
+ return __awaiter(void 0, void 0, void 0, function () {
438
+ var contract, _a, _b;
439
+ return __generator(this, function (_c) {
440
+ switch (_c.label) {
441
+ case 0:
442
+ if (curve.chainId !== 1) {
443
+ throw Error('This method is only available for the network with chainId 1');
444
+ }
445
+ address = address || curve.signerAddress;
446
+ contract = curve.contracts[curve.constants.ALIASES.fee_distributor_crvusd].contract;
447
+ _a = Number;
448
+ _b = DIGas;
449
+ return [4 /*yield*/, contract.claim.estimateGas(address, curve.constantOptions)];
450
+ case 1: return [2 /*return*/, _a.apply(void 0, [_b.apply(void 0, [_c.sent()])])];
451
+ }
452
+ });
453
+ });
454
+ };
455
+ export var claimFeesCrvUSD = function (address) {
456
+ if (address === void 0) { address = ""; }
457
+ return __awaiter(void 0, void 0, void 0, function () {
458
+ var contract, gasLimit, _a, _b;
459
+ return __generator(this, function (_c) {
460
+ switch (_c.label) {
461
+ case 0:
462
+ address = address || curve.signerAddress;
463
+ contract = curve.contracts[curve.constants.ALIASES.fee_distributor_crvusd].contract;
464
+ return [4 /*yield*/, curve.updateFeeData()];
465
+ case 1:
466
+ _c.sent();
467
+ _a = mulBy1_3;
468
+ _b = DIGas;
469
+ return [4 /*yield*/, contract.claim.estimateGas(address, curve.constantOptions)];
470
+ case 2:
471
+ gasLimit = _a.apply(void 0, [_b.apply(void 0, [_c.sent()])]);
472
+ return [4 /*yield*/, contract.claim(address, __assign(__assign({}, curve.options), { gasLimit: gasLimit }))];
473
+ case 3: return [2 /*return*/, (_c.sent()).hash];
474
+ }
475
+ });
476
+ });
477
+ };
412
478
  // ------------ SIDECHAIN ------------
413
479
  export var lastEthBlock = function () { return __awaiter(void 0, void 0, void 0, function () {
414
480
  var veOracleContract, _a;
@@ -0,0 +1,483 @@
1
+ [
2
+ {
3
+ "name": "CommitAdmin",
4
+ "inputs": [
5
+ {
6
+ "type": "address",
7
+ "name": "admin",
8
+ "indexed": false
9
+ }
10
+ ],
11
+ "anonymous": false,
12
+ "type": "event"
13
+ },
14
+ {
15
+ "name": "ApplyAdmin",
16
+ "inputs": [
17
+ {
18
+ "type": "address",
19
+ "name": "admin",
20
+ "indexed": false
21
+ }
22
+ ],
23
+ "anonymous": false,
24
+ "type": "event"
25
+ },
26
+ {
27
+ "name": "ToggleAllowCheckpointToken",
28
+ "inputs": [
29
+ {
30
+ "type": "bool",
31
+ "name": "toggle_flag",
32
+ "indexed": false
33
+ }
34
+ ],
35
+ "anonymous": false,
36
+ "type": "event"
37
+ },
38
+ {
39
+ "name": "CheckpointToken",
40
+ "inputs": [
41
+ {
42
+ "type": "uint256",
43
+ "name": "time",
44
+ "indexed": false
45
+ },
46
+ {
47
+ "type": "uint256",
48
+ "name": "tokens",
49
+ "indexed": false
50
+ }
51
+ ],
52
+ "anonymous": false,
53
+ "type": "event"
54
+ },
55
+ {
56
+ "name": "Claimed",
57
+ "inputs": [
58
+ {
59
+ "type": "address",
60
+ "name": "recipient",
61
+ "indexed": true
62
+ },
63
+ {
64
+ "type": "uint256",
65
+ "name": "amount",
66
+ "indexed": false
67
+ },
68
+ {
69
+ "type": "uint256",
70
+ "name": "claim_epoch",
71
+ "indexed": false
72
+ },
73
+ {
74
+ "type": "uint256",
75
+ "name": "max_epoch",
76
+ "indexed": false
77
+ }
78
+ ],
79
+ "anonymous": false,
80
+ "type": "event"
81
+ },
82
+ {
83
+ "outputs": [],
84
+ "inputs": [
85
+ {
86
+ "type": "address",
87
+ "name": "_voting_escrow"
88
+ },
89
+ {
90
+ "type": "uint256",
91
+ "name": "_start_time"
92
+ },
93
+ {
94
+ "type": "address",
95
+ "name": "_token"
96
+ },
97
+ {
98
+ "type": "address",
99
+ "name": "_admin"
100
+ },
101
+ {
102
+ "type": "address",
103
+ "name": "_emergency_return"
104
+ }
105
+ ],
106
+ "stateMutability": "nonpayable",
107
+ "type": "constructor"
108
+ },
109
+ {
110
+ "name": "checkpoint_token",
111
+ "outputs": [],
112
+ "inputs": [],
113
+ "stateMutability": "nonpayable",
114
+ "type": "function",
115
+ "gas": "820723"
116
+ },
117
+ {
118
+ "name": "ve_for_at",
119
+ "outputs": [
120
+ {
121
+ "type": "uint256",
122
+ "name": ""
123
+ }
124
+ ],
125
+ "inputs": [
126
+ {
127
+ "type": "address",
128
+ "name": "_user"
129
+ },
130
+ {
131
+ "type": "uint256",
132
+ "name": "_timestamp"
133
+ }
134
+ ],
135
+ "stateMutability": "view",
136
+ "type": "function",
137
+ "gas": "249417"
138
+ },
139
+ {
140
+ "name": "checkpoint_total_supply",
141
+ "outputs": [],
142
+ "inputs": [],
143
+ "stateMutability": "nonpayable",
144
+ "type": "function",
145
+ "gas": "10592405"
146
+ },
147
+ {
148
+ "name": "claim",
149
+ "outputs": [
150
+ {
151
+ "type": "uint256",
152
+ "name": ""
153
+ }
154
+ ],
155
+ "inputs": [
156
+ {
157
+ "type": "address",
158
+ "name": "_addr"
159
+ }
160
+ ],
161
+ "stateMutability": "view",
162
+ "type": "function"
163
+ },
164
+ {
165
+ "name": "claim_many",
166
+ "outputs": [
167
+ {
168
+ "type": "bool",
169
+ "name": ""
170
+ }
171
+ ],
172
+ "inputs": [
173
+ {
174
+ "type": "address[20]",
175
+ "name": "_receivers"
176
+ }
177
+ ],
178
+ "stateMutability": "nonpayable",
179
+ "type": "function",
180
+ "gas": "26281905"
181
+ },
182
+ {
183
+ "name": "burn",
184
+ "outputs": [
185
+ {
186
+ "type": "bool",
187
+ "name": ""
188
+ }
189
+ ],
190
+ "inputs": [
191
+ {
192
+ "type": "address",
193
+ "name": "_coin"
194
+ }
195
+ ],
196
+ "stateMutability": "nonpayable",
197
+ "type": "function",
198
+ "gas": "823450"
199
+ },
200
+ {
201
+ "name": "commit_admin",
202
+ "outputs": [],
203
+ "inputs": [
204
+ {
205
+ "type": "address",
206
+ "name": "_addr"
207
+ }
208
+ ],
209
+ "stateMutability": "nonpayable",
210
+ "type": "function",
211
+ "gas": "37898"
212
+ },
213
+ {
214
+ "name": "apply_admin",
215
+ "outputs": [],
216
+ "inputs": [],
217
+ "stateMutability": "nonpayable",
218
+ "type": "function",
219
+ "gas": "39534"
220
+ },
221
+ {
222
+ "name": "toggle_allow_checkpoint_token",
223
+ "outputs": [],
224
+ "inputs": [],
225
+ "stateMutability": "nonpayable",
226
+ "type": "function",
227
+ "gas": "38673"
228
+ },
229
+ {
230
+ "name": "kill_me",
231
+ "outputs": [],
232
+ "inputs": [],
233
+ "stateMutability": "nonpayable",
234
+ "type": "function",
235
+ "gas": "39587"
236
+ },
237
+ {
238
+ "name": "recover_balance",
239
+ "outputs": [
240
+ {
241
+ "type": "bool",
242
+ "name": ""
243
+ }
244
+ ],
245
+ "inputs": [
246
+ {
247
+ "type": "address",
248
+ "name": "_coin"
249
+ }
250
+ ],
251
+ "stateMutability": "nonpayable",
252
+ "type": "function",
253
+ "gas": "7778"
254
+ },
255
+ {
256
+ "name": "start_time",
257
+ "outputs": [
258
+ {
259
+ "type": "uint256",
260
+ "name": ""
261
+ }
262
+ ],
263
+ "inputs": [],
264
+ "stateMutability": "view",
265
+ "type": "function",
266
+ "gas": "1541"
267
+ },
268
+ {
269
+ "name": "time_cursor",
270
+ "outputs": [
271
+ {
272
+ "type": "uint256",
273
+ "name": ""
274
+ }
275
+ ],
276
+ "inputs": [],
277
+ "stateMutability": "view",
278
+ "type": "function",
279
+ "gas": "1571"
280
+ },
281
+ {
282
+ "name": "time_cursor_of",
283
+ "outputs": [
284
+ {
285
+ "type": "uint256",
286
+ "name": ""
287
+ }
288
+ ],
289
+ "inputs": [
290
+ {
291
+ "type": "address",
292
+ "name": "arg0"
293
+ }
294
+ ],
295
+ "stateMutability": "view",
296
+ "type": "function",
297
+ "gas": "1816"
298
+ },
299
+ {
300
+ "name": "user_epoch_of",
301
+ "outputs": [
302
+ {
303
+ "type": "uint256",
304
+ "name": ""
305
+ }
306
+ ],
307
+ "inputs": [
308
+ {
309
+ "type": "address",
310
+ "name": "arg0"
311
+ }
312
+ ],
313
+ "stateMutability": "view",
314
+ "type": "function",
315
+ "gas": "1846"
316
+ },
317
+ {
318
+ "name": "last_token_time",
319
+ "outputs": [
320
+ {
321
+ "type": "uint256",
322
+ "name": ""
323
+ }
324
+ ],
325
+ "inputs": [],
326
+ "stateMutability": "view",
327
+ "type": "function",
328
+ "gas": "1661"
329
+ },
330
+ {
331
+ "name": "tokens_per_week",
332
+ "outputs": [
333
+ {
334
+ "type": "uint256",
335
+ "name": ""
336
+ }
337
+ ],
338
+ "inputs": [
339
+ {
340
+ "type": "uint256",
341
+ "name": "arg0"
342
+ }
343
+ ],
344
+ "stateMutability": "view",
345
+ "type": "function",
346
+ "gas": "1800"
347
+ },
348
+ {
349
+ "name": "voting_escrow",
350
+ "outputs": [
351
+ {
352
+ "type": "address",
353
+ "name": ""
354
+ }
355
+ ],
356
+ "inputs": [],
357
+ "stateMutability": "view",
358
+ "type": "function",
359
+ "gas": "1721"
360
+ },
361
+ {
362
+ "name": "token",
363
+ "outputs": [
364
+ {
365
+ "type": "address",
366
+ "name": ""
367
+ }
368
+ ],
369
+ "inputs": [],
370
+ "stateMutability": "view",
371
+ "type": "function",
372
+ "gas": "1751"
373
+ },
374
+ {
375
+ "name": "total_received",
376
+ "outputs": [
377
+ {
378
+ "type": "uint256",
379
+ "name": ""
380
+ }
381
+ ],
382
+ "inputs": [],
383
+ "stateMutability": "view",
384
+ "type": "function",
385
+ "gas": "1781"
386
+ },
387
+ {
388
+ "name": "token_last_balance",
389
+ "outputs": [
390
+ {
391
+ "type": "uint256",
392
+ "name": ""
393
+ }
394
+ ],
395
+ "inputs": [],
396
+ "stateMutability": "view",
397
+ "type": "function",
398
+ "gas": "1811"
399
+ },
400
+ {
401
+ "name": "ve_supply",
402
+ "outputs": [
403
+ {
404
+ "type": "uint256",
405
+ "name": ""
406
+ }
407
+ ],
408
+ "inputs": [
409
+ {
410
+ "type": "uint256",
411
+ "name": "arg0"
412
+ }
413
+ ],
414
+ "stateMutability": "view",
415
+ "type": "function",
416
+ "gas": "1950"
417
+ },
418
+ {
419
+ "name": "admin",
420
+ "outputs": [
421
+ {
422
+ "type": "address",
423
+ "name": ""
424
+ }
425
+ ],
426
+ "inputs": [],
427
+ "stateMutability": "view",
428
+ "type": "function",
429
+ "gas": "1871"
430
+ },
431
+ {
432
+ "name": "future_admin",
433
+ "outputs": [
434
+ {
435
+ "type": "address",
436
+ "name": ""
437
+ }
438
+ ],
439
+ "inputs": [],
440
+ "stateMutability": "view",
441
+ "type": "function",
442
+ "gas": "1901"
443
+ },
444
+ {
445
+ "name": "can_checkpoint_token",
446
+ "outputs": [
447
+ {
448
+ "type": "bool",
449
+ "name": ""
450
+ }
451
+ ],
452
+ "inputs": [],
453
+ "stateMutability": "view",
454
+ "type": "function",
455
+ "gas": "1931"
456
+ },
457
+ {
458
+ "name": "emergency_return",
459
+ "outputs": [
460
+ {
461
+ "type": "address",
462
+ "name": ""
463
+ }
464
+ ],
465
+ "inputs": [],
466
+ "stateMutability": "view",
467
+ "type": "function",
468
+ "gas": "1961"
469
+ },
470
+ {
471
+ "name": "is_killed",
472
+ "outputs": [
473
+ {
474
+ "type": "bool",
475
+ "name": ""
476
+ }
477
+ ],
478
+ "inputs": [],
479
+ "stateMutability": "view",
480
+ "type": "function",
481
+ "gas": "1991"
482
+ }
483
+ ]
@@ -0,0 +1,457 @@
1
+ [
2
+ {
3
+ "name": "CommitAdmin",
4
+ "inputs": [
5
+ {
6
+ "name": "admin",
7
+ "type": "address",
8
+ "indexed": false
9
+ }
10
+ ],
11
+ "anonymous": false,
12
+ "type": "event"
13
+ },
14
+ {
15
+ "name": "ApplyAdmin",
16
+ "inputs": [
17
+ {
18
+ "name": "admin",
19
+ "type": "address",
20
+ "indexed": false
21
+ }
22
+ ],
23
+ "anonymous": false,
24
+ "type": "event"
25
+ },
26
+ {
27
+ "name": "ToggleAllowCheckpointToken",
28
+ "inputs": [
29
+ {
30
+ "name": "toggle_flag",
31
+ "type": "bool",
32
+ "indexed": false
33
+ }
34
+ ],
35
+ "anonymous": false,
36
+ "type": "event"
37
+ },
38
+ {
39
+ "name": "CheckpointToken",
40
+ "inputs": [
41
+ {
42
+ "name": "time",
43
+ "type": "uint256",
44
+ "indexed": false
45
+ },
46
+ {
47
+ "name": "tokens",
48
+ "type": "uint256",
49
+ "indexed": false
50
+ }
51
+ ],
52
+ "anonymous": false,
53
+ "type": "event"
54
+ },
55
+ {
56
+ "name": "Claimed",
57
+ "inputs": [
58
+ {
59
+ "name": "recipient",
60
+ "type": "address",
61
+ "indexed": true
62
+ },
63
+ {
64
+ "name": "amount",
65
+ "type": "uint256",
66
+ "indexed": false
67
+ },
68
+ {
69
+ "name": "claim_epoch",
70
+ "type": "uint256",
71
+ "indexed": false
72
+ },
73
+ {
74
+ "name": "max_epoch",
75
+ "type": "uint256",
76
+ "indexed": false
77
+ }
78
+ ],
79
+ "anonymous": false,
80
+ "type": "event"
81
+ },
82
+ {
83
+ "stateMutability": "nonpayable",
84
+ "type": "constructor",
85
+ "inputs": [
86
+ {
87
+ "name": "_voting_escrow",
88
+ "type": "address"
89
+ },
90
+ {
91
+ "name": "_start_time",
92
+ "type": "uint256"
93
+ },
94
+ {
95
+ "name": "_token",
96
+ "type": "address"
97
+ },
98
+ {
99
+ "name": "_admin",
100
+ "type": "address"
101
+ },
102
+ {
103
+ "name": "_emergency_return",
104
+ "type": "address"
105
+ }
106
+ ],
107
+ "outputs": []
108
+ },
109
+ {
110
+ "stateMutability": "nonpayable",
111
+ "type": "function",
112
+ "name": "checkpoint_token",
113
+ "inputs": [],
114
+ "outputs": []
115
+ },
116
+ {
117
+ "stateMutability": "view",
118
+ "type": "function",
119
+ "name": "ve_for_at",
120
+ "inputs": [
121
+ {
122
+ "name": "_user",
123
+ "type": "address"
124
+ },
125
+ {
126
+ "name": "_timestamp",
127
+ "type": "uint256"
128
+ }
129
+ ],
130
+ "outputs": [
131
+ {
132
+ "name": "",
133
+ "type": "uint256"
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "stateMutability": "nonpayable",
139
+ "type": "function",
140
+ "name": "checkpoint_total_supply",
141
+ "inputs": [],
142
+ "outputs": []
143
+ },
144
+ {
145
+ "stateMutability": "view",
146
+ "type": "function",
147
+ "name": "claim",
148
+ "inputs": [
149
+ {
150
+ "name": "_addr",
151
+ "type": "address"
152
+ }
153
+ ],
154
+ "outputs": [
155
+ {
156
+ "name": "",
157
+ "type": "uint256"
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "stateMutability": "nonpayable",
163
+ "type": "function",
164
+ "name": "claim_many",
165
+ "inputs": [
166
+ {
167
+ "name": "_receivers",
168
+ "type": "address[20]"
169
+ }
170
+ ],
171
+ "outputs": [
172
+ {
173
+ "name": "",
174
+ "type": "bool"
175
+ }
176
+ ]
177
+ },
178
+ {
179
+ "stateMutability": "nonpayable",
180
+ "type": "function",
181
+ "name": "burn",
182
+ "inputs": [
183
+ {
184
+ "name": "_coin",
185
+ "type": "address"
186
+ }
187
+ ],
188
+ "outputs": [
189
+ {
190
+ "name": "",
191
+ "type": "bool"
192
+ }
193
+ ]
194
+ },
195
+ {
196
+ "stateMutability": "nonpayable",
197
+ "type": "function",
198
+ "name": "commit_admin",
199
+ "inputs": [
200
+ {
201
+ "name": "_addr",
202
+ "type": "address"
203
+ }
204
+ ],
205
+ "outputs": []
206
+ },
207
+ {
208
+ "stateMutability": "nonpayable",
209
+ "type": "function",
210
+ "name": "apply_admin",
211
+ "inputs": [],
212
+ "outputs": []
213
+ },
214
+ {
215
+ "stateMutability": "nonpayable",
216
+ "type": "function",
217
+ "name": "toggle_allow_checkpoint_token",
218
+ "inputs": [],
219
+ "outputs": []
220
+ },
221
+ {
222
+ "stateMutability": "nonpayable",
223
+ "type": "function",
224
+ "name": "kill_me",
225
+ "inputs": [],
226
+ "outputs": []
227
+ },
228
+ {
229
+ "stateMutability": "nonpayable",
230
+ "type": "function",
231
+ "name": "recover_balance",
232
+ "inputs": [
233
+ {
234
+ "name": "_coin",
235
+ "type": "address"
236
+ }
237
+ ],
238
+ "outputs": [
239
+ {
240
+ "name": "",
241
+ "type": "bool"
242
+ }
243
+ ]
244
+ },
245
+ {
246
+ "stateMutability": "view",
247
+ "type": "function",
248
+ "name": "start_time",
249
+ "inputs": [],
250
+ "outputs": [
251
+ {
252
+ "name": "",
253
+ "type": "uint256"
254
+ }
255
+ ]
256
+ },
257
+ {
258
+ "stateMutability": "view",
259
+ "type": "function",
260
+ "name": "time_cursor",
261
+ "inputs": [],
262
+ "outputs": [
263
+ {
264
+ "name": "",
265
+ "type": "uint256"
266
+ }
267
+ ]
268
+ },
269
+ {
270
+ "stateMutability": "view",
271
+ "type": "function",
272
+ "name": "time_cursor_of",
273
+ "inputs": [
274
+ {
275
+ "name": "arg0",
276
+ "type": "address"
277
+ }
278
+ ],
279
+ "outputs": [
280
+ {
281
+ "name": "",
282
+ "type": "uint256"
283
+ }
284
+ ]
285
+ },
286
+ {
287
+ "stateMutability": "view",
288
+ "type": "function",
289
+ "name": "user_epoch_of",
290
+ "inputs": [
291
+ {
292
+ "name": "arg0",
293
+ "type": "address"
294
+ }
295
+ ],
296
+ "outputs": [
297
+ {
298
+ "name": "",
299
+ "type": "uint256"
300
+ }
301
+ ]
302
+ },
303
+ {
304
+ "stateMutability": "view",
305
+ "type": "function",
306
+ "name": "last_token_time",
307
+ "inputs": [],
308
+ "outputs": [
309
+ {
310
+ "name": "",
311
+ "type": "uint256"
312
+ }
313
+ ]
314
+ },
315
+ {
316
+ "stateMutability": "view",
317
+ "type": "function",
318
+ "name": "tokens_per_week",
319
+ "inputs": [
320
+ {
321
+ "name": "arg0",
322
+ "type": "uint256"
323
+ }
324
+ ],
325
+ "outputs": [
326
+ {
327
+ "name": "",
328
+ "type": "uint256"
329
+ }
330
+ ]
331
+ },
332
+ {
333
+ "stateMutability": "view",
334
+ "type": "function",
335
+ "name": "voting_escrow",
336
+ "inputs": [],
337
+ "outputs": [
338
+ {
339
+ "name": "",
340
+ "type": "address"
341
+ }
342
+ ]
343
+ },
344
+ {
345
+ "stateMutability": "view",
346
+ "type": "function",
347
+ "name": "token",
348
+ "inputs": [],
349
+ "outputs": [
350
+ {
351
+ "name": "",
352
+ "type": "address"
353
+ }
354
+ ]
355
+ },
356
+ {
357
+ "stateMutability": "view",
358
+ "type": "function",
359
+ "name": "total_received",
360
+ "inputs": [],
361
+ "outputs": [
362
+ {
363
+ "name": "",
364
+ "type": "uint256"
365
+ }
366
+ ]
367
+ },
368
+ {
369
+ "stateMutability": "view",
370
+ "type": "function",
371
+ "name": "token_last_balance",
372
+ "inputs": [],
373
+ "outputs": [
374
+ {
375
+ "name": "",
376
+ "type": "uint256"
377
+ }
378
+ ]
379
+ },
380
+ {
381
+ "stateMutability": "view",
382
+ "type": "function",
383
+ "name": "ve_supply",
384
+ "inputs": [
385
+ {
386
+ "name": "arg0",
387
+ "type": "uint256"
388
+ }
389
+ ],
390
+ "outputs": [
391
+ {
392
+ "name": "",
393
+ "type": "uint256"
394
+ }
395
+ ]
396
+ },
397
+ {
398
+ "stateMutability": "view",
399
+ "type": "function",
400
+ "name": "admin",
401
+ "inputs": [],
402
+ "outputs": [
403
+ {
404
+ "name": "",
405
+ "type": "address"
406
+ }
407
+ ]
408
+ },
409
+ {
410
+ "stateMutability": "view",
411
+ "type": "function",
412
+ "name": "future_admin",
413
+ "inputs": [],
414
+ "outputs": [
415
+ {
416
+ "name": "",
417
+ "type": "address"
418
+ }
419
+ ]
420
+ },
421
+ {
422
+ "stateMutability": "view",
423
+ "type": "function",
424
+ "name": "can_checkpoint_token",
425
+ "inputs": [],
426
+ "outputs": [
427
+ {
428
+ "name": "",
429
+ "type": "bool"
430
+ }
431
+ ]
432
+ },
433
+ {
434
+ "stateMutability": "view",
435
+ "type": "function",
436
+ "name": "emergency_return",
437
+ "inputs": [],
438
+ "outputs": [
439
+ {
440
+ "name": "",
441
+ "type": "address"
442
+ }
443
+ ]
444
+ },
445
+ {
446
+ "stateMutability": "view",
447
+ "type": "function",
448
+ "name": "is_killed",
449
+ "inputs": [],
450
+ "outputs": [
451
+ {
452
+ "name": "",
453
+ "type": "bool"
454
+ }
455
+ ]
456
+ }
457
+ ]
@@ -6,6 +6,7 @@ export var ALIASES_ETHEREUM = lowerCaseValues({
6
6
  "gauge_factory_fraxtal": "0xeF672bD94913CB6f1d2812a6e18c1fFdEd8eFf5c",
7
7
  "voting_escrow": "0x5f3b5DfEb7B28CDbD7FAba78963EE202a494e2A2",
8
8
  "fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc",
9
+ "fee_distributor_crvusd": "0xD16d5eC345Dd86Fb63C6a9C43c517210F1027914",
9
10
  "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
10
11
  "address_provider": "0x0000000022d53366457f9d5e68ec105046fc4383",
11
12
  "router": "0xF0d4c12A5768D806021F80a262B4d39d26C58b8D",
package/lib/curve.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ethers, Contract, Networkish, BigNumberish, Numeric } from "ethers";
2
- import { Provider as MulticallProvider, Contract as MulticallContract } from 'ethcall';
2
+ import { Provider as MulticallProvider, Contract as MulticallContract } from "@curvefi/ethcall";
3
3
  import { IPoolData, IDict, ICurve, INetworkName, IChainId, IFactoryPoolType } from "./interfaces";
4
4
  export declare const NATIVE_TOKENS: {
5
5
  [index: number]: {
package/lib/curve.js CHANGED
@@ -55,7 +55,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
55
  return to.concat(ar || Array.prototype.slice.call(from));
56
56
  };
57
57
  import { ethers, AbstractProvider, } from "ethers";
58
- import { Provider as MulticallProvider } from 'ethcall';
58
+ import { Provider as MulticallProvider } from "@curvefi/ethcall";
59
59
  import { getFactoryPoolData } from "./factory/factory.js";
60
60
  import { getFactoryPoolsDataFromApi } from "./factory/factory-api.js";
61
61
  import { getCryptoFactoryPoolData } from "./factory/factory-crypto.js";
@@ -72,6 +72,7 @@ import anycallABI from './constants/abis/anycall.json' assert { type: 'json' };
72
72
  import votingEscrowOracleABI from './constants/abis/voting_escrow_oracle.json' assert { type: 'json' };
73
73
  import votingEscrowOracleEthABI from './constants/abis/voting_escrow_oracle_eth.json' assert { type: 'json' };
74
74
  import feeDistributorABI from './constants/abis/fee_distributor.json' assert { type: 'json' };
75
+ import feeDistributorCrvUSDABI from './constants/abis/fee_distributor_crvusd.json' assert { type: 'json' };
75
76
  import gaugeControllerABI from './constants/abis/gaugecontroller.json' assert { type: 'json' };
76
77
  import depositAndStakeABI from './constants/abis/deposit_and_stake.json' assert { type: 'json' };
77
78
  import cryptoCalcZapABI from './constants/abis/crypto_calc.json' assert { type: 'json' };
@@ -1042,6 +1043,9 @@ var Curve = /** @class */ (function () {
1042
1043
  NETWORK_CONSTANTS[this.chainId].aTokens,
1043
1044
  ], cTokens = _d[0], yTokens = _d[1], ycTokens = _d[2], aTokens = _d[3];
1044
1045
  customAbiTokens = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], cTokens, true), yTokens, true), ycTokens, true), aTokens, true);
1046
+ if (this.chainId === 5000) {
1047
+ this.constantOptions = { gasLimit: 9000000 };
1048
+ }
1045
1049
  this.multicallProvider = new MulticallProvider(this.chainId, this.provider);
1046
1050
  if (!this.signer) return [3 /*break*/, 15];
1047
1051
  _p.label = 11;
@@ -1120,6 +1124,9 @@ var Curve = /** @class */ (function () {
1120
1124
  }
1121
1125
  this.setContract(this.constants.ALIASES.voting_escrow, votingEscrowABI);
1122
1126
  this.setContract(this.constants.ALIASES.fee_distributor, feeDistributorABI);
1127
+ if (this.chainId === 1) {
1128
+ this.setContract(this.constants.ALIASES.fee_distributor_crvusd, feeDistributorCrvUSDABI);
1129
+ }
1123
1130
  this.setContract(this.constants.ALIASES.gauge_controller, gaugeControllerABI);
1124
1131
  if (this.chainId == 137) {
1125
1132
  this.setContract(this.constants.ALIASES.router, routerPolygonABI);
@@ -54,7 +54,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
54
  }
55
55
  return to.concat(ar || Array.prototype.slice.call(from));
56
56
  };
57
- import { Contract as MulticallContract } from "ethcall";
57
+ import { Contract as MulticallContract } from "@curvefi/ethcall";
58
58
  import { curve } from "../curve.js";
59
59
  import ERC20ABI from "../constants/abis/ERC20.json" assert { type: 'json' };
60
60
  import factoryGaugeABI from "../constants/abis/gauge_factory.json" assert { type: 'json' };
package/lib/index.d.ts CHANGED
@@ -202,6 +202,8 @@ declare const curve: {
202
202
  withdrawLockedCrv: () => Promise<string>;
203
203
  claimableFees: (address?: string) => Promise<string>;
204
204
  claimFees: (address?: string) => Promise<string>;
205
+ claimableFeesCrvUSD: (address?: string) => Promise<string>;
206
+ claimFeesCrvUSD: (address?: string) => Promise<string>;
205
207
  estimateGas: {
206
208
  approve: (amount: string | number) => Promise<number | number[]>;
207
209
  createLock: (amount: string | number, days: number) => Promise<number>;
@@ -209,6 +211,7 @@ declare const curve: {
209
211
  increaseUnlockTime: (days: number) => Promise<number>;
210
212
  withdrawLockedCrv: () => Promise<number>;
211
213
  claimFees: (address?: string) => Promise<number>;
214
+ claimFeesCrvUSD: (address?: string) => Promise<number>;
212
215
  };
213
216
  sidechain: {
214
217
  lastEthBlock: () => Promise<number>;
package/lib/index.js CHANGED
@@ -38,7 +38,7 @@ import { PoolTemplate, getPool } from "./pools/index.js";
38
38
  import { getUserPoolListByLiquidity, getUserPoolListByClaimable, getUserPoolList, getUserLiquidityUSD, getUserClaimable, } from "./pools/utils.js";
39
39
  import { getBestRouteAndOutput, getArgs, swapExpected, swapRequired, swapPriceImpact, swapIsApproved, swapApproveEstimateGas, swapApprove, swapEstimateGas, swap, getSwappedAmount, } from "./router.js";
40
40
  import { curve as _curve } from "./curve.js";
41
- import { getCrv, getLockedAmountAndUnlockTime, getVeCrv, getVeCrvPct, calcUnlockTime, createLockEstimateGas, createLock, isApproved, approveEstimateGas, approve, increaseAmountEstimateGas, increaseAmount, increaseUnlockTimeEstimateGas, increaseUnlockTime, withdrawLockedCrvEstimateGas, withdrawLockedCrv, claimableFees, claimFeesEstimateGas, claimFees, lastEthBlock, getAnycallBalance, topUpAnycall, topUpAnycallEstimateGas, lastBlockSent, blockToSend, sendBlockhash, sendBlockhashEstimateGas, submitProof, submitProofEstimateGas, } from "./boosting.js";
41
+ import { getCrv, getLockedAmountAndUnlockTime, getVeCrv, getVeCrvPct, calcUnlockTime, createLockEstimateGas, createLock, isApproved, approveEstimateGas, approve, increaseAmountEstimateGas, increaseAmount, increaseUnlockTimeEstimateGas, increaseUnlockTime, withdrawLockedCrvEstimateGas, withdrawLockedCrv, claimableFees, claimFeesEstimateGas, claimFees, lastEthBlock, getAnycallBalance, topUpAnycall, topUpAnycallEstimateGas, lastBlockSent, blockToSend, sendBlockhash, sendBlockhashEstimateGas, submitProof, submitProofEstimateGas, claimFeesCrvUSDEstimateGas, claimableFeesCrvUSD, claimFeesCrvUSD, } from "./boosting.js";
42
42
  import { getBalances, getAllowance, hasAllowance, ensureAllowanceEstimateGas, ensureAllowance, getUsdRate, getGasPriceFromL1, getGasPriceFromL2, getGasInfoForL2, getTVL, getCoinsData, getVolume, hasDepositAndStake, hasRouter, getBasePools, getGasPrice, } from "./utils.js";
43
43
  import { deployStablePlainPool, deployStablePlainPoolEstimateGas, getDeployedStablePlainPoolAddress, setOracle, setOracleEstimateGas, deployStableMetaPool, deployStableMetaPoolEstimateGas, getDeployedStableMetaPoolAddress, deployCryptoPool, deployCryptoPoolEstimateGas, getDeployedCryptoPoolAddress, deployTricryptoPool, deployTricryptoPoolEstimateGas, getDeployedTricryptoPoolAddress, deployGauge, deployGaugeEstimateGas, getDeployedGaugeAddress, deployGaugeSidechain, deployGaugeSidechainEstimateGas, deployGaugeMirror, deployGaugeMirrorEstimateGas, getDeployedGaugeMirrorAddress, getDeployedGaugeMirrorAddressByTx, deployStableNgPlainPool, deployStableNgPlainPoolEstimateGas, deployStableNgMetaPool, deployStableNgMetaPoolEstimateGas, deployTwocryptoPool, deployTwocryptoPoolEstimateGas, getDeployedTwocryptoPoolAddress, } from './factory/deploy.js';
44
44
  import { crvSupplyStats, userCrv, userVeCrv, crvLockIsApproved, crvLockApproveEstimateGas, crvLockApprove, calcCrvUnlockTime, createCrvLockEstimateGas, createCrvLock, increaseCrvLockedAmountEstimateGas, increaseCrvLockedAmount, increaseCrvUnlockTimeEstimateGas, increaseCrvUnlockTime, withdrawLockedCrvEstimateGas as daoWithdrawLockedCrvEstimateGas, withdrawLockedCrv as daoWithdrawLockedCrv, claimableFees as daoClaimableFees, claimFeesEstimateGas as daoClaimFeesEstimateGas, claimFees as daoClaimFees, getVotingGaugeList, userGaugeVotes, voteForGaugeNextTime, voteForGaugeEstimateGas, voteForGauge, getProposalList, getProposal, userProposalVotes, voteForProposalEstimateGas, voteForProposal, } from "./dao.js";
@@ -279,6 +279,8 @@ var curve = {
279
279
  withdrawLockedCrv: withdrawLockedCrv,
280
280
  claimableFees: claimableFees,
281
281
  claimFees: claimFees,
282
+ claimableFeesCrvUSD: claimableFeesCrvUSD,
283
+ claimFeesCrvUSD: claimFeesCrvUSD,
282
284
  estimateGas: {
283
285
  approve: approveEstimateGas,
284
286
  createLock: createLockEstimateGas,
@@ -286,6 +288,7 @@ var curve = {
286
288
  increaseUnlockTime: increaseUnlockTimeEstimateGas,
287
289
  withdrawLockedCrv: withdrawLockedCrvEstimateGas,
288
290
  claimFees: claimFeesEstimateGas,
291
+ claimFeesCrvUSD: claimFeesCrvUSDEstimateGas,
289
292
  },
290
293
  sidechain: {
291
294
  lastEthBlock: lastEthBlock,
@@ -1,5 +1,5 @@
1
1
  import { Contract, ethers } from "ethers";
2
- import { Contract as MulticallContract, Provider as MulticallProvider } from "ethcall";
2
+ import { Contract as MulticallContract, Provider as MulticallProvider } from "@curvefi/ethcall";
3
3
  export interface IDict<T> {
4
4
  [index: string]: T;
5
5
  }
package/lib/utils.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { BrowserProvider, Contract, JsonRpcProvider, Signer } from 'ethers';
2
- import { Contract as MulticallContract } from "ethcall";
2
+ import { Contract as MulticallContract } from "@curvefi/ethcall";
3
3
  import BigNumber from 'bignumber.js';
4
4
  import { IBasePoolShortItem, IChainId, IDict, INetworkName, IRewardFromApi, IVolumeAndAPYs, REFERENCE_ASSET } from './interfaces';
5
5
  export declare const ETH_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
package/lib/utils.js CHANGED
@@ -56,7 +56,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
56
56
  };
57
57
  import axios from 'axios';
58
58
  import { Contract } from 'ethers';
59
- import { Contract as MulticallContract } from "ethcall";
59
+ import { Contract as MulticallContract } from "@curvefi/ethcall";
60
60
  import BigNumber from 'bignumber.js';
61
61
  import { curve, NETWORK_CONSTANTS } from "./curve.js";
62
62
  import { _getAllPoolsFromApi, _getFactoryAPYs, _getSubgraphData, _getVolumes, } from "./external-api.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/api",
3
- "version": "2.60.1",
3
+ "version": "2.60.3",
4
4
  "description": "JavaScript library for curve.fi",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",
@@ -34,7 +34,7 @@
34
34
  "dependencies": {
35
35
  "axios": "^0.21.1",
36
36
  "bignumber.js": "^9.0.1",
37
- "ethcall": "6.0.6",
37
+ "@curvefi/ethcall": "6.0.7",
38
38
  "ethers": "^6.11.0",
39
39
  "memoizee": "^0.4.15"
40
40
  }