stackswap-front-api-test-02 1.0.38 → 1.0.46

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.
Files changed (35) hide show
  1. package/dist/esm/index.d.ts +10 -4
  2. package/dist/esm/index.js +38 -18
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/stackswap/config.d.ts +29 -3
  5. package/dist/esm/stackswap/config.js +62 -3
  6. package/dist/esm/stackswap/config.js.map +1 -1
  7. package/dist/esm/stackswap/manager/farm2.manager.d.ts +39 -20
  8. package/dist/esm/stackswap/manager/farm2.manager.js +158 -62
  9. package/dist/esm/stackswap/manager/farm2.manager.js.map +1 -1
  10. package/dist/esm/stackswap/manager/staking.manager.js +2 -2
  11. package/dist/esm/stackswap/manager/staking.manager.js.map +1 -1
  12. package/dist/esm/stackswap/util.d.ts +0 -2
  13. package/dist/esm/stackswap/util.js +3 -41
  14. package/dist/esm/stackswap/util.js.map +1 -1
  15. package/dist/index.d.ts +10 -4
  16. package/dist/index.js +40 -18
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.umd.js +1 -1
  19. package/dist/stackswap/config.d.ts +29 -3
  20. package/dist/stackswap/config.js +64 -4
  21. package/dist/stackswap/config.js.map +1 -1
  22. package/dist/stackswap/manager/farm2.manager.d.ts +39 -20
  23. package/dist/stackswap/manager/farm2.manager.js +157 -61
  24. package/dist/stackswap/manager/farm2.manager.js.map +1 -1
  25. package/dist/stackswap/manager/staking.manager.js +2 -2
  26. package/dist/stackswap/manager/staking.manager.js.map +1 -1
  27. package/dist/stackswap/util.d.ts +0 -2
  28. package/dist/stackswap/util.js +4 -44
  29. package/dist/stackswap/util.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/index.ts +43 -18
  32. package/src/stackswap/config.ts +79 -5
  33. package/src/stackswap/manager/farm2.manager.ts +189 -126
  34. package/src/stackswap/manager/staking.manager.ts +2 -2
  35. package/src/stackswap/util.ts +6 -38
