stackswap-front-api-test-02 1.0.88 → 1.0.91

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 (102) hide show
  1. package/README.md +10 -10
  2. package/dist/esm/index.d.ts +86 -84
  3. package/dist/esm/index.js +145 -143
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/stackswap/config.d.ts +114 -112
  6. package/dist/esm/stackswap/config.js +188 -185
  7. package/dist/esm/stackswap/config.js.map +1 -1
  8. package/dist/esm/stackswap/manager/farm.manager.d.ts +41 -41
  9. package/dist/esm/stackswap/manager/farm.manager.js +293 -293
  10. package/dist/esm/stackswap/manager/farm2.manager.d.ts +60 -60
  11. package/dist/esm/stackswap/manager/farm2.manager.js +403 -403
  12. package/dist/esm/stackswap/manager/governance.manager.d.ts +9 -9
  13. package/dist/esm/stackswap/manager/governance.manager.js +53 -53
  14. package/dist/esm/stackswap/manager/launchpad.manager.d.ts +13 -13
  15. package/dist/esm/stackswap/manager/launchpad.manager.js +147 -147
  16. package/dist/esm/stackswap/manager/lbtc.manager.d.ts +31 -31
  17. package/dist/esm/stackswap/manager/lbtc.manager.js +326 -326
  18. package/dist/esm/stackswap/manager/lbtcstaking.manager.d.ts +26 -0
  19. package/dist/esm/stackswap/manager/lbtcstaking.manager.js +153 -0
  20. package/dist/esm/stackswap/manager/lbtcstaking.manager.js.map +1 -0
  21. package/dist/esm/stackswap/manager/multisig.manager.d.ts +11 -11
  22. package/dist/esm/stackswap/manager/multisig.manager.js +51 -51
  23. package/dist/esm/stackswap/manager/nft.manager.d.ts +52 -52
  24. package/dist/esm/stackswap/manager/nft.manager.js +243 -243
  25. package/dist/esm/stackswap/manager/nft.manager.js.map +1 -1
  26. package/dist/esm/stackswap/manager/operator.manager.d.ts +17 -17
  27. package/dist/esm/stackswap/manager/operator.manager.js +85 -85
  28. package/dist/esm/stackswap/manager/other.manager.d.ts +9 -9
  29. package/dist/esm/stackswap/manager/other.manager.js +47 -47
  30. package/dist/esm/stackswap/manager/pool.manager.d.ts +34 -34
  31. package/dist/esm/stackswap/manager/pool.manager.js +171 -171
  32. package/dist/esm/stackswap/manager/poxl.manager.d.ts +16 -16
  33. package/dist/esm/stackswap/manager/poxl.manager.js +71 -71
  34. package/dist/esm/stackswap/manager/staking.manager.d.ts +25 -25
  35. package/dist/esm/stackswap/manager/staking.manager.js +233 -233
  36. package/dist/esm/stackswap/manager/staking.manager.js.map +1 -1
  37. package/dist/esm/stackswap/manager/swap.manager.d.ts +39 -39
  38. package/dist/esm/stackswap/manager/swap.manager.js +332 -332
  39. package/dist/esm/stackswap/manager/token.manager.d.ts +31 -31
  40. package/dist/esm/stackswap/manager/token.manager.js +133 -133
  41. package/dist/esm/stackswap/util.d.ts +35 -35
  42. package/dist/esm/stackswap/util.js +201 -201
  43. package/dist/index.d.ts +86 -84
  44. package/dist/index.js +154 -152
  45. package/dist/index.js.map +1 -1
  46. package/dist/index.umd.js +1 -1
  47. package/dist/stackswap/config.d.ts +114 -112
  48. package/dist/stackswap/config.js +193 -190
  49. package/dist/stackswap/config.js.map +1 -1
  50. package/dist/stackswap/manager/farm.manager.d.ts +41 -41
  51. package/dist/stackswap/manager/farm.manager.js +301 -301
  52. package/dist/stackswap/manager/farm2.manager.d.ts +60 -60
  53. package/dist/stackswap/manager/farm2.manager.js +410 -410
  54. package/dist/stackswap/manager/governance.manager.d.ts +9 -9
  55. package/dist/stackswap/manager/governance.manager.js +60 -60
  56. package/dist/stackswap/manager/launchpad.manager.d.ts +13 -13
  57. package/dist/stackswap/manager/launchpad.manager.js +151 -151
  58. package/dist/stackswap/manager/lbtc.manager.d.ts +31 -31
  59. package/dist/stackswap/manager/lbtc.manager.js +333 -333
  60. package/dist/stackswap/manager/lbtcstaking.manager.d.ts +26 -0
  61. package/dist/stackswap/manager/lbtcstaking.manager.js +160 -0
  62. package/dist/stackswap/manager/lbtcstaking.manager.js.map +1 -0
  63. package/dist/stackswap/manager/multisig.manager.d.ts +11 -11
  64. package/dist/stackswap/manager/multisig.manager.js +55 -55
  65. package/dist/stackswap/manager/nft.manager.d.ts +52 -52
  66. package/dist/stackswap/manager/nft.manager.js +250 -250
  67. package/dist/stackswap/manager/nft.manager.js.map +1 -1
  68. package/dist/stackswap/manager/operator.manager.d.ts +17 -17
  69. package/dist/stackswap/manager/operator.manager.js +92 -92
  70. package/dist/stackswap/manager/other.manager.d.ts +9 -9
  71. package/dist/stackswap/manager/other.manager.js +54 -54
  72. package/dist/stackswap/manager/pool.manager.d.ts +34 -34
  73. package/dist/stackswap/manager/pool.manager.js +179 -179
  74. package/dist/stackswap/manager/poxl.manager.d.ts +16 -16
  75. package/dist/stackswap/manager/poxl.manager.js +78 -78
  76. package/dist/stackswap/manager/staking.manager.d.ts +25 -25
  77. package/dist/stackswap/manager/staking.manager.js +240 -240
  78. package/dist/stackswap/manager/staking.manager.js.map +1 -1
  79. package/dist/stackswap/manager/swap.manager.d.ts +39 -39
  80. package/dist/stackswap/manager/swap.manager.js +339 -339
  81. package/dist/stackswap/manager/token.manager.d.ts +31 -31
  82. package/dist/stackswap/manager/token.manager.js +141 -141
  83. package/dist/stackswap/util.d.ts +35 -35
  84. package/dist/stackswap/util.js +218 -218
  85. package/package.json +43 -43
  86. package/src/index.ts +207 -204
  87. package/src/stackswap/config.ts +297 -292
  88. package/src/stackswap/manager/farm.manager.ts +399 -399
  89. package/src/stackswap/manager/farm2.manager.ts +463 -463
  90. package/src/stackswap/manager/governance.manager.ts +95 -95
  91. package/src/stackswap/manager/launchpad.manager.ts +190 -190
  92. package/src/stackswap/manager/lbtcstaking.manager.ts +219 -0
  93. package/src/stackswap/manager/multisig.manager.ts +87 -87
  94. package/src/stackswap/manager/nft.manager.ts +307 -311
  95. package/src/stackswap/manager/operator.manager.ts +123 -123
  96. package/src/stackswap/manager/other.manager.ts +71 -71
  97. package/src/stackswap/manager/pool.manager.ts +202 -202
  98. package/src/stackswap/manager/poxl.manager.ts +99 -99
  99. package/src/stackswap/manager/staking.manager.ts +321 -321
  100. package/src/stackswap/manager/swap.manager.ts +392 -392
  101. package/src/stackswap/manager/token.manager.ts +167 -167
  102. package/src/stackswap/util.ts +237 -237
