stackswap-front-api-test-02 0.10.1 → 0.10.2

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 (129) hide show
  1. package/dist/index.umd.js +2 -1
  2. package/dist/index.umd.js.map +1 -0
  3. package/package.json +5 -1
  4. package/dist/esm/index.d.ts +0 -106
  5. package/dist/esm/index.js +0 -196
  6. package/dist/esm/index.js.map +0 -1
  7. package/dist/esm/stackswap/config.d.ts +0 -172
  8. package/dist/esm/stackswap/config.js +0 -302
  9. package/dist/esm/stackswap/config.js.map +0 -1
  10. package/dist/esm/stackswap/manager/bridge.manager.d.ts +0 -27
  11. package/dist/esm/stackswap/manager/bridge.manager.js +0 -215
  12. package/dist/esm/stackswap/manager/bridge.manager.js.map +0 -1
  13. package/dist/esm/stackswap/manager/farm.manager.d.ts +0 -41
  14. package/dist/esm/stackswap/manager/farm.manager.js +0 -293
  15. package/dist/esm/stackswap/manager/farm.manager.js.map +0 -1
  16. package/dist/esm/stackswap/manager/farm2.manager.d.ts +0 -106
  17. package/dist/esm/stackswap/manager/farm2.manager.js +0 -625
  18. package/dist/esm/stackswap/manager/farm2.manager.js.map +0 -1
  19. package/dist/esm/stackswap/manager/farm3.manager.d.ts +0 -121
  20. package/dist/esm/stackswap/manager/farm3.manager.js +0 -557
  21. package/dist/esm/stackswap/manager/farm3.manager.js.map +0 -1
  22. package/dist/esm/stackswap/manager/governance.manager.d.ts +0 -9
  23. package/dist/esm/stackswap/manager/governance.manager.js +0 -68
  24. package/dist/esm/stackswap/manager/governance.manager.js.map +0 -1
  25. package/dist/esm/stackswap/manager/groupfarm.manager.d.ts +0 -70
  26. package/dist/esm/stackswap/manager/groupfarm.manager.js +0 -379
  27. package/dist/esm/stackswap/manager/groupfarm.manager.js.map +0 -1
  28. package/dist/esm/stackswap/manager/launchpad.manager.d.ts +0 -18
  29. package/dist/esm/stackswap/manager/launchpad.manager.js +0 -253
  30. package/dist/esm/stackswap/manager/launchpad.manager.js.map +0 -1
  31. package/dist/esm/stackswap/manager/lbtc.manager.d.ts +0 -31
  32. package/dist/esm/stackswap/manager/lbtc.manager.js +0 -327
  33. package/dist/esm/stackswap/manager/lbtc.manager.js.map +0 -1
  34. package/dist/esm/stackswap/manager/lbtcstaking.manager.d.ts +0 -61
  35. package/dist/esm/stackswap/manager/lbtcstaking.manager.js +0 -248
  36. package/dist/esm/stackswap/manager/lbtcstaking.manager.js.map +0 -1
  37. package/dist/esm/stackswap/manager/multisig.manager.d.ts +0 -11
  38. package/dist/esm/stackswap/manager/multisig.manager.js +0 -50
  39. package/dist/esm/stackswap/manager/multisig.manager.js.map +0 -1
  40. package/dist/esm/stackswap/manager/nft.manager.d.ts +0 -55
  41. package/dist/esm/stackswap/manager/nft.manager.js +0 -274
  42. package/dist/esm/stackswap/manager/nft.manager.js.map +0 -1
  43. package/dist/esm/stackswap/manager/operator.manager.d.ts +0 -17
  44. package/dist/esm/stackswap/manager/operator.manager.js +0 -86
  45. package/dist/esm/stackswap/manager/operator.manager.js.map +0 -1
  46. package/dist/esm/stackswap/manager/other.manager.d.ts +0 -9
  47. package/dist/esm/stackswap/manager/other.manager.js +0 -41
  48. package/dist/esm/stackswap/manager/other.manager.js.map +0 -1
  49. package/dist/esm/stackswap/manager/pool.manager.d.ts +0 -34
  50. package/dist/esm/stackswap/manager/pool.manager.js +0 -172
  51. package/dist/esm/stackswap/manager/pool.manager.js.map +0 -1
  52. package/dist/esm/stackswap/manager/poxl.manager.d.ts +0 -16
  53. package/dist/esm/stackswap/manager/poxl.manager.js +0 -72
  54. package/dist/esm/stackswap/manager/poxl.manager.js.map +0 -1
  55. package/dist/esm/stackswap/manager/staking.manager.d.ts +0 -40
  56. package/dist/esm/stackswap/manager/staking.manager.js +0 -295
  57. package/dist/esm/stackswap/manager/staking.manager.js.map +0 -1
  58. package/dist/esm/stackswap/manager/swap.manager.d.ts +0 -71
  59. package/dist/esm/stackswap/manager/swap.manager.js +0 -730
  60. package/dist/esm/stackswap/manager/swap.manager.js.map +0 -1
  61. package/dist/esm/stackswap/manager/token.manager.d.ts +0 -32
  62. package/dist/esm/stackswap/manager/token.manager.js +0 -142
  63. package/dist/esm/stackswap/manager/token.manager.js.map +0 -1
  64. package/dist/esm/stackswap/util.d.ts +0 -35
  65. package/dist/esm/stackswap/util.js +0 -202
  66. package/dist/esm/stackswap/util.js.map +0 -1
  67. package/dist/index.d.ts +0 -106
  68. package/dist/index.js +0 -206
  69. package/dist/index.js.map +0 -1
  70. package/dist/stackswap/config.d.ts +0 -172
  71. package/dist/stackswap/config.js +0 -308
  72. package/dist/stackswap/config.js.map +0 -1
  73. package/dist/stackswap/manager/bridge.manager.d.ts +0 -27
  74. package/dist/stackswap/manager/bridge.manager.js +0 -222
  75. package/dist/stackswap/manager/bridge.manager.js.map +0 -1
  76. package/dist/stackswap/manager/farm.manager.d.ts +0 -41
  77. package/dist/stackswap/manager/farm.manager.js +0 -301
  78. package/dist/stackswap/manager/farm.manager.js.map +0 -1
  79. package/dist/stackswap/manager/farm2.manager.d.ts +0 -106
  80. package/dist/stackswap/manager/farm2.manager.js +0 -632
  81. package/dist/stackswap/manager/farm2.manager.js.map +0 -1
  82. package/dist/stackswap/manager/farm3.manager.d.ts +0 -121
  83. package/dist/stackswap/manager/farm3.manager.js +0 -564
  84. package/dist/stackswap/manager/farm3.manager.js.map +0 -1
  85. package/dist/stackswap/manager/governance.manager.d.ts +0 -9
  86. package/dist/stackswap/manager/governance.manager.js +0 -75
  87. package/dist/stackswap/manager/governance.manager.js.map +0 -1
  88. package/dist/stackswap/manager/groupfarm.manager.d.ts +0 -70
  89. package/dist/stackswap/manager/groupfarm.manager.js +0 -386
  90. package/dist/stackswap/manager/groupfarm.manager.js.map +0 -1
  91. package/dist/stackswap/manager/launchpad.manager.d.ts +0 -18
  92. package/dist/stackswap/manager/launchpad.manager.js +0 -257
  93. package/dist/stackswap/manager/launchpad.manager.js.map +0 -1
  94. package/dist/stackswap/manager/lbtc.manager.d.ts +0 -31
  95. package/dist/stackswap/manager/lbtc.manager.js +0 -334
  96. package/dist/stackswap/manager/lbtc.manager.js.map +0 -1
  97. package/dist/stackswap/manager/lbtcstaking.manager.d.ts +0 -61
  98. package/dist/stackswap/manager/lbtcstaking.manager.js +0 -255
  99. package/dist/stackswap/manager/lbtcstaking.manager.js.map +0 -1
  100. package/dist/stackswap/manager/multisig.manager.d.ts +0 -11
  101. package/dist/stackswap/manager/multisig.manager.js +0 -54
  102. package/dist/stackswap/manager/multisig.manager.js.map +0 -1
  103. package/dist/stackswap/manager/nft.manager.d.ts +0 -55
  104. package/dist/stackswap/manager/nft.manager.js +0 -281
  105. package/dist/stackswap/manager/nft.manager.js.map +0 -1
  106. package/dist/stackswap/manager/operator.manager.d.ts +0 -17
  107. package/dist/stackswap/manager/operator.manager.js +0 -93
  108. package/dist/stackswap/manager/operator.manager.js.map +0 -1
  109. package/dist/stackswap/manager/other.manager.d.ts +0 -9
  110. package/dist/stackswap/manager/other.manager.js +0 -45
  111. package/dist/stackswap/manager/other.manager.js.map +0 -1
  112. package/dist/stackswap/manager/pool.manager.d.ts +0 -34
  113. package/dist/stackswap/manager/pool.manager.js +0 -180
  114. package/dist/stackswap/manager/pool.manager.js.map +0 -1
  115. package/dist/stackswap/manager/poxl.manager.d.ts +0 -16
  116. package/dist/stackswap/manager/poxl.manager.js +0 -79
  117. package/dist/stackswap/manager/poxl.manager.js.map +0 -1
  118. package/dist/stackswap/manager/staking.manager.d.ts +0 -40
  119. package/dist/stackswap/manager/staking.manager.js +0 -302
  120. package/dist/stackswap/manager/staking.manager.js.map +0 -1
  121. package/dist/stackswap/manager/swap.manager.d.ts +0 -71
  122. package/dist/stackswap/manager/swap.manager.js +0 -737
  123. package/dist/stackswap/manager/swap.manager.js.map +0 -1
  124. package/dist/stackswap/manager/token.manager.d.ts +0 -32
  125. package/dist/stackswap/manager/token.manager.js +0 -150
  126. package/dist/stackswap/manager/token.manager.js.map +0 -1
  127. package/dist/stackswap/util.d.ts +0 -35
  128. package/dist/stackswap/util.js +0 -219
  129. package/dist/stackswap/util.js.map +0 -1
