stackswap-front-api-test-02 0.10.3 → 0.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.d.ts +106 -0
- package/dist/esm/index.js +196 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/stackswap/config.d.ts +172 -0
- package/dist/esm/stackswap/config.js +302 -0
- package/dist/esm/stackswap/config.js.map +1 -0
- package/dist/esm/stackswap/manager/bridge.manager.d.ts +27 -0
- package/dist/esm/stackswap/manager/bridge.manager.js +215 -0
- package/dist/esm/stackswap/manager/bridge.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/farm.manager.d.ts +41 -0
- package/dist/esm/stackswap/manager/farm.manager.js +293 -0
- package/dist/esm/stackswap/manager/farm.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/farm2.manager.d.ts +106 -0
- package/dist/esm/stackswap/manager/farm2.manager.js +625 -0
- package/dist/esm/stackswap/manager/farm2.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/farm3.manager.d.ts +121 -0
- package/dist/esm/stackswap/manager/farm3.manager.js +557 -0
- package/dist/esm/stackswap/manager/farm3.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/governance.manager.d.ts +9 -0
- package/dist/esm/stackswap/manager/governance.manager.js +68 -0
- package/dist/esm/stackswap/manager/governance.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/groupfarm.manager.d.ts +70 -0
- package/dist/esm/stackswap/manager/groupfarm.manager.js +379 -0
- package/dist/esm/stackswap/manager/groupfarm.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/launchpad.manager.d.ts +18 -0
- package/dist/esm/stackswap/manager/launchpad.manager.js +253 -0
- package/dist/esm/stackswap/manager/launchpad.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/lbtc.manager.d.ts +31 -0
- package/dist/esm/stackswap/manager/lbtc.manager.js +327 -0
- package/dist/esm/stackswap/manager/lbtc.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/lbtcstaking.manager.d.ts +61 -0
- package/dist/esm/stackswap/manager/lbtcstaking.manager.js +248 -0
- package/dist/esm/stackswap/manager/lbtcstaking.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/multisig.manager.d.ts +11 -0
- package/dist/esm/stackswap/manager/multisig.manager.js +50 -0
- package/dist/esm/stackswap/manager/multisig.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/nft.manager.d.ts +55 -0
- package/dist/esm/stackswap/manager/nft.manager.js +274 -0
- package/dist/esm/stackswap/manager/nft.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/operator.manager.d.ts +17 -0
- package/dist/esm/stackswap/manager/operator.manager.js +86 -0
- package/dist/esm/stackswap/manager/operator.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/other.manager.d.ts +9 -0
- package/dist/esm/stackswap/manager/other.manager.js +41 -0
- package/dist/esm/stackswap/manager/other.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/pool.manager.d.ts +34 -0
- package/dist/esm/stackswap/manager/pool.manager.js +172 -0
- package/dist/esm/stackswap/manager/pool.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/poxl.manager.d.ts +16 -0
- package/dist/esm/stackswap/manager/poxl.manager.js +72 -0
- package/dist/esm/stackswap/manager/poxl.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/staking.manager.d.ts +40 -0
- package/dist/esm/stackswap/manager/staking.manager.js +295 -0
- package/dist/esm/stackswap/manager/staking.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/swap.manager.d.ts +71 -0
- package/dist/esm/stackswap/manager/swap.manager.js +730 -0
- package/dist/esm/stackswap/manager/swap.manager.js.map +1 -0
- package/dist/esm/stackswap/manager/token.manager.d.ts +32 -0
- package/dist/esm/stackswap/manager/token.manager.js +142 -0
- package/dist/esm/stackswap/manager/token.manager.js.map +1 -0
- package/dist/esm/stackswap/util.d.ts +35 -0
- package/dist/esm/stackswap/util.js +202 -0
- package/dist/esm/stackswap/util.js.map +1 -0
- package/dist/index.d.ts +106 -0
- package/dist/index.js +206 -0
- package/dist/index.js.map +1 -0
- package/dist/stackswap/config.d.ts +172 -0
- package/dist/stackswap/config.js +308 -0
- package/dist/stackswap/config.js.map +1 -0
- package/dist/stackswap/manager/bridge.manager.d.ts +27 -0
- package/dist/stackswap/manager/bridge.manager.js +222 -0
- package/dist/stackswap/manager/bridge.manager.js.map +1 -0
- package/dist/stackswap/manager/farm.manager.d.ts +41 -0
- package/dist/stackswap/manager/farm.manager.js +301 -0
- package/dist/stackswap/manager/farm.manager.js.map +1 -0
- package/dist/stackswap/manager/farm2.manager.d.ts +106 -0
- package/dist/stackswap/manager/farm2.manager.js +632 -0
- package/dist/stackswap/manager/farm2.manager.js.map +1 -0
- package/dist/stackswap/manager/farm3.manager.d.ts +121 -0
- package/dist/stackswap/manager/farm3.manager.js +564 -0
- package/dist/stackswap/manager/farm3.manager.js.map +1 -0
- package/dist/stackswap/manager/governance.manager.d.ts +9 -0
- package/dist/stackswap/manager/governance.manager.js +75 -0
- package/dist/stackswap/manager/governance.manager.js.map +1 -0
- package/dist/stackswap/manager/groupfarm.manager.d.ts +70 -0
- package/dist/stackswap/manager/groupfarm.manager.js +386 -0
- package/dist/stackswap/manager/groupfarm.manager.js.map +1 -0
- package/dist/stackswap/manager/launchpad.manager.d.ts +18 -0
- package/dist/stackswap/manager/launchpad.manager.js +257 -0
- package/dist/stackswap/manager/launchpad.manager.js.map +1 -0
- package/dist/stackswap/manager/lbtc.manager.d.ts +31 -0
- package/dist/stackswap/manager/lbtc.manager.js +334 -0
- package/dist/stackswap/manager/lbtc.manager.js.map +1 -0
- package/dist/stackswap/manager/lbtcstaking.manager.d.ts +61 -0
- package/dist/stackswap/manager/lbtcstaking.manager.js +255 -0
- package/dist/stackswap/manager/lbtcstaking.manager.js.map +1 -0
- package/dist/stackswap/manager/multisig.manager.d.ts +11 -0
- package/dist/stackswap/manager/multisig.manager.js +54 -0
- package/dist/stackswap/manager/multisig.manager.js.map +1 -0
- package/dist/stackswap/manager/nft.manager.d.ts +55 -0
- package/dist/stackswap/manager/nft.manager.js +281 -0
- package/dist/stackswap/manager/nft.manager.js.map +1 -0
- package/dist/stackswap/manager/operator.manager.d.ts +17 -0
- package/dist/stackswap/manager/operator.manager.js +93 -0
- package/dist/stackswap/manager/operator.manager.js.map +1 -0
- package/dist/stackswap/manager/other.manager.d.ts +9 -0
- package/dist/stackswap/manager/other.manager.js +45 -0
- package/dist/stackswap/manager/other.manager.js.map +1 -0
- package/dist/stackswap/manager/pool.manager.d.ts +34 -0
- package/dist/stackswap/manager/pool.manager.js +180 -0
- package/dist/stackswap/manager/pool.manager.js.map +1 -0
- package/dist/stackswap/manager/poxl.manager.d.ts +16 -0
- package/dist/stackswap/manager/poxl.manager.js +79 -0
- package/dist/stackswap/manager/poxl.manager.js.map +1 -0
- package/dist/stackswap/manager/staking.manager.d.ts +40 -0
- package/dist/stackswap/manager/staking.manager.js +302 -0
- package/dist/stackswap/manager/staking.manager.js.map +1 -0
- package/dist/stackswap/manager/swap.manager.d.ts +71 -0
- package/dist/stackswap/manager/swap.manager.js +737 -0
- package/dist/stackswap/manager/swap.manager.js.map +1 -0
- package/dist/stackswap/manager/token.manager.d.ts +32 -0
- package/dist/stackswap/manager/token.manager.js +150 -0
- package/dist/stackswap/manager/token.manager.js.map +1 -0
- package/dist/stackswap/util.d.ts +35 -0
- package/dist/stackswap/util.js +219 -0
- package/dist/stackswap/util.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,293 @@
|
|
|
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, numFormat_ } from "../util";
|
|
5
|
+
import { Mode } from "./farm2.manager";
|
|
6
|
+
export class Farm {
|
|
7
|
+
constructor(pool, locked_token, TVL, APR, in_contract, cur_round) {
|
|
8
|
+
this.pool = pool;
|
|
9
|
+
this.locked_token = locked_token;
|
|
10
|
+
this.TVL = TVL;
|
|
11
|
+
this.APR = APR;
|
|
12
|
+
this.in_contract = in_contract;
|
|
13
|
+
this.cur_round = cur_round;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class FarmManager {
|
|
17
|
+
constructor(stackswap) {
|
|
18
|
+
this.stackswap = stackswap;
|
|
19
|
+
}
|
|
20
|
+
async getFarmingRound(bh) {
|
|
21
|
+
try {
|
|
22
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-reward-cycle', [
|
|
23
|
+
uintCV(bh)
|
|
24
|
+
]);
|
|
25
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
26
|
+
const result = cvToValue(result_raw);
|
|
27
|
+
return result.value;
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
return 0;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async getFarmingRoundFirstBlock(cycle) {
|
|
34
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-first-stacks-block-in-reward-cycle', [
|
|
35
|
+
uintCV(cycle)
|
|
36
|
+
]);
|
|
37
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
38
|
+
const result = cvToValue(result_raw);
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
async getFarmingStakerStatus(pool_address, cur_round) {
|
|
42
|
+
const address = pool_address.split('.');
|
|
43
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-staker', [
|
|
44
|
+
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
45
|
+
contractPrincipalCV(address[0], address[1]),
|
|
46
|
+
]);
|
|
47
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
48
|
+
const result = cvToValue(result_raw);
|
|
49
|
+
try {
|
|
50
|
+
const pooledToken = result.value.amountUstx.value;
|
|
51
|
+
const unclaimedList = [];
|
|
52
|
+
const stakedList = [];
|
|
53
|
+
for (const unclaimedElement of result.value.unclaimedList.value) {
|
|
54
|
+
if (unclaimedElement.value < cur_round && unclaimedElement.value <= this.stackswap.config.FARM_V1_END_CYCLE()) {
|
|
55
|
+
unclaimedList.push(unclaimedElement.value);
|
|
56
|
+
}
|
|
57
|
+
stakedList.push(unclaimedElement.value);
|
|
58
|
+
}
|
|
59
|
+
return { pooledToken, unclaimedList, stakedList };
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
return { pooledToken: 0, unclaimedList: [], stakedList: [] };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async getFarmBalance(token) {
|
|
66
|
+
const pair_details_options = getReadOptions(this.stackswap, token.addr, 'get-balance', [contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING())]);
|
|
67
|
+
try {
|
|
68
|
+
const result = await callReadOnlyFunction(pair_details_options);
|
|
69
|
+
return cvToValue(result).value;
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
async getPoolSTXPriceFarm(pair, token_x, token_y, farm_total) {
|
|
76
|
+
const x_token_addr = token_x.addr;
|
|
77
|
+
const y_token_addr = token_y.addr;
|
|
78
|
+
let total_balacne = new BigNumber(-1);
|
|
79
|
+
if (x_token_addr === this.stackswap.config.BASE_WSTX_DATA().addr) {
|
|
80
|
+
total_balacne = (new BigNumber(pair.balance_x).multipliedBy(farm_total).dividedBy(pair.share_total).dividedBy(new BigNumber(10 ** token_x.decimal))).multipliedBy(2);
|
|
81
|
+
}
|
|
82
|
+
else if (y_token_addr === this.stackswap.config.BASE_WSTX_DATA().addr) {
|
|
83
|
+
total_balacne = (new BigNumber(pair.balance_y).multipliedBy(farm_total).dividedBy(pair.share_total).dividedBy(new BigNumber(10 ** token_y.decimal))).multipliedBy(2);
|
|
84
|
+
}
|
|
85
|
+
return total_balacne;
|
|
86
|
+
}
|
|
87
|
+
async getFarmingTotalStatusCycle(cycle) {
|
|
88
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-staking-stats-at-cycle', [
|
|
89
|
+
uintCV(cycle),
|
|
90
|
+
]);
|
|
91
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
92
|
+
const result = cvToValue(result_raw);
|
|
93
|
+
try {
|
|
94
|
+
return new BigNumber(result.value.amountUstx.value).multipliedBy(2).toFixed(0).toString();
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
return '0';
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
async getFarmingTotalValue(pool_address) {
|
|
101
|
+
try {
|
|
102
|
+
const address = pool_address.split('.');
|
|
103
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-farm-info', [
|
|
104
|
+
contractPrincipalCV(address[0], address[1]),
|
|
105
|
+
]);
|
|
106
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
107
|
+
const result = cvToValue(result_raw);
|
|
108
|
+
return result.value;
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
return 0;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
async getFarmingUserRewardPerCycle(pool_address, cycle) {
|
|
115
|
+
const address = pool_address.split('.');
|
|
116
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-staking-reward-per-user', [
|
|
117
|
+
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
118
|
+
contractPrincipalCV(address[0], address[1]),
|
|
119
|
+
uintCV(cycle),
|
|
120
|
+
]);
|
|
121
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
122
|
+
const result = cvToValue(result_raw);
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
125
|
+
async getFarmingUserRewardTotal(pool_address) {
|
|
126
|
+
const address = pool_address.split('.');
|
|
127
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-farming-reward-total', [
|
|
128
|
+
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
129
|
+
contractPrincipalCV(address[0], address[1]),
|
|
130
|
+
]);
|
|
131
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
132
|
+
const result = cvToValue(result_raw);
|
|
133
|
+
return result;
|
|
134
|
+
}
|
|
135
|
+
async getFarmingUserRewardList(pool_address, unclaimed_list) {
|
|
136
|
+
const address = pool_address.split('.');
|
|
137
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-farming-reward-from-list', [
|
|
138
|
+
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
139
|
+
contractPrincipalCV(address[0], address[1]),
|
|
140
|
+
listCV(unclaimed_list),
|
|
141
|
+
]);
|
|
142
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
143
|
+
const result = cvToValue(result_raw);
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
146
|
+
async getFarmingRewardInfo(pool_address, cycle) {
|
|
147
|
+
const address = pool_address.split('.');
|
|
148
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-staker-at-cycle', [
|
|
149
|
+
uintCV(cycle),
|
|
150
|
+
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
151
|
+
contractPrincipalCV(address[0], address[1]),
|
|
152
|
+
]);
|
|
153
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
154
|
+
try {
|
|
155
|
+
const result = cvToValue(result_raw);
|
|
156
|
+
return result.value.toReturn.value;
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
return '0';
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
async stakeFarmingContract(pool_address, amountTokens, lockPeriod, callback = null) {
|
|
163
|
+
const address = pool_address.split('.');
|
|
164
|
+
const amount = new BigNumber(amountTokens).multipliedBy(10 ** 6).toFixed(0).toString();
|
|
165
|
+
const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'stake-tokens', [
|
|
166
|
+
uintCV(amount),
|
|
167
|
+
contractPrincipalCV(address[0], address[1]),
|
|
168
|
+
uintCV(lockPeriod),
|
|
169
|
+
], [await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), pool_address, amount, FungibleConditionCode.Equal)], callback);
|
|
170
|
+
await openContractCall(function_option);
|
|
171
|
+
}
|
|
172
|
+
async claimFarmingContract(pool_address, cycle, amount_STSW, amount_LP, callback = null) {
|
|
173
|
+
const address = pool_address.split('.');
|
|
174
|
+
const post_condition = [];
|
|
175
|
+
post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), this.stackswap.config.BASE_STSW_DATA().addr, amount_STSW, FungibleConditionCode.Equal));
|
|
176
|
+
post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), pool_address, amount_LP, FungibleConditionCode.Equal));
|
|
177
|
+
const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'claim-staking-reward', [
|
|
178
|
+
uintCV(cycle),
|
|
179
|
+
contractPrincipalCV(address[0], address[1]),
|
|
180
|
+
], post_condition, callback);
|
|
181
|
+
await openContractCall(function_option);
|
|
182
|
+
}
|
|
183
|
+
async unstakeFarmingContract(pool_address, cycle, amount_LP, callback = null) {
|
|
184
|
+
const address = pool_address.split('.');
|
|
185
|
+
const post_condition = [];
|
|
186
|
+
post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), pool_address, amount_LP, FungibleConditionCode.Equal));
|
|
187
|
+
const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'unstake-from-farming', [
|
|
188
|
+
uintCV(cycle),
|
|
189
|
+
contractPrincipalCV(address[0], address[1]),
|
|
190
|
+
], post_condition, callback);
|
|
191
|
+
await openContractCall(function_option);
|
|
192
|
+
}
|
|
193
|
+
async getCurrentFarmingRound() {
|
|
194
|
+
const bh = await this.stackswap.getCurrentBlocks();
|
|
195
|
+
return await this.getFarmingRound(bh.tenure_block_height);
|
|
196
|
+
}
|
|
197
|
+
async getRewardBalanceFromFarming(pool_addr, unclaimed_list) {
|
|
198
|
+
const num_list = [];
|
|
199
|
+
for (const unclaimed of unclaimed_list) {
|
|
200
|
+
num_list.push(uintCV(unclaimed));
|
|
201
|
+
}
|
|
202
|
+
const result = await this.getFarmingUserRewardList(pool_addr, num_list);
|
|
203
|
+
const reward = numFormat_(num2decimal(result.rewardSum.value, 6));
|
|
204
|
+
return reward;
|
|
205
|
+
}
|
|
206
|
+
getFarmingAPR(tvl, stsw_price) {
|
|
207
|
+
if (new BigNumber(tvl) <= new BigNumber(0)) {
|
|
208
|
+
const temp = new BigNumber(671731.200000).multipliedBy(52).multipliedBy(new BigNumber(stsw_price));
|
|
209
|
+
return temp.toFixed(3).toString();
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
const tvl_bn = new BigNumber(tvl);
|
|
213
|
+
const reward_stx = new BigNumber(671731.2).multipliedBy(new BigNumber(stsw_price));
|
|
214
|
+
const new_reward = reward_stx.div(tvl_bn);
|
|
215
|
+
const new_reward_apr = new_reward.multipliedBy(5200);
|
|
216
|
+
return new_reward_apr.toFixed(3).toString();
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
async getEachFarmData(data, type, callback) {
|
|
220
|
+
const oracle_stsw = (await this.stackswap.lbtcManager.getPrice('STSW'))['last-price'].value;
|
|
221
|
+
const oracle_stx = (await this.stackswap.lbtcManager.getPrice('STX'))['last-price'].value;
|
|
222
|
+
const bh = await this.stackswap.getCurrentBlocks();
|
|
223
|
+
const usd_stx = new BigNumber(oracle_stx).dividedBy(10 ** 6).toNumber();
|
|
224
|
+
const stsw_stx = new BigNumber(oracle_stsw).dividedBy(oracle_stx).toNumber();
|
|
225
|
+
const cur_round = await this.getFarmingRound(bh.tenure_block_height);
|
|
226
|
+
const farms = [];
|
|
227
|
+
data.forEach((farm) => {
|
|
228
|
+
if (farm.farm_group === 1) {
|
|
229
|
+
farm.farm_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_1();
|
|
230
|
+
}
|
|
231
|
+
else if (farm.farm_group === 5) {
|
|
232
|
+
farm.farm_contract = this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING2_5();
|
|
233
|
+
}
|
|
234
|
+
farm.round = cur_round;
|
|
235
|
+
this.getFarmData(farm, bh, type, usd_stx, stsw_stx).then((value) => {
|
|
236
|
+
farms.push(value);
|
|
237
|
+
if (farms.length == data.length) {
|
|
238
|
+
callback(farms);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
async getFarmData(farm, bh, type, usd_stx, stsw_stx) {
|
|
244
|
+
farm.valid = false;
|
|
245
|
+
switch (type) {
|
|
246
|
+
case Mode.ONLY_BLOCKCHAIN:
|
|
247
|
+
farm.pair = (await this.stackswap.poolManager.getPairDataFromContract(farm.token_x, farm.token_y));
|
|
248
|
+
break;
|
|
249
|
+
case Mode.WITH_SERVER:
|
|
250
|
+
farm.pair = (await this.stackswap.swapManager.findRouterAll(farm.token_x, farm.token_y, Number(bh))).pair;
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
this.getFarmBalance(farm.pair.token_lp).then(farm_total => {
|
|
254
|
+
this.getPoolSTXPriceFarm(farm.pair, farm.token_x, farm.token_y, farm_total).then(tvl_stx => {
|
|
255
|
+
farm.tvl = tvl_stx.multipliedBy(new BigNumber(usd_stx)).toNumber();
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
this.getFarmingTotalStatusCycle(Number(farm.round) + 1).then((value1) => {
|
|
259
|
+
const tvl = new BigNumber(num2decimal(value1, 6)).toFixed(3).toString();
|
|
260
|
+
if (farm.round > this.stackswap.config.FARM_V1_END_CYCLE()) {
|
|
261
|
+
farm.apr = '0';
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
farm.apr = this.getFarmingAPR(tvl, stsw_stx);
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
return farm;
|
|
268
|
+
}
|
|
269
|
+
async getFarmUserData(farm, usd_stx) {
|
|
270
|
+
farm.migratable = false;
|
|
271
|
+
farm.isMigratable = await this.stackswap.farm2Manager.isUserMigratable2(farm.pair.token_lp.addr, farm.farm_contract);
|
|
272
|
+
const status = await this.getFarmingStakerStatus(farm.pair.token_lp.addr, Number(farm.round));
|
|
273
|
+
farm.claimable_list = status.unclaimedList;
|
|
274
|
+
farm.pooled_stsw = status.pooledToken;
|
|
275
|
+
farm.stakedList = status.stakedList;
|
|
276
|
+
for (const stakedListElement of status.stakedList) {
|
|
277
|
+
if (stakedListElement > this.stackswap.config.FARM_V1_END_CYCLE() && farm.isMigratable) {
|
|
278
|
+
farm.migratable = true;
|
|
279
|
+
}
|
|
280
|
+
if (farm.unstakedList) {
|
|
281
|
+
farm.unstakedList.push(stakedListElement);
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
farm.unstakedList = [];
|
|
285
|
+
farm.unstakedList.push(stakedListElement);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
const tvl_stx = await this.getPoolSTXPriceFarm(farm.pair, farm.token_x, farm.token_y, farm.pooled_stsw);
|
|
289
|
+
farm.user_TVL = tvl_stx.multipliedBy(new BigNumber(usd_stx)).toFixed(3).toString();
|
|
290
|
+
return farm;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=farm.manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"farm.manager.js","sourceRoot":"","sources":["../../../../src/stackswap/manager/farm.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { StackswapAPI } from "../../index";
|
|
3
|
+
export declare enum Mode {
|
|
4
|
+
WITH_SERVER = 0,
|
|
5
|
+
ONLY_BLOCKCHAIN = 1
|
|
6
|
+
}
|
|
7
|
+
export declare class Farm2Manager {
|
|
8
|
+
stackswap: StackswapAPI;
|
|
9
|
+
constructor(stackswap: StackswapAPI);
|
|
10
|
+
getFarmingRound2(bh: number, farming_contract: string): Promise<any>;
|
|
11
|
+
getFarmingRoundFirstBlock2(cycle: number, farming_contract: string): Promise<any>;
|
|
12
|
+
isUserMigratable2(pool_address: string, farming_contract: string): Promise<any>;
|
|
13
|
+
getPoolUSDPriceFarm(farm: any, farm_total: any, oracle_data: {
|
|
14
|
+
oracle_stx: any;
|
|
15
|
+
oracle_stsw: any;
|
|
16
|
+
oracle_lbtc: any;
|
|
17
|
+
}): number;
|
|
18
|
+
getFarmingStakerStatus2(pool_address: string, cur_round: number, farming_contract: string): Promise<{
|
|
19
|
+
pooledToken: any;
|
|
20
|
+
unclaimedList: any[];
|
|
21
|
+
stakedList: any[];
|
|
22
|
+
}>;
|
|
23
|
+
getFarmingTotalStatusCycle2(cycle: number, farming_contract: string): Promise<{
|
|
24
|
+
reward: any;
|
|
25
|
+
value: any;
|
|
26
|
+
}>;
|
|
27
|
+
getFarmingTotalPoolStatus2(pool_address: string, farming_contract: string): Promise<{
|
|
28
|
+
amountLP: any;
|
|
29
|
+
weight: any;
|
|
30
|
+
}>;
|
|
31
|
+
getFarmingTotalPoolStatusCycle2(pool_address: string, cycle: number, farming_contract: string): Promise<any>;
|
|
32
|
+
getFarmingTotalValue2(pool_address: string, farming_contract: string): Promise<any>;
|
|
33
|
+
getFarmingUserRewardPerCycle2(pool_address: string, cycle: number, farming_contract: string): Promise<any>;
|
|
34
|
+
getFarmingUserRewardList2(pool_address: string, unclaimed_list: any, farming_contract: string): Promise<any>;
|
|
35
|
+
getFarmingRewardInfo2(pool_address: string, round: number, farming_contract: string): Promise<any>;
|
|
36
|
+
getLPUserRoundData(pool_address: string, round: number, farming_contract: string): Promise<any>;
|
|
37
|
+
migrateToVersion2(pool_address: string, farming_contract: string, callback: any): Promise<void>;
|
|
38
|
+
stakeFarmingContract2(pool_address: string, amountTokens: string, lockPeriod: number, callback: any, farming_contract: string): Promise<void>;
|
|
39
|
+
getFarmBalance2(token: any, farming_contract: string): Promise<any>;
|
|
40
|
+
claimFarmingContract2(pool_address: string, cycle: number, amount_STSW: string, amount_LP: string, callback: any, farming_contract: string): Promise<void>;
|
|
41
|
+
unstakeFarmingContract2(pool_address: string, cycle: number, amount_LP: string, callback: any, farming_contract: string): Promise<void>;
|
|
42
|
+
getCurrentFarmingRound2(farming_contract: string): Promise<any>;
|
|
43
|
+
getRewardBalanceFromFarming2(pool_addr: string, unclaimed_list: any, farming_contract: string): Promise<BigNumber>;
|
|
44
|
+
getFarmingAPR(tvl: string, stsw_price: string, reward: string, weight: string): string;
|
|
45
|
+
getFarmDataFromData(data: any, type: Mode, callback: any): Promise<void>;
|
|
46
|
+
checkAndSetFarmAPR(farms: any, farm_length: number, oracle_data: any): any;
|
|
47
|
+
checkAndSetFarmAPR_Dash(farms: any, farm_length: number, oracle_data: any): any;
|
|
48
|
+
getEachFarmData(data: any, bh: string, oracle_data: {
|
|
49
|
+
oracle_stx: any;
|
|
50
|
+
oracle_stsw: any;
|
|
51
|
+
oracle_lbtc: any;
|
|
52
|
+
}, type: Mode, callback: any): Promise<void>;
|
|
53
|
+
getEachFarmDataSerial(data: any, bh: string, oracle_data: {
|
|
54
|
+
oracle_stx: any;
|
|
55
|
+
oracle_stsw: any;
|
|
56
|
+
oracle_lbtc: any;
|
|
57
|
+
}, type: Mode): Promise<{
|
|
58
|
+
farms: any[];
|
|
59
|
+
farm_round: any;
|
|
60
|
+
oracle_data: {
|
|
61
|
+
oracle_stx: any;
|
|
62
|
+
oracle_stsw: any;
|
|
63
|
+
oracle_lbtc: any;
|
|
64
|
+
};
|
|
65
|
+
}>;
|
|
66
|
+
delay(ms: number): Promise<unknown>;
|
|
67
|
+
getEachFarmDataSerialDash(data: any, bh: string, oracle_data: {
|
|
68
|
+
oracle_stx: any;
|
|
69
|
+
oracle_stsw: any;
|
|
70
|
+
oracle_lbtc: any;
|
|
71
|
+
}, type: Mode, amount: number, delayTime?: number): Promise<{
|
|
72
|
+
farms: any[][];
|
|
73
|
+
farm_round: any;
|
|
74
|
+
oracle_data: {
|
|
75
|
+
oracle_stx: any;
|
|
76
|
+
oracle_stsw: any;
|
|
77
|
+
oracle_lbtc: any;
|
|
78
|
+
};
|
|
79
|
+
}>;
|
|
80
|
+
getFarmData(farm: any, farm_round: any, block_height: string, tvl_apr: BigNumber, farming_contract: string, oracle_data: {
|
|
81
|
+
oracle_stx: any;
|
|
82
|
+
oracle_stsw: any;
|
|
83
|
+
oracle_lbtc: any;
|
|
84
|
+
}, type: Mode): Promise<any>;
|
|
85
|
+
localCache: {
|
|
86
|
+
[name: string]: {
|
|
87
|
+
block_height: string;
|
|
88
|
+
data: any;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
getFarmDataMinimal(farm: any, farm_round: any, block_height: string, farming_contract: string, oracle_data: {
|
|
92
|
+
oracle_stx: any;
|
|
93
|
+
oracle_stsw: any;
|
|
94
|
+
oracle_lbtc: any;
|
|
95
|
+
}, type: Mode): Promise<any>;
|
|
96
|
+
getFarmUserData(farm: any, farm_round: string, farming_contract: string, oracle_data: {
|
|
97
|
+
oracle_stx: any;
|
|
98
|
+
oracle_stsw: any;
|
|
99
|
+
oracle_lbtc: any;
|
|
100
|
+
}, callback: any): Promise<void>;
|
|
101
|
+
getFarmUserData2(farm: any, farm_round: string, farming_contract: string, oracle_data: {
|
|
102
|
+
oracle_stx: any;
|
|
103
|
+
oracle_stsw: any;
|
|
104
|
+
oracle_lbtc: any;
|
|
105
|
+
}, callback: any): Promise<void>;
|
|
106
|
+
}
|