@@ -1,334 +1,334 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LbtcManager = void 0;
7
- const util_1 = require("../util");
8
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
- const transactions_1 = require("@stacks/transactions");
10
- const connect_1 = require("@stacks/connect");
11
- class LbtcManager {
12
- constructor(stackswap) {
13
- this.stackswap = stackswap;
14
- }
15
- async getPoxInfo() {
16
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_POX() + 'pox', 'get-pox-info', []);
17
- const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
18
- return (0, transactions_1.cvToValue)(result_raw);
19
- }
20
- async getVaultTypeInfo(coll_type) {
21
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES(), 'get-collateral-type-by-name', [(0, transactions_1.stringAsciiCV)(coll_type)]);
22
- const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
23
- return (0, transactions_1.cvToValue)(result_raw);
24
- }
25
- async getVaultIDFromUser() {
26
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_VAULT_DATA(), 'get-vaults', [(0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress())]);
27
- const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
28
- return (0, transactions_1.cvToValue)(result_raw);
29
- }
30
- async getVaultInfoFromID(vault_id) {
31
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_VAULT_DATA(), 'get-vault-by-id', [(0, transactions_1.uintCV)(vault_id)]);
32
- const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
33
- return (0, transactions_1.cvToValue)(result_raw);
34
- }
35
- async getVaultIDFromUser2() {
36
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_VAULT_DATA(), 'get-vault-entries', [(0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress())]);
37
- const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
38
- return (0, transactions_1.cvToValue)(result_raw);
39
- }
40
- async txCreateVaultWithSTX(coll_amt, debt_amt, coll_type, isStack, callback = null) {
41
- let IsStack = transactions_1.trueCV;
42
- if (isStack) {
43
- IsStack = transactions_1.trueCV;
44
- }
45
- else {
46
- IsStack = transactions_1.falseCV;
47
- }
48
- const post_condition = [];
49
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
50
- post_condition.push(await (0, util_1.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(), transactions_1.FungibleConditionCode.LessEqual));
51
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'collateralize-and-mint', [
52
- (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
53
- (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
54
- IsStack(),
55
- (0, transactions_1.stringAsciiCV)(coll_type),
56
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STX_RESERVE()),
57
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
58
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
59
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
60
- ], post_condition, callback);
61
- (0, connect_1.openContractCall)(function_option);
62
- }
63
- async txCreateVaultWithSTSW(coll_amt, debt_amt, coll_type, callback = null) {
64
- const post_condition = [];
65
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
66
- post_condition.push(await (0, util_1.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(), transactions_1.FungibleConditionCode.LessEqual));
67
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'collateralize-and-mint', [
68
- (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
69
- (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
70
- (0, transactions_1.falseCV)(),
71
- (0, transactions_1.stringAsciiCV)(coll_type),
72
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE()),
73
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.BASE_STSW_DATA().addr.split('.')[0], this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
74
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
75
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
76
- ], post_condition, callback);
77
- (0, connect_1.openContractCall)(function_option);
78
- }
79
- async txDepositCollateral(vault_id, coll_amt, coll_token, callback = null) {
80
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
81
- if (coll_token === 'STX') {
82
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
83
- }
84
- const post_condition = [];
85
- if (coll_token === 'STX') {
86
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
87
- }
88
- else if (coll_token === 'STSW') {
89
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
90
- }
91
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'deposit', [
92
- (0, transactions_1.uintCV)(vault_id.toString()),
93
- (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
94
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
95
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
96
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
97
- ], post_condition, callback);
98
- (0, connect_1.openContractCall)(function_option);
99
- }
100
- async txToggleStacking(vault_id, callback = null) {
101
- const post_condition = [];
102
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'toggle-stacking', [
103
- (0, transactions_1.uintCV)(vault_id.toString()),
104
- ], post_condition, callback);
105
- (0, connect_1.openContractCall)(function_option);
106
- }
107
- async txStackCollateral(vault_id, callback = null) {
108
- const post_condition = [];
109
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'stack-collateral', [
110
- (0, transactions_1.uintCV)(vault_id.toString()),
111
- ], post_condition, callback);
112
- (0, connect_1.openContractCall)(function_option);
113
- }
114
- resolveStacker(stacker_name) {
115
- switch (stacker_name) {
116
- case 'stacker':
117
- return this.stackswap.config.CONTRACT_NAME_STACKER1();
118
- case 'stacker-2':
119
- return this.stackswap.config.CONTRACT_NAME_STACKER2();
120
- case 'stacker-3':
121
- return this.stackswap.config.CONTRACT_NAME_STACKER3();
122
- case 'stacker-4':
123
- return this.stackswap.config.CONTRACT_NAME_STACKER4();
124
- default:
125
- return this.stackswap.config.CONTRACT_NAME_STACKER1();
126
- }
127
- }
128
- async txEnableWithdraw(vault_id, stacker_name, callback = null) {
129
- const post_condition = [];
130
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.resolveStacker(stacker_name), 'enable-vault-withdrawals', [
131
- (0, transactions_1.uintCV)(vault_id.toString()),
132
- ], post_condition, callback);
133
- (0, connect_1.openContractCall)(function_option);
134
- }
135
- async txWithdrawCollateral(vault_id, coll_amt, coll_token, callback = null) {
136
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
137
- if (coll_token === 'STX') {
138
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
139
- }
140
- const post_condition = [];
141
- if (coll_token === 'STX') {
142
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + reserve, this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
143
- }
144
- else if (coll_token === 'STSW') {
145
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + reserve, this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
146
- }
147
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'withdraw', [
148
- (0, transactions_1.uintCV)(vault_id.toString()),
149
- (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
150
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
151
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
152
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
153
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
154
- ], post_condition, callback);
155
- (0, connect_1.openContractCall)(function_option);
156
- }
157
- async txMintDebt(vault_id, debt_amt, coll_token, callback = null) {
158
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
159
- if (coll_token === 'STX') {
160
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
161
- }
162
- const post_condition = [];
163
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + reserve, this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), transactions_1.FungibleConditionCode.LessEqual));
164
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'mint', [
165
- (0, transactions_1.uintCV)(vault_id.toString()),
166
- (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
167
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
168
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
169
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
170
- ], post_condition, callback);
171
- (0, connect_1.openContractCall)(function_option);
172
- }
173
- async txBurnDebt(vault_id, debt_amt, coll_token, callback = null) {
174
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
175
- if (coll_token === 'STX') {
176
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
177
- }
178
- const post_condition = [];
179
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), transactions_1.FungibleConditionCode.GreaterEqual));
180
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'burn', [
181
- (0, transactions_1.uintCV)(vault_id.toString()),
182
- (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
183
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
184
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
185
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
186
- ], post_condition, callback);
187
- (0, connect_1.openContractCall)(function_option);
188
- }
189
- async txCloseVault(vault_id, coll_token, coll_amount, debt_amount, callback = null) {
190
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
191
- const post_condition = [];
192
- if (coll_token === 'STX') {
193
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
194
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STX_RESERVE(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amount, transactions_1.FungibleConditionCode.Equal));
195
- }
196
- else {
197
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amount, transactions_1.FungibleConditionCode.Equal));
198
- }
199
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, new bignumber_js_1.default(debt_amount).multipliedBy(10 ** 8).multipliedBy(1.001).toFixed(0), transactions_1.FungibleConditionCode.LessEqual));
200
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'close-vault', [
201
- (0, transactions_1.uintCV)(vault_id.toString()),
202
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
203
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
204
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
205
- ], post_condition, callback);
206
- (0, connect_1.openContractCall)(function_option);
207
- }
208
- async txFinalLiquidation(vault_id, callback = null) {
209
- const post_condition = [];
210
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'finalize-liquidation', [
211
- (0, transactions_1.uintCV)(vault_id.toString()),
212
- ], post_condition, callback);
213
- (0, connect_1.openContractCall)(function_option);
214
- }
215
- async txUnliquidationDeposit(vault_id, coll_amt, coll_token, callback = null) {
216
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
217
- if (coll_token === 'STX') {
218
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
219
- }
220
- const post_condition = [];
221
- if (coll_token === 'STX') {
222
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
223
- }
224
- else if (coll_token === 'STSW') {
225
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
226
- }
227
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'deposit-to-unliquidate', [
228
- (0, transactions_1.uintCV)(vault_id.toString()),
229
- (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
230
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
231
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
232
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
233
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
234
- ], post_condition, callback);
235
- (0, connect_1.openContractCall)(function_option);
236
- }
237
- async txUnliquidationBurn(vault_id, debt_amt, coll_token, callback = null) {
238
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
239
- if (coll_token === 'STX') {
240
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
241
- }
242
- const post_condition = [];
243
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), transactions_1.FungibleConditionCode.GreaterEqual));
244
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'burn-to-unliquidate', [
245
- (0, transactions_1.uintCV)(vault_id.toString()),
246
- (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
247
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
248
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
249
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
250
- ], post_condition, callback);
251
- (0, connect_1.openContractCall)(function_option);
252
- }
253
- async txLiquidationWithdraw(vault_id, coll_amt, coll_token, callback = null) {
254
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
255
- if (coll_token === 'STX') {
256
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
257
- }
258
- const post_condition = [];
259
- if (coll_token === 'STX') {
260
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, 0, transactions_1.FungibleConditionCode.GreaterEqual));
261
- }
262
- else if (coll_token === 'STSW') {
263
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, 0, transactions_1.FungibleConditionCode.GreaterEqual));
264
- }
265
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'withdraw-liquidated', [
266
- (0, transactions_1.uintCV)(vault_id.toString()),
267
- (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
268
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
269
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
270
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
271
- ], post_condition, callback);
272
- (0, connect_1.openContractCall)(function_option);
273
- }
274
- async txLiquidationBurn(vault_id, debt_amt, coll_token, callback = null) {
275
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
276
- if (coll_token === 'STX') {
277
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
278
- }
279
- const post_condition = [];
280
- post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), transactions_1.FungibleConditionCode.LessEqual));
281
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'burn-liquidated', [
282
- (0, transactions_1.uintCV)(vault_id.toString()),
283
- (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
284
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
285
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
286
- ], post_condition, callback);
287
- (0, connect_1.openContractCall)(function_option);
288
- }
289
- async txCloseVaultLiquidated(vault_id, coll_token, callback = null) {
290
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
291
- if (coll_token === 'STX') {
292
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
293
- }
294
- const post_condition = [];
295
- const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'close-vault-liquidated', [
296
- (0, transactions_1.uintCV)(vault_id.toString()),
297
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
298
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
299
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
300
- ], post_condition, callback);
301
- (0, connect_1.openContractCall)(function_option);
302
- }
303
- async getDebtRatio(coll_amt, debt_amt, coll_token) {
304
- let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
305
- if (coll_token === 'STX') {
306
- reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
307
- }
308
- const function_option = (0, util_1.getReadOptions)(this.stackswap, reserve, 'calculate-current-collateral-to-debt-ratio', [
309
- (0, transactions_1.stringAsciiCV)(coll_token),
310
- (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toFixed(0)),
311
- (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toFixed(0)),
312
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
313
- ]);
314
- const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
315
- return (0, transactions_1.cvToValue)(result_raw);
316
- }
317
- async getPrice(token) {
318
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_ORACLE(), 'get-price', [
319
- (0, transactions_1.stringAsciiCV)(token)
320
- ]);
321
- const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
322
- return (0, transactions_1.cvToValue)(result_raw);
323
- }
324
- async getStabilityFee(vault_id) {
325
- const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'get-stability-fee-for-vault', [
326
- (0, transactions_1.uintCV)(vault_id),
327
- (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
328
- ]);
329
- const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
330
- return (0, transactions_1.cvToValue)(result_raw);
331
- }
332
- }
333
- exports.LbtcManager = LbtcManager;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LbtcManager = void 0;
7
+ const util_1 = require("../util");
8
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
+ const transactions_1 = require("@stacks/transactions");
10
+ const connect_1 = require("@stacks/connect");
11
+ class LbtcManager {
12
+ constructor(stackswap) {
13
+ this.stackswap = stackswap;
14
+ }
15
+ async getPoxInfo() {
16
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_POX() + 'pox', 'get-pox-info', []);
17
+ const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
18
+ return (0, transactions_1.cvToValue)(result_raw);
19
+ }
20
+ async getVaultTypeInfo(coll_type) {
21
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES(), 'get-collateral-type-by-name', [(0, transactions_1.stringAsciiCV)(coll_type)]);
22
+ const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
23
+ return (0, transactions_1.cvToValue)(result_raw);
24
+ }
25
+ async getVaultIDFromUser() {
26
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_VAULT_DATA(), 'get-vaults', [(0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress())]);
27
+ const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
28
+ return (0, transactions_1.cvToValue)(result_raw);
29
+ }
30
+ async getVaultInfoFromID(vault_id) {
31
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_VAULT_DATA(), 'get-vault-by-id', [(0, transactions_1.uintCV)(vault_id)]);
32
+ const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
33
+ return (0, transactions_1.cvToValue)(result_raw);
34
+ }
35
+ async getVaultIDFromUser2() {
36
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_VAULT_DATA(), 'get-vault-entries', [(0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress())]);
37
+ const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
38
+ return (0, transactions_1.cvToValue)(result_raw);
39
+ }
40
+ async txCreateVaultWithSTX(coll_amt, debt_amt, coll_type, isStack, callback = null) {
41
+ let IsStack = transactions_1.trueCV;
42
+ if (isStack) {
43
+ IsStack = transactions_1.trueCV;
44
+ }
45
+ else {
46
+ IsStack = transactions_1.falseCV;
47
+ }
48
+ const post_condition = [];
49
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
50
+ post_condition.push(await (0, util_1.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(), transactions_1.FungibleConditionCode.LessEqual));
51
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'collateralize-and-mint', [
52
+ (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
53
+ (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
54
+ IsStack(),
55
+ (0, transactions_1.stringAsciiCV)(coll_type),
56
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_STX_RESERVE()),
57
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
58
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
59
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
60
+ ], post_condition, callback);
61
+ (0, connect_1.openContractCall)(function_option);
62
+ }
63
+ async txCreateVaultWithSTSW(coll_amt, debt_amt, coll_type, callback = null) {
64
+ const post_condition = [];
65
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
66
+ post_condition.push(await (0, util_1.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(), transactions_1.FungibleConditionCode.LessEqual));
67
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'collateralize-and-mint', [
68
+ (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
69
+ (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
70
+ (0, transactions_1.falseCV)(),
71
+ (0, transactions_1.stringAsciiCV)(coll_type),
72
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE()),
73
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.BASE_STSW_DATA().addr.split('.')[0], this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
74
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
75
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
76
+ ], post_condition, callback);
77
+ (0, connect_1.openContractCall)(function_option);
78
+ }
79
+ async txDepositCollateral(vault_id, coll_amt, coll_token, callback = null) {
80
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
81
+ if (coll_token === 'STX') {
82
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
83
+ }
84
+ const post_condition = [];
85
+ if (coll_token === 'STX') {
86
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
87
+ }
88
+ else if (coll_token === 'STSW') {
89
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
90
+ }
91
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'deposit', [
92
+ (0, transactions_1.uintCV)(vault_id.toString()),
93
+ (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
94
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
95
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
96
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
97
+ ], post_condition, callback);
98
+ (0, connect_1.openContractCall)(function_option);
99
+ }
100
+ async txToggleStacking(vault_id, callback = null) {
101
+ const post_condition = [];
102
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'toggle-stacking', [
103
+ (0, transactions_1.uintCV)(vault_id.toString()),
104
+ ], post_condition, callback);
105
+ (0, connect_1.openContractCall)(function_option);
106
+ }
107
+ async txStackCollateral(vault_id, callback = null) {
108
+ const post_condition = [];
109
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'stack-collateral', [
110
+ (0, transactions_1.uintCV)(vault_id.toString()),
111
+ ], post_condition, callback);
112
+ (0, connect_1.openContractCall)(function_option);
113
+ }
114
+ resolveStacker(stacker_name) {
115
+ switch (stacker_name) {
116
+ case 'stacker':
117
+ return this.stackswap.config.CONTRACT_NAME_STACKER1();
118
+ case 'stacker-2':
119
+ return this.stackswap.config.CONTRACT_NAME_STACKER2();
120
+ case 'stacker-3':
121
+ return this.stackswap.config.CONTRACT_NAME_STACKER3();
122
+ case 'stacker-4':
123
+ return this.stackswap.config.CONTRACT_NAME_STACKER4();
124
+ default:
125
+ return this.stackswap.config.CONTRACT_NAME_STACKER1();
126
+ }
127
+ }
128
+ async txEnableWithdraw(vault_id, stacker_name, callback = null) {
129
+ const post_condition = [];
130
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.resolveStacker(stacker_name), 'enable-vault-withdrawals', [
131
+ (0, transactions_1.uintCV)(vault_id.toString()),
132
+ ], post_condition, callback);
133
+ (0, connect_1.openContractCall)(function_option);
134
+ }
135
+ async txWithdrawCollateral(vault_id, coll_amt, coll_token, callback = null) {
136
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
137
+ if (coll_token === 'STX') {
138
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
139
+ }
140
+ const post_condition = [];
141
+ if (coll_token === 'STX') {
142
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + reserve, this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
143
+ }
144
+ else if (coll_token === 'STSW') {
145
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + reserve, this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
146
+ }
147
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'withdraw', [
148
+ (0, transactions_1.uintCV)(vault_id.toString()),
149
+ (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
150
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
151
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
152
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
153
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
154
+ ], post_condition, callback);
155
+ (0, connect_1.openContractCall)(function_option);
156
+ }
157
+ async txMintDebt(vault_id, debt_amt, coll_token, callback = null) {
158
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
159
+ if (coll_token === 'STX') {
160
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
161
+ }
162
+ const post_condition = [];
163
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + reserve, this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), transactions_1.FungibleConditionCode.LessEqual));
164
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'mint', [
165
+ (0, transactions_1.uintCV)(vault_id.toString()),
166
+ (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
167
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
168
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
169
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
170
+ ], post_condition, callback);
171
+ (0, connect_1.openContractCall)(function_option);
172
+ }
173
+ async txBurnDebt(vault_id, debt_amt, coll_token, callback = null) {
174
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
175
+ if (coll_token === 'STX') {
176
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
177
+ }
178
+ const post_condition = [];
179
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), transactions_1.FungibleConditionCode.GreaterEqual));
180
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'burn', [
181
+ (0, transactions_1.uintCV)(vault_id.toString()),
182
+ (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
183
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
184
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
185
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
186
+ ], post_condition, callback);
187
+ (0, connect_1.openContractCall)(function_option);
188
+ }
189
+ async txCloseVault(vault_id, coll_token, coll_amount, debt_amount, callback = null) {
190
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
191
+ const post_condition = [];
192
+ if (coll_token === 'STX') {
193
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
194
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STX_RESERVE(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amount, transactions_1.FungibleConditionCode.Equal));
195
+ }
196
+ else {
197
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amount, transactions_1.FungibleConditionCode.Equal));
198
+ }
199
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, new bignumber_js_1.default(debt_amount).multipliedBy(10 ** 8).multipliedBy(1.001).toFixed(0), transactions_1.FungibleConditionCode.LessEqual));
200
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'close-vault', [
201
+ (0, transactions_1.uintCV)(vault_id.toString()),
202
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
203
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
204
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
205
+ ], post_condition, callback);
206
+ (0, connect_1.openContractCall)(function_option);
207
+ }
208
+ async txFinalLiquidation(vault_id, callback = null) {
209
+ const post_condition = [];
210
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'finalize-liquidation', [
211
+ (0, transactions_1.uintCV)(vault_id.toString()),
212
+ ], post_condition, callback);
213
+ (0, connect_1.openContractCall)(function_option);
214
+ }
215
+ async txUnliquidationDeposit(vault_id, coll_amt, coll_token, callback = null) {
216
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
217
+ if (coll_token === 'STX') {
218
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
219
+ }
220
+ const post_condition = [];
221
+ if (coll_token === 'STX') {
222
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
223
+ }
224
+ else if (coll_token === 'STSW') {
225
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, coll_amt.multipliedBy(10 ** 6).toString(), transactions_1.FungibleConditionCode.Equal));
226
+ }
227
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'deposit-to-unliquidate', [
228
+ (0, transactions_1.uintCV)(vault_id.toString()),
229
+ (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
230
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
231
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
232
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
233
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
234
+ ], post_condition, callback);
235
+ (0, connect_1.openContractCall)(function_option);
236
+ }
237
+ async txUnliquidationBurn(vault_id, debt_amt, coll_token, callback = null) {
238
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
239
+ if (coll_token === 'STX') {
240
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
241
+ }
242
+ const post_condition = [];
243
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), transactions_1.FungibleConditionCode.GreaterEqual));
244
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'burn-to-unliquidate', [
245
+ (0, transactions_1.uintCV)(vault_id.toString()),
246
+ (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
247
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
248
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
249
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
250
+ ], post_condition, callback);
251
+ (0, connect_1.openContractCall)(function_option);
252
+ }
253
+ async txLiquidationWithdraw(vault_id, coll_amt, coll_token, callback = null) {
254
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
255
+ if (coll_token === 'STX') {
256
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
257
+ }
258
+ const post_condition = [];
259
+ if (coll_token === 'STX') {
260
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_WSTX_DATA().addr, 0, transactions_1.FungibleConditionCode.GreaterEqual));
261
+ }
262
+ else if (coll_token === 'STSW') {
263
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_STSW_DATA().addr, 0, transactions_1.FungibleConditionCode.GreaterEqual));
264
+ }
265
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'withdraw-liquidated', [
266
+ (0, transactions_1.uintCV)(vault_id.toString()),
267
+ (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toString()),
268
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
269
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
270
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
271
+ ], post_condition, callback);
272
+ (0, connect_1.openContractCall)(function_option);
273
+ }
274
+ async txLiquidationBurn(vault_id, debt_amt, coll_token, callback = null) {
275
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
276
+ if (coll_token === 'STX') {
277
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
278
+ }
279
+ const post_condition = [];
280
+ post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_LBTC_DATA().addr, debt_amt.multipliedBy(10 ** 8).toString(), transactions_1.FungibleConditionCode.LessEqual));
281
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'burn-liquidated', [
282
+ (0, transactions_1.uintCV)(vault_id.toString()),
283
+ (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toString()),
284
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
285
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
286
+ ], post_condition, callback);
287
+ (0, connect_1.openContractCall)(function_option);
288
+ }
289
+ async txCloseVaultLiquidated(vault_id, coll_token, callback = null) {
290
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
291
+ if (coll_token === 'STX') {
292
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
293
+ }
294
+ const post_condition = [];
295
+ const function_option = (0, util_1.getWriteOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'close-vault-liquidated', [
296
+ (0, transactions_1.uintCV)(vault_id.toString()),
297
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), reserve),
298
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.BASE_STSW_DATA().addr.split('.')[1]),
299
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES())
300
+ ], post_condition, callback);
301
+ (0, connect_1.openContractCall)(function_option);
302
+ }
303
+ async getDebtRatio(coll_amt, debt_amt, coll_token) {
304
+ let reserve = this.stackswap.config.CONTRACT_NAME_SIP10_RESERVE();
305
+ if (coll_token === 'STX') {
306
+ reserve = this.stackswap.config.CONTRACT_NAME_STX_RESERVE();
307
+ }
308
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, reserve, 'calculate-current-collateral-to-debt-ratio', [
309
+ (0, transactions_1.stringAsciiCV)(coll_token),
310
+ (0, transactions_1.uintCV)(debt_amt.multipliedBy(10 ** 8).toFixed(0)),
311
+ (0, transactions_1.uintCV)(coll_amt.multipliedBy(10 ** 6).toFixed(0)),
312
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_ORACLE())
313
+ ]);
314
+ const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
315
+ return (0, transactions_1.cvToValue)(result_raw);
316
+ }
317
+ async getPrice(token) {
318
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_ORACLE(), 'get-price', [
319
+ (0, transactions_1.stringAsciiCV)(token)
320
+ ]);
321
+ const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
322
+ return (0, transactions_1.cvToValue)(result_raw);
323
+ }
324
+ async getStabilityFee(vault_id) {
325
+ const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_MORTGAGER(), 'get-stability-fee-for-vault', [
326
+ (0, transactions_1.uintCV)(vault_id),
327
+ (0, transactions_1.contractPrincipalCV)(this.stackswap.config.STACKSWAP_ADDRESS(), this.stackswap.config.CONTRACT_NAME_COLLATERAL_TYPES()),
328
+ ]);
329
+ const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
330
+ return (0, transactions_1.cvToValue)(result_raw);
331
+ }
332
+ }
333
+ exports.LbtcManager = LbtcManager;
334
334
  //# sourceMappingURL=lbtc.manager.js.map