@affluent-org/sdk 0.0.1

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 (218) hide show
  1. package/.prettierrc +11 -0
  2. package/Refactoring.md +548 -0
  3. package/dist/_compiled/Account.compiled.json +1 -0
  4. package/dist/_compiled/Receipt.compiled.json +1 -0
  5. package/dist/_compiled/WTONWallet.compiled.json +1 -0
  6. package/dist/_compiled/index.d.ts +4 -0
  7. package/dist/_compiled/index.js +12 -0
  8. package/dist/affluent.d.ts +14 -0
  9. package/dist/affluent.js +20 -0
  10. package/dist/constants/constants.d.ts +2 -0
  11. package/dist/constants/constants.js +5 -0
  12. package/dist/constants/contracts.d.ts +9 -0
  13. package/dist/constants/contracts.js +18 -0
  14. package/dist/context.d.ts +43 -0
  15. package/dist/context.js +90 -0
  16. package/dist/contracts/common/type.d.ts +16 -0
  17. package/dist/contracts/common/type.js +2 -0
  18. package/dist/contracts/common/utils.d.ts +3 -0
  19. package/dist/contracts/common/utils.js +16 -0
  20. package/dist/contracts/core/account/index.d.ts +38 -0
  21. package/dist/contracts/core/account/index.js +128 -0
  22. package/dist/contracts/core/account/type.d.ts +18 -0
  23. package/dist/contracts/core/account/type.js +2 -0
  24. package/dist/contracts/core/pool/index.d.ts +149 -0
  25. package/dist/contracts/core/pool/index.js +379 -0
  26. package/dist/contracts/core/pool/serializer.d.ts +15 -0
  27. package/dist/contracts/core/pool/serializer.js +307 -0
  28. package/dist/contracts/core/pool/type.d.ts +136 -0
  29. package/dist/contracts/core/pool/type.js +2 -0
  30. package/dist/contracts/dedust-farm/MockDedustFarm.d.ts +41 -0
  31. package/dist/contracts/dedust-farm/MockDedustFarm.js +79 -0
  32. package/dist/contracts/external/tonstaker.d.ts +18 -0
  33. package/dist/contracts/external/tonstaker.js +26 -0
  34. package/dist/contracts/factory/factory.d.ts +24 -0
  35. package/dist/contracts/factory/factory.js +58 -0
  36. package/dist/contracts/factory/type.d.ts +11 -0
  37. package/dist/contracts/factory/type.js +2 -0
  38. package/dist/contracts/farm/distributor.d.ts +43 -0
  39. package/dist/contracts/farm/distributor.js +83 -0
  40. package/dist/contracts/farm/receipt.d.ts +40 -0
  41. package/dist/contracts/farm/receipt.js +68 -0
  42. package/dist/contracts/irm/jump-irm/serializer.d.ts +4 -0
  43. package/dist/contracts/irm/jump-irm/serializer.js +26 -0
  44. package/dist/contracts/irm/jump-irm/type.d.ts +8 -0
  45. package/dist/contracts/irm/jump-irm/type.js +2 -0
  46. package/dist/contracts/jetton/jetton-minter.d.ts +23 -0
  47. package/dist/contracts/jetton/jetton-minter.js +46 -0
  48. package/dist/contracts/jetton/jetton-wallet.d.ts +67 -0
  49. package/dist/contracts/jetton/jetton-wallet.js +119 -0
  50. package/dist/contracts/jetton/type.d.ts +7 -0
  51. package/dist/contracts/jetton/type.js +2 -0
  52. package/dist/contracts/liquid_token/dedust/minter.d.ts +56 -0
  53. package/dist/contracts/liquid_token/dedust/minter.js +112 -0
  54. package/dist/contracts/liquid_token/dedust/wallet.d.ts +127 -0
  55. package/dist/contracts/liquid_token/dedust/wallet.js +213 -0
  56. package/dist/contracts/liquid_token/stonfi/LFStonfiJettonMinter.d.ts +53 -0
  57. package/dist/contracts/liquid_token/stonfi/LFStonfiJettonMinter.js +110 -0
  58. package/dist/contracts/liquid_token/stonfi/LFStonfiJettonWallet.d.ts +169 -0
  59. package/dist/contracts/liquid_token/stonfi/LFStonfiJettonWallet.js +288 -0
  60. package/dist/contracts/oracle/composite-onchain-oracle/index.d.ts +108 -0
  61. package/dist/contracts/oracle/composite-onchain-oracle/index.js +185 -0
  62. package/dist/contracts/oracle/parser.d.ts +7 -0
  63. package/dist/contracts/oracle/parser.js +77 -0
  64. package/dist/contracts/oracle/redstone-onchain-oracle/index.d.ts +56 -0
  65. package/dist/contracts/oracle/redstone-onchain-oracle/index.js +159 -0
  66. package/dist/contracts/oracle/redstone-onchain-oracle/serializer.d.ts +4 -0
  67. package/dist/contracts/oracle/redstone-onchain-oracle/serializer.js +137 -0
  68. package/dist/contracts/oracle/redstone-onchain-oracle/type.d.ts +57 -0
  69. package/dist/contracts/oracle/redstone-onchain-oracle/type.js +18 -0
  70. package/dist/contracts/oracle/redstone-oracle/serializer.d.ts +3 -0
  71. package/dist/contracts/oracle/redstone-oracle/serializer.js +30 -0
  72. package/dist/contracts/oracle/redstone-oracle/type.d.ts +9 -0
  73. package/dist/contracts/oracle/redstone-oracle/type.js +2 -0
  74. package/dist/contracts/oracle/redstone-parser.d.ts +9 -0
  75. package/dist/contracts/oracle/redstone-parser.js +58 -0
  76. package/dist/contracts/rfq/rfq_auction/index.d.ts +216 -0
  77. package/dist/contracts/rfq/rfq_auction/index.js +334 -0
  78. package/dist/contracts/rfq/rfq_batch/index.d.ts +346 -0
  79. package/dist/contracts/rfq/rfq_batch/index.js +448 -0
  80. package/dist/contracts/rfq/rfq_event_emitter/index.d.ts +132 -0
  81. package/dist/contracts/rfq/rfq_event_emitter/index.js +143 -0
  82. package/dist/contracts/stonfi-farm/MockStonfiFarmItem.d.ts +41 -0
  83. package/dist/contracts/stonfi-farm/MockStonfiFarmItem.js +83 -0
  84. package/dist/contracts/stonfi-farm/MockStonfiFarmMinter.d.ts +45 -0
  85. package/dist/contracts/stonfi-farm/MockStonfiFarmMinter.js +92 -0
  86. package/dist/contracts/unknown-contract/index.d.ts +14 -0
  87. package/dist/contracts/unknown-contract/index.js +18 -0
  88. package/dist/contracts/vault/share-vault/index.d.ts +206 -0
  89. package/dist/contracts/vault/share-vault/index.js +373 -0
  90. package/dist/contracts/vault/strategy-vault/codec.d.ts +710 -0
  91. package/dist/contracts/vault/strategy-vault/codec.js +1256 -0
  92. package/dist/contracts/vault/strategy-vault/computation.d.ts +11 -0
  93. package/dist/contracts/vault/strategy-vault/computation.js +56 -0
  94. package/dist/contracts/vault/strategy-vault/constants.d.ts +163 -0
  95. package/dist/contracts/vault/strategy-vault/constants.js +170 -0
  96. package/dist/contracts/vault/strategy-vault/index.d.ts +587 -0
  97. package/dist/contracts/vault/strategy-vault/index.js +406 -0
  98. package/dist/contracts/vault/strategy-vault/type.d.ts +115 -0
  99. package/dist/contracts/vault/strategy-vault/type.js +2 -0
  100. package/dist/contracts/wton/jetton-minter.d.ts +35 -0
  101. package/dist/contracts/wton/jetton-minter.js +71 -0
  102. package/dist/contracts/wton/jetton-wallet.d.ts +90 -0
  103. package/dist/contracts/wton/jetton-wallet.js +153 -0
  104. package/dist/contracts/wton/type.d.ts +7 -0
  105. package/dist/contracts/wton/type.js +2 -0
  106. package/dist/index.d.ts +34 -0
  107. package/dist/index.js +65 -0
  108. package/dist/lib/assert.d.ts +1 -0
  109. package/dist/lib/assert.js +9 -0
  110. package/dist/lib/query-cache.d.ts +5 -0
  111. package/dist/lib/query-cache.js +57 -0
  112. package/dist/lib/send-msg.d.ts +11 -0
  113. package/dist/lib/send-msg.js +9 -0
  114. package/dist/services/composite-oracle/computation.d.ts +55 -0
  115. package/dist/services/composite-oracle/computation.js +295 -0
  116. package/dist/services/composite-oracle/index.d.ts +45 -0
  117. package/dist/services/composite-oracle/index.js +110 -0
  118. package/dist/services/composite-oracle/query.d.ts +36 -0
  119. package/dist/services/composite-oracle/query.js +251 -0
  120. package/dist/services/composite-oracle/types.d.ts +82 -0
  121. package/dist/services/composite-oracle/types.js +11 -0
  122. package/dist/services/pool/computation.d.ts +75 -0
  123. package/dist/services/pool/computation.js +219 -0
  124. package/dist/services/pool/index.d.ts +94 -0
  125. package/dist/services/pool/index.js +139 -0
  126. package/dist/services/pool/oracle.d.ts +20 -0
  127. package/dist/services/pool/oracle.js +61 -0
  128. package/dist/services/pool/owner/index.d.ts +37 -0
  129. package/dist/services/pool/owner/index.js +76 -0
  130. package/dist/services/pool/owner/types.d.ts +18 -0
  131. package/dist/services/pool/owner/types.js +2 -0
  132. package/dist/services/pool/query.d.ts +64 -0
  133. package/dist/services/pool/query.js +282 -0
  134. package/dist/services/pool/user/index.d.ts +86 -0
  135. package/dist/services/pool/user/index.js +285 -0
  136. package/dist/services/pool/user/types.d.ts +44 -0
  137. package/dist/services/pool/user/types.js +2 -0
  138. package/dist/services/rfq-auction/index.d.ts +81 -0
  139. package/dist/services/rfq-auction/index.js +93 -0
  140. package/dist/services/rfq-auction/oracle.d.ts +19 -0
  141. package/dist/services/rfq-auction/oracle.js +60 -0
  142. package/dist/services/rfq-auction/query.d.ts +50 -0
  143. package/dist/services/rfq-auction/query.js +19 -0
  144. package/dist/services/rfq-auction/user/index.d.ts +63 -0
  145. package/dist/services/rfq-auction/user/index.js +218 -0
  146. package/dist/services/rfq-auction/user/types.d.ts +29 -0
  147. package/dist/services/rfq-auction/user/types.js +2 -0
  148. package/dist/services/rfq-batch/index.d.ts +78 -0
  149. package/dist/services/rfq-batch/index.js +132 -0
  150. package/dist/services/rfq-batch/oracle.d.ts +22 -0
  151. package/dist/services/rfq-batch/oracle.js +54 -0
  152. package/dist/services/rfq-batch/query.d.ts +46 -0
  153. package/dist/services/rfq-batch/query.js +34 -0
  154. package/dist/services/rfq-batch/user/index.d.ts +79 -0
  155. package/dist/services/rfq-batch/user/index.js +171 -0
  156. package/dist/services/rfq-batch/user/types.d.ts +37 -0
  157. package/dist/services/rfq-batch/user/types.js +2 -0
  158. package/dist/services/share-vault/computation.d.ts +24 -0
  159. package/dist/services/share-vault/computation.js +42 -0
  160. package/dist/services/share-vault/index.d.ts +90 -0
  161. package/dist/services/share-vault/index.js +128 -0
  162. package/dist/services/share-vault/manager/index.d.ts +40 -0
  163. package/dist/services/share-vault/manager/index.js +111 -0
  164. package/dist/services/share-vault/manager/types.d.ts +23 -0
  165. package/dist/services/share-vault/manager/types.js +2 -0
  166. package/dist/services/share-vault/owner/index.d.ts +64 -0
  167. package/dist/services/share-vault/owner/index.js +122 -0
  168. package/dist/services/share-vault/owner/types.d.ts +33 -0
  169. package/dist/services/share-vault/owner/types.js +2 -0
  170. package/dist/services/share-vault/query.d.ts +34 -0
  171. package/dist/services/share-vault/query.js +138 -0
  172. package/dist/services/share-vault/user/index.d.ts +33 -0
  173. package/dist/services/share-vault/user/index.js +106 -0
  174. package/dist/services/share-vault/user/types.d.ts +13 -0
  175. package/dist/services/share-vault/user/types.js +2 -0
  176. package/dist/services/strategy-vault/index.d.ts +2124 -0
  177. package/dist/services/strategy-vault/index.js +268 -0
  178. package/dist/services/strategy-vault/manager/index.d.ts +1968 -0
  179. package/dist/services/strategy-vault/manager/index.js +475 -0
  180. package/dist/services/strategy-vault/manager/types.d.ts +144 -0
  181. package/dist/services/strategy-vault/manager/types.js +2 -0
  182. package/dist/services/strategy-vault/oracle.d.ts +66 -0
  183. package/dist/services/strategy-vault/oracle.js +162 -0
  184. package/dist/services/strategy-vault/owner/index.d.ts +277 -0
  185. package/dist/services/strategy-vault/owner/index.js +333 -0
  186. package/dist/services/strategy-vault/owner/types.d.ts +146 -0
  187. package/dist/services/strategy-vault/owner/types.js +2 -0
  188. package/dist/services/strategy-vault/query.d.ts +138 -0
  189. package/dist/services/strategy-vault/query.js +59 -0
  190. package/dist/services/strategy-vault/user/index.d.ts +89 -0
  191. package/dist/services/strategy-vault/user/index.js +219 -0
  192. package/dist/services/strategy-vault/user/types.d.ts +46 -0
  193. package/dist/services/strategy-vault/user/types.js +2 -0
  194. package/dist/types/sender.d.ts +7 -0
  195. package/dist/types/sender.js +2 -0
  196. package/dist/utils/action-parser.d.ts +7 -0
  197. package/dist/utils/action-parser.js +20 -0
  198. package/dist/utils/external-message-hash.d.ts +45 -0
  199. package/dist/utils/external-message-hash.js +65 -0
  200. package/dist/utils/oracle/redstone/readonlyCachedRedstone.d.ts +3 -0
  201. package/dist/utils/oracle/redstone/readonlyCachedRedstone.js +25 -0
  202. package/dist/utils/oracle/redstone/redstoneHelper.d.ts +21 -0
  203. package/dist/utils/oracle/redstone/redstoneHelper.js +228 -0
  204. package/dist/utils/parser.d.ts +40 -0
  205. package/dist/utils/parser.js +580 -0
  206. package/dist/utils/pending-tracker/index.d.ts +14 -0
  207. package/dist/utils/pending-tracker/index.js +34 -0
  208. package/dist/utils/pending-tracker/trackable-sender.d.ts +16 -0
  209. package/dist/utils/pending-tracker/trackable-sender.js +87 -0
  210. package/dist/utils/pending-tracker/type.d.ts +78 -0
  211. package/dist/utils/pending-tracker/type.js +2 -0
  212. package/dist/utils/pending-tracker/v3-client.d.ts +31 -0
  213. package/dist/utils/pending-tracker/v3-client.js +104 -0
  214. package/dist/utils/risk_calculator/risk_calculator.d.ts +45 -0
  215. package/dist/utils/risk_calculator/risk_calculator.js +332 -0
  216. package/dist/utils/utils.d.ts +5 -0
  217. package/dist/utils/utils.js +12 -0
  218. package/package.json +46 -0
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.createSetOwnerMsg = createSetOwnerMsg;
18
+ exports.createSetGuardianAddressMsg = createSetGuardianAddressMsg;
19
+ exports.createSetManagerMsg = createSetManagerMsg;
20
+ exports.createSetPrivateVaultMsg = createSetPrivateVaultMsg;
21
+ exports.createSetWhitelistedMintersMsg = createSetWhitelistedMintersMsg;
22
+ exports.createSetMaxLeverageRatioMsg = createSetMaxLeverageRatioMsg;
23
+ exports.createExecuteOwnerActionMsg = createExecuteOwnerActionMsg;
24
+ exports.createRevertOwnerActionMsg = createRevertOwnerActionMsg;
25
+ exports.createSetTimelockMsg = createSetTimelockMsg;
26
+ exports.createSetManagementFeeRecipientAddressMsg = createSetManagementFeeRecipientAddressMsg;
27
+ exports.createSetProtocolFeeRatePerYearMsg = createSetProtocolFeeRatePerYearMsg;
28
+ exports.createSetProtocolFeeManagerAddressMsg = createSetProtocolFeeManagerAddressMsg;
29
+ exports.createSetFactorialPoolConfigMsg = createSetFactorialPoolConfigMsg;
30
+ exports.createSetAssetConfigMsg = createSetAssetConfigMsg;
31
+ exports.createSetRFQConfigMsg = createSetRFQConfigMsg;
32
+ exports.createSetManagementFeeRatePerYearMsg = createSetManagementFeeRatePerYearMsg;
33
+ exports.createSetDepositCloseTimestampMsg = createSetDepositCloseTimestampMsg;
34
+ exports.createSetWithdrawOpenTimestampMsg = createSetWithdrawOpenTimestampMsg;
35
+ exports.createSetGasConfigMsg = createSetGasConfigMsg;
36
+ exports.createSetOracleConfigMsg = createSetOracleConfigMsg;
37
+ exports.createSetWalletCodeMsg = createSetWalletCodeMsg;
38
+ exports.createSetDataAggregatorCodeMsg = createSetDataAggregatorCodeMsg;
39
+ exports.createSetRFQCodeMsg = createSetRFQCodeMsg;
40
+ exports.createSetContentMsg = createSetContentMsg;
41
+ exports.createUpgradeCodeMsg = createUpgradeCodeMsg;
42
+ exports.createCollectProtocolFeeMsg = createCollectProtocolFeeMsg;
43
+ exports.createClaimManagementFeeMsg = createClaimManagementFeeMsg;
44
+ const core_1 = require("@ton/core");
45
+ const utils_1 = require("../../../contracts/common/utils");
46
+ const strategy_vault_1 = require("../../../contracts/vault/strategy-vault");
47
+ const query_1 = require("../query");
48
+ __exportStar(require("./types"), exports);
49
+ async function createSetOwnerMsg(ctx, params) {
50
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
51
+ const to = vault.address;
52
+ const value = (0, core_1.toNano)(0.03);
53
+ const body = strategy_vault_1.StrategyVault.createSetOwnerAddressMsgBody((0, utils_1.toAddress)(params.owner), params.queryId);
54
+ return {
55
+ opts: { vault },
56
+ input: { to, value, body },
57
+ };
58
+ }
59
+ async function createSetGuardianAddressMsg(ctx, params, value) {
60
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
61
+ const to = vault.address;
62
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
63
+ const body = strategy_vault_1.StrategyVault.createSetGuardianAddressMsgBody((0, utils_1.toAddress)(params.guardianAddress), params.queryId);
64
+ return {
65
+ opts: { vault },
66
+ input: { to, value: resolvedValue, body },
67
+ };
68
+ }
69
+ async function createSetManagerMsg(ctx, params) {
70
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
71
+ const to = vault.address;
72
+ const value = (0, core_1.toNano)(0.03);
73
+ const body = strategy_vault_1.StrategyVault.createSetManagerAddressMsgBody((0, utils_1.toAddress)(params.manager), params.queryId);
74
+ return {
75
+ opts: { vault },
76
+ input: { to, value, body },
77
+ };
78
+ }
79
+ async function createSetPrivateVaultMsg(ctx, params, value) {
80
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
81
+ const to = vault.address;
82
+ const resolvedValue = value ?? (0, core_1.toNano)(0.02);
83
+ const body = strategy_vault_1.StrategyVault.createSetPrivateVaultMsgBody(params.isPrivateVault, params.queryId);
84
+ return {
85
+ opts: { vault },
86
+ input: { to, value: resolvedValue, body },
87
+ };
88
+ }
89
+ async function createSetWhitelistedMintersMsg(ctx, params, value) {
90
+ const vault = ctx.getByContract(strategy_vault_1.StrategyVault, (0, utils_1.toAddress)(params.strategyVaultAddress));
91
+ const mintersDict = core_1.Dictionary.empty(core_1.Dictionary.Keys.Address(), strategy_vault_1.StrategyVault.Dictionary.Values.Empty());
92
+ for (const minter of params.whitelistedMinters) {
93
+ mintersDict.set((0, utils_1.toAddress)(minter), null);
94
+ }
95
+ const to = vault.address;
96
+ const resolvedValue = value ?? (0, core_1.toNano)(0.03);
97
+ const body = strategy_vault_1.StrategyVault.createSetWhitelistedMintersMsgBody((0, core_1.beginCell)().storeDictDirect(mintersDict).endCell(), params.queryId);
98
+ return {
99
+ opts: { vault, mintersDict },
100
+ input: { to, value: resolvedValue, body },
101
+ };
102
+ }
103
+ async function createSetMaxLeverageRatioMsg(ctx, params, value) {
104
+ const vault = ctx.getByContract(strategy_vault_1.StrategyVault, (0, utils_1.toAddress)(params.strategyVaultAddress));
105
+ const to = vault.address;
106
+ const resolvedValue = value ?? (0, core_1.toNano)(0.03);
107
+ const body = strategy_vault_1.StrategyVault.createSetMaxLeverageRatioMsgBody(params.maxLeverageRatio, params.queryId);
108
+ return {
109
+ opts: { vault },
110
+ input: { to, value: resolvedValue, body },
111
+ };
112
+ }
113
+ async function createExecuteOwnerActionMsg(ctx, params, value) {
114
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
115
+ const to = vault.address;
116
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
117
+ const body = strategy_vault_1.StrategyVault.createExecuteOwnerActionMsgBody(params.updateIndex, params.queryId);
118
+ return {
119
+ opts: { vault },
120
+ input: { to, value: resolvedValue, body },
121
+ };
122
+ }
123
+ async function createRevertOwnerActionMsg(ctx, params, value) {
124
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
125
+ const to = vault.address;
126
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
127
+ const body = strategy_vault_1.StrategyVault.createRevertOwnerActionMsgBody(params.updateIndex, params.queryId);
128
+ return {
129
+ opts: { vault },
130
+ input: { to, value: resolvedValue, body },
131
+ };
132
+ }
133
+ async function createSetTimelockMsg(ctx, params, value) {
134
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
135
+ const to = vault.address;
136
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
137
+ const body = strategy_vault_1.StrategyVault.createSetTimelockMsgBody(params.timelock, params.queryId);
138
+ return {
139
+ opts: { vault },
140
+ input: { to, value: resolvedValue, body },
141
+ };
142
+ }
143
+ async function createSetManagementFeeRecipientAddressMsg(ctx, params, value) {
144
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
145
+ const to = vault.address;
146
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
147
+ const body = strategy_vault_1.StrategyVault.createSetManagementFeeRecipientAddressMsgBody((0, utils_1.toAddress)(params.managementFeeRecipientAddress), params.queryId);
148
+ return {
149
+ opts: { vault },
150
+ input: { to, value: resolvedValue, body },
151
+ };
152
+ }
153
+ async function createSetProtocolFeeRatePerYearMsg(ctx, params, value) {
154
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
155
+ const to = vault.address;
156
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
157
+ const body = strategy_vault_1.StrategyVault.createSetProtocolFeeRatePerYearMsgBody(params.protocolFeeRatePerYear, params.queryId);
158
+ return {
159
+ opts: { vault },
160
+ input: { to, value: resolvedValue, body },
161
+ };
162
+ }
163
+ async function createSetProtocolFeeManagerAddressMsg(ctx, params, value) {
164
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
165
+ const to = vault.address;
166
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
167
+ const body = strategy_vault_1.StrategyVault.createSetProtocolFeeManagerAddressMsgBody((0, utils_1.toAddress)(params.protocolFeeManagerAddress), params.queryId);
168
+ return {
169
+ opts: { vault },
170
+ input: { to, value: resolvedValue, body },
171
+ };
172
+ }
173
+ async function createSetFactorialPoolConfigMsg(ctx, params) {
174
+ const vault = ctx.getByContract(strategy_vault_1.StrategyVault, (0, utils_1.toAddress)(params.strategyVaultAddress));
175
+ const factorialPoolConfig = (0, core_1.beginCell)()
176
+ .storeDictDirect(strategy_vault_1.StrategyVault.createFactorialPoolUpdateConfig(params.configs.map((config) => [
177
+ (0, utils_1.toAddress)(config.poolAddress),
178
+ (0, utils_1.toAddress)(config.assetAddress),
179
+ config.isSupplyable,
180
+ config.isBorrowable,
181
+ ])))
182
+ .endCell();
183
+ const to = vault.address;
184
+ const value = (0, core_1.toNano)(0.03);
185
+ const body = strategy_vault_1.StrategyVault.createSetFactorialPoolConfigMsgBody(factorialPoolConfig);
186
+ return {
187
+ opts: { vault, factorialPoolConfig },
188
+ input: { to, value, body },
189
+ };
190
+ }
191
+ async function createSetAssetConfigMsg(ctx, params, value) {
192
+ const vault = ctx.getByContract(strategy_vault_1.StrategyVault, (0, utils_1.toAddress)(params.strategyVaultAddress));
193
+ const to = vault.address;
194
+ const resolvedValue = value ?? (0, core_1.toNano)(0.02);
195
+ const body = strategy_vault_1.StrategyVault.createSetAssetConfigMsgBody((0, utils_1.toAddress)(params.assetAddress), params.isWhitelisted, params.isDepositable, params.isWithdrawable, params.exposureCap, params.queryId);
196
+ return {
197
+ opts: { vault },
198
+ input: { to, value: resolvedValue, body },
199
+ };
200
+ }
201
+ async function createSetRFQConfigMsg(ctx, params, value) {
202
+ const vault = ctx.getByContract(strategy_vault_1.StrategyVault, (0, utils_1.toAddress)(params.strategyVaultAddress));
203
+ const to = vault.address;
204
+ const resolvedValue = value ?? (0, core_1.toNano)(0.02);
205
+ const body = strategy_vault_1.StrategyVault.createSetRFQConfigMsgBody((0, core_1.beginCell)()
206
+ .storeUint(params.priceDeviationTolerance, 14)
207
+ .storeAddress((0, utils_1.toAddress)(params.rfqEmitterAddress))
208
+ .endCell(), params.queryId);
209
+ return {
210
+ opts: { vault },
211
+ input: { to, value: resolvedValue, body },
212
+ };
213
+ }
214
+ async function createSetManagementFeeRatePerYearMsg(ctx, params, value) {
215
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
216
+ const to = vault.address;
217
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
218
+ const body = strategy_vault_1.StrategyVault.createSetManagementFeeRatePerYearMsgBody(params.managementFeeRatePerYear, params.queryId);
219
+ return {
220
+ opts: { vault },
221
+ input: { to, value: resolvedValue, body },
222
+ };
223
+ }
224
+ async function createSetDepositCloseTimestampMsg(ctx, params, value) {
225
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
226
+ const to = vault.address;
227
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
228
+ const body = strategy_vault_1.StrategyVault.createSetDepositCloseTimestampMsgBody(params.depositCloseTimestamp, params.queryId);
229
+ return {
230
+ opts: { vault },
231
+ input: { to, value: resolvedValue, body },
232
+ };
233
+ }
234
+ async function createSetWithdrawOpenTimestampMsg(ctx, params, value) {
235
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
236
+ const to = vault.address;
237
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
238
+ const body = strategy_vault_1.StrategyVault.createSetWithdrawOpenTimestampMsgBody(params.withdrawOpenTimestamp, params.queryId);
239
+ return {
240
+ opts: { vault },
241
+ input: { to, value: resolvedValue, body },
242
+ };
243
+ }
244
+ async function createSetGasConfigMsg(ctx, params, value) {
245
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
246
+ const to = vault.address;
247
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
248
+ const body = strategy_vault_1.StrategyVault.createSetGasConfigMsgBody(params.gasConfig, params.queryId);
249
+ return {
250
+ opts: { vault },
251
+ input: { to, value: resolvedValue, body },
252
+ };
253
+ }
254
+ async function createSetOracleConfigMsg(ctx, params, value) {
255
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
256
+ const to = vault.address;
257
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
258
+ const body = strategy_vault_1.StrategyVault.createSetOracleConfigMsgBody(params.oracleConfig, params.queryId);
259
+ return {
260
+ opts: { vault },
261
+ input: { to, value: resolvedValue, body },
262
+ };
263
+ }
264
+ async function createSetWalletCodeMsg(ctx, params, value) {
265
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
266
+ const to = vault.address;
267
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
268
+ const body = strategy_vault_1.StrategyVault.createSetWalletCodeMsgBody(params.walletCode, params.queryId);
269
+ return {
270
+ opts: { vault },
271
+ input: { to, value: resolvedValue, body },
272
+ };
273
+ }
274
+ async function createSetDataAggregatorCodeMsg(ctx, params, value) {
275
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
276
+ const to = vault.address;
277
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
278
+ const body = strategy_vault_1.StrategyVault.createSetDataAggregatorCodeMsgBody(params.dataAggregatorCode, params.queryId);
279
+ return {
280
+ opts: { vault },
281
+ input: { to, value: resolvedValue, body },
282
+ };
283
+ }
284
+ async function createSetRFQCodeMsg(ctx, params, value) {
285
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
286
+ const to = vault.address;
287
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
288
+ const body = strategy_vault_1.StrategyVault.createSetRFQCodeMsgBody(params.rfqCode, params.queryId);
289
+ return {
290
+ opts: { vault },
291
+ input: { to, value: resolvedValue, body },
292
+ };
293
+ }
294
+ async function createSetContentMsg(ctx, params, value) {
295
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
296
+ const to = vault.address;
297
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
298
+ const body = strategy_vault_1.StrategyVault.createSetContentMsgBody(params.content, params.queryId);
299
+ return {
300
+ opts: { vault },
301
+ input: { to, value: resolvedValue, body },
302
+ };
303
+ }
304
+ async function createUpgradeCodeMsg(ctx, params, value) {
305
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
306
+ const to = vault.address;
307
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
308
+ const body = strategy_vault_1.StrategyVault.createUpgradeCodeMsgBody(params.newCode, params.queryId);
309
+ return {
310
+ opts: { vault },
311
+ input: { to, value: resolvedValue, body },
312
+ };
313
+ }
314
+ async function createCollectProtocolFeeMsg(ctx, params, value) {
315
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
316
+ const to = vault.address;
317
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
318
+ const body = strategy_vault_1.StrategyVault.createClaimProtocolFeeMsgBody((0, utils_1.toAddress)(params.assetAddress), params.queryId);
319
+ return {
320
+ opts: { vault },
321
+ input: { to, value: resolvedValue, body },
322
+ };
323
+ }
324
+ async function createClaimManagementFeeMsg(ctx, params, value) {
325
+ const vault = (0, query_1.getVault)(ctx, params.strategyVaultAddress);
326
+ const to = vault.address;
327
+ const resolvedValue = value ?? (0, core_1.toNano)(0.1);
328
+ const body = strategy_vault_1.StrategyVault.createClaimManagementFeeMsgBody((0, utils_1.toAddress)(params.receiverAddress), params.queryId);
329
+ return {
330
+ opts: { vault },
331
+ input: { to, value: resolvedValue, body },
332
+ };
333
+ }
@@ -0,0 +1,146 @@
1
+ import { Cell } from "@ton/core";
2
+ import { AddressInput, AddressLike } from "../../../contracts/common/type";
3
+ export type SetOwnerParams = {
4
+ strategyVaultAddress: AddressInput;
5
+ owner: AddressLike;
6
+ queryId?: number;
7
+ };
8
+ export type SetGuardianAddressParams = {
9
+ strategyVaultAddress: AddressInput;
10
+ guardianAddress: AddressLike;
11
+ queryId?: number;
12
+ };
13
+ export type SetManagerParams = {
14
+ strategyVaultAddress: AddressInput;
15
+ manager: AddressLike;
16
+ queryId?: number;
17
+ };
18
+ export type SetPrivateVaultParams = {
19
+ strategyVaultAddress: AddressInput;
20
+ isPrivateVault: boolean;
21
+ queryId?: number;
22
+ };
23
+ export type SetWhitelistedMintersParams = {
24
+ strategyVaultAddress: AddressInput;
25
+ whitelistedMinters: AddressLike[];
26
+ queryId?: number;
27
+ };
28
+ export type SetMaxLeverageRatioParams = {
29
+ strategyVaultAddress: AddressInput;
30
+ maxLeverageRatio: number;
31
+ queryId?: number;
32
+ };
33
+ export type ExecuteOwnerActionParams = {
34
+ strategyVaultAddress: AddressInput;
35
+ updateIndex: bigint;
36
+ queryId?: number;
37
+ };
38
+ export type RevertOwnerActionParams = {
39
+ strategyVaultAddress: AddressInput;
40
+ updateIndex: bigint;
41
+ queryId?: number;
42
+ };
43
+ export type SetTimelockParams = {
44
+ strategyVaultAddress: AddressInput;
45
+ timelock: bigint;
46
+ queryId?: number;
47
+ };
48
+ export type SetManagementFeeRecipientAddressParams = {
49
+ strategyVaultAddress: AddressInput;
50
+ managementFeeRecipientAddress: AddressLike;
51
+ queryId?: number;
52
+ };
53
+ export type SetProtocolFeeRatePerYearParams = {
54
+ strategyVaultAddress: AddressInput;
55
+ protocolFeeRatePerYear: number;
56
+ queryId?: number;
57
+ };
58
+ export type SetProtocolFeeManagerAddressParams = {
59
+ strategyVaultAddress: AddressInput;
60
+ protocolFeeManagerAddress: AddressLike;
61
+ queryId?: number;
62
+ };
63
+ export type SetFactorialPoolConfigParams = {
64
+ strategyVaultAddress: AddressInput;
65
+ configs: {
66
+ poolAddress: AddressLike;
67
+ assetAddress: AddressLike;
68
+ isSupplyable: boolean;
69
+ isBorrowable: boolean;
70
+ }[];
71
+ };
72
+ export type SetAssetConfigParams = {
73
+ strategyVaultAddress: AddressInput;
74
+ assetAddress: AddressLike;
75
+ isWhitelisted: boolean;
76
+ isDepositable: boolean;
77
+ isWithdrawable: boolean;
78
+ exposureCap: number;
79
+ queryId?: number;
80
+ };
81
+ export type SetRFQConfigParams = {
82
+ strategyVaultAddress: AddressInput;
83
+ priceDeviationTolerance: bigint;
84
+ rfqEmitterAddress: AddressLike;
85
+ queryId?: number;
86
+ };
87
+ export type SetManagementFeeRatePerYearParams = {
88
+ strategyVaultAddress: AddressInput;
89
+ managementFeeRatePerYear: number;
90
+ queryId?: number;
91
+ };
92
+ export type SetDepositCloseTimestampParams = {
93
+ strategyVaultAddress: AddressInput;
94
+ depositCloseTimestamp: bigint;
95
+ queryId?: number;
96
+ };
97
+ export type SetWithdrawOpenTimestampParams = {
98
+ strategyVaultAddress: AddressInput;
99
+ withdrawOpenTimestamp: bigint;
100
+ queryId?: number;
101
+ };
102
+ export type SetGasConfigParams = {
103
+ strategyVaultAddress: AddressInput;
104
+ gasConfig: Cell | null;
105
+ queryId?: number;
106
+ };
107
+ export type SetOracleConfigParams = {
108
+ strategyVaultAddress: AddressInput;
109
+ oracleConfig: Cell | null;
110
+ queryId?: number;
111
+ };
112
+ export type SetWalletCodeParams = {
113
+ strategyVaultAddress: AddressInput;
114
+ walletCode: Cell;
115
+ queryId?: number;
116
+ };
117
+ export type SetDataAggregatorCodeParams = {
118
+ strategyVaultAddress: AddressInput;
119
+ dataAggregatorCode: Cell;
120
+ queryId?: number;
121
+ };
122
+ export type SetRFQCodeParams = {
123
+ strategyVaultAddress: AddressInput;
124
+ rfqCode: Cell;
125
+ queryId?: number;
126
+ };
127
+ export type SetContentParams = {
128
+ strategyVaultAddress: AddressInput;
129
+ content: Cell;
130
+ queryId?: number;
131
+ };
132
+ export type UpgradeCodeParams = {
133
+ strategyVaultAddress: AddressInput;
134
+ newCode: Cell;
135
+ queryId?: number;
136
+ };
137
+ export type CollectProtocolFeeParams = {
138
+ strategyVaultAddress: AddressInput;
139
+ assetAddress: AddressLike;
140
+ queryId?: number;
141
+ };
142
+ export type ClaimManagementFeeParams = {
143
+ strategyVaultAddress: AddressInput;
144
+ receiverAddress: AddressLike;
145
+ queryId?: number;
146
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,138 @@
1
+ import { Address, OpenedContract } from "@ton/core";
2
+ import { AffluentContext } from "../../context";
3
+ import { AddressInput, AddressLike } from "../../contracts/common/type";
4
+ import { JettonWallet } from "../../contracts/jetton/jetton-wallet";
5
+ import { RFQAuction } from "../../contracts/rfq/rfq_auction";
6
+ import { StrategyVault } from "../../contracts/vault/strategy-vault";
7
+ export declare function getVault(ctx: AffluentContext, strategyVaultAddress: AddressInput): OpenedContract<StrategyVault>;
8
+ export declare function getVaultData(ctx: AffluentContext, strategyVaultAddress: AddressLike): Promise<{
9
+ globalDepositValueCap: bigint;
10
+ withdrawFeeRate: number;
11
+ queueWithdrawFeeRate: number;
12
+ depositQueueManager: import("../../contracts/vault/strategy-vault").QueueManager;
13
+ withdrawQueueManager: import("../../contracts/vault/strategy-vault").QueueManager;
14
+ interactiveVaultDict: Record<string, import("../../contracts/vault/strategy-vault").InteractiveVaultConfigItem>;
15
+ xchainConnectorAddress: Address | null;
16
+ xchainConfig: Record<string, {
17
+ connected: boolean;
18
+ xchainAccountAddress: bigint;
19
+ oftConfig: Map<string, {
20
+ destinationAddress: Address;
21
+ forwardGas: bigint;
22
+ forwardPayload?: import("@ton/core").Cell | null;
23
+ lzTransferFeeRate?: bigint;
24
+ }> | null;
25
+ strategyConfig: Map<bigint, {
26
+ isExecutable: boolean;
27
+ }> | null;
28
+ afterStrategyConfig: Map<bigint, {
29
+ isExecutable: boolean;
30
+ }> | null;
31
+ lzGasFee: bigint;
32
+ }>;
33
+ xchainUpdateHash: bigint;
34
+ owner: Address;
35
+ manager: Address;
36
+ assets: Record<string, import("../../contracts/vault/strategy-vault").AssetV2>;
37
+ factorialPools: Record<string, import("../../contracts/vault/strategy-vault").FactorialPool>;
38
+ aggregatorIndex: bigint;
39
+ content: import("@ton/core").Cell;
40
+ totalSupply: bigint;
41
+ oracleConfig: import("@ton/core").Cell | import("../../contracts/oracle/redstone-onchain-oracle/type").RedstoneOnchainOracleConfig | import("../../contracts/oracle/redstone-oracle/type").RedstonOracleConfig;
42
+ rfqConfig: {
43
+ priceDeviationTolerance: number;
44
+ rfqEventEmitterAddress: string | null;
45
+ } | null;
46
+ gasConfig: Record<string, bigint> | null;
47
+ isPrivateVault: boolean;
48
+ depositCloseTimestamp: number;
49
+ withdrawOpenTimestamp: number;
50
+ whitelistedMinters: import("@ton/core").Dictionary<Address, Boolean>;
51
+ lastCollectTime: number;
52
+ managementFeeRatePerYear: number;
53
+ protocolFeeRatePerYear: number;
54
+ collectedManagementFee: bigint;
55
+ collectedProtocolFee: bigint;
56
+ rfqCode: import("@ton/core").Cell;
57
+ walletCode: import("@ton/core").Cell;
58
+ dataAggregatorCode: import("@ton/core").Cell;
59
+ protocolFeeManagerAddress: Address;
60
+ rfqIndex: bigint;
61
+ isExecutingStrategy: boolean;
62
+ maxLeverageRatio: number;
63
+ assetWalletDict: Record<string, string>;
64
+ walletAssetDict: Record<string, string>;
65
+ managementFeeRecipientAddress: Address | null;
66
+ guardianAddress: Address | null;
67
+ timelock: bigint;
68
+ pendingOwnerActionIndex: bigint;
69
+ pendingOwnerActionCount: bigint;
70
+ pendingOwnerAction: any;
71
+ getFactorialPoolAsset: (poolAddress: Address, assetAddress: Address) => import("../../contracts/vault/strategy-vault").FactorialPoolShare;
72
+ getAsset: (assetAddress: Address) => import("../../contracts/vault/strategy-vault").AssetV2;
73
+ version: string;
74
+ address: Address;
75
+ balance: bigint;
76
+ code: import("@ton/core").Cell;
77
+ } | {
78
+ globalDepositValueCap: bigint;
79
+ withdrawFeeRate: number;
80
+ queueWithdrawFeeRate: number;
81
+ depositQueueManager: import("../../contracts/vault/strategy-vault").QueueManager;
82
+ withdrawQueueManager: import("../../contracts/vault/strategy-vault").QueueManager;
83
+ interactiveVaultDict: Record<string, import("../../contracts/vault/strategy-vault").InteractiveVaultConfigItem>;
84
+ xchainConnectorAddress: null;
85
+ xchainConfig: null;
86
+ xchainUpdateHash: bigint;
87
+ owner: Address;
88
+ manager: Address;
89
+ assets: Record<string, import("../../contracts/vault/strategy-vault").AssetV2>;
90
+ factorialPools: Record<string, import("../../contracts/vault/strategy-vault").FactorialPool>;
91
+ aggregatorIndex: bigint;
92
+ content: import("@ton/core").Cell;
93
+ totalSupply: bigint;
94
+ oracleConfig: import("@ton/core").Cell | import("../../contracts/oracle/redstone-onchain-oracle/type").RedstoneOnchainOracleConfig | import("../../contracts/oracle/redstone-oracle/type").RedstonOracleConfig;
95
+ rfqConfig: {
96
+ priceDeviationTolerance: number;
97
+ rfqEventEmitterAddress: string | null;
98
+ } | null;
99
+ gasConfig: Record<string, bigint> | null;
100
+ isPrivateVault: boolean;
101
+ depositCloseTimestamp: number;
102
+ withdrawOpenTimestamp: number;
103
+ whitelistedMinters: import("@ton/core").Dictionary<Address, Boolean>;
104
+ lastCollectTime: number;
105
+ managementFeeRatePerYear: number;
106
+ protocolFeeRatePerYear: number;
107
+ collectedManagementFee: bigint;
108
+ collectedProtocolFee: bigint;
109
+ rfqCode: import("@ton/core").Cell;
110
+ walletCode: import("@ton/core").Cell;
111
+ dataAggregatorCode: import("@ton/core").Cell;
112
+ protocolFeeManagerAddress: Address;
113
+ rfqIndex: bigint;
114
+ isExecutingStrategy: boolean;
115
+ maxLeverageRatio: number;
116
+ assetWalletDict: Record<string, string>;
117
+ walletAssetDict: Record<string, string>;
118
+ managementFeeRecipientAddress: Address | null;
119
+ guardianAddress: Address | null;
120
+ timelock: bigint;
121
+ pendingOwnerActionIndex: bigint;
122
+ pendingOwnerActionCount: bigint;
123
+ pendingOwnerAction: any;
124
+ getFactorialPoolAsset: (poolAddress: Address, assetAddress: Address) => import("../../contracts/vault/strategy-vault").FactorialPoolShare;
125
+ getAsset: (assetAddress: Address) => import("../../contracts/vault/strategy-vault").AssetV2;
126
+ version: string;
127
+ address: Address;
128
+ balance: bigint;
129
+ code: import("@ton/core").Cell;
130
+ }>;
131
+ export declare function getVaultWallet(ctx: AffluentContext, strategyVaultAddress: AddressInput, accountAddress: AddressLike): Promise<OpenedContract<JettonWallet>>;
132
+ export declare function getRFQAuctionAddress(ctx: AffluentContext, strategyVaultAddress: AddressInput, index: bigint): Promise<Address>;
133
+ export declare function getRFQAuction(ctx: AffluentContext, strategyVaultAddress: AddressInput, index: bigint): Promise<OpenedContract<RFQAuction>>;
134
+ export declare function isVaultAsset(ctx: AffluentContext, address: AddressInput): Promise<boolean>;
135
+ export declare function splitPureAndVaultAsset(ctx: AffluentContext, addresses: AddressInput[]): Promise<{
136
+ vaultAssetAddresses: string[];
137
+ pureAssetAddresses: string[];
138
+ }>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVault = getVault;
4
+ exports.getVaultData = getVaultData;
5
+ exports.getVaultWallet = getVaultWallet;
6
+ exports.getRFQAuctionAddress = getRFQAuctionAddress;
7
+ exports.getRFQAuction = getRFQAuction;
8
+ exports.isVaultAsset = isVaultAsset;
9
+ exports.splitPureAndVaultAsset = splitPureAndVaultAsset;
10
+ const utils_1 = require("../../contracts/common/utils");
11
+ const jetton_wallet_1 = require("../../contracts/jetton/jetton-wallet");
12
+ const rfq_auction_1 = require("../../contracts/rfq/rfq_auction");
13
+ const strategy_vault_1 = require("../../contracts/vault/strategy-vault");
14
+ function getVault(ctx, strategyVaultAddress) {
15
+ return ctx.getByContract(strategy_vault_1.StrategyVault, (0, utils_1.toAddress)(strategyVaultAddress));
16
+ }
17
+ async function getVaultData(ctx, strategyVaultAddress) {
18
+ const vault = getVault(ctx, strategyVaultAddress);
19
+ return await vault.getVaultData();
20
+ }
21
+ async function getVaultWallet(ctx, strategyVaultAddress, accountAddress) {
22
+ const vault = getVault(ctx, strategyVaultAddress);
23
+ return ctx.getByContract(jetton_wallet_1.JettonWallet, await vault.getWalletAddress((0, utils_1.toAddress)(accountAddress)));
24
+ }
25
+ async function getRFQAuctionAddress(ctx, strategyVaultAddress, index) {
26
+ const strategyVault = ctx.getByContract(strategy_vault_1.StrategyVault, strategyVaultAddress);
27
+ return await strategyVault.getRFQAddress(index);
28
+ }
29
+ async function getRFQAuction(ctx, strategyVaultAddress, index) {
30
+ const strategyVault = ctx.getByContract(strategy_vault_1.StrategyVault, strategyVaultAddress);
31
+ const rfqAuction = ctx.getByContract(rfq_auction_1.RFQAuction, await strategyVault.getRFQAddress(index));
32
+ return rfqAuction;
33
+ }
34
+ async function isVaultAsset(ctx, address) {
35
+ try {
36
+ await ctx.client.runMethod((0, utils_1.toAddress)(address), "get_jetton_data");
37
+ return false;
38
+ }
39
+ catch {
40
+ return true;
41
+ }
42
+ }
43
+ async function splitPureAndVaultAsset(ctx, addresses) {
44
+ const pureAssetAddresses = [];
45
+ const vaultAssetAddresses = [];
46
+ await Promise.all(addresses.map(utils_1.toAddress).map(async (assetAddress) => {
47
+ const address = assetAddress.toString();
48
+ if (await isVaultAsset(ctx, address)) {
49
+ vaultAssetAddresses.push(address);
50
+ }
51
+ else {
52
+ pureAssetAddresses.push(address);
53
+ }
54
+ }));
55
+ return {
56
+ vaultAssetAddresses,
57
+ pureAssetAddresses,
58
+ };
59
+ }