@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,406 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StrategyVault = exports.strategyVaultConfigToCell = void 0;
4
+ const core_1 = require("@ton/core");
5
+ const constants_1 = require("./constants");
6
+ const codec_1 = require("./codec");
7
+ Object.defineProperty(exports, "strategyVaultConfigToCell", { enumerable: true, get: function () { return codec_1.strategyVaultConfigToCell; } });
8
+ class StrategyVault {
9
+ address;
10
+ init;
11
+ constructor(address, init) {
12
+ this.address = address;
13
+ this.init = init;
14
+ }
15
+ // --- Backward-compatible static re-exports ---
16
+ static Constants = constants_1.Constants;
17
+ static Op = constants_1.Op;
18
+ static Error = constants_1.ErrorCodes;
19
+ static GasKey = constants_1.GasKey;
20
+ static InteractiveVaultTypes = constants_1.InteractiveVaultTypes;
21
+ static Dictionary = { Values: codec_1.DictionaryValues };
22
+ // --- Config serializers ---
23
+ static strategyVaultConfigToCell = codec_1.strategyVaultConfigToCell;
24
+ static strategyVaultConfigToCellV1 = codec_1.strategyVaultConfigToCellV1;
25
+ static strategyVaultConfigToCellV2 = codec_1.strategyVaultConfigToCellV2;
26
+ // --- Utility ---
27
+ static createRFQConfig = codec_1.createRFQConfig;
28
+ static getOpName = codec_1.getOpName;
29
+ static getErrorName = codec_1.getErrorName;
30
+ static createInteractiveVaultDict = codec_1.createInteractiveVaultDict;
31
+ // --- Payload creators ---
32
+ static createDepositPayloadV1 = codec_1.createDepositPayloadV1;
33
+ static createDepositPayload = codec_1.createDepositPayload;
34
+ static createWithdrawPayload = codec_1.createWithdrawPayload;
35
+ static createDepositQueuePayload = codec_1.createDepositQueuePayload;
36
+ static createWithdrawQueuePayload = codec_1.createWithdrawQueuePayload;
37
+ static createExecuteXChainStrategyPayload = codec_1.createExecuteXChainStrategyPayload;
38
+ // --- Message body creators ---
39
+ static createInitializeMsgBody = codec_1.createInitializeMsgBody;
40
+ static createExecuteStrategyMsgBody = codec_1.createExecuteStrategyMsgBody;
41
+ static createLiquidateToFactorialMsgBody = codec_1.createLiquidateToFactorialMsgBody;
42
+ static createSupplyToFactorialMsgBody = codec_1.createSupplyToFactorialMsgBody;
43
+ static createWithdrawFromFactorialMsgBody = codec_1.createWithdrawFromFactorialMsgBody;
44
+ static createBorrowFromFactorialMsgBody = codec_1.createBorrowFromFactorialMsgBody;
45
+ static createRepayToFactorialMsgBody = codec_1.createRepayToFactorialMsgBody;
46
+ static createCreateRFQMsgBody = codec_1.createCreateRFQMsgBody;
47
+ static createCancelRFQMsgBody = codec_1.createCancelRFQMsgBody;
48
+ static createDepositToVaultMsgBody = codec_1.createDepositToVaultMsgBody;
49
+ static createSetAssetConfigMsgBody = codec_1.createSetAssetConfigMsgBody;
50
+ static createSetFactorialPoolConfigMsgBody = codec_1.createSetFactorialPoolConfigMsgBody;
51
+ static createClaimManagementFeeMsgBody = codec_1.createClaimManagementFeeMsgBody;
52
+ static createClaimProtocolFeeMsgBody = codec_1.createClaimProtocolFeeMsgBody;
53
+ static createSetOwnerAddressMsgBody = codec_1.createSetOwnerAddressMsgBody;
54
+ static createSetManagementFeeRatePerYearMsgBody = codec_1.createSetManagementFeeRatePerYearMsgBody;
55
+ static createSetMaxLeverageRatioMsgBody = codec_1.createSetMaxLeverageRatioMsgBody;
56
+ static createSetRFQConfigMsgBody = codec_1.createSetRFQConfigMsgBody;
57
+ static createSetOracleConfigMsgBody = codec_1.createSetOracleConfigMsgBody;
58
+ static createSetWalletCodeMsgBody = codec_1.createSetWalletCodeMsgBody;
59
+ static createSetDataAggregatorCodeMsgBody = codec_1.createSetDataAggregatorCodeMsgBody;
60
+ static createSetRFQCodeMsgBody = codec_1.createSetRFQCodeMsgBody;
61
+ static createSetContentMsgBody = codec_1.createSetContentMsgBody;
62
+ static createUpgradeCodeMsgBody = codec_1.createUpgradeCodeMsgBody;
63
+ static createSetManagerAddressMsgBody = codec_1.createSetManagerAddressMsgBody;
64
+ static createSetPrivateVaultMsgBody = codec_1.createSetPrivateVaultMsgBody;
65
+ static createSetDepositCloseTimestampMsgBody = codec_1.createSetDepositCloseTimestampMsgBody;
66
+ static createSetWithdrawOpenTimestampMsgBody = codec_1.createSetWithdrawOpenTimestampMsgBody;
67
+ static createSetWhitelistedMintersMsgBody = codec_1.createSetWhitelistedMintersMsgBody;
68
+ static createSetGasConfigMsgBody = codec_1.createSetGasConfigMsgBody;
69
+ static createExecuteOwnerActionMsgBody = codec_1.createExecuteOwnerActionMsgBody;
70
+ static createRevertOwnerActionMsgBody = codec_1.createRevertOwnerActionMsgBody;
71
+ static createSetGuardianAddressMsgBody = codec_1.createSetGuardianAddressMsgBody;
72
+ static createSetTimelockMsgBody = codec_1.createSetTimelockMsgBody;
73
+ static createSetManagementFeeRecipientAddressMsgBody = codec_1.createSetManagementFeeRecipientAddressMsgBody;
74
+ static createSetProtocolFeeRatePerYearMsgBody = codec_1.createSetProtocolFeeRatePerYearMsgBody;
75
+ static createSetProtocolFeeManagerAddressMsgBody = codec_1.createSetProtocolFeeManagerAddressMsgBody;
76
+ static createSetXChainConnectorAddressMsgBody = codec_1.createSetXChainConnectorAddressMsgBody;
77
+ static createSetXChainConfigMsgBody = codec_1.createSetXChainConfigMsgBody;
78
+ static createRequestEidConnectionMsgBody = codec_1.createRequestEidConnectionMsgBody;
79
+ // --- Message body parsers ---
80
+ static parseInitializeMsgBody = codec_1.parseInitializeMsgBody;
81
+ static parseExecuteStrategyMsgBody = codec_1.parseExecuteStrategyMsgBody;
82
+ static parseLiquidateToFactorialMsgBody = codec_1.parseLiquidateToFactorialMsgBody;
83
+ static parseSupplyToFactorialMsgBody = codec_1.parseSupplyToFactorialMsgBody;
84
+ static parseWithdrawFromFactorialMsgBody = codec_1.parseWithdrawFromFactorialMsgBody;
85
+ static parseBorrowFromFactorialMsgBody = codec_1.parseBorrowFromFactorialMsgBody;
86
+ static parseRepayToFactorialMsgBody = codec_1.parseRepayToFactorialMsgBody;
87
+ static parseCreateRFQMsgBody = codec_1.parseCreateRFQMsgBody;
88
+ static parseCancelRFQMsgBody = codec_1.parseCancelRFQMsgBody;
89
+ static parseSetAssetConfigMsgBody = codec_1.parseSetAssetConfigMsgBody;
90
+ static parseSetFactorialPoolConfigMsgBody = codec_1.parseSetFactorialPoolConfigMsgBody;
91
+ static parseClaimManagementFeeMsgBody = codec_1.parseClaimManagementFeeMsgBody;
92
+ static parseClaimProtocolFeeMsgBody = codec_1.parseClaimProtocolFeeMsgBody;
93
+ static parseSetOwnerAddressMsgBody = codec_1.parseSetOwnerAddressMsgBody;
94
+ static parseSetManagementFeeRatePerYearMsgBody = codec_1.parseSetManagementFeeRatePerYearMsgBody;
95
+ static parseSetMaxLeverageRatioMsgBody = codec_1.parseSetMaxLeverageRatioMsgBody;
96
+ static parseSetRFQConfigMsgBody = codec_1.parseSetRFQConfigMsgBody;
97
+ static parseSetOracleConfigMsgBody = codec_1.parseSetOracleConfigMsgBody;
98
+ static parseSetWalletCodeMsgBody = codec_1.parseSetWalletCodeMsgBody;
99
+ static parseSetDataAggregatorCodeMsgBody = codec_1.parseSetDataAggregatorCodeMsgBody;
100
+ static parseSetRFQCodeMsgBody = codec_1.parseSetRFQCodeMsgBody;
101
+ static parseSetContentMsgBody = codec_1.parseSetContentMsgBody;
102
+ static parseUpgradeCodeMsgBody = codec_1.parseUpgradeCodeMsgBody;
103
+ static parseSetManagerAddressMsgBody = codec_1.parseSetManagerAddressMsgBody;
104
+ static parseSetPrivateVaultMsgBody = codec_1.parseSetPrivateVaultMsgBody;
105
+ static parseSetDepositCloseTimestampMsgBody = codec_1.parseSetDepositCloseTimestampMsgBody;
106
+ static parseSetWithdrawOpenTimestampMsgBody = codec_1.parseSetWithdrawOpenTimestampMsgBody;
107
+ static parseSetWhitelistedMintersMsgBody = codec_1.parseSetWhitelistedMintersMsgBody;
108
+ static parseSetGasConfigMsgBody = codec_1.parseSetGasConfigMsgBody;
109
+ static parseExecuteOwnerActionMsgBody = codec_1.parseExecuteOwnerActionMsgBody;
110
+ static parseRevertOwnerActionMsgBody = codec_1.parseRevertOwnerActionMsgBody;
111
+ static parseSetGuardianAddressMsgBody = codec_1.parseSetGuardianAddressMsgBody;
112
+ static parseSetTimelockMsgBody = codec_1.parseSetTimelockMsgBody;
113
+ static parseSetManagementFeeRecipientAddressMsgBody = codec_1.parseSetManagementFeeRecipientAddressMsgBody;
114
+ static parseSetProtocolFeeRatePerYearMsgBody = codec_1.parseSetProtocolFeeRatePerYearMsgBody;
115
+ static parseSetProtocolFeeManagerAddressMsgBody = codec_1.parseSetProtocolFeeManagerAddressMsgBody;
116
+ static parseDepositQueueMsgBody = codec_1.parseDepositQueueMsgBody;
117
+ static parseCancelDepositQueueMsgBody = codec_1.parseCancelDepositQueueMsgBody;
118
+ static parseExecuteDepositQueueMsgBody = codec_1.parseExecuteDepositQueueMsgBody;
119
+ static parseWithdrawQueueMsgBody = codec_1.parseWithdrawQueueMsgBody;
120
+ static parseCancelWithdrawQueueMsgBody = codec_1.parseCancelWithdrawQueueMsgBody;
121
+ static parseExecuteWithdrawQueueMsgBody = codec_1.parseExecuteWithdrawQueueMsgBody;
122
+ static parseUserQueueLog = codec_1.parseUserQueueLog;
123
+ static parseConfirmQueueLog = codec_1.parseConfirmQueueLog;
124
+ static parseQueueBatchExecuteLog = codec_1.parseQueueBatchExecuteLog;
125
+ // --- Vault data parsers ---
126
+ static parseVaultData = codec_1.parseVaultData;
127
+ static parseVaultDataV1 = codec_1.parseVaultDataV1;
128
+ static parseVaultDataV2 = codec_1.parseVaultDataV2;
129
+ static parseRFQConfig = codec_1.parseRFQConfig;
130
+ static parseGasConfig = codec_1.parseGasConfig;
131
+ static parseXChainOftConfig = codec_1.parseXChainOftConfig;
132
+ static parseXChainStrategyConfig = codec_1.parseXChainStrategyConfig;
133
+ // --- Static factory methods ---
134
+ static emptyGasDictionary() {
135
+ const GAS_KEY_LENGTH = 8;
136
+ return core_1.Dictionary.empty(core_1.Dictionary.Keys.Uint(GAS_KEY_LENGTH), core_1.Dictionary.Values.BigVarUint(4));
137
+ }
138
+ static createFromAddress(address) {
139
+ return new StrategyVault(address);
140
+ }
141
+ static createFromConfig(config, code, workchain = 0) {
142
+ const data = (0, codec_1.strategyVaultConfigToCell)(config);
143
+ const init = { code, data };
144
+ return new StrategyVault((0, core_1.contractAddress)(workchain, init), init);
145
+ }
146
+ static createFactorialPoolConfig(params) {
147
+ const poolDictionary = core_1.Dictionary.empty(core_1.Dictionary.Keys.Address(), codec_1.DictionaryValues.FactorialPool());
148
+ for (let param of params) {
149
+ const [poolAddress, assetAddress, isSupplyable, isBorrowable] = param;
150
+ poolDictionary.set(poolAddress, {
151
+ ...poolDictionary.get(poolAddress),
152
+ [assetAddress.toString()]: {
153
+ supply: 0n,
154
+ borrow: 0n,
155
+ isSupplyable: isSupplyable,
156
+ isBorrowable: isBorrowable,
157
+ },
158
+ });
159
+ }
160
+ return poolDictionary;
161
+ }
162
+ static createFactorialPoolUpdateConfig(params) {
163
+ const poolDictionary = core_1.Dictionary.empty(core_1.Dictionary.Keys.Address(), codec_1.DictionaryValues.UpdateFactorialPool());
164
+ for (let param of params) {
165
+ const [poolAddress, assetAddress, isSupplyable, isBorrowable] = param;
166
+ poolDictionary.set(poolAddress, {
167
+ ...poolDictionary.get(poolAddress),
168
+ [assetAddress.toString()]: {
169
+ isSupplyable: isSupplyable,
170
+ isBorrowable: isBorrowable,
171
+ },
172
+ });
173
+ }
174
+ return poolDictionary;
175
+ }
176
+ static createXChainOftConfig(assets) {
177
+ const dict = core_1.Dictionary.empty(core_1.Dictionary.Keys.Address(), codec_1.DictionaryValues.XChainOftConfig());
178
+ for (const [address, config] of assets) {
179
+ dict.set(address, config);
180
+ }
181
+ return (0, core_1.beginCell)().storeDictDirect(dict).endCell();
182
+ }
183
+ static createXChainStrategyConfig(actions) {
184
+ const dict = core_1.Dictionary.empty(core_1.Dictionary.Keys.BigUint(256), codec_1.DictionaryValues.XChainStrategyConfig());
185
+ for (const [command, config] of actions) {
186
+ dict.set(command, config);
187
+ }
188
+ return (0, core_1.beginCell)().storeDictDirect(dict).endCell();
189
+ }
190
+ static createAssetConfig(params) {
191
+ const assetDictionary = core_1.Dictionary.empty(core_1.Dictionary.Keys.Address(), codec_1.DictionaryValues.AssetV2());
192
+ for (let param of params) {
193
+ const [assetAddress, isWhitelisted, isDepositable, isWithdrawable, exposureCap, isDepositQueueActivated, isWithdrawQueueActivated,] = param;
194
+ assetDictionary.set(assetAddress, {
195
+ isWhitelisted: isWhitelisted,
196
+ isDepositable: isDepositable,
197
+ isWithdrawable: isWithdrawable,
198
+ isDepositQueueActivated: isDepositQueueActivated ?? isDepositable,
199
+ isWithdrawQueueActivated: isWithdrawQueueActivated ?? isWithdrawable,
200
+ exposureCap: exposureCap,
201
+ cash: 0n,
202
+ balance: 0n,
203
+ });
204
+ }
205
+ return assetDictionary;
206
+ }
207
+ static calcQueueResistGas(vaultData, response, isFirst = true) {
208
+ const { actionForwardTonAmount = 0n, jettonForwardTonAmount = 0n } = response ?? {};
209
+ const addQueueItemGas = vaultData.gasConfig[constants_1.GasKey.AddQueueItem];
210
+ const executeQueueItemGas = isFirst ? vaultData.gasConfig[constants_1.GasKey.ExecuteQueueItem] : 0n;
211
+ const jettonTransferGas = vaultData.gasConfig[constants_1.GasKey.JettonTransfer];
212
+ const forwardTonAmount = // TODO function
213
+ addQueueItemGas + 2n * actionForwardTonAmount + executeQueueItemGas + jettonTransferGas + jettonForwardTonAmount;
214
+ return forwardTonAmount;
215
+ }
216
+ // --- Message body creators ---
217
+ static createCancelDepositQueueBody(opts) {
218
+ return (0, core_1.beginCell)()
219
+ .storeUint(constants_1.Op.CancelDepositQueue, 32)
220
+ .storeUint(opts.queryId, 64)
221
+ .storeAddress(opts.assetAddress)
222
+ .storeAddress(opts.userAddress)
223
+ .endCell();
224
+ }
225
+ static createExecuteDepositQueueBody(opts) {
226
+ if (opts.count > 50n) {
227
+ throw new Error("count cannot be greater than 50");
228
+ }
229
+ return (0, core_1.beginCell)()
230
+ .storeUint(constants_1.Op.ExecuteDepositQueue, 32)
231
+ .storeUint(opts.queryId, 64)
232
+ .storeAddress(opts.asset)
233
+ .storeCoins(opts.count)
234
+ .endCell();
235
+ }
236
+ static createCancelWithdrawQueueBody(opts) {
237
+ return (0, core_1.beginCell)()
238
+ .storeUint(constants_1.Op.CancelWithdrawQueue, 32)
239
+ .storeUint(opts.queryId ?? 0, 64)
240
+ .storeAddress(opts.assetAddress)
241
+ .storeAddress(opts.userAddress)
242
+ .endCell();
243
+ }
244
+ static createExecuteWithdrawQueueBody(opts) {
245
+ if (opts.count > 50n) {
246
+ throw new Error("count cannot be greater than 50");
247
+ }
248
+ return (0, core_1.beginCell)()
249
+ .storeUint(constants_1.Op.ExecuteWithdrawQueue, 32)
250
+ .storeUint(opts.queryId, 64)
251
+ .storeAddress(opts.asset)
252
+ .storeCoins(opts.count)
253
+ .endCell();
254
+ }
255
+ static createConfirmQueueBody(opts) {
256
+ const depositDict = opts.depositAssets.reduce((acc, asset) => acc.set(asset, null), core_1.Dictionary.empty(core_1.Dictionary.Keys.Address(), codec_1.DictionaryValues.Empty()));
257
+ const withdrawDict = opts.withdrawAssets.reduce((acc, asset) => acc.set(asset, null), core_1.Dictionary.empty(core_1.Dictionary.Keys.Address(), codec_1.DictionaryValues.Empty()));
258
+ return (0, core_1.beginCell)()
259
+ .storeUint(constants_1.Op.ConfirmQueue, 32)
260
+ .storeUint(opts.queryId, 64)
261
+ .storeDict(depositDict)
262
+ .storeDict(withdrawDict)
263
+ .storeRef(opts.oracleParams)
264
+ .endCell();
265
+ }
266
+ // --- Getter methods ---
267
+ async getState(provider) {
268
+ return await provider.getState();
269
+ }
270
+ async getWalletAddress(provider, address) {
271
+ const params1 = {
272
+ type: "slice",
273
+ cell: (0, core_1.beginCell)().storeAddress(address).endCell(),
274
+ };
275
+ const result = await provider.get("get_wallet_address", [params1]);
276
+ return result.stack.readAddress();
277
+ }
278
+ async getRFQAddress(provider, index) {
279
+ const params1 = { type: "int", value: index };
280
+ const result = await provider.get("get_rfq_address", [params1]);
281
+ return result.stack.readAddress();
282
+ }
283
+ async getVaultData(provider) {
284
+ const state = await provider.getState();
285
+ if (state.state.type !== "active")
286
+ throw Error("not active");
287
+ if (!state.state.data)
288
+ throw Error("not active");
289
+ const data = core_1.Cell.fromBoc(state.state.data)[0];
290
+ const code = core_1.Cell.fromBoc(state.state.code)[0];
291
+ return {
292
+ address: this.address,
293
+ balance: state.balance,
294
+ code,
295
+ ...StrategyVault.parseVaultData(data),
296
+ };
297
+ }
298
+ async getStorage(provider) {
299
+ const { stack } = await provider.get("get_storage", []);
300
+ const storage = stack.readTuple();
301
+ const ownerAddress = storage.readAddress();
302
+ const assets = storage.readCellOpt();
303
+ const positions = storage.readCellOpt();
304
+ const dataAggregatorIndex = storage.readBigNumber();
305
+ const rfqIndex = storage.readBigNumber();
306
+ const totalSupply = storage.readBigNumber();
307
+ const collectedManagementFee = storage.readBigNumber();
308
+ const collectedProtocolFee = storage.readBigNumber();
309
+ const isExecutingStrategy = storage.readBoolean();
310
+ const configCell = storage.readCell().hash().toString("hex");
311
+ const additionalCell = storage.readCell().hash().toString("hex");
312
+ const protocolFeeManagerAddress = storage.readAddress();
313
+ const managerAddress = storage.readAddress();
314
+ const isPrivateVault = storage.readBoolean();
315
+ const depositCloseTimestamp = storage.readBigNumber();
316
+ const withdrawOpenTimestamp = storage.readBigNumber();
317
+ const whitelistedMinters = storage.readCellOpt();
318
+ const lastCollectTimestamp = storage.readBigNumber();
319
+ const managementFeeRatePerYear = storage.readBigNumber();
320
+ const protocolFeeRatePerYear = storage.readBigNumber();
321
+ const maxLeverageRatio = storage.readBigNumber();
322
+ const assetWalletDict = storage.readCellOpt();
323
+ const walletAssetDict = storage.readCellOpt();
324
+ const rfqConfig = storage.readCellOpt()?.hash().toString("hex");
325
+ const gasConfig = storage.readCellOpt()?.hash().toString("hex");
326
+ const oracleConfig = storage.readCellOpt()?.hash().toString("hex");
327
+ const managementFeeRecipientAddress = storage.readAddressOpt();
328
+ const guardianAddress = storage.readAddressOpt();
329
+ const timelock = storage.readBigNumber();
330
+ const ownerActionIndex = storage.readBigNumber();
331
+ const pendingOwnerActionCount = storage.readBigNumber();
332
+ const pendingOwnerAction = storage.readCellOpt();
333
+ const walletCode = storage.readCell().hash().toString("hex");
334
+ const dataAggregatorCode = storage.readCell().hash().toString("hex");
335
+ const rfqCode = storage.readCell().hash().toString("hex");
336
+ const content = storage.readCell();
337
+ const xchainConnectorAddress = storage.readAddressOpt();
338
+ const __xchainConfig = storage.readCellOpt();
339
+ let xchainConfig = null;
340
+ if (__xchainConfig) {
341
+ const xchainConfigCs = __xchainConfig.beginParse();
342
+ const xchainConfigDict = xchainConfigCs.loadDictDirect(core_1.Dictionary.Keys.Uint(32), codec_1.DictionaryValues.XChainConfig());
343
+ xchainConfig = {};
344
+ for (const eid of xchainConfigDict.keys()) {
345
+ const _xchainConfig = xchainConfigDict.get(eid);
346
+ if (_xchainConfig) {
347
+ const { connected, xchainAccountAddress, oftConfig, strategyConfig, afterStrategyConfig, lzGasFee } = _xchainConfig;
348
+ const _oftConfig = oftConfig ? StrategyVault.parseXChainOftConfig(oftConfig) : null;
349
+ const _strategyConfig = strategyConfig ? StrategyVault.parseXChainStrategyConfig(strategyConfig) : null;
350
+ const _afterStrategyConfig = afterStrategyConfig
351
+ ? StrategyVault.parseXChainStrategyConfig(afterStrategyConfig)
352
+ : null;
353
+ xchainConfig[eid.toString()] = {
354
+ connected,
355
+ xchainAccountAddress,
356
+ oftConfig: _oftConfig,
357
+ strategyConfig: _strategyConfig,
358
+ afterStrategyConfig: _afterStrategyConfig,
359
+ lzGasFee,
360
+ };
361
+ }
362
+ }
363
+ }
364
+ return {
365
+ ownerAddress,
366
+ assets,
367
+ positions,
368
+ dataAggregatorIndex,
369
+ rfqIndex,
370
+ totalSupply,
371
+ collectedManagementFee,
372
+ collectedProtocolFee,
373
+ isExecutingStrategy,
374
+ configCell,
375
+ additionalCell,
376
+ protocolFeeManagerAddress,
377
+ managerAddress,
378
+ isPrivateVault,
379
+ depositCloseTimestamp,
380
+ withdrawOpenTimestamp,
381
+ whitelistedMinters,
382
+ lastCollectTimestamp,
383
+ managementFeeRatePerYear,
384
+ protocolFeeRatePerYear,
385
+ maxLeverageRatio,
386
+ assetWalletDict,
387
+ walletAssetDict,
388
+ rfqConfig,
389
+ gasConfig,
390
+ oracleConfig,
391
+ managementFeeRecipientAddress,
392
+ guardianAddress,
393
+ timelock,
394
+ ownerActionIndex,
395
+ pendingOwnerActionCount,
396
+ pendingOwnerAction,
397
+ walletCode,
398
+ dataAggregatorCode,
399
+ rfqCode,
400
+ content,
401
+ xchainConnectorAddress,
402
+ xchainConfig,
403
+ };
404
+ }
405
+ }
406
+ exports.StrategyVault = StrategyVault;
@@ -0,0 +1,115 @@
1
+ import { Address, Cell } from "@ton/core";
2
+ export type StrategyVaultConfig = {
3
+ ownerAddress: Address;
4
+ assets: Cell | null;
5
+ positions: Cell | null;
6
+ aggregatorIndex: bigint;
7
+ rfqIndex: bigint;
8
+ totalSupply: bigint;
9
+ collectedManagementFee: bigint;
10
+ collectedProtocolFee: bigint;
11
+ isExecutingStrategy: boolean;
12
+ config: {
13
+ protocolFeeManagerAddress: Address;
14
+ managerAddress: Address;
15
+ isPrivateVault: boolean;
16
+ globalDepositValueCap: bigint;
17
+ depositCloseTimestamp: bigint;
18
+ withdrawOpenTimestamp: bigint;
19
+ whitelistedMinters: Cell | null;
20
+ lastCollectTime: bigint;
21
+ withdrawFeeRate: bigint;
22
+ managementFeeRate: bigint;
23
+ protocolFeeRate: bigint;
24
+ content: Cell;
25
+ maxLeverageRatio: bigint;
26
+ assetWalletDict: Cell | null;
27
+ walletAssetDict: Cell | null;
28
+ oracleConfig?: Cell | null;
29
+ rfqConfig?: Cell | null;
30
+ gasConfig?: Cell | null;
31
+ guardianAddress?: Address;
32
+ managementFeeRecipientAddress?: Address;
33
+ timelock?: bigint;
34
+ queueWithdrawFeeRate?: bigint;
35
+ crosschainConnectorAddress?: Address;
36
+ xchainConfig?: Cell | null;
37
+ xchainUpdateHash?: bigint;
38
+ };
39
+ code: {
40
+ walletCode: Cell;
41
+ poolAggregatorCode: Cell;
42
+ rfqCode: Cell;
43
+ };
44
+ depositQueueManager?: {
45
+ totalSize: bigint;
46
+ queueCounter: bigint;
47
+ pendingAssetQueueDict: Cell | null;
48
+ confirmedAssetQueueDict: Cell | null;
49
+ };
50
+ withdrawQueueManager?: {
51
+ totalSize: bigint;
52
+ queueCounter: bigint;
53
+ pendingAssetQueueDict: Cell | null;
54
+ confirmedAssetQueueDict: Cell | null;
55
+ };
56
+ interactiveVaultDict?: Cell;
57
+ };
58
+ export type VaultResponseOptions = {
59
+ jettonForwardTonAmount?: bigint;
60
+ jettonForwardPayload?: Cell;
61
+ actionForwardTonAmount?: bigint;
62
+ actionForwardPayload?: Cell;
63
+ };
64
+ export type FactorialPoolShare = {
65
+ isSupplyable: boolean;
66
+ isBorrowable: boolean;
67
+ supply: bigint;
68
+ borrow: bigint;
69
+ };
70
+ export type FactorialPool = Record<string, FactorialPoolShare>;
71
+ export type AssetV1 = {
72
+ isWhitelisted: boolean;
73
+ isDepositable: boolean;
74
+ isWithdrawable: boolean;
75
+ exposureCap: number;
76
+ cash: bigint;
77
+ balance: bigint;
78
+ };
79
+ export type AssetV2 = AssetV1 & {
80
+ isDepositQueueActivated: boolean;
81
+ isWithdrawQueueActivated: boolean;
82
+ };
83
+ export type RequestQueueItem = {
84
+ amount: bigint;
85
+ responseAddress: Address;
86
+ jettonForwardTonAmount: bigint;
87
+ jettonForwardPayload: Cell | null;
88
+ actionForwardTonAmount: bigint;
89
+ actionForwardPayload: Cell | null;
90
+ };
91
+ export type SumQueue = {
92
+ queueId: bigint;
93
+ sum: bigint;
94
+ exchangeRate: bigint;
95
+ dict: Record<string, RequestQueueItem>;
96
+ };
97
+ export type QueueManager = {
98
+ totalSize: bigint;
99
+ queueCounter: bigint;
100
+ pendingAssetQueue: Record<string, SumQueue>;
101
+ confirmedAssetQueue: Record<string, SumQueue>;
102
+ };
103
+ export type InteractiveVaultConfigItem = {
104
+ vaultType: number;
105
+ supportedAssets: string[];
106
+ };
107
+ export type XChainConfig = {
108
+ connected: boolean;
109
+ xchainAccountAddress: bigint;
110
+ oftConfig?: Cell | null;
111
+ strategyConfig?: Cell | null;
112
+ afterStrategyConfig?: Cell | null;
113
+ lzGasFee: bigint;
114
+ };
115
+ export type InteractiveVaultDict = Record<string, InteractiveVaultConfigItem>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,35 @@
1
+ import { Address, Cell, Contract, ContractProvider, OpenedContract, Sender } from "@ton/ton";
2
+ import { AddressInput } from "../common/type";
3
+ import { WTONWallet } from "./jetton-wallet";
4
+ export declare const WTON_UNWRAP_OP_VALUE = 8388449;
5
+ export declare const WTON_UNWRAP_OP_LENGTH = 23;
6
+ export declare const WTON_UNWRAP_CELL: Cell;
7
+ export declare const WTON_UNWRAP_GAS: bigint;
8
+ export declare class WTONMinter implements Contract {
9
+ readonly address: Address;
10
+ readonly init?: {
11
+ code: Cell;
12
+ data: Cell;
13
+ } | undefined;
14
+ private cache;
15
+ constructor(address: Address, init?: {
16
+ code: Cell;
17
+ data: Cell;
18
+ } | undefined);
19
+ static Op: {
20
+ Mint: number;
21
+ };
22
+ static createFromAddress(address: Address): WTONMinter;
23
+ getState(provider: ContractProvider): Promise<import("@ton/ton").ContractState>;
24
+ getWalletAddress(provider: ContractProvider, address: Address): Promise<Address>;
25
+ sendMint(provider: ContractProvider, via: Sender, value: bigint, opts: {
26
+ recipient: Address;
27
+ queryId?: bigint;
28
+ }): Promise<void>;
29
+ getJettonData(provider: ContractProvider): Promise<{
30
+ totalSupply: bigint;
31
+ admin: Address;
32
+ content: string | null;
33
+ }>;
34
+ getWallet(provider: ContractProvider, address: AddressInput): Promise<OpenedContract<WTONWallet>>;
35
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WTONMinter = exports.WTON_UNWRAP_GAS = exports.WTON_UNWRAP_CELL = exports.WTON_UNWRAP_OP_LENGTH = exports.WTON_UNWRAP_OP_VALUE = void 0;
4
+ const ton_1 = require("@ton/ton");
5
+ const utils_1 = require("../common/utils");
6
+ const jetton_wallet_1 = require("./jetton-wallet");
7
+ exports.WTON_UNWRAP_OP_VALUE = 8388449;
8
+ exports.WTON_UNWRAP_OP_LENGTH = 23;
9
+ exports.WTON_UNWRAP_CELL = (0, ton_1.beginCell)().storeUint(exports.WTON_UNWRAP_OP_VALUE, exports.WTON_UNWRAP_OP_LENGTH).endCell();
10
+ exports.WTON_UNWRAP_GAS = (0, ton_1.toNano)(0.02);
11
+ class WTONMinter {
12
+ address;
13
+ init;
14
+ cache = new Map();
15
+ constructor(address, init) {
16
+ this.address = address;
17
+ this.init = init;
18
+ }
19
+ static Op = {
20
+ Mint: 0xaeaf6718,
21
+ };
22
+ static createFromAddress(address) {
23
+ return new WTONMinter(address);
24
+ }
25
+ async getState(provider) {
26
+ return await provider.getState();
27
+ }
28
+ async getWalletAddress(provider, address) {
29
+ const result = await provider.get("get_wallet_address", [
30
+ {
31
+ type: "slice",
32
+ cell: (0, ton_1.beginCell)().storeAddress(address).endCell(),
33
+ },
34
+ ]);
35
+ return result.stack.readAddress();
36
+ }
37
+ async sendMint(provider, via, value, opts) {
38
+ await provider.internal(via, {
39
+ value: value,
40
+ sendMode: ton_1.SendMode.PAY_GAS_SEPARATELY,
41
+ body: (0, ton_1.beginCell)()
42
+ .storeUint(WTONMinter.Op.Mint, 32)
43
+ .storeUint(opts.queryId ?? 0, 64)
44
+ .storeAddress(opts.recipient)
45
+ .endCell(),
46
+ });
47
+ }
48
+ async getJettonData(provider) {
49
+ const _result = await provider.get("get_jetton_data", []);
50
+ const totalSupply = _result.stack.readBigNumber();
51
+ _result.stack.readBigNumber();
52
+ const admin = _result.stack.readAddress();
53
+ const content = _result.stack.readStringOpt();
54
+ return {
55
+ totalSupply,
56
+ admin,
57
+ content,
58
+ };
59
+ }
60
+ async getWallet(provider, address) {
61
+ const key = (0, utils_1.toAddress)(address).toString();
62
+ const cached = this.cache.get(key);
63
+ if (cached)
64
+ return cached;
65
+ const wtonWalletAddress = await this.getWalletAddress(provider, (0, utils_1.toAddress)(address));
66
+ const wallet = provider.open(jetton_wallet_1.WTONWallet.createFromAddress(wtonWalletAddress));
67
+ this.cache.set(key, wallet);
68
+ return wallet;
69
+ }
70
+ }
71
+ exports.WTONMinter = WTONMinter;