@affluent-org/sdk 0.0.2 → 0.0.3

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 (104) hide show
  1. package/dist/build/Account.compiled.json +1 -0
  2. package/dist/build/Receipt.compiled.json +1 -0
  3. package/dist/build/WTONWallet.compiled.json +1 -0
  4. package/dist/common/cache.d.ts +16 -0
  5. package/dist/common/cache.js +96 -0
  6. package/dist/common/service.d.ts +20 -0
  7. package/dist/common/service.js +69 -0
  8. package/dist/common/type.d.ts +14 -0
  9. package/dist/common/type.js +2 -0
  10. package/dist/common/unknown-contract.d.ts +14 -0
  11. package/dist/common/unknown-contract.js +18 -0
  12. package/dist/common/versions.d.ts +14 -0
  13. package/dist/common/versions.js +22 -0
  14. package/dist/constants/pool.d.ts +1 -0
  15. package/dist/constants/pool.js +2 -0
  16. package/dist/contracts/_mock/simple-oracle.d.ts +34 -0
  17. package/dist/contracts/_mock/simple-oracle.js +73 -0
  18. package/dist/contracts/vault/share-vault/type.d.ts +30 -0
  19. package/dist/contracts/vault/share-vault/type.js +2 -0
  20. package/dist/contracts/vault/strategy-vault/utils.d.ts +6 -0
  21. package/dist/contracts/vault/strategy-vault/utils.js +32 -0
  22. package/dist/factorial.d.ts +14 -0
  23. package/dist/factorial.js +20 -0
  24. package/dist/farm.d.ts +92 -0
  25. package/dist/farm.js +209 -0
  26. package/dist/monitor.d.ts +57 -0
  27. package/dist/monitor.js +527 -0
  28. package/dist/monitorCacheV1.d.ts +52 -0
  29. package/dist/monitorCacheV1.js +504 -0
  30. package/dist/oracle/oracle-v2.d.ts +39 -0
  31. package/dist/oracle/oracle-v2.js +151 -0
  32. package/dist/oracle/oracle.d.ts +107 -0
  33. package/dist/oracle/oracle.js +392 -0
  34. package/dist/periphery.d.ts +259 -0
  35. package/dist/periphery.js +1087 -0
  36. package/dist/pool.d.ts +216 -0
  37. package/dist/pool.js +2298 -0
  38. package/dist/poolCacheV1.d.ts +139 -0
  39. package/dist/poolCacheV1.js +1841 -0
  40. package/dist/rfq-auction.d.ts +75 -0
  41. package/dist/rfq-auction.js +220 -0
  42. package/dist/rfq-batch.d.ts +112 -0
  43. package/dist/rfq-batch.js +284 -0
  44. package/dist/services/share-vault/computation.d.ts +14 -17
  45. package/dist/services/share-vault/computation.js +39 -0
  46. package/dist/services/share-vault/index.js +6 -3
  47. package/dist/services/share-vault/query.d.ts +38 -8
  48. package/dist/services/share-vault/query.js +20 -27
  49. package/dist/services/share-vault/type.d.ts +19 -0
  50. package/dist/services/share-vault/type.js +2 -0
  51. package/dist/services/share-vault/user/index.js +3 -1
  52. package/dist/services/strategy-vault/computation.d.ts +1 -0
  53. package/dist/services/strategy-vault/computation.js +15 -0
  54. package/dist/services/strategy-vault/query.d.ts +147 -0
  55. package/dist/services/strategy-vault/query.js +67 -0
  56. package/dist/services/strategy-vault/type.d.ts +2 -0
  57. package/dist/services/strategy-vault/type.js +2 -0
  58. package/dist/share-vault.d.ts +91 -0
  59. package/dist/share-vault.js +747 -0
  60. package/dist/stonfi.d.ts +18 -0
  61. package/dist/stonfi.js +76 -0
  62. package/dist/strategy_vault/base.d.ts +399 -0
  63. package/dist/strategy_vault/base.js +1199 -0
  64. package/dist/strategy_vault/index.d.ts +3 -0
  65. package/dist/strategy_vault/index.js +7 -0
  66. package/dist/strategy_vault/steps.d.ts +49 -0
  67. package/dist/strategy_vault/steps.js +170 -0
  68. package/dist/types/action.d.ts +55 -0
  69. package/dist/types/action.js +2 -0
  70. package/dist/types/messages.d.ts +7 -0
  71. package/dist/types/messages.js +2 -0
  72. package/dist/types/params.d.ts +19 -0
  73. package/dist/types/params.js +2 -0
  74. package/dist/types/pool.d.ts +83 -0
  75. package/dist/types/pool.js +2 -0
  76. package/dist/types/transaction.d.ts +40 -0
  77. package/dist/types/transaction.js +2 -0
  78. package/dist/utils/_parse_temp/JumpIRM.d.ts +37 -0
  79. package/dist/utils/_parse_temp/JumpIRM.js +71 -0
  80. package/dist/utils/_parse_temp/Pool.d.ts +559 -0
  81. package/dist/utils/_parse_temp/Pool.js +1023 -0
  82. package/dist/utils/_parse_temp/ShareVault.d.ts +264 -0
  83. package/dist/utils/_parse_temp/ShareVault.js +479 -0
  84. package/dist/utils/_parse_temp/StrategyVault.d.ts +729 -0
  85. package/dist/utils/_parse_temp/StrategyVault.js +1865 -0
  86. package/dist/utils/_parse_temp/parseMsgBody.d.ts +13 -0
  87. package/dist/utils/_parse_temp/parseMsgBody.js +313 -0
  88. package/dist/utils/assert.d.ts +1 -0
  89. package/dist/utils/assert.js +9 -0
  90. package/dist/utils/client-for-parameter.d.ts +12 -0
  91. package/dist/utils/client-for-parameter.js +97 -0
  92. package/dist/utils/oracle/index.d.ts +4 -0
  93. package/dist/utils/oracle/index.js +19 -0
  94. package/dist/utils/oracle/redstone/helper.d.ts +22 -0
  95. package/dist/utils/oracle/redstone/helper.js +186 -0
  96. package/dist/utils/tracer.d.ts +13 -0
  97. package/dist/utils/tracer.js +137 -0
  98. package/dist/utils/tracker/index.d.ts +5 -0
  99. package/dist/utils/tracker/index.js +118 -0
  100. package/dist/utils/tracker/query-id-generactor.d.ts +2 -0
  101. package/dist/utils/tracker/query-id-generactor.js +12 -0
  102. package/dist/utils/tracker/type.d.ts +34 -0
  103. package/dist/utils/tracker/type.js +2 -0
  104. package/package.json +1 -1