@@ -11,9 +11,13 @@ export interface StackswapConfig {
11
11
  CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT: () => string;
12
12
  CONTRACT_NAME_STACKSWAP_DAO: () => string;
13
13
  CONTRACT_NAME_STACKSWAP_GOVERNANCE: () => string;
14
- CONTRACT_NAME_STACKSWAP_FARMING: () => string;
15
- CONTRACT_NAME_STACKSWAP_FARMING2: () => string;
16
14
  CONTRACT_NAME_STACKSWAP_STACKING: () => string;
15
+ CONTRACT_NAME_STACKSWAP_FARMING: () => string;
16
+ CONTRACT_NAME_STACKSWAP_FARMING2_1: () => string;
17
+ CONTRACT_NAME_STACKSWAP_FARMING2_2: () => string;
18
+ CONTRACT_NAME_STACKSWAP_FARMING2_3: () => string;
19
+ CONTRACT_NAME_STACKSWAP_FARMING2_4: () => string;
20
+ CONTRACT_NAME_STACKSWAP_FARMING2_5: () => string;
17
21
  CONTRACT_NAME_STACKSWAP_ROUTER_SWAP: () => string;
18
22
  CONTRACT_NAME_COLLATERAL_TYPES: () => string;
19
23
  CONTRACT_NAME_AINFT: () => string;
@@ -41,6 +45,8 @@ export interface StackswapConfig {
41
45
  STSW_LBTC_LP: () => string;
42
46
  }
43
47
  export declare class StackswapMainetConfig implements StackswapConfig {
48
+ farm_end_cycle: string;
49
+ constructor(farm_end_cycle?: string);
44
50
  CONTRACT_NAME_AINFT(): string;
45
51
  CONTRACT_NAME_COLLATERAL_TYPES(): string;
46
52
  CONTRACT_NAME_COMMISSION(): string;
@@ -57,7 +63,11 @@ export declare class StackswapMainetConfig implements StackswapConfig {
57
63
  CONTRACT_NAME_STACKER4(): string;
58
64
  CONTRACT_NAME_STACKSWAP_DAO(): string;
59
65
  CONTRACT_NAME_STACKSWAP_FARMING(): string;
60
- CONTRACT_NAME_STACKSWAP_FARMING2(): string;
66
+ CONTRACT_NAME_STACKSWAP_FARMING2_1(): string;
67
+ CONTRACT_NAME_STACKSWAP_FARMING2_2(): string;
68
+ CONTRACT_NAME_STACKSWAP_FARMING2_3(): string;
69
+ CONTRACT_NAME_STACKSWAP_FARMING2_4(): string;
70
+ CONTRACT_NAME_STACKSWAP_FARMING2_5(): string;
61
71
  CONTRACT_NAME_STACKSWAP_GOVERNANCE(): string;
62
72
  CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(): string;
63
73
  CONTRACT_NAME_STACKSWAP_ROUTER_SWAP(): string;
@@ -82,3 +92,19 @@ export declare class StackswapMainetConfig implements StackswapConfig {
82
92
  STX_STSW_LP(): string;
83
93
  STSW_LBTC_LP(): string;
84
94
  }
95
+ export declare class StackswapDevnetConfig extends StackswapMainetConfig {
96
+ CONTRACT_NAME_POX(): string;
97
+ FARM_V1_END_CYCLE(): string;
98
+ STACKSWAP_ADDRESS(): string;
99
+ STACKS_API_URL(): string;
100
+ STACKS_BACKEND_PARAM(): string;
101
+ STACKS_BACKEND_URL(): string;
102
+ isMainnet(): boolean;
103
+ MODE(): string;
104
+ BASE_WSTX_DATA(): any;
105
+ BASE_STSW_DATA(): any;
106
+ BASE_vSTSW_DATA(): any;
107
+ BASE_LBTC_DATA(): any;
108
+ STX_STSW_LP(): string;
109
+ STSW_LBTC_LP(): string;
110
+ }
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StackswapMainetConfig = void 0;
3
+ exports.StackswapDevnetConfig = exports.StackswapMainetConfig = void 0;
4
4
  class StackswapMainetConfig {
5
+ constructor(farm_end_cycle = '99999') {
6
+ this.farm_end_cycle = farm_end_cycle;
7
+ }
5
8
  CONTRACT_NAME_AINFT() {
6
9
  return 'stackswap-leonardoughdavinci-v1b';
7
10
  }
@@ -50,8 +53,20 @@ class StackswapMainetConfig {
50
53
  CONTRACT_NAME_STACKSWAP_FARMING() {
51
54
  return 'stackswap-farming-v1l';
52
55
  }
53
- CONTRACT_NAME_STACKSWAP_FARMING2() {
54
- return 'stackswap-farming-v2a';
56
+ CONTRACT_NAME_STACKSWAP_FARMING2_1() {
57
+ return 'stackswap-farming-v2b1';
58
+ }
59
+ CONTRACT_NAME_STACKSWAP_FARMING2_2() {
60
+ return 'stackswap-farming-v2b2';
61
+ }
62
+ CONTRACT_NAME_STACKSWAP_FARMING2_3() {
63
+ return 'stackswap-farming-v2b3';
64
+ }
65
+ CONTRACT_NAME_STACKSWAP_FARMING2_4() {
66
+ return 'stackswap-farming-v2b4';
67
+ }
68
+ CONTRACT_NAME_STACKSWAP_FARMING2_5() {
69
+ return 'stackswap-farming-v2b5';
55
70
  }
56
71
  CONTRACT_NAME_STACKSWAP_GOVERNANCE() {
57
72
  return 'stackswap-governance-v5k';
@@ -75,7 +90,7 @@ class StackswapMainetConfig {
75
90
  return 'stackswap-vault-data-v1c';
76
91
  }
77
92
  FARM_V1_END_CYCLE() {
78
- return '9999';
93
+ return this.farm_end_cycle;
79
94
  }
80
95
  STACKSWAP_ADDRESS() {
81
96
  return 'SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275';
@@ -124,4 +139,49 @@ class StackswapMainetConfig {
124
139
  }
125
140
  }
126
141
  exports.StackswapMainetConfig = StackswapMainetConfig;
142
+ class StackswapDevnetConfig extends StackswapMainetConfig {
143
+ CONTRACT_NAME_POX() {
144
+ return 'ST000000000000000000002AMW42H';
145
+ }
146
+ FARM_V1_END_CYCLE() {
147
+ return '9999';
148
+ }
149
+ STACKSWAP_ADDRESS() {
150
+ return 'ST2REHHS5J3CERCRBEPMGH7921Q6PYKAADT7JP2VB';
151
+ }
152
+ STACKS_API_URL() {
153
+ return 'http://localhost:3999';
154
+ }
155
+ STACKS_BACKEND_PARAM() {
156
+ return '7777';
157
+ }
158
+ STACKS_BACKEND_URL() {
159
+ return 'https://app.stackswap.org';
160
+ }
161
+ isMainnet() {
162
+ return false;
163
+ }
164
+ MODE() {
165
+ return 'devnet';
166
+ }
167
+ BASE_WSTX_DATA() {
168
+ return JSON.parse('{"name":"STX","decimal":6,"icon":"https://app.stackswap.org/icon/stx.svg","addr":"ST2REHHS5J3CERCRBEPMGH7921Q6PYKAADT7JP2VB.wstx-token-v4a"}');
169
+ }
170
+ BASE_STSW_DATA() {
171
+ return JSON.parse('{"name":"Stackswap","decimal":6,"icon":"https://app.stackswap.org/icon/stsw.svg","addr":"ST2REHHS5J3CERCRBEPMGH7921Q6PYKAADT7JP2VB.stsw-token-v4a","symbol":"STSW"}');
172
+ }
173
+ BASE_vSTSW_DATA() {
174
+ return JSON.parse('{"name":"vSTACKSWAP","decimal":6,"icon":"https://app.stackswap.org/icon/stsw.svg","addr":"ST2REHHS5J3CERCRBEPMGH7921Q6PYKAADT7JP2VB.vstsw-token-v1k","symbol":"vSTSW"}');
175
+ }
176
+ BASE_LBTC_DATA() {
177
+ return JSON.parse('{"name":"Lucid Bitcoin","decimal":8,"icon":"https://app.stackswap.org/icon/lbtc.svg","addr":"ST2REHHS5J3CERCRBEPMGH7921Q6PYKAADT7JP2VB.lbtc-token-v1c","symbol":"lBTC"}');
178
+ }
179
+ STX_STSW_LP() {
180
+ return 'ST2REHHS5J3CERCRBEPMGH7921Q6PYKAADT7JP2VB.liquidity-token-stx-stsw';
181
+ }
182
+ STSW_LBTC_LP() {
183
+ return 'ST2REHHS5J3CERCRBEPMGH7921Q6PYKAADT7JP2VB.liquidity-token-v5krqbd8nh6';
184
+ }
185
+ }
186
+ exports.StackswapDevnetConfig = StackswapDevnetConfig;
127
187
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/stackswap/config.ts"],"names":[],"mappings":";;;AA8CA,MAAa,qBAAqB;IAChC,mBAAmB;QACjB,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IAED,8BAA8B;QAC5B,OAAO,gCAAgC,CAAC;IAC1C,CAAC;IAED,wBAAwB;QACtB,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAED,uBAAuB;QACrB,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,uBAAuB;QACrB,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,oBAAoB;QAClB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,iBAAiB;QACf,OAAO,+BAA+B,CAAC;IACzC,CAAC;IAED,wBAAwB;QACtB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,yBAAyB;QACvB,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,2BAA2B;QACzB,OAAO,6BAA6B,CAAC;IACvC,CAAC;IAED,sBAAsB;QACpB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,sBAAsB;QACpB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,sBAAsB;QACpB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,sBAAsB;QACpB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,2BAA2B;QACzB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,+BAA+B;QAC7B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,gCAAgC;QAC9B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,kCAAkC;QAChC,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,qCAAqC;QACnC,OAAO,6BAA6B,CAAC;IACvC,CAAC;IAED,mCAAmC;QACjC,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,gCAAgC;QAC9B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,4BAA4B;QAC1B,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,yBAAyB;QACvB,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,wBAAwB;QACtB,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,iBAAiB;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB;QACf,OAAO,2CAA2C,CAAC;IACrD,CAAC;IAED,cAAc;QACZ,OAAO,2CAA2C,CAAC;IACrD,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2BAA2B;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;QAChB,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,gKAAgK,CAAC,CAAC;IACtL,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,mPAAmP,CAAC,CAAC;IACzQ,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,qKAAqK,CAAC,CAAC;IAC3L,CAAC;IACD,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,wKAAwK,CAAC,CAAC;IAC9L,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,yKAAyK,CAAC,CAAC;IAC/L,CAAC;IACD,WAAW;QACT,OAAO,oEAAoE,CAAC;IAC9E,CAAC;IACD,YAAY;QACV,OAAO,uEAAuE,CAAC;IACjF,CAAC;CAEF;AA3JD,sDA2JC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/stackswap/config.ts"],"names":[],"mappings":"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"}
@@ -3,35 +3,54 @@ import { StackswapAPI } from "../../index";
3
3
  export declare class Farm2Manager {
4
4
  stackswap: StackswapAPI;
5
5
  constructor(stackswap: StackswapAPI);
6
- getFarmingRound(bh: number): Promise<any>;
7
- getFarmingRoundFirstBlock(cycle: number): Promise<any>;
8
- isUserMigratable(pool_address: string): Promise<any>;
9
- getPoolUSDPriceFarm(farm: any, farm_total: any, oracle_stx: any, oracle_stsw: any, oracle_lbtc: any): number;
10
- getFarming(pair: any, token_x: any, token_y: any, farm_total: any): Promise<BigNumber>;
11
- getFarmingStakerStatus(pool_address: string, cur_round: number): Promise<{
6
+ getFarmingRound2(bh: number, farming_contract: string): Promise<any>;
7
+ getFarmingRoundFirstBlock2(cycle: number, farming_contract: string): Promise<any>;
8
+ isUserMigratable2(pool_address: string, farming_contract: string): Promise<any>;
9
+ getPoolUSDPriceFarm(farm: any, farm_total: any, oracle_data: {
10
+ oracle_stx: any;
11
+ oracle_stsw: any;
12
+ oracle_lbtc: any;
13
+ }): number;
14
+ getFarmingStakerStatus2(pool_address: string, cur_round: number, farming_contract: string): Promise<{
12
15
  pooledToken: any;
13
16
  unclaimedList: any[];
14
17
  stakedList: any[];
15
18
  }>;
16
- getFarmingTotalStatusCycle(cycle: number): Promise<{
19
+ getFarmingTotalStatusCycle2(cycle: number, farming_contract: string): Promise<{
17
20
  reward: any;
18
21
  value: any;
19
22
  }>;
20
- getFarmingTotalPoolStatus(pool_address: string): Promise<{
23
+ getFarmingTotalPoolStatus2(pool_address: string, farming_contract: string): Promise<{
21
24
  amountLP: any;
22
25
  weight: any;
23
26
  }>;
24
- getFarmingTotalPoolStatusCycle(pool_address: string, cycle: number): Promise<string>;
25
- getFarmingTotalValue(pool_address: string): Promise<any>;
26
- getFarmingUserRewardPerCycle(pool_address: string, cycle: number): Promise<any>;
27
- getFarmingUserRewardList(pool_address: string, unclaimed_list: any): Promise<any>;
28
- getFarmingRewardInfo(pool_address: string, cycle: number): Promise<any>;
29
- migrateToVersion2(pool_address: string, callback?: any): Promise<void>;
30
- stakeFarmingContract(pool_address: string, amountTokens: string, lockPeriod: number, callback?: any): Promise<void>;
31
- getFarmBalance(token: any): Promise<any>;
32
- claimFarmingContract(pool_address: string, cycle: number, amount_STSW: string, amount_LP: string, callback?: any): Promise<void>;
33
- unstakeFarmingContract(pool_address: string, cycle: number, amount_LP: string, callback?: any): Promise<void>;
34
- getCurrentFarmingRound(): Promise<any>;
35
- getRewardBalanceFromFarming(pool_addr: string, unclaimed_list: any): Promise<string>;
27
+ getFarmingTotalPoolStatusCycle2(pool_address: string, cycle: number, farming_contract: string): Promise<string>;
28
+ getFarmingTotalValue2(pool_address: string, farming_contract: string): Promise<any>;
29
+ getFarmingUserRewardPerCycle2(pool_address: string, cycle: number, farming_contract: string): Promise<any>;
30
+ getFarmingUserRewardList2(pool_address: string, unclaimed_list: any, farming_contract: string): Promise<any>;
31
+ getFarmingRewardInfo2(pool_address: string, cycle: number, farming_contract: string): Promise<any>;
32
+ migrateToVersion2(pool_address: string, farming_contract: string, callback: any): Promise<void>;
33
+ stakeFarmingContract2(pool_address: string, amountTokens: string, lockPeriod: number, callback: any, farming_contract: string): Promise<void>;
34
+ getFarmBalance2(token: any, farming_contract: string): Promise<any>;
35
+ claimFarmingContract2(pool_address: string, cycle: number, amount_STSW: string, amount_LP: string, callback: any, farming_contract: string): Promise<void>;
36
+ unstakeFarmingContract2(pool_address: string, cycle: number, amount_LP: string, callback: any, farming_contract: string): Promise<void>;
37
+ getCurrentFarmingRound2(farming_contract: string): Promise<any>;
38
+ getRewardBalanceFromFarming2(pool_addr: string, unclaimed_list: any, farming_contract: string): Promise<BigNumber>;
36
39
  getFarmingAPR(tvl: string, stsw_price: string, reward: string, weight: string): string;
40
+ getFarmDataFromData(data: any): Promise<any[]>;
41
+ getEachFarmData(data: any, bh: string, oracle_data: {
42
+ oracle_stx: any;
43
+ oracle_stsw: any;
44
+ oracle_lbtc: any;
45
+ }): Promise<any[]>;
46
+ getFarmData(farm: any, farm_round: any, block_height: string, tvl_apr: BigNumber, farming_contract: string, oracle_data: {
47
+ oracle_stx: any;
48
+ oracle_stsw: any;
49
+ oracle_lbtc: any;
50
+ }): Promise<any>;
51
+ getFarmUserData(farm: any, farm_round: string, farming_contract: string, oracle_data: {
52
+ oracle_stx: any;
53
+ oracle_stsw: any;
54
+ oracle_lbtc: any;
55
+ }): Promise<void>;
37
56
  }
@@ -12,9 +12,9 @@ class Farm2Manager {
12
12
  constructor(stackswap) {
13
13
  this.stackswap = stackswap;
14
14
  }
15
- async getFarmingRound(bh) {
15
+ async getFarmingRound2(bh, farming_contract) {
16
16
  try {
17
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getRewardRound', [
17
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getRewardRound', [
18
18
  (0, transactions_1.uintCV)(bh)
19
19
  ]);
20
20
  const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
@@ -25,17 +25,17 @@ class Farm2Manager {
25
25
  return 0;
26
26
  }
27
27
  }
28
- async getFarmingRoundFirstBlock(cycle) {
29
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getFirstBlockOfRound', [
28
+ async getFarmingRoundFirstBlock2(cycle, farming_contract) {
29
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getFirstBlockOfRound', [
30
30
  (0, transactions_1.uintCV)(cycle)
31
31
  ]);
32
32
  const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
33
33
  const result = (0, transactions_1.cvToValue)(result_raw);
34
34
  return result;
35
35
  }
36
- async isUserMigratable(pool_address) {
36
+ async isUserMigratable2(pool_address, farming_contract) {
37
37
  const address = pool_address.split('.');
38
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'isUserMigratable', [
38
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'isUserMigratable', [
39
39
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
40
40
  (0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress()),
41
41
  ]);
@@ -48,31 +48,31 @@ class Farm2Manager {
48
48
  return true;
49
49
  }
50
50
  }
51
- getPoolUSDPriceFarm(farm, farm_total, oracle_stx, oracle_stsw, oracle_lbtc) {
51
+ getPoolUSDPriceFarm(farm, farm_total, oracle_data) {
52
52
  let tvl = 0;
53
53
  switch (farm.BASE) {
54
54
  case 'STX':
55
55
  if (farm.token_x.symbol === farm.BASE) {
56
- tvl = (new bignumber_js_1.default(farm.pair['balance-x'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 12))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_stx)).toNumber();
56
+ tvl = (new bignumber_js_1.default(farm.pair['balance-x'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 12))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_data.oracle_stx)).toNumber();
57
57
  }
58
58
  else {
59
- tvl = (new bignumber_js_1.default(farm.pair['balance-y'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 12))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_stx)).toNumber();
59
+ tvl = (new bignumber_js_1.default(farm.pair['balance-y'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 12))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_data.oracle_stx)).toNumber();
60
60
  }
61
61
  break;
62
62
  case 'STSW':
63
63
  if (farm.token_x.symbol === farm.BASE) {
64
- tvl = (new bignumber_js_1.default(farm.pair['balance-x'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 12))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_stsw)).toNumber();
64
+ tvl = (new bignumber_js_1.default(farm.pair['balance-x'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 12))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_data.oracle_stsw)).toNumber();
65
65
  }
66
66
  else {
67
- tvl = (new bignumber_js_1.default(farm.pair['balance-y'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 12))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_stsw)).toNumber();
67
+ tvl = (new bignumber_js_1.default(farm.pair['balance-y'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 12))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_data.oracle_stsw)).toNumber();
68
68
  }
69
69
  break;
70
70
  case 'lBTC':
71
71
  if (farm.token_x.symbol === farm.BASE) {
72
- tvl = (new bignumber_js_1.default(farm.pair['balance-x'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 14))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_lbtc)).toNumber();
72
+ tvl = (new bignumber_js_1.default(farm.pair['balance-x'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 14))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_data.oracle_lbtc)).toNumber();
73
73
  }
74
74
  else {
75
- tvl = (new bignumber_js_1.default(farm.pair['balance-y'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 14))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_lbtc)).toNumber();
75
+ tvl = (new bignumber_js_1.default(farm.pair['balance-y'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** 14))).multipliedBy(2).multipliedBy(new bignumber_js_1.default(oracle_data.oracle_lbtc)).toNumber();
76
76
  }
77
77
  break;
78
78
  default:
@@ -80,27 +80,17 @@ class Farm2Manager {
80
80
  }
81
81
  return tvl;
82
82
  }
83
- async getFarming(pair, token_x, token_y, farm_total) {
84
- const x_token_addr = token_x.addr;
85
- const y_token_addr = token_y.addr;
86
- let total_balacne = new bignumber_js_1.default(-1);
87
- if (x_token_addr === this.stackswap.config.BASE_WSTX_DATA().addr) {
88
- total_balacne = (new bignumber_js_1.default(pair['balance-x'].value).multipliedBy(farm_total).dividedBy(pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** token_x.decimal))).multipliedBy(2);
89
- }
90
- else if (y_token_addr === this.stackswap.config.BASE_WSTX_DATA().addr) {
91
- total_balacne = (new bignumber_js_1.default(pair['balance-y'].value).multipliedBy(farm_total).dividedBy(pair['shares-total'].value).dividedBy(new bignumber_js_1.default(10 ** token_y.decimal))).multipliedBy(2);
92
- }
93
- return total_balacne;
94
- }
95
- async getFarmingStakerStatus(pool_address, cur_round) {
83
+ async getFarmingStakerStatus2(pool_address, cur_round, farming_contract) {
96
84
  const address = pool_address.split('.');
97
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPUserData', [
85
+ console.log('getFarmingStakerStatus', farming_contract);
86
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getLPUserData', [
98
87
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
99
88
  (0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress()),
100
89
  ]);
101
90
  const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
102
91
  const result = (0, transactions_1.cvToValue)(result_raw);
103
92
  try {
93
+ console.log('getFarmingStakerStatus', result);
104
94
  const pooledToken = result.value.amountLP.value;
105
95
  const unclaimedList = [];
106
96
  const stakedList = [];
@@ -113,11 +103,12 @@ class Farm2Manager {
113
103
  return { pooledToken, unclaimedList, stakedList };
114
104
  }
115
105
  catch (e) {
106
+ console.log(e);
116
107
  return { pooledToken: 0, unclaimedList: [], stakedList: [] };
117
108
  }
118
109
  }
119
- async getFarmingTotalStatusCycle(cycle) {
120
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getTotalRoundDataOrDefault', [
110
+ async getFarmingTotalStatusCycle2(cycle, farming_contract) {
111
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getTotalRoundDataOrDefault', [
121
112
  (0, transactions_1.uintCV)(cycle),
122
113
  ]);
123
114
  const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
@@ -135,9 +126,9 @@ class Farm2Manager {
135
126
  };
136
127
  }
