stackswap-front-api-test-02 1.0.35

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 (131) hide show
  1. package/README.md +10 -0
  2. package/dist/506.index.umd.js +1 -0
  3. package/dist/esm/index.d.ts +77 -0
  4. package/dist/esm/index.js +110 -0
  5. package/dist/esm/index.js.map +1 -0
  6. package/dist/esm/stackswap/config.d.ts +84 -0
  7. package/dist/esm/stackswap/config.js +123 -0
  8. package/dist/esm/stackswap/config.js.map +1 -0
  9. package/dist/esm/stackswap/main.d.ts +1 -0
  10. package/dist/esm/stackswap/main.js +5 -0
  11. package/dist/esm/stackswap/main.js.map +1 -0
  12. package/dist/esm/stackswap/manager/farm.manager.d.ts +37 -0
  13. package/dist/esm/stackswap/manager/farm.manager.js +220 -0
  14. package/dist/esm/stackswap/manager/farm.manager.js.map +1 -0
  15. package/dist/esm/stackswap/manager/farm2.manager.d.ts +37 -0
  16. package/dist/esm/stackswap/manager/farm2.manager.js +294 -0
  17. package/dist/esm/stackswap/manager/farm2.manager.js.map +1 -0
  18. package/dist/esm/stackswap/manager/governance.manager.d.ts +9 -0
  19. package/dist/esm/stackswap/manager/governance.manager.js +54 -0
  20. package/dist/esm/stackswap/manager/governance.manager.js.map +1 -0
  21. package/dist/esm/stackswap/manager/launchpad.manager.d.ts +13 -0
  22. package/dist/esm/stackswap/manager/launchpad.manager.js +148 -0
  23. package/dist/esm/stackswap/manager/launchpad.manager.js.map +1 -0
  24. package/dist/esm/stackswap/manager/lbtc.manager.d.ts +31 -0
  25. package/dist/esm/stackswap/manager/lbtc.manager.js +327 -0
  26. package/dist/esm/stackswap/manager/lbtc.manager.js.map +1 -0
  27. package/dist/esm/stackswap/manager/multisig.manager.d.ts +11 -0
  28. package/dist/esm/stackswap/manager/multisig.manager.js +52 -0
  29. package/dist/esm/stackswap/manager/multisig.manager.js.map +1 -0
  30. package/dist/esm/stackswap/manager/nft.manager.d.ts +52 -0
  31. package/dist/esm/stackswap/manager/nft.manager.js +244 -0
  32. package/dist/esm/stackswap/manager/nft.manager.js.map +1 -0
  33. package/dist/esm/stackswap/manager/operator.manager.d.ts +17 -0
  34. package/dist/esm/stackswap/manager/operator.manager.js +86 -0
  35. package/dist/esm/stackswap/manager/operator.manager.js.map +1 -0
  36. package/dist/esm/stackswap/manager/other.manager.d.ts +9 -0
  37. package/dist/esm/stackswap/manager/other.manager.js +48 -0
  38. package/dist/esm/stackswap/manager/other.manager.js.map +1 -0
  39. package/dist/esm/stackswap/manager/pool.manager.d.ts +33 -0
  40. package/dist/esm/stackswap/manager/pool.manager.js +160 -0
  41. package/dist/esm/stackswap/manager/pool.manager.js.map +1 -0
  42. package/dist/esm/stackswap/manager/poxl.manager.d.ts +16 -0
  43. package/dist/esm/stackswap/manager/poxl.manager.js +72 -0
  44. package/dist/esm/stackswap/manager/poxl.manager.js.map +1 -0
  45. package/dist/esm/stackswap/manager/staking.manager.d.ts +25 -0
  46. package/dist/esm/stackswap/manager/staking.manager.js +234 -0
  47. package/dist/esm/stackswap/manager/staking.manager.js.map +1 -0
  48. package/dist/esm/stackswap/manager/swap.manager.d.ts +35 -0
  49. package/dist/esm/stackswap/manager/swap.manager.js +291 -0
  50. package/dist/esm/stackswap/manager/swap.manager.js.map +1 -0
  51. package/dist/esm/stackswap/manager/token.manager.d.ts +31 -0
  52. package/dist/esm/stackswap/manager/token.manager.js +126 -0
  53. package/dist/esm/stackswap/manager/token.manager.js.map +1 -0
  54. package/dist/esm/stackswap/util.d.ts +37 -0
  55. package/dist/esm/stackswap/util.js +240 -0
  56. package/dist/esm/stackswap/util.js.map +1 -0
  57. package/dist/index.d.ts +77 -0
  58. package/dist/index.js +117 -0
  59. package/dist/index.js.map +1 -0
  60. package/dist/index.umd.js +2 -0
  61. package/dist/index.umd.js.LICENSE.txt +10 -0
  62. package/dist/stackswap/config.d.ts +84 -0
  63. package/dist/stackswap/config.js +127 -0
  64. package/dist/stackswap/config.js.map +1 -0
  65. package/dist/stackswap/main.d.ts +1 -0
  66. package/dist/stackswap/main.js +7 -0
  67. package/dist/stackswap/main.js.map +1 -0
  68. package/dist/stackswap/manager/farm.manager.d.ts +37 -0
  69. package/dist/stackswap/manager/farm.manager.js +228 -0
  70. package/dist/stackswap/manager/farm.manager.js.map +1 -0
  71. package/dist/stackswap/manager/farm2.manager.d.ts +37 -0
  72. package/dist/stackswap/manager/farm2.manager.js +301 -0
  73. package/dist/stackswap/manager/farm2.manager.js.map +1 -0
  74. package/dist/stackswap/manager/governance.manager.d.ts +9 -0
  75. package/dist/stackswap/manager/governance.manager.js +61 -0
  76. package/dist/stackswap/manager/governance.manager.js.map +1 -0
  77. package/dist/stackswap/manager/launchpad.manager.d.ts +13 -0
  78. package/dist/stackswap/manager/launchpad.manager.js +152 -0
  79. package/dist/stackswap/manager/launchpad.manager.js.map +1 -0
  80. package/dist/stackswap/manager/lbtc.manager.d.ts +31 -0
  81. package/dist/stackswap/manager/lbtc.manager.js +334 -0
  82. package/dist/stackswap/manager/lbtc.manager.js.map +1 -0
  83. package/dist/stackswap/manager/multisig.manager.d.ts +11 -0
  84. package/dist/stackswap/manager/multisig.manager.js +56 -0
  85. package/dist/stackswap/manager/multisig.manager.js.map +1 -0
  86. package/dist/stackswap/manager/nft.manager.d.ts +52 -0
  87. package/dist/stackswap/manager/nft.manager.js +251 -0
  88. package/dist/stackswap/manager/nft.manager.js.map +1 -0
  89. package/dist/stackswap/manager/operator.manager.d.ts +17 -0
  90. package/dist/stackswap/manager/operator.manager.js +93 -0
  91. package/dist/stackswap/manager/operator.manager.js.map +1 -0
  92. package/dist/stackswap/manager/other.manager.d.ts +9 -0
  93. package/dist/stackswap/manager/other.manager.js +55 -0
  94. package/dist/stackswap/manager/other.manager.js.map +1 -0
  95. package/dist/stackswap/manager/pool.manager.d.ts +33 -0
  96. package/dist/stackswap/manager/pool.manager.js +168 -0
  97. package/dist/stackswap/manager/pool.manager.js.map +1 -0
  98. package/dist/stackswap/manager/poxl.manager.d.ts +16 -0
  99. package/dist/stackswap/manager/poxl.manager.js +79 -0
  100. package/dist/stackswap/manager/poxl.manager.js.map +1 -0
  101. package/dist/stackswap/manager/staking.manager.d.ts +25 -0
  102. package/dist/stackswap/manager/staking.manager.js +241 -0
  103. package/dist/stackswap/manager/staking.manager.js.map +1 -0
  104. package/dist/stackswap/manager/swap.manager.d.ts +35 -0
  105. package/dist/stackswap/manager/swap.manager.js +298 -0
  106. package/dist/stackswap/manager/swap.manager.js.map +1 -0
  107. package/dist/stackswap/manager/token.manager.d.ts +31 -0
  108. package/dist/stackswap/manager/token.manager.js +134 -0
  109. package/dist/stackswap/manager/token.manager.js.map +1 -0
  110. package/dist/stackswap/util.d.ts +37 -0
  111. package/dist/stackswap/util.js +259 -0
  112. package/dist/stackswap/util.js.map +1 -0
  113. package/package.json +43 -0
  114. package/src/index.ts +165 -0
  115. package/src/stackswap/config.ts +202 -0
  116. package/src/stackswap/main.ts +6 -0
  117. package/src/stackswap/manager/farm.manager.ts +310 -0
  118. package/src/stackswap/manager/farm2.manager.ts +407 -0
  119. package/src/stackswap/manager/governance.manager.ts +95 -0
  120. package/src/stackswap/manager/launchpad.manager.ts +190 -0
  121. package/src/stackswap/manager/lbtc.manager.ts +566 -0
  122. package/src/stackswap/manager/multisig.manager.ts +87 -0
  123. package/src/stackswap/manager/nft.manager.ts +311 -0
  124. package/src/stackswap/manager/operator.manager.ts +123 -0
  125. package/src/stackswap/manager/other.manager.ts +71 -0
  126. package/src/stackswap/manager/pool.manager.ts +188 -0
  127. package/src/stackswap/manager/poxl.manager.ts +99 -0
  128. package/src/stackswap/manager/staking.manager.ts +321 -0
  129. package/src/stackswap/manager/swap.manager.ts +351 -0
  130. package/src/stackswap/manager/token.manager.ts +156 -0
  131. package/src/stackswap/util.ts +269 -0
