@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,213 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LFDedustJettonWallet = exports.Opcodes = void 0;
4
+ exports.jettonWalletConfigToCell = jettonWalletConfigToCell;
5
+ const core_1 = require("@ton/core");
6
+ function jettonWalletConfigToCell(config) {
7
+ return (0, core_1.beginCell)()
8
+ .storeCoins(0)
9
+ .storeCoins(0)
10
+ .storeAddress(config.owner)
11
+ .storeUint(0, 4)
12
+ .storeRef((0, core_1.beginCell)().storeAddress(config.minter).storeAddress(config.lockedAsset).storeAddress(config.pool).endCell())
13
+ .endCell();
14
+ }
15
+ exports.Opcodes = {
16
+ Mint: 21,
17
+ InternalTransfer: 0x178d4519,
18
+ Transfer: 0xf8a7ea5,
19
+ Burn: 0x595f07bc,
20
+ };
21
+ class LFDedustJettonWallet {
22
+ address;
23
+ init;
24
+ constructor(address, init) {
25
+ this.address = address;
26
+ this.init = init;
27
+ }
28
+ static Op = {
29
+ Mint: 21,
30
+ InternalTransfer: 0x178d4519,
31
+ Transfer: 0xf8a7ea5,
32
+ Burn: 0x595f07bc,
33
+ Initialize: 0xbe5a7595,
34
+ Seize: 0x7df57cb6,
35
+ SeizeInternal: 0x64486eca,
36
+ SeizeFail: 0x4cf20f42,
37
+ ConnectPoolAccount: 0x8d989d7d,
38
+ TransferNotification: 0x7362d09c,
39
+ ClaimRewards: 0x78d9f109,
40
+ WithdrawTons: 0x6d8e5e3c,
41
+ WithdrawJettons: 0x768a50b2,
42
+ DedustClaim: 0xc077194f,
43
+ };
44
+ static Error = {
45
+ InvalidWalletAddress: 1000,
46
+ Unauthorized: 1001,
47
+ NotEnoughBalance: 1002,
48
+ NotEnoughLockedAssetBalance: 1003,
49
+ EnoughLockedAssetBalance: 1004,
50
+ };
51
+ static createFromAddress(address) {
52
+ return new LFDedustJettonWallet(address);
53
+ }
54
+ static createFromConfig(config, code, workchain = 0) {
55
+ const data = jettonWalletConfigToCell(config);
56
+ const init = { code, data };
57
+ return new LFDedustJettonWallet((0, core_1.contractAddress)(workchain, init), init);
58
+ }
59
+ async sendDeploy(provider, via, value) {
60
+ await provider.internal(via, {
61
+ value,
62
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
63
+ body: (0, core_1.beginCell)().endCell(),
64
+ });
65
+ }
66
+ async sendInitialize(provider, via, value) {
67
+ await provider.internal(via, {
68
+ value,
69
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
70
+ body: (0, core_1.beginCell)().storeUint(LFDedustJettonWallet.Op.Initialize, 32).storeUint(0, 64).endCell(),
71
+ });
72
+ }
73
+ async sendConnectPoolAccount(provider, via, value) {
74
+ await provider.internal(via, {
75
+ value,
76
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
77
+ body: (0, core_1.beginCell)().storeUint(LFDedustJettonWallet.Op.ConnectPoolAccount, 32).storeUint(0, 64).endCell(),
78
+ });
79
+ }
80
+ async sendTransfer(provider, via, opts) {
81
+ await provider.internal(via, {
82
+ value: opts.value,
83
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
84
+ body: (0, core_1.beginCell)()
85
+ .storeUint(exports.Opcodes.Transfer, 32) // opcode
86
+ .storeUint(opts.queryId ?? 0, 64) // query id
87
+ .storeCoins(opts.amount)
88
+ .storeAddress(opts.recipient) //
89
+ .storeAddress(opts.response || opts.recipient)
90
+ .storeDict(null)
91
+ .storeCoins(opts.notificationGas ? opts.notificationGas : (0, core_1.toNano)(0.05)) // forward-ton-amount 이게 없으면 transfer_notification 호출 안될수도.
92
+ .storeMaybeRef(opts.additional)
93
+ .endCell(),
94
+ });
95
+ }
96
+ async sendBurn(provider, via, opts) {
97
+ await provider.internal(via, {
98
+ value: opts.value,
99
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
100
+ body: (0, core_1.beginCell)()
101
+ .storeUint(opts.opcode ? opts.opcode : exports.Opcodes.Burn, 32) // opcode
102
+ .storeUint(opts.queryId ?? 0, 64) // query id
103
+ .storeCoins(opts.amount) //
104
+ .storeAddress(opts.recipientAddress)
105
+ .storeAddress(opts.responseAddress)
106
+ .endCell(),
107
+ });
108
+ }
109
+ async sendSeize(provider, via, opts) {
110
+ await provider.internal(via, {
111
+ value: opts.value,
112
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
113
+ body: (0, core_1.beginCell)()
114
+ .storeUint(opts.opcode ? opts.opcode : LFDedustJettonWallet.Op.Seize, 32) // opcode
115
+ .storeUint(opts.queryId ?? 0, 64) // query id
116
+ .storeCoins(opts.amount) //
117
+ .storeAddress(opts.targetAddress)
118
+ .storeAddress(opts.responseAddress)
119
+ .endCell(),
120
+ });
121
+ }
122
+ async sendClaimRewards(provider, via, opts) {
123
+ await provider.internal(via, {
124
+ value: opts.value,
125
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
126
+ body: (0, core_1.beginCell)()
127
+ .storeUint(LFDedustJettonWallet.Op.ClaimRewards, 32) // opcode
128
+ .storeUint(opts.queryId ?? 0, 64) // query id
129
+ .storeAddress(opts.distributorAddress)
130
+ .storeRef(opts.proof)
131
+ .endCell(),
132
+ });
133
+ }
134
+ async sendWithdrawTons(provider, via, opts) {
135
+ await provider.internal(via, {
136
+ value: opts.value,
137
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
138
+ body: (0, core_1.beginCell)()
139
+ .storeUint(LFDedustJettonWallet.Op.WithdrawTons, 32) // opcode
140
+ .storeUint(opts.queryId ?? 0, 64) // query id
141
+ .endCell(),
142
+ });
143
+ }
144
+ async sendWithdrawJettons(provider, via, opts) {
145
+ await provider.internal(via, {
146
+ value: opts.value,
147
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
148
+ body: (0, core_1.beginCell)()
149
+ .storeUint(LFDedustJettonWallet.Op.WithdrawJettons, 32) // opcode
150
+ .storeUint(opts.queryId ?? 0, 64) // query id
151
+ .storeAddress(opts.wallet)
152
+ .storeCoins(opts.amount)
153
+ .storeBit(0)
154
+ .endCell(),
155
+ });
156
+ }
157
+ async getState(provider) {
158
+ return await provider.getState();
159
+ }
160
+ async getWalletData(provider) {
161
+ try {
162
+ const _result = await provider.get("get_wallet_data", []);
163
+ const balance = _result.stack.readBigNumber();
164
+ const owner = _result.stack.readAddress();
165
+ const jetton = _result.stack.readAddress();
166
+ return {
167
+ balance,
168
+ owner,
169
+ jetton,
170
+ };
171
+ }
172
+ catch (e) {
173
+ return {
174
+ balance: 0n,
175
+ };
176
+ }
177
+ }
178
+ async getLiquidFarmData(provider) {
179
+ try {
180
+ const _result = await provider.get("get_liquid_farm_data", []);
181
+ const balance = _result.stack.readBigNumber();
182
+ const lockedAssetBalance = _result.stack.readBigNumber();
183
+ const jettonAddress = _result.stack.readAddress();
184
+ const assetWalletAddress = _result.stack.readAddressOpt();
185
+ const poolAccountAddress = _result.stack.readAddressOpt();
186
+ const connectedWithPoolAccount = _result.stack.readBoolean();
187
+ const ownerAddress = _result.stack.readAddress();
188
+ const assetAddress = _result.stack.readAddress();
189
+ const poolAddress = _result.stack.readAddress();
190
+ return {
191
+ deployed: true,
192
+ balance,
193
+ lockedAssetBalance,
194
+ jettonAddress,
195
+ assetWalletAddress,
196
+ poolAccountAddress,
197
+ connectedWithPoolAccount,
198
+ ownerAddress,
199
+ assetAddress,
200
+ poolAddress,
201
+ };
202
+ }
203
+ catch (e) {
204
+ console.log(e);
205
+ return {
206
+ deployed: false,
207
+ balance: 0n,
208
+ lockedAssetBalance: 0n,
209
+ };
210
+ }
211
+ }
212
+ }
213
+ exports.LFDedustJettonWallet = LFDedustJettonWallet;
@@ -0,0 +1,53 @@
1
+ import { Address, Cell, Contract, ContractProvider, Sender } from "@ton/core";
2
+ export type JettonMinterConfig = {
3
+ admin: Address;
4
+ content?: Cell;
5
+ walletCode: Cell;
6
+ asset: Address;
7
+ pool: Address;
8
+ farm: Address;
9
+ };
10
+ export type JettonMinterContent = {
11
+ type: 0 | 1;
12
+ uri: string;
13
+ };
14
+ export declare function jettonContentToCell(content: JettonMinterContent): Cell;
15
+ export declare function jettonMinterConfigToCell(config: JettonMinterConfig): Cell;
16
+ export declare const Opcodes: {
17
+ Mint: number;
18
+ InternalTransfer: number;
19
+ DeployWallet: number;
20
+ };
21
+ export declare class LFStonfiJettonMinter implements Contract {
22
+ readonly address: Address;
23
+ readonly init?: {
24
+ code: Cell;
25
+ data: Cell;
26
+ } | undefined;
27
+ constructor(address: Address, init?: {
28
+ code: Cell;
29
+ data: Cell;
30
+ } | undefined);
31
+ static createFromAddress(address: Address): LFStonfiJettonMinter;
32
+ static createFromConfig(config: JettonMinterConfig, code: Cell, workchain?: number): LFStonfiJettonMinter;
33
+ sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
34
+ sendDeployWallet(provider: ContractProvider, via: Sender, opts: {
35
+ recipient: Address;
36
+ value: bigint;
37
+ opcode?: number;
38
+ queryId?: bigint;
39
+ }): Promise<void>;
40
+ getState(provider: ContractProvider): Promise<import("@ton/core").ContractState>;
41
+ getWLPJettonData(provider: ContractProvider): Promise<{
42
+ totalSupply: bigint;
43
+ adminAddress: Address;
44
+ assetAddress: Address;
45
+ poolAddress: Address;
46
+ farmAddress: Address;
47
+ }>;
48
+ getWalletAddress(provider: ContractProvider, address: Address): Promise<Address>;
49
+ getJettonData(provider: ContractProvider): Promise<{
50
+ totalSupply: bigint;
51
+ admin: Address;
52
+ }>;
53
+ }
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LFStonfiJettonMinter = exports.Opcodes = void 0;
4
+ exports.jettonContentToCell = jettonContentToCell;
5
+ exports.jettonMinterConfigToCell = jettonMinterConfigToCell;
6
+ const core_1 = require("@ton/core");
7
+ function jettonContentToCell(content) {
8
+ return (0, core_1.beginCell)()
9
+ .storeUint(content.type, 8)
10
+ .storeStringTail(content.uri) //Snake logic under the hood
11
+ .endCell();
12
+ }
13
+ function jettonMinterConfigToCell(config) {
14
+ return (0, core_1.beginCell)()
15
+ .storeCoins(0)
16
+ .storeAddress(config.admin)
17
+ .storeRef(config.content ? config.content : (0, core_1.beginCell)().endCell())
18
+ .storeRef(config.walletCode)
19
+ .storeRef((0, core_1.beginCell)().storeAddress(config.asset).storeAddress(config.pool).storeAddress(config.farm).endCell())
20
+ .endCell();
21
+ }
22
+ exports.Opcodes = {
23
+ Mint: 0x1674b0a0,
24
+ InternalTransfer: 0x178d4519,
25
+ DeployWallet: 0x12171766,
26
+ };
27
+ class LFStonfiJettonMinter {
28
+ address;
29
+ init;
30
+ constructor(address, init) {
31
+ this.address = address;
32
+ this.init = init;
33
+ }
34
+ static createFromAddress(address) {
35
+ return new LFStonfiJettonMinter(address);
36
+ }
37
+ static createFromConfig(config, code, workchain = 0) {
38
+ const data = jettonMinterConfigToCell(config);
39
+ const init = { code, data };
40
+ return new LFStonfiJettonMinter((0, core_1.contractAddress)(workchain, init), init);
41
+ }
42
+ async sendDeploy(provider, via, value) {
43
+ await provider.internal(via, {
44
+ value,
45
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
46
+ body: (0, core_1.beginCell)().endCell(),
47
+ });
48
+ }
49
+ async sendDeployWallet(provider, via, opts) {
50
+ await provider.internal(via, {
51
+ value: opts.value,
52
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
53
+ body: (0, core_1.beginCell)()
54
+ .storeUint(opts.opcode ? opts.opcode : exports.Opcodes.DeployWallet, 32) // opcode
55
+ .storeUint(opts.queryId ?? 0, 64) // query id
56
+ .storeAddress(opts.recipient) //
57
+ .endCell(),
58
+ });
59
+ }
60
+ async getState(provider) {
61
+ return await provider.getState();
62
+ }
63
+ async getWLPJettonData(provider) {
64
+ const state = await provider.getState();
65
+ if (state.state.type !== "active")
66
+ throw "not active";
67
+ if (!state.state.data)
68
+ throw "not active";
69
+ const data = core_1.Cell.fromBoc(state.state.data)[0].beginParse();
70
+ const totalSupply = data.loadCoins();
71
+ const adminAddress = data.loadAddress();
72
+ const content = data.loadRef();
73
+ const jettonWalletCode = data.loadRef();
74
+ const addressCell = data.loadRef();
75
+ const addressData = addressCell.beginParse();
76
+ const assetAddress = addressData.loadAddress();
77
+ const poolAddress = addressData.loadAddress();
78
+ const farmAddress = addressData.loadAddress();
79
+ return {
80
+ totalSupply,
81
+ adminAddress,
82
+ // content,
83
+ // jettonWalletCode,
84
+ assetAddress,
85
+ poolAddress,
86
+ farmAddress,
87
+ // addressCell,
88
+ };
89
+ }
90
+ async getWalletAddress(provider, address) {
91
+ const tis = {
92
+ type: "slice",
93
+ cell: (0, core_1.beginCell)().storeAddress(address).endCell(),
94
+ };
95
+ const result = await provider.get("get_wallet_address", [tis]);
96
+ return result.stack.readAddress();
97
+ }
98
+ async getJettonData(provider) {
99
+ const _result = await provider.get("get_jetton_data", []);
100
+ // console.log(_result);
101
+ const totalSupply = _result.stack.readBigNumber();
102
+ _result.stack.readBigNumber();
103
+ const admin = _result.stack.readAddress();
104
+ return {
105
+ totalSupply,
106
+ admin,
107
+ };
108
+ }
109
+ }
110
+ exports.LFStonfiJettonMinter = LFStonfiJettonMinter;
@@ -0,0 +1,169 @@
1
+ import { Address, Cell, Contract, ContractProvider, Sender } from "@ton/core";
2
+ export type JettonWalletConfig = {
3
+ owner: Address;
4
+ minter: Address;
5
+ lockedAsset: Address;
6
+ pool: Address;
7
+ };
8
+ export declare function jettonWalletConfigToCell(config: JettonWalletConfig): Cell;
9
+ export declare const Opcodes: {
10
+ Mint: number;
11
+ InternalTransfer: number;
12
+ Transfer: number;
13
+ Burn: number;
14
+ };
15
+ export declare class LFStonfiJettonWallet implements Contract {
16
+ readonly address: Address;
17
+ readonly init?: {
18
+ code: Cell;
19
+ data: Cell;
20
+ } | undefined;
21
+ constructor(address: Address, init?: {
22
+ code: Cell;
23
+ data: Cell;
24
+ } | undefined);
25
+ static Op: {
26
+ Mint: number;
27
+ InternalTransfer: number;
28
+ Transfer: number;
29
+ Burn: number;
30
+ Initialize: number;
31
+ Seize: number;
32
+ SeizeInternal: number;
33
+ SeizeFail: number;
34
+ Farm: number;
35
+ Unfarm: number;
36
+ ConnectPoolAccount: number;
37
+ TransferNotification: number;
38
+ SyncLockedAssetCash: number;
39
+ ClaimRewards: number;
40
+ WithdrawTons: number;
41
+ WithdrawJettons: number;
42
+ };
43
+ static Error: {
44
+ UnknownOp: number;
45
+ WrongWorkchain: number;
46
+ UnauthorizedTransfer: number;
47
+ NotEnoughJettons: number;
48
+ UnauthorizedIncomingTransfer: number;
49
+ MalformedForwardPayload: number;
50
+ NotEnoughTons: number;
51
+ BurnFeeNotMatched: number;
52
+ UnknownAction: number;
53
+ UnknownActionBounced: number;
54
+ DiscoveryFeeNotMatched: number;
55
+ UnauthorizedMintRequest: number;
56
+ UnauthorizedBurnRequest: number;
57
+ UnauthorizedChangeAdminRequest: number;
58
+ UnauthorizedChangeContentRequest: number;
59
+ InvalidWalletAddress: number;
60
+ Unauthorized: number;
61
+ NotEnoughBalance: number;
62
+ NotEnoughLockedAssetBalance: number;
63
+ EnoughLockedAssetBalance: number;
64
+ NotEnoughLockedAssetCash: number;
65
+ SyncInProcess: number;
66
+ InvalidExpectCash: number;
67
+ };
68
+ static createFromAddress(address: Address): LFStonfiJettonWallet;
69
+ static createFromConfig(config: JettonWalletConfig, code: Cell, workchain?: number): LFStonfiJettonWallet;
70
+ sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
71
+ sendInitialize(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
72
+ sendConnectPoolAccount(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
73
+ sendFarm(provider: ContractProvider, via: Sender, value: bigint, opts: {
74
+ queryId?: bigint;
75
+ amount: bigint;
76
+ response: Address;
77
+ forwardTonAmount: bigint;
78
+ }): Promise<void>;
79
+ sendUnfarm(provider: ContractProvider, via: Sender, value: bigint, opts: {
80
+ queryId?: bigint;
81
+ nftAddress: Address;
82
+ }): Promise<void>;
83
+ sendSyncLockedAssetCash(provider: ContractProvider, via: Sender, value: bigint, opts: {
84
+ queryId?: bigint;
85
+ }): Promise<void>;
86
+ sendTransferNotification(provider: ContractProvider, via: Sender, opts: {
87
+ amount: bigint;
88
+ value: bigint;
89
+ fromAddress: Address;
90
+ queryId?: bigint;
91
+ }): Promise<void>;
92
+ sendTransfer(provider: ContractProvider, via: Sender, opts: {
93
+ notificationGas?: bigint;
94
+ recipient: Address;
95
+ response?: Address;
96
+ amount: bigint;
97
+ value: bigint;
98
+ additional?: Cell;
99
+ queryId?: number;
100
+ }): Promise<void>;
101
+ sendBurn(provider: ContractProvider, via: Sender, opts: {
102
+ amount: bigint;
103
+ value: bigint;
104
+ recipientAddress: Address;
105
+ responseAddress: Address;
106
+ opcode?: number;
107
+ queryId?: bigint;
108
+ }): Promise<void>;
109
+ sendSeize(provider: ContractProvider, via: Sender, opts: {
110
+ amount: bigint;
111
+ value: bigint;
112
+ targetAddress: Address;
113
+ responseAddress: Address;
114
+ opcode?: number;
115
+ queryId?: bigint;
116
+ }): Promise<void>;
117
+ sendClaimRewards(provider: ContractProvider, via: Sender, opts: {
118
+ value: bigint;
119
+ nftAddress: Address;
120
+ claimAll: boolean;
121
+ poolIndex: number;
122
+ queryId?: bigint;
123
+ }): Promise<void>;
124
+ sendWithdrawTons(provider: ContractProvider, via: Sender, value: bigint, opts: {
125
+ queryId?: bigint;
126
+ }): Promise<void>;
127
+ sendWithdrawJettons(provider: ContractProvider, via: Sender, value: bigint, opts: {
128
+ wallet: Address;
129
+ amount: bigint;
130
+ queryId?: bigint;
131
+ }): Promise<void>;
132
+ getState(provider: ContractProvider): Promise<import("@ton/core").ContractState>;
133
+ getWalletData(provider: ContractProvider): Promise<{
134
+ balance: bigint;
135
+ owner: Address;
136
+ jetton: Address;
137
+ } | {
138
+ balance: bigint;
139
+ owner?: undefined;
140
+ jetton?: undefined;
141
+ }>;
142
+ getLiquidFarmData(provider: ContractProvider): Promise<{
143
+ deployed: boolean;
144
+ balance: bigint;
145
+ lockedAssetBalance: bigint;
146
+ lockedAssetCash: bigint;
147
+ lockedAssetCashBeforeSync: bigint;
148
+ jettonAddress: Address;
149
+ assetWalletAddress: Address | null;
150
+ poolAccountAddress: Address | null;
151
+ connectedWithPoolAccount: boolean;
152
+ ownerAddress: Address;
153
+ assetAddress: Address;
154
+ poolAddress: Address;
155
+ } | {
156
+ deployed: boolean;
157
+ balance: bigint;
158
+ lockedAssetBalance: bigint;
159
+ lockedAssetCash: bigint;
160
+ lockedAssetCashBeforeSync: bigint;
161
+ jettonAddress?: undefined;
162
+ assetWalletAddress?: undefined;
163
+ poolAccountAddress?: undefined;
164
+ connectedWithPoolAccount?: undefined;
165
+ ownerAddress?: undefined;
166
+ assetAddress?: undefined;
167
+ poolAddress?: undefined;
168
+ }>;
169
+ }