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.
Files changed (104) hide show
  1. package/dist/969.index.umd.js +1 -1
  2. package/dist/esm/index.js +6 -4
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/stackswap/manager/bridge.manager.js +11 -11
  5. package/dist/esm/stackswap/manager/bridge.manager.js.map +1 -1
  6. package/dist/esm/stackswap/manager/farm.manager.js +11 -11
  7. package/dist/esm/stackswap/manager/farm.manager.js.map +1 -1
  8. package/dist/esm/stackswap/manager/farm2.manager.js +14 -14
  9. package/dist/esm/stackswap/manager/farm2.manager.js.map +1 -1
  10. package/dist/esm/stackswap/manager/farm3.manager.js +10 -10
  11. package/dist/esm/stackswap/manager/farm3.manager.js.map +1 -1
  12. package/dist/esm/stackswap/manager/governance.manager.js +3 -3
  13. package/dist/esm/stackswap/manager/governance.manager.js.map +1 -1
  14. package/dist/esm/stackswap/manager/groupfarm.manager.d.ts +2 -1
  15. package/dist/esm/stackswap/manager/groupfarm.manager.js +21 -21
  16. package/dist/esm/stackswap/manager/groupfarm.manager.js.map +1 -1
  17. package/dist/esm/stackswap/manager/launchpad.manager.js +6 -6
  18. package/dist/esm/stackswap/manager/launchpad.manager.js.map +1 -1
  19. package/dist/esm/stackswap/manager/lbtc.manager.js +9 -9
  20. package/dist/esm/stackswap/manager/lbtc.manager.js.map +1 -1
  21. package/dist/esm/stackswap/manager/lbtcstaking.manager.js +12 -12
  22. package/dist/esm/stackswap/manager/lbtcstaking.manager.js.map +1 -1
  23. package/dist/esm/stackswap/manager/multisig.manager.js +3 -3
  24. package/dist/esm/stackswap/manager/multisig.manager.js.map +1 -1
  25. package/dist/esm/stackswap/manager/nft.manager.d.ts +1 -1
  26. package/dist/esm/stackswap/manager/nft.manager.js +12 -12
  27. package/dist/esm/stackswap/manager/nft.manager.js.map +1 -1
  28. package/dist/esm/stackswap/manager/operator.manager.js +3 -3
  29. package/dist/esm/stackswap/manager/operator.manager.js.map +1 -1
  30. package/dist/esm/stackswap/manager/other.manager.js +3 -3
  31. package/dist/esm/stackswap/manager/other.manager.js.map +1 -1
  32. package/dist/esm/stackswap/manager/pool.manager.js +5 -5
  33. package/dist/esm/stackswap/manager/pool.manager.js.map +1 -1
  34. package/dist/esm/stackswap/manager/poxl.manager.js +3 -3
  35. package/dist/esm/stackswap/manager/poxl.manager.js.map +1 -1
  36. package/dist/esm/stackswap/manager/staking.manager.js +14 -14
  37. package/dist/esm/stackswap/manager/staking.manager.js.map +1 -1
  38. package/dist/esm/stackswap/manager/token.manager.js +6 -6
  39. package/dist/esm/stackswap/manager/token.manager.js.map +1 -1
  40. package/dist/esm/stackswap/util.d.ts +8 -3
  41. package/dist/esm/stackswap/util.js +63 -10
  42. package/dist/esm/stackswap/util.js.map +1 -1
  43. package/dist/index.js +5 -3
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.umd.js +1 -1
  46. package/dist/stackswap/manager/bridge.manager.js +10 -10
  47. package/dist/stackswap/manager/bridge.manager.js.map +1 -1
  48. package/dist/stackswap/manager/farm.manager.js +10 -10
  49. package/dist/stackswap/manager/farm.manager.js.map +1 -1
  50. package/dist/stackswap/manager/farm2.manager.js +13 -13
  51. package/dist/stackswap/manager/farm2.manager.js.map +1 -1
  52. package/dist/stackswap/manager/farm3.manager.js +9 -9
  53. package/dist/stackswap/manager/farm3.manager.js.map +1 -1
  54. package/dist/stackswap/manager/governance.manager.js +2 -2
  55. package/dist/stackswap/manager/governance.manager.js.map +1 -1
  56. package/dist/stackswap/manager/groupfarm.manager.d.ts +2 -1
  57. package/dist/stackswap/manager/groupfarm.manager.js +19 -19
  58. package/dist/stackswap/manager/groupfarm.manager.js.map +1 -1
  59. package/dist/stackswap/manager/launchpad.manager.js +5 -5
  60. package/dist/stackswap/manager/launchpad.manager.js.map +1 -1
  61. package/dist/stackswap/manager/lbtc.manager.js +8 -8
  62. package/dist/stackswap/manager/lbtc.manager.js.map +1 -1
  63. package/dist/stackswap/manager/lbtcstaking.manager.js +10 -10
  64. package/dist/stackswap/manager/lbtcstaking.manager.js.map +1 -1
  65. package/dist/stackswap/manager/multisig.manager.js +2 -2
  66. package/dist/stackswap/manager/multisig.manager.js.map +1 -1
  67. package/dist/stackswap/manager/nft.manager.d.ts +1 -1
  68. package/dist/stackswap/manager/nft.manager.js +10 -10
  69. package/dist/stackswap/manager/nft.manager.js.map +1 -1
  70. package/dist/stackswap/manager/operator.manager.js +2 -2
  71. package/dist/stackswap/manager/operator.manager.js.map +1 -1
  72. package/dist/stackswap/manager/other.manager.js +2 -2
  73. package/dist/stackswap/manager/other.manager.js.map +1 -1
  74. package/dist/stackswap/manager/pool.manager.js +4 -4
  75. package/dist/stackswap/manager/pool.manager.js.map +1 -1
  76. package/dist/stackswap/manager/poxl.manager.js +2 -2
  77. package/dist/stackswap/manager/poxl.manager.js.map +1 -1
  78. package/dist/stackswap/manager/staking.manager.js +13 -13
  79. package/dist/stackswap/manager/staking.manager.js.map +1 -1
  80. package/dist/stackswap/manager/token.manager.js +5 -5
  81. package/dist/stackswap/manager/token.manager.js.map +1 -1
  82. package/dist/stackswap/util.d.ts +8 -3
  83. package/dist/stackswap/util.js +67 -11
  84. package/dist/stackswap/util.js.map +1 -1
  85. package/package.json +4 -3
  86. package/src/index.ts +9 -6
  87. package/src/stackswap/manager/bridge.manager.ts +11 -11
  88. package/src/stackswap/manager/farm.manager.ts +11 -11
  89. package/src/stackswap/manager/farm2.manager.ts +14 -14
  90. package/src/stackswap/manager/farm3.manager.ts +10 -10
  91. package/src/stackswap/manager/governance.manager.ts +3 -3
  92. package/src/stackswap/manager/groupfarm.manager.ts +32 -27
  93. package/src/stackswap/manager/launchpad.manager.ts +6 -6
  94. package/src/stackswap/manager/lbtc.manager.ts +9 -9
  95. package/src/stackswap/manager/lbtcstaking.manager.ts +21 -14
  96. package/src/stackswap/manager/multisig.manager.ts +3 -3
  97. package/src/stackswap/manager/nft.manager.ts +20 -16
  98. package/src/stackswap/manager/operator.manager.ts +3 -3
  99. package/src/stackswap/manager/other.manager.ts +3 -3
  100. package/src/stackswap/manager/pool.manager.ts +5 -5
  101. package/src/stackswap/manager/poxl.manager.ts +3 -3
  102. package/src/stackswap/manager/staking.manager.ts +14 -14
  103. package/src/stackswap/manager/token.manager.ts +6 -6
  104. package/src/stackswap/util.ts +73 -12
