stackswap-front-api-test-02 1.0.129 → 1.0.132

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.
@@ -1,4 +1,3 @@
1
- import BigNumber from 'bignumber.js';
2
1
  import { StackswapAPI } from "../../index";
3
2
  import { Token } from "./token.manager";
4
3
  export declare enum Mode {
@@ -31,7 +30,29 @@ export declare class GroupFarmManager {
31
30
  getFarmBalance(token: any, farming_contract: string): Promise<any>;
32
31
  stakeTokens(stakingToken: Token, amountTokens: string, lockPeriod: number, callback: any, farming_contract: string): Promise<void>;
33
32
  claimStakingReward(stakingToken: string, cycle: number, rewardToken1: string, rewardToken2: string, rewardToken3: string, rewardToken4: string, rewardList: any, callback: any, farming_contract: string): Promise<void>;
33
+ getNFTAsset(tokenStr: string): Promise<string>;
34
34
  stakeNFTs(goldList: number[], silverList: number[], callback: any, farming_contract: string): Promise<void>;
35
- claimNFTStakingReward(rewardToken1: string, rewardToken2: string, rewardToken3: string, rewardToken4: string, rewardList: any, reclaimList: string[], callback: any, farming_contract: string): Promise<void>;
36
- getRewardBalanceFromFarming2(pool_addr: string, unclaimed_list: any, farming_contract: string): Promise<BigNumber>;
35
+ claimNFTStakingReward(rewardToken1: string, rewardToken2: string, rewardToken3: string, rewardToken4: string, rewardList: any, callback: any, farming_contract: string): Promise<void>;
36
+ getRewardBalanceFromFarming(stakingToken: string, unclaimed_list: any, farming_contract: string): Promise<{
37
+ rewardToken: {
38
+ type: string;
39
+ value: string;
40
+ };
41
+ reward1: {
42
+ type: string;
43
+ value: string;
44
+ };
45
+ reward2: {
46
+ type: string;
47
+ value: string;
48
+ };
49
+ reward3: {
50
+ type: string;
51
+ value: string;
52
+ };
53
+ reward4: {
54
+ type: string;
55
+ value: string;
56
+ };
57
+ }>;
37
58
  }
@@ -8,6 +8,8 @@ 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 token_manager_1 = require("./token.manager");
12
+ const axios_1 = __importDefault(require("axios"));
11
13
  var Mode;
12
14
  (function (Mode) {
13
15
  Mode[Mode["WITH_SERVER"] = 0] = "WITH_SERVER";
@@ -227,6 +229,19 @@ class GroupFarmManager {
227
229
  async claimStakingReward(stakingToken, cycle, rewardToken1, rewardToken2, rewardToken3, rewardToken4, rewardList, callback, farming_contract) {
228
230
  const address = stakingToken.split('.');
229
231
  const post_condition = [];
232
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, farming_contract, stakingToken, rewardList.returnToken.value, transactions_1.FungibleConditionCode.Equal));
233
+ if (rewardToken1 !== token_manager_1.Token.getBaseTokens(this.stackswap, token_manager_1.BaseToken.NULL).addr) {
234
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, farming_contract, rewardToken1, rewardList.reward1.value, transactions_1.FungibleConditionCode.Equal));
235
+ }
236
+ if (rewardToken2 !== token_manager_1.Token.getBaseTokens(this.stackswap, token_manager_1.BaseToken.NULL).addr) {
237
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, farming_contract, rewardToken2, rewardList.reward2.value, transactions_1.FungibleConditionCode.Equal));
238
+ }
239
+ if (rewardToken3 !== token_manager_1.Token.getBaseTokens(this.stackswap, token_manager_1.BaseToken.NULL).addr) {
240
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, farming_contract, rewardToken3, rewardList.reward3.value, transactions_1.FungibleConditionCode.Equal));
241
+ }
242
+ if (rewardToken4 !== token_manager_1.Token.getBaseTokens(this.stackswap, token_manager_1.BaseToken.NULL).addr) {
243
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, farming_contract, rewardToken4, rewardList.reward4.value, transactions_1.FungibleConditionCode.Equal));
244
+ }
230
245
  const function_option = (0, util_1.getWriteOptions)(this.stackswap, farming_contract, 'claimStakingReward', [
231
246
  (0, transactions_1.uintCV)(cycle),
232
247
  (0, transactions_1.contractPrincipalCV)(address[0], address[1]),
@@ -234,54 +249,121 @@ class GroupFarmManager {
234
249
  (0, util_1.parseAddressToCV)(rewardToken2),
235
250
  (0, util_1.parseAddressToCV)(rewardToken3),
236
251
  (0, util_1.parseAddressToCV)(rewardToken4),
237
- ], post_condition, callback, true);
252
+ ], post_condition, callback, false);
238
253
  console.log(rewardList);
