@affluent-org/sdk 0.0.5 → 0.0.6

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 (96) hide show
  1. package/dist/affluent.d.ts +3 -3
  2. package/dist/affluent.js +3 -3
  3. package/dist/common/computation.d.ts +6 -0
  4. package/dist/common/computation.js +54 -0
  5. package/dist/common/helper.d.ts +5 -0
  6. package/dist/common/helper.js +29 -0
  7. package/dist/common/service.d.ts +10 -2
  8. package/dist/common/service.js +56 -3
  9. package/dist/common/trace-action.d.ts +92 -0
  10. package/dist/common/trace-action.js +187 -0
  11. package/dist/common/transform.d.ts +15 -21
  12. package/dist/common/transform.js +63 -150
  13. package/dist/common/types.d.ts +9 -13
  14. package/dist/common/types.js +2 -2
  15. package/dist/context.d.ts +3 -0
  16. package/dist/context.js +9 -0
  17. package/dist/contracts/oracle/redstone-onchain-oracle/index.js +2 -0
  18. package/dist/contracts/vault/strategy-vault/index.d.ts +2 -1
  19. package/dist/contracts/vault/strategy-vault/index.js +1 -0
  20. package/dist/factorial.d.ts +18 -8
  21. package/dist/factorial.js +26 -14
  22. package/dist/index.d.ts +4 -2
  23. package/dist/index.js +18 -2
  24. package/dist/lib/send-msg.d.ts +16 -2
  25. package/dist/lib/send-msg.js +23 -2
  26. package/dist/monitor.js +2 -0
  27. package/dist/monitorCacheV1.js +3 -2
  28. package/dist/oracle/oracle.d.ts +3 -2
  29. package/dist/oracle/oracle.js +25 -2
  30. package/dist/pool.d.ts +41 -0
  31. package/dist/pool.js +146 -178
  32. package/dist/poolCacheV1.js +1 -0
  33. package/dist/rfq-auction.d.ts +2 -2
  34. package/dist/rfq-auction.js +6 -6
  35. package/dist/rfq-batch.d.ts +21 -11
  36. package/dist/rfq-batch.js +81 -9
  37. package/dist/services/composite-oracle/computation.d.ts +3 -8
  38. package/dist/services/composite-oracle/computation.js +91 -56
  39. package/dist/services/composite-oracle/index.js +4 -5
  40. package/dist/services/composite-oracle/query.js +1 -3
  41. package/dist/services/pool/computation.js +9 -61
  42. package/dist/services/pool/index.d.ts +10 -59
  43. package/dist/services/pool/index.js +55 -8
  44. package/dist/services/pool/query.js +1 -1
  45. package/dist/services/pool/user/trace.d.ts +90 -0
  46. package/dist/services/pool/user/trace.js +168 -0
  47. package/dist/services/rfq-auction/index.d.ts +7 -23
  48. package/dist/services/rfq-auction/index.js +45 -6
  49. package/dist/services/rfq-auction/user/index.js +1 -1
  50. package/dist/services/rfq-auction/user/trace.d.ts +53 -0
  51. package/dist/services/rfq-auction/user/trace.js +68 -0
  52. package/dist/services/rfq-batch/index.d.ts +16 -13
  53. package/dist/services/rfq-batch/index.js +34 -10
  54. package/dist/services/rfq-batch/user/trace.d.ts +49 -0
  55. package/dist/services/rfq-batch/user/trace.js +67 -0
  56. package/dist/services/share-vault/index.d.ts +12 -56
  57. package/dist/services/share-vault/index.js +37 -10
  58. package/dist/services/share-vault/query.js +1 -1
  59. package/dist/services/share-vault/user/trace.d.ts +54 -0
  60. package/dist/services/share-vault/user/trace.js +84 -0
  61. package/dist/services/strategy-vault/index.d.ts +68 -1981
  62. package/dist/services/strategy-vault/index.js +114 -53
  63. package/dist/services/strategy-vault/oracle.js +1 -0
  64. package/dist/services/strategy-vault/owner/index.d.ts +2 -2
  65. package/dist/services/strategy-vault/owner/index.js +1 -1
  66. package/dist/services/strategy-vault/owner/types.d.ts +4 -0
  67. package/dist/services/strategy-vault/query.js +1 -1
  68. package/dist/services/strategy-vault/user/trace.d.ts +156 -0
  69. package/dist/services/strategy-vault/user/trace.js +264 -0
  70. package/dist/share-vault.d.ts +164 -8
  71. package/dist/share-vault.js +222 -67
  72. package/dist/strategy_vault/base.d.ts +521 -105
  73. package/dist/strategy_vault/base.js +493 -41
  74. package/dist/strategy_vault/steps.d.ts +120 -3
  75. package/dist/strategy_vault/steps.js +161 -0
  76. package/dist/types/sender.d.ts +1 -0
  77. package/dist/utils/_parse_temp/StrategyVault.d.ts +9 -9
  78. package/dist/utils/_parse_temp/StrategyVault.js +48 -40
  79. package/dist/utils/_parse_temp/parseMsgBody.d.ts +2 -2
  80. package/dist/utils/_parse_temp/parseMsgBody.js +84 -84
  81. package/dist/utils/external-message-hash.d.ts +7 -3
  82. package/dist/utils/external-message-hash.js +20 -7
  83. package/dist/utils/oracle/redstone/helper.js +2 -0
  84. package/dist/utils/oracle/redstone/redstoneHelper.d.ts +7 -0
  85. package/dist/utils/oracle/redstone/redstoneHelper.js +103 -1
  86. package/dist/utils/pending-tracker/trackable-sender.d.ts +37 -4
  87. package/dist/utils/pending-tracker/trackable-sender.js +47 -8
  88. package/dist/utils/pending-tracker/v3-client.d.ts +16 -0
  89. package/dist/utils/pending-tracker/v3-client.js +80 -2
  90. package/dist/utils/toncenter/index.d.ts +1 -0
  91. package/dist/utils/toncenter/index.js +17 -0
  92. package/dist/utils/toncenter/transform.d.ts +11 -0
  93. package/dist/utils/toncenter/transform.js +40 -0
  94. package/dist/utils/toncenter/type.d.ts +227 -0
  95. package/dist/utils/toncenter/type.js +2 -0
  96. package/package.json +3 -3
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StrategyVaultCancelWithdrawQueueTracer = exports.StrategyVaultCancelDepositQueueTracer = exports.StrategyVaultWithdrawQueueTracer = exports.StrategyVaultDepositQueueTracer = exports.StrategyVaultWithdrawTracer = exports.StrategyVaultDepositTracer = void 0;
4
+ exports.getDepositAddresses = getDepositAddresses;
5
+ exports.getWithdrawAddresses = getWithdrawAddresses;
6
+ exports.getCancelDepositQueueAddresses = getCancelDepositQueueAddresses;
7
+ exports.getCancelWithdrawQueueAddresses = getCancelWithdrawQueueAddresses;
8
+ const trace_action_1 = require("../../../common/trace-action");
9
+ const jetton_wallet_1 = require("../../../contracts/jetton/jetton-wallet");
10
+ const jetton_minter_1 = require("../../../contracts/jetton/jetton-minter");
11
+ const strategy_vault_1 = require("../../../contracts/vault/strategy-vault");
12
+ async function getDepositAddresses(client, params) {
13
+ const { actor, asset, vault } = params;
14
+ const _asset = client.open(jetton_minter_1.JettonMinter.createFromAddress(asset));
15
+ const _vault = client.open(strategy_vault_1.StrategyVault.createFromAddress(vault));
16
+ return {
17
+ actor,
18
+ actorAssetWallet: await _asset.getWalletAddress(actor),
19
+ actorVaultWallet: await _vault.getWalletAddress(actor),
20
+ vault,
21
+ vaultAssetWallet: await _asset.getWalletAddress(vault),
22
+ };
23
+ }
24
+ async function getWithdrawAddresses(client, params) {
25
+ const { actor, withdrawAsset, vault } = params;
26
+ const _withdrawAsset = client.open(jetton_minter_1.JettonMinter.createFromAddress(withdrawAsset));
27
+ const _vault = client.open(strategy_vault_1.StrategyVault.createFromAddress(vault));
28
+ return {
29
+ actor,
30
+ actorVaultWallet: await _vault.getWalletAddress(actor),
31
+ actorWithdrawAssetWallet: await _withdrawAsset.getWalletAddress(actor),
32
+ vault,
33
+ vaultWithdrawAssetWallet: await _withdrawAsset.getWalletAddress(vault),
34
+ };
35
+ }
36
+ class StrategyVaultDepositTracer extends trace_action_1.TracerBase {
37
+ static async create(params) {
38
+ const { ctx, msgBody, extHash, actor, asset, vault, isWTON } = params;
39
+ const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
40
+ const addresses = await getDepositAddresses(ctx.client, { actor, asset, vault });
41
+ return new StrategyVaultDepositTracer(ctx.toncenterClient, { isWTON, queryId, extHash, addresses });
42
+ }
43
+ constructor(toncenterClient, params) {
44
+ const { isWTON, queryId, extHash, addresses } = params;
45
+ const type = isWTON ? "wton" : "jetton";
46
+ const steps = [
47
+ ...(0, trace_action_1.createJettonSendSteps)({
48
+ isWTON,
49
+ actor: addresses.actor,
50
+ actorWallet: addresses.actorAssetWallet,
51
+ targetWallet: addresses.vaultAssetWallet,
52
+ target: addresses.vault,
53
+ description: "Transferring Tokens",
54
+ }),
55
+ ...(0, trace_action_1.createMintSteps)({
56
+ minter: addresses.vault,
57
+ actorWallet: addresses.actorVaultWallet,
58
+ description: "Receiving Vault Tokens",
59
+ }),
60
+ ];
61
+ const failStep = {
62
+ op: jetton_wallet_1.JettonWallet.Op.InternalTransfer,
63
+ from: addresses.vaultAssetWallet,
64
+ to: addresses.actorAssetWallet,
65
+ description: "Refunding Tokens",
66
+ };
67
+ super(toncenterClient, extHash, type, queryId, steps, failStep);
68
+ }
69
+ }
70
+ exports.StrategyVaultDepositTracer = StrategyVaultDepositTracer;
71
+ class StrategyVaultWithdrawTracer extends trace_action_1.TracerBase {
72
+ static async create(params) {
73
+ const { ctx, msgBody, extHash, actor, withdrawAsset, vault, isWTON } = params;
74
+ const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
75
+ const addresses = await getWithdrawAddresses(ctx.client, { actor, withdrawAsset, vault });
76
+ return new StrategyVaultWithdrawTracer(ctx.toncenterClient, { isWTON, queryId, extHash, addresses });
77
+ }
78
+ constructor(toncenterClient, params) {
79
+ const { isWTON, queryId, extHash, addresses } = params;
80
+ const type = isWTON ? "wton" : "jetton";
81
+ const steps = [
82
+ ...(0, trace_action_1.createBurnSteps)({
83
+ actor: addresses.actor,
84
+ actorWallet: addresses.actorVaultWallet,
85
+ minter: addresses.vault,
86
+ description: "Burning Vault Tokens",
87
+ }),
88
+ ...(0, trace_action_1.createJettonReceiveSteps)({
89
+ isWTON,
90
+ sourceWallet: addresses.vaultWithdrawAssetWallet,
91
+ actorWallet: addresses.actorWithdrawAssetWallet,
92
+ actor: addresses.actor,
93
+ description: "Receiving Withdraw Asset",
94
+ }),
95
+ ];
96
+ const failStep = {
97
+ op: jetton_wallet_1.JettonWallet.Op.InternalTransfer,
98
+ from: addresses.vaultWithdrawAssetWallet,
99
+ to: addresses.actorWithdrawAssetWallet,
100
+ description: "Refunding Withdraw Asset",
101
+ };
102
+ super(toncenterClient, extHash, type, queryId, steps, failStep);
103
+ }
104
+ }
105
+ exports.StrategyVaultWithdrawTracer = StrategyVaultWithdrawTracer;
106
+ class StrategyVaultDepositQueueTracer extends trace_action_1.TracerBase {
107
+ static async create(params) {
108
+ const { ctx, msgBody, extHash, actor, asset, vault, isWTON } = params;
109
+ const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
110
+ const addresses = await getDepositAddresses(ctx.client, { actor, asset, vault });
111
+ return new StrategyVaultDepositQueueTracer(ctx.toncenterClient, { isWTON, queryId, extHash, addresses });
112
+ }
113
+ constructor(toncenterClient, params) {
114
+ const { isWTON, queryId, extHash, addresses } = params;
115
+ const type = isWTON ? "wton" : "jetton";
116
+ const steps = [
117
+ ...(0, trace_action_1.createJettonSendSteps)({
118
+ isWTON,
119
+ actor: addresses.actor,
120
+ actorWallet: addresses.actorAssetWallet,
121
+ targetWallet: addresses.vaultAssetWallet,
122
+ target: addresses.vault,
123
+ description: "Transferring Tokens",
124
+ }),
125
+ {
126
+ op: strategy_vault_1.StrategyVault.Op.Excesses,
127
+ from: addresses.vault,
128
+ to: addresses.actor,
129
+ description: "Queue Registered Excesses",
130
+ },
131
+ ];
132
+ const failStep = {
133
+ op: jetton_wallet_1.JettonWallet.Op.Transfer,
134
+ from: addresses.vault,
135
+ to: addresses.vaultAssetWallet,
136
+ description: "Refunding Tokens",
137
+ };
138
+ super(toncenterClient, extHash, type, queryId, steps, failStep);
139
+ }
140
+ }
141
+ exports.StrategyVaultDepositQueueTracer = StrategyVaultDepositQueueTracer;
142
+ class StrategyVaultWithdrawQueueTracer extends trace_action_1.TracerBase {
143
+ static async create(params) {
144
+ const { ctx, msgBody, extHash, actor, vault } = params;
145
+ const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
146
+ const _vault = ctx.client.open(strategy_vault_1.StrategyVault.createFromAddress(vault));
147
+ const actorVaultWallet = await _vault.getWalletAddress(actor);
148
+ return new StrategyVaultWithdrawQueueTracer(ctx.toncenterClient, {
149
+ queryId,
150
+ extHash,
151
+ addresses: { actor, actorVaultWallet, vault },
152
+ });
153
+ }
154
+ constructor(toncenterClient, params) {
155
+ const { queryId, extHash, addresses } = params;
156
+ const steps = [
157
+ ...(0, trace_action_1.createBurnSteps)({
158
+ actor: addresses.actor,
159
+ actorWallet: addresses.actorVaultWallet,
160
+ minter: addresses.vault,
161
+ description: "Burning Vault Tokens",
162
+ }),
163
+ {
164
+ op: strategy_vault_1.StrategyVault.Op.Excesses,
165
+ from: addresses.vault,
166
+ to: addresses.actor,
167
+ description: "Queue Registered Excesses",
168
+ },
169
+ ];
170
+ const failStep = {
171
+ op: jetton_wallet_1.JettonWallet.Op.InternalTransfer,
172
+ from: addresses.vault,
173
+ to: addresses.actorVaultWallet,
174
+ description: "Refunding Vault Tokens",
175
+ };
176
+ super(toncenterClient, extHash, "jetton", queryId, steps, failStep);
177
+ }
178
+ }
179
+ exports.StrategyVaultWithdrawQueueTracer = StrategyVaultWithdrawQueueTracer;
180
+ async function getCancelDepositQueueAddresses(client, params) {
181
+ const { actor, asset, vault } = params;
182
+ const _asset = client.open(jetton_minter_1.JettonMinter.createFromAddress(asset));
183
+ return {
184
+ actor,
185
+ actorAssetWallet: await _asset.getWalletAddress(actor),
186
+ vault,
187
+ vaultAssetWallet: await _asset.getWalletAddress(vault),
188
+ };
189
+ }
190
+ class StrategyVaultCancelDepositQueueTracer extends trace_action_1.TracerBase {
191
+ static async create(params) {
192
+ const { ctx, msgBody, extHash, actor, asset, vault, isWTON } = params;
193
+ const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
194
+ const addresses = await getCancelDepositQueueAddresses(ctx.client, { actor, asset, vault });
195
+ return new StrategyVaultCancelDepositQueueTracer(ctx.toncenterClient, { isWTON, queryId, extHash, addresses });
196
+ }
197
+ constructor(toncenterClient, params) {
198
+ const { isWTON, queryId, extHash, addresses } = params;
199
+ const steps = [
200
+ {
201
+ op: strategy_vault_1.StrategyVault.Op.CancelDepositQueue,
202
+ from: addresses.actor,
203
+ to: addresses.vault,
204
+ description: "Cancelling Deposit Queue",
205
+ },
206
+ ...(0, trace_action_1.createJettonReceiveSteps)({
207
+ isWTON,
208
+ sourceWallet: addresses.vaultAssetWallet,
209
+ actorWallet: addresses.actorAssetWallet,
210
+ actor: addresses.actor,
211
+ description: "Refunding Tokens",
212
+ }),
213
+ ];
214
+ const failStep = {
215
+ op: 0xffffffff,
216
+ from: addresses.vault,
217
+ to: addresses.actor,
218
+ description: "Bounced",
219
+ };
220
+ super(toncenterClient, extHash, "cancel", queryId, steps, failStep);
221
+ }
222
+ }
223
+ exports.StrategyVaultCancelDepositQueueTracer = StrategyVaultCancelDepositQueueTracer;
224
+ async function getCancelWithdrawQueueAddresses(client, params) {
225
+ const { actor, vault } = params;
226
+ const _vault = client.open(strategy_vault_1.StrategyVault.createFromAddress(vault));
227
+ return {
228
+ actor,
229
+ actorVaultWallet: await _vault.getWalletAddress(actor),
230
+ vault,
231
+ };
232
+ }
233
+ class StrategyVaultCancelWithdrawQueueTracer extends trace_action_1.TracerBase {
234
+ static async create(params) {
235
+ const { ctx, msgBody, extHash, actor, vault } = params;
236
+ const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
237
+ const addresses = await getCancelWithdrawQueueAddresses(ctx.client, { actor, vault });
238
+ return new StrategyVaultCancelWithdrawQueueTracer(ctx.toncenterClient, { queryId, extHash, addresses });
239
+ }
240
+ constructor(toncenterClient, params) {
241
+ const { queryId, extHash, addresses } = params;
242
+ const steps = [
243
+ {
244
+ op: strategy_vault_1.StrategyVault.Op.CancelWithdrawQueue,
245
+ from: addresses.actor,
246
+ to: addresses.vault,
247
+ description: "Cancelling Withdraw Queue",
248
+ },
249
+ ...(0, trace_action_1.createMintSteps)({
250
+ minter: addresses.vault,
251
+ actorWallet: addresses.actorVaultWallet,
252
+ description: "Refunding Vault Tokens",
253
+ }),
254
+ ];
255
+ const failStep = {
256
+ op: 0xffffffff,
257
+ from: addresses.vault,
258
+ to: addresses.actor,
259
+ description: "Bounced",
260
+ };
261
+ super(toncenterClient, extHash, "cancel", queryId, steps, failStep);
262
+ }
263
+ }
264
+ exports.StrategyVaultCancelWithdrawQueueTracer = StrategyVaultCancelWithdrawQueueTracer;
@@ -1,8 +1,8 @@
1
- import { Address, Sender } from "@ton/ton";
1
+ import { Address, Cell, Sender } from "@ton/ton";
2
2
  import { ShareVaultManagerSetTargetWeightAction, ShareVaultManagerSupplyAction, ShareVaultManagerWithdrawAction, ShareVaultUserActionParams } from "./types/action";