@@ -1,4 +1,4 @@
1
- import {callReadOnlyFunction, cvToValue} from "@stacks/transactions";
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 callReadOnlyFunction(pair_details_options);
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 callReadOnlyFunction(getReadOptions(this.stackswap, cvToValue(result)['liquidity-token'].value, 'get-lp-data', []));
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 callReadOnlyFunction(pair_details_options);
189
+ const result = await fetchCallReadOnlyFunction(pair_details_options);
190
190
  // @ts-ignore
191
- const result2 = await callReadOnlyFunction(getReadOptions(this.stackswap, cvToValue(result)['liquidity-token'].value, 'get-lp-data', []));
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
- callReadOnlyFunction,
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 callReadOnlyFunction( getReadOptions(this.stackswap, contract_address, 'get-random-uint-at-block', [uintCV(input)]));
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 callReadOnlyFunction(options);
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
- callReadOnlyFunction,
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 callReadOnlyFunction(function_option);
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 callReadOnlyFunction(pair_details_options);
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 callReadOnlyFunction(options);
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 callReadOnlyFunction(options);
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 callReadOnlyFunction(options);
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 callReadOnlyFunction(options);
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 callReadOnlyFunction(options);
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 callReadOnlyFunction(function_option);
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 callReadOnlyFunction(function_option);
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 callReadOnlyFunction(function_option);
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 callReadOnlyFunction(function_option);
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 callReadOnlyFunction(function_option);
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 callReadOnlyFunction(function_option);
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
- callReadOnlyFunction, contractPrincipalCV,
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 callReadOnlyFunction( getReadOptions(this.stackswap, token_addr, 'get-name', []));
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 callReadOnlyFunction( getReadOptions(this.stackswap, token_addr, 'get-symbol', []));
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 callReadOnlyFunction( getReadOptions(this.stackswap, token_addr, 'get-decimals', []));
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 callReadOnlyFunction( getReadOptions(this.stackswap, token_addr, 'get-token-uri', []));
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 callReadOnlyFunction(pair_details_options);
171
+ const result = await fetchCallReadOnlyFunction(pair_details_options);
172
172
  return cvToValue(result).value;
173
173
  } catch (e) {
174
174
  return '0';
@@ -4,15 +4,16 @@ import {
4
4
  AnchorMode,
5
5
  ClarityValue,
6
6
  contractPrincipalCV,
7
- createFungiblePostCondition,
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
+