239
254
  await (0, connect_1.openContractCall)(function_option);
240
255
  }
256
+ async getNFTAsset(tokenStr) {
257
+ const token_addr = tokenStr.split('.');
258
+ const url = this.stackswap.config.STACKS_API_URL() + '/v2/contracts/interface/' + token_addr[0] + '/' + token_addr[1];
259
+ const result = await axios_1.default.get(url);
260
+ if (result.data.non_fungible_tokens.length === 1) {
261
+ return tokenStr + '::' + result.data.non_fungible_tokens[0].name;
262
+ }
263
+ else {
264
+ return tokenStr + '::' + result.data.non_fungible_tokens[0].name;
265
+ }
266
+ }
241
267
  async stakeNFTs(goldList, silverList, callback, farming_contract) {
242
268
  const gold_list = [];
243
269
  const silver_list = [];
270
+ const post_condition = [];
271
+ const gold_asset_string = await this.getNFTAsset(this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_GOLD_PASS());
272
+ const silver_asset_string = await this.getNFTAsset(this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_SILVER_PASS());
244
273
  for (const gold of goldList) {
245
274
  gold_list.push((0, transactions_1.uintCV)(gold));
275
+ post_condition.push((0, transactions_1.makeStandardNonFungiblePostCondition)(this.stackswap.getSenderAddress(), transactions_1.NonFungibleConditionCode.DoesNotOwn, gold_asset_string, (0, transactions_1.uintCV)(gold)));
246
276
  }
247
277
  for (const silver of silverList) {
248
278
  silver_list.push((0, transactions_1.uintCV)(silver));
279
+ post_condition.push((0, transactions_1.makeStandardNonFungiblePostCondition)(this.stackswap.getSenderAddress(), transactions_1.NonFungibleConditionCode.DoesNotOwn, silver_asset_string, (0, transactions_1.uintCV)(silver)));
249
280
  }
250
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, farming_contract, 'stakeTokens', [
281
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, farming_contract, 'stakeNFTs', [
251
282
  (0, transactions_1.listCV)(gold_list),
252
283
  (0, transactions_1.listCV)(silver_list)
253
- ], [], callback, true);
284
+ ], post_condition, callback, false);
254
285
  await (0, connect_1.openContractCall)(function_option);
255
286
  }
256
- async claimNFTStakingReward(rewardToken1, rewardToken2, rewardToken3, rewardToken4, rewardList, reclaimList, callback, farming_contract) {
287
+ async claimNFTStakingReward(rewardToken1, rewardToken2, rewardToken3, rewardToken4, rewardList, callback, farming_contract) {
257
288
  const post_condition = [];
289
+ const gold_asset_string = await this.getNFTAsset(this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_GOLD_PASS());
290
+ for (const gold of rewardList.returnNFTS.value) {
291
+ post_condition.push((0, transactions_1.makeStandardNonFungiblePostCondition)(farming_contract, transactions_1.NonFungibleConditionCode.DoesNotOwn, gold_asset_string, (0, transactions_1.uintCV)(gold)));
292
+ }
293
+ if (rewardToken1 !== token_manager_1.Token.getBaseTokens(this.stackswap, token_manager_1.BaseToken.NULL).addr) {
294
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, farming_contract, rewardToken1, rewardList.reward1.value, transactions_1.FungibleConditionCode.Equal));
295
+ }
296
+ if (rewardToken2 !== token_manager_1.Token.getBaseTokens(this.stackswap, token_manager_1.BaseToken.NULL).addr) {
297
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, farming_contract, rewardToken2, rewardList.reward2.value, transactions_1.FungibleConditionCode.Equal));
298
+ }
299
+ if (rewardToken3 !== token_manager_1.Token.getBaseTokens(this.stackswap, token_manager_1.BaseToken.NULL).addr) {
300
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, farming_contract, rewardToken3, rewardList.reward3.value, transactions_1.FungibleConditionCode.Equal));
301
+ }
302
+ if (rewardToken4 !== token_manager_1.Token.getBaseTokens(this.stackswap, token_manager_1.BaseToken.NULL).addr) {
303
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, farming_contract, rewardToken4, rewardList.reward4.value, transactions_1.FungibleConditionCode.Equal));
304
+ }
258
305
  const function_option = (0, util_1.getWriteOptions)(this.stackswap, farming_contract, 'claimNFTStakingReward', [
259
306
  (0, util_1.parseAddressToCV)(rewardToken1),
260
307
  (0, util_1.parseAddressToCV)(rewardToken2),
261
308
  (0, util_1.parseAddressToCV)(rewardToken3),
262
309
  (0, util_1.parseAddressToCV)(rewardToken4),
263
- ], post_condition, callback, true);
264
- console.log(rewardList, reclaimList);
310
+ ], post_condition, callback, false);
265
311
  await (0, connect_1.openContractCall)(function_option);