@@ -0,0 +1,479 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShareVault = exports.Op = void 0;
4
+ exports.shareVaultConfigToCell = shareVaultConfigToCell;
5
+ const core_1 = require("@ton/core");
6
+ function shareVaultConfigToCell(config) {
7
+ return (0, core_1.beginCell)()
8
+ .storeCoins(0)
9
+ .storeAddress(config.ownerAddress)
10
+ .storeAddress(config.managerAddress)
11
+ .storeCoins(0)
12
+ .storeCoins(0)
13
+ .storeCoins(0)
14
+ .storeCoins(0)
15
+ .storeBit(config.isWtonVault || false)
16
+ .storeDict(config.whitelistedPools)
17
+ .storeRef((0, core_1.beginCell)()
18
+ .storeAddress(config.assetAddress)
19
+ .storeAddress(config.assetWalletAddress)
20
+ .storeRef(config.content ? config.content : (0, core_1.beginCell)().endCell())
21
+ .storeRef(config.jettonWalletCode)
22
+ .storeRef(config.poolAggregatorCode)
23
+ .endCell())
24
+ .storeRef(config.gas)
25
+ .endCell();
26
+ }
27
+ exports.Op = {
28
+ // owner
29
+ SetWhitelstPools: 0x59292de8,
30
+ SetGasFee: 0x50d87d1d,
31
+ // manager
32
+ SupplyToPool: 0x996bd32d,
33
+ WithdrawFromPool: 0x188047fa,
34
+ SetTargetWeight: 0x73ffc8,
35
+ RequestAssetWalletAddress: 0x16359e7d,
36
+ ActionNotification: 0xa1b21e8b,
37
+ TakeAggregatedPool: 0x75a40ce7,
38
+ ChangeManager: 0x6780b0d9,
39
+ };
40
+ class ShareVault {
41
+ address;
42
+ init;
43
+ constructor(address, init) {
44
+ this.address = address;
45
+ this.init = init;
46
+ }
47
+ static Op = {
48
+ // owner
49
+ SetWhitelistPools: 0x59292de8,
50
+ SetGasFee: 0x50d87d1d,
51
+ // manager
52
+ SupplyToPool: 0x996bd32d,
53
+ WithdrawFromPool: 0x188047fa,
54
+ SetTargetWeight: 0x73ffc8,
55
+ RequestAssetWalletAddress: 0x16359e7d,
56
+ ActionNotification: 0xa1b21e8b,
57
+ TakeAggregatedPool: 0x75a40ce7,
58
+ Supply: 0x480074d8,
59
+ Withdraw: 0xcb03bfaf,
60
+ UpgradeCode: 0x61bddf8b,
61
+ ChangeManager: 0x6780b0d9,
62
+ ChangeAdmin: 0x4840664f,
63
+ };
64
+ static Error = {
65
+ UnknownOp: 0xffff,
66
+ InvalidWallet: 1002,
67
+ InvalidAddress: 1003,
68
+ NotFoundPoolState: 1004,
69
+ ActionTimeout: 1005,
70
+ InvalidBurnRequest: 1006,
71
+ NotWhitelistedPool: 1007,
72
+ NotEnoughCash: 1008,
73
+ NotEnoughBalance: 1009,
74
+ };
75
+ static createFromAddress(address) {
76
+ return new ShareVault(address);
77
+ }
78
+ static createFromConfig(config, code, workchain = 0) {
79
+ const data = shareVaultConfigToCell(config);
80
+ const init = { code, data };
81
+ return new ShareVault((0, core_1.contractAddress)(workchain, init), init);
82
+ }
83
+ async sendDeploy(provider, via, value) {
84
+ await provider.internal(via, {
85
+ value,
86
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
87
+ body: (0, core_1.beginCell)().endCell(),
88
+ });
89
+ }
90
+ static createWhitelistsCell(whitelists) {
91
+ const chunkedWhitelists = [];
92
+ for (let i = 0; i < whitelists.length; i += 3) {
93
+ chunkedWhitelists.push(whitelists.slice(i, i + 3));
94
+ }
95
+ const cells = chunkedWhitelists.map(chunk => {
96
+ let cell = (0, core_1.beginCell)();
97
+ cell = cell.storeUint(chunk.length, 2);
98
+ chunk.forEach(([address, flag]) => {
99
+ cell = cell.storeAddress(address).storeUint(flag, 1);
100
+ });
101
+ return cell;
102
+ });
103
+ const finalCell = cells.reduce((acc, cur) => {
104
+ return acc ? cur.storeRef(acc) : cur;
105
+ }, null);
106
+ return finalCell?.endCell() || (0, core_1.beginCell)().endCell();
107
+ }
108
+ async sendRequestAssetWalletAddress(provider, via, value, opts) {
109
+ await provider.internal(via, {
110
+ value,
111
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
112
+ body: ShareVault.createRequestAssetWalletAddressMsgBody(opts),
113
+ });
114
+ }
115
+ async sendSetWhitelistPools(provider, via, value, opts) {
116
+ await provider.internal(via, {
117
+ value,
118
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
119
+ body: ShareVault.createSetWhitelistPoolsMsgBody(opts),
120
+ });
121
+ }
122
+ async sendSetTargetWeight(provider, via, value, opts) {
123
+ await provider.internal(via, {
124
+ value,
125
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
126
+ body: ShareVault.createSetTargetWeightMsgBody(opts),
127
+ });
128
+ }
129
+ async sendSupplyToPool(provider, via, value, opts) {
130
+ await provider.internal(via, {
131
+ value,
132
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
133
+ body: ShareVault.createSupplyToPoolMsgBody(opts),
134
+ });
135
+ }
136
+ async sendWithdrawFromPool(provider, via, value, opts) {
137
+ await provider.internal(via, {
138
+ value,
139
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
140
+ body: ShareVault.createWithdrawFromPoolMsgBody(opts),
141
+ });
142
+ }
143
+ async sendChangeManager(provider, via, value, opts) {
144
+ await provider.internal(via, {
145
+ value: value,
146
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
147
+ body: ShareVault.createChangeManagerMsgBody(opts),
148
+ });
149
+ }
150
+ async sendChangeAdmin(provider, via, value, opts) {
151
+ await provider.internal(via, {
152
+ value: value,
153
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
154
+ body: ShareVault.createChangeAdminMsgBody(opts),
155
+ });
156
+ }
157
+ async sendActionNotification(provider, via, value, opts) {
158
+ await provider.internal(via, {
159
+ value,
160
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
161
+ body: ShareVault.createActionNotificationMsgBody(opts),
162
+ });
163
+ }
164
+ async sendTakeAggregatedPool(provider, via, value, opts) {
165
+ await provider.internal(via, {
166
+ value,
167
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
168
+ body: ShareVault.createTakeAggregatedPoolMsgBody(opts),
169
+ });
170
+ }
171
+ async getWalletAddress(provider, address) {
172
+ const tis = {
173
+ type: 'slice',
174
+ cell: (0, core_1.beginCell)().storeAddress(address).endCell()
175
+ };
176
+ const result = await provider.get('get_wallet_address', [tis]);
177
+ return result.stack.readAddress();
178
+ }
179
+ async getPoolAggregatorAddress(provider, address) {
180
+ const tis = {
181
+ type: 'slice',
182
+ cell: (0, core_1.beginCell)().storeAddress(address).endCell()
183
+ };
184
+ const result = await provider.get('get_pool_aggregator_address', [tis]);
185
+ return result.stack.readAddress();
186
+ }
187
+ async getJettonData(provider) {
188
+ const _result = await provider.get('get_jetton_data', []);
189
+ // console.log(_result);
190
+ const totalSupply = _result.stack.readBigNumber();
191
+ _result.stack.readBigNumber();
192
+ const admin = _result.stack.readAddress();
193
+ return {
194
+ totalSupply,
195
+ admin
196
+ };
197
+ }
198
+ async sendUpgradeCode(provider, via, value, opts) {
199
+ await provider.internal(via, {
200
+ value: value,
201
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
202
+ body: ShareVault.createUpgradeCodeMsgBody(opts),
203
+ });
204
+ }
205
+ static createGasFeeConfig(params) {
206
+ return (0, core_1.beginCell)()
207
+ .storeCoins(params.minSupplyGas)
208
+ .storeCoins(params.minWithdrawGas)
209
+ .storeCoins(params.factorialSupplyGas)
210
+ .storeCoins(params.factorialWithdrawGas)
211
+ .storeCoins(params.mintGas)
212
+ .endCell();
213
+ }
214
+ async sendSetGasFee(provider, via, value, opts) {
215
+ const body = ShareVault.createSetGasFeeMsgBody(opts);
216
+ await provider.internal(via, {
217
+ value,
218
+ sendMode: core_1.SendMode.PAY_GAS_SEPARATELY,
219
+ body: body,
220
+ });
221
+ return body;
222
+ }
223
+ async getVaultData(provider) {
224
+ const state = await provider.getState();
225
+ if (state.state.type !== "active")
226
+ throw "not active";
227
+ if (!state.state.data)
228
+ throw "not active";
229
+ const data = core_1.Cell.fromBoc(state.state.data)[0].beginParse();
230
+ const totalSupply = data.loadCoins();
231
+ const ownerAddress = data.loadMaybeAddress();
232
+ const managerAddress = data.loadMaybeAddress();
233
+ const assetBalance = data.loadCoins();
234
+ const cash = data.loadCoins();
235
+ const totalTargetWeight = data.loadCoins();
236
+ const nextAggregatorIndex = data.loadCoins();
237
+ const isWtonVault = data.loadBoolean();
238
+ const _whitelistedPools = data.loadDict(core_1.Dictionary.Keys.Address(), ShareVault.Dictionary.Values.AccountWhitelistPool());
239
+ const whitelistedPools = _whitelistedPools.keys().reduce((acc, cur) => {
240
+ acc[cur.toString()] = {
241
+ address: cur.toString(),
242
+ ..._whitelistedPools.get(cur)
243
+ };
244
+ return acc;
245
+ }, {});
246
+ const config = data.loadRef().beginParse();
247
+ const assetAddress = config.loadAddress();
248
+ const assetWalletAddress = config.loadMaybeAddress();
249
+ const content = config.loadRef();
250
+ const gas = data.loadRef().beginParse();
251
+ const minSupplyGas = gas.loadCoins();
252
+ const minWithdrawGas = gas.loadCoins();
253
+ const factorialSupplyGas = gas.loadCoins();
254
+ const factorialWithdrawGas = gas.loadCoins();
255
+ const mintGas = gas.loadCoins();
256
+ return {
257
+ totalSupply,
258
+ ownerAddress,
259
+ managerAddress,
260
+ assetAddress,
261
+ assetBalance,
262
+ cash,
263
+ totalTargetWeight,
264
+ nextAggregatorIndex,
265
+ isWtonVault,
266
+ assetWalletAddress,
267
+ whitelistedPools,
268
+ gas: {
269
+ minSupplyGas,
270
+ minWithdrawGas,
271
+ factorialSupplyGas,
272
+ factorialWithdrawGas,
273
+ mintGas
274
+ },
275
+ getPool: (value) => {
276
+ if (value instanceof core_1.Address) {
277
+ return whitelistedPools[value.toString()];
278
+ }
279
+ else {
280
+ return whitelistedPools[value.address.toString()];
281
+ }
282
+ }
283
+ };
284
+ }
285
+ async getState(provider) {
286
+ return await provider.getState();
287
+ }
288
+ // ============== MSGBODY GENERATION METHODS ==============
289
+ static createRequestAssetWalletAddressMsgBody(opts) {
290
+ return (0, core_1.beginCell)()
291
+ .storeUint(ShareVault.Op.RequestAssetWalletAddress, 32)
292
+ .storeUint(opts.queryID ?? 0, 64)
293
+ .endCell();
294
+ }
295
+ static parseRequestAssetWalletAddressMsgBody(cell) {
296
+ const slice = cell.beginParse();
297
+ const op = slice.loadUint(32);
298
+ const queryID = slice.loadUint(64);
299
+ return { op, queryID };
300
+ }
301
+ static createSetWhitelistPoolsMsgBody(opts) {
302
+ return (0, core_1.beginCell)()
303
+ .storeUint(ShareVault.Op.SetWhitelistPools, 32)
304
+ .storeUint(opts.queryID ?? 0, 64)
305
+ .storeRef(opts.pools)
306
+ .endCell();
307
+ }
308
+ static parseSetWhitelistPoolsMsgBody(cell) {
309
+ const slice = cell.beginParse();
310
+ const op = slice.loadUint(32);
311
+ const queryID = slice.loadUint(64);
312
+ const pools = slice.loadRef();
313
+ return { op, queryID, pools };
314
+ }
315
+ static createSetTargetWeightMsgBody(opts) {
316
+ return (0, core_1.beginCell)()
317
+ .storeUint(ShareVault.Op.SetTargetWeight, 32)
318
+ .storeUint(opts.queryID ?? 0, 64)
319
+ .storeAddress(opts.pool)
320
+ .storeUint(opts.weight, 14)
321
+ .endCell();
322
+ }
323
+ static parseSetTargetWeightMsgBody(cell) {
324
+ const slice = cell.beginParse();
325
+ const op = slice.loadUint(32);
326
+ const queryID = slice.loadUint(64);
327
+ const pool = slice.loadAddress();
328
+ const weight = slice.loadUint(14);
329
+ return { op, queryID, pool, weight };
330
+ }
331
+ static createSupplyToPoolMsgBody(opts) {
332
+ return (0, core_1.beginCell)()
333
+ .storeUint(ShareVault.Op.SupplyToPool, 32)
334
+ .storeUint(opts.queryID ?? 0, 64)
335
+ .storeAddress(opts.pool)
336
+ .storeCoins(opts.amount)
337
+ .endCell();
338
+ }
339
+ static parseSupplyToPoolMsgBody(cell) {
340
+ const slice = cell.beginParse();
341
+ const op = slice.loadUint(32);
342
+ const queryID = slice.loadUint(64);
343
+ const pool = slice.loadAddress();
344
+ const amount = slice.loadCoins();
345
+ return { op, queryID, pool, amount };
346
+ }
347
+ static createWithdrawFromPoolMsgBody(opts) {
348
+ return (0, core_1.beginCell)()
349
+ .storeUint(ShareVault.Op.WithdrawFromPool, 32)
350
+ .storeUint(opts.queryID ?? 0, 64)
351
+ .storeAddress(opts.pool)
352
+ .storeUint(opts.isShare ? 1 : 0, 1)
353
+ .storeCoins(opts.amount)
354
+ .endCell();
355
+ }
356
+ static parseWithdrawFromPoolMsgBody(cell) {
357
+ const slice = cell.beginParse();
358
+ const op = slice.loadUint(32);
359
+ const queryID = slice.loadUint(64);
360
+ const pool = slice.loadAddress();
361
+ const isShare = slice.loadUint(1) === 1;
362
+ const amount = slice.loadCoins();
363
+ return { op, queryID, pool, isShare, amount };
364
+ }
365
+ static createChangeManagerMsgBody(opts) {
366
+ return (0, core_1.beginCell)()
367
+ .storeUint(ShareVault.Op.ChangeManager, 32)
368
+ .storeUint(opts.queryID ?? 0, 64)
369
+ .storeAddress(opts.address)
370
+ .endCell();
371
+ }
372
+ static parseChangeManagerMsgBody(cell) {
373
+ const slice = cell.beginParse();
374
+ const op = slice.loadUint(32);
375
+ const queryID = slice.loadUint(64);
376
+ const address = slice.loadAddress();
377
+ return { op, queryID, address };
378
+ }
379
+ static createChangeAdminMsgBody(opts) {
380
+ return (0, core_1.beginCell)()
381
+ .storeUint(ShareVault.Op.ChangeAdmin, 32)
382
+ .storeUint(opts.queryID ?? 0, 64)
383
+ .storeAddress(opts.address)
384
+ .endCell();
385
+ }
386
+ static parseChangeAdminMsgBody(cell) {
387
+ const slice = cell.beginParse();
388
+ const op = slice.loadUint(32);
389
+ const queryID = slice.loadUint(64);
390
+ const address = slice.loadAddress();
391
+ return { op, queryID, address };
392
+ }
393
+ static createActionNotificationMsgBody(opts) {
394
+ return (0, core_1.beginCell)()
395
+ .storeUint(ShareVault.Op.ActionNotification, 32)
396
+ .storeUint(opts.queryID ?? 0, 64)
397
+ .storeBuilder(opts.body)
398
+ .endCell();
399
+ }
400
+ static parseActionNotificationMsgBody(cell) {
401
+ const slice = cell.beginParse();
402
+ const op = slice.loadUint(32);
403
+ const queryID = slice.loadUint(64);
404
+ const body = slice.loadRef().beginParse();
405
+ return { op, queryID, body };
406
+ }
407
+ static createTakeAggregatedPoolMsgBody(opts) {
408
+ return (0, core_1.beginCell)()
409
+ .storeUint(ShareVault.Op.TakeAggregatedPool, 32)
410
+ .storeUint(opts.queryID ?? 0, 64)
411
+ .storeBuilder(opts.body)
412
+ .endCell();
413
+ }
414
+ static parseTakeAggregatedPoolMsgBody(cell) {
415
+ const slice = cell.beginParse();
416
+ const op = slice.loadUint(32);
417
+ const queryID = slice.loadUint(64);
418
+ const body = slice.loadRef().beginParse();
419
+ return { op, queryID, body };
420
+ }
421
+ static createUpgradeCodeMsgBody(opts) {
422
+ return (0, core_1.beginCell)()
423
+ .storeUint(ShareVault.Op.UpgradeCode, 32)
424
+ .storeUint(opts.queryID ?? 0, 64)
425
+ .storeRef(opts.newCode)
426
+ .endCell();
427
+ }
428
+ static parseUpgradeCodeMsgBody(cell) {
429
+ const slice = cell.beginParse();
430
+ const op = slice.loadUint(32);
431
+ const queryID = slice.loadUint(64);
432
+ const newCode = slice.loadRef();
433
+ return { op, queryID, newCode };
434
+ }
435
+ static createSetGasFeeMsgBody(opts) {
436
+ return (0, core_1.beginCell)()
437
+ .storeUint(ShareVault.Op.SetGasFee, 32)
438
+ .storeUint(opts.queryID ?? 0, 64)
439
+ .storeRef(opts.gasFee)
440
+ .endCell();
441
+ }
442
+ static parseSetGasFeeMsgBody(cell) {
443
+ const slice = cell.beginParse();
444
+ const op = slice.loadUint(32);
445
+ const queryID = slice.loadUint(64);
446
+ const gasFee = slice.loadRef();
447
+ return { op, queryID, gasFee };
448
+ }
449
+ static Dictionary = {
450
+ Values: {
451
+ AccountWhitelistPool: () => ({
452
+ serialize: (src, builder) => { },
453
+ parse: (src) => {
454
+ const isWhitelisted = src.loadBit();
455
+ const targetWeight = src.loadUint(14);
456
+ const supply = src.loadCoins();
457
+ return {
458
+ isWhitelisted,
459
+ targetWeight,
460
+ supply,
461
+ };
462
+ }
463
+ })
464
+ }
465
+ };
466
+ static getOpName(opCode) {
467
+ const opEntries = Object.entries(ShareVault.Op);
468
+ const opMap = Object.fromEntries(opEntries);
469
+ const opName = Object.keys(opMap).find(key => opMap[key] === opCode);
470
+ return opName || `UnknownOp(${opCode.toString(16)})`;
471
+ }
472
+ static getErrorName(errorCode) {
473
+ const errorEntries = Object.entries(ShareVault.Error);
474
+ const errorMap = Object.fromEntries(errorEntries);
475
+ const errorName = Object.keys(errorMap).find(key => errorMap[key] === errorCode);
476
+ return errorName || `UnknownError(${errorCode})`;
477
+ }
478
+ }
479
+ exports.ShareVault = ShareVault;