137
128
  }
138
- async getFarmingTotalPoolStatus(pool_address) {
129
+ async getFarmingTotalPoolStatus2(pool_address, farming_contract) {
139
130
  const address = pool_address.split('.');
140
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPTotalData', [
131
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getLPTotalData', [
141
132
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
142
133
  ]);
143
134
  const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
@@ -149,9 +140,9 @@ class Farm2Manager {
149
140
  return { amountLP: '0', weight: '1' };
150
141
  }
151
142
  }
152
- async getFarmingTotalPoolStatusCycle(pool_address, cycle) {
143
+ async getFarmingTotalPoolStatusCycle2(pool_address, cycle, farming_contract) {
153
144
  const address = pool_address.split('.');
154
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPRoundData', [
145
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getLPRoundData', [
155
146
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
156
147
  (0, transactions_1.uintCV)(cycle),
157
148
  ]);
@@ -164,10 +155,10 @@ class Farm2Manager {
164
155
  return '0';
165
156
  }
166
157
  }
167
- async getFarmingTotalValue(pool_address) {
158
+ async getFarmingTotalValue2(pool_address, farming_contract) {
168
159
  try {
169
160
  const address = pool_address.split('.');
170
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPTotalData', [
161
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getLPTotalData', [
171
162
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
172
163
  ]);
173
164
  const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
@@ -178,9 +169,9 @@ class Farm2Manager {
178
169
  return 0;
179
170
  }
180
171
  }
