stackswap-front-api-test-02 1.2.10 → 1.2.12
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/969.index.umd.js +1 -1
- package/dist/esm/index.js +6 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/stackswap/manager/bridge.manager.js +11 -11
- package/dist/esm/stackswap/manager/bridge.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/farm.manager.js +11 -11
- package/dist/esm/stackswap/manager/farm.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/farm2.manager.js +14 -14
- package/dist/esm/stackswap/manager/farm2.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/farm3.manager.js +10 -10
- package/dist/esm/stackswap/manager/farm3.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/governance.manager.js +3 -3
- package/dist/esm/stackswap/manager/governance.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/groupfarm.manager.d.ts +2 -1
- package/dist/esm/stackswap/manager/groupfarm.manager.js +21 -21
- package/dist/esm/stackswap/manager/groupfarm.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/launchpad.manager.js +6 -6
- package/dist/esm/stackswap/manager/launchpad.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/lbtc.manager.js +9 -9
- package/dist/esm/stackswap/manager/lbtc.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/lbtcstaking.manager.js +12 -12
- package/dist/esm/stackswap/manager/lbtcstaking.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/multisig.manager.js +3 -3
- package/dist/esm/stackswap/manager/multisig.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/nft.manager.d.ts +1 -1
- package/dist/esm/stackswap/manager/nft.manager.js +12 -12
- package/dist/esm/stackswap/manager/nft.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/operator.manager.js +3 -3
- package/dist/esm/stackswap/manager/operator.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/other.manager.js +3 -3
- package/dist/esm/stackswap/manager/other.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/pool.manager.js +5 -5
- package/dist/esm/stackswap/manager/pool.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/poxl.manager.js +3 -3
- package/dist/esm/stackswap/manager/poxl.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/staking.manager.js +14 -14
- package/dist/esm/stackswap/manager/staking.manager.js.map +1 -1
- package/dist/esm/stackswap/manager/token.manager.js +6 -6
- package/dist/esm/stackswap/manager/token.manager.js.map +1 -1
- package/dist/esm/stackswap/util.d.ts +8 -3
- package/dist/esm/stackswap/util.js +63 -10
- package/dist/esm/stackswap/util.js.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/stackswap/manager/bridge.manager.js +10 -10
- package/dist/stackswap/manager/bridge.manager.js.map +1 -1
- package/dist/stackswap/manager/farm.manager.js +10 -10
- package/dist/stackswap/manager/farm.manager.js.map +1 -1
- package/dist/stackswap/manager/farm2.manager.js +13 -13
- package/dist/stackswap/manager/farm2.manager.js.map +1 -1
- package/dist/stackswap/manager/farm3.manager.js +9 -9
- package/dist/stackswap/manager/farm3.manager.js.map +1 -1
- package/dist/stackswap/manager/governance.manager.js +2 -2
- package/dist/stackswap/manager/governance.manager.js.map +1 -1
- package/dist/stackswap/manager/groupfarm.manager.d.ts +2 -1
- package/dist/stackswap/manager/groupfarm.manager.js +19 -19
- package/dist/stackswap/manager/groupfarm.manager.js.map +1 -1
- package/dist/stackswap/manager/launchpad.manager.js +5 -5
- package/dist/stackswap/manager/launchpad.manager.js.map +1 -1
- package/dist/stackswap/manager/lbtc.manager.js +8 -8
- package/dist/stackswap/manager/lbtc.manager.js.map +1 -1
- package/dist/stackswap/manager/lbtcstaking.manager.js +10 -10
- package/dist/stackswap/manager/lbtcstaking.manager.js.map +1 -1
- package/dist/stackswap/manager/multisig.manager.js +2 -2
- package/dist/stackswap/manager/multisig.manager.js.map +1 -1
- package/dist/stackswap/manager/nft.manager.d.ts +1 -1
- package/dist/stackswap/manager/nft.manager.js +10 -10
- package/dist/stackswap/manager/nft.manager.js.map +1 -1
- package/dist/stackswap/manager/operator.manager.js +2 -2
- package/dist/stackswap/manager/operator.manager.js.map +1 -1
- package/dist/stackswap/manager/other.manager.js +2 -2
- package/dist/stackswap/manager/other.manager.js.map +1 -1
- package/dist/stackswap/manager/pool.manager.js +4 -4
- package/dist/stackswap/manager/pool.manager.js.map +1 -1
- package/dist/stackswap/manager/poxl.manager.js +2 -2
- package/dist/stackswap/manager/poxl.manager.js.map +1 -1
- package/dist/stackswap/manager/staking.manager.js +13 -13
- package/dist/stackswap/manager/staking.manager.js.map +1 -1
- package/dist/stackswap/manager/token.manager.js +5 -5
- package/dist/stackswap/manager/token.manager.js.map +1 -1
- package/dist/stackswap/util.d.ts +8 -3
- package/dist/stackswap/util.js +67 -11
- package/dist/stackswap/util.js.map +1 -1
- package/package.json +4 -3
- package/src/index.ts +9 -6
- package/src/stackswap/manager/bridge.manager.ts +11 -11
- package/src/stackswap/manager/farm.manager.ts +11 -11
- package/src/stackswap/manager/farm2.manager.ts +14 -14
- package/src/stackswap/manager/farm3.manager.ts +10 -10
- package/src/stackswap/manager/governance.manager.ts +3 -3
- package/src/stackswap/manager/groupfarm.manager.ts +32 -27
- package/src/stackswap/manager/launchpad.manager.ts +6 -6
- package/src/stackswap/manager/lbtc.manager.ts +9 -9
- package/src/stackswap/manager/lbtcstaking.manager.ts +21 -14
- package/src/stackswap/manager/multisig.manager.ts +3 -3
- package/src/stackswap/manager/nft.manager.ts +20 -16
- package/src/stackswap/manager/operator.manager.ts +3 -3
- package/src/stackswap/manager/other.manager.ts +3 -3
- package/src/stackswap/manager/pool.manager.ts +5 -5
- package/src/stackswap/manager/poxl.manager.ts +3 -3
- package/src/stackswap/manager/staking.manager.ts +14 -14
- package/src/stackswap/manager/token.manager.ts +6 -6
- package/src/stackswap/util.ts +73 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {fetchCallReadOnlyFunction, cvToValue} from "@stacks/transactions";
|
|
2
2
|
import BigNumber from "bignumber.js";
|
|
3
3
|
import axios from "axios";
|
|
4
4
|
import {StackswapAPI} from "../../index";
|
|
@@ -167,11 +167,11 @@ export class PoolManager {
|
|
|
167
167
|
const pair_details_options : any = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_SWAP(), 'get-pair-details',
|
|
168
168
|
[ parseAddressToCV(token_x.addr), parseAddressToCV(token_y.addr) ]);
|
|
169
169
|
try {
|
|
170
|
-
const result = await
|
|
170
|
+
const result = await fetchCallReadOnlyFunction(pair_details_options);
|
|
171
171
|
// @ts-ignore
|
|
172
172
|
// // console.log(result);
|
|
173
173
|
// // console.log(cvToValue(result));
|
|
174
|
-
const result2 = await
|
|
174
|
+
const result2 = await fetchCallReadOnlyFunction(getReadOptions(this.stackswap, cvToValue(result)['liquidity-token'].value, 'get-lp-data', []));
|
|
175
175
|
// // console.log('cv-to-value',cvToValue(result2)['value']);
|
|
176
176
|
// // console.log(cvToValue(result2).value);
|
|
177
177
|
return LiquidityPool.parsePoolsFromServerData(cvToValue(result2).value, token_x, token_y, true);
|
|
@@ -186,9 +186,9 @@ export class PoolManager {
|
|
|
186
186
|
const pair_details_options : any = getReadOptions(this.stackswap, swap_contract, 'get-pair-details',
|
|
187
187
|
[ parseAddressToCV(token_x.addr), parseAddressToCV(token_y.addr) ]);
|
|
188
188
|
try {
|
|
189
|
-
const result = await
|
|
189
|
+
const result = await fetchCallReadOnlyFunction(pair_details_options);
|
|
190
190
|
// @ts-ignore
|
|
191
|
-
const result2 = await
|
|
191
|
+
const result2 = await fetchCallReadOnlyFunction(getReadOptions(this.stackswap, cvToValue(result)['liquidity-token'].value, 'get-lp-data', []));
|
|
192
192
|
// // console.log('cv-to-value',cvToValue(result2)['value']);
|
|
193
193
|
// // console.log(cvToValue(result2).value);
|
|
194
194
|
return LiquidityPool.parsePoolsFromServerData(cvToValue(result2).value, token_x, token_y, true);
|
|
@@ -2,7 +2,7 @@ import axios from "axios";
|
|
|
2
2
|
import {openContractCall} from "@stacks/connect";
|
|
3
3
|
import {decimal2integer, getPostConditionFromAsset, getReadOptions, getWriteOptions} from "../util";
|
|
4
4
|
import {
|
|
5
|
-
|
|
5
|
+
fetchCallReadOnlyFunction,
|
|
6
6
|
cvToValue,
|
|
7
7
|
FungibleConditionCode,
|
|
8
8
|
noneCV,
|
|
@@ -46,7 +46,7 @@ export class PoxlManager {
|
|
|
46
46
|
await openContractCall(options);
|
|
47
47
|
}
|
|
48
48
|
async getRandomInt( contract_address: string, input: number) {
|
|
49
|
-
await
|
|
49
|
+
await fetchCallReadOnlyFunction( getReadOptions(this.stackswap, contract_address, 'get-random-uint-at-block', [uintCV(input)]));
|
|
50
50
|
// @ts-ignore
|
|
51
51
|
// // console.log(result['value'].value.toString());
|
|
52
52
|
}
|
|
@@ -88,7 +88,7 @@ export class PoxlManager {
|
|
|
88
88
|
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
89
89
|
uintCV(block),
|
|
90
90
|
]);
|
|
91
|
-
const result = await
|
|
91
|
+
const result = await fetchCallReadOnlyFunction(options);
|
|
92
92
|
// // console.log(cvToValue(result));
|
|
93
93
|
return cvToValue(result);
|
|
94
94
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
fetchCallReadOnlyFunction,
|
|
4
4
|
contractPrincipalCV,
|
|
5
5
|
cvToValue,
|
|
6
6
|
FungibleConditionCode, listCV,
|
|
@@ -26,7 +26,7 @@ export class StakingManager {
|
|
|
26
26
|
'get-first-stacks-block-in-reward-cycle', [
|
|
27
27
|
uintCV(cycle)
|
|
28
28
|
]);
|
|
29
|
-
const result_raw = await
|
|
29
|
+
const result_raw = await fetchCallReadOnlyFunction(function_option);
|
|
30
30
|
const result = cvToValue(result_raw);
|
|
31
31
|
return result;
|
|
32
32
|
}
|
|
@@ -36,7 +36,7 @@ export class StakingManager {
|
|
|
36
36
|
const pair_details_options : any = getReadOptions(source, this.stackswap.config.BASE_STSW_DATA().addr, 'get-balance',
|
|
37
37
|
[contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(),this.stackswap.config.BASE_vSTSW_DATA().addr.split('.')[1])]);
|
|
38
38
|
try {
|
|
39
|
-
const result = await
|
|
39
|
+
const result = await fetchCallReadOnlyFunction(pair_details_options);
|
|
40
40
|
// // console.log(cvToValue(result));
|
|
41
41
|
return cvToValue(result).value;
|
|
42
42
|
} catch (e) {
|
|
@@ -53,7 +53,7 @@ export class StakingManager {
|
|
|
53
53
|
const options : any = getReadOptions(source, this.stackswap.config.CONTRACT_NAME_STACKSWAP_STSW_STACKING_DATA_V2(), 'get-staker', [
|
|
54
54
|
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
55
55
|
]);
|
|
56
|
-
const result = await
|
|
56
|
+
const result = await fetchCallReadOnlyFunction(options);
|
|
57
57
|
// // console.log('reward', round, cvToValue(result));
|
|
58
58
|
|
|
59
59
|
const unclaimedList = [];
|
|
@@ -77,7 +77,7 @@ export class StakingManager {
|
|
|
77
77
|
const options = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_STSW_STACKING_LOGIC_V2(), 'get-reward-cycle', [
|
|
78
78
|
uintCV(block),
|
|
79
79
|
]);
|
|
80
|
-
const result = await
|
|
80
|
+
const result = await fetchCallReadOnlyFunction(options);
|
|
81
81
|
// // console.log(cvToValue(result));
|
|
82
82
|
return cvToValue(result).value;
|
|
83
83
|
} catch (e) {
|
|
@@ -92,7 +92,7 @@ export class StakingManager {
|
|
|
92
92
|
const options : any = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_STSW_STACKING_DATA_V2(), 'get-staking-stats-at-cycle', [
|
|
93
93
|
uintCV(round),
|
|
94
94
|
]);
|
|
95
|
-
const result = await
|
|
95
|
+
const result = await fetchCallReadOnlyFunction(options);
|
|
96
96
|
// // console.log('reward', round, cvToValue(result));
|
|
97
97
|
const res = cvToValue(result).value;
|
|
98
98
|
// // console.log('getRoundData', res);
|
|
@@ -107,7 +107,7 @@ export class StakingManager {
|
|
|
107
107
|
const options : any = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_STSW_STACKING_DATA_V2(), 'get-staking-stats-at-cycle-or-default', [
|
|
108
108
|
uintCV(round),
|
|
109
109
|
]);
|
|
110
|
-
const result = await
|
|
110
|
+
const result = await fetchCallReadOnlyFunction(options);
|
|
111
111
|
// // console.log('reward', round, cvToValue(result));
|
|
112
112
|
const res = cvToValue(result).value;
|
|
113
113
|
// console.log('getRoundData', res);
|
|
@@ -124,7 +124,7 @@ export class StakingManager {
|
|
|
124
124
|
standardPrincipalCV(user),
|
|
125
125
|
]);
|
|
126
126
|
// // console.log(cvToValue(result));ss
|
|
127
|
-
const result = await
|
|
127
|
+
const result = await fetchCallReadOnlyFunction(options);
|
|
128
128
|
// // console.log(cvToValue(result));
|
|
129
129
|
const res = cvToValue(result).value;
|
|
130
130
|
return {amount: res.amountSTSW.value, value: res.amountvSTSW.value};
|
|
@@ -188,7 +188,7 @@ export class StakingManager {
|
|
|
188
188
|
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
189
189
|
uintCV(round_id)
|
|
190
190
|
]);
|
|
191
|
-
const result_raw = await
|
|
191
|
+
const result_raw = await fetchCallReadOnlyFunction(function_option);
|
|
192
192
|
const result = cvToValue(result_raw);
|
|
193
193
|
// // console.log("reward", round_id, result, result_raw)
|
|
194
194
|
return Number(result);
|
|
@@ -222,7 +222,7 @@ export class StakingManager {
|
|
|
222
222
|
address[0], address[1];
|
|
223
223
|
const function_option : any = getReadOptions(this.stackswap, this.stackswap.config.BASE_vSTSW_DATA().addr,
|
|
224
224
|
'get-user-count',[standardPrincipalCV(this.stackswap.getSenderAddress()) ]);
|
|
225
|
-
const result_raw = await
|
|
225
|
+
const result_raw = await fetchCallReadOnlyFunction(function_option);
|
|
226
226
|
const result = cvToValue(result_raw);
|
|
227
227
|
if(result == null){return 0}
|
|
228
228
|
// tslint:disable-next-line:radix
|
|
@@ -231,7 +231,7 @@ export class StakingManager {
|
|
|
231
231
|
|
|
232
232
|
async getStakingBalanceFromVSTSW_V2(){
|
|
233
233
|
const function_option : any = getReadOptions(this.stackswap, this.stackswap.config.BASE_vSTSW_DATA().addr,'get-user-count',[standardPrincipalCV(this.stackswap.getSenderAddress()) ]);
|
|
234
|
-
const result_raw = await
|
|
234
|
+
const result_raw = await fetchCallReadOnlyFunction(function_option);
|
|
235
235
|
const result = cvToValue(result_raw);
|
|
236
236
|
// // console.log("V2", result)
|
|
237
237
|
if(result == null){return 0}
|
|
@@ -252,7 +252,7 @@ export class StakingManager {
|
|
|
252
252
|
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
253
253
|
uintCV(i)]
|
|
254
254
|
);
|
|
255
|
-
const result_raw = await
|
|
255
|
+
const result_raw = await fetchCallReadOnlyFunction(function_option);
|
|
256
256
|
const result = cvToValue(result_raw);
|
|
257
257
|
if ( !result.value.returned.value ){
|
|
258
258
|
res_dict[i] = result;
|
|
@@ -272,7 +272,7 @@ export class StakingManager {
|
|
|
272
272
|
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
273
273
|
uintCV(i)]
|
|
274
274
|
);
|
|
275
|
-
const result_raw = await
|
|
275
|
+
const result_raw = await fetchCallReadOnlyFunction(function_option);
|
|
276
276
|
const result = cvToValue(result_raw);
|
|
277
277
|
if(result.value.returned.value === false){
|
|
278
278
|
// tslint:disable-next-line:radix
|
|
@@ -373,7 +373,7 @@ export class StakingManager {
|
|
|
373
373
|
standardPrincipalCV(this.stackswap.getSenderAddress()),
|
|
374
374
|
listCV(reward_list),
|
|
375
375
|
]);
|
|
376
|
-
const result_raw = await
|
|
376
|
+
const result_raw = await fetchCallReadOnlyFunction(function_option);
|
|
377
377
|
const result = cvToValue(result_raw);
|
|
378
378
|
// // console.log("reward", result.rewardSum.value, result_raw)
|
|
379
379
|
return result.rewardSum.value;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
fetchCallReadOnlyFunction, contractPrincipalCV,
|
|
3
3
|
cvToValue,
|
|
4
4
|
FungibleConditionCode, noneCV,
|
|
5
5
|
standardPrincipalCV,
|
|
@@ -107,17 +107,17 @@ export class TokenManager {
|
|
|
107
107
|
async getTokenData( token_addr: string) : Promise<Token | null> {
|
|
108
108
|
// // console.log('finding '+ tokenstr);
|
|
109
109
|
try {
|
|
110
|
-
const name_result = await
|
|
110
|
+
const name_result = await fetchCallReadOnlyFunction( getReadOptions(this.stackswap, token_addr, 'get-name', []));
|
|
111
111
|
// // console.log(cvToValue(name_result));
|
|
112
112
|
let token_name = cvToValue(name_result).value;
|
|
113
113
|
|
|
114
|
-
const symbol_result = await
|
|
114
|
+
const symbol_result = await fetchCallReadOnlyFunction( getReadOptions(this.stackswap, token_addr, 'get-symbol', []));
|
|
115
115
|
const token_symbol = cvToValue(symbol_result).value;
|
|
116
116
|
|
|
117
|
-
const decimal_result = await
|
|
117
|
+
const decimal_result = await fetchCallReadOnlyFunction( getReadOptions(this.stackswap, token_addr, 'get-decimals', []));
|
|
118
118
|
const token_decimal = Number(cvToValue(decimal_result).value);
|
|
119
119
|
|
|
120
|
-
const uri_result = await
|
|
120
|
+
const uri_result = await fetchCallReadOnlyFunction( getReadOptions(this.stackswap, token_addr, 'get-token-uri', []));
|
|
121
121
|
const token_uri = cvToValue(uri_result).value.value;
|
|
122
122
|
// console.log('uri', cvToValue(uri_result));
|
|
123
123
|
// console.log('uri v v', cvToValue(uri_result).value.value);
|
|
@@ -168,7 +168,7 @@ export class TokenManager {
|
|
|
168
168
|
const pair_details_options : any = getReadOptions(this.stackswap, token.addr, 'get-balance',
|
|
169
169
|
[parseAddressToCV(address) ]);
|
|
170
170
|
try {
|
|
171
|
-
const result = await
|
|
171
|
+
const result = await fetchCallReadOnlyFunction(pair_details_options);
|
|
172
172
|
return cvToValue(result).value;
|
|
173
173
|
} catch (e) {
|
|
174
174
|
return '0';
|
package/src/stackswap/util.ts
CHANGED
|
@@ -4,15 +4,16 @@ import {
|
|
|
4
4
|
AnchorMode,
|
|
5
5
|
ClarityValue,
|
|
6
6
|
contractPrincipalCV,
|
|
7
|
-
|
|
8
|
-
createSTXPostCondition,
|
|
9
|
-
FungibleConditionCode,
|
|
7
|
+
FungibleConditionCode, FungiblePostCondition, NonFungibleConditionCode, NonFungiblePostCondition,
|
|
10
8
|
PostConditionMode,
|
|
11
9
|
standardPrincipalCV
|
|
12
10
|
} from '@stacks/transactions';
|
|
13
11
|
import axios from 'axios';
|
|
14
12
|
import {StackswapAPI} from "../index";
|
|
15
13
|
import {LiquidityPool} from "./manager/pool.manager";
|
|
14
|
+
import {AssetString} from "@stacks/transactions/dist/types";
|
|
15
|
+
import {NonFungibleComparator} from "@stacks/transactions/dist/postcondition-types";
|
|
16
|
+
import {FungibleComparator, StxPostCondition} from "@stacks/transactions/src/postcondition-types";
|
|
16
17
|
|
|
17
18
|
export function parseAddressToCV(addr: string){
|
|
18
19
|
if (addr.includes('.')) {
|
|
@@ -138,15 +139,6 @@ async function getFTAsset(stackswap: StackswapAPI, tokenStr: string) {
|
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
141
|
|
|
141
|
-
export async function getPostConditionFromAsset(stackswap: StackswapAPI, account: string, tokenStr: string, tokenAmount: any, condition: FungibleConditionCode) {
|
|
142
|
-
const assetString = await getFTAsset(stackswap, tokenStr);
|
|
143
|
-
if (assetString === 'wstx') {
|
|
144
|
-
// console.log('tokenamount',tokenAmount.toNumber());
|
|
145
|
-
return createSTXPostCondition(account, condition, tokenAmount);
|
|
146
|
-
} else {
|
|
147
|
-
return createFungiblePostCondition(account, condition, tokenAmount, assetString);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
142
|
|
|
151
143
|
|
|
152
144
|
export function num2decimal(input:any, decimal:number){
|
|
@@ -235,3 +227,72 @@ export function getAmountStringWithDecimal(amount: string, decimal: number) {
|
|
|
235
227
|
return new BigNumber(10 ** decimal).multipliedBy(new BigNumber(amount)).toString();
|
|
236
228
|
}
|
|
237
229
|
}
|
|
230
|
+
|
|
231
|
+
export function createNonFungiblePostCondition(account: string, condition: NonFungibleConditionCode, assetString: AssetString, assetIdCV: ClarityValue) : NonFungiblePostCondition {
|
|
232
|
+
let conditionComparator: NonFungibleComparator = 'sent';
|
|
233
|
+
switch (condition) {
|
|
234
|
+
case NonFungibleConditionCode.Sends:
|
|
235
|
+
conditionComparator = 'sent';
|
|
236
|
+
break
|
|
237
|
+
case NonFungibleConditionCode.DoesNotSend:
|
|
238
|
+
conditionComparator = 'not-sent';
|
|
239
|
+
break
|
|
240
|
+
}
|
|
241
|
+
return {
|
|
242
|
+
type: 'nft-postcondition',
|
|
243
|
+
address: account,
|
|
244
|
+
condition: conditionComparator,
|
|
245
|
+
asset: assetString,
|
|
246
|
+
assetId: assetIdCV,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
export function createFungiblePostCondition(account: any, condition: FungibleComparator, assetString: AssetString, amount: string | bigint | number): FungiblePostCondition {
|
|
251
|
+
return {
|
|
252
|
+
type: 'ft-postcondition',
|
|
253
|
+
address: account,
|
|
254
|
+
condition: condition,
|
|
255
|
+
asset: assetString,
|
|
256
|
+
amount: amount,
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export function createSTXPostCondition(account: any, condition: FungibleComparator, amount: string | bigint | number): StxPostCondition {
|
|
262
|
+
return {
|
|
263
|
+
type: 'stx-postcondition',
|
|
264
|
+
address: account,
|
|
265
|
+
condition: condition,
|
|
266
|
+
amount: amount,
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
export async function getPostConditionFromAsset(stackswap: StackswapAPI, account: string, tokenStr: string, tokenAmount: any, condition: FungibleConditionCode) {
|
|
272
|
+
let conditionComparator: FungibleComparator = 'eq';
|
|
273
|
+
switch (condition) {
|
|
274
|
+
case FungibleConditionCode.Equal:
|
|
275
|
+
conditionComparator = 'eq';
|
|
276
|
+
break
|
|
277
|
+
case FungibleConditionCode.LessEqual:
|
|
278
|
+
conditionComparator = 'lte';
|
|
279
|
+
break
|
|
280
|
+
case FungibleConditionCode.GreaterEqual:
|
|
281
|
+
conditionComparator = 'gte';
|
|
282
|
+
break
|
|
283
|
+
case FungibleConditionCode.Greater:
|
|
284
|
+
conditionComparator = 'gt';
|
|
285
|
+
break
|
|
286
|
+
case FungibleConditionCode.Less:
|
|
287
|
+
conditionComparator = 'lt';
|
|
288
|
+
break
|
|
289
|
+
}
|
|
290
|
+
const assetString = await getFTAsset(stackswap, tokenStr);
|
|
291
|
+
if (assetString === 'wstx') {
|
|
292
|
+
// console.log('tokenamount',tokenAmount.toNumber());
|
|
293
|
+
return createSTXPostCondition(account, conditionComparator, tokenAmount);
|
|
294
|
+
} else {
|
|
295
|
+
return createFungiblePostCondition(account, conditionComparator, tokenAmount, assetString);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|