266
312
  }
267
- async getRewardBalanceFromFarming2(pool_addr, unclaimed_list, farming_contract) {
268
- const num_list = [];
269
- for (const unclaimed of unclaimed_list) {
270
- num_list.push((0, transactions_1.uintCV)(unclaimed));
271
- }
272
- let reward_num = new bignumber_js_1.default(0);
273
- console.log(pool_addr, num_list, farming_contract);
313
+ async getRewardBalanceFromFarming(stakingToken, unclaimed_list, farming_contract) {
314
+ const tempRewardDict = {
315
+ rewardToken: {
316
+ type: "uint",
317
+ value: '0'
318
+ }, reward1: {
319
+ type: "uint",
320
+ value: '0'
321
+ }, reward2: {
322
+ type: "uint",
323
+ value: '0'
324
+ }, reward3: {
325
+ type: "uint",
326
+ value: '0'
327
+ }, reward4: {
328
+ type: "uint",
329
+ value: '0'
330
+ }
331
+ };
274
332
  try {
275
- for (let i = 0; i < num_list.length; i += 4) {
276
- console.log(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length), farming_contract);
277
- const result = await this.getFarmingUserRewardList2(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length), farming_contract);
278
- console.log('temp result', result.rewardSum.value);
279
- reward_num = reward_num.plus(new bignumber_js_1.default(result.rewardSum.value));
333
+ for (const round of unclaimed_list) {
334
+ const result = await this.getFarmingReward(stakingToken, round, farming_contract);
335
+ tempRewardDict.rewardToken.value =
336
+ new bignumber_js_1.default(tempRewardDict.rewardToken.value).plus(result.rewardToken.value).toFixed(0);
337
+ tempRewardDict.reward1.value =
338
+ new bignumber_js_1.default(tempRewardDict.reward1.value).plus(result.reward1.value).toFixed(0);
339
+ tempRewardDict.reward2.value =
340
+ new bignumber_js_1.default(tempRewardDict.reward2.value).plus(result.reward2.value).toFixed(0);
341
+ tempRewardDict.reward3.value =
342
+ new bignumber_js_1.default(tempRewardDict.reward3.value).plus(result.reward3.value).toFixed(0);
343
+ tempRewardDict.reward4.value =
344
+ new bignumber_js_1.default(tempRewardDict.reward4.value).plus(result.reward4.value).toFixed(0);
280
345
  }
281
- return (0, util_1.num2decimal)(reward_num.toString(), 6);
346
+ return tempRewardDict;
282
347
  }
283
348
  catch (e) {
284
- return (0, util_1.num2decimal)(reward_num.toString(), 6);
349
+ return {
350
+ rewardToken: {
351
+ type: "uint",
352
+ value: '0'
353
+ }, reward1: {
354
+ type: "uint",
355
+ value: '0'
356
+ }, reward2: {
357
+ type: "uint",
358
+ value: '0'
359
+ }, reward3: {
360
+ type: "uint",
361
+ value: '0'
362
+ }, reward4: {
363
+ type: "uint",
364
+ value: '0'
365
+ }
366
+ };
285
367
  }
286
368
  }