181
- async getFarmingUserRewardPerCycle(pool_address, cycle) {
172
+ async getFarmingUserRewardPerCycle2(pool_address, cycle, farming_contract) {
182
173
  const address = pool_address.split('.');
183
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getFarmingReward', [
174
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getFarmingReward', [
184
175
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
185
176
  (0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress()),
186
177
  (0, transactions_1.uintCV)(cycle),
@@ -189,9 +180,9 @@ class Farm2Manager {
189
180
  const result = (0, transactions_1.cvToValue)(result_raw);
190
181
  return result;
191
182
  }
192
- async getFarmingUserRewardList(pool_address, unclaimed_list) {
183
+ async getFarmingUserRewardList2(pool_address, unclaimed_list, farming_contract) {
193
184
  const address = pool_address.split('.');
194
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getFarmingRewardFromList', [
185
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getFarmingRewardFromList', [
195
186
  (0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress()),
196
187
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
197
188
  (0, transactions_1.listCV)(unclaimed_list),
@@ -200,9 +191,9 @@ class Farm2Manager {
200
191
  const result = (0, transactions_1.cvToValue)(result_raw);
201
192
  return result;
202
193
  }
203
- async getFarmingRewardInfo(pool_address, cycle) {
194
+ async getFarmingRewardInfo2(pool_address, cycle, farming_contract) {
204
195
  const address = pool_address.split('.');
205
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPUserRoundData', [
196
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, farming_contract, 'getLPUserRoundData', [
206
197
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
207
198
  (0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress()),
208
199
  (0, transactions_1.uintCV)(cycle),
@@ -211,17 +202,17 @@ class Farm2Manager {
211
202
  const result = (0, transactions_1.cvToValue)(result_raw);
212
203
  return result.value.returnLP.value;
213
204
  }
214
- async migrateToVersion2(pool_address, callback = null) {
205
+ async migrateToVersion2(pool_address, farming_contract, callback) {
215
206
  const address = pool_address.split('.');
216
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'migrateFromVersion1', [
207
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, farming_contract, 'migrateFromVersion1', [
217
208
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
218
209
  ], [], callback);
219
210
  await (0, connect_1.openContractCall)(function_option);
220
211
  }
221
- async stakeFarmingContract(pool_address, amountTokens, lockPeriod, callback = null) {
212
+ async stakeFarmingContract2(pool_address, amountTokens, lockPeriod, callback, farming_contract) {
222
213
  const address = pool_address.split('.');
223
214
  const amount = new bignumber_js_1.default(amountTokens).multipliedBy(10 ** 6).toFixed(0).toString();
224
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'stakeTokens', [
215
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, farming_contract, 'stakeTokens', [
225
216
  (0, transactions_1.uintCV)(amount),
226
217
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
227
218
  (0, transactions_1.uintCV)(lockPeriod),
@@ -229,8 +220,8 @@ class Farm2Manager {
229
220
  ], [await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), pool_address, amount, transactions_1.FungibleConditionCode.Equal)], callback);
230
221
  await (0, connect_1.openContractCall)(function_option);
231
222
  }
232
- async getFarmBalance(token) {
233
- const pair_details_options = (0, util_1.getReadOptions)(this.stackswap, token.addr, 'get-balance', [(0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING())]);
223
+ async getFarmBalance2(token, farming_contract) {
224
+ const pair_details_options = (0, util_1.getReadOptions)(this.stackswap, token.addr, 'get-balance', [(0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), farming_contract)]);
234
225
  try {
235
226
  const result = await (0, transactions_1.callReadOnlyFunction)(pair_details_options);
236
227
  return (0, transactions_1.cvToValue)(result).value;
@@ -239,47 +230,50 @@ class Farm2Manager {
239
230
  return 0;
240
231
  }
241
232
  }
242
- async claimFarmingContract(pool_address, cycle, amount_STSW, amount_LP, callback = null) {
233
+ async claimFarmingContract2(pool_address, cycle, amount_STSW, amount_LP, callback, farming_contract) {
243
234
  const address = pool_address.split('.');
244
235
  const post_condition = [];
245
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), this.stackswap.config.BASE_STSW_DATA().addr, amount_STSW, transactions_1.FungibleConditionCode.Equal));
246
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), pool_address, amount_LP, transactions_1.FungibleConditionCode.Equal));
247
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'claimStakingReward', [
236
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + farming_contract, this.stackswap.config.BASE_STSW_DATA().addr, amount_STSW, transactions_1.FungibleConditionCode.Equal));
237
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + farming_contract, pool_address, amount_LP, transactions_1.FungibleConditionCode.Equal));
238
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, farming_contract, 'claimStakingReward', [
248
239
  (0, transactions_1.uintCV)(cycle),
249
240
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
250
241
  (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
251
242
  ], post_condition, callback);
252
243
  await (0, connect_1.openContractCall)(function_option);
253
244
  }
254
- async unstakeFarmingContract(pool_address, cycle, amount_LP, callback = null) {
245
+ async unstakeFarmingContract2(pool_address, cycle, amount_LP, callback, farming_contract) {
255
246
  const address = pool_address.split('.');
256
247
  const post_condition = [];
257
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), pool_address, amount_LP, transactions_1.FungibleConditionCode.Equal));
258
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'unstake-from-farming', [
248
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + farming_contract, pool_address, amount_LP, transactions_1.FungibleConditionCode.Equal));
249
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, farming_contract, 'unstake-from-farming', [
259
250
  (0, transactions_1.uintCV)(cycle),
260
251
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
261
252
  ], post_condition, callback);
