stackswap-front-api-test-02 1.1.2 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/stackswap/manager/farm2.manager.d.ts +6 -0
- package/dist/esm/stackswap/manager/farm2.manager.js +53 -23
- package/dist/esm/stackswap/manager/farm2.manager.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.LICENSE.txt +9 -0
- package/dist/stackswap/manager/farm2.manager.d.ts +6 -0
- package/dist/stackswap/manager/farm2.manager.js +53 -23
- package/dist/stackswap/manager/farm2.manager.js.map +1 -1
- package/package.json +1 -1
- package/src/stackswap/manager/farm2.manager.ts +63 -23
|
@@ -16,3 +16,12 @@
|
|
|
16
16
|
/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
17
17
|
|
|
18
18
|
/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @license
|
|
22
|
+
* Lodash <https://lodash.com/>
|
|
23
|
+
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
24
|
+
* Released under MIT license <https://lodash.com/license>
|
|
25
|
+
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
26
|
+
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
27
|
+
*/
|
|
@@ -80,6 +80,12 @@ export declare class Farm2Manager {
|
|
|
80
80
|
oracle_stsw: any;
|
|
81
81
|
oracle_lbtc: any;
|
|
82
82
|
}, type: Mode): Promise<any>;
|
|
83
|
+
localCache: {
|
|
84
|
+
[name: string]: {
|
|
85
|
+
block_height: string;
|
|
86
|
+
data: any;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
83
89
|
getFarmDataMinimal(farm: any, farm_round: any, block_height: string, farming_contract: string, oracle_data: {
|
|
84
90
|
oracle_stx: any;
|
|
85
91
|
oracle_stsw: any;
|
|
@@ -8,6 +8,7 @@ const transactions_1 = require("@stacks/transactions");
|
|
|
8
8
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
9
|
const connect_1 = require("@stacks/connect");
|
|
10
10
|
const util_1 = require("../util");
|
|
11
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
11
12
|
var Mode;
|
|
12
13
|
(function (Mode) {
|
|
13
14
|
Mode[Mode["WITH_SERVER"] = 0] = "WITH_SERVER";
|
|
@@ -15,6 +16,7 @@ var Mode;
|
|
|
15
16
|
})(Mode = exports.Mode || (exports.Mode = {}));
|
|
16
17
|
class Farm2Manager {
|
|
17
18
|
constructor(stackswap) {
|
|
19
|
+
this.localCache = {};
|
|
18
20
|
``;
|
|
19
21
|
this.stackswap = stackswap;
|
|
20
22
|
}
|
|
@@ -317,7 +319,6 @@ class Farm2Manager {
|
|
|
317
319
|
break;
|
|
318
320
|
}
|
|
319
321
|
}
|
|
320
|
-
console.log({ tvls });
|
|
321
322
|
for (const farm_temp of farms) {
|
|
322
323
|
switch (farm_temp.farm_group) {
|
|
323
324
|
case 1:
|
|
@@ -391,7 +392,6 @@ class Farm2Manager {
|
|
|
391
392
|
value.farm_contract = farming_contract;
|
|
392
393
|
farms.push(value);
|
|
393
394
|
this.checkAndSetFarmAPR(farms, farm_length, oracle_data);
|
|
394
|
-
console.log("let's callback");
|
|
395
395
|
callback({ farms, farm_round, oracle_data });
|
|
396
396
|
});
|
|
397
397
|
}
|
|
@@ -423,24 +423,25 @@ class Farm2Manager {
|
|
|
423
423
|
async getEachFarmDataSerialDash(data, bh, oracle_data, type) {
|
|
424
424
|
const farms = [];
|
|
425
425
|
const farm_length = data.length;
|
|
426
|
-
for (let i = 0; i <
|
|
426
|
+
for (let i = 0; i < 16; i++) {
|
|
427
427
|
farms.push([]);
|
|
428
428
|
}
|
|
429
429
|
const farm_round = await this.getCurrentFarmingRound2(this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1());
|
|
430
430
|
for (let farm_round_iter = Number(farm_round); farm_round_iter < Number(farm_round) + 16; farm_round_iter++) {
|
|
431
431
|
for (let i = 0; i < data.length; i++) {
|
|
432
|
+
const farm_data = lodash_1.default.cloneDeep(data[i]);
|
|
432
433
|
let farming_contract = '';
|
|
433
|
-
if (
|
|
434
|
+
if (farm_data.farm_group === 1) {
|
|
434
435
|
farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1();
|
|
435
436
|
}
|
|
436
|
-
else if (
|
|
437
|
+
else if (farm_data.farm_group === 2) {
|
|
437
438
|
farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_2();
|
|
438
439
|
}
|
|
439
|
-
else if (
|
|
440
|
+
else if (farm_data.farm_group === 5) {
|
|
440
441
|
farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_5();
|
|
441
442
|
}
|
|
442
|
-
const value = await this.getFarmDataMinimal(
|
|
443
|
-
value.farm_group =
|
|
443
|
+
const value = await this.getFarmDataMinimal(farm_data, farm_round_iter, bh, farming_contract, oracle_data, type);
|
|
444
|
+
value.farm_group = farm_data.farm_group;
|
|
444
445
|
value.farm_contract = farming_contract;
|
|
445
446
|
farms[farm_round_iter - Number(farm_round)].push(value);
|
|
446
447
|
}
|
|
@@ -475,22 +476,55 @@ class Farm2Manager {
|
|
|
475
476
|
async getFarmDataMinimal(farm, farm_round, block_height, farming_contract, oracle_data, type) {
|
|
476
477
|
farm.valid = false;
|
|
477
478
|
farm.cur_round = farm_round;
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
479
|
+
if (this.localCache[`${farm.name}|FarmPairData`] != null) {
|
|
480
|
+
if (Number(this.localCache[`${farm.name}|FarmPairData`].block_height) < Number(block_height)) {
|
|
481
|
+
switch (type) {
|
|
482
|
+
case Mode.ONLY_BLOCKCHAIN:
|
|
483
|
+
farm.pair = (await this.stackswap.poolManager.getPairDataFromContract(farm.token_x, farm.token_y));
|
|
484
|
+
break;
|
|
485
|
+
case Mode.WITH_SERVER:
|
|
486
|
+
farm.pair = (await this.stackswap.swapManager.findRouter(farm.token_x, farm.token_y, Number(block_height))).pair;
|
|
487
|
+
break;
|
|
488
|
+
}
|
|
489
|
+
this.localCache[`${farm.name}|FarmPairData`] = {
|
|
490
|
+
block_height: block_height,
|
|
491
|
+
data: farm.pair,
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
else {
|
|
495
|
+
farm.pair = this.localCache[`${farm.name}|FarmPairData`].data;
|
|
496
|
+
}
|
|
485
497
|
}
|
|
486
498
|
farm.pair.price = (farm.pair.balance_y / (10 ** farm.token_y.decimal)) / (farm.pair.balance_x / (10 ** farm.token_x.decimal));
|
|
487
499
|
const temp_farm_round_data = await this.getFarmingTotalPoolStatusCycle2(farm.pair.token_lp.addr, farm_round, farming_contract);
|
|
488
|
-
console.log(temp_farm_round_data);
|
|
489
500
|
farm.total_locked_lp = temp_farm_round_data.amountLP.value;
|
|
490
501
|
farm.TVL = this.getPoolUSDPriceFarm(farm, farm.total_locked_lp, oracle_data);
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
502
|
+
if (this.localCache[`${farm.farm_group}|FarmReward`] != null) {
|
|
503
|
+
if (Number(this.localCache[`${farm.farm_group}|FarmReward`].block_height) < Number(block_height)) {
|
|
504
|
+
const farm_temp_total_data = await this.getFarmingTotalStatusCycle2(farm_round, farming_contract);
|
|
505
|
+
farm.reward = temp_farm_round_data.reward;
|
|
506
|
+
this.localCache[`${farm.farm_group}|FarmReward`] = {
|
|
507
|
+
block_height: block_height,
|
|
508
|
+
data: farm_temp_total_data.reward,
|
|
509
|
+
};
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
farm.reward = this.localCache[`${farm.farm_group}|FarmReward`].data;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
let lpTotalData = null;
|
|
516
|
+
if (this.localCache[`${farm.name}|'FarmTotalPool`] != null) {
|
|
517
|
+
if (Number(this.localCache[`${farm.name}|'FarmTotalPool`].block_height) < Number(block_height)) {
|
|
518
|
+
lpTotalData = await this.getFarmingTotalPoolStatus2(farm.pair.token_lp.addr, farming_contract);
|
|
519
|
+
this.localCache[`${farm.name}|'FarmTotalPool`] = {
|
|
520
|
+
block_height: block_height,
|
|
521
|
+
data: lpTotalData,
|
|
522
|
+
};
|
|
523
|
+
}
|
|
524
|
+
else {
|
|
525
|
+
lpTotalData = this.localCache[`${farm.name}|'FarmTotalPool`].data;
|
|
526
|
+
}
|
|
527
|
+
}
|
|
494
528
|
farm.weight = lpTotalData.weight;
|
|
495
529
|
farm.valid = true;
|
|
496
530
|
return farm;
|
|
@@ -506,7 +540,6 @@ class Farm2Manager {
|
|
|
506
540
|
farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
|
|
507
541
|
this.getRewardBalanceFromFarming2(farm.pair.token_lp.addr, status_v2.unclaimedList, farming_contract).then(reward_v2 => {
|
|
508
542
|
this.stackswap.farmManager.getRewardBalanceFromFarming(farm.pair.token_lp.addr, status_v1.unclaimedList).then(reward_v1 => {
|
|
509
|
-
console.log({ reward_v2 });
|
|
510
543
|
farm.total_reward = new bignumber_js_1.default(reward_v2).plus(reward_v1).toString();
|
|
511
544
|
callback(farm);
|
|
512
545
|
});
|
|
@@ -514,13 +547,11 @@ class Farm2Manager {
|
|
|
514
547
|
});
|
|
515
548
|
}
|
|
516
549
|
else {
|
|
517
|
-
console.log('not yet migrated', status_v2);
|
|
518
550
|
farm.claimable_list = status_v2.unclaimedList;
|
|
519
551
|
farm.pooled_stsw = status_v2.pooledToken;
|
|
520
552
|
farm.stakedList = status_v2.stakedList;
|
|
521
553
|
farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
|
|
522
554
|
this.getRewardBalanceFromFarming2(farm.token_swapr, status_v2.unclaimedList, farming_contract).then(reward => {
|
|
523
|
-
console.log({ reward });
|
|
524
555
|
farm.total_reward = reward;
|
|
525
556
|
callback(farm);
|
|
526
557
|
});
|
|
@@ -546,7 +577,6 @@ class Farm2Manager {
|
|
|
546
577
|
farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
|
|
547
578
|
this.getRewardBalanceFromFarming2(farm.pair.token_lp.addr, status_v2.unclaimedList, farming_contract).then(reward_v2 => {
|
|
548
579
|
this.stackswap.farmManager.getRewardBalanceFromFarming(farm.pair.token_lp.addr, status_v1.unclaimedList).then(reward_v1 => {
|
|
549
|
-
console.log({ reward_v2 });
|
|
550
580
|
farm.total_reward = new bignumber_js_1.default(reward_v2).plus(reward_v1).toString();
|
|
551
581
|
callback(farm);
|
|
552
582
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"farm2.manager.js","sourceRoot":"","sources":["../../../src/stackswap/manager/farm2.manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"farm2.manager.js","sourceRoot":"","sources":["../../../src/stackswap/manager/farm2.manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -10,6 +10,7 @@ import BigNumber from 'bignumber.js';
|
|
|
10
10
|
import {openContractCall} from '@stacks/connect';
|
|
11
11
|
import {getPostConditionFromAsset, getReadOptions, getWriteOptions, num2decimal} from "../util";
|
|
12
12
|
import {StackswapAPI} from "../../index";
|
|
13
|
+
import _ from 'lodash';
|
|
13
14
|
|
|
14
15
|
export enum Mode {
|
|
15
16
|
WITH_SERVER,
|
|
@@ -369,7 +370,7 @@ export class Farm2Manager {
|
|
|
369
370
|
break;
|
|
370
371
|
}
|
|
371
372
|
}
|
|
372
|
-
console.log({tvls})
|
|
373
|
+
// console.log({tvls})
|
|
373
374
|
for (const farm_temp of farms) {
|
|
374
375
|
switch (farm_temp.farm_group) {
|
|
375
376
|
case 1:
|
|
@@ -451,7 +452,7 @@ export class Farm2Manager {
|
|
|
451
452
|
farms.push(value);
|
|
452
453
|
this.checkAndSetFarmAPR(farms, farm_length, oracle_data);
|
|
453
454
|
|
|
454
|
-
console.log("let's callback");
|
|
455
|
+
// console.log("let's callback");
|
|
455
456
|
callback({farms, farm_round, oracle_data});
|
|
456
457
|
})
|
|
457
458
|
}
|
|
@@ -487,23 +488,24 @@ export class Farm2Manager {
|
|
|
487
488
|
|
|
488
489
|
const farms : any[][] = [];
|
|
489
490
|
const farm_length: number = data.length;
|
|
490
|
-
for (let i = 0; i <
|
|
491
|
+
for (let i = 0; i < 16; i++) {
|
|
491
492
|
farms.push([]);
|
|
492
493
|
}
|
|
493
494
|
const farm_round = await this.getCurrentFarmingRound2(this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1());
|
|
494
495
|
for (let farm_round_iter = Number(farm_round); farm_round_iter < Number(farm_round) + 16 ; farm_round_iter++) {
|
|
495
496
|
for (let i = 0; i < data.length; i++) {
|
|
497
|
+
const farm_data = _.cloneDeep(data[i]);
|
|
496
498
|
let farming_contract = '';
|
|
497
|
-
if (
|
|
499
|
+
if (farm_data.farm_group === 1) {
|
|
498
500
|
farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1();
|
|
499
|
-
} else if (
|
|
501
|
+
} else if (farm_data.farm_group === 2) {
|
|
500
502
|
farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_2();
|
|
501
|
-
} else if (
|
|
503
|
+
} else if (farm_data.farm_group === 5) {
|
|
502
504
|
farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_5();
|
|
503
505
|
}
|
|
504
506
|
|
|
505
|
-
const value = await this.getFarmDataMinimal(
|
|
506
|
-
value.farm_group =
|
|
507
|
+
const value = await this.getFarmDataMinimal(farm_data, farm_round_iter, bh, farming_contract, oracle_data, type);
|
|
508
|
+
value.farm_group = farm_data.farm_group;
|
|
507
509
|
value.farm_contract = farming_contract;
|
|
508
510
|
|
|
509
511
|
farms[farm_round_iter-Number(farm_round)].push(value);
|
|
@@ -543,29 +545,67 @@ export class Farm2Manager {
|
|
|
543
545
|
}
|
|
544
546
|
|
|
545
547
|
|
|
548
|
+
localCache:{[name: string]: {block_height: string, data: any} } = {};
|
|
549
|
+
|
|
546
550
|
async getFarmDataMinimal(farm: any, farm_round: any, block_height: string, farming_contract: string, oracle_data: { oracle_stx: any, oracle_stsw: any, oracle_lbtc: any }, type : Mode ) {
|
|
547
551
|
farm.valid = false;
|
|
548
552
|
farm.cur_round = farm_round;
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
553
|
+
|
|
554
|
+
if(this.localCache[`${farm.name}|FarmPairData`] != null ){
|
|
555
|
+
if(Number(this.localCache[`${farm.name}|FarmPairData`].block_height) < Number(block_height) ){
|
|
556
|
+
switch (type) {
|
|
557
|
+
case Mode.ONLY_BLOCKCHAIN:
|
|
558
|
+
farm.pair = (await this.stackswap.poolManager.getPairDataFromContract(farm.token_x, farm.token_y));
|
|
559
|
+
break;
|
|
560
|
+
case Mode.WITH_SERVER:
|
|
561
|
+
farm.pair = (await this.stackswap.swapManager.findRouter(farm.token_x, farm.token_y, Number(block_height))).pair;
|
|
562
|
+
break;
|
|
563
|
+
}
|
|
564
|
+
this.localCache[`${farm.name}|FarmPairData`] = {
|
|
565
|
+
block_height : block_height,
|
|
566
|
+
data : farm.pair,
|
|
567
|
+
}
|
|
568
|
+
}else {
|
|
569
|
+
farm.pair = this.localCache[`${farm.name}|FarmPairData`].data;
|
|
570
|
+
}
|
|
556
571
|
}
|
|
572
|
+
|
|
557
573
|
// farm.pair.sharetoken = {balance: 0, addr: farm.pair.token_lp.addr};
|
|
558
574
|
farm.pair.price = (farm.pair.balance_y / (10 ** farm.token_y.decimal)) / (farm.pair.balance_x / (10 ** farm.token_x.decimal));
|
|
559
575
|
// const farm_total_v2 = await this.getFarmBalance2(farm.pair.token_lp, farming_contract);
|
|
560
576
|
// const farm_total_v1 = await this.stackswap.farmManager.getFarmBalance(farm.pair.token_lp);
|
|
561
577
|
const temp_farm_round_data= await this.getFarmingTotalPoolStatusCycle2(farm.pair.token_lp.addr, farm_round, farming_contract);
|
|
562
|
-
console.log(temp_farm_round_data);
|
|
578
|
+
// console.log(temp_farm_round_data);
|
|
563
579
|
farm.total_locked_lp = temp_farm_round_data.amountLP.value;
|
|
564
580
|
farm.TVL = this.getPoolUSDPriceFarm(farm, farm.total_locked_lp, oracle_data);
|
|
565
581
|
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
if(this.localCache[`${farm.farm_group}|FarmReward`] != null ){
|
|
585
|
+
if(Number(this.localCache[`${farm.farm_group}|FarmReward`].block_height) < Number(block_height) ){
|
|
586
|
+
const farm_temp_total_data = await this.getFarmingTotalStatusCycle2(farm_round, farming_contract);
|
|
587
|
+
farm.reward = temp_farm_round_data.reward;
|
|
588
|
+
this.localCache[`${farm.farm_group}|FarmReward`] = {
|
|
589
|
+
block_height : block_height,
|
|
590
|
+
data : farm_temp_total_data.reward,
|
|
591
|
+
}
|
|
592
|
+
}else {
|
|
593
|
+
farm.reward = this.localCache[`${farm.farm_group}|FarmReward`].data;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
let lpTotalData : any = null;
|
|
598
|
+
if(this.localCache[`${farm.name}|'FarmTotalPool`] != null ){
|
|
599
|
+
if(Number(this.localCache[`${farm.name}|'FarmTotalPool`].block_height) < Number(block_height) ){
|
|
600
|
+
lpTotalData = await this.getFarmingTotalPoolStatus2(farm.pair.token_lp.addr, farming_contract);
|
|
601
|
+
this.localCache[`${farm.name}|'FarmTotalPool`] = {
|
|
602
|
+
block_height : block_height,
|
|
603
|
+
data : lpTotalData,
|
|
604
|
+
}
|
|
605
|
+
}else {
|
|
606
|
+
lpTotalData = this.localCache[`${farm.name}|'FarmTotalPool`].data;
|
|
607
|
+
}
|
|
608
|
+
}
|
|
569
609
|
farm.weight = lpTotalData.weight; //TODO if weight chanages, use temp_farm_round_Data.weight
|
|
570
610
|
// tvl_apr = tvl_apr.plus(new BigNumber(this.getPoolUSDPriceFarm(farm, farm.total_locked_lp, oracle_data)).multipliedBy(farm.weight));
|
|
571
611
|
// console.log(farming_contract, farm.TVL, tvl_apr);
|
|
@@ -586,7 +626,7 @@ export class Farm2Manager {
|
|
|
586
626
|
// console.log('migrated', status_v2, status_v1);
|
|
587
627
|
this.getRewardBalanceFromFarming2(farm.pair.token_lp.addr, status_v2.unclaimedList, farming_contract).then(reward_v2 => {
|
|
588
628
|
this.stackswap.farmManager.getRewardBalanceFromFarming(farm.pair.token_lp.addr, status_v1.unclaimedList).then(reward_v1 => {
|
|
589
|
-
console.log({reward_v2})
|
|
629
|
+
// console.log({reward_v2})
|
|
590
630
|
farm.total_reward = new BigNumber(reward_v2).plus(reward_v1).toString();
|
|
591
631
|
callback(farm);
|
|
592
632
|
}
|
|
@@ -594,13 +634,13 @@ export class Farm2Manager {
|
|
|
594
634
|
});
|
|
595
635
|
});
|
|
596
636
|
} else {
|
|
597
|
-
console.log('not yet migrated', status_v2);
|
|
637
|
+
// console.log('not yet migrated', status_v2);
|
|
598
638
|
farm.claimable_list = status_v2.unclaimedList;
|
|
599
639
|
farm.pooled_stsw = status_v2.pooledToken;
|
|
600
640
|
farm.stakedList = status_v2.stakedList;
|
|
601
641
|
farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
|
|
602
642
|
this.getRewardBalanceFromFarming2(farm.token_swapr, status_v2.unclaimedList, farming_contract).then(reward => {
|
|
603
|
-
console.log({reward})
|
|
643
|
+
// console.log({reward})
|
|
604
644
|
farm.total_reward = reward;
|
|
605
645
|
callback(farm);
|
|
606
646
|
});
|
|
@@ -628,7 +668,7 @@ export class Farm2Manager {
|
|
|
628
668
|
// console.log('migrated', status_v2, status_v1);
|
|
629
669
|
this.getRewardBalanceFromFarming2(farm.pair.token_lp.addr, status_v2.unclaimedList, farming_contract).then(reward_v2 => {
|
|
630
670
|
this.stackswap.farmManager.getRewardBalanceFromFarming(farm.pair.token_lp.addr, status_v1.unclaimedList).then(reward_v1 => {
|
|
631
|
-
console.log({reward_v2})
|
|
671
|
+
// console.log({reward_v2})
|
|
632
672
|
farm.total_reward = new BigNumber(reward_v2).plus(reward_v1).toString();
|
|
633
673
|
callback(farm);
|
|
634
674
|
}
|