@@ -0,0 +1,220 @@
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
+ export class Farm {
6
+ constructor(pool, locked_token, TVL, APR, in_contract, cur_round) {
7
+ this.pool = pool;
8
+ this.locked_token = locked_token;
9
+ this.TVL = TVL;
10
+ this.APR = APR;
11
+ this.in_contract = in_contract;
12
+ this.cur_round = cur_round;
13
+ }
14
+ }
15
+ export class FarmManager {
16
+ constructor(stackswap) {
17
+ this.stackswap = stackswap;
18
+ }
19
+ async getFarmingRound(bh) {
20
+ try {
21
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-reward-cycle', [
22
+ uintCV(bh)
23
+ ]);
24
+ const result_raw = await callReadOnlyFunction(function_option);
25
+ const result = cvToValue(result_raw);
26
+ return result.value;
27
+ }
28
+ catch (e) {
29
+ return 0;
30
+ }
31
+ }
32
+ async getFarmingRoundFirstBlock(cycle) {
33
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-first-stacks-block-in-reward-cycle', [
34
+ uintCV(cycle)
35
+ ]);
36
+ const result_raw = await callReadOnlyFunction(function_option);
37
+ const result = cvToValue(result_raw);
38
+ return result;
39
+ }
40
+ async getFarmingStakerStatus(pool_address, cur_round) {
41
+ const address = pool_address.split('.');
42
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-staker', [
43
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
44
+ contractPrincipalCV(address[0], address[1]),
45
+ ]);
46
+ const result_raw = await callReadOnlyFunction(function_option);
47
+ const result = cvToValue(result_raw);
48
+ try {
49
+ const pooledToken = result.value.amountUstx.value;
50
+ const unclaimedList = [];
51
+ const stakedList = [];
52
+ for (const unclaimedElement of result.value.unclaimedList.value) {
53
+ if (unclaimedElement.value < cur_round && unclaimedElement.value <= this.stackswap.config.FARM_V1_END_CYCLE()) {
54
+ unclaimedList.push(unclaimedElement.value);
55
+ }
56
+ stakedList.push(unclaimedElement.value);
57
+ }
58
+ return { pooledToken, unclaimedList, stakedList };
59
+ }
60
+ catch (e) {
61
+ return { pooledToken: 0, unclaimedList: [], stakedList: [] };
62
+ }
63
+ }
64
+ async getFarmBalance(token) {
65
+ const pair_details_options = getReadOptions(this.stackswap, token.addr, 'get-balance', [contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING())]);
66
+ try {
67
+ const result = await callReadOnlyFunction(pair_details_options);
68
+ return cvToValue(result).value;
69
+ }
70
+ catch (e) {
71
+ return 0;
72
+ }
73
+ }
74
+ async getPoolSTXPriceFarm(pair, token_x, token_y, farm_total) {
75
+ const x_token_addr = token_x.addr;
76
+ const y_token_addr = token_y.addr;
77
+ let total_balacne = new BigNumber(-1);
78
+ if (x_token_addr === this.stackswap.config.BASE_WSTX_DATA().addr) {
79
+ total_balacne = (new BigNumber(pair['balance-x'].value).multipliedBy(farm_total).dividedBy(pair['shares-total'].value).dividedBy(new BigNumber(10 ** token_x.decimal))).multipliedBy(2);
80
+ }
81
+ else if (y_token_addr === this.stackswap.config.BASE_WSTX_DATA().addr) {
82
+ total_balacne = (new BigNumber(pair['balance-y'].value).multipliedBy(farm_total).dividedBy(pair['shares-total'].value).dividedBy(new BigNumber(10 ** token_y.decimal))).multipliedBy(2);
83
+ }
84
+ return total_balacne;
85
+ }
86
+ async getFarmingTotalStatusCycle(cycle) {
87
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-staking-stats-at-cycle', [
88
+ uintCV(cycle),
89
+ ]);
90
+ const result_raw = await callReadOnlyFunction(function_option);
91
+ const result = cvToValue(result_raw);
92
+ try {
93
+ return new BigNumber(result.value.amountUstx.value).multipliedBy(2).toFixed(0).toString();
94
+ }
95
+ catch (e) {
96
+ return '0';
97
+ }
98
+ }
99
+ async getFarmingTotalValue(pool_address) {
100
+ try {
101
+ const address = pool_address.split('.');
102
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-farm-info', [
103
+ contractPrincipalCV(address[0], address[1]),
104
+ ]);
105
+ const result_raw = await callReadOnlyFunction(function_option);
106
+ const result = cvToValue(result_raw);
107
+ return result.value;
108
+ }
109
+ catch (e) {
110
+ return 0;
111
+ }
112
+ }
113
+ async getFarmingUserRewardPerCycle(pool_address, cycle) {
114
+ const address = pool_address.split('.');
115
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-staking-reward-per-user', [
116
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
117
+ contractPrincipalCV(address[0], address[1]),
118
+ uintCV(cycle),
119
+ ]);
120
+ const result_raw = await callReadOnlyFunction(function_option);
121
+ const result = cvToValue(result_raw);
122
+ return result;
123
+ }
124
+ async getFarmingUserRewardTotal(pool_address) {
125
+ const address = pool_address.split('.');
126
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-farming-reward-total', [
127
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
128
+ contractPrincipalCV(address[0], address[1]),
129
+ ]);
130
+ const result_raw = await callReadOnlyFunction(function_option);
131
+ const result = cvToValue(result_raw);
132
+ return result;
133
+ }
134
+ async getFarmingUserRewardList(pool_address, unclaimed_list) {
135
+ const address = pool_address.split('.');
136
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-farming-reward-from-list', [
137
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
138
+ contractPrincipalCV(address[0], address[1]),
139
+ listCV(unclaimed_list),
140
+ ]);
141
+ const result_raw = await callReadOnlyFunction(function_option);
142
+ const result = cvToValue(result_raw);
143
+ return result;
144
+ }
145
+ async getFarmingRewardInfo(pool_address, cycle) {
146
+ const address = pool_address.split('.');
147
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'get-staker-at-cycle', [
148
+ uintCV(cycle),
149
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
150
+ contractPrincipalCV(address[0], address[1]),
151
+ ]);
152
+ const result_raw = await callReadOnlyFunction(function_option);
153
+ try {
154
+ const result = cvToValue(result_raw);
155
+ return result.value.toReturn.value;
156
+ }
157
+ catch (e) {
158
+ return '0';
159
+ }
160
+ }
161
+ async stakeFarmingContract(pool_address, amountTokens, lockPeriod, callback = null) {
162
+ const address = pool_address.split('.');
163
+ const amount = new BigNumber(amountTokens).multipliedBy(10 ** 6).toFixed(0).toString();
164
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'stake-tokens', [
165
+ uintCV(amount),
166
+ contractPrincipalCV(address[0], address[1]),
167
+ uintCV(lockPeriod),
168
+ ], [await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), pool_address, amount, FungibleConditionCode.Equal)], callback);
169
+ await openContractCall(function_option);
170
+ }
171
+ async claimFarmingContract(pool_address, cycle, amount_STSW, amount_LP, callback = null) {
172
+ const address = pool_address.split('.');
173
+ const post_condition = [];
174
+ 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));
175
+ 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));
176
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'claim-staking-reward', [
177
+ uintCV(cycle),
178
+ contractPrincipalCV(address[0], address[1]),
179
+ ], post_condition, callback);
180
+ await openContractCall(function_option);
181
+ }
182
+ async unstakeFarmingContract(pool_address, cycle, amount_LP, callback = null) {
183
+ const address = pool_address.split('.');
184
+ const post_condition = [];
185
+ 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));
186
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'unstake-from-farming', [
187
+ uintCV(cycle),
188
+ contractPrincipalCV(address[0], address[1]),
189
+ ], post_condition, callback);
190
+ await openContractCall(function_option);
191
+ }
192
+ async getCurrentFarmingRound() {
193
+ const bh = await this.stackswap.getCurrentBlock();
194
+ return await this.getFarmingRound(bh);
195
+ }
196
+ async getRewardBalanceFromFarming(pool_addr, unclaimed_list) {
197
+ const num_list = [];
198
+ for (const unclaimed of unclaimed_list) {
199
+ num_list.push(uintCV(unclaimed));
200
+ }
201
+ const result = await this.getFarmingUserRewardList(pool_addr, num_list);
202
+ const reward = numFormat_(num2decimal(result.rewardSum.value, 6));
203
+ return reward;
204
+ }
205
+ getFarmingAPR(tvl, stsw_price) {
206
+ if (new BigNumber(tvl) <= new BigNumber(0)) {
207
+ const temp = new BigNumber(671731.200000).multipliedBy(52).multipliedBy(new BigNumber(stsw_price));
208
+ return temp.toFixed(3).toString();
209
+ }
210
+ else {
211
+ BigNumber.config({ DECIMAL_PLACES: 10 });
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
+ }
220
+ //# 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,37 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { StackswapAPI } from "../../index";
3
+ export declare class Farm2Manager {
4
+ stackswap: StackswapAPI;
5
+ constructor(stackswap: StackswapAPI);
6
+ getFarmingRound(bh: number): Promise<any>;
7
+ getFarmingRoundFirstBlock(cycle: number): Promise<any>;
8
+ isUserMigratable(pool_address: string): Promise<any>;
9
+ getPoolUSDPriceFarm(farm: any, farm_total: any, oracle_stx: any, oracle_stsw: any, oracle_lbtc: any): number;
10
+ getFarming(pair: any, token_x: any, token_y: any, farm_total: any): Promise<BigNumber>;
11
+ getFarmingStakerStatus(pool_address: string, cur_round: number): Promise<{
12
+ pooledToken: any;
13
+ unclaimedList: any[];
14
+ stakedList: any[];
15
+ }>;
16
+ getFarmingTotalStatusCycle(cycle: number): Promise<{
17
+ reward: any;
18
+ value: any;
19
+ }>;
20
+ getFarmingTotalPoolStatus(pool_address: string): Promise<{
21
+ amountLP: any;
22
+ weight: any;
23
+ }>;
24
+ getFarmingTotalPoolStatusCycle(pool_address: string, cycle: number): Promise<string>;
25
+ getFarmingTotalValue(pool_address: string): Promise<any>;
26
+ getFarmingUserRewardPerCycle(pool_address: string, cycle: number): Promise<any>;
27
+ getFarmingUserRewardList(pool_address: string, unclaimed_list: any): Promise<any>;
28
+ getFarmingRewardInfo(pool_address: string, cycle: number): Promise<any>;
29
+ migrateToVersion2(pool_address: string, callback?: any): Promise<void>;
30
+ stakeFarmingContract(pool_address: string, amountTokens: string, lockPeriod: number, callback?: any): Promise<void>;
31
+ getFarmBalance(token: any): Promise<any>;
32
+ claimFarmingContract(pool_address: string, cycle: number, amount_STSW: string, amount_LP: string, callback?: any): Promise<void>;
33
+ unstakeFarmingContract(pool_address: string, cycle: number, amount_LP: string, callback?: any): Promise<void>;
34
+ getCurrentFarmingRound(): Promise<any>;
35
+ getRewardBalanceFromFarming(pool_addr: string, unclaimed_list: any): Promise<string>;
36
+ getFarmingAPR(tvl: string, stsw_price: string, reward: string, weight: string): string;
37
+ }
@@ -0,0 +1,294 @@
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
+ export class Farm2Manager {
6
+ constructor(stackswap) {
7
+ this.stackswap = stackswap;
8
+ }
9
+ async getFarmingRound(bh) {
10
+ try {
11
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getRewardRound', [
12
+ uintCV(bh)
13
+ ]);
14
+ const result_raw = await callReadOnlyFunction(function_option);
15
+ const result = cvToValue(result_raw);
16
+ return result.value;
17
+ }
18
+ catch (e) {
19
+ return 0;
20
+ }
21
+ }
22
+ async getFarmingRoundFirstBlock(cycle) {
23
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getFirstBlockOfRound', [
24
+ uintCV(cycle)
25
+ ]);
26
+ const result_raw = await callReadOnlyFunction(function_option);
27
+ const result = cvToValue(result_raw);
28
+ return result;
29
+ }
30
+ async isUserMigratable(pool_address) {
31
+ const address = pool_address.split('.');
32
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'isUserMigratable', [
33
+ contractPrincipalCV(address[0], address[1]),
34
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
35
+ ]);
36
+ try {
37
+ const result_raw = await callReadOnlyFunction(function_option);
38
+ const result = cvToValue(result_raw);
39
+ return result;
40
+ }
41
+ catch (e) {
42
+ return true;
43
+ }
44
+ }
45
+ getPoolUSDPriceFarm(farm, farm_total, oracle_stx, oracle_stsw, oracle_lbtc) {
46
+ let tvl = 0;
47
+ switch (farm.BASE) {
48
+ case 'STX':
49
+ if (farm.token_x.symbol === farm.BASE) {
50
+ tvl = (new BigNumber(farm.pair['balance-x'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new BigNumber(10 ** 12))).multipliedBy(2).multipliedBy(new BigNumber(oracle_stx)).toNumber();
51
+ }
52
+ else {
53
+ tvl = (new BigNumber(farm.pair['balance-y'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new BigNumber(10 ** 12))).multipliedBy(2).multipliedBy(new BigNumber(oracle_stx)).toNumber();
54
+ }
55
+ break;
56
+ case 'STSW':
57
+ if (farm.token_x.symbol === farm.BASE) {
58
+ tvl = (new BigNumber(farm.pair['balance-x'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new BigNumber(10 ** 12))).multipliedBy(2).multipliedBy(new BigNumber(oracle_stsw)).toNumber();
59
+ }
60
+ else {
61
+ tvl = (new BigNumber(farm.pair['balance-y'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new BigNumber(10 ** 12))).multipliedBy(2).multipliedBy(new BigNumber(oracle_stsw)).toNumber();
62
+ }
63
+ break;
64
+ case 'lBTC':
65
+ if (farm.token_x.symbol === farm.BASE) {
66
+ tvl = (new BigNumber(farm.pair['balance-x'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new BigNumber(10 ** 14))).multipliedBy(2).multipliedBy(new BigNumber(oracle_lbtc)).toNumber();
67
+ }
68
+ else {
69
+ tvl = (new BigNumber(farm.pair['balance-y'].value).multipliedBy(farm_total).dividedBy(farm.pair['shares-total'].value).dividedBy(new BigNumber(10 ** 14))).multipliedBy(2).multipliedBy(new BigNumber(oracle_lbtc)).toNumber();
70
+ }
71
+ break;
72
+ default:
73
+ tvl = 0;
74
+ }
75
+ return tvl;
76
+ }
77
+ async getFarming(pair, token_x, token_y, farm_total) {
78
+ const x_token_addr = token_x.addr;
79
+ const y_token_addr = token_y.addr;
80
+ let total_balacne = new BigNumber(-1);
81
+ if (x_token_addr === this.stackswap.config.BASE_WSTX_DATA().addr) {
82
+ total_balacne = (new BigNumber(pair['balance-x'].value).multipliedBy(farm_total).dividedBy(pair['shares-total'].value).dividedBy(new BigNumber(10 ** token_x.decimal))).multipliedBy(2);
83
+ }
84
+ else if (y_token_addr === this.stackswap.config.BASE_WSTX_DATA().addr) {
85
+ total_balacne = (new BigNumber(pair['balance-y'].value).multipliedBy(farm_total).dividedBy(pair['shares-total'].value).dividedBy(new BigNumber(10 ** token_y.decimal))).multipliedBy(2);
86
+ }
87
+ return total_balacne;
88
+ }
89
+ async getFarmingStakerStatus(pool_address, cur_round) {
90
+ const address = pool_address.split('.');
91
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPUserData', [
92
+ contractPrincipalCV(address[0], address[1]),
93
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
94
+ ]);
95
+ const result_raw = await callReadOnlyFunction(function_option);
96
+ const result = cvToValue(result_raw);
97
+ try {
98
+ const pooledToken = result.value.amountLP.value;
99
+ const unclaimedList = [];
100
+ const stakedList = [];
101
+ for (const unclaimedElement of result.value.unclaimedList.value) {
102
+ if (unclaimedElement.value < cur_round) {
103
+ unclaimedList.push(unclaimedElement.value);
104
+ }
105
+ stakedList.push(unclaimedElement.value);
106
+ }
107
+ return { pooledToken, unclaimedList, stakedList };
108
+ }
109
+ catch (e) {
110
+ return { pooledToken: 0, unclaimedList: [], stakedList: [] };
111
+ }
112
+ }
113
+ async getFarmingTotalStatusCycle(cycle) {
114
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getTotalRoundDataOrDefault', [
115
+ uintCV(cycle),
116
+ ]);
117
+ const result_raw = await callReadOnlyFunction(function_option);
118
+ const result = cvToValue(result_raw);
119
+ try {
120
+ return {
121
+ reward: result.reward.value,
122
+ value: result.value.value
123
+ };
124
+ }
125
+ catch (e) {
126
+ return {
127
+ reward: 0,
128
+ value: 0
129
+ };
130
+ }
131
+ }
132
+ async getFarmingTotalPoolStatus(pool_address) {
133
+ const address = pool_address.split('.');
134
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPTotalData', [
135
+ contractPrincipalCV(address[0], address[1]),
136
+ ]);
137
+ const result_raw = await callReadOnlyFunction(function_option);
138
+ const result = cvToValue(result_raw);
139
+ try {
140
+ return { amountLP: result.value.amountLP.value, weight: result.value.weight.value };
141
+ }
142
+ catch (e) {
143
+ return { amountLP: '0', weight: '1' };
144
+ }
145
+ }
146
+ async getFarmingTotalPoolStatusCycle(pool_address, cycle) {
147
+ const address = pool_address.split('.');
148
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPRoundData', [
149
+ contractPrincipalCV(address[0], address[1]),
150
+ uintCV(cycle),
151
+ ]);
152
+ const result_raw = await callReadOnlyFunction(function_option);
153
+ const result = cvToValue(result_raw);
154
+ try {
155
+ return new BigNumber(result.value.amountUstx.value).multipliedBy(2).toFixed(0).toString();
156
+ }
157
+ catch (e) {
158
+ return '0';
159
+ }
160
+ }
161
+ async getFarmingTotalValue(pool_address) {
162
+ try {
163
+ const address = pool_address.split('.');
164
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPTotalData', [
165
+ contractPrincipalCV(address[0], address[1]),
166
+ ]);
167
+ const result_raw = await callReadOnlyFunction(function_option);
168
+ const result = cvToValue(result_raw);
169
+ return result.value;
170
+ }
171
+ catch (e) {
172
+ return 0;
173
+ }
174
+ }
175
+ async getFarmingUserRewardPerCycle(pool_address, cycle) {
176
+ const address = pool_address.split('.');
177
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getFarmingReward', [
178
+ contractPrincipalCV(address[0], address[1]),
179
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
180
+ uintCV(cycle),
181
+ ]);
182
+ const result_raw = await callReadOnlyFunction(function_option);
183
+ const result = cvToValue(result_raw);
184
+ return result;
185
+ }
186
+ async getFarmingUserRewardList(pool_address, unclaimed_list) {
187
+ const address = pool_address.split('.');
188
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getFarmingRewardFromList', [
189
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
190
+ contractPrincipalCV(address[0], address[1]),
191
+ listCV(unclaimed_list),
192
+ ]);
193
+ const result_raw = await callReadOnlyFunction(function_option);
194
+ const result = cvToValue(result_raw);
195
+ return result;
196
+ }
197
+ async getFarmingRewardInfo(pool_address, cycle) {
198
+ const address = pool_address.split('.');
199
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'getLPUserRoundData', [
200
+ contractPrincipalCV(address[0], address[1]),
201
+ standardPrincipalCV(this.stackswap.getSenderAddress()),
202
+ uintCV(cycle),
203
+ ]);
204
+ const result_raw = await callReadOnlyFunction(function_option);
205
+ const result = cvToValue(result_raw);
206
+ return result.value.returnLP.value;
207
+ }
208
+ async migrateToVersion2(pool_address, callback = null) {
209
+ const address = pool_address.split('.');
210
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'migrateFromVersion1', [
211
+ contractPrincipalCV(address[0], address[1]),
212
+ ], [], callback);
213
+ await openContractCall(function_option);
214
+ }
215
+ async stakeFarmingContract(pool_address, amountTokens, lockPeriod, callback = null) {
216
+ const address = pool_address.split('.');
217
+ const amount = new BigNumber(amountTokens).multipliedBy(10 ** 6).toFixed(0).toString();
218
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'stakeTokens', [
219
+ uintCV(amount),
220
+ contractPrincipalCV(address[0], address[1]),
221
+ uintCV(lockPeriod),
222
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
223
+ ], [await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), pool_address, amount, FungibleConditionCode.Equal)], callback);
224
+ await openContractCall(function_option);
225
+ }
226
+ async getFarmBalance(token) {
227
+ const pair_details_options = getReadOptions(this.stackswap, token.addr, 'get-balance', [contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING())]);
228
+ try {
229
+ const result = await callReadOnlyFunction(pair_details_options);
230
+ return cvToValue(result).value;
231
+ }
232
+ catch (e) {
233
+ return 0;
234
+ }
235
+ }
236
+ async claimFarmingContract(pool_address, cycle, amount_STSW, amount_LP, callback = null) {
237
+ const address = pool_address.split('.');
238
+ const post_condition = [];
239
+ 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));
240
+ 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));
241
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'claimStakingReward', [
242
+ uintCV(cycle),
243
+ contractPrincipalCV(address[0], address[1]),
244
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
245
+ ], post_condition, callback);
246
+ await openContractCall(function_option);
247
+ }
248
+ async unstakeFarmingContract(pool_address, cycle, amount_LP, callback = null) {
249
+ const address = pool_address.split('.');
250
+ const post_condition = [];
251
+ 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));
252
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_FARMING(), 'unstake-from-farming', [
253
+ uintCV(cycle),
254
+ contractPrincipalCV(address[0], address[1]),
255
+ ], post_condition, callback);
256
+ await openContractCall(function_option);
257
+ }
258
+ async getCurrentFarmingRound() {
259
+ const bh = Number(await this.stackswap.getCurrentBlock());
260
+ return await this.getFarmingRound(bh);
261
+ }
262
+ async getRewardBalanceFromFarming(pool_addr, unclaimed_list) {
263
+ const num_list = [];
264
+ for (const unclaimed of unclaimed_list) {
265
+ num_list.push(uintCV(unclaimed));
266
+ }
267
+ let reward_num = new BigNumber(0);
268
+ try {
269
+ for (let i = 0; i < num_list.length; i += 4) {
270
+ const result = await this.getFarmingUserRewardList(pool_addr, num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length));
271
+ reward_num = reward_num.plus(new BigNumber(result.rewardSum.value));
272
+ }
273
+ return numFormat_(num2decimal(reward_num.toString(), 6));
274
+ }
275
+ catch (e) {
276
+ return numFormat_(num2decimal(reward_num.toString(), 6));
277
+ }
278
+ }
279
+ getFarmingAPR(tvl, stsw_price, reward, weight) {
280
+ if (!tvl || new BigNumber(tvl) <= new BigNumber(0)) {
281
+ const temp = new BigNumber(reward).dividedBy(10 ** 6).multipliedBy(52).multipliedBy(stsw_price);
282
+ return temp.toFixed(3).toString();
283
+ }
284
+ else {
285
+ BigNumber.config({ DECIMAL_PLACES: 10 });
286
+ const tvl_bn = new BigNumber(tvl).multipliedBy(10 ** 12);
287
+ const reward_usd = new BigNumber(reward).multipliedBy(stsw_price);
288
+ const new_reward = reward_usd.div(tvl_bn);
289
+ const new_reward_apr = new_reward.multipliedBy(5200).multipliedBy(weight);
290
+ return new_reward_apr.toFixed(3).toString();
291
+ }
292
+ }
293
+ }
294
+ //# sourceMappingURL=farm2.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"farm2.manager.js","sourceRoot":"","sources":["../../../../src/stackswap/manager/farm2.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
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): Promise<any[]>;
7
+ txWithdrawVoting(proposal_id: number, callback?: any): Promise<void>;
8
+ txVote(proposal_id: number, vote_mode: string, vote_amount: any, callback?: any): Promise<void>;
9
+ }