262
253
  await (0, connect_1.openContractCall)(function_option);
263
254
  }
264
- async getCurrentFarmingRound() {
265
- const bh = Number(await this.stackswap.getCurrentBlock());
266
- return await this.getFarmingRound(bh);
255
+ async getCurrentFarmingRound2(farming_contract) {
256
+ const bh = await this.stackswap.getCurrentBlock();
257
+ return await this.getFarmingRound2(Number(bh), farming_contract);
267
258
  }
268
- async getRewardBalanceFromFarming(pool_addr, unclaimed_list) {
259
+ async getRewardBalanceFromFarming2(pool_addr, unclaimed_list, farming_contract) {
269
260
  const num_list = [];
270
261
  for (const unclaimed of unclaimed_list) {
271
262
  num_list.push((0, transactions_1.uintCV)(unclaimed));
272
263
  }
273
264
  let reward_num = new bignumber_js_1.default(0);
265
+ console.log(pool_addr, num_list, farming_contract);
274
266
  try {
275
267
  for (let i = 0; i < num_list.length; i += 4) {
276
- const result = await this.getFarmingUserRewardList(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length));
268
+ console.log(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length), farming_contract);
269
+ const result = await this.getFarmingUserRewardList2(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length), farming_contract);
270
+ console.log('temp result', result.rewardSum.value);
277
271
  reward_num = reward_num.plus(new bignumber_js_1.default(result.rewardSum.value));
278
272
  }
279
- return (0, util_1.numFormat_)((0, util_1.num2decimal)(reward_num.toString(), 6));
273
+ return (0, util_1.num2decimal)(reward_num.toString(), 6);
280
274
  }
