@affluent-org/sdk 0.0.4 → 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.
- package/dist/affluent.d.ts +3 -3
- package/dist/affluent.js +3 -3
- package/dist/common/computation.d.ts +6 -0
- package/dist/common/computation.js +54 -0
- package/dist/common/helper.d.ts +5 -0
- package/dist/common/helper.js +29 -0
- package/dist/common/service.d.ts +10 -2
- package/dist/common/service.js +56 -3
- package/dist/common/trace-action.d.ts +92 -0
- package/dist/common/trace-action.js +187 -0
- package/dist/common/transform.d.ts +87 -0
- package/dist/common/transform.js +264 -0
- package/dist/common/types.d.ts +140 -0
- package/dist/common/types.js +11 -0
- package/dist/context.d.ts +3 -0
- package/dist/context.js +9 -0
- package/dist/contracts/oracle/redstone-onchain-oracle/index.js +2 -0
- package/dist/contracts/oracle/redstone-onchain-oracle/type.d.ts +1 -1
- package/dist/contracts/vault/strategy-vault/index.d.ts +2 -1
- package/dist/contracts/vault/strategy-vault/index.js +1 -0
- package/dist/factorial.d.ts +18 -8
- package/dist/factorial.js +26 -14
- package/dist/index.d.ts +4 -2
- package/dist/index.js +18 -2
- package/dist/lib/send-msg.d.ts +16 -2
- package/dist/lib/send-msg.js +23 -2
- package/dist/monitor.js +2 -0
- package/dist/monitorCacheV1.js +3 -2
- package/dist/oracle/oracle.d.ts +3 -2
- package/dist/oracle/oracle.js +25 -2
- package/dist/pool.d.ts +41 -0
- package/dist/pool.js +146 -178
- package/dist/poolCacheV1.js +1 -0
- package/dist/rfq-auction.d.ts +2 -2
- package/dist/rfq-auction.js +6 -6
- package/dist/rfq-batch.d.ts +21 -11
- package/dist/rfq-batch.js +81 -9
- package/dist/services/composite-oracle/codec.d.ts +76 -0
- package/dist/services/composite-oracle/codec.js +281 -0
- package/dist/services/composite-oracle/computation.d.ts +8 -19
- package/dist/services/composite-oracle/computation.js +119 -76
- package/dist/services/composite-oracle/index.d.ts +2 -2
- package/dist/services/composite-oracle/index.js +5 -6
- package/dist/services/composite-oracle/query.d.ts +6 -6
- package/dist/services/composite-oracle/query.js +6 -47
- package/dist/services/pool/computation.d.ts +3 -9
- package/dist/services/pool/computation.js +12 -78
- package/dist/services/pool/index.d.ts +10 -59
- package/dist/services/pool/index.js +55 -8
- package/dist/services/pool/oracle.d.ts +2 -2
- package/dist/services/pool/query.d.ts +1 -1
- package/dist/services/pool/query.js +1 -1
- package/dist/services/pool/user/trace.d.ts +90 -0
- package/dist/services/pool/user/trace.js +168 -0
- package/dist/services/rfq-auction/index.d.ts +7 -23
- package/dist/services/rfq-auction/index.js +45 -6
- package/dist/services/rfq-auction/oracle.d.ts +2 -2
- package/dist/services/rfq-auction/user/index.js +1 -1
- package/dist/services/rfq-auction/user/trace.d.ts +53 -0
- package/dist/services/rfq-auction/user/trace.js +68 -0
- package/dist/services/rfq-batch/index.d.ts +16 -13
- package/dist/services/rfq-batch/index.js +34 -10
- package/dist/services/rfq-batch/oracle.d.ts +2 -2
- package/dist/services/rfq-batch/user/trace.d.ts +49 -0
- package/dist/services/rfq-batch/user/trace.js +67 -0
- package/dist/services/share-vault/index.d.ts +14 -88
- package/dist/services/share-vault/index.js +37 -10
- package/dist/services/share-vault/query.d.ts +5 -32
- package/dist/services/share-vault/query.js +25 -12
- package/dist/services/share-vault/user/trace.d.ts +54 -0
- package/dist/services/share-vault/user/trace.js +84 -0
- package/dist/services/strategy-vault/index.d.ts +77 -2115
- package/dist/services/strategy-vault/index.js +119 -54
- package/dist/services/strategy-vault/oracle.d.ts +3 -3
- package/dist/services/strategy-vault/oracle.js +1 -0
- package/dist/services/strategy-vault/owner/index.d.ts +2 -2
- package/dist/services/strategy-vault/owner/index.js +1 -1
- package/dist/services/strategy-vault/owner/types.d.ts +4 -0
- package/dist/services/strategy-vault/query.d.ts +14 -143
- package/dist/services/strategy-vault/query.js +28 -40
- package/dist/services/strategy-vault/user/trace.d.ts +156 -0
- package/dist/services/strategy-vault/user/trace.js +264 -0
- package/dist/share-vault.d.ts +164 -8
- package/dist/share-vault.js +222 -67
- package/dist/strategy_vault/base.d.ts +521 -105
- package/dist/strategy_vault/base.js +493 -41
- package/dist/strategy_vault/steps.d.ts +120 -3
- package/dist/strategy_vault/steps.js +161 -0
- package/dist/types/sender.d.ts +1 -0
- package/dist/utils/_parse_temp/StrategyVault.d.ts +9 -9
- package/dist/utils/_parse_temp/StrategyVault.js +48 -40
- package/dist/utils/_parse_temp/parseMsgBody.d.ts +2 -2
- package/dist/utils/_parse_temp/parseMsgBody.js +84 -84
- package/dist/utils/external-message-hash.d.ts +7 -3
- package/dist/utils/external-message-hash.js +20 -7
- package/dist/utils/oracle/redstone/helper.js +2 -0
- package/dist/utils/oracle/redstone/redstoneHelper.d.ts +7 -0
- package/dist/utils/oracle/redstone/redstoneHelper.js +103 -1
- package/dist/utils/pending-tracker/trackable-sender.d.ts +37 -4
- package/dist/utils/pending-tracker/trackable-sender.js +47 -8
- package/dist/utils/pending-tracker/v3-client.d.ts +16 -0
- package/dist/utils/pending-tracker/v3-client.js +80 -2
- package/dist/utils/risk_calculator/risk_calculator.d.ts +3 -3
- package/dist/utils/toncenter/index.d.ts +1 -0
- package/dist/utils/toncenter/index.js +17 -0
- package/dist/utils/toncenter/transform.d.ts +11 -0
- package/dist/utils/toncenter/transform.js +40 -0
- package/dist/utils/toncenter/type.d.ts +227 -0
- package/dist/utils/toncenter/type.js +2 -0
- package/package.json +3 -3
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Address, Cell } from "@ton/core";
|
|
2
|
+
import { TracerBase } from "../../../common/trace-action";
|
|
3
|
+
import { MessageHash } from "../../../utils/external-message-hash";
|
|
4
|
+
import { TonClient } from "@ton/ton";
|
|
5
|
+
import { AffluentContext } from "../../../context";
|
|
6
|
+
import { ToncenterV3Client } from "../../../utils/pending-tracker/v3-client";
|
|
7
|
+
export type RFQAuctionAddresses = {
|
|
8
|
+
actor: Address;
|
|
9
|
+
actorBidAssetWallet: Address;
|
|
10
|
+
rfqAuction: Address;
|
|
11
|
+
rfqAuctionBidAssetWallet: Address;
|
|
12
|
+
};
|
|
13
|
+
export declare function getRFQAuctionAddresses(client: TonClient, params: {
|
|
14
|
+
actor: Address;
|
|
15
|
+
bidAsset: Address;
|
|
16
|
+
rfqAuction: Address;
|
|
17
|
+
}): Promise<RFQAuctionAddresses>;
|
|
18
|
+
export type RFQAuctionBidTracerParams = {
|
|
19
|
+
ctx: AffluentContext;
|
|
20
|
+
msgBody: Cell;
|
|
21
|
+
extHash: MessageHash;
|
|
22
|
+
actor: Address;
|
|
23
|
+
bidAsset: Address;
|
|
24
|
+
rfqAuction: Address;
|
|
25
|
+
isWTON: boolean;
|
|
26
|
+
};
|
|
27
|
+
export declare class RFQAuctionBidTracer extends TracerBase<"jetton" | "wton"> {
|
|
28
|
+
static create(params: RFQAuctionBidTracerParams): Promise<RFQAuctionBidTracer>;
|
|
29
|
+
constructor(toncenterClient: ToncenterV3Client, params: {
|
|
30
|
+
isWTON: boolean;
|
|
31
|
+
queryId: bigint;
|
|
32
|
+
extHash: MessageHash;
|
|
33
|
+
addresses: RFQAuctionAddresses;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
export type RFQAuctionCancelBidTracerParams = {
|
|
37
|
+
ctx: AffluentContext;
|
|
38
|
+
msgBody: Cell;
|
|
39
|
+
extHash: MessageHash;
|
|
40
|
+
actor: Address;
|
|
41
|
+
bidAsset: Address;
|
|
42
|
+
rfqAuction: Address;
|
|
43
|
+
isWTON: boolean;
|
|
44
|
+
};
|
|
45
|
+
export declare class RFQAuctionCancelBidTracer extends TracerBase<"cancel"> {
|
|
46
|
+
static create(params: RFQAuctionCancelBidTracerParams): Promise<RFQAuctionCancelBidTracer>;
|
|
47
|
+
constructor(toncenterClient: ToncenterV3Client, params: {
|
|
48
|
+
isWTON: boolean;
|
|
49
|
+
queryId: bigint;
|
|
50
|
+
extHash: MessageHash;
|
|
51
|
+
addresses: RFQAuctionAddresses;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RFQAuctionCancelBidTracer = exports.RFQAuctionBidTracer = void 0;
|
|
4
|
+
exports.getRFQAuctionAddresses = getRFQAuctionAddresses;
|
|
5
|
+
const trace_action_1 = require("../../../common/trace-action");
|
|
6
|
+
const rfq_auction_1 = require("../../../contracts/rfq/rfq_auction");
|
|
7
|
+
const jetton_minter_1 = require("../../../contracts/jetton/jetton-minter");
|
|
8
|
+
async function getRFQAuctionAddresses(client, params) {
|
|
9
|
+
const { actor, bidAsset, rfqAuction } = params;
|
|
10
|
+
const _bidAsset = client.open(jetton_minter_1.JettonMinter.createFromAddress(bidAsset));
|
|
11
|
+
return {
|
|
12
|
+
actor,
|
|
13
|
+
actorBidAssetWallet: await _bidAsset.getWalletAddress(actor),
|
|
14
|
+
rfqAuction,
|
|
15
|
+
rfqAuctionBidAssetWallet: await _bidAsset.getWalletAddress(rfqAuction),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
class RFQAuctionBidTracer extends trace_action_1.TracerBase {
|
|
19
|
+
static async create(params) {
|
|
20
|
+
const { ctx, msgBody, extHash, actor, bidAsset, rfqAuction, isWTON } = params;
|
|
21
|
+
const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
|
|
22
|
+
const addresses = await getRFQAuctionAddresses(ctx.client, { actor, bidAsset, rfqAuction });
|
|
23
|
+
return new RFQAuctionBidTracer(ctx.toncenterClient, { isWTON, queryId, extHash, addresses });
|
|
24
|
+
}
|
|
25
|
+
constructor(toncenterClient, params) {
|
|
26
|
+
const { isWTON, queryId, extHash, addresses } = params;
|
|
27
|
+
const type = isWTON ? "wton" : "jetton";
|
|
28
|
+
const steps = [
|
|
29
|
+
...(0, trace_action_1.createJettonSendSteps)({
|
|
30
|
+
isWTON,
|
|
31
|
+
actor: addresses.actor,
|
|
32
|
+
actorWallet: addresses.actorBidAssetWallet,
|
|
33
|
+
targetWallet: addresses.rfqAuctionBidAssetWallet,
|
|
34
|
+
target: addresses.rfqAuction,
|
|
35
|
+
description: "Transferring Bid Asset",
|
|
36
|
+
}),
|
|
37
|
+
];
|
|
38
|
+
super(toncenterClient, extHash, type, queryId, steps);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.RFQAuctionBidTracer = RFQAuctionBidTracer;
|
|
42
|
+
class RFQAuctionCancelBidTracer extends trace_action_1.TracerBase {
|
|
43
|
+
static async create(params) {
|
|
44
|
+
const { ctx, msgBody, extHash, actor, bidAsset, rfqAuction, isWTON } = params;
|
|
45
|
+
const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
|
|
46
|
+
const addresses = await getRFQAuctionAddresses(ctx.client, { actor, bidAsset, rfqAuction });
|
|
47
|
+
return new RFQAuctionCancelBidTracer(ctx.toncenterClient, { isWTON, queryId, extHash, addresses });
|
|
48
|
+
}
|
|
49
|
+
constructor(toncenterClient, params) {
|
|
50
|
+
const { isWTON, queryId, extHash, addresses } = params;
|
|
51
|
+
const steps = [
|
|
52
|
+
{
|
|
53
|
+
op: rfq_auction_1.RFQAuction.Op.CancelBid,
|
|
54
|
+
from: addresses.actor,
|
|
55
|
+
to: addresses.rfqAuction,
|
|
56
|
+
description: "Cancelling Bid",
|
|
57
|
+
},
|
|
58
|
+
...(0, trace_action_1.createJettonReceiveSteps)({
|
|
59
|
+
isWTON,
|
|
60
|
+
sourceWallet: addresses.rfqAuctionBidAssetWallet,
|
|
61
|
+
actorWallet: addresses.actorBidAssetWallet,
|
|
62
|
+
description: "Refunding Bid Asset",
|
|
63
|
+
}),
|
|
64
|
+
];
|
|
65
|
+
super(toncenterClient, extHash, "cancel", queryId, steps);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.RFQAuctionCancelBidTracer = RFQAuctionCancelBidTracer;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { AffluentContext } from "../../context";
|
|
2
2
|
import { AddressInput } from "../../contracts/common/type";
|
|
3
3
|
import { AddressSender, MultiSender } from "../../types/sender";
|
|
4
|
+
import { RFQBatchAddOrderTracer, RFQBatchCancelOrderTracer } from "./user/trace";
|
|
4
5
|
import * as query from "./query";
|
|
5
6
|
import * as oracle from "./oracle";
|
|
6
7
|
import * as user from "./user";
|
|
7
8
|
export { sendMsg } from "../../lib/send-msg";
|
|
8
9
|
export * from "./user/types";
|
|
10
|
+
export * from "./user/trace";
|
|
9
11
|
export { query, oracle, user };
|
|
10
12
|
export declare class RFQBatchServiceV1 {
|
|
11
13
|
private ctx;
|
|
@@ -48,14 +50,8 @@ export declare class RFQBatchServiceV1 {
|
|
|
48
50
|
oracleParams: import("@ton/core").Cell;
|
|
49
51
|
bucket: oracle.OracleExposures;
|
|
50
52
|
}>;
|
|
51
|
-
sendAddOrder(sender: AddressSender, params: user.AddOrderParams, value?: bigint): Promise<
|
|
52
|
-
|
|
53
|
-
response: import("@ton/core").Address;
|
|
54
|
-
amount: bigint;
|
|
55
|
-
forwardTonAmount: bigint;
|
|
56
|
-
forwardPayload: import("@ton/core").Cell;
|
|
57
|
-
queryId: bigint | undefined;
|
|
58
|
-
}>;
|
|
53
|
+
sendAddOrder(sender: AddressSender, params: user.AddOrderParams, value?: bigint): Promise<RFQBatchAddOrderTracer>;
|
|
54
|
+
sendCancelOrder(sender: AddressSender, params: user.CancelOrderParams, value?: bigint): Promise<RFQBatchCancelOrderTracer>;
|
|
59
55
|
sendSettle(sender: AddressSender, params: user.SettleParams, value?: bigint): Promise<{
|
|
60
56
|
recipient: import("@ton/core").Address;
|
|
61
57
|
response: import("@ton/core").Address;
|
|
@@ -63,16 +59,23 @@ export declare class RFQBatchServiceV1 {
|
|
|
63
59
|
forwardTonAmount: bigint;
|
|
64
60
|
forwardPayload: import("@ton/core").Cell;
|
|
65
61
|
queryId: bigint | undefined;
|
|
62
|
+
} & {
|
|
63
|
+
seqno: number;
|
|
66
64
|
}>;
|
|
67
|
-
sendLock(sender: AddressSender, params: user.LockParams, value?: bigint): Promise<{
|
|
68
|
-
|
|
69
|
-
assetIdx: 0 | 1;
|
|
65
|
+
sendLock(sender: AddressSender, params: user.LockParams, value?: bigint): Promise<{
|
|
66
|
+
seqno: number;
|
|
70
67
|
}>;
|
|
71
68
|
sendPayout(sender: AddressSender, params: user.PayoutParams, value?: bigint): Promise<{
|
|
72
69
|
assetIdx: 0 | 1;
|
|
73
70
|
count: number;
|
|
71
|
+
} & {
|
|
72
|
+
seqno: number;
|
|
73
|
+
}>;
|
|
74
|
+
sendReopen(sender: AddressSender, params: user.ReopenParams, value?: bigint): Promise<{
|
|
75
|
+
seqno: number;
|
|
76
|
+
}>;
|
|
77
|
+
sendCollectFee(sender: AddressSender, params: user.CollectFeeParams, value?: bigint): Promise<{
|
|
78
|
+
seqno: number;
|
|
74
79
|
}>;
|
|
75
|
-
sendReopen(sender: AddressSender, params: user.ReopenParams, value?: bigint): Promise<{}>;
|
|
76
|
-
sendCollectFee(sender: AddressSender, params: user.CollectFeeParams, value?: bigint): Promise<{}>;
|
|
77
80
|
sendBatchPayout(sender: MultiSender, params: user.BatchPayoutParams, value?: bigint): Promise<void>;
|
|
78
81
|
}
|
|
@@ -40,6 +40,8 @@ exports.RFQBatchServiceV1 = exports.user = exports.oracle = exports.query = expo
|
|
|
40
40
|
const core_1 = require("@ton/core");
|
|
41
41
|
const context_1 = require("../../context");
|
|
42
42
|
const send_msg_1 = require("../../lib/send-msg");
|
|
43
|
+
const utils_1 = require("../../contracts/common/utils");
|
|
44
|
+
const trace_1 = require("./user/trace");
|
|
43
45
|
const query = __importStar(require("./query"));
|
|
44
46
|
exports.query = query;
|
|
45
47
|
const oracle = __importStar(require("./oracle"));
|
|
@@ -49,6 +51,7 @@ exports.user = user;
|
|
|
49
51
|
var send_msg_2 = require("../../lib/send-msg");
|
|
50
52
|
Object.defineProperty(exports, "sendMsg", { enumerable: true, get: function () { return send_msg_2.sendMsg; } });
|
|
51
53
|
__exportStar(require("./user/types"), exports);
|
|
54
|
+
__exportStar(require("./user/trace"), exports);
|
|
52
55
|
class RFQBatchServiceV1 {
|
|
53
56
|
ctx;
|
|
54
57
|
constructor(ctx = context_1.AffluentContext.getInstance()) {
|
|
@@ -73,28 +76,49 @@ class RFQBatchServiceV1 {
|
|
|
73
76
|
return oracle.getOracleParams(this.ctx, rfqBatchAddress);
|
|
74
77
|
}
|
|
75
78
|
// ============================================================
|
|
76
|
-
// User
|
|
79
|
+
// User
|
|
77
80
|
// ============================================================
|
|
78
81
|
async sendAddOrder(sender, params, value) {
|
|
79
|
-
|
|
82
|
+
const msg = await user.createAddOrderMsg(this.ctx, sender, params, value);
|
|
83
|
+
const result = await (0, send_msg_1.sendMsgAndWaitTx)(this.ctx, sender, msg);
|
|
84
|
+
return trace_1.RFQBatchAddOrderTracer.create({
|
|
85
|
+
ctx: this.ctx,
|
|
86
|
+
msgBody: msg.input.body,
|
|
87
|
+
extHash: await result.getExternalHash(),
|
|
88
|
+
actor: sender.address,
|
|
89
|
+
asset: (0, utils_1.toAddress)(params.assetAddress),
|
|
90
|
+
rfqBatch: (0, utils_1.toAddress)(params.rfqBatchAddress),
|
|
91
|
+
});
|
|
80
92
|
}
|
|
93
|
+
async sendCancelOrder(sender, params, value) {
|
|
94
|
+
const msg = await user.createCancelOrderMsg(this.ctx, params, value);
|
|
95
|
+
const result = await (0, send_msg_1.sendMsgAndWaitTx)(this.ctx, sender, msg);
|
|
96
|
+
return trace_1.RFQBatchCancelOrderTracer.create({
|
|
97
|
+
ctx: this.ctx,
|
|
98
|
+
msgBody: msg.input.body,
|
|
99
|
+
extHash: await result.getExternalHash(),
|
|
100
|
+
actor: sender.address,
|
|
101
|
+
asset: (0, utils_1.toAddress)(params.assetAddress),
|
|
102
|
+
rfqBatch: (0, utils_1.toAddress)(params.rfqBatchAddress),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
// ============================================================
|
|
106
|
+
// Market Maker
|
|
107
|
+
// ============================================================
|
|
81
108
|
async sendSettle(sender, params, value) {
|
|
82
|
-
return (0, send_msg_1.sendMsg)(sender, user.createSettleMsg(this.ctx, sender, params, value));
|
|
109
|
+
return (0, send_msg_1.sendMsg)(sender, await user.createSettleMsg(this.ctx, sender, params, value));
|
|
83
110
|
}
|
|
84
111
|
async sendLock(sender, params, value) {
|
|
85
|
-
return (0, send_msg_1.sendMsg)(sender, user.createLockMsg(this.ctx, params, value));
|
|
86
|
-
}
|
|
87
|
-
async sendCancelOrder(sender, params, value) {
|
|
88
|
-
return (0, send_msg_1.sendMsg)(sender, user.createCancelOrderMsg(this.ctx, params, value));
|
|
112
|
+
return (0, send_msg_1.sendMsg)(sender, await user.createLockMsg(this.ctx, params, value));
|
|
89
113
|
}
|
|
90
114
|
async sendPayout(sender, params, value) {
|
|
91
|
-
return (0, send_msg_1.sendMsg)(sender, user.createPayoutMsg(this.ctx, params, value));
|
|
115
|
+
return (0, send_msg_1.sendMsg)(sender, await user.createPayoutMsg(this.ctx, params, value));
|
|
92
116
|
}
|
|
93
117
|
async sendReopen(sender, params, value) {
|
|
94
|
-
return (0, send_msg_1.sendMsg)(sender, user.createReopenMsg(this.ctx, params, value));
|
|
118
|
+
return (0, send_msg_1.sendMsg)(sender, await user.createReopenMsg(this.ctx, params, value));
|
|
95
119
|
}
|
|
96
120
|
async sendCollectFee(sender, params, value) {
|
|
97
|
-
return (0, send_msg_1.sendMsg)(sender, user.createCollectFeeMsg(this.ctx, params, value));
|
|
121
|
+
return (0, send_msg_1.sendMsg)(sender, await user.createCollectFeeMsg(this.ctx, params, value));
|
|
98
122
|
}
|
|
99
123
|
async sendBatchPayout(sender, params, value) {
|
|
100
124
|
const rfqBatchData = await this.getRFQBatchData(params.rfqBatchAddress);
|
|
@@ -2,13 +2,13 @@ import { Cell } from "@ton/core";
|
|
|
2
2
|
import { AffluentContext } from "../../context";
|
|
3
3
|
import { AddressInput } from "../../contracts/common/type";
|
|
4
4
|
import { OracleExposures } from "../composite-oracle/computation";
|
|
5
|
-
import {
|
|
5
|
+
import { IVaultStateContext } from "../../common/types";
|
|
6
6
|
export { OracleExposures, createOracleExposures } from "../composite-oracle/computation";
|
|
7
7
|
/**
|
|
8
8
|
* Build oracle params Cell from pre-fetched vault positions
|
|
9
9
|
* Pure computation - no network calls
|
|
10
10
|
*/
|
|
11
|
-
export declare function buildOracleParamsCellFromData(assetAddresses: string[], oracleConfig: any, vaultPositions:
|
|
11
|
+
export declare function buildOracleParamsCellFromData(assetAddresses: string[], oracleConfig: any, vaultPositions: Record<string, IVaultStateContext>): Promise<{
|
|
12
12
|
oracleParams: Cell;
|
|
13
13
|
bucket: OracleExposures;
|
|
14
14
|
}>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Address, Cell } from "@ton/core";
|
|
2
|
+
import { TracerBase } from "../../../common/trace-action";
|
|
3
|
+
import { MessageHash } from "../../../utils/external-message-hash";
|
|
4
|
+
import { TonClient } from "@ton/ton";
|
|
5
|
+
import { AffluentContext } from "../../../context";
|
|
6
|
+
import { ToncenterV3Client } from "../../../utils/pending-tracker/v3-client";
|
|
7
|
+
export type RFQBatchAddresses = {
|
|
8
|
+
actor: Address;
|
|
9
|
+
actorAssetWallet: Address;
|
|
10
|
+
rfqBatch: Address;
|
|
11
|
+
rfqBatchAssetWallet: Address;
|
|
12
|
+
};
|
|
13
|
+
export declare function getRFQBatchAddresses(client: TonClient, params: {
|
|
14
|
+
actor: Address;
|
|
15
|
+
asset: Address;
|
|
16
|
+
rfqBatch: Address;
|
|
17
|
+
}): Promise<RFQBatchAddresses>;
|
|
18
|
+
export type RFQBatchAddOrderTracerParams = {
|
|
19
|
+
ctx: AffluentContext;
|
|
20
|
+
msgBody: Cell;
|
|
21
|
+
extHash: MessageHash;
|
|
22
|
+
actor: Address;
|
|
23
|
+
asset: Address;
|
|
24
|
+
rfqBatch: Address;
|
|
25
|
+
};
|
|
26
|
+
export declare class RFQBatchAddOrderTracer extends TracerBase<"jetton"> {
|
|
27
|
+
static create(params: RFQBatchAddOrderTracerParams): Promise<RFQBatchAddOrderTracer>;
|
|
28
|
+
constructor(toncenterClient: ToncenterV3Client, params: {
|
|
29
|
+
queryId: bigint;
|
|
30
|
+
extHash: MessageHash;
|
|
31
|
+
addresses: RFQBatchAddresses;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
export type RFQBatchCancelOrderTracerParams = {
|
|
35
|
+
ctx: AffluentContext;
|
|
36
|
+
msgBody: Cell;
|
|
37
|
+
extHash: MessageHash;
|
|
38
|
+
actor: Address;
|
|
39
|
+
asset: Address;
|
|
40
|
+
rfqBatch: Address;
|
|
41
|
+
};
|
|
42
|
+
export declare class RFQBatchCancelOrderTracer extends TracerBase<"cancel"> {
|
|
43
|
+
static create(params: RFQBatchCancelOrderTracerParams): Promise<RFQBatchCancelOrderTracer>;
|
|
44
|
+
constructor(toncenterClient: ToncenterV3Client, params: {
|
|
45
|
+
queryId: bigint;
|
|
46
|
+
extHash: MessageHash;
|
|
47
|
+
addresses: RFQBatchAddresses;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RFQBatchCancelOrderTracer = exports.RFQBatchAddOrderTracer = void 0;
|
|
4
|
+
exports.getRFQBatchAddresses = getRFQBatchAddresses;
|
|
5
|
+
const trace_action_1 = require("../../../common/trace-action");
|
|
6
|
+
const rfq_batch_1 = require("../../../contracts/rfq/rfq_batch");
|
|
7
|
+
const jetton_minter_1 = require("../../../contracts/jetton/jetton-minter");
|
|
8
|
+
async function getRFQBatchAddresses(client, params) {
|
|
9
|
+
const { actor, asset, rfqBatch } = params;
|
|
10
|
+
const _asset = client.open(jetton_minter_1.JettonMinter.createFromAddress(asset));
|
|
11
|
+
return {
|
|
12
|
+
actor,
|
|
13
|
+
actorAssetWallet: await _asset.getWalletAddress(actor),
|
|
14
|
+
rfqBatch,
|
|
15
|
+
rfqBatchAssetWallet: await _asset.getWalletAddress(rfqBatch),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
class RFQBatchAddOrderTracer extends trace_action_1.TracerBase {
|
|
19
|
+
static async create(params) {
|
|
20
|
+
const { ctx, msgBody, extHash, actor, asset, rfqBatch } = params;
|
|
21
|
+
const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
|
|
22
|
+
const addresses = await getRFQBatchAddresses(ctx.client, { actor, asset, rfqBatch });
|
|
23
|
+
return new RFQBatchAddOrderTracer(ctx.toncenterClient, { queryId, extHash, addresses });
|
|
24
|
+
}
|
|
25
|
+
constructor(toncenterClient, params) {
|
|
26
|
+
const { queryId, extHash, addresses } = params;
|
|
27
|
+
const steps = [
|
|
28
|
+
...(0, trace_action_1.createJettonSendSteps)({
|
|
29
|
+
isWTON: false,
|
|
30
|
+
actor: addresses.actor,
|
|
31
|
+
actorWallet: addresses.actorAssetWallet,
|
|
32
|
+
targetWallet: addresses.rfqBatchAssetWallet,
|
|
33
|
+
target: addresses.rfqBatch,
|
|
34
|
+
description: "Adding Order",
|
|
35
|
+
}),
|
|
36
|
+
];
|
|
37
|
+
super(toncenterClient, extHash, "jetton", queryId, steps);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.RFQBatchAddOrderTracer = RFQBatchAddOrderTracer;
|
|
41
|
+
class RFQBatchCancelOrderTracer extends trace_action_1.TracerBase {
|
|
42
|
+
static async create(params) {
|
|
43
|
+
const { ctx, msgBody, extHash, actor, asset, rfqBatch } = params;
|
|
44
|
+
const { queryId } = (0, trace_action_1.getOpAndQueryId)(msgBody);
|
|
45
|
+
const addresses = await getRFQBatchAddresses(ctx.client, { actor, asset, rfqBatch });
|
|
46
|
+
return new RFQBatchCancelOrderTracer(ctx.toncenterClient, { queryId, extHash, addresses });
|
|
47
|
+
}
|
|
48
|
+
constructor(toncenterClient, params) {
|
|
49
|
+
const { queryId, extHash, addresses } = params;
|
|
50
|
+
const steps = [
|
|
51
|
+
{
|
|
52
|
+
op: rfq_batch_1.RFQBatch.Op.CancelOrder,
|
|
53
|
+
from: addresses.actor,
|
|
54
|
+
to: addresses.rfqBatch,
|
|
55
|
+
description: "Cancelling Order",
|
|
56
|
+
},
|
|
57
|
+
...(0, trace_action_1.createJettonReceiveSteps)({
|
|
58
|
+
isWTON: false,
|
|
59
|
+
sourceWallet: addresses.rfqBatchAssetWallet,
|
|
60
|
+
actorWallet: addresses.actorAssetWallet,
|
|
61
|
+
description: "Refunding Asset",
|
|
62
|
+
}),
|
|
63
|
+
];
|
|
64
|
+
super(toncenterClient, extHash, "cancel", queryId, steps);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.RFQBatchCancelOrderTracer = RFQBatchCancelOrderTracer;
|
|
@@ -7,10 +7,12 @@ import * as query from "./query";
|
|
|
7
7
|
import * as owner from "./owner";
|
|
8
8
|
import * as manager from "./manager";
|
|
9
9
|
import * as user from "./user";
|
|
10
|
+
import { ShareVaultSupplyTracer, ShareVaultWithdrawTracer } from "./user/trace";
|
|
10
11
|
export { sendMsg } from "../../lib/send-msg";
|
|
11
12
|
export * from "./owner/types";
|
|
12
13
|
export * from "./manager/types";
|
|
13
14
|
export * from "./user/types";
|
|
15
|
+
export * from "./user/trace";
|
|
14
16
|
export { owner, manager, user, query };
|
|
15
17
|
export { PoolInfoForShareVault, PoolTuple } from "./query";
|
|
16
18
|
export declare class ShareVaultServiceV1 {
|
|
@@ -31,95 +33,19 @@ export declare class ShareVaultServiceV1 {
|
|
|
31
33
|
count: number;
|
|
32
34
|
sortedPools: query.PoolTuple[];
|
|
33
35
|
}>;
|
|
34
|
-
sendSetWhitelistPools(sender: AddressSender, params: owner.SetWhitelistPoolsParams, value?: bigint): Promise<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
mintVaultShareTokens: bigint;
|
|
45
|
-
};
|
|
46
|
-
queryID: bigint | undefined;
|
|
47
|
-
}>;
|
|
48
|
-
sendChangeManager(sender: AddressSender, params: owner.ChangeManagerParams, value?: bigint): Promise<{
|
|
49
|
-
manager: Address;
|
|
50
|
-
queryID: bigint | undefined;
|
|
51
|
-
}>;
|
|
52
|
-
sendChangeAdmin(sender: AddressSender, params: owner.ChangeAdminParams, value?: bigint): Promise<{
|
|
53
|
-
address: Address;
|
|
54
|
-
queryID: number | undefined;
|
|
55
|
-
}>;
|
|
56
|
-
sendUpgradeCode(sender: AddressSender, params: owner.UpgradeCodeParams, value?: bigint): Promise<{
|
|
57
|
-
newCode: import("@ton/core").Cell;
|
|
58
|
-
queryID: number | undefined;
|
|
59
|
-
}>;
|
|
60
|
-
sendSupplyToPool(sender: AddressSender, params: manager.SupplyToPoolParams, value?: bigint): Promise<{
|
|
61
|
-
pool: Address;
|
|
62
|
-
amount: bigint;
|
|
63
|
-
queryID: number | undefined;
|
|
64
|
-
}>;
|
|
65
|
-
sendWithdrawFromPool(sender: AddressSender, params: manager.WithdrawFromPoolParams, value?: bigint): Promise<{
|
|
66
|
-
pool: Address;
|
|
67
|
-
amount: bigint;
|
|
68
|
-
isShare: boolean;
|
|
69
|
-
queryID: number | undefined;
|
|
70
|
-
}>;
|
|
71
|
-
sendSetTargetWeight(sender: AddressSender, params: manager.SetTargetWeightParams, value?: bigint): Promise<{
|
|
72
|
-
pool: Address;
|
|
73
|
-
targetWeight: number;
|
|
74
|
-
queryID: number | undefined;
|
|
75
|
-
}>;
|
|
76
|
-
sendSupply(sender: AddressSender, params: user.SupplyParams, value?: bigint): Promise<{
|
|
77
|
-
recipient: Address;
|
|
78
|
-
response: Address;
|
|
79
|
-
amount: bigint;
|
|
80
|
-
forwardTonAmount: bigint;
|
|
81
|
-
forwardPayload: import("@ton/core").Cell;
|
|
82
|
-
queryId: bigint | undefined;
|
|
83
|
-
}>;
|
|
84
|
-
sendWithdraw(sender: AddressSender, params: user.WithdrawParams, value?: bigint): Promise<{
|
|
85
|
-
amount: bigint;
|
|
86
|
-
response: Address;
|
|
87
|
-
forwardPayload: import("@ton/core").Cell;
|
|
88
|
-
queryId: bigint | undefined;
|
|
89
|
-
}>;
|
|
36
|
+
sendSetWhitelistPools(sender: AddressSender, params: owner.SetWhitelistPoolsParams, value?: bigint): Promise<import("../..").SimpleTracer>;
|
|
37
|
+
sendSetGasConfig(sender: AddressSender, params: owner.SetGasConfigParams, value?: bigint): Promise<import("../..").SimpleTracer>;
|
|
38
|
+
sendChangeManager(sender: AddressSender, params: owner.ChangeManagerParams, value?: bigint): Promise<import("../..").SimpleTracer>;
|
|
39
|
+
sendChangeAdmin(sender: AddressSender, params: owner.ChangeAdminParams, value?: bigint): Promise<import("../..").SimpleTracer>;
|
|
40
|
+
sendUpgradeCode(sender: AddressSender, params: owner.UpgradeCodeParams, value?: bigint): Promise<import("../..").SimpleTracer>;
|
|
41
|
+
sendSupplyToPool(sender: AddressSender, params: manager.SupplyToPoolParams, value?: bigint): Promise<import("../..").SimpleTracer>;
|
|
42
|
+
sendWithdrawFromPool(sender: AddressSender, params: manager.WithdrawFromPoolParams, value?: bigint): Promise<import("../..").SimpleTracer>;
|
|
43
|
+
sendSetTargetWeight(sender: AddressSender, params: manager.SetTargetWeightParams, value?: bigint): Promise<import("../..").SimpleTracer>;
|
|
44
|
+
sendSupply(sender: AddressSender, params: user.SupplyParams, value?: bigint): Promise<ShareVaultSupplyTracer>;
|
|
45
|
+
sendWithdraw(sender: AddressSender, params: user.WithdrawParams, value?: bigint): Promise<ShareVaultWithdrawTracer>;
|
|
90
46
|
getValuationContext(vaultAddress: AddressInput): Promise<{
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
owner: Address | null;
|
|
94
|
-
manager: Address | null;
|
|
95
|
-
asset: Address;
|
|
96
|
-
balance: bigint;
|
|
97
|
-
cash: bigint;
|
|
98
|
-
totalTargetWeight: bigint;
|
|
99
|
-
nextAggregatorIndex: bigint;
|
|
100
|
-
isWtonVault: boolean;
|
|
101
|
-
assetWallet: Address | null;
|
|
102
|
-
whitelistedPools: Record<string, {
|
|
103
|
-
isWhitelisted: boolean;
|
|
104
|
-
targetWeight: bigint;
|
|
105
|
-
supply: bigint;
|
|
106
|
-
} & {
|
|
107
|
-
address: Address;
|
|
108
|
-
}>;
|
|
109
|
-
minimumGasFee: {
|
|
110
|
-
supply: bigint;
|
|
111
|
-
withdraw: bigint;
|
|
112
|
-
factorialSupply: bigint;
|
|
113
|
-
factorialWithdraw: bigint;
|
|
114
|
-
mintVaultShareTokens: bigint;
|
|
115
|
-
};
|
|
116
|
-
code: import("@ton/core").Cell;
|
|
117
|
-
address: Address;
|
|
118
|
-
};
|
|
119
|
-
totalSupply: bigint;
|
|
120
|
-
asset: Address;
|
|
121
|
-
reserve: bigint;
|
|
122
|
-
poolPositions: Record<string, query.PoolInfoForShareVault>;
|
|
47
|
+
vaultStateContext: import("../../common/transform").VaultStateContext;
|
|
48
|
+
amountContext: import("../../common/transform").VaultAmountContext;
|
|
123
49
|
netAmount: bigint;
|
|
124
50
|
exr: number;
|
|
125
51
|
}>;
|
|
@@ -38,6 +38,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.ShareVaultServiceV1 = exports.query = exports.user = exports.manager = exports.owner = exports.sendMsg = void 0;
|
|
40
40
|
const context_1 = require("../../context");
|
|
41
|
+
const utils_1 = require("../../contracts/common/utils");
|
|
41
42
|
const send_msg_1 = require("../../lib/send-msg");
|
|
42
43
|
const query = __importStar(require("./query"));
|
|
43
44
|
exports.query = query;
|
|
@@ -48,11 +49,13 @@ const manager = __importStar(require("./manager"));
|
|
|
48
49
|
exports.manager = manager;
|
|
49
50
|
const user = __importStar(require("./user"));
|
|
50
51
|
exports.user = user;
|
|
52
|
+
const trace_1 = require("./user/trace");
|
|
51
53
|
var send_msg_2 = require("../../lib/send-msg");
|
|
52
54
|
Object.defineProperty(exports, "sendMsg", { enumerable: true, get: function () { return send_msg_2.sendMsg; } });
|
|
53
55
|
__exportStar(require("./owner/types"), exports);
|
|
54
56
|
__exportStar(require("./manager/types"), exports);
|
|
55
57
|
__exportStar(require("./user/types"), exports);
|
|
58
|
+
__exportStar(require("./user/trace"), exports);
|
|
56
59
|
class ShareVaultServiceV1 {
|
|
57
60
|
ctx;
|
|
58
61
|
constructor(ctx = context_1.AffluentContext.getInstance()) {
|
|
@@ -92,40 +95,64 @@ class ShareVaultServiceV1 {
|
|
|
92
95
|
// Owner
|
|
93
96
|
// ============================================================
|
|
94
97
|
async sendSetWhitelistPools(sender, params, value) {
|
|
95
|
-
return (0, send_msg_1.
|
|
98
|
+
return (0, send_msg_1.sendMsgAndWaitTxSimple)(this.ctx, sender, await owner.createSetWhitelistPoolsMsg(this.ctx, params, value));
|
|
96
99
|
}
|
|
97
100
|
async sendSetGasConfig(sender, params, value) {
|
|
98
|
-
return (0, send_msg_1.
|
|
101
|
+
return (0, send_msg_1.sendMsgAndWaitTxSimple)(this.ctx, sender, await owner.createSetGasConfigMsg(this.ctx, params, value));
|
|
99
102
|
}
|
|
100
103
|
async sendChangeManager(sender, params, value) {
|
|
101
|
-
return (0, send_msg_1.
|
|
104
|
+
return (0, send_msg_1.sendMsgAndWaitTxSimple)(this.ctx, sender, await owner.createChangeManagerMsg(this.ctx, params, value));
|
|
102
105
|
}
|
|
103
106
|
async sendChangeAdmin(sender, params, value) {
|
|
104
|
-
return (0, send_msg_1.
|
|
107
|
+
return (0, send_msg_1.sendMsgAndWaitTxSimple)(this.ctx, sender, await owner.createChangeAdminMsg(this.ctx, params, value));
|
|
105
108
|
}
|
|
106
109
|
async sendUpgradeCode(sender, params, value) {
|
|
107
|
-
return (0, send_msg_1.
|
|
110
|
+
return (0, send_msg_1.sendMsgAndWaitTxSimple)(this.ctx, sender, await owner.createUpgradeCodeMsg(this.ctx, params, value));
|
|
108
111
|
}
|
|
109
112
|
// ============================================================
|
|
110
113
|
// Manager
|
|
111
114
|
// ============================================================
|
|
112
115
|
async sendSupplyToPool(sender, params, value) {
|
|
113
|
-
return (0, send_msg_1.
|
|
116
|
+
return (0, send_msg_1.sendMsgAndWaitTxSimple)(this.ctx, sender, await manager.createSupplyToPoolMsg(this.ctx, params, value));
|
|
114
117
|
}
|
|
115
118
|
async sendWithdrawFromPool(sender, params, value) {
|
|
116
|
-
return (0, send_msg_1.
|
|
119
|
+
return (0, send_msg_1.sendMsgAndWaitTxSimple)(this.ctx, sender, await manager.createWithdrawFromPoolMsg(this.ctx, params, value));
|
|
117
120
|
}
|
|
118
121
|
async sendSetTargetWeight(sender, params, value) {
|
|
119
|
-
return (0, send_msg_1.
|
|
122
|
+
return (0, send_msg_1.sendMsgAndWaitTxSimple)(this.ctx, sender, await manager.createSetTargetWeightMsg(this.ctx, params, value));
|
|
120
123
|
}
|
|
121
124
|
// ============================================================
|
|
122
125
|
// User
|
|
123
126
|
// ============================================================
|
|
124
127
|
async sendSupply(sender, params, value) {
|
|
125
|
-
|
|
128
|
+
const vault = (0, utils_1.toAddress)(params.vaultAddress);
|
|
129
|
+
const vaultData = await query.getVaultData(this.ctx, vault);
|
|
130
|
+
const msg = await user.createSupplyMsg(this.ctx, sender, params, value);
|
|
131
|
+
const result = await (0, send_msg_1.sendMsgAndWaitTx)(this.ctx, sender, msg);
|
|
132
|
+
return trace_1.ShareVaultSupplyTracer.create({
|
|
133
|
+
ctx: this.ctx,
|
|
134
|
+
msgBody: msg.input.body,
|
|
135
|
+
extHash: await result.getExternalHash(),
|
|
136
|
+
actor: sender.address,
|
|
137
|
+
asset: vaultData.asset,
|
|
138
|
+
vault,
|
|
139
|
+
isWTON: this.ctx.isWTON(vaultData.asset),
|
|
140
|
+
});
|
|
126
141
|
}
|
|
127
142
|
async sendWithdraw(sender, params, value) {
|
|
128
|
-
|
|
143
|
+
const vault = (0, utils_1.toAddress)(params.vaultAddress);
|
|
144
|
+
const vaultData = await query.getVaultData(this.ctx, vault);
|
|
145
|
+
const msg = await user.createWithdrawMsg(this.ctx, sender, params, value);
|
|
146
|
+
const result = await (0, send_msg_1.sendMsgAndWaitTx)(this.ctx, sender, msg);
|
|
147
|
+
return trace_1.ShareVaultWithdrawTracer.create({
|
|
148
|
+
ctx: this.ctx,
|
|
149
|
+
msgBody: msg.input.body,
|
|
150
|
+
extHash: await result.getExternalHash(),
|
|
151
|
+
actor: sender.address,
|
|
152
|
+
asset: vaultData.asset,
|
|
153
|
+
vault,
|
|
154
|
+
isWTON: this.ctx.isWTON(vaultData.asset),
|
|
155
|
+
});
|
|
129
156
|
}
|
|
130
157
|
async getValuationContext(vaultAddress) {
|
|
131
158
|
return query.getValuationContext(this.ctx, vaultAddress);
|
|
@@ -4,6 +4,8 @@ import { AddressInput, AddressLike } from "../../contracts/common/type";
|
|
|
4
4
|
import { ShareVault, ShareVaultState } from "../../contracts/vault/share-vault";
|
|
5
5
|
import { JettonWallet } from "../../contracts/jetton/jetton-wallet";
|
|
6
6
|
import { PoolInfoForShareVault } from "./type";
|
|
7
|
+
import { VaultStateContext } from "../../common/transform";
|
|
8
|
+
import { PoolState } from "../../contracts/core/pool/type";
|
|
7
9
|
export { PoolInfoForShareVault, PoolTuple } from "./type";
|
|
8
10
|
/**
|
|
9
11
|
* Get ShareVault contract instance
|
|
@@ -25,39 +27,10 @@ export declare function getVaultWallet(ctx: AffluentContext, vaultAddress: Addre
|
|
|
25
27
|
* Get pool info for all whitelisted pools
|
|
26
28
|
*/
|
|
27
29
|
export declare function getPoolInfoForShareVault(ctx: AffluentContext, vaultData: ShareVaultState): Promise<Record<string, PoolInfoForShareVault>>;
|
|
30
|
+
export declare function getPoolDataForShareVault(ctx: AffluentContext, vaultAddress: AddressInput): Promise<Record<string, PoolState>>;
|
|
28
31
|
export declare function getValuationContext(ctx: AffluentContext, vaultAddress: AddressInput): Promise<{
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
owner: Address | null;
|
|
32
|
-
manager: Address | null;
|
|
33
|
-
asset: Address;
|
|
34
|
-
balance: bigint;
|
|
35
|
-
cash: bigint;
|
|
36
|
-
totalTargetWeight: bigint;
|
|
37
|
-
nextAggregatorIndex: bigint;
|
|
38
|
-
isWtonVault: boolean;
|
|
39
|
-
assetWallet: Address | null;
|
|
40
|
-
whitelistedPools: Record<string, {
|
|
41
|
-
isWhitelisted: boolean;
|
|
42
|
-
targetWeight: bigint;
|
|
43
|
-
supply: bigint;
|
|
44
|
-
} & {
|
|
45
|
-
address: Address;
|
|
46
|
-
}>;
|
|
47
|
-
minimumGasFee: {
|
|
48
|
-
supply: bigint;
|
|
49
|
-
withdraw: bigint;
|
|
50
|
-
factorialSupply: bigint;
|
|
51
|
-
factorialWithdraw: bigint;
|
|
52
|
-
mintVaultShareTokens: bigint;
|
|
53
|
-
};
|
|
54
|
-
code: import("@ton/core").Cell;
|
|
55
|
-
address: Address;
|
|
56
|
-
};
|
|
57
|
-
totalSupply: bigint;
|
|
58
|
-
asset: Address;
|
|
59
|
-
reserve: bigint;
|
|
60
|
-
poolPositions: Record<string, PoolInfoForShareVault>;
|
|
32
|
+
vaultStateContext: VaultStateContext;
|
|
33
|
+
amountContext: import("../../common/transform").VaultAmountContext;
|
|
61
34
|
netAmount: bigint;
|
|
62
35
|
exr: number;
|
|
63
36
|
}>;
|