@@ -1,625 +0,0 @@
1
- import { callReadOnlyFunction, contractPrincipalCV, cvToValue, FungibleConditionCode, listCV, standardPrincipalCV, uintCV } from '@stacks/transactions';
2
- import BigNumber from 'bignumber.js';
3
- import { openContractCall } from '@stacks/connect';
4
- import { getPostConditionFromAsset, getReadOptions, getWriteOptions, num2decimal } from "../util";
5
- import _ from 'lodash';
6
- export var Mode;
7
- (function (Mode) {
8
- Mode[Mode["WITH_SERVER"] = 0] = "WITH_SERVER";
9
- Mode[Mode["ONLY_BLOCKCHAIN"] = 1] = "ONLY_BLOCKCHAIN";
10
- })(Mode || (Mode = {}));
11
- export class Farm2Manager {
12
- constructor(stackswap) {
13
- this.localCache = {};
14
- ``;
15
- this.stackswap = stackswap;
16
- }
17
- async getFarmingRound2(bh, farming_contract) {
18
- try {
19
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getRewardRound', [
20
- uintCV(bh)
21
- ]);
22
- const result_raw = await callReadOnlyFunction(function_option);
23
- const result = cvToValue(result_raw);
24
- return result.value;
25
- }
26
- catch (e) {
27
- return 0;
28
- }
29
- }
30
- async getFarmingRoundFirstBlock2(cycle, farming_contract) {
31
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getFirstBlockOfRound', [
32
- uintCV(cycle)
33
- ]);
34
- const result_raw = await callReadOnlyFunction(function_option);
35
- const result = cvToValue(result_raw);
36
- return result;
37
- }
38
- async isUserMigratable2(pool_address, farming_contract) {
39
- const address = pool_address.split('.');
40
- const function_option = getReadOptions(this.stackswap, farming_contract, 'isUserMigratable', [
41
- contractPrincipalCV(address[0], address[1]),
42
- standardPrincipalCV(this.stackswap.getSenderAddress()),
43
- ]);
44
- try {
45
- const result_raw = await callReadOnlyFunction(function_option);
46
- const result = cvToValue(result_raw);
47
- return result;
48
- }
49
- catch (e) {
50
- return true;
51
- }
52
- }
53
- getPoolUSDPriceFarm(farm, farm_total, oracle_data) {
54
- let tvl = 0;
55
- switch (farm.BASE) {
56
- case 'STX':
57
- if (farm.token_x.symbol === farm.BASE) {
58
- tvl = (new BigNumber(farm.pair.balance_x).multipliedBy(farm_total).dividedBy(farm.pair.share_total).dividedBy(new BigNumber(10 ** 12))).multipliedBy(2).multipliedBy(new BigNumber(oracle_data.oracle_stx)).toNumber();
59
- }
60
- else {
61
- tvl = (new BigNumber(farm.pair.balance_y).multipliedBy(farm_total).dividedBy(farm.pair.share_total).dividedBy(new BigNumber(10 ** 12))).multipliedBy(2).multipliedBy(new BigNumber(oracle_data.oracle_stx)).toNumber();
62
- }
63
- break;
64
- case 'STSW':
65
- if (farm.token_x.symbol === farm.BASE) {
66
- tvl = (new BigNumber(farm.pair.balance_x).multipliedBy(farm_total).dividedBy(farm.pair.share_total).dividedBy(new BigNumber(10 ** 12))).multipliedBy(2).multipliedBy(new BigNumber(oracle_data.oracle_stsw)).toNumber();
67
- }
68
- else {
69
- tvl = (new BigNumber(farm.pair.balance_y).multipliedBy(farm_total).dividedBy(farm.pair.share_total).dividedBy(new BigNumber(10 ** 12))).multipliedBy(2).multipliedBy(new BigNumber(oracle_data.oracle_stsw)).toNumber();
70
- }
71
- break;
72
- case 'lBTC':
73
- if (farm.token_x.symbol === farm.BASE) {
74
- tvl = (new BigNumber(farm.pair.balance_x).multipliedBy(farm_total).dividedBy(farm.pair.share_total).dividedBy(new BigNumber(10 ** 14))).multipliedBy(2).multipliedBy(new BigNumber(oracle_data.oracle_lbtc)).toNumber();
75
- }
76
- else {
77
- tvl = (new BigNumber(farm.pair.balance_y).multipliedBy(farm_total).dividedBy(farm.pair.share_total).dividedBy(new BigNumber(10 ** 14))).multipliedBy(2).multipliedBy(new BigNumber(oracle_data.oracle_lbtc)).toNumber();
78
- }
79
- break;
80
- default:
81
- tvl = 0;
82
- }
83
- return tvl;
84
- }
85
- async getFarmingStakerStatus2(pool_address, cur_round, farming_contract) {
86
- const address = pool_address.split('.');
87
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getLPUserData', [
88
- contractPrincipalCV(address[0], address[1]),
89
- standardPrincipalCV(this.stackswap.getSenderAddress()),
90
- ]);
91
- const result_raw = await callReadOnlyFunction(function_option);
92
- const result = cvToValue(result_raw);
93
- try {
94
- const pooledToken = result.value.amountLP.value;
95
- const unclaimedList = [];
96
- const stakedList = [];
97
- for (const unclaimedElement of result.value.unclaimedList.value) {
98
- if (unclaimedElement.value < cur_round) {
99
- unclaimedList.push(unclaimedElement.value);
100
- }
101
- stakedList.push(unclaimedElement.value);
102
- }
103
- return { pooledToken, unclaimedList, stakedList };
104
- }
105
- catch (e) {
106
- return { pooledToken: 0, unclaimedList: [], stakedList: [] };
107
- }
108
- }
109
- async getFarmingTotalStatusCycle2(cycle, farming_contract) {
110
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getTotalRoundDataOrDefault', [
111
- uintCV(cycle),
112
- ]);
113
- const result_raw = await callReadOnlyFunction(function_option);
114
- const result = cvToValue(result_raw);
115
- try {
116
- return {
117
- reward: result.reward.value,
118
- value: result.value.value
119
- };
120
- }
121
- catch (e) {
122
- return {
123
- reward: 0,
124
- value: 0
125
- };
126
- }
127
- }
128
- async getFarmingTotalPoolStatus2(pool_address, farming_contract) {
129
- const address = pool_address.split('.');
130
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getLPTotalData', [
131
- contractPrincipalCV(address[0], address[1]),
132
- ]);
133
- const result_raw = await callReadOnlyFunction(function_option);
134
- const result = cvToValue(result_raw);
135
- try {
136
- return { amountLP: result.value.amountLP.value, weight: result.value.weight.value };
137
- }
138
- catch (e) {
139
- return { amountLP: '0', weight: '1' };
140
- }
141
- }
142
- async getFarmingTotalPoolStatusCycle2(pool_address, cycle, farming_contract) {
143
- const address = pool_address.split('.');
144
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getLPRoundData', [
145
- contractPrincipalCV(address[0], address[1]),
146
- uintCV(cycle),
147
- ]);
148
- const result_raw = await callReadOnlyFunction(function_option);
149
- const result = cvToValue(result_raw);
150
- try {
151
- return result.value;
152
- }
153
- catch (e) {
154
- return {
155
- value: 0,
156
- weight: 0,
157
- amountLP: 0,
158
- price: 0
159
- };
160
- }
161
- }
162
- async getFarmingTotalValue2(pool_address, farming_contract) {
163
- try {
164
- const address = pool_address.split('.');
165
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getLPTotalData', [
166
- contractPrincipalCV(address[0], address[1]),
167
- ]);
168
- const result_raw = await callReadOnlyFunction(function_option);
169
- const result = cvToValue(result_raw);
170
- return result.value;
171
- }
172
- catch (e) {
173
- return 0;
174
- }
175
- }
176
- async getFarmingUserRewardPerCycle2(pool_address, cycle, farming_contract) {
177
- const address = pool_address.split('.');
178
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getFarmingReward', [
179
- contractPrincipalCV(address[0], address[1]),
180
- standardPrincipalCV(this.stackswap.getSenderAddress()),
181
- uintCV(cycle),
182
- ]);
183
- const result_raw = await callReadOnlyFunction(function_option);
184
- const result = cvToValue(result_raw);
185
- return result;
186
- }
187
- async getFarmingUserRewardList2(pool_address, unclaimed_list, farming_contract) {
188
- const address = pool_address.split('.');
189
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getFarmingRewardFromList', [
190
- standardPrincipalCV(this.stackswap.getSenderAddress()),
191
- contractPrincipalCV(address[0], address[1]),
192
- listCV(unclaimed_list),
193
- ]);
194
- const result_raw = await callReadOnlyFunction(function_option);
195
- const result = cvToValue(result_raw);
196
- return result;
197
- }
198
- async getFarmingRewardInfo2(pool_address, round, farming_contract) {
199
- const address = pool_address.split('.');
200
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getLPUserRoundData', [
201
- contractPrincipalCV(address[0], address[1]),
202
- standardPrincipalCV(this.stackswap.getSenderAddress()),
203
- uintCV(round),
204
- ]);
205
- const result_raw = await callReadOnlyFunction(function_option);
206
- const result = cvToValue(result_raw);
207
- return result.value.returnLP.value;
208
- }
209
- async getLPUserRoundData(pool_address, round, farming_contract) {
210
- try {
211
- const address = pool_address.split('.');
212
- const function_option = getReadOptions(this.stackswap, farming_contract, 'getLPUserRoundData', [
213
- contractPrincipalCV(address[0], address[1]),
214
- standardPrincipalCV(this.stackswap.getSenderAddress()),
215
- uintCV(round),
216
- ]);
217
- const result_raw = await callReadOnlyFunction(function_option);
218
- const result = cvToValue(result_raw);
219
- return result.value;
220
- }
221
- catch (e) {
222
- return {
223
- amountLP: {
224
- value: '0'
225
- },
226
- returnLP: {
227
- value: '0'
228
- }
229
- };
230
- }
231
- }
232
- async migrateToVersion2(pool_address, farming_contract, callback) {
233
- const address = pool_address.split('.');
234
- const function_option = getWriteOptions(this.stackswap, farming_contract, 'migrateFromVersion1', [
235
- contractPrincipalCV(address[0], address[1]),
236
- ], [], callback);
237
- await openContractCall(function_option);
238
- }
239
- async stakeFarmingContract2(pool_address, amountTokens, lockPeriod, callback, farming_contract) {
240
- const address = pool_address.split('.');
241
- const amount = new BigNumber(amountTokens).multipliedBy(10 ** 6).toFixed(0).toString();
242
- const function_option = getWriteOptions(this.stackswap, farming_contract, 'stakeTokens', [
243
- uintCV(amount),
244
- contractPrincipalCV(address[0], address[1]),
245
- uintCV(lockPeriod),
246
- contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
247
- ], [await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), pool_address, amount, FungibleConditionCode.Equal)], callback);
248
- await openContractCall(function_option);
249
- }
250
- async getFarmBalance2(token, farming_contract) {
251
- const pair_details_options = getReadOptions(this.stackswap, token.addr, 'get-balance', [contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), farming_contract)]);
252
- try {
253
- const result = await callReadOnlyFunction(pair_details_options);
254
- return cvToValue(result).value;
255
- }
256
- catch (e) {
257
- return 0;
258
- }
259
- }
260
- async claimFarmingContract2(pool_address, cycle, amount_STSW, amount_LP, callback, farming_contract) {
261
- const address = pool_address.split('.');
262
- const post_condition = [];
263
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + farming_contract, this.stackswap.config.BASE_STSW_DATA().addr, amount_STSW, FungibleConditionCode.Equal));
264
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + farming_contract, pool_address, amount_LP, FungibleConditionCode.Equal));
265
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_REWARD_BALANCER(), this.stackswap.config.BASE_STSW_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
266
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_REWARD_BALANCER(), this.stackswap.config.BASE_LBTC_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
267
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STSW_LBTC_LP(), this.stackswap.config.BASE_STSW_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
268
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STSW_LBTC_LP(), this.stackswap.config.BASE_LBTC_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
269
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, amount_STSW, FungibleConditionCode.Equal));
270
- let farm_type = 0;
271
- switch (farming_contract) {
272
- case this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1():
273
- farm_type = 1;
274
- break;
275
- case this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_2():
276
- farm_type = 2;
277
- break;
278
- case this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_5():
279
- farm_type = 3;
280
- break;
281
- }
282
- const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_REWARD_BALANCER(), 'CLAIM_FROM_FARM', [
283
- uintCV(farm_type),
284
- uintCV(cycle),
285
- contractPrincipalCV(address[0], address[1]),
286
- contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
287
- ], post_condition, callback);
288
- await openContractCall(function_option);
289
- }
290
- async unstakeFarmingContract2(pool_address, cycle, amount_LP, callback, farming_contract) {
291
- const address = pool_address.split('.');
292
- const post_condition = [];
293
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + farming_contract, pool_address, amount_LP, FungibleConditionCode.Equal));
294
- const function_option = getWriteOptions(this.stackswap, farming_contract, 'unstakeLP', [
295
- uintCV(cycle),
296
- contractPrincipalCV(address[0], address[1]),
297
- ], post_condition, callback);
298
- await openContractCall(function_option);
299
- }
300
- async getCurrentFarmingRound2(farming_contract) {
301
- const bh = await this.stackswap.getCurrentBlocks();
302
- return await this.getFarmingRound2(Number(bh.tenure_block_height), farming_contract);
303
- }
304
- async getRewardBalanceFromFarming2(pool_addr, unclaimed_list, farming_contract) {
305
- const num_list = [];
306
- for (const unclaimed of unclaimed_list) {
307
- num_list.push(uintCV(unclaimed));
308
- }
309
- let reward_num = new BigNumber(0);
310
- try {
311
- for (let i = 0; i < num_list.length; i += 4) {
312
- const result = await this.getFarmingUserRewardList2(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length), farming_contract);
313
- reward_num = reward_num.plus(new BigNumber(result.rewardSum.value));
314
- }
315
- return num2decimal(reward_num.toString(), 6);
316
- }
317
- catch (e) {
318
- return num2decimal(reward_num.toString(), 6);
319
- }
320
- }
321
- getFarmingAPR(tvl, stsw_price, reward, weight) {
322
- if (!tvl || new BigNumber(tvl) <= new BigNumber(0)) {
323
- const temp = new BigNumber(reward).dividedBy(10 ** 12).multipliedBy(5200).multipliedBy(stsw_price);
324
- return temp.toFixed(3).toString();
325
- }
326
- else {
327
- const tvl_bn = new BigNumber(tvl).multipliedBy(10 ** 12);
328
- const reward_usd = new BigNumber(reward).multipliedBy(stsw_price);
329
- const new_reward = reward_usd.div(tvl_bn);
330
- const new_reward_apr = new_reward.multipliedBy(5200).multipliedBy(weight);
331
- return new_reward_apr.toFixed(3).toString();
332
- }
333
- }
334
- async getFarmDataFromData(data, type, callback) {
335
- const oracle_stsw = (await this.stackswap.lbtcManager.getPrice('STSW'))['last-price'].value;
336
- const oracle_stx = (await this.stackswap.lbtcManager.getPrice('STX'))['last-price'].value;
337
- const oracle_lbtc = (await this.stackswap.lbtcManager.getPrice('lBTC'))['last-price'].value;
338
- const bh = await this.stackswap.getCurrentBlocks();
339
- return await this.getEachFarmData(data, bh.tenure_block_height, { oracle_stsw, oracle_lbtc, oracle_stx }, type, callback);
340
- }
341
- checkAndSetFarmAPR(farms, farm_length, oracle_data) {
342
- if (farms.length === farm_length) {
343
- const tvls = { 'group1': '0', 'group2': '0', 'group5': '0' };
344
- for (const farm_temp of farms) {
345
- switch (farm_temp.farm_group) {
346
- case 1:
347
- tvls.group1 = new BigNumber(tvls.group1).plus(new BigNumber(this.getPoolUSDPriceFarm(farm_temp, farm_temp.farm_total_v2, oracle_data)).multipliedBy(farm_temp.weight)).toString();
348
- break;
349
- case 2:
350
- tvls.group2 = new BigNumber(tvls.group2).plus(new BigNumber(this.getPoolUSDPriceFarm(farm_temp, farm_temp.farm_total_v2, oracle_data)).multipliedBy(farm_temp.weight)).toString();
351
- break;
352
- case 5:
353
- tvls.group5 = new BigNumber(tvls.group5).plus(new BigNumber(this.getPoolUSDPriceFarm(farm_temp, farm_temp.farm_total_v2, oracle_data)).multipliedBy(farm_temp.weight)).toString();
354
- break;
355
- }
356
- }
357
- for (const farm_temp of farms) {
358
- switch (farm_temp.farm_group) {
359
- case 1:
360
- farm_temp.APR = this.getFarmingAPR(tvls.group1, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
361
- break;
362
- case 2:
363
- farm_temp.APR = this.getFarmingAPR(tvls.group2, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
364
- break;
365
- case 5:
366
- farm_temp.APR = this.getFarmingAPR(tvls.group5, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
367
- break;
368
- }
369
- }
370
- }
371
- return farms;
372
- }
373
- checkAndSetFarmAPR_Dash(farms, farm_length, oracle_data) {
374
- if (farms.length === farm_length) {
375
- const tvls = { 'group1': '0', 'group2': '0', 'group5': '0' };
376
- for (const farm_temp of farms) {
377
- switch (farm_temp.farm_group) {
378
- case 1:
379
- tvls.group1 = new BigNumber(tvls.group1).plus(new BigNumber(this.getPoolUSDPriceFarm(farm_temp, farm_temp.total_locked_lp, oracle_data)).multipliedBy(farm_temp.weight)).toString();
380
- break;
381
- case 2:
382
- tvls.group2 = new BigNumber(tvls.group2).plus(new BigNumber(this.getPoolUSDPriceFarm(farm_temp, farm_temp.total_locked_lp, oracle_data)).multipliedBy(farm_temp.weight)).toString();
383
- break;
384
- case 5:
385
- tvls.group5 = new BigNumber(tvls.group5).plus(new BigNumber(this.getPoolUSDPriceFarm(farm_temp, farm_temp.total_locked_lp, oracle_data)).multipliedBy(farm_temp.weight)).toString();
386
- break;
387
- }
388
- farm_temp.value_per_1LP = new BigNumber(this.getPoolUSDPriceFarm(farm_temp, 1000000, oracle_data)).multipliedBy(farm_temp.weight).toString();
389
- }
390
- for (const farm_temp of farms) {
391
- switch (farm_temp.farm_group) {
392
- case 1:
393
- farm_temp.APR = this.getFarmingAPR(tvls.group1, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
394
- farm_temp.group_value = tvls.group1;
395
- break;
396
- case 2:
397
- farm_temp.APR = this.getFarmingAPR(tvls.group2, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
398
- farm_temp.group_value = tvls.group2;
399
- break;
400
- case 5:
401
- farm_temp.APR = this.getFarmingAPR(tvls.group5, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
402
- farm_temp.group_value = tvls.group5;
403
- break;
404
- }
405
- }
406
- }
407
- return farms;
408
- }
409
- async getEachFarmData(data, bh, oracle_data, type, callback) {
410
- const tvl_apr = new BigNumber(0);
411
- const farms = [];
412
- const farm_length = data.length;
413
- for (let i = 0; i < data.length; i++) {
414
- let farming_contract = '';
415
- if (data[i].farm_group === 1) {
416
- farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1();
417
- }
418
- else if (data[i].farm_group === 2) {
419
- farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_2();
420
- }
421
- else if (data[i].farm_group === 5) {
422
- farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_5();
423
- }
424
- const farm_round = await this.getCurrentFarmingRound2(farming_contract);
425
- this.getFarmData(data[i], farm_round, bh, tvl_apr, farming_contract, oracle_data, type).then((value) => {
426
- value.farm_group = data[i].farm_group;
427
- value.farm_contract = farming_contract;
428
- farms.push(value);
429
- this.checkAndSetFarmAPR(farms, farm_length, oracle_data);
430
- callback({ farms, farm_round, oracle_data });
431
- });
432
- }
433
- }
434
- async getEachFarmDataSerial(data, bh, oracle_data, type) {
435
- const tvl_apr = new BigNumber(0);
436
- const farms = [];
437
- const farm_length = data.length;
438
- const farm_round = await this.getCurrentFarmingRound2(this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1());
439
- for (let i = 0; i < data.length; i++) {
440
- let farming_contract = '';
441
- if (data[i].farm_group === 1) {
442
- farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1();
443
- }
444
- else if (data[i].farm_group === 2) {
445
- farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_2();
446
- }
447
- else if (data[i].farm_group === 5) {
448
- farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_5();
449
- }
450
- const value = await this.getFarmData(data[i], farm_round, bh, tvl_apr, farming_contract, oracle_data, type);
451
- value.farm_group = data[i].farm_group;
452
- value.farm_contract = farming_contract;
453
- farms.push(value);
454
- }
455
- this.checkAndSetFarmAPR(farms, farm_length, oracle_data);
456
- return { farms, farm_round, oracle_data };
457
- }
458
- delay(ms) {
459
- return new Promise(resolve => setTimeout(resolve, ms));
460
- }
461
- async getEachFarmDataSerialDash(data, bh, oracle_data, type, amount, delayTime = 0) {
462
- const farms = [];
463
- const farm_length = data.length;
464
- for (let i = 0; i < amount; i++) {
465
- farms.push([]);
466
- }
467
- const farm_round = await this.getCurrentFarmingRound2(this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1());
468
- for (let farm_round_iter = Number(farm_round); farm_round_iter < Number(farm_round) + amount; farm_round_iter++) {
469
- for (let i = 0; i < data.length; i++) {
470
- const farm_data = _.cloneDeep(data[i]);
471
- let farming_contract = '';
472
- if (farm_data.farm_group === 1) {
473
- farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1();
474
- }
475
- else if (farm_data.farm_group === 2) {
476
- farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_2();
477
- }
478
- else if (farm_data.farm_group === 5) {
479
- farming_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_5();
480
- }
481
- const value = await this.getFarmDataMinimal(farm_data, farm_round_iter, bh, farming_contract, oracle_data, type);
482
- value.farm_group = farm_data.farm_group;
483
- value.farm_contract = farming_contract;
484
- farms[farm_round_iter - Number(farm_round)].push(value);
485
- await this.delay(delayTime);
486
- }
487
- this.checkAndSetFarmAPR_Dash(farms[farm_round_iter - Number(farm_round)], farm_length, oracle_data);
488
- }
489
- return { farms, farm_round, oracle_data };
490
- }
491
- async getFarmData(farm, farm_round, block_height, tvl_apr, farming_contract, oracle_data, type) {
492
- farm.valid = false;
493
- farm.cur_round = farm_round;
494
- switch (type) {
495
- case Mode.ONLY_BLOCKCHAIN:
496
- farm.pair = (await this.stackswap.poolManager.getPairDataFromContract(farm.token_x, farm.token_y));
497
- break;
498
- case Mode.WITH_SERVER:
499
- farm.pair = (await this.stackswap.swapManager.findRouterAll(farm.token_x, farm.token_y, Number(block_height))).pair;
500
- break;
501
- }
502
- farm.pair.price = (farm.pair.balance_y / (10 ** farm.token_y.decimal)) / (farm.pair.balance_x / (10 ** farm.token_x.decimal));
503
- const farm_total_v2 = await this.getFarmBalance2(farm.pair.token_lp, farming_contract);
504
- const farm_total_v1 = await this.stackswap.farmManager.getFarmBalance(farm.pair.token_lp);
505
- farm.TVL = this.getPoolUSDPriceFarm(farm, new BigNumber(farm_total_v1).plus(farm_total_v2).toString(), oracle_data);
506
- farm.total_locked_lp = new BigNumber(farm_total_v1).plus(farm_total_v2).toString();
507
- farm.farm_total_v2 = (await this.getFarmingTotalPoolStatusCycle2(farm.pair.token_lp.addr, farm_round, farming_contract)).amountLP.value;
508
- const farm_temp_total_data = await this.getFarmingTotalStatusCycle2(farm_round, farming_contract);
509
- farm.reward = farm_temp_total_data.reward;
510
- const lpTotalData = await this.getFarmingTotalPoolStatus2(farm.pair.token_lp.addr, farming_contract);
511
- farm.weight = lpTotalData.weight;
512
- tvl_apr = tvl_apr.plus(new BigNumber(this.getPoolUSDPriceFarm(farm, farm.total_locked_lp, oracle_data)).multipliedBy(farm.weight));
513
- farm.valid = true;
514
- return farm;
515
- }
516
- async getFarmDataMinimal(farm, farm_round, block_height, farming_contract, oracle_data, type) {
517
- farm.valid = false;
518
- farm.cur_round = farm_round;
519
- if (this.localCache[`${farm.token_swapr}|FarmPairData`] == null ||
520
- Number(this.localCache[`${farm.token_swapr}|FarmPairData`].block_height) < Number(block_height)) {
521
- switch (type) {
522
- case Mode.ONLY_BLOCKCHAIN:
523
- farm.pair = (await this.stackswap.poolManager.getPairDataFromContract(farm.token_x, farm.token_y));
524
- break;
525
- case Mode.WITH_SERVER:
526
- farm.pair = (await this.stackswap.swapManager.findRouterAll(farm.token_x, farm.token_y, Number(block_height))).pair;
527
- break;
528
- }
529
- this.localCache[`${farm.token_swapr}|FarmPairData`] = {
530
- block_height: block_height,
531
- data: farm.pair,
532
- };
533
- }
534
- else {
535
- farm.pair = this.localCache[`${farm.token_swapr}|FarmPairData`].data;
536
- }
537
- farm.pair.price = (farm.pair.balance_y / (10 ** farm.token_y.decimal)) / (farm.pair.balance_x / (10 ** farm.token_x.decimal));
538
- const temp_farm_round_data = await this.getFarmingTotalPoolStatusCycle2(farm.pair.token_lp.addr, farm_round, farming_contract);
539
- farm.total_locked_lp = temp_farm_round_data.amountLP.value;
540
- farm.TVL = this.getPoolUSDPriceFarm(farm, farm.total_locked_lp, oracle_data);
541
- if (this.localCache[`${farm.farm_group}|FarmReward`] == null ||
542
- Number(this.localCache[`${farm.farm_group}|FarmReward`].block_height) < Number(block_height)) {
543
- const farm_temp_total_data = await this.getFarmingTotalStatusCycle2(farm_round, farming_contract);
544
- farm.reward = farm_temp_total_data.reward;
545
- this.localCache[`${farm.farm_group}|FarmReward`] = {
546
- block_height: block_height,
547
- data: farm_temp_total_data.reward,
548
- };
549
- }
550
- else {
551
- farm.reward = this.localCache[`${farm.farm_group}|FarmReward`].data;
552
- }
553
- let lpTotalData = null;
554
- if (this.localCache[`${farm.token_swapr}|'FarmTotalPool`] == null ||
555
- Number(this.localCache[`${farm.token_swapr}|'FarmTotalPool`].block_height) < Number(block_height)) {
556
- lpTotalData = await this.getFarmingTotalPoolStatus2(farm.pair.token_lp.addr, farming_contract);
557
- this.localCache[`${farm.token_swapr}|'FarmTotalPool`] = {
558
- block_height: block_height,
559
- data: lpTotalData,
560
- };
561
- }
562
- else {
563
- lpTotalData = this.localCache[`${farm.token_swapr}|'FarmTotalPool`].data;
564
- }
565
- farm.weight = lpTotalData.weight;
566
- farm.valid = true;
567
- return farm;
568
- }
569
- async getFarmUserData(farm, farm_round, farming_contract, oracle_data, callback) {
570
- farm.isMigratable = await this.isUserMigratable2(farm.pair.token_lp.addr, farming_contract);
571
- this.getFarmingStakerStatus2(farm.pair.token_lp.addr, Number(farm_round), farming_contract).then((status_v2) => {
572
- if (!farm.isMigratable) {
573
- this.stackswap.farmManager.getFarmingStakerStatus(farm.pair.token_lp.addr, Number(farm_round)).then((status_v1) => {
574
- farm.claimable_list = status_v2.unclaimedList.concat(status_v1.unclaimedList);
575
- farm.pooled_stsw = new BigNumber(status_v2.pooledToken).plus(status_v1.pooledToken).toString();
576
- farm.stakedList = status_v2.stakedList;
577
- farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
578
- this.getRewardBalanceFromFarming2(farm.pair.token_lp.addr, status_v2.unclaimedList, farming_contract).then(reward_v2 => {
579
- this.stackswap.farmManager.getRewardBalanceFromFarming(farm.pair.token_lp.addr, status_v1.unclaimedList).then(reward_v1 => {
580
- farm.total_reward = new BigNumber(reward_v2).plus(reward_v1).toString();
581
- callback(farm);
582
- });
583
- });
584
- });
585
- }
586
- else {
587
- farm.claimable_list = status_v2.unclaimedList;
588
- farm.pooled_stsw = status_v2.pooledToken;
589
- farm.stakedList = status_v2.stakedList;
590
- farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
591
- this.getRewardBalanceFromFarming2(farm.token_swapr, status_v2.unclaimedList, farming_contract).then(reward => {
592
- farm.total_reward = reward;
593
- callback(farm);
594
- });
595
- }
596
- });
597
- }
598
- async getFarmUserData2(farm, farm_round, farming_contract, oracle_data, callback) {
599
- farm.isMigratable = await this.isUserMigratable2(farm.pair.token_lp.addr, farming_contract);
600
- this.getFarmingStakerStatus2(farm.pair.token_lp.addr, Number(farm_round), farming_contract).then((status_v2) => {
601
- this.stackswap.farmManager.getFarmingStakerStatus(farm.pair.token_lp.addr, Number(farm_round)).then((status_v1) => {
602
- farm.claimable_list = status_v2.unclaimedList.concat(status_v1.unclaimedList);
603
- farm.pooled_lp_v1 = status_v1.pooledToken;
604
- farm.pooled_lp_v2 = status_v2.pooledToken;
605
- const temp_list = [];
606
- for (const item of status_v1.stakedList) {
607
- if (item < farm_round && item > this.stackswap.config.FARM_V1_END_CYCLE()) {
608
- temp_list.push(item);
609
- }
610
- }
611
- farm.unstaked_v1 = temp_list;
612
- farm.pooled_stsw = new BigNumber(status_v2.pooledToken).plus(status_v1.pooledToken).toString();
613
- farm.stakedList = status_v2.stakedList;
614
- farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
615
- this.getRewardBalanceFromFarming2(farm.pair.token_lp.addr, status_v2.unclaimedList, farming_contract).then(reward_v2 => {
616
- this.stackswap.farmManager.getRewardBalanceFromFarming(farm.pair.token_lp.addr, status_v1.unclaimedList).then(reward_v1 => {
617
- farm.total_reward = new BigNumber(reward_v2).plus(reward_v1).toString();
618
- callback(farm);
619
- });
620
- });
621
- });
622
- });
623
- }
624
- }
625
- //# sourceMappingURL=farm2.manager.js.map