287
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"groupfarm.manager.js","sourceRoot":"","sources":["../../../src/stackswap/manager/groupfarm.manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groupfarm.manager.js","sourceRoot":"","sources":["../../../src/stackswap/manager/groupfarm.manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stackswap-front-api-test-02",
3
- "version": "1.0.129",
3
+ "version": "1.0.132",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "start": "tsc -b tsconfig.build.json --watch --verbose",
@@ -1,16 +1,20 @@
1
1
  import {
2
2
  callReadOnlyFunction,
3
3
  contractPrincipalCV,
4
- cvToValue, FungibleConditionCode,
4
+ cvToValue,
5
+ FungibleConditionCode,
5
6
  listCV,
7
+ makeStandardNonFungiblePostCondition,
8
+ NonFungibleConditionCode,
6
9
  standardPrincipalCV,
7
10
  uintCV
8
11
  } from '@stacks/transactions';
9
12
  import BigNumber from 'bignumber.js';
10
13
  import {openContractCall} from '@stacks/connect';
11
- import {getPostConditionFromAsset, getReadOptions, getWriteOptions, num2decimal, parseAddressToCV} from "../util";
14
+ import {getPostConditionFromAsset, getReadOptions, getWriteOptions, parseAddressToCV} from "../util";
12
15
  import {StackswapAPI} from "../../index";
13
- import {Token} from "./token.manager";
16
+ import {BaseToken, Token} from "./token.manager";
17
+ import axios from "axios";
14
18
 
15
19
  export enum Mode {
16
20
  WITH_SERVER,
@@ -266,8 +270,39 @@ export class GroupFarmManager {
266
270
  async claimStakingReward(stakingToken: string, cycle: number, rewardToken1: string, rewardToken2: string, rewardToken3: string, rewardToken4: string, rewardList: any, callback: any, farming_contract: string) {
267
271
  const address = stakingToken.split('.');
268
272
  const post_condition : any = [];
269
- // post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, this.stackswap.config.BASE_STSW_DATA().addr, amount_STSW, FungibleConditionCode.Equal));
270
- // post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, stakingToken, amount_LP, FungibleConditionCode.Equal));
273
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, stakingToken, rewardList.returnToken.value, FungibleConditionCode.Equal));
274
+ if(rewardToken1 !== Token.getBaseTokens(this.stackswap, BaseToken.NULL).addr){
275
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, rewardToken1, rewardList.reward1.value, FungibleConditionCode.Equal));
276
+ } if(rewardToken2 !== Token.getBaseTokens(this.stackswap, BaseToken.NULL).addr){
277
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, rewardToken2, rewardList.reward2.value, FungibleConditionCode.Equal));
278
+ } if(rewardToken3 !== Token.getBaseTokens(this.stackswap, BaseToken.NULL).addr){
279
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, rewardToken3, rewardList.reward3.value, FungibleConditionCode.Equal));
280
+ } if(rewardToken4 !== Token.getBaseTokens(this.stackswap, BaseToken.NULL).addr) {
281
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, rewardToken4, rewardList.reward4.value, FungibleConditionCode.Equal));
282
+ }
283
+
284
+ //{
285
+ // "returnToken": {
286
+ // "type": "uint",
287
+ // "value": "0"
288
+ // },
289
+ // "reward1": {
290
+ // "type": "uint",
291
+ // "value": "104500000"
292
+ // },
293
+ // "reward2": {
294
+ // "type": "uint",
295
+ // "value": "10545000"
296
+ // },
297
+ // "reward3": {
298
+ // "type": "uint",
299
+ // "value": "105545000"
300
+ // },
301
+ // "reward4": {
302
+ // "type": "uint",
303
+ // "value": "0"
304
+ // }
305
+ // }
271
306
  const function_option = getWriteOptions(this.stackswap, farming_contract, 'claimStakingReward', [
272
307
  uintCV(cycle),
273
308
  contractPrincipalCV(address[0], address[1]),
@@ -275,62 +310,135 @@ export class GroupFarmManager {
275
310
  parseAddressToCV(rewardToken2),
276
311
  parseAddressToCV(rewardToken3),
277
312
  parseAddressToCV(rewardToken4),
278
- ], post_condition, callback, true); //TODO post condition
313
+ ], post_condition, callback, false);
279
314
  console.log(rewardList);
