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,54 @@
1
+ import { callReadOnlyFunction, cvToValue, FungibleConditionCode, standardPrincipalCV, uintCV } from "@stacks/transactions";
2
+ import { openContractCall } from "@stacks/connect";
3
+ import BigNumber from "bignumber.js";
4
+ import { getPostConditionFromAsset, getReadOptions, getWriteOptions } from "../util";
5
+ export class GovernanceManager {
6
+ constructor(stackswap) {
7
+ this.stackswap = stackswap;
8
+ }
9
+ async getProposalsList() {
10
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE(), 'get-proposals', []);
11
+ const result_raw = await callReadOnlyFunction(function_option);
12
+ const result = cvToValue(result_raw);
13
+ let res_list = [];
14
+ result.value.forEach((element) => {
15
+ res_list.push(element.value);
16
+ });
17
+ return res_list;
18
+ }
19
+ async getNumVoting(proposal_id) {
20
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE(), 'get-votes-by-member-by-id', [
21
+ uintCV(proposal_id),
22
+ standardPrincipalCV(this.stackswap.getSenderAddress())
23
+ ]);
24
+ const result_raw = await callReadOnlyFunction(function_option);
25
+ const result = cvToValue(result_raw);
26
+ return [result['vote-count'].value, result.returned.value];
27
+ }
28
+ async txWithdrawVoting(proposal_id, callback = null) {
29
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE(), 'return-votes-to-member', [
30
+ uintCV(proposal_id),
31
+ standardPrincipalCV(this.stackswap.getSenderAddress())
32
+ ], callback);
33
+ await openContractCall(function_option);
34
+ }
35
+ async txVote(proposal_id, vote_mode, vote_amount, callback = null) {
36
+ const vote_amount_bn = new BigNumber(10 ** 6).multipliedBy(parseFloat(vote_amount)).toFixed(0).toString();
37
+ const post_condition = [await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_vSTSW_DATA().addr, vote_amount_bn, FungibleConditionCode.Equal)];
38
+ let function_option = null;
39
+ if (vote_mode === 'For') {
40
+ function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE(), 'vote-for', [
41
+ uintCV(proposal_id), uintCV(vote_amount_bn)
42
+ ], post_condition, callback);
43
+ }
44
+ else if (vote_mode === 'Against') {
45
+ function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE(), 'vote-against', [
46
+ uintCV(proposal_id), uintCV(vote_amount_bn)
47
+ ], post_condition, callback);
48
+ }
49
+ if (function_option != null) {
50
+ await openContractCall(function_option);
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=governance.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.manager.js","sourceRoot":"","sources":["../../../../src/stackswap/manager/governance.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { StackswapAPI } from "../../index";
2
+ export declare class LaunchpadManager {
3
+ stackswap: StackswapAPI;
4
+ constructor(stackswap: StackswapAPI);
5
+ getRandomIntNum(min: number, max: number): number;
6
+ getLiquidityList(): Promise<any>;
7
+ getSoftTokenList(): Promise<any>;
8
+ getPOXLTokenList(): Promise<any>;
9
+ mintSIPContractCall(soft_token: string, liquidity_token: string, data: any, callback?: any): Promise<void>;
10
+ mintPOXLContractCall(poxl_token: string, liquidity_token: string, data: any, callback?: any): Promise<void>;
11
+ mintSIPSTSWContractCall(soft_token: string, liquidity_token: string, data: any, callback?: any): Promise<void>;
12
+ mintPOXLSTSWContractCall(poxl_token: string, liquidity_token: string, data: any, callback?: any): Promise<void>;
13
+ }
@@ -0,0 +1,148 @@
1
+ import { getAmountStringWithDecimal, getAmountWithDecimalString, getPostConditionFromAsset, getReadOptions, getWriteOptions } from "../util";
2
+ import { callReadOnlyFunction, contractPrincipalCV, cvToValue, FungibleConditionCode, stringAsciiCV, stringUtf8CV, uintCV } from "@stacks/transactions";
3
+ import { openContractCall } from "@stacks/connect";
4
+ export class LaunchpadManager {
5
+ constructor(stackswap) {
6
+ this.stackswap = stackswap;
7
+ }
8
+ getRandomIntNum(min, max) {
9
+ min = Math.ceil(min);
10
+ max = Math.floor(max);
11
+ return Math.floor(Math.random() * (max - min)) + min;
12
+ }
13
+ async getLiquidityList() {
14
+ const pair_details_options = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(), 'get-liquidity-token-list', []);
15
+ try {
16
+ const result = cvToValue(await callReadOnlyFunction(pair_details_options)).value;
17
+ return result[this.getRandomIntNum(0, result.length - 1)].value;
18
+ }
19
+ catch (e) {
20
+ return ('');
21
+ }
22
+ }
23
+ async getSoftTokenList() {
24
+ const pair_details_options = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(), 'get-soft-token-list', []);
25
+ try {
26
+ const result = cvToValue(await callReadOnlyFunction(pair_details_options)).value;
27
+ return result[this.getRandomIntNum(0, result.length - 1)].value;
28
+ }
29
+ catch (e) {
30
+ return ('');
31
+ }
32
+ }
33
+ async getPOXLTokenList() {
34
+ const pair_details_options = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(), 'get-poxl-token-list', []);
35
+ try {
36
+ const result = cvToValue(await callReadOnlyFunction(pair_details_options)).value;
37
+ return result[this.getRandomIntNum(0, result.length - 1)].value;
38
+ }
39
+ catch (e) {
40
+ return ('');
41
+ }
42
+ }
43
+ async mintSIPContractCall(soft_token, liquidity_token, data, callback = null) {
44
+ const token_y_addr = soft_token.split('.');
45
+ const pair_addr = liquidity_token.split('.');
46
+ const post_condition = [];
47
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, getAmountWithDecimalString(data.initial_amount_x, 6), FungibleConditionCode.Equal));
48
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), soft_token, 0, FungibleConditionCode.GreaterEqual));
49
+ const options = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(), 'create-pair-new-sip10-token-with-stx', [
50
+ contractPrincipalCV(token_y_addr[0], token_y_addr[1]),
51
+ contractPrincipalCV(pair_addr[0], pair_addr[1]),
52
+ stringAsciiCV('STX-' + data.token_symbol),
53
+ uintCV(getAmountStringWithDecimal(data.initial_amount_x, 6)),
54
+ uintCV(getAmountStringWithDecimal(data.initial_amount_y, data.token_decimal)),
55
+ contractPrincipalCV(token_y_addr[0], token_y_addr[1]),
56
+ contractPrincipalCV(pair_addr[0], pair_addr[1]),
57
+ stringAsciiCV(data.token_name),
58
+ stringAsciiCV(data.token_symbol),
59
+ uintCV(data.token_decimal),
60
+ stringUtf8CV(data.token_uri),
61
+ stringUtf8CV(data.token_website),
62
+ uintCV(getAmountStringWithDecimal(data.initial_amount, data.token_decimal)),
63
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STACKSWAP_SWAP())
64
+ ], post_condition, callback);
65
+ openContractCall(options);
66
+ }
67
+ async mintPOXLContractCall(poxl_token, liquidity_token, data, callback = null) {
68
+ const token_y_addr = poxl_token.split('.');
69
+ const pair_addr = liquidity_token.split('.');
70
+ const post_condition = [];
71
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, getAmountWithDecimalString(data.initial_amount_x, 6), FungibleConditionCode.Equal));
72
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), poxl_token, 0, FungibleConditionCode.GreaterEqual));
73
+ const options = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(), 'create-pair-new-poxl-token-with-stx', [
74
+ contractPrincipalCV(token_y_addr[0], token_y_addr[1]),
75
+ contractPrincipalCV(pair_addr[0], pair_addr[1]),
76
+ stringAsciiCV('STX-' + data.token_symbol),
77
+ uintCV(getAmountWithDecimalString(data.initial_amount_x, 6)),
78
+ uintCV(getAmountWithDecimalString(data.initial_amount_y, data.token_decimal)),
79
+ contractPrincipalCV(token_y_addr[0], token_y_addr[1]),
80
+ contractPrincipalCV(pair_addr[0], pair_addr[1]),
81
+ stringAsciiCV(data.token_name),
82
+ stringAsciiCV(data.token_symbol),
83
+ uintCV(data.token_decimal),
84
+ stringUtf8CV(data.token_uri),
85
+ stringUtf8CV(data.token_website),
86
+ uintCV(getAmountWithDecimalString(data.initial_amount, data.token_decimal)),
87
+ uintCV(data.first_stacking_block),
88
+ uintCV(data.reward_cycle_block),
89
+ uintCV(data.token_reward_maturity),
90
+ uintCV(getAmountWithDecimalString(data.coinbase_reward, data.token_decimal)),
91
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STACKSWAP_SWAP())
92
+ ], post_condition, callback);
93
+ openContractCall(options);
94
+ }
95
+ async mintSIPSTSWContractCall(soft_token, liquidity_token, data, callback = null) {
96
+ const token_y_addr = soft_token.split('.');
97
+ const pair_addr = liquidity_token.split('.');
98
+ const post_condition = [];
99
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, getAmountWithDecimalString(data.initial_amount_x, 6), FungibleConditionCode.Equal));
100
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), soft_token, 0, FungibleConditionCode.GreaterEqual));
101
+ const options = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(), 'create-pair-new-sip10-token-with-stsw', [
102
+ contractPrincipalCV(token_y_addr[0], token_y_addr[1]),
103
+ contractPrincipalCV(pair_addr[0], pair_addr[1]),
104
+ stringAsciiCV('STX-' + data.token_symbol),
105
+ uintCV(getAmountStringWithDecimal(data.initial_amount_x, 6)),
106
+ uintCV(getAmountStringWithDecimal(data.initial_amount_y, data.token_decimal)),
107
+ contractPrincipalCV(token_y_addr[0], token_y_addr[1]),
108
+ contractPrincipalCV(pair_addr[0], pair_addr[1]),
109
+ stringAsciiCV(data.token_name),
110
+ stringAsciiCV(data.token_symbol),
111
+ uintCV(data.token_decimal),
112
+ stringUtf8CV(data.token_uri),
113
+ stringUtf8CV(data.token_website),
114
+ uintCV(getAmountStringWithDecimal(data.initial_amount, data.token_decimal)),
115
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STACKSWAP_SWAP())
116
+ ], post_condition, callback);
117
+ openContractCall(options);
118
+ }
119
+ async mintPOXLSTSWContractCall(poxl_token, liquidity_token, data, callback = null) {
120
+ const token_y_addr = poxl_token.split('.');
121
+ const pair_addr = liquidity_token.split('.');
122
+ const post_condition = [];
123
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, getAmountWithDecimalString(data.initial_amount_x, 6), FungibleConditionCode.Equal));
124
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), poxl_token, 0, FungibleConditionCode.GreaterEqual));
125
+ const options = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(), 'create-pair-new-poxl-token-with-stsw', [
126
+ contractPrincipalCV(token_y_addr[0], token_y_addr[1]),
127
+ contractPrincipalCV(pair_addr[0], pair_addr[1]),
128
+ stringAsciiCV('STX-' + data.token_symbol),
129
+ uintCV(getAmountWithDecimalString(data.initial_amount_x, 6)),
130
+ uintCV(getAmountWithDecimalString(data.initial_amount_y, data.token_decimal)),
131
+ contractPrincipalCV(token_y_addr[0], token_y_addr[1]),
132
+ contractPrincipalCV(pair_addr[0], pair_addr[1]),
133
+ stringAsciiCV(data.token_name),
134
+ stringAsciiCV(data.token_symbol),
135
+ uintCV(data.token_decimal),
136
+ stringUtf8CV(data.token_uri),
137
+ stringUtf8CV(data.token_website),
138
+ uintCV(getAmountWithDecimalString(data.initial_amount, data.token_decimal)),
139
+ uintCV(data.first_stacking_block),
140
+ uintCV(data.reward_cycle_block),
141
+ uintCV(data.token_reward_maturity),
142
+ uintCV(getAmountWithDecimalString(data.coinbase_reward, data.token_decimal)),
143
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STACKSWAP_SWAP())
144
+ ], post_condition, callback);
145
+ openContractCall(options);
146
+ }
147
+ }
148
+ //# sourceMappingURL=launchpad.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launchpad.manager.js","sourceRoot":"","sources":["../../../../src/stackswap/manager/launchpad.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { StackswapAPI } from "../../index";
3
+ export declare class LbtcManager {
4
+ stackswap: StackswapAPI;
5
+ constructor(stackswap: StackswapAPI);
6
+ getPoxInfo(): Promise<any>;
7
+ getVaultTypeInfo(coll_type: string): Promise<any>;
8
+ getVaultIDFromUser(): Promise<any>;
9
+ getVaultInfoFromID(vault_id: string): Promise<any>;
10
+ getVaultIDFromUser2(): Promise<any>;
11
+ txCreateVaultWithSTX(coll_amt: BigNumber, debt_amt: BigNumber, coll_type: string, isStack: boolean, callback?: any): Promise<void>;
12
+ txCreateVaultWithSTSW(coll_amt: BigNumber, debt_amt: BigNumber, coll_type: string, callback?: any): Promise<void>;
13
+ txDepositCollateral(vault_id: number, coll_amt: BigNumber, coll_token: string, callback?: any): Promise<void>;
14
+ txToggleStacking(vault_id: number, callback?: any): Promise<void>;
15
+ txStackCollateral(vault_id: number, callback?: any): Promise<void>;
16
+ resolveStacker(stacker_name: string): string;
17
+ txEnableWithdraw(vault_id: number, stacker_name: string, callback?: any): Promise<void>;
18
+ txWithdrawCollateral(vault_id: number, coll_amt: BigNumber, coll_token: string, callback?: any): Promise<void>;
19
+ txMintDebt(vault_id: number, debt_amt: BigNumber, coll_token: string, callback?: any): Promise<void>;
20
+ txBurnDebt(vault_id: number, debt_amt: BigNumber, coll_token: string, callback?: any): Promise<void>;
21
+ txCloseVault(vault_id: number, coll_token: string, coll_amount: string, debt_amount: string, callback?: any): Promise<void>;
22
+ txFinalLiquidation(vault_id: number, callback?: any): Promise<void>;
23
+ txUnliquidationDeposit(vault_id: number, coll_amt: BigNumber, coll_token: string, callback?: any): Promise<void>;
24
+ txUnliquidationBurn(vault_id: number, debt_amt: BigNumber, coll_token: string, callback?: any): Promise<void>;
25
+ txLiquidationWithdraw(vault_id: number, coll_amt: BigNumber, coll_token: string, callback?: any): Promise<void>;
26
+ txLiquidationBurn(vault_id: number, debt_amt: BigNumber, coll_token: string, callback?: any): Promise<void>;
27
+ txCloseVaultLiquidated(vault_id: number, coll_token: string, callback?: any): Promise<void>;
28
+ getDebtRatio(coll_amt: BigNumber, debt_amt: BigNumber, coll_token: string): Promise<any>;
29
+ getPrice(token: string): Promise<any>;
30
+ getStabilityFee(vault_id: string): Promise<any>;
31
+ }
@@ -0,0 +1,327 @@
1
+ import { getPostConditionFromAsset, getReadOptions, getWriteOptions } from "../util";
2
+ import BigNumber from "bignumber.js";
3
+ import { callReadOnlyFunction, contractPrincipalCV, cvToValue, falseCV, FungibleConditionCode, standardPrincipalCV, stringAsciiCV, trueCV, uintCV } from "@stacks/transactions";
4
+ import { openContractCall } from "@stacks/connect";
5
+ export class LbtcManager {
6
+ constructor(stackswap) {
7
+ this.stackswap = stackswap;
8
+ }
9
+ async getPoxInfo() {
10
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_POX() + 'pox', 'get-pox-info', []);
11
+ const result_raw = await callReadOnlyFunction(function_option);
12
+ return cvToValue(result_raw);
13
+ }
14
+ async getVaultTypeInfo(coll_type) {
15
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES(), 'get-collateral-type-by-name', [stringAsciiCV(coll_type)]);
16
+ const result_raw = await callReadOnlyFunction(function_option);
17
+ return cvToValue(result_raw);
18
+ }
19
+ async getVaultIDFromUser() {
20
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_VAULT_DATA(), 'get-vaults', [standardPrincipalCV(this.stackswap.getSenderAddress())]);
21
+ const result_raw = await callReadOnlyFunction(function_option);
22
+ return cvToValue(result_raw);
23
+ }
24
+ async getVaultInfoFromID(vault_id) {
25
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_VAULT_DATA(), 'get-vault-by-id', [uintCV(vault_id)]);
26
+ const result_raw = await callReadOnlyFunction(function_option);
27
+ return cvToValue(result_raw);
28
+ }
29
+ async getVaultIDFromUser2() {
30
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_VAULT_DATA(), 'get-vault-entries', [standardPrincipalCV(this.stackswap.getSenderAddress())]);
31
+ const result_raw = await callReadOnlyFunction(function_option);
32
+ return cvToValue(result_raw);
33
+ }
34
+ async txCreateVaultWithSTX(coll_amt, debt_amt, coll_type, isStack, callback = null) {
35
+ let IsStack = trueCV;
36
+ if (isStack) {
37
+ IsStack = trueCV;
38
+ }
39
+ else {
40
+ IsStack = falseCV;
41
+ }
42
+ const post_condition = [];
43
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), FungibleConditionCode.Equal));
44
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_MORTGAGER(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), FungibleConditionCode.LessEqual));
45
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'collateralize-and-mint', [
46
+ uintCV(coll_amt.multipliedBy(10 ** 6).toString()),
47
+ uintCV(debt_amt.multipliedBy(10 ** 8).toString()),
48
+ IsStack(),
49
+ stringAsciiCV(coll_type),
50
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STX_RESERVE()),
51
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
52
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
53
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
54
+ ], post_condition, callback);
55
+ openContractCall(function_option);
56
+ }
57
+ async txCreateVaultWithSTSW(coll_amt, debt_amt, coll_type, callback = null) {
58
+ const post_condition = [];
59
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), FungibleConditionCode.Equal));
60
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_MORTGAGER(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), FungibleConditionCode.LessEqual));
61
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'collateralize-and-mint', [
62
+ uintCV(coll_amt.multipliedBy(10 ** 6).toString()),
63
+ uintCV(debt_amt.multipliedBy(10 ** 8).toString()),
64
+ falseCV(),
65
+ stringAsciiCV(coll_type),
66
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE()),
67
+ contractPrincipalCV(this.stackswap.config.BASE_STSW_DATA().addr.split('.')[0], this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
68
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
69
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
70
+ ], post_condition, callback);
71
+ openContractCall(function_option);
72
+ }
73
+ async txDepositCollateral(vault_id, coll_amt, coll_token, callback = null) {
74
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
75
+ if (coll_token === 'STX') {
76
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
77
+ }
78
+ const post_condition = [];
79
+ if (coll_token === 'STX') {
80
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), FungibleConditionCode.Equal));
81
+ }
82
+ else if (coll_token === 'STSW') {
83
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), FungibleConditionCode.Equal));
84
+ }
85
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'deposit', [
86
+ uintCV(vault_id.toString()),
87
+ uintCV(coll_amt.multipliedBy(10 ** 6).toString()),
88
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
89
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
90
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
91
+ ], post_condition, callback);
92
+ openContractCall(function_option);
93
+ }
94
+ async txToggleStacking(vault_id, callback = null) {
95
+ const post_condition = [];
96
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'toggle-stacking', [
97
+ uintCV(vault_id.toString()),
98
+ ], post_condition, callback);
99
+ openContractCall(function_option);
100
+ }
101
+ async txStackCollateral(vault_id, callback = null) {
102
+ const post_condition = [];
103
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'stack-collateral', [
104
+ uintCV(vault_id.toString()),
105
+ ], post_condition, callback);
106
+ openContractCall(function_option);
107
+ }
108
+ resolveStacker(stacker_name) {
109
+ switch (stacker_name) {
110
+ case 'stacker':
111
+ return this.stackswap.config.CONTRACT_NAME_STACKER1();
112
+ case 'stacker-2':
113
+ return this.stackswap.config.CONTRACT_NAME_STACKER2();
114
+ case 'stacker-3':
115
+ return this.stackswap.config.CONTRACT_NAME_STACKER3();
116
+ case 'stacker-4':
117
+ return this.stackswap.config.CONTRACT_NAME_STACKER4();
118
+ default:
119
+ return this.stackswap.config.CONTRACT_NAME_STACKER1();
120
+ }
121
+ }
122
+ async txEnableWithdraw(vault_id, stacker_name, callback = null) {
123
+ const post_condition = [];
124
+ const function_option = getWriteOptions(this.stackswap, this.resolveStacker(stacker_name), 'enable-vault-withdrawals', [
125
+ uintCV(vault_id.toString()),
126
+ ], post_condition, callback);
127
+ openContractCall(function_option);
128
+ }
129
+ async txWithdrawCollateral(vault_id, coll_amt, coll_token, callback = null) {
130
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
131
+ if (coll_token === 'STX') {
132
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
133
+ }
134
+ const post_condition = [];
135
+ if (coll_token === 'STX') {
136
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + reserve, this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), FungibleConditionCode.Equal));
137
+ }
138
+ else if (coll_token === 'STSW') {
139
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + reserve, this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), FungibleConditionCode.Equal));
140
+ }
141
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'withdraw', [
142
+ uintCV(vault_id.toString()),
143
+ uintCV(coll_amt.multipliedBy(10 ** 6).toString()),
144
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
145
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
146
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
147
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
148
+ ], post_condition, callback);
149
+ openContractCall(function_option);
150
+ }
151
+ async txMintDebt(vault_id, debt_amt, coll_token, callback = null) {
152
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
153
+ if (coll_token === 'STX') {
154
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
155
+ }
156
+ const post_condition = [];
157
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + reserve, this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), FungibleConditionCode.LessEqual));
158
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'mint', [
159
+ uintCV(vault_id.toString()),
160
+ uintCV(debt_amt.multipliedBy(10 ** 8).toString()),
161
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
162
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
163
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
164
+ ], post_condition, callback);
165
+ openContractCall(function_option);
166
+ }
167
+ async txBurnDebt(vault_id, debt_amt, coll_token, callback = null) {
168
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
169
+ if (coll_token === 'STX') {
170
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
171
+ }
172
+ const post_condition = [];
173
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), FungibleConditionCode.GreaterEqual));
174
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'burn', [
175
+ uintCV(vault_id.toString()),
176
+ uintCV(debt_amt.multipliedBy(10 ** 8).toString()),
177
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
178
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
179
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
180
+ ], post_condition, callback);
181
+ openContractCall(function_option);
182
+ }
183
+ async txCloseVault(vault_id, coll_token, coll_amount, debt_amount, callback = null) {
184
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
185
+ const post_condition = [];
186
+ if (coll_token === 'STX') {
187
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
188
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STX_RESERVE(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amount, FungibleConditionCode.Equal));
189
+ }
190
+ else {
191
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amount, FungibleConditionCode.Equal));
192
+ }
193
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, new BigNumber(debt_amount).multipliedBy(10 ** 8).multipliedBy(1.001).toFixed(0), FungibleConditionCode.LessEqual));
194
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'close-vault', [
195
+ uintCV(vault_id.toString()),
196
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
197
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
198
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
199
+ ], post_condition, callback);
200
+ openContractCall(function_option);
201
+ }
202
+ async txFinalLiquidation(vault_id, callback = null) {
203
+ const post_condition = [];
204
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'finalize-liquidation', [
205
+ uintCV(vault_id.toString()),
206
+ ], post_condition, callback);
207
+ openContractCall(function_option);
208
+ }
209
+ async txUnliquidationDeposit(vault_id, coll_amt, coll_token, callback = null) {
210
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
211
+ if (coll_token === 'STX') {
212
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
213
+ }
214
+ const post_condition = [];
215
+ if (coll_token === 'STX') {
216
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), FungibleConditionCode.Equal));
217
+ }
218
+ else if (coll_token === 'STSW') {
219
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), FungibleConditionCode.Equal));
220
+ }
221
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'deposit-to-unliquidate', [
222
+ uintCV(vault_id.toString()),
223
+ uintCV(coll_amt.multipliedBy(10 ** 6).toString()),
224
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
225
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
226
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
227
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
228
+ ], post_condition, callback);
229
+ openContractCall(function_option);
230
+ }
231
+ async txUnliquidationBurn(vault_id, debt_amt, coll_token, callback = null) {
232
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
233
+ if (coll_token === 'STX') {
234
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
235
+ }
236
+ const post_condition = [];
237
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), FungibleConditionCode.GreaterEqual));
238
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'burn-to-unliquidate', [
239
+ uintCV(vault_id.toString()),
240
+ uintCV(debt_amt.multipliedBy(10 ** 8).toString()),
241
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
242
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
243
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
244
+ ], post_condition, callback);
245
+ openContractCall(function_option);
246
+ }
247
+ async txLiquidationWithdraw(vault_id, coll_amt, coll_token, callback = null) {
248
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
249
+ if (coll_token === 'STX') {
250
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
251
+ }
252
+ const post_condition = [];
253
+ if (coll_token === 'STX') {
254
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
255
+ }
256
+ else if (coll_token === 'STSW') {
257
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, 0, FungibleConditionCode.GreaterEqual));
258
+ }
259
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'withdraw-liquidated', [
260
+ uintCV(vault_id.toString()),
261
+ uintCV(coll_amt.multipliedBy(10 ** 6).toString()),
262
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
263
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
264
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
265
+ ], post_condition, callback);
266
+ openContractCall(function_option);
267
+ }
268
+ async txLiquidationBurn(vault_id, debt_amt, coll_token, callback = null) {
269
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
270
+ if (coll_token === 'STX') {
271
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
272
+ }
273
+ const post_condition = [];
274
+ post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), FungibleConditionCode.LessEqual));
275
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'burn-liquidated', [
276
+ uintCV(vault_id.toString()),
277
+ uintCV(debt_amt.multipliedBy(10 ** 8).toString()),
278
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
279
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
280
+ ], post_condition, callback);
281
+ openContractCall(function_option);
282
+ }
283
+ async txCloseVaultLiquidated(vault_id, coll_token, callback = null) {
284
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
285
+ if (coll_token === 'STX') {
286
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
287
+ }
288
+ const post_condition = [];
289
+ const function_option = getWriteOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'close-vault-liquidated', [
290
+ uintCV(vault_id.toString()),
291
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
292
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
293
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
294
+ ], post_condition, callback);
295
+ openContractCall(function_option);
296
+ }
297
+ async getDebtRatio(coll_amt, debt_amt, coll_token) {
298
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
299
+ if (coll_token === 'STX') {
300
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
301
+ }
302
+ const function_option = getReadOptions(this.stackswap, reserve, 'calculate-current-collateral-to-debt-ratio', [
303
+ stringAsciiCV(coll_token),
304
+ uintCV(debt_amt.multipliedBy(10 ** 8).toFixed(0)),
305
+ uintCV(coll_amt.multipliedBy(10 ** 6).toFixed(0)),
306
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
307
+ ]);
308
+ const result_raw = await callReadOnlyFunction(function_option);
309
+ return cvToValue(result_raw);
310
+ }
311
+ async getPrice(token) {
312
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_ORACLE(), 'get-price', [
313
+ stringAsciiCV(token)
314
+ ]);
315
+ const result_raw = await callReadOnlyFunction(function_option);
316
+ return cvToValue(result_raw);
317
+ }
318
+ async getStabilityFee(vault_id) {
319
+ const function_option = getReadOptions(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'get-stability-fee-for-vault', [
320
+ uintCV(vault_id),
321
+ contractPrincipalCV(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
322
+ ]);
323
+ const result_raw = await callReadOnlyFunction(function_option);
324
+ return cvToValue(result_raw);
325
+ }
326
+ }
327
+ //# sourceMappingURL=lbtc.manager.js.map