3
3
  import { TxStep, TxCallBackFn } from "./utils/tracker/type";
4
+ import { ShareVaultState, WhitelistedPoolData } from "./contracts/vault/share-vault";
4
5
  import { ServiceBaseV1 } from "./common/service";
5
- import { ShareVaultState, WhitelistedPool } from "./contracts/vault/share-vault/type";
6
6
  type PoolInfoForShareVault = {
7
7
  cash: bigint;
8
8
  totalSupplyAmount: bigint;
@@ -20,8 +20,38 @@ export declare class ShareVaultV1 extends ServiceBaseV1 {
20
20
  };
21
21
  steps: TxStep[];
22
22
  } | undefined>;
23
- supply(sender: Sender, params: ShareVaultUserActionParams): Promise<void>;
24
- supplyAndWaitTx(sender: Sender, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn): Promise<{
23
+ supply(sender: Sender, params: ShareVaultUserActionParams, vaultData?: ShareVaultState): Promise<{
24
+ opt: {
25
+ queryId: bigint;
26
+ recipient: Address;
27
+ response: Address;
28
+ amount: bigint;
29
+ forwardTonAmount: bigint;
30
+ };
31
+ queryId: bigint;
32
+ steps: TxStep[];
33
+ senderVaultWalletAddress: Address;
34
+ } | {
35
+ opt: {
36
+ queryId: bigint;
37
+ recipient: Address;
38
+ response: Address;
39
+ amount: bigint;
40
+ forwardTonAmount: bigint;
41
+ forwardPayload: Cell;
42
+ };
43
+ steps: TxStep[];
44
+ senderVaultWalletAddress: Address;
45
+ }>;
46
+ supplyAndWaitTx(sender: Sender, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn, vaultData?: ShareVaultState): Promise<{
47
+ action: {
48
+ type: string;
49
+ params: ShareVaultUserActionParams;
50
+ queryId: bigint;
51
+ };
52
+ steps: TxStep[];
53
+ }>;
54
+ supplyAndWaitTxV1(sender: Sender, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn, vaultData?: ShareVaultState): Promise<{
25
55
  action: {
26
56
  type: string;
27
57
  params: ShareVaultUserActionParams;
@@ -29,6 +59,47 @@ export declare class ShareVaultV1 extends ServiceBaseV1 {
29
59
  };
30
60
  steps: TxStep[];
31
61
  }>;
62
+ supplyAndWaitTxV2(sender: Sender, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn, vaultData?: ShareVaultState): Promise<{
63
+ action: {
64
+ type: string;
65
+ params: ShareVaultUserActionParams;
66
+ queryId: bigint;
67
+ };
68
+ steps: TxStep[];
69
+ }>;
70
+ supplyV1(sender: Sender, params: ShareVaultUserActionParams, vaultData?: ShareVaultState): Promise<{
71
+ opt: {
72
+ queryId: bigint;
73
+ recipient: Address;
74
+ response: Address;
75
+ amount: bigint;
76
+ forwardTonAmount: bigint;
77
+ };
78
+ queryId: bigint;
79
+ steps: TxStep[];
80
+ senderVaultWalletAddress: Address;
81
+ }>;
82
+ supplyV2(sender: Sender, params: ShareVaultUserActionParams, vaultData?: ShareVaultState): Promise<{
83
+ opt: {
84
+ queryId: bigint;
85
+ recipient: Address;
86
+ response: Address;
87
+ amount: bigint;
88
+ forwardTonAmount: bigint;
89
+ forwardPayload: Cell;
90
+ };
91
+ steps: TxStep[];
92
+ senderVaultWalletAddress: Address;
93
+ }>;
94
+ buildSupplySteps(params: ShareVaultUserActionParams, queryId: bigint, senderVaultWalletAddress: Address, firstStep: TxStep): TxStep[];
95
+ waitSupplyTx(steps: TxStep[], params: ShareVaultUserActionParams, queryId: bigint, senderVaultWalletAddress: Address, callbackFn?: TxCallBackFn): {
96
+ action: {
97
+ type: string;
98
+ params: ShareVaultUserActionParams;
99
+ queryId: bigint;
100
+ };
101
+ steps: TxStep[];
102
+ };
32
103
  findSupplyTx(queryId: bigint, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn): Promise<{
33
104
  action: {
34
105
  type: string;
@@ -37,8 +108,34 @@ export declare class ShareVaultV1 extends ServiceBaseV1 {
37
108
  };
38
109
  steps: TxStep[];
39
110
  }>;
40
- withdraw(sender: Sender, params: ShareVaultUserActionParams): Promise<void>;
41
- withdrawAndWaitTx(sender: Sender, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn): Promise<{
111
+ withdraw(sender: Sender, params: ShareVaultUserActionParams, vaultData?: ShareVaultState): Promise<{
112
+ opt: {
113
+ queryId: bigint;
114
+ response: Address;
115
+ amount: bigint;
116
+ };
117
+ steps: TxStep[];
118
+ senderVaultWalletAddress: Address;
119
+ asset: Address;
120
+ senderJettonWalletAddress: Address;
121
+ }>;
122
+ withdrawAndWaitTx(sender: Sender, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn, vaultData?: ShareVaultState): Promise<{
123
+ action: {
124
+ type: string;
125
+ params: ShareVaultUserActionParams;
126
+ queryId: bigint;
127
+ };
128
+ steps: TxStep[];
129
+ }>;
130
+ withdrawAndWaitTxV1(sender: Sender, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn): Promise<{
131
+ action: {
132
+ type: string;
133
+ params: ShareVaultUserActionParams;
134
+ queryId: bigint;
135
+ };
136
+ steps: TxStep[];
137
+ }>;
138
+ withdrawAndWaitTxV2(sender: Sender, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn): Promise<{
42
139
  action: {
43
140
  type: string;
44
141
  params: ShareVaultUserActionParams;
@@ -46,6 +143,38 @@ export declare class ShareVaultV1 extends ServiceBaseV1 {
46
143
  };
47
144
  steps: TxStep[];
48
145
  }>;
146
+ withdrawV1(sender: Sender, params: ShareVaultUserActionParams, vaultData?: ShareVaultState): Promise<{
147
+ opt: {
148
+ queryId: bigint;
149
+ response: Address;
150
+ amount: bigint;
151
+ };
152
+ steps: TxStep[];
153
+ senderVaultWalletAddress: Address;
154
+ asset: Address;
155
+ senderJettonWalletAddress: Address;
156
+ }>;
157
+ withdrawV2(sender: Sender, params: ShareVaultUserActionParams, vaultData?: ShareVaultState): Promise<{
158
+ opt: {
159
+ queryId: bigint;
160
+ response: Address;
161
+ amount: bigint;
162
+ forwardPayload: Cell;
163
+ };
164
+ steps: TxStep[];
165
+ senderVaultWalletAddress: Address;
166
+ asset: Address;
167
+ senderJettonWalletAddress: Address;
168
+ }>;
169
+ buildWithdrawSteps(params: ShareVaultUserActionParams, queryId: bigint, vaultJettonWalletAddress: Address, senderVaultWalletAddress: Address, senderJettonWalletAddress: Address): TxStep[];
170
+ waitWithdrawTx(steps: TxStep[], params: ShareVaultUserActionParams, queryId: bigint, senderVaultWalletAddress: Address, assetAddress: Address, senderJettonWalletAddress: Address, callbackFn?: TxCallBackFn): {
171
+ action: {
172
+ type: string;
173
+ params: ShareVaultUserActionParams;
174
+ queryId: bigint;
175
+ };
176
+ steps: TxStep[];
177
+ };
49
178
  findWithdrawTx(queryId: bigint, params: ShareVaultUserActionParams, callbackFn?: TxCallBackFn): Promise<{
50
179
  action: {
51
180
  type: string;
@@ -58,7 +187,34 @@ export declare class ShareVaultV1 extends ServiceBaseV1 {
58
187
  withdrawFromPool(sender: Sender, params: ShareVaultManagerWithdrawAction): Promise<void>;
59
188
  withdrawFromPoolSimulate(sender: Address, params: ShareVaultManagerWithdrawAction): Promise<void>;
60
189
  setTargetWeight(sender: Sender, params: ShareVaultManagerSetTargetWeightAction): Promise<void>;
61
- getVaultData(vaultAddress: Address | string): Promise<ShareVaultState>;
190
+ getVaultData(vaultAddress: Address | string): Promise<{
191
+ totalSupply: bigint;
192
+ owner: Address | null;
193
+ manager: Address | null;
194
+ asset: Address;
195
+ balance: bigint;
196
+ cash: bigint;
197
+ totalTargetWeight: bigint;
198
+ nextAggregatorIndex: bigint;
199
+ isWtonVault: boolean;
200
+ assetWallet: Address | null;
201
+ whitelistedPools: Record<string, {
202
+ isWhitelisted: boolean;
203
+ targetWeight: bigint;
204
+ supply: bigint;
205
+ } & {
206
+ address: Address;
207
+ }>;
208
+ minimumGasFee: {
209
+ supply: bigint;
210
+ withdraw: bigint;
211
+ factorialSupply: bigint;
212
+ factorialWithdraw: bigint;
213
+ mintVaultShareTokens: bigint;
214
+ };
215
+ code: Cell;
216
+ address: Address;
217
+ }>;
62
218
  getPoolCashAmounts(vaultData: ShareVaultState): Promise<Record<string, bigint>>;
63
219
  getPoolInfoForShareVault(vaultData: ShareVaultState): Promise<Record<string, PoolInfoForShareVault>>;
64
220
  estimateWithdrawLiquidityFulfillmentPoolCount(vaultData: ShareVaultState, requst_vault_shares: bigint): Promise<{
@@ -70,7 +226,7 @@ export declare class ShareVaultV1 extends ServiceBaseV1 {
70
226
  pool: any;
71
227
  }[];
72
228
  }>;
73
- getPoolTupleSortedByTargetWeight(whitelistedPools: Record<string, WhitelistedPool>, totalAssetAmount: bigint, totalTargetWeight: bigint, poolInfoForShareVault: Record<string, PoolInfoForShareVault>): {
229
+ getPoolTupleSortedByTargetWeight(whitelistedPools: Record<string, WhitelistedPoolData>, totalAssetAmount: bigint, totalTargetWeight: bigint, poolInfoForShareVault: Record<string, PoolInfoForShareVault>): {
74
230
  targetWeightRatio: number;
75
231
  poolAddress: string;
76
232
  availableAmount: bigint;