280
315
  await openContractCall(function_option);
281
316
  }
282
317
 
318
+ async getNFTAsset(tokenStr: string) {
319
+ // console.log(tokenStr);
320
+ const token_addr = tokenStr.split('.');
321
+ const url = this.stackswap.config.STACKS_API_URL() + '/v2/contracts/interface/' + token_addr[0] + '/' + token_addr[1];
322
+ const result = await axios.get(url);
323
+ if (result.data.non_fungible_tokens.length === 1) {
324
+ return tokenStr + '::' + result.data.non_fungible_tokens[0].name;
325
+ } else {
326
+ return tokenStr + '::' + result.data.non_fungible_tokens[0].name;
327
+ }
328
+ }
329
+
283
330
  async stakeNFTs(goldList: number[], silverList: number[], callback: any, farming_contract: string) {
284
331
  // console.log(amountTokens);
285
332
  const gold_list = [];
286
333
  const silver_list = [];
334
+ const post_condition : any = [];
335
+ const gold_asset_string = await this.getNFTAsset(this.stackswap.config.STACKSWAP_ADDRESS()+'.'+this.stackswap.config.CONTRACT_NAME_GOLD_PASS());
336
+ const silver_asset_string = await this.getNFTAsset(this.stackswap.config.STACKSWAP_ADDRESS()+'.'+this.stackswap.config.CONTRACT_NAME_SILVER_PASS());
287
337
  for (const gold of goldList) {
288
338
  gold_list.push(uintCV(gold))
339
+ post_condition.push(
340
+ makeStandardNonFungiblePostCondition(this.stackswap.getSenderAddress(), NonFungibleConditionCode.DoesNotOwn, gold_asset_string, uintCV(gold)),
341
+ )
289
342
  }
290
343
  for (const silver of silverList) {
291
344
  silver_list.push(uintCV(silver))
345
+ post_condition.push(
346
+ makeStandardNonFungiblePostCondition(this.stackswap.getSenderAddress(), NonFungibleConditionCode.DoesNotOwn, silver_asset_string, uintCV(silver)),
347
+ )
292
348
  }
293
- const function_option = getWriteOptions(this.stackswap, farming_contract, 'stakeTokens', [
349
+ const function_option = getWriteOptions(this.stackswap, farming_contract, 'stakeNFTs', [
294
350
  listCV(gold_list),
295
351
  listCV(silver_list)
296
- ], [], callback, true); //TODO post Condition
352
+ ], post_condition, callback, false);
297
353
  await openContractCall(function_option);
298
354
  }
299
355
 
300
356
 
301
- async claimNFTStakingReward( rewardToken1: string, rewardToken2: string, rewardToken3: string, rewardToken4: string, rewardList: any, reclaimList: string[], callback: any, farming_contract: string) {
357
+ async claimNFTStakingReward( rewardToken1: string, rewardToken2: string, rewardToken3: string, rewardToken4: string, rewardList: any, callback: any, farming_contract: string) {
302
358
  const post_condition: any = [];
359
+ const gold_asset_string = await this.getNFTAsset(this.stackswap.config.STACKSWAP_ADDRESS()+'.'+this.stackswap.config.CONTRACT_NAME_GOLD_PASS());
360
+ for (const gold of rewardList.returnNFTS.value) {
361
+ post_condition.push(
362
+ makeStandardNonFungiblePostCondition(farming_contract, NonFungibleConditionCode.DoesNotOwn, gold_asset_string, uintCV(gold)),
363
+ )
364
+ }
365
+ if(rewardToken1 !== Token.getBaseTokens(this.stackswap, BaseToken.NULL).addr){
366
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, rewardToken1, rewardList.reward1.value, FungibleConditionCode.Equal));
367
+ } if(rewardToken2 !== Token.getBaseTokens(this.stackswap, BaseToken.NULL).addr){
368
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, rewardToken2, rewardList.reward2.value, FungibleConditionCode.Equal));
369
+ } if(rewardToken3 !== Token.getBaseTokens(this.stackswap, BaseToken.NULL).addr){
370
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, rewardToken3, rewardList.reward3.value, FungibleConditionCode.Equal));
371
+ } if(rewardToken4 !== Token.getBaseTokens(this.stackswap, BaseToken.NULL).addr) {
372
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, farming_contract, rewardToken4, rewardList.reward4.value, FungibleConditionCode.Equal));
373
+ }
374
+
375
+
303
376
  const function_option = getWriteOptions(this.stackswap, farming_contract, 'claimNFTStakingReward', [
304
377
  parseAddressToCV(rewardToken1),
305
378
  parseAddressToCV(rewardToken2),
306
379
  parseAddressToCV(rewardToken3),
307
380
  parseAddressToCV(rewardToken4),
308
- ], post_condition, callback, true); //TODO post condition
309
- console.log(rewardList, reclaimList);
381
+ ], post_condition, callback, false);
382
+ // console.log(rewardList, reclaimList);
310
383
  await openContractCall(function_option);