281
275
  catch (e) {
282
- return (0, util_1.numFormat_)((0, util_1.num2decimal)(reward_num.toString(), 6));
276
+ return (0, util_1.num2decimal)(reward_num.toString(), 6);
283
277
  }
284
278
  }
285
279
  getFarmingAPR(tvl, stsw_price, reward, weight) {
@@ -296,6 +290,108 @@ class Farm2Manager {
296
290
  return new_reward_apr.toFixed(3).toString();
297
291
  }
298
292
  }
293
+ async getFarmDataFromData(data) {
294
+ const oracle_stsw = (await this.stackswap.lbtcManager.getPrice('STSW'))['last-price'].value;
295
+ const oracle_stx = (await this.stackswap.lbtcManager.getPrice('STX'))['last-price'].value;
296
+ const oracle_lbtc = (await this.stackswap.lbtcManager.getPrice('lBTC'))['last-price'].value;
297
+ const bh = await this.stackswap.getCurrentBlock();
298
+ return await this.getEachFarmData(data, bh, { oracle_stsw, oracle_lbtc, oracle_stx });
299
+ }
300
+ async getEachFarmData(data, bh, oracle_data) {
301
+ const tvl_apr = new bignumber_js_1.default(0);
302
+ const farms = [];
303
+ const farm_length = data.length;
304
+ for (let i = 0; i < data.length; i++) {
305
+ let farming_contract = '';
306
+ if (data[i].farm_group === 1) {
307
+ farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1();
308
+ }
309
+ else if (data[i].farm_group === 5) {
310
+ farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_5();
311
+ }
312
+ const farm_round = await this.getCurrentFarmingRound2(farming_contract);
313
+ this.getFarmData(data[i], farm_round, bh, tvl_apr, farming_contract, oracle_data).then((value) => {
314
+ value.farm_group = data[i].farm_group;
315
+ value.farm_contract = farming_contract;
316
+ farms.push(value);
317
+ if (farms.length === farm_length) {
318
+ const tvls = { 'group1': '0', 'group5': '0' };
319
+ for (const farm_temp of farms) {
320
+ switch (farm_temp.farm_group) {
321
+ case 1:
322
+ tvls.group1 = new bignumber_js_1.default(tvls.group1).plus(new bignumber_js_1.default(this.getPoolUSDPriceFarm(farm_temp, farm_temp.total_locked_lp, oracle_data)).multipliedBy(farm_temp.weight)).toString();
323
+ break;
324
+ case 5:
325
+ tvls.group5 = new bignumber_js_1.default(tvls.group5).plus(new bignumber_js_1.default(this.getPoolUSDPriceFarm(farm_temp, farm_temp.total_locked_lp, oracle_data)).multipliedBy(farm_temp.weight)).toString();
326
+ break;
327
+ }
328
+ }
329
+ console.log({ tvls });
330
+ for (const farm_temp of farms) {
331
+ switch (farm_temp.farm_group) {
332
+ case 1:
333
+ farm_temp.APR = this.getFarmingAPR(tvls.group1, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
334
+ break;
335
+ case 5:
336
+ farm_temp.APR = this.getFarmingAPR(tvls.group5, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
337
+ break;
338
+ }
339
+ console.log(farm_temp.APR);
340
+ }
341
+ }
342
+ });
343
+ }
344
+ return farms;
345
+ }
346
+ async getFarmData(farm, farm_round, block_height, tvl_apr, farming_contract, oracle_data) {
347
+ farm.valid = false;
348
+ farm.cur_round = farm_round;
349
+ farm.pair = (await this.stackswap.swapManager.findRouter(farm.token_x, farm.token_y, Number(block_height))).pair;
350
+ farm.pair.sharetoken = { balance: 0, addr: farm.pair['liquidity-token'].value };
351
+ farm.pair.price = (farm.pair['balance-y'].value / (10 ** farm.token_y.decimal)) / (farm.pair['balance-x'].value / (10 ** farm.token_x.decimal));
352
+ const farm_total_v2 = await this.getFarmBalance2(farm.pair.sharetoken, farming_contract);
353
+ const farm_total_v1 = await this.stackswap.farmManager.getFarmBalance(farm.pair.sharetoken);
354
+ farm.TVL = this.getPoolUSDPriceFarm(farm, new bignumber_js_1.default(farm_total_v1).plus(farm_total_v2).toString(), oracle_data);
355
+ farm.total_locked_lp = new bignumber_js_1.default(farm_total_v1).plus(farm_total_v2).toString();
356
+ const farm_temp_total_data = await this.getFarmingTotalStatusCycle2(farm_round, farming_contract);
357
+ farm.reward = farm_temp_total_data.reward;
358
+ const lpTotalData = await this.getFarmingTotalPoolStatus2(farm.token_swapr, farming_contract);
359
+ farm.weight = lpTotalData.weight;
360
+ tvl_apr = tvl_apr.plus(new bignumber_js_1.default(this.getPoolUSDPriceFarm(farm, farm.total_locked_lp, oracle_data)).multipliedBy(farm.weight));
361
+ console.log(farming_contract, farm.TVL, tvl_apr);
362
+ farm.valid = true;
363
+ return farm;
364
+ }
365
+ async getFarmUserData(farm, farm_round, farming_contract, oracle_data) {
366
+ farm.isMigratable = await this.isUserMigratable2(farm.pair['liquidity-token'].value, farming_contract);
367
+ this.getFarmingStakerStatus2(farm.token_swapr, Number(farm_round), farming_contract).then((status_v2) => {
368
+ if (!farm.isMigratable) {
369
+ this.stackswap.farmManager.getFarmingStakerStatus(farm.token_swapr, Number(farm_round)).then((status_v1) => {
370
+ farm.claimable_list = status_v2.unclaimedList.concat(status_v1.unclaimedList);
371
+ farm.pooled_stsw = new bignumber_js_1.default(status_v2.pooledToken).plus(status_v1.pooledToken).toString();
372
+ farm.stakedList = status_v2.stakedList;
373
+ farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
374
+ this.getRewardBalanceFromFarming2(farm.token_swapr, status_v2.unclaimedList, farming_contract).then(reward_v2 => {
375
+ this.stackswap.farmManager.getRewardBalanceFromFarming(farm.token_swapr, status_v1.unclaimedList).then(reward_v1 => {
376
+ console.log({ reward_v2 });
377
+ farm.total_reward = new bignumber_js_1.default(reward_v2).plus(reward_v1).toString();
378
+ });
379
+ });
380
+ });
381
+ }
382
+ else {
383
+ console.log('not yet migrated', status_v2);
384
+ farm.claimable_list = status_v2.unclaimedList;
385
+ farm.pooled_stsw = status_v2.pooledToken;
386
+ farm.stakedList = status_v2.stakedList;
387
+ farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
388
+ this.getRewardBalanceFromFarming2(farm.token_swapr, status_v2.unclaimedList, farming_contract).then(reward => {
389
+ console.log({ reward });
390
+ farm.total_reward = reward;
391
+ });
392
+ }
393
+ });
394
+ }
299
395
  }
300
396
  exports.Farm2Manager = Farm2Manager;
301
397
  //# sourceMappingURL=farm2.manager.js.map