stackswap-front-api-test-02 0.10.3 → 0.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/esm/index.d.ts +106 -0
  2. package/dist/esm/index.js +196 -0
  3. package/dist/esm/index.js.map +1 -0
  4. package/dist/esm/stackswap/config.d.ts +172 -0
  5. package/dist/esm/stackswap/config.js +302 -0
  6. package/dist/esm/stackswap/config.js.map +1 -0
  7. package/dist/esm/stackswap/manager/bridge.manager.d.ts +27 -0
  8. package/dist/esm/stackswap/manager/bridge.manager.js +215 -0
  9. package/dist/esm/stackswap/manager/bridge.manager.js.map +1 -0
  10. package/dist/esm/stackswap/manager/farm.manager.d.ts +41 -0
  11. package/dist/esm/stackswap/manager/farm.manager.js +293 -0
  12. package/dist/esm/stackswap/manager/farm.manager.js.map +1 -0
  13. package/dist/esm/stackswap/manager/farm2.manager.d.ts +106 -0
  14. package/dist/esm/stackswap/manager/farm2.manager.js +625 -0
  15. package/dist/esm/stackswap/manager/farm2.manager.js.map +1 -0
  16. package/dist/esm/stackswap/manager/farm3.manager.d.ts +121 -0
  17. package/dist/esm/stackswap/manager/farm3.manager.js +557 -0
  18. package/dist/esm/stackswap/manager/farm3.manager.js.map +1 -0
  19. package/dist/esm/stackswap/manager/governance.manager.d.ts +9 -0
  20. package/dist/esm/stackswap/manager/governance.manager.js +68 -0
  21. package/dist/esm/stackswap/manager/governance.manager.js.map +1 -0
  22. package/dist/esm/stackswap/manager/groupfarm.manager.d.ts +70 -0
  23. package/dist/esm/stackswap/manager/groupfarm.manager.js +379 -0
  24. package/dist/esm/stackswap/manager/groupfarm.manager.js.map +1 -0
  25. package/dist/esm/stackswap/manager/launchpad.manager.d.ts +18 -0
  26. package/dist/esm/stackswap/manager/launchpad.manager.js +253 -0
  27. package/dist/esm/stackswap/manager/launchpad.manager.js.map +1 -0
  28. package/dist/esm/stackswap/manager/lbtc.manager.d.ts +31 -0
  29. package/dist/esm/stackswap/manager/lbtc.manager.js +327 -0
  30. package/dist/esm/stackswap/manager/lbtc.manager.js.map +1 -0
  31. package/dist/esm/stackswap/manager/lbtcstaking.manager.d.ts +61 -0
  32. package/dist/esm/stackswap/manager/lbtcstaking.manager.js +248 -0
  33. package/dist/esm/stackswap/manager/lbtcstaking.manager.js.map +1 -0
  34. package/dist/esm/stackswap/manager/multisig.manager.d.ts +11 -0
  35. package/dist/esm/stackswap/manager/multisig.manager.js +50 -0
  36. package/dist/esm/stackswap/manager/multisig.manager.js.map +1 -0
  37. package/dist/esm/stackswap/manager/nft.manager.d.ts +55 -0
  38. package/dist/esm/stackswap/manager/nft.manager.js +274 -0
  39. package/dist/esm/stackswap/manager/nft.manager.js.map +1 -0
  40. package/dist/esm/stackswap/manager/operator.manager.d.ts +17 -0
  41. package/dist/esm/stackswap/manager/operator.manager.js +86 -0
  42. package/dist/esm/stackswap/manager/operator.manager.js.map +1 -0
  43. package/dist/esm/stackswap/manager/other.manager.d.ts +9 -0
  44. package/dist/esm/stackswap/manager/other.manager.js +41 -0
  45. package/dist/esm/stackswap/manager/other.manager.js.map +1 -0
  46. package/dist/esm/stackswap/manager/pool.manager.d.ts +34 -0
  47. package/dist/esm/stackswap/manager/pool.manager.js +172 -0
  48. package/dist/esm/stackswap/manager/pool.manager.js.map +1 -0
  49. package/dist/esm/stackswap/manager/poxl.manager.d.ts +16 -0
  50. package/dist/esm/stackswap/manager/poxl.manager.js +72 -0
  51. package/dist/esm/stackswap/manager/poxl.manager.js.map +1 -0
  52. package/dist/esm/stackswap/manager/staking.manager.d.ts +40 -0
  53. package/dist/esm/stackswap/manager/staking.manager.js +295 -0
  54. package/dist/esm/stackswap/manager/staking.manager.js.map +1 -0
  55. package/dist/esm/stackswap/manager/swap.manager.d.ts +71 -0
  56. package/dist/esm/stackswap/manager/swap.manager.js +730 -0
  57. package/dist/esm/stackswap/manager/swap.manager.js.map +1 -0
  58. package/dist/esm/stackswap/manager/token.manager.d.ts +32 -0
  59. package/dist/esm/stackswap/manager/token.manager.js +142 -0
  60. package/dist/esm/stackswap/manager/token.manager.js.map +1 -0
  61. package/dist/esm/stackswap/util.d.ts +35 -0
  62. package/dist/esm/stackswap/util.js +202 -0
  63. package/dist/esm/stackswap/util.js.map +1 -0
  64. package/dist/index.d.ts +106 -0
  65. package/dist/index.js +206 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/stackswap/config.d.ts +172 -0
  68. package/dist/stackswap/config.js +308 -0
  69. package/dist/stackswap/config.js.map +1 -0
  70. package/dist/stackswap/manager/bridge.manager.d.ts +27 -0
  71. package/dist/stackswap/manager/bridge.manager.js +222 -0
  72. package/dist/stackswap/manager/bridge.manager.js.map +1 -0
  73. package/dist/stackswap/manager/farm.manager.d.ts +41 -0
  74. package/dist/stackswap/manager/farm.manager.js +301 -0
  75. package/dist/stackswap/manager/farm.manager.js.map +1 -0
  76. package/dist/stackswap/manager/farm2.manager.d.ts +106 -0
  77. package/dist/stackswap/manager/farm2.manager.js +632 -0
  78. package/dist/stackswap/manager/farm2.manager.js.map +1 -0
  79. package/dist/stackswap/manager/farm3.manager.d.ts +121 -0
  80. package/dist/stackswap/manager/farm3.manager.js +564 -0
  81. package/dist/stackswap/manager/farm3.manager.js.map +1 -0
  82. package/dist/stackswap/manager/governance.manager.d.ts +9 -0
  83. package/dist/stackswap/manager/governance.manager.js +75 -0
  84. package/dist/stackswap/manager/governance.manager.js.map +1 -0
  85. package/dist/stackswap/manager/groupfarm.manager.d.ts +70 -0
  86. package/dist/stackswap/manager/groupfarm.manager.js +386 -0
  87. package/dist/stackswap/manager/groupfarm.manager.js.map +1 -0
  88. package/dist/stackswap/manager/launchpad.manager.d.ts +18 -0
  89. package/dist/stackswap/manager/launchpad.manager.js +257 -0
  90. package/dist/stackswap/manager/launchpad.manager.js.map +1 -0
  91. package/dist/stackswap/manager/lbtc.manager.d.ts +31 -0
  92. package/dist/stackswap/manager/lbtc.manager.js +334 -0
  93. package/dist/stackswap/manager/lbtc.manager.js.map +1 -0
  94. package/dist/stackswap/manager/lbtcstaking.manager.d.ts +61 -0
  95. package/dist/stackswap/manager/lbtcstaking.manager.js +255 -0
  96. package/dist/stackswap/manager/lbtcstaking.manager.js.map +1 -0
  97. package/dist/stackswap/manager/multisig.manager.d.ts +11 -0
  98. package/dist/stackswap/manager/multisig.manager.js +54 -0
  99. package/dist/stackswap/manager/multisig.manager.js.map +1 -0
  100. package/dist/stackswap/manager/nft.manager.d.ts +55 -0
  101. package/dist/stackswap/manager/nft.manager.js +281 -0
  102. package/dist/stackswap/manager/nft.manager.js.map +1 -0
  103. package/dist/stackswap/manager/operator.manager.d.ts +17 -0
  104. package/dist/stackswap/manager/operator.manager.js +93 -0
  105. package/dist/stackswap/manager/operator.manager.js.map +1 -0
  106. package/dist/stackswap/manager/other.manager.d.ts +9 -0
  107. package/dist/stackswap/manager/other.manager.js +45 -0
  108. package/dist/stackswap/manager/other.manager.js.map +1 -0
  109. package/dist/stackswap/manager/pool.manager.d.ts +34 -0
  110. package/dist/stackswap/manager/pool.manager.js +180 -0
  111. package/dist/stackswap/manager/pool.manager.js.map +1 -0
  112. package/dist/stackswap/manager/poxl.manager.d.ts +16 -0
  113. package/dist/stackswap/manager/poxl.manager.js +79 -0
  114. package/dist/stackswap/manager/poxl.manager.js.map +1 -0
  115. package/dist/stackswap/manager/staking.manager.d.ts +40 -0
  116. package/dist/stackswap/manager/staking.manager.js +302 -0
  117. package/dist/stackswap/manager/staking.manager.js.map +1 -0
  118. package/dist/stackswap/manager/swap.manager.d.ts +71 -0
  119. package/dist/stackswap/manager/swap.manager.js +737 -0
  120. package/dist/stackswap/manager/swap.manager.js.map +1 -0
  121. package/dist/stackswap/manager/token.manager.d.ts +32 -0
  122. package/dist/stackswap/manager/token.manager.js +150 -0
  123. package/dist/stackswap/manager/token.manager.js.map +1 -0
  124. package/dist/stackswap/util.d.ts +35 -0
  125. package/dist/stackswap/util.js +219 -0
  126. package/dist/stackswap/util.js.map +1 -0
  127. package/package.json +1 -1
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lbtc.manager.js","sourceRoot":"","sources":["../../../../src/stackswap/manager/lbtc.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { StackswapAPI } from "../../index";
3
+ export declare class LBTCStakingManager {
4
+ stackswap: StackswapAPI;
5
+ constructor(stackswap: StackswapAPI);
6
+ getStackingRoundFirstBlock(cycle: number): Promise<any>;
7
+ getStakingRound(block: number | string): Promise<any>;
8
+ getCurrentStakingRound(): Promise<any>;
9
+ getStaker(): Promise<{
10
+ unclaimedList: string[];
11
+ amount: string;
12
+ stakedList: string[];
13
+ }>;
14
+ getRoundData(round: number): Promise<{
15
+ rewardBase: any;
16
+ amount: any;
17
+ value: any;
18
+ }>;
19
+ getRoundDataDefault(round: number): Promise<{
20
+ rewardBase: any;
21
+ amount: any;
22
+ value: any;
23
+ }>;
24
+ getLBTCNFT(): Promise<string[]>;
25
+ getReward(round_id: number): Promise<string>;
26
+ getClaimRewardList(nfts: any): Promise<any[]>;
27
+ txStake(invest_amt: number, period_month: number, callback?: any): Promise<void>;
28
+ txClaim(round_id: number, stsw_amount: string, callback?: any): Promise<void>;
29
+ txUnstake(index: number, callback?: any): Promise<void>;
30
+ txReclaim(index: number, amountSTX: string, callback?: any): Promise<void>;
31
+ getRewardFromList(reward_list: any[]): Promise<any>;
32
+ getRewardOneByOne(unclaimed_list: string[]): Promise<BigNumber>;
33
+ getRewardTotal(unclaimed_list: string[], once?: number): Promise<BigNumber>;
34
+ getlbtcStakingData(round_input?: number, block_height_input?: string, price_dict?: any, tvl_lbtc_input?: string): Promise<{
35
+ bh: string;
36
+ round: number;
37
+ round_data: {
38
+ rewardBase: any;
39
+ amount: any;
40
+ value: any;
41
+ };
42
+ tvl_apr: any;
43
+ round_reward: any;
44
+ this_round_start_block: number;
45
+ next_round_start_block: number;
46
+ next_round_end_block: number;
47
+ max_apr: string;
48
+ min_apr: string;
49
+ tvl_usd: string;
50
+ tvl_lbtc: string;
51
+ }>;
52
+ getUserStakingData(): Promise<{
53
+ user_staked_amount: string;
54
+ stake_lbtc_claim_round_list: string[];
55
+ total_reward: BigNumber;
56
+ }>;
57
+ getUserInfoRound(cycle: number | string, user: string): Promise<{
58
+ amount: any;
59
+ value: any;
60
+ }>;
61
+ }