311
384
  }
312
385
 
313
386
 
314
- async getRewardBalanceFromFarming2(pool_addr: string, unclaimed_list: any, farming_contract: string) {
387
+ async getRewardBalanceFromFarming(stakingToken: string, unclaimed_list: any, farming_contract: string) {
315
388
  // let reward_balance = new BigNumber(0);
316
- const num_list = [];
317
- for (const unclaimed of unclaimed_list) {
318
- num_list.push(uintCV(unclaimed));
389
+ const tempRewardDict = {
390
+ rewardToken:{
391
+ type: "uint",
392
+ value: '0'
393
+ }, reward1:{
394
+ type: "uint",
395
+ value: '0'
396
+ }, reward2:{
397
+ type: "uint",
398
+ value: '0'
399
+ }, reward3:{
400
+ type: "uint",
401
+ value: '0'
402
+ }, reward4:{
403
+ type: "uint",
404
+ value: '0'
405
+ }
319
406
  }
320
- let reward_num = new BigNumber(0);
321
- console.log(pool_addr, num_list, farming_contract)
322
407
  try {
323
- for (let i = 0; i < num_list.length; i += 4) {
324
- console.log(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length), farming_contract);
325
- const result = await this.getFarmingUserRewardList2(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length), farming_contract);
326
- // rewardSum.value;
327
- console.log('temp result', result.rewardSum.value);
328
- reward_num = reward_num.plus(new BigNumber(result.rewardSum.value));
408
+ for (const round of unclaimed_list) {
409
+ const result = await this.getFarmingReward(stakingToken, round, farming_contract);
410
+ tempRewardDict.rewardToken.value =
411
+ new BigNumber(tempRewardDict.rewardToken.value).plus(result.rewardToken.value).toFixed(0);
412
+ tempRewardDict.reward1.value =
413
+ new BigNumber(tempRewardDict.reward1.value).plus(result.reward1.value).toFixed(0);
414
+ tempRewardDict.reward2.value =
415
+ new BigNumber(tempRewardDict.reward2.value).plus(result.reward2.value).toFixed(0);
416
+ tempRewardDict.reward3.value =
417
+ new BigNumber(tempRewardDict.reward3.value).plus(result.reward3.value).toFixed(0);
418
+ tempRewardDict.reward4.value =
419
+ new BigNumber(tempRewardDict.reward4.value).plus(result.reward4.value).toFixed(0);
329
420
  }
330
- return num2decimal(reward_num.toString(), 6);
421
+ return tempRewardDict;
331
422
  } catch (e) {
332
423
  // console.log(e);
333
- return num2decimal(reward_num.toString(), 6);
424
+ return {
425
+ rewardToken: {
426
+ type: "uint",
427
+ value: '0'
428
+ }, reward1: {
429
+ type: "uint",
430
+ value: '0'
431
+ }, reward2: {
432
+ type: "uint",
433
+ value: '0'
434
+ }, reward3: {
435
+ type: "uint",
436
+ value: '0'
437
+ }, reward4: {
438
+ type: "uint",
439
+ value: '0'
440
+ }
441
+ };
334
442
  }
335
443
  }
336
444