@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,18 @@
1
+ import { Address, Cell, TonClient } from "@ton/ton";
2
+ export declare class StonfiV1 {
3
+ client: TonClient;
4
+ contracts: Record<string, string>;
5
+ private walletAddresses;
6
+ constructor(client: TonClient, network: "testnet" | "mainnet" | "custom", custom_contracts?: Record<string, string>);
7
+ private getJettonWalletAddress;
8
+ getFarmingData(nftAddress: string | Address): Promise<{
9
+ address: string | Address;
10
+ status: number;
11
+ statusString: string;
12
+ itemIndex: bigint;
13
+ stakedTokens: bigint;
14
+ stakedDate: bigint;
15
+ claimedPerUnitDict: Cell;
16
+ ownerAddress: Address;
17
+ }>;
18
+ }
package/dist/stonfi.js ADDED
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StonfiV1 = void 0;
4
+ const ton_1 = require("@ton/ton");
5
+ const contracts_1 = require("./constants/contracts");
6
+ const jetton_minter_1 = require("./contracts/jetton/jetton-minter");
7
+ const TIMEOUT_SEC = 2 * 60 * 1000;
8
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
9
+ const toAddress = (value) => {
10
+ if (value instanceof ton_1.Address) {
11
+ return value;
12
+ }
13
+ return ton_1.Address.parse(value);
14
+ };
15
+ const toString = (value) => {
16
+ if (value instanceof ton_1.Address) {
17
+ return value.toString();
18
+ }
19
+ return value;
20
+ };
21
+ class StonfiV1 {
22
+ client;
23
+ contracts;
24
+ // user -> asset -> wallet
25
+ walletAddresses = {};
26
+ constructor(client, network, custom_contracts) {
27
+ this.client = client;
28
+ if (network === "custom" && !custom_contracts)
29
+ throw "should provide custom contracts";
30
+ this.contracts =
31
+ network === "mainnet"
32
+ ? contracts_1.MAINNET_CONTRACTS
33
+ : network === "testnet"
34
+ ? contracts_1.TESTNET_CONTRACTS
35
+ : custom_contracts;
36
+ }
37
+ async getJettonWalletAddress(owner, jetton) {
38
+ if (!this.walletAddresses[owner]) {
39
+ this.walletAddresses[owner] = {};
40
+ }
41
+ if (!this.walletAddresses[owner][jetton]) {
42
+ const jettonMinter = this.client.open(jetton_minter_1.JettonMinter.createFromAddress(toAddress(jetton)));
43
+ this.walletAddresses[owner][jetton] = await jettonMinter.getWalletAddress(toAddress(owner));
44
+ }
45
+ return this.walletAddresses[owner][jetton];
46
+ }
47
+ async getFarmingData(nftAddress) {
48
+ const result = await this.client
49
+ .provider(toAddress(nftAddress))
50
+ .get("get_farming_data", []);
51
+ const status = result.stack.readNumber();
52
+ const itemIndex = result.stack.readBigNumber();
53
+ const stakedTokens = result.stack.readBigNumber();
54
+ const stakedDate = result.stack.readBigNumber();
55
+ const claimedPerUnitDict = result.stack.readCell();
56
+ const ownerAddress = result.stack.readAddress();
57
+ const statusMap = {
58
+ 0: "nft::status::uninitialized",
59
+ 1: "nft::status::active",
60
+ 2: "nft::status::unstaked",
61
+ 3: "nft::status::claiming",
62
+ 4: "nft::status::unstaked_pending",
63
+ };
64
+ return {
65
+ address: nftAddress,
66
+ status,
67
+ statusString: statusMap[status],
68
+ itemIndex,
69
+ stakedTokens,
70
+ stakedDate,
71
+ claimedPerUnitDict,
72
+ ownerAddress
73
+ };
74
+ }
75
+ }
76
+ exports.StonfiV1 = StonfiV1;
@@ -0,0 +1,399 @@
1
+ import { Address, Sender, OpenedContract, Cell } from "@ton/core";
2
+ import { ServiceBaseV1 } from "../common/service";
3
+ import { AddressInput, AddressLike } from "../contracts/common/type";
4
+ import { StrategyVault } from "../contracts/vault/strategy-vault";
5
+ import { JettonWallet } from "../contracts/jetton/jetton-wallet";
6
+ import { RFQAuction } from "../contracts/rfq/rfq_auction";
7
+ import { AssetPriceInfo, OnchainDataInfo } from "../contracts/oracle/redstone-onchain-oracle/type";
8
+ import { PoolState, StrategyVaultState } from "..";
9
+ export declare function createQueryId(data: any, timestamp?: number): bigint;
10
+ type SlippageBound = {
11
+ min: number;
12
+ max: number;
13
+ };
14
+ type SippageBoundInput = number | SlippageBound;
15
+ export declare class StrategyVaultBase extends ServiceBaseV1 {
16
+ getVaultData(strategyVaultAddress: AddressLike): Promise<{
17
+ owner: Address;
18
+ manager: Address;
19
+ assets: Record<string, import("../contracts/vault/strategy-vault").Asset>;
20
+ factorialPools: Record<string, import("../contracts/vault/strategy-vault").FactorialPool>;
21
+ aggregatorIndex: bigint;
22
+ content: Cell;
23
+ totalSupply: bigint;
24
+ oracleConfig: import("../contracts/oracle/redstone-oracle/type").RedstonOracleConfig | Cell | import("../contracts/oracle/redstone-onchain-oracle/type").RedstoneOnchainOracleConfig | null;
25
+ rfqConfig: {
26
+ priceDerivationTolerance: number;
27
+ rfqEventEmitterAddress: string | null;
28
+ } | null;
29
+ gasConfig: Record<string, bigint> | null;
30
+ isPrivateVault: boolean;
31
+ depositCloseTimestamp: number;
32
+ withdrawOpenTimestamp: number;
33
+ whitelistedMinters: Address[];
34
+ lastCollectTime: number;
35
+ managementFeeRatePerYear: number;
36
+ protocolFeeRatePerYear: number;
37
+ collectedManagementFee: bigint;
38
+ collectedProtocolFee: bigint;
39
+ rfqCode: Cell;
40
+ walletCode: Cell;
41
+ dataAggregatorCode: Cell;
42
+ protocolFeeManagerAddress: Address;
43
+ rfqIndex: bigint;
44
+ isExecutingStrategy: boolean;
45
+ maxLeverageRatio: number;
46
+ assetWalletDict: Record<string, string>;
47
+ walletAssetDict: Record<string, string>;
48
+ managementFeeRecipientAddress: Address | null;
49
+ guardianAddress: Address | null;
50
+ timelock: bigint;
51
+ pendingOwnerActionIndex: bigint;
52
+ pendingOwnerActionCount: bigint;
53
+ pendingOwnerAction: Record<string, import("../contracts/vault/strategy-vault").PendingOwnerAction>;
54
+ address: Address;
55
+ }>;
56
+ getVault(strategyVaultAddress: AddressLike): OpenedContract<StrategyVault>;
57
+ getVaultWallet(strategyVaultAddress: AddressLike, accountAddress: AddressLike): Promise<OpenedContract<JettonWallet>>;
58
+ sendSetOwner(sender: Sender, params: {
59
+ strategyVaultAddress: AddressLike;
60
+ owner: AddressLike;
61
+ queryId?: number;
62
+ }): Promise<void>;
63
+ sendSetGuardianAddress(sender: Sender, params: {
64
+ strategyVaultAddress: AddressLike;
65
+ guardianAddress: AddressLike;
66
+ queryId?: number;
67
+ }, value?: bigint): Promise<void>;
68
+ sendSetManager(sender: Sender, params: {
69
+ strategyVaultAddress: AddressLike;
70
+ manager: AddressLike;
71
+ queryId?: number;
72
+ }): Promise<void>;
73
+ sendSetPrivateVault(sender: Sender, params: {
74
+ strategyVaultAddress: AddressLike;
75
+ isPrivateVault: boolean;
76
+ queryId?: number;
77
+ }, value?: bigint): Promise<void>;
78
+ sendSetWhitelistedMinters(sender: Sender, params: {
79
+ strategyVaultAddress: AddressLike;
80
+ whitelistedMinters: AddressLike[];
81
+ queryId?: number;
82
+ }, value?: bigint): Promise<void>;
83
+ sendSetMaxLeverageRatio(sender: Sender, params: {
84
+ strategyVaultAddress: AddressLike;
85
+ maxLeverageRatio: number;
86
+ queryId?: number;
87
+ }, value?: bigint): Promise<void>;
88
+ sendExecuteOwnerAction(sender: Sender, params: {
89
+ strategyVaultAddress: AddressLike;
90
+ updateIndex: bigint;
91
+ queryId?: number;
92
+ }, value?: bigint): Promise<void>;
93
+ sendRevertOwnerAction(sender: Sender, params: {
94
+ strategyVaultAddress: AddressLike;
95
+ updateIndex: bigint;
96
+ queryId?: number;
97
+ }, value?: bigint): Promise<void>;
98
+ sendSetTimelock(sender: Sender, params: {
99
+ strategyVaultAddress: AddressLike;
100
+ timelock: bigint;
101
+ queryId?: number;
102
+ }, value?: bigint): Promise<void>;
103
+ sendSetManagementFeeRecipientAddress(sender: Sender, params: {
104
+ strategyVaultAddress: AddressLike;
105
+ managementFeeRecipientAddress: AddressLike;
106
+ queryId?: number;
107
+ }, value?: bigint): Promise<void>;
108
+ sendSetProtocolFeeRatePerYear(sender: Sender, params: {
109
+ strategyVaultAddress: AddressLike;
110
+ protocolFeeRatePerYear: number;
111
+ queryId?: number;
112
+ }, value?: bigint): Promise<void>;
113
+ sendSetProtocolFeeManagerAddress(sender: Sender, params: {
114
+ strategyVaultAddress: AddressLike;
115
+ protocolFeeManagerAddress: AddressLike;
116
+ queryId?: number;
117
+ }, value?: bigint): Promise<void>;
118
+ sendSetFactorialPoolConfig(sender: Sender, params: {
119
+ strategyVaultAddress: AddressLike;
120
+ configs: {
121
+ poolAddress: AddressLike;
122
+ assetAddress: AddressLike;
123
+ isSupplyable: boolean;
124
+ isBorrowable: boolean;
125
+ }[];
126
+ }): Promise<void>;
127
+ sendSetAssetConfig(sender: Sender, params: {
128
+ strategyVaultAddress: AddressLike;
129
+ assetAddress: AddressLike;
130
+ isWhitelisted: boolean;
131
+ isDepositable: boolean;
132
+ isWithdrawable: boolean;
133
+ exposureCap: number;
134
+ queryId?: number;
135
+ }, value?: bigint): Promise<void>;
136
+ sendSetRFQConfig(sender: Sender, params: {
137
+ strategyVaultAddress: AddressLike;
138
+ priceDeviationTolerance: bigint;
139
+ rfqEmitterAddress: AddressLike;
140
+ queryId?: number;
141
+ }, value?: bigint): Promise<void>;
142
+ getOracleParamsV2(vaultAddress: AddressLike, vaultData?: StrategyVaultState, extraAssets?: {
143
+ assets: string[];
144
+ vaultAssets: string[];
145
+ }): Promise<Cell>;
146
+ getOracleParams(vaultAddress: AddressLike, additionalAssets?: AddressLike[], allFactorialVaults?: AddressLike[], vaultData?: StrategyVaultState): Promise<Cell>;
147
+ sendDepositAsset(sender: Sender, params: {
148
+ strategyVaultAddress: AddressLike;
149
+ assetAddress: AddressLike;
150
+ amount: bigint;
151
+ queryId?: bigint;
152
+ }, value?: bigint): Promise<{
153
+ recipient: Address;
154
+ amount: bigint;
155
+ response: Address;
156
+ forwardTonAmount: bigint;
157
+ forwardPayload: Cell;
158
+ queryId: bigint;
159
+ }>;
160
+ sendBurnVaultAsset(sender: Sender, params: {
161
+ strategyVaultAddress: AddressLike;
162
+ withdrawAssetAddress: AddressLike;
163
+ vaultShareAmountForBurn: bigint;
164
+ queryID?: bigint;
165
+ }, value?: bigint): Promise<{
166
+ amount: bigint;
167
+ response: Address;
168
+ forwardPayload: Cell;
169
+ queryId: bigint;
170
+ }>;
171
+ createInternalDepositAsset(sender: Sender, params: {
172
+ strategyVaultAddress: AddressLike;
173
+ assetAddress: AddressLike;
174
+ amount: bigint;
175
+ queryId?: bigint;
176
+ }, value?: bigint): Promise<{
177
+ to: Address | string;
178
+ value: bigint | string;
179
+ extracurrency?: import("@ton/core/dist/utils/maybe").Maybe<import("@ton/core").ExtraCurrency>;
180
+ bounce?: import("@ton/core/dist/utils/maybe").Maybe<boolean>;
181
+ init?: import("@ton/core/dist/utils/maybe").Maybe<import("@ton/core").StateInit>;
182
+ body?: import("@ton/core/dist/utils/maybe").Maybe<Cell | string>;
183
+ }>;
184
+ createInternalBurnVaultAsset(sender: Sender, params: {
185
+ strategyVaultAddress: AddressLike;
186
+ withdrawAssetAddress: AddressLike;
187
+ vaultShareAmountForBurn: bigint;
188
+ queryID?: bigint;
189
+ }, value?: bigint): Promise<{
190
+ to: Address | string;
191
+ value: bigint | string;
192
+ extracurrency?: import("@ton/core/dist/utils/maybe").Maybe<import("@ton/core").ExtraCurrency>;
193
+ bounce?: import("@ton/core/dist/utils/maybe").Maybe<boolean>;
194
+ init?: import("@ton/core/dist/utils/maybe").Maybe<import("@ton/core").StateInit>;
195
+ body?: import("@ton/core/dist/utils/maybe").Maybe<Cell | string>;
196
+ }>;
197
+ getRFQAuctionAddress(strategyVaultAddress: AddressInput, index: bigint): Promise<Address>;
198
+ getRFQAuction(strategyVaultAddress: AddressInput, index: bigint): Promise<OpenedContract<RFQAuction>>;
199
+ sendCreateAmountRFQ(sender: Sender, params: {
200
+ strategyVaultAddress: AddressLike;
201
+ sellAssetAddress: AddressLike;
202
+ buyAssetAddress: AddressLike;
203
+ sellAssetAmount: bigint;
204
+ minBuyAssetAmount: bigint;
205
+ maxBuyAssetAmount: bigint;
206
+ period: number;
207
+ allowSellerCancel: boolean;
208
+ allowBidderCancel: boolean;
209
+ queryId?: number;
210
+ }, value?: bigint): Promise<void>;
211
+ sendUnwrapWTON(sender: Sender, params: {
212
+ senderAddress: AddressLike;
213
+ wtonAddress: AddressLike;
214
+ amount: bigint;
215
+ queryId?: number;
216
+ }, value?: bigint): Promise<void>;
217
+ sendCreateSlippageRFQ(sender: Sender, params: {
218
+ strategyVaultAddress: AddressLike;
219
+ sellAssetAddress: AddressLike;
220
+ buyAssetAddress: AddressLike;
221
+ sellAssetAmount: bigint;
222
+ slippageBound: SippageBoundInput;
223
+ period: number;
224
+ allowSellerCancel: boolean;
225
+ allowBidderCancel: boolean;
226
+ queryId?: number;
227
+ }, value?: bigint): Promise<void>;
228
+ sendCancelRFQ(sender: Sender, params: {
229
+ strategyVaultAddress: AddressLike;
230
+ rfqIndex: bigint;
231
+ queryID?: number;
232
+ }, value?: bigint): Promise<void>;
233
+ sendSupplyToFactorial(sender: Sender, params: {
234
+ strategyVaultAddress: AddressLike;
235
+ poolAddress: AddressLike;
236
+ assetAddress: AddressLike;
237
+ assetAmount: bigint;
238
+ queryId?: number;
239
+ }, value?: bigint): Promise<void>;
240
+ sendBorrowFromFactorial(sender: Sender, params: {
241
+ strategyVaultAddress: AddressLike;
242
+ poolAddress: AddressLike;
243
+ assetAddress: AddressLike;
244
+ assetAmount: bigint;
245
+ isShare: boolean;
246
+ queryId?: number;
247
+ }, value?: bigint): Promise<void>;
248
+ sendRepayToFactorial(sender: Sender, params: {
249
+ strategyVaultAddress: AddressLike;
250
+ poolAddress: AddressLike;
251
+ assetAddress: AddressLike;
252
+ assetAmount: bigint;
253
+ queryId?: number;
254
+ }, value?: bigint): Promise<void>;
255
+ sendWithdrawFromFactorial(sender: Sender, params: {
256
+ strategyVaultAddress: AddressLike;
257
+ poolAddress: AddressLike;
258
+ assetAddress: AddressLike;
259
+ assetAmount: bigint;
260
+ isShare: boolean;
261
+ queryId?: number;
262
+ }, value?: bigint): Promise<void>;
263
+ sendLiquidateToFactorial(sender: Sender, params: {
264
+ strategyVaultAddress: AddressLike;
265
+ poolAddress: AddressLike;
266
+ borrowerAddress: AddressLike;
267
+ repayAssetAddress: AddressLike;
268
+ seizeAssetAddress: AddressLike;
269
+ repayAmount: bigint;
270
+ queryId?: number;
271
+ }, value?: bigint): Promise<void>;
272
+ splitPureAndVaultAsset(addresses: AddressInput[]): Promise<{
273
+ vaultAssetAddresses: string[];
274
+ pureAssetAddresses: string[];
275
+ }>;
276
+ isVaultAsset(address: AddressInput): Promise<boolean>;
277
+ getAssetPrices(strategyVaultAddress: AddressLike, vaultData?: StrategyVaultState): Promise<AssetPriceInfo>;
278
+ getPrice(strategyVaultAddress: AddressLike, vaultData?: StrategyVaultState): Promise<bigint>;
279
+ getPriceV2(strategyVaultAddress: AddressLike, vaultData?: StrategyVaultState): Promise<{
280
+ price: bigint;
281
+ type: number;
282
+ additionalData: {
283
+ decomposed: Record<string, {
284
+ supply: bigint;
285
+ borrow: bigint;
286
+ }>;
287
+ totalSupply: bigint;
288
+ };
289
+ }>;
290
+ getAssetPricesV2(vaultAddress: Address | string): Promise<{
291
+ [x: string]: import("../contracts/oracle/redstone-onchain-oracle/type").AssetPrice | {
292
+ price: bigint;
293
+ type: number;
294
+ additionalData: {
295
+ decomposed: Record<string, {
296
+ supply: bigint;
297
+ borrow: bigint;
298
+ }>;
299
+ totalSupply: bigint;
300
+ };
301
+ };
302
+ }>;
303
+ calculateVaultPrices(price: AssetPriceInfo, poolInfos: Record<string, PoolState>, vaults: Record<string, VaultPosition>): Promise<Record<string, {
304
+ price: bigint;
305
+ type: number;
306
+ additionalData: {
307
+ decomposed: Record<string, {
308
+ supply: bigint;
309
+ borrow: bigint;
310
+ }>;
311
+ totalSupply: bigint;
312
+ };
313
+ }>>;
314
+ getParsedVaults(vaultAddresses: (Address | string)[]): Promise<Record<string, VaultPosition>>;
315
+ getExposures(vaults: Record<string, VaultPosition>): Promise<{
316
+ pools: string[];
317
+ assets: string[];
318
+ }>;
319
+ calculatePrices(_prices: AssetPriceInfo, oracleData: any): AssetPriceInfo;
320
+ updateOnchainData(onchainDataInfo: OnchainDataInfo): Promise<OnchainDataInfo>;
321
+ getRedstonePrices(assets: string[], oracleConfig: any): Promise<{
322
+ redstonePrices: AssetPriceInfo;
323
+ onchainData: any;
324
+ }>;
325
+ separateAssets(_assets: string[], oracleConfig: any): Promise<{
326
+ assets: string[];
327
+ vaultAssets: string[];
328
+ }>;
329
+ sendCollectProtocolFee(sender: Sender, params: {
330
+ strategyVaultAddress: AddressLike;
331
+ assetAddress: AddressLike;
332
+ queryId?: number;
333
+ }, value?: bigint): Promise<void>;
334
+ sendClaimManagementFee(sender: Sender, params: {
335
+ strategyVaultAddress: AddressLike;
336
+ receiverAddress: AddressLike;
337
+ queryId?: number;
338
+ }, value?: bigint): Promise<void>;
339
+ sendSetManagementFeeRatePerYear(sender: Sender, params: {
340
+ strategyVaultAddress: AddressLike;
341
+ managementFeeRatePerYear: number;
342
+ queryId?: number;
343
+ }, value?: bigint): Promise<void>;
344
+ sendSetDepositCloseTimestamp(sender: Sender, params: {
345
+ strategyVaultAddress: AddressLike;
346
+ depositCloseTimestamp: bigint;
347
+ queryId?: number;
348
+ }, value?: bigint): Promise<void>;
349
+ sendSetWithdrawOpenTimestamp(sender: Sender, params: {
350
+ strategyVaultAddress: AddressLike;
351
+ withdrawOpenTimestamp: bigint;
352
+ queryId?: number;
353
+ }, value?: bigint): Promise<void>;
354
+ sendSetGasConfig(sender: Sender, params: {
355
+ strategyVaultAddress: AddressLike;
356
+ gasConfig: Cell | null;
357
+ queryId?: number;
358
+ }, value?: bigint): Promise<void>;
359
+ sendSetOracleConfig(sender: Sender, params: {
360
+ strategyVaultAddress: AddressLike;
361
+ oracleConfig: Cell | null;
362
+ queryId?: number;
363
+ }, value?: bigint): Promise<void>;
364
+ sendSetWalletCode(sender: Sender, params: {
365
+ strategyVaultAddress: AddressLike;
366
+ walletCode: Cell;
367
+ queryId?: number;
368
+ }, value?: bigint): Promise<void>;
369
+ sendSetDataAggregatorCode(sender: Sender, params: {
370
+ strategyVaultAddress: AddressLike;
371
+ dataAggregatorCode: Cell;
372
+ queryId?: number;
373
+ }, value?: bigint): Promise<void>;
374
+ sendSetRFQCode(sender: Sender, params: {
375
+ strategyVaultAddress: AddressLike;
376
+ rfqCode: Cell;
377
+ queryId?: number;
378
+ }, value?: bigint): Promise<void>;
379
+ sendSetContent(sender: Sender, params: {
380
+ strategyVaultAddress: AddressLike;
381
+ content: Cell;
382
+ queryId?: number;
383
+ }, value?: bigint): Promise<void>;
384
+ sendUpgradeCode(sender: Sender, params: {
385
+ strategyVaultAddress: AddressLike;
386
+ newCode: Cell;
387
+ queryId?: number;
388
+ }, value?: bigint): Promise<void>;
389
+ getTotalValue(strategyVaultAddress: AddressLike, vaultData?: StrategyVaultState): Promise<bigint>;
390
+ }
391
+ type VaultPosition = {
392
+ assets: Record<string, bigint>;
393
+ poolPositions: Record<string, Record<string, {
394
+ supply: bigint;
395
+ borrow: bigint;
396
+ }>>;
397
+ totalSupply: bigint;
398
+ };
399
+ export {};