stackswap-front-api-test-02 0.10.2 → 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,248 @@
|
|
|
1
|
+
import { callReadOnlyFunction, cvToValue, FungibleConditionCode, listCV, makeStandardNonFungiblePostCondition, NonFungibleConditionCode, standardPrincipalCV, uintCV } from "@stacks/transactions";
|
|
2
|
+
import axios from "axios";
|
|
3
|
+
import { openContractCall } from "@stacks/connect";
|
|
4
|
+
import BigNumber from "bignumber.js";
|
|
5
|
+
import { getPostConditionFromAsset, getReadOptions, getWriteOptions, num2decimal, numFormat_ } from "../util";
|
|
6
|
+
import { BaseToken, Token } from "./token.manager";
|
|
7
|
+
export class LBTCStakingManager {
|
|
8
|
+
constructor(stackswap) {
|
|
9
|
+
this.stackswap = stackswap;
|
|
10
|
+
}
|
|
11
|
+
async getStackingRoundFirstBlock(cycle) {
|
|
12
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_LOGIC_V3(), 'get-first-stacks-block-in-reward-cycle', [
|
|
13
|
+
uintCV(cycle)
|
|
14
|
+
]);
|
|
15
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
16
|
+
const result = cvToValue(result_raw);
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
async getStakingRound(block) {
|
|
20
|
+
try {
|
|
21
|
+
const options = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_LOGIC_V3(), 'get-reward-cycle', [
|
|
22
|
+
uintCV(block),
|
|
23
|
+
]);
|
|
24
|
+
const result = await callReadOnlyFunction(options);
|
|
25
|
+
return cvToValue(result).value;
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async getCurrentStakingRound() {
|
|
32
|
+
const bh = await this.stackswap.getCurrentBlocks();
|
|
33
|
+
return await this.getStakingRound(bh.tenure_block_height);
|
|
34
|
+
}
|
|
35
|
+
async getStaker() {
|
|
36
|
+
try {
|
|
37
|
+
const round = Number(await this.getCurrentStakingRound());
|
|
38
|
+
const options = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_DATA_V3(), 'get-staker', [
|
|
39
|
+
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
40
|
+
]);
|
|
41
|
+
const result = await callReadOnlyFunction(options);
|
|
42
|
+
const res = cvToValue(result).value;
|
|
43
|
+
const unclaimedList = [];
|
|
44
|
+
const stakedList = [];
|
|
45
|
+
for (const unclaimedElement of res.staked_list.value) {
|
|
46
|
+
if (Number(unclaimedElement.value) < Number(round)) {
|
|
47
|
+
unclaimedList.push(unclaimedElement.value);
|
|
48
|
+
}
|
|
49
|
+
stakedList.push(unclaimedElement.value);
|
|
50
|
+
}
|
|
51
|
+
return { unclaimedList, amount: res.amountReturn.value, stakedList };
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
return { unclaimedList: [], amount: '0', stakedList: [] };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async getRoundData(round) {
|
|
58
|
+
try {
|
|
59
|
+
const options = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_DATA_V3(), 'get-staking-stats-at-cycle', [
|
|
60
|
+
uintCV(round),
|
|
61
|
+
]);
|
|
62
|
+
const result = await callReadOnlyFunction(options);
|
|
63
|
+
const res = cvToValue(result).value;
|
|
64
|
+
return { rewardBase: res.amountRewardBase.value, amount: res.amountReturn.value, value: res.amountlBTC.value };
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
return { rewardBase: '0', amount: '0', value: '0' };
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async getRoundDataDefault(round) {
|
|
71
|
+
try {
|
|
72
|
+
const options = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_STSW_STACKING_DATA_V2(), 'get-staking-stats-at-cycle-or-default', [
|
|
73
|
+
uintCV(round),
|
|
74
|
+
]);
|
|
75
|
+
const result = await callReadOnlyFunction(options);
|
|
76
|
+
const res = cvToValue(result).value;
|
|
77
|
+
return { rewardBase: res.amountRewardBase.value, amount: res.amountReturn.value, value: res.amountlBTC.value };
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
return { amount: '0', value: '0', rewardBase: '0' };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async getLBTCNFT() {
|
|
84
|
+
const url = this.stackswap.config.STACKS_API_URL() + `/extended/v1/tokens/nft/holdings?principal=${this.stackswap.getSenderAddress()}&asset_identifiers=${this.stackswap.config.STACKSWAP_ADDRESS()}.${this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_DATA_V3()}::lBTC-staking-vault`;
|
|
85
|
+
const result = await axios.get(url);
|
|
86
|
+
const nfts = [];
|
|
87
|
+
try {
|
|
88
|
+
for (const resultElement of result.data.results) {
|
|
89
|
+
nfts.push(resultElement.value.repr);
|
|
90
|
+
}
|
|
91
|
+
return nfts;
|
|
92
|
+
}
|
|
93
|
+
catch (e) {
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
async getReward(round_id) {
|
|
98
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_LOGIC_V3(), 'get-staking-reward-per-user', [
|
|
99
|
+
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
100
|
+
uintCV(round_id)
|
|
101
|
+
]);
|
|
102
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
103
|
+
const result = cvToValue(result_raw);
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
async getClaimRewardList(nfts) {
|
|
107
|
+
let res_dict = {};
|
|
108
|
+
let id_list = [];
|
|
109
|
+
for (const nft of nfts) {
|
|
110
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_DATA_V3(), 'get-staking-vault', [
|
|
111
|
+
uintCV(nft)
|
|
112
|
+
]);
|
|
113
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
114
|
+
const result = cvToValue(result_raw);
|
|
115
|
+
res_dict[nft] = result;
|
|
116
|
+
id_list.push(nft);
|
|
117
|
+
}
|
|
118
|
+
return [id_list, res_dict];
|
|
119
|
+
}
|
|
120
|
+
async txStake(invest_amt, period_month, callback = null) {
|
|
121
|
+
const invest_amt_bn = new BigNumber(10 ** 8).multipliedBy(invest_amt).toFixed(0).toString();
|
|
122
|
+
const postConditions = [];
|
|
123
|
+
postConditions.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, invest_amt_bn, FungibleConditionCode.Equal));
|
|
124
|
+
const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_LOGIC_V3(), 'stake-tokens', [
|
|
125
|
+
uintCV(invest_amt_bn), uintCV(period_month)
|
|
126
|
+
], postConditions, callback);
|
|
127
|
+
await openContractCall(function_option);
|
|
128
|
+
}
|
|
129
|
+
async txClaim(round_id, stsw_amount, callback = null) {
|
|
130
|
+
const post_condition = [await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_DATA_V3(), this.stackswap.config.BASE_STSW_DATA().addr, stsw_amount, FungibleConditionCode.Equal)];
|
|
131
|
+
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));
|
|
132
|
+
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));
|
|
133
|
+
post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STSW_LBTC_LP(), this.stackswap.config.BASE_STSW_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
|
|
134
|
+
post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STSW_LBTC_LP(), this.stackswap.config.BASE_LBTC_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
|
|
135
|
+
post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, stsw_amount, FungibleConditionCode.Equal));
|
|
136
|
+
const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_REWARD_BALANCER(), 'CLAIM_FROM_LBTC_STAKING', [
|
|
137
|
+
uintCV(round_id),
|
|
138
|
+
], post_condition, callback);
|
|
139
|
+
await openContractCall(function_option);
|
|
140
|
+
}
|
|
141
|
+
async txUnstake(index, callback = null) {
|
|
142
|
+
const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_LOGIC_V3(), 'unstake-tokens', [uintCV(index)], [], callback);
|
|
143
|
+
await openContractCall(function_option);
|
|
144
|
+
}
|
|
145
|
+
async txReclaim(index, amountSTX, callback = null) {
|
|
146
|
+
const post_conditions = [];
|
|
147
|
+
const assetString = `${this.stackswap.config.STACKSWAP_ADDRESS()}.${this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_DATA_V3()}::lBTC-staking-vault`;
|
|
148
|
+
post_conditions.push(await makeStandardNonFungiblePostCondition(this.stackswap.getSenderAddress(), NonFungibleConditionCode.Sends, assetString, uintCV(index)));
|
|
149
|
+
post_conditions.push(await getPostConditionFromAsset(this.stackswap, `${this.stackswap.config.STACKSWAP_ADDRESS()}.${this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_DATA_V3()}`, this.stackswap.config.BASE_LBTC_DATA().addr, amountSTX, FungibleConditionCode.Equal));
|
|
150
|
+
const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_LOGIC_V3(), 'reclaim-tokens', [uintCV(index)], post_conditions, callback);
|
|
151
|
+
await openContractCall(function_option);
|
|
152
|
+
}
|
|
153
|
+
async getRewardFromList(reward_list) {
|
|
154
|
+
if (reward_list.length === 0) {
|
|
155
|
+
return 0;
|
|
156
|
+
}
|
|
157
|
+
const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_LOGIC_V3(), 'get-staking-reward-from-list', [
|
|
158
|
+
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
159
|
+
listCV(reward_list),
|
|
160
|
+
]);
|
|
161
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
162
|
+
const result = cvToValue(result_raw);
|
|
163
|
+
return result.rewardSum.value;
|
|
164
|
+
}
|
|
165
|
+
async getRewardOneByOne(unclaimed_list) {
|
|
166
|
+
const num_list = [];
|
|
167
|
+
for (const unclaimed of unclaimed_list) {
|
|
168
|
+
num_list.push(uintCV(unclaimed));
|
|
169
|
+
}
|
|
170
|
+
let reward_num = new BigNumber(0);
|
|
171
|
+
try {
|
|
172
|
+
for (let i = 0; i < num_list.length; i++) {
|
|
173
|
+
const result = await this.getRewardFromList(num_list.slice(i, i + 4 < num_list.length ? i + 4 : num_list.length));
|
|
174
|
+
reward_num = reward_num.plus(result);
|
|
175
|
+
}
|
|
176
|
+
return num2decimal(reward_num.toString(), 6);
|
|
177
|
+
}
|
|
178
|
+
catch (e) {
|
|
179
|
+
return num2decimal(reward_num.toString(), 6);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
async getRewardTotal(unclaimed_list, once = 4) {
|
|
183
|
+
const num_list = [];
|
|
184
|
+
for (const unclaimed of unclaimed_list) {
|
|
185
|
+
num_list.push(uintCV(unclaimed));
|
|
186
|
+
}
|
|
187
|
+
let reward_num = new BigNumber(0);
|
|
188
|
+
try {
|
|
189
|
+
for (let i = 0; i < num_list.length; i += once) {
|
|
190
|
+
const result = await this.getRewardFromList(num_list.slice(i, i + once < num_list.length ? i + once : num_list.length));
|
|
191
|
+
reward_num = reward_num.plus(result);
|
|
192
|
+
}
|
|
193
|
+
return num2decimal(reward_num.toString(), 6);
|
|
194
|
+
}
|
|
195
|
+
catch (e) {
|
|
196
|
+
return num2decimal(reward_num.toString(), 6);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
async getlbtcStakingData(round_input = -1, block_height_input = "", price_dict = {}, tvl_lbtc_input = "") {
|
|
200
|
+
let bh = "";
|
|
201
|
+
if (block_height_input != "") {
|
|
202
|
+
bh = block_height_input;
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
bh = (await this.stackswap.getCurrentBlocks()).tenure_block_height;
|
|
206
|
+
}
|
|
207
|
+
const block_height = Number(bh);
|
|
208
|
+
const round = round_input < 0 ? Math.floor((block_height - 38083) / 4320) : round_input;
|
|
209
|
+
const round_add = round_input < 0 ? 1 : 0;
|
|
210
|
+
const round_data = await this.getRoundData(round + round_add);
|
|
211
|
+
const tvl_apr = round_data.value;
|
|
212
|
+
const round_reward = round_data.rewardBase;
|
|
213
|
+
const current_round = Math.floor((block_height - 38083) / 4320);
|
|
214
|
+
const this_round_start_block = round * 4320 + 38083;
|
|
215
|
+
const next_round_start_block = (current_round) * 4320 + 38083;
|
|
216
|
+
const next_round_end_block = (current_round + 1) * 4320 + 38083 - 1;
|
|
217
|
+
const oracle_stsw = price_dict.stsw ? price_dict.stsw : num2decimal((await this.stackswap.lbtcManager.getPrice('STSW'))['last-price'].value, 6);
|
|
218
|
+
const oracle_lbtc = price_dict.lbtc ? price_dict.lbtc : num2decimal((await this.stackswap.lbtcManager.getPrice('lBTC'))['last-price'].value, 6);
|
|
219
|
+
const tvl_lbtc = tvl_lbtc_input != "" ? tvl_lbtc_input : await this.stackswap.tokenManager.getBalanceOf(Token.getBaseTokens(this.stackswap, BaseToken.lBTC), this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_DATA_V3());
|
|
220
|
+
const apr_bn = new BigNumber(round_reward).multipliedBy(10 ** 4).multipliedBy(oracle_stsw).dividedBy(new BigNumber(tvl_apr).plus(1)).dividedBy(oracle_lbtc);
|
|
221
|
+
const max_apr = numFormat_(apr_bn.multipliedBy(8).toString(), 3);
|
|
222
|
+
const min_apr = numFormat_(apr_bn.toString(), 3);
|
|
223
|
+
const tvl_usd = numFormat_(new BigNumber(tvl_lbtc).multipliedBy(oracle_lbtc).div(10 ** 8).toString(), 2);
|
|
224
|
+
return { bh, round, round_data, tvl_apr, round_reward, this_round_start_block, next_round_start_block, next_round_end_block, max_apr, min_apr, tvl_usd, tvl_lbtc };
|
|
225
|
+
}
|
|
226
|
+
async getUserStakingData() {
|
|
227
|
+
const staker_info = await this.getStaker();
|
|
228
|
+
const user_staked_amount = staker_info.amount;
|
|
229
|
+
const stake_lbtc_claim_round_list = staker_info.unclaimedList;
|
|
230
|
+
const total_reward = await this.getRewardTotal(staker_info.unclaimedList);
|
|
231
|
+
return { user_staked_amount, stake_lbtc_claim_round_list, total_reward };
|
|
232
|
+
}
|
|
233
|
+
async getUserInfoRound(cycle, user) {
|
|
234
|
+
try {
|
|
235
|
+
const options = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_LBTC_STACKING_DATA_V3(), 'get-staker-at-cycle', [
|
|
236
|
+
uintCV(cycle),
|
|
237
|
+
standardPrincipalCV(user),
|
|
238
|
+
]);
|
|
239
|
+
const result = await callReadOnlyFunction(options);
|
|
240
|
+
const res = cvToValue(result).value;
|
|
241
|
+
return { amount: res.amountReturn.value, value: res.amountlBTC.value };
|
|
242
|
+
}
|
|
243
|
+
catch (e) {
|
|
244
|
+
return { amount: '0', value: '0' };
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=lbtcstaking.manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lbtcstaking.manager.js","sourceRoot":"","sources":["../../../../src/stackswap/manager/lbtcstaking.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { StackswapAPI } from "../../index";
|
|
2
|
+
export declare class MultisigManager {
|
|
3
|
+
stackswap: StackswapAPI;
|
|
4
|
+
constructor(stackswap: StackswapAPI);
|
|
5
|
+
deposit_vote_multisig(vote: boolean): Promise<void>;
|
|
6
|
+
withdraw_vote_multisig(vote: boolean): Promise<void>;
|
|
7
|
+
deposit_multisig(amount: string): Promise<void>;
|
|
8
|
+
withdraw_multisig(addr: string, amount: string): Promise<void>;
|
|
9
|
+
getMultisigSTSWAmount(): Promise<any>;
|
|
10
|
+
getMultisigResult(functionName: string): Promise<any>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { openContractCall } from "@stacks/connect";
|
|
2
|
+
import { callReadOnlyFunction, cvToValue, falseCV, FungibleConditionCode, trueCV, uintCV } from "@stacks/transactions";
|
|
3
|
+
import { getPostConditionFromAsset, getReadOptions, getWriteOptions, parseAddressToCV } from "../util";
|
|
4
|
+
export class MultisigManager {
|
|
5
|
+
constructor(stackswap) {
|
|
6
|
+
this.stackswap = stackswap;
|
|
7
|
+
}
|
|
8
|
+
async deposit_vote_multisig(vote) {
|
|
9
|
+
const function_option = getWriteOptions(this.stackswap, 'SPVRC3RHFD58B2PY1HZD2V71THPW7G445WBRCQYW.octopus_v01', 'deposit-vote', [
|
|
10
|
+
vote ? trueCV() : falseCV()
|
|
11
|
+
], []);
|
|
12
|
+
await openContractCall(function_option);
|
|
13
|
+
}
|
|
14
|
+
async withdraw_vote_multisig(vote) {
|
|
15
|
+
const function_option = getWriteOptions(this.stackswap, 'SPVRC3RHFD58B2PY1HZD2V71THPW7G445WBRCQYW.octopus_v01', 'withdraw-vote', [
|
|
16
|
+
vote ? trueCV() : falseCV()
|
|
17
|
+
], []);
|
|
18
|
+
await openContractCall(function_option);
|
|
19
|
+
}
|
|
20
|
+
async deposit_multisig(amount) {
|
|
21
|
+
const post_condition = [await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, amount, FungibleConditionCode.Equal)];
|
|
22
|
+
const function_option = getWriteOptions(this.stackswap, 'SPVRC3RHFD58B2PY1HZD2V71THPW7G445WBRCQYW.octopus_v01', 'deposit', [
|
|
23
|
+
uintCV(amount)
|
|
24
|
+
], post_condition);
|
|
25
|
+
await openContractCall(function_option);
|
|
26
|
+
}
|
|
27
|
+
async withdraw_multisig(addr, amount) {
|
|
28
|
+
const post_condition = [await getPostConditionFromAsset(this.stackswap, 'SPVRC3RHFD58B2PY1HZD2V71THPW7G445WBRCQYW.octopus_v01', this.stackswap.config.BASE_STSW_DATA().addr, amount, FungibleConditionCode.Equal)];
|
|
29
|
+
const function_option = getWriteOptions(this.stackswap, 'SPVRC3RHFD58B2PY1HZD2V71THPW7G445WBRCQYW.octopus_v01', 'withdraw', [
|
|
30
|
+
parseAddressToCV(addr), uintCV(amount)
|
|
31
|
+
], post_condition);
|
|
32
|
+
await openContractCall(function_option);
|
|
33
|
+
}
|
|
34
|
+
async getMultisigSTSWAmount() {
|
|
35
|
+
const pair_details_options = getReadOptions(this.stackswap, this.stackswap.config.BASE_STSW_DATA().addr, 'get-balance', [parseAddressToCV('SPVRC3RHFD58B2PY1HZD2V71THPW7G445WBRCQYW.octopus_v01')]);
|
|
36
|
+
try {
|
|
37
|
+
const result = await callReadOnlyFunction(pair_details_options);
|
|
38
|
+
return cvToValue(result).value;
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
return '0';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async getMultisigResult(functionName) {
|
|
45
|
+
const pair_details_options = getReadOptions(this.stackswap, 'SPVRC3RHFD58B2PY1HZD2V71THPW7G445WBRCQYW.octopus_v01', functionName, []);
|
|
46
|
+
const result = await callReadOnlyFunction(pair_details_options);
|
|
47
|
+
return cvToValue(result);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=multisig.manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multisig.manager.js","sourceRoot":"","sources":["../../../../src/stackswap/manager/multisig.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { StackswapAPI } from "../../index";
|
|
2
|
+
import { TupleCV, NonFungibleConditionCode } from "@stacks/transactions";
|
|
3
|
+
export declare class NftManager {
|
|
4
|
+
stackswap: StackswapAPI;
|
|
5
|
+
constructor(stackswap: StackswapAPI);
|
|
6
|
+
getUserNFTListFromContract(contract_address: string, holderAddress?: string): Promise<string[]>;
|
|
7
|
+
getUserNFTList(nft_asset_name: string, holderAddress?: string): Promise<string[]>;
|
|
8
|
+
getNFTAsset(tokenStr: string): Promise<string>;
|
|
9
|
+
getPostConditionFromAssetNFT(account: string, tokenStr: string, condition: NonFungibleConditionCode, id: string): Promise<import("@stacks/transactions").NonFungiblePostCondition>;
|
|
10
|
+
mintNFT(price: string | number, addr: string, callback?: any): Promise<void>;
|
|
11
|
+
batchMintNFT(price: string | number, addr: string, count: number, callback?: any): Promise<void>;
|
|
12
|
+
mintNFT2(mint_fee: number, callback?: any): Promise<void>;
|
|
13
|
+
batchSetMintPass(lists: TupleCV[], addr: string, callback?: any): Promise<void>;
|
|
14
|
+
listInUstx(id: number, price: string, comm?: string, callback?: any): Promise<void>;
|
|
15
|
+
unlistInUstx(id: number, callback?: any): Promise<void>;
|
|
16
|
+
buyInUstx(id: number, price: number, owner: string, comm?: string, callback?: any): Promise<void>;
|
|
17
|
+
reTouchNFT(id: number, amount: string, callback?: any): Promise<void>;
|
|
18
|
+
regressNFT(id: number, price?: string, callback?: any): Promise<void>;
|
|
19
|
+
getNFTData(id: number): Promise<any>;
|
|
20
|
+
getOwner(id: number): Promise<any>;
|
|
21
|
+
getMintPass(contract: string): Promise<any>;
|
|
22
|
+
getPassBalance(contract: string): Promise<any>;
|
|
23
|
+
getReserveAmount(id: number): Promise<any>;
|
|
24
|
+
getTokenURI(id: number): Promise<any>;
|
|
25
|
+
getTotalList(): Promise<any>;
|
|
26
|
+
getMarketList(): Promise<any>;
|
|
27
|
+
getMarketListing(id: number): Promise<any>;
|
|
28
|
+
getPASSData(isGold: boolean): Promise<{
|
|
29
|
+
id: number;
|
|
30
|
+
name: string;
|
|
31
|
+
img_url: string;
|
|
32
|
+
json_url: string;
|
|
33
|
+
desc: string;
|
|
34
|
+
attr: {};
|
|
35
|
+
price: number;
|
|
36
|
+
owner: string;
|
|
37
|
+
locked_amt: number;
|
|
38
|
+
addr: string;
|
|
39
|
+
contract_name: string;
|
|
40
|
+
}>;
|
|
41
|
+
getNFTDataFromID(id_: number): Promise<{
|
|
42
|
+
id: number;
|
|
43
|
+
name: string;
|
|
44
|
+
img_url: string;
|
|
45
|
+
json_url: string;
|
|
46
|
+
desc: string;
|
|
47
|
+
attr: {
|
|
48
|
+
reTouch: number;
|
|
49
|
+
};
|
|
50
|
+
price: number;
|
|
51
|
+
owner: string;
|
|
52
|
+
locked_amt: number;
|
|
53
|
+
contract_name: string;
|
|
54
|
+
}>;
|
|
55
|
+
}
|