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,557 +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, parseAddressToCV } 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 Farm3Manager {
12
- constructor(stackswap) {
13
- this.getStakingAmountAtRound = (round, lpUser) => {
14
- if (round > Number(lpUser.StartRound)) {
15
- return lpUser.StakingLockedAmt;
16
- }
17
- else if (round === Number(lpUser.StartRound)) {
18
- return lpUser.StartRoundAmt;
19
- }
20
- else if (round < Number(lpUser.StartRound)) {
21
- return 0;
22
- }
23
- };
24
- this.localCache = {};
25
- ``;
26
- this.stackswap = stackswap;
27
- }
28
- async getFarmingRound3(bh) {
29
- try {
30
- return Math.floor((Number(bh) - 70843) / 504);
31
- }
32
- catch (e) {
33
- return 0;
34
- }
35
- }
36
- async getCurrentFarmingRound3() {
37
- const bh = await this.stackswap.getCurrentBlocks();
38
- return await this.getFarmingRound3(Number(bh.tenure_block_height));
39
- }
40
- async getFarmingRoundFirstBlock3(cycle) {
41
- return 70843 + 504 * Number(cycle);
42
- }
43
- getPoolUSDPriceFarm(farm, farm_total, oracle_data) {
44
- let tvl = 0;
45
- switch (farm.BASE) {
46
- case 'STX':
47
- if (farm.token_x.symbol === farm.BASE) {
48
- 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();
49
- }
50
- else {
51
- 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();
52
- }
53
- break;
54
- case 'STSW':
55
- if (farm.token_x.symbol === farm.BASE) {
56
- 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();
57
- }
58
- else {
59
- 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();
60
- }
61
- break;
62
- case 'lBTC':
63
- if (farm.token_x.symbol === farm.BASE) {
64
- 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();
65
- }
66
- else {
67
- 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();
68
- }
69
- break;
70
- default:
71
- tvl = 0;
72
- }
73
- return tvl;
74
- }
75
- async getLPUser(pool_address) {
76
- const address = pool_address.split('.');
77
- const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), 'getLPUserOrDefault', [
78
- contractPrincipalCV(address[0], address[1]),
79
- standardPrincipalCV(this.stackswap.getSenderAddress()),
80
- ]);
81
- const result_raw = await callReadOnlyFunction(function_option);
82
- const result = cvToValue(result_raw);
83
- try {
84
- return {
85
- ViewAmt: result.ViewAmt.value,
86
- StakingLockedAmt: result.StakingLockedAmt.value,
87
- StartRound: result.StartRound.value,
88
- StartRoundAmt: result.StartRoundAmt.value
89
- };
90
- }
91
- catch (e) {
92
- console.log(e);
93
- return {
94
- ViewAmt: '0',
95
- StakingLockedAmt: '0',
96
- StartRound: '0',
97
- StartRoundAmt: '0'
98
- };
99
- }
100
- }
101
- async getFarmingStakerStatus3(pool_address, cur_round) {
102
- const address = pool_address.split('.');
103
- const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), 'getLPUserOrDefault', [
104
- contractPrincipalCV(address[0], address[1]),
105
- standardPrincipalCV(this.stackswap.getSenderAddress()),
106
- ]);
107
- const result_raw = await callReadOnlyFunction(function_option);
108
- const result = cvToValue(result_raw);
109
- try {
110
- const startRound = Number(result.StartRound.value);
111
- const pooledToken = result.ViewAmt.value;
112
- const unclaimedList = [];
113
- for (let i = startRound; i < cur_round; i++) {
114
- unclaimedList.push(i);
115
- }
116
- const stakedList = unclaimedList;
117
- return { pooledToken, unclaimedList, stakedList };
118
- }
119
- catch (e) {
120
- console.log(e);
121
- return { pooledToken: 0, unclaimedList: [], stakedList: [] };
122
- }
123
- }
124
- async getFarmingTotalStatusCycle3(cycle, group) {
125
- const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), 'getGroupHistoryOrDefault', [
126
- uintCV(cycle),
127
- uintCV(group),
128
- ]);
129
- const result_raw = await callReadOnlyFunction(function_option);
130
- const result = cvToValue(result_raw);
131
- try {
132
- return {
133
- reward: result.GroupRewardAmt.value,
134
- value: result.GroupWeightedTVL.value
135
- };
136
- }
137
- catch (e) {
138
- return {
139
- reward: 0,
140
- value: 0
141
- };
142
- }
143
- }
144
- async getFarmingTotalPoolStatus3(pool_address) {
145
- const address = pool_address.split('.');
146
- const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), 'getLPOrDefault', [
147
- contractPrincipalCV(address[0], address[1]),
148
- ]);
149
- const result_raw = await callReadOnlyFunction(function_option);
150
- const result = cvToValue(result_raw);
151
- try {
152
- return { amountLP: '0', weight: result.CurWeight.value };
153
- }
154
- catch (e) {
155
- return { amountLP: '0', weight: '1' };
156
- }
157
- }
158
- async getFarmingTotalPoolStatusCycle3(pool_address, cycle) {
159
- const address = pool_address.split('.');
160
- const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), 'getLPHistoryOrDefault', [
161
- contractPrincipalCV(address[0], address[1]),
162
- uintCV(cycle),
163
- ]);
164
- const result_raw = await callReadOnlyFunction(function_option);
165
- const result = cvToValue(result_raw);
166
- try {
167
- return {
168
- value: result.WeightedTVL.value,
169
- weight: result.Weight.value,
170
- amountLP: result.LockedAmt.value,
171
- price: result.Price.value
172
- };
173
- }
174
- catch (e) {
175
- return {
176
- value: 0,
177
- weight: 0,
178
- amountLP: 0,
179
- price: 0
180
- };
181
- }
182
- }
183
- async getFarmingTotalValue3(group) {
184
- try {
185
- const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), 'getGroupOrDefault', [
186
- uintCV(group)
187
- ]);
188
- const result_raw = await callReadOnlyFunction(function_option);
189
- const result = cvToValue(result_raw);
190
- return result.CurRewardAmt.value;
191
- }
192
- catch (e) {
193
- return 0;
194
- }
195
- }
196
- async getFarmingUserRewardPerCycle3(pool_address, cycle) {
197
- const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_LOGIC_3(), 'getUserStakingRewardAtRound', [
198
- parseAddressToCV(pool_address),
199
- standardPrincipalCV(this.stackswap.getSenderAddress()),
200
- uintCV(cycle),
201
- ]);
202
- const result_raw = await callReadOnlyFunction(function_option);
203
- const result = cvToValue(result_raw);
204
- return result;
205
- }
206
- async getFarmingUserRewardList3(pool_address, unclaimed_list) {
207
- const address = pool_address.split('.');
208
- const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_LOGIC_3(), 'getFarmingRewardFromList', [
209
- standardPrincipalCV(this.stackswap.getSenderAddress()),
210
- contractPrincipalCV(address[0], address[1]),
211
- listCV(unclaimed_list),
212
- ]);
213
- console.log('fkk', {
214
- addr: this.stackswap.getSenderAddress(),
215
- pool_address,
216
- unclaimed_list,
217
- });
218
- const result_raw = await callReadOnlyFunction(function_option);
219
- const result = cvToValue(result_raw);
220
- console.log('getFarmingUserRewardTotal', result);
221
- return result;
222
- }
223
- async getFarmBalance3(token) {
224
- const pair_details_options = getReadOptions(this.stackswap, token.addr, 'get-balance', [contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3())]);
225
- try {
226
- const result = await callReadOnlyFunction(pair_details_options);
227
- return cvToValue(result).value;
228
- }
229
- catch (e) {
230
- return 0;
231
- }
232
- }
233
- async stakeFarmingContract3(pool_address, amountTokens, amountRewards, callback) {
234
- const address = pool_address.split('.');
235
- const post_condition = [];
236
- const amount = new BigNumber(amountTokens).multipliedBy(10 ** 6).toFixed(0).toString();
237
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), pool_address, amount, FungibleConditionCode.Equal));
238
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), this.stackswap.config.BASE_STSW_DATA().addr, new BigNumber(amountRewards).multipliedBy(10 ** 6).toFixed(0), FungibleConditionCode.Equal));
239
- const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_LOGIC_3(), 'stake', [
240
- contractPrincipalCV(address[0], address[1]),
241
- uintCV(amount),
242
- contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
243
- ], post_condition, callback);
244
- await openContractCall(function_option);
245
- }
246
- async claimFarmingContract3(pool_address, amount_STSW, callback, mode = false) {
247
- const address = pool_address.split('.');
248
- if (mode) {
249
- const post_condition = [];
250
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), this.stackswap.config.BASE_STSW_DATA().addr, amount_STSW, FungibleConditionCode.Equal));
251
- 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));
252
- 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));
253
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STSW_LBTC_LP(), this.stackswap.config.BASE_STSW_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
254
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STSW_LBTC_LP(), this.stackswap.config.BASE_LBTC_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
255
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, amount_STSW, FungibleConditionCode.Equal));
256
- const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_REWARD_BALANCER(), 'CLAIM_FROM_FARM', [
257
- contractPrincipalCV(address[0], address[1]),
258
- contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
259
- ], post_condition, callback);
260
- await openContractCall(function_option);
261
- }
262
- else {
263
- const post_condition = [];
264
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), this.stackswap.config.BASE_STSW_DATA().addr, new BigNumber(amount_STSW).multipliedBy(10 ** 6).toFixed(0), FungibleConditionCode.Equal));
265
- const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_LOGIC_3(), 'claimReward', [
266
- contractPrincipalCV(address[0], address[1]),
267
- contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
268
- ], post_condition, callback);
269
- await openContractCall(function_option);
270
- }
271
- }
272
- async unstakeFarmingContract3(pool_address, amount_LP, amountRewards, callback) {
273
- const address = pool_address.split('.');
274
- const post_condition = [];
275
- const newAmount = new BigNumber(amount_LP).multipliedBy(10 ** 6).toFixed();
276
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), pool_address, newAmount, FungibleConditionCode.Equal));
277
- post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(), this.stackswap.config.BASE_STSW_DATA().addr, new BigNumber(amountRewards).multipliedBy(10 ** 6).toFixed(0), FungibleConditionCode.Equal));
278
- const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_LOGIC_3(), 'withdrawDirect', [
279
- contractPrincipalCV(address[0], address[1]),
280
- uintCV(newAmount),
281
- contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
282
- ], post_condition, callback);
283
- await openContractCall(function_option);
284
- }
285
- async getRewardBalanceFromFarming3(pool_addr, unclaimed_list) {
286
- const num_list = [];
287
- for (const unclaimed of unclaimed_list) {
288
- num_list.push(uintCV(unclaimed));
289
- }
290
- let reward_num = new BigNumber(0);
291
- try {
292
- for (let i = 0; i < num_list.length; i += 4) {
293
- const result = await this.getFarmingUserRewardList3(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length));
294
- reward_num = reward_num.plus(new BigNumber(result.value.rewardSum.value));
295
- }
296
- return num2decimal(reward_num.toString(), 6);
297
- }
298
- catch (e) {
299
- console.log(e);
300
- return num2decimal(reward_num.toString(), 6);
301
- }
302
- }
303
- getFarmingAPR(tvl, stsw_price, reward, weight) {
304
- if (!tvl || new BigNumber(tvl) <= new BigNumber(0)) {
305
- const temp = new BigNumber(reward).dividedBy(10 ** 12).multipliedBy(10400).multipliedBy(stsw_price);
306
- return temp.toFixed(3).toString();
307
- }
308
- else {
309
- const tvl_bn = new BigNumber(tvl).multipliedBy(10 ** 12);
310
- const reward_usd = new BigNumber(reward).multipliedBy(stsw_price);
311
- const new_reward = reward_usd.div(tvl_bn);
312
- const new_reward_apr = new_reward.multipliedBy(10400).multipliedBy(weight);
313
- return new_reward_apr.toFixed(3).toString();
314
- }
315
- }
316
- async getFarmDataFromData(data, type, callback) {
317
- const oracle_stsw = (await this.stackswap.lbtcManager.getPrice('STSW'))['last-price'].value;
318
- const oracle_stx = (await this.stackswap.lbtcManager.getPrice('STX'))['last-price'].value;
319
- const oracle_lbtc = (await this.stackswap.lbtcManager.getPrice('lBTC'))['last-price'].value;
320
- const bh = await this.stackswap.getCurrentBlocks();
321
- return await this.getEachFarmData(data, bh.tenure_block_height, { oracle_stsw, oracle_lbtc, oracle_stx }, type, callback);
322
- }
323
- checkAndSetFarmAPR(farms, farm_length, oracle_data) {
324
- if (farms.length === farm_length) {
325
- const tvls = { 'group1': '0', 'group2': '0', 'group5': '0' };
326
- for (const farm_temp of farms) {
327
- switch (farm_temp.farm_group) {
328
- case 1:
329
- tvls.group1 = new BigNumber(tvls.group1).plus(new BigNumber(this.getPoolUSDPriceFarm(farm_temp, farm_temp.farm_total_v3, oracle_data)).multipliedBy(farm_temp.weight)).toString();
330
- break;
331
- case 2:
332
- tvls.group2 = new BigNumber(tvls.group2).plus(new BigNumber(this.getPoolUSDPriceFarm(farm_temp, farm_temp.farm_total_v3, oracle_data)).multipliedBy(farm_temp.weight)).toString();
333
- break;
334
- case 5:
335
- tvls.group5 = new BigNumber(tvls.group5).plus(new BigNumber(this.getPoolUSDPriceFarm(farm_temp, farm_temp.farm_total_v3, oracle_data)).multipliedBy(farm_temp.weight)).toString();
336
- break;
337
- }
338
- }
339
- for (const farm_temp of farms) {
340
- switch (farm_temp.farm_group) {
341
- case 1:
342
- farm_temp.APR = this.getFarmingAPR(tvls.group1, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
343
- break;
344
- case 2:
345
- farm_temp.APR = this.getFarmingAPR(tvls.group2, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
346
- break;
347
- case 5:
348
- farm_temp.APR = this.getFarmingAPR(tvls.group5, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
349
- break;
350
- }
351
- }
352
- }
353
- return farms;
354
- }
355
- checkAndSetFarmAPR_Dash(farms, farm_length, oracle_data) {
356
- if (farms.length === farm_length) {
357
- const tvls = { 'group1': '0', 'group2': '0', 'group5': '0' };
358
- for (const farm_temp of farms) {
359
- switch (farm_temp.farm_group) {
360
- case 1:
361
- 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();
362
- break;
363
- case 2:
364
- 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();
365
- break;
366
- case 5:
367
- 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();
368
- break;
369
- }
370
- farm_temp.value_per_1LP = new BigNumber(this.getPoolUSDPriceFarm(farm_temp, 1000000, oracle_data)).multipliedBy(farm_temp.weight).toString();
371
- }
372
- for (const farm_temp of farms) {
373
- switch (farm_temp.farm_group) {
374
- case 1:
375
- farm_temp.APR = this.getFarmingAPR(tvls.group1, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
376
- farm_temp.group_value = tvls.group1;
377
- break;
378
- case 2:
379
- farm_temp.APR = this.getFarmingAPR(tvls.group2, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
380
- farm_temp.group_value = tvls.group2;
381
- break;
382
- case 5:
383
- farm_temp.APR = this.getFarmingAPR(tvls.group5, oracle_data.oracle_stsw, farm_temp.reward, farm_temp.weight);
384
- farm_temp.group_value = tvls.group5;
385
- break;
386
- }
387
- }
388
- }
389
- return farms;
390
- }
391
- async getEachFarmData(data, bh, oracle_data, type, callback) {
392
- const tvl_apr = new BigNumber(0);
393
- const farms = [];
394
- const farm_length = data.length;
395
- for (let i = 0; i < data.length; i++) {
396
- const farm_round = await this.getCurrentFarmingRound3();
397
- this.getFarmData(data[i], farm_round, bh, tvl_apr, oracle_data, type).then((value) => {
398
- value.farm_group = data[i].farm_group;
399
- value.farm_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_LOGIC_3();
400
- farms.push(value);
401
- this.checkAndSetFarmAPR(farms, farm_length, oracle_data);
402
- callback({ farms, farm_round, oracle_data });
403
- });
404
- }
405
- }
406
- async getEachFarmDataSerial(data, bh, oracle_data, type) {
407
- const tvl_apr = new BigNumber(0);
408
- const farms = [];
409
- const farm_length = data.length;
410
- const farm_round = await this.getCurrentFarmingRound3();
411
- for (let i = 0; i < data.length; i++) {
412
- const value = await this.getFarmData(data[i], farm_round, bh, tvl_apr, oracle_data, type);
413
- value.farm_group = data[i].farm_group;
414
- value.farm_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_LOGIC_3();
415
- farms.push(value);
416
- }
417
- this.checkAndSetFarmAPR(farms, farm_length, oracle_data);
418
- return { farms, farm_round, oracle_data };
419
- }
420
- delay(ms) {
421
- return new Promise(resolve => setTimeout(resolve, ms));
422
- }
423
- async getEachFarmDataSerialDash(data, bh, oracle_data, type, amount, delayTime = 0) {
424
- const farms = [];
425
- const farm_length = data.length;
426
- for (let i = 0; i < amount; i++) {
427
- farms.push([]);
428
- }
429
- let farm_round = await this.getCurrentFarmingRound3();
430
- if (farm_round < 65)
431
- farm_round = 65;
432
- for (let farm_round_iter = Number(farm_round); farm_round_iter < Number(farm_round) + amount; farm_round_iter++) {
433
- for (let i = 0; i < data.length; i++) {
434
- const farm_data = _.cloneDeep(data[i]);
435
- const value = await this.getFarmDataMinimal(farm_data, farm_round_iter, bh, oracle_data, type, farm_round);
436
- value.farm_group = farm_data.farm_group;
437
- value.farm_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING_LOGIC_3();
438
- farms[farm_round_iter - Number(farm_round)].push(value);
439
- await this.delay(delayTime);
440
- }
441
- this.checkAndSetFarmAPR_Dash(farms[farm_round_iter - Number(farm_round)], farm_length, oracle_data);
442
- }
443
- return { farms, farm_round, oracle_data };
444
- }
445
- async getFarmData(farm, farm_round, block_height, tvl_apr, oracle_data, type) {
446
- farm.valid = false;
447
- farm.cur_round = farm_round;
448
- switch (type) {
449
- case Mode.ONLY_BLOCKCHAIN:
450
- farm.pair = (await this.stackswap.poolManager.getPairDataFromContract(farm.token_x, farm.token_y));
451
- break;
452
- case Mode.WITH_SERVER:
453
- farm.pair = (await this.stackswap.swapManager.findRouterAll(farm.token_x, farm.token_y, Number(block_height))).pair;
454
- break;
455
- }
456
- farm.pair.price = (farm.pair.balance_y / (10 ** farm.token_y.decimal)) / (farm.pair.balance_x / (10 ** farm.token_x.decimal));
457
- const farm_total_v3 = await this.getFarmBalance3(farm.pair.token_lp);
458
- farm.TVL = this.getPoolUSDPriceFarm(farm, new BigNumber(farm_total_v3).toString(), oracle_data);
459
- farm.total_locked_lp = new BigNumber(farm_total_v3).toString();
460
- farm.farm_total_v3 = (await this.getFarmingTotalPoolStatusCycle3(farm.pair.token_lp.addr, farm_round)).amountLP;
461
- const farm_temp_total_data = await this.getFarmingTotalValue3(farm.farm_group);
462
- farm.reward = farm_temp_total_data;
463
- const lpTotalData = await this.getFarmingTotalPoolStatus3(farm.pair.token_lp.addr);
464
- farm.weight = lpTotalData.weight;
465
- tvl_apr = tvl_apr.plus(new BigNumber(this.getPoolUSDPriceFarm(farm, farm.total_locked_lp, oracle_data)).multipliedBy(farm.weight));
466
- farm.valid = true;
467
- return farm;
468
- }
469
- async getFarmDataMinimal(farm, farm_round, block_height, oracle_data, type, current_round = null) {
470
- farm.valid = false;
471
- farm.cur_round = farm_round;
472
- if (current_round && Number(current_round) + 1 < Number(farm_round))
473
- farm_round = Number(current_round) + 1;
474
- if (this.localCache[`${farm.token_swapr}|FarmPairData`] == null ||
475
- Number(this.localCache[`${farm.token_swapr}|FarmPairData`].block_height) < Number(block_height)) {
476
- switch (type) {
477
- case Mode.ONLY_BLOCKCHAIN:
478
- farm.pair = (await this.stackswap.poolManager.getPairDataFromContract(farm.token_x, farm.token_y));
479
- break;
480
- case Mode.WITH_SERVER:
481
- farm.pair = (await this.stackswap.swapManager.findRouterAll(farm.token_x, farm.token_y, Number(block_height))).pair;
482
- break;
483
- }
484
- this.localCache[`${farm.token_swapr}|FarmPairData`] = {
485
- block_height: block_height,
486
- data: farm.pair,
487
- };
488
- }
489
- else {
490
- farm.pair = this.localCache[`${farm.token_swapr}|FarmPairData`].data;
491
- }
492
- farm.pair.price = (farm.pair.balance_y / (10 ** farm.token_y.decimal)) / (farm.pair.balance_x / (10 ** farm.token_x.decimal));
493
- const temp_farm_round_data = await this.getFarmingTotalPoolStatusCycle3(farm.pair.token_lp.addr, farm_round);
494
- farm.total_locked_lp = temp_farm_round_data.amountLP;
495
- farm.TVL = this.getPoolUSDPriceFarm(farm, farm.total_locked_lp, oracle_data);
496
- if (this.localCache[`${farm.farm_group}|FarmReward`] == null ||
497
- Number(this.localCache[`${farm.farm_group}|FarmReward`].block_height) < Number(block_height)) {
498
- const farm_temp_total_data = await this.getFarmingTotalValue3(farm.farm_group);
499
- farm.reward = farm_temp_total_data;
500
- this.localCache[`${farm.farm_group}|FarmReward`] = {
501
- block_height: block_height,
502
- data: farm_temp_total_data,
503
- };
504
- }
505
- else {
506
- farm.reward = this.localCache[`${farm.farm_group}|FarmReward`].data;
507
- }
508
- let lpTotalData = null;
509
- if (this.localCache[`${farm.token_swapr}|'FarmTotalPool`] == null ||
510
- Number(this.localCache[`${farm.token_swapr}|'FarmTotalPool`].block_height) < Number(block_height)) {
511
- lpTotalData = await this.getFarmingTotalPoolStatus3(farm.pair.token_lp.addr);
512
- this.localCache[`${farm.token_swapr}|'FarmTotalPool`] = {
513
- block_height: block_height,
514
- data: lpTotalData,
515
- };
516
- }
517
- else {
518
- lpTotalData = this.localCache[`${farm.token_swapr}|'FarmTotalPool`].data;
519
- }
520
- farm.weight = lpTotalData.weight;
521
- farm.valid = true;
522
- return farm;
523
- }
524
- async getFarmUserData3(farm, farm_round, oracle_data, callback) {
525
- const status_v3 = await this.getFarmingStakerStatus3(farm.pair.token_lp.addr, Number(farm_round));
526
- farm.claimable_list = status_v3.unclaimedList;
527
- farm.pooled_lp_v3 = status_v3.pooledToken;
528
- farm.pooled_stsw = new BigNumber(status_v3.pooledToken).toString();
529
- farm.stakedList = status_v3.stakedList;
530
- farm.user_TVL = this.getPoolUSDPriceFarm(farm, farm.pooled_stsw, oracle_data);
531
- const reward_v2 = await this.getRewardBalanceFromFarming3(farm.pair.token_lp.addr, status_v3.unclaimedList);
532
- farm.total_reward = new BigNumber(reward_v2).toString();
533
- callback(farm);
534
- }
535
- async getFarmUserData3_seperate(farm, farm_round, oracle_data, callback) {
536
- const status_v3 = await this.getFarmingStakerStatus3(farm.pair.token_lp.addr, Number(farm_round));
537
- const pooled_lp_v3 = status_v3.pooledToken;
538
- const pooled_lp = new BigNumber(status_v3.pooledToken).toString();
539
- const claimable_list = Number(pooled_lp_v3) == 0 ? [] : status_v3.unclaimedList;
540
- const stakedList = Number(pooled_lp_v3) == 0 ? [] : status_v3.stakedList;
541
- const user_TVL = this.getPoolUSDPriceFarm(farm, pooled_lp, oracle_data);
542
- const reward_v2 = await this.getRewardBalanceFromFarming3(farm.pair.token_lp.addr, claimable_list);
543
- const total_reward = new BigNumber(reward_v2).toString();
544
- const userdata = {
545
- claimable_list: claimable_list,
546
- pooled_lp_v3: pooled_lp_v3,
547
- pooled_lp: pooled_lp,
548
- stakedList: stakedList,
549
- user_TVL: user_TVL,
550
- total_reward: total_reward,
551
- };
552
- if (callback)
553
- callback(userdata);
554
- return userdata;
555
- }
556
- }
557
- //# sourceMappingURL=farm3.manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"farm3.manager.js","sourceRoot":"","sources":["../../../../src/stackswap/manager/farm3.manager.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { StackswapAPI } from "../../index";
2
- export declare class GovernanceManager {
3
- stackswap: StackswapAPI;
4
- constructor(stackswap: StackswapAPI);
5
- getProposalsList(): Promise<any>;
6
- getNumVoting(proposal_id: number, governance_name?: string): Promise<any[]>;
7
- txWithdrawVoting(proposal_id: number, _amount: string, callback?: any, governance_name?: string): Promise<void>;
8
- txVote(proposal_id: number, vote_mode: string, vote_amount: any, callback?: any, governance_name?: string): Promise<void>;
9
- }