@quartz-labs/sdk 0.12.9 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +4 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +12 -8
- package/dist/client.js.map +1 -1
- package/dist/config/tokens.d.ts.map +1 -1
- package/dist/config/tokens.js +0 -9
- package/dist/config/tokens.js.map +1 -1
- package/dist/types/classes/DriftUser.class.d.ts +6 -5
- package/dist/types/classes/DriftUser.class.d.ts.map +1 -1
- package/dist/types/classes/DriftUser.class.js +58 -28
- package/dist/types/classes/DriftUser.class.js.map +1 -1
- package/dist/types/interfaces/Token.interface.d.ts +0 -1
- package/dist/types/interfaces/Token.interface.d.ts.map +1 -1
- package/dist/user.d.ts +15 -11
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +44 -22
- package/dist/user.js.map +1 -1
- package/dist/utils/helpers.d.ts +2 -0
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +15 -2
- package/dist/utils/helpers.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { Keypair } from "@solana/web3.js";
|
|
|
6
6
|
import type { VersionedTransactionResponse } from "@solana/web3.js";
|
|
7
7
|
import type { WithdrawOrder } from "./types/accounts/WithdrawOrder.account.js";
|
|
8
8
|
import type { SpendLimitsOrder } from "./types/accounts/SpendLimitsOrder.account.js";
|
|
9
|
+
import type { MarketIndex } from "./index.browser.js";
|
|
9
10
|
export declare class QuartzClient {
|
|
10
11
|
private connection;
|
|
11
12
|
private program;
|
|
@@ -18,8 +19,9 @@ export declare class QuartzClient {
|
|
|
18
19
|
getAllQuartzAccountOwnerPubkeys(): Promise<PublicKey[]>;
|
|
19
20
|
getQuartzAccount(owner: PublicKey): Promise<QuartzUser>;
|
|
20
21
|
getMultipleQuartzAccounts(owners: PublicKey[]): Promise<(QuartzUser | null)[]>;
|
|
21
|
-
getDepositRate(
|
|
22
|
-
getBorrowRate(
|
|
22
|
+
getDepositRate(marketIndex: MarketIndex): Promise<BN>;
|
|
23
|
+
getBorrowRate(marketIndex: MarketIndex): Promise<BN>;
|
|
24
|
+
getCollateralWeight(marketIndex: MarketIndex): Promise<number>;
|
|
23
25
|
private getSpotMarketAccount;
|
|
24
26
|
getOpenWithdrawOrders(user?: PublicKey): Promise<WithdrawOrder[]>;
|
|
25
27
|
getOpenSpendLimitsOrders(user?: PublicKey): Promise<SpendLimitsOrder[]>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoB,MAAM,iBAAiB,CAAC;AAKvD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,0BAA0B,EAAQ,MAAM,EAAG,MAAM,iBAAiB,CAAC;AACnI,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoB,MAAM,iBAAiB,CAAC;AAKvD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,0BAA0B,EAAQ,MAAM,EAAG,MAAM,iBAAiB,CAAC;AACnI,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,YAAY;IACrB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO;mBAYc,UAAU;WAOX,WAAW,CAC3B,UAAU,EAAE,UAAU,EACtB,gBAAgB,SAAO,GACxB,OAAO,CAAC,YAAY,CAAC;WAeJ,mBAAmB,CACnC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,SAAS;IAiBP,+BAA+B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAMvD,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA2BvD,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;IA6C9E,cAAc,CAAC,WAAW,EAAE,WAAW;IAMvC,aAAa,CAAC,WAAW,EAAE,WAAW;IAMtC,mBAAmB,CAAC,WAAW,EAAE,WAAW;YAK3C,oBAAoB;IAMrB,qBAAqB,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAiBjE,wBAAwB,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAcvE,oBAAoB,CAC7B,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,CAAC,EAAE,EAAE,4BAA4B,EAAE,EAAE,EAAE,0BAA0B,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,IAAI,EACnH,YAAY,UAAO;WAoCH,YAAY,CAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,GACjB,OAAO,CAAC,SAAS,CAAC;IAiDrB;;;;;;;;;;;;;;;OAeG;IACU,qBAAqB,CAC9B,KAAK,EAAE,SAAS,EAChB,wBAAwB,EAAE,EAAE,EAC5B,sBAAsB,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EACtB,2BAA2B,EAAE,EAAE,GAChC,OAAO,CAAC;QACP,GAAG,EAAE,sBAAsB,EAAE,CAAC;QAC9B,YAAY,EAAE,yBAAyB,EAAE,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,CAAA;KACrB,CAAC;IA8BK,KAAK;yDAEkB,SAAS,eAClB,MAAM,CAAC,WAAW,CAAC,iBACjB,MAAM,KACtB,OAAO,CAAC;YACP,GAAG,EAAE,sBAAsB,EAAE,CAAC;YAC9B,YAAY,EAAE,yBAAyB,EAAE,CAAC;YAC1C,OAAO,EAAE,MAAM,EAAE,CAAA;SACpB,CAAC;MAkBL;CACJ"}
|
package/dist/client.js
CHANGED
|
@@ -56,7 +56,7 @@ export class QuartzClient {
|
|
|
56
56
|
const [driftUserAccount] = await fetchDriftAccountsUsingKeys(this.connection, this.driftClient.program, [getDriftUserPublicKey(vaultAddress)]);
|
|
57
57
|
if (!driftUserAccount)
|
|
58
58
|
throw Error("Drift user not found");
|
|
59
|
-
return new QuartzUser(owner, this.connection, this.program, this.quartzLookupTable, this.driftClient, driftUserAccount, vaultAccount.spendLimitPerTransaction, vaultAccount.spendLimitPerTimeframe, vaultAccount.remainingSpendLimitPerTimeframe, vaultAccount.nextTimeframeResetTimestamp, vaultAccount.timeframeInSeconds);
|
|
59
|
+
return new QuartzUser(owner, this.connection, this, this.program, this.quartzLookupTable, this.driftClient, driftUserAccount, vaultAccount.spendLimitPerTransaction, vaultAccount.spendLimitPerTimeframe, vaultAccount.remainingSpendLimitPerTimeframe, vaultAccount.nextTimeframeResetTimestamp, vaultAccount.timeframeInSeconds);
|
|
60
60
|
}
|
|
61
61
|
async getMultipleQuartzAccounts(owners) {
|
|
62
62
|
if (owners.length === 0)
|
|
@@ -81,21 +81,25 @@ export class QuartzClient {
|
|
|
81
81
|
const vaultAccount = vaultAccounts[index];
|
|
82
82
|
if (!vaultAccount)
|
|
83
83
|
throw Error(`Vault account not found for pubkey: ${vaultAddresses[index]?.toBase58()}`);
|
|
84
|
-
return new QuartzUser(owners[index], this.connection, this.program, this.quartzLookupTable, this.driftClient, driftUser, vaultAccount.spendLimitPerTransaction, vaultAccount.spendLimitPerTimeframe, vaultAccount.remainingSpendLimitPerTimeframe, vaultAccount.nextTimeframeResetTimestamp, vaultAccount.timeframeInSeconds);
|
|
84
|
+
return new QuartzUser(owners[index], this.connection, this, this.program, this.quartzLookupTable, this.driftClient, driftUser, vaultAccount.spendLimitPerTransaction, vaultAccount.spendLimitPerTimeframe, vaultAccount.remainingSpendLimitPerTimeframe, vaultAccount.nextTimeframeResetTimestamp, vaultAccount.timeframeInSeconds);
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
|
-
async getDepositRate(
|
|
88
|
-
const spotMarket = await this.getSpotMarketAccount(
|
|
87
|
+
async getDepositRate(marketIndex) {
|
|
88
|
+
const spotMarket = await this.getSpotMarketAccount(marketIndex);
|
|
89
89
|
const depositRate = calculateDepositRate(spotMarket);
|
|
90
90
|
return depositRate;
|
|
91
91
|
}
|
|
92
|
-
async getBorrowRate(
|
|
93
|
-
const spotMarket = await this.getSpotMarketAccount(
|
|
92
|
+
async getBorrowRate(marketIndex) {
|
|
93
|
+
const spotMarket = await this.getSpotMarketAccount(marketIndex);
|
|
94
94
|
const borrowRate = calculateBorrowRate(spotMarket);
|
|
95
95
|
return borrowRate;
|
|
96
96
|
}
|
|
97
|
-
async
|
|
98
|
-
const spotMarket = await this.
|
|
97
|
+
async getCollateralWeight(marketIndex) {
|
|
98
|
+
const spotMarket = await this.getSpotMarketAccount(marketIndex);
|
|
99
|
+
return spotMarket.initialAssetWeight;
|
|
100
|
+
}
|
|
101
|
+
async getSpotMarketAccount(marketIndex) {
|
|
102
|
+
const spotMarket = await this.driftClient.getSpotMarketAccount(marketIndex);
|
|
99
103
|
if (!spotMarket)
|
|
100
104
|
throw Error("Spot market not found");
|
|
101
105
|
return spotMarket;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoB,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,0BAA0B,IAAI,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACzJ,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChH,OAAO,EAAE,GAAG,EAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhG,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClN,OAAO,EAAE,aAAa,EAAE,kBAAkB,GAAG,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/config/tokens.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAGpE,eAAO,MAAM,WAAW,0CAEd,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAKjF;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/config/tokens.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAGpE,eAAO,MAAM,WAAW,0CAEd,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAKjF;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAgE7C,CAAC"}
|
package/dist/config/tokens.js
CHANGED
|
@@ -15,7 +15,6 @@ export const TOKENS = {
|
|
|
15
15
|
mint: new PublicKey("So11111111111111111111111111111111111111112"),
|
|
16
16
|
pythPriceFeedId: "0xef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d",
|
|
17
17
|
decimalPrecision: new BN(9),
|
|
18
|
-
driftInitialCollateralWeight: new BN(80),
|
|
19
18
|
coingeckoPriceId: "solana",
|
|
20
19
|
},
|
|
21
20
|
0: {
|
|
@@ -23,7 +22,6 @@ export const TOKENS = {
|
|
|
23
22
|
mint: new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),
|
|
24
23
|
pythPriceFeedId: "0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
25
24
|
decimalPrecision: new BN(6),
|
|
26
|
-
driftInitialCollateralWeight: new BN(100),
|
|
27
25
|
coingeckoPriceId: "usd-coin",
|
|
28
26
|
},
|
|
29
27
|
5: {
|
|
@@ -31,7 +29,6 @@ export const TOKENS = {
|
|
|
31
29
|
mint: new PublicKey("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),
|
|
32
30
|
pythPriceFeedId: "0x2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b",
|
|
33
31
|
decimalPrecision: new BN(6),
|
|
34
|
-
driftInitialCollateralWeight: new BN(90),
|
|
35
32
|
coingeckoPriceId: "tether",
|
|
36
33
|
},
|
|
37
34
|
22: {
|
|
@@ -39,7 +36,6 @@ export const TOKENS = {
|
|
|
39
36
|
mint: new PublicKey("2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo"),
|
|
40
37
|
pythPriceFeedId: "0xc1da1b73d7f01e7ddd54b3766cf7fcd644395ad14f70aa706ec5384c59e76692",
|
|
41
38
|
decimalPrecision: new BN(6),
|
|
42
|
-
driftInitialCollateralWeight: new BN(90),
|
|
43
39
|
coingeckoPriceId: "paypal-usd",
|
|
44
40
|
},
|
|
45
41
|
28: {
|
|
@@ -47,7 +43,6 @@ export const TOKENS = {
|
|
|
47
43
|
mint: new PublicKey("USDSwr9ApdHk5bvJKMjzff41FfuX8bSxdKcR81vTwcA"),
|
|
48
44
|
pythPriceFeedId: "0x77f0971af11cc8bac224917275c1bf55f2319ed5c654a1ca955c82fa2d297ea1",
|
|
49
45
|
decimalPrecision: new BN(6),
|
|
50
|
-
driftInitialCollateralWeight: new BN(90),
|
|
51
46
|
coingeckoPriceId: "usds",
|
|
52
47
|
},
|
|
53
48
|
3: {
|
|
@@ -55,7 +50,6 @@ export const TOKENS = {
|
|
|
55
50
|
mint: new PublicKey("3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh"),
|
|
56
51
|
pythPriceFeedId: "0xc9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33",
|
|
57
52
|
decimalPrecision: new BN(8),
|
|
58
|
-
driftInitialCollateralWeight: new BN(80),
|
|
59
53
|
coingeckoPriceId: "wrapped-btc-wormhole",
|
|
60
54
|
},
|
|
61
55
|
6: {
|
|
@@ -63,7 +57,6 @@ export const TOKENS = {
|
|
|
63
57
|
mint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"),
|
|
64
58
|
pythPriceFeedId: "0x67be9f519b95cf24338801051f9a808eff0a578ccb388db73b7f6fe1de019ffb",
|
|
65
59
|
decimalPrecision: new BN(9),
|
|
66
|
-
driftInitialCollateralWeight: new BN(80),
|
|
67
60
|
coingeckoPriceId: "jito-staked-sol",
|
|
68
61
|
},
|
|
69
62
|
19: {
|
|
@@ -71,7 +64,6 @@ export const TOKENS = {
|
|
|
71
64
|
mint: new PublicKey("27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4"),
|
|
72
65
|
pythPriceFeedId: "0xc811abc82b4bad1f9bd711a2773ccaa935b03ecef974236942cec5e0eb845a3a",
|
|
73
66
|
decimalPrecision: new BN(6),
|
|
74
|
-
driftInitialCollateralWeight: new BN(80),
|
|
75
67
|
coingeckoPriceId: "jupiter-perpetuals-liquidity-provider-token",
|
|
76
68
|
},
|
|
77
69
|
29: {
|
|
@@ -79,7 +71,6 @@ export const TOKENS = {
|
|
|
79
71
|
mint: new PublicKey("METADDFL6wWMWEoKTFJwcThTbUmtarRJZjRpzUvkxhr"),
|
|
80
72
|
pythPriceFeedId: "0xe379d8d3a1a44952474f057bdfe6e902a97f093b2872c152dcf04f612e3e3be9",
|
|
81
73
|
decimalPrecision: new BN(9),
|
|
82
|
-
driftInitialCollateralWeight: new BN(25),
|
|
83
74
|
coingeckoPriceId: "meta-2",
|
|
84
75
|
}
|
|
85
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/config/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;CACvB,CAAC;AAGX,MAAM,UAAU,sBAAsB,CAAI,YAAe;IACrD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;QAC3C,GAAG,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;QAChC,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA4B,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAA+B;IAC9C,CAAC,EAAE;QACC,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,IAAI,SAAS,CAAC,6CAA6C,CAAC;QAClE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/config/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;CACvB,CAAC;AAGX,MAAM,UAAU,sBAAsB,CAAI,YAAe;IACrD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;QAC3C,GAAG,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;QAChC,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA4B,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAA+B;IAC9C,CAAC,EAAE;QACC,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,IAAI,SAAS,CAAC,6CAA6C,CAAC;QAClE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,QAAQ;KAC7B;IACD,CAAC,EAAE;QACC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;QACnE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,UAAU;KAC/B;IACD,CAAC,EAAE;QACC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;QACnE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,QAAQ;KAC7B;IACD,EAAE,EAAE;QACA,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;QACnE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,YAAY;KACjC;IACD,EAAE,EAAE;QACA,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,SAAS,CAAC,6CAA6C,CAAC;QAClE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,MAAM;KAC3B;IACD,CAAC,EAAE;QACC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;QACnE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,sBAAsB;KAC3C;IACD,CAAC,EAAE;QACC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;QACnE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,iBAAiB;KACtC;IACD,EAAE,EAAE;QACA,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;QACnE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,6CAA6C;KAClE;IACD,EAAE,EAAE;QACA,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,SAAS,CAAC,6CAA6C,CAAC;QAClE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,EAAE,QAAQ;KAC7B;CACJ,CAAC"}
|
|
@@ -12,14 +12,15 @@ export declare class DriftUser {
|
|
|
12
12
|
getDriftUserAccount(): UserAccount;
|
|
13
13
|
getRemainingAccounts(marketIndex: MarketIndex): AccountMeta[];
|
|
14
14
|
getHealth(): number;
|
|
15
|
-
getTokenAmount(marketIndex: number): BN;
|
|
16
|
-
getWithdrawalLimit(marketIndex:
|
|
17
|
-
getFreeCollateral(marginCategory?: MarginCategory, strict?: boolean): BN;
|
|
15
|
+
getTokenAmount(marketIndex: number, openOrderBalances?: Record<MarketIndex, BN>): BN;
|
|
16
|
+
getWithdrawalLimit(marketIndex: MarketIndex, reduceOnly?: boolean, openOrderBalances?: Record<MarketIndex, BN>): BN;
|
|
17
|
+
getFreeCollateral(marginCategory?: MarginCategory, strict?: boolean, openOrderBalances?: Record<MarketIndex, BN>): BN;
|
|
18
18
|
private canBypassWithdrawLimits;
|
|
19
19
|
private isBeingLiquidated;
|
|
20
|
-
getTotalCollateralValue(marginCategory?: MarginCategory, strict?: boolean, includeOpenOrders?: boolean): BN;
|
|
20
|
+
getTotalCollateralValue(marginCategory?: MarginCategory, strict?: boolean, includeOpenOrders?: boolean, openOrderBalances?: Record<MarketIndex, BN>): BN;
|
|
21
21
|
private getSpotMarketAssetValue;
|
|
22
22
|
private getSpotMarketAssetAndLiabilityValue;
|
|
23
|
+
private getWorstCaseTokenAmounts;
|
|
23
24
|
private getSpotLiabilityValue;
|
|
24
25
|
private getSpotAssetValue;
|
|
25
26
|
private getUnrealizedPNL;
|
|
@@ -28,7 +29,7 @@ export declare class DriftUser {
|
|
|
28
29
|
private getPerpPosition;
|
|
29
30
|
private getEmptyPosition;
|
|
30
31
|
private getClonedPosition;
|
|
31
|
-
getInitialMarginRequirement(): BN;
|
|
32
|
+
getInitialMarginRequirement(openOrderBalances?: Record<MarketIndex, BN>): BN;
|
|
32
33
|
private getMarginRequirement;
|
|
33
34
|
private getTotalPerpPositionLiability;
|
|
34
35
|
private calculateWeightedPerpPositionLiability;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DriftUser.class.d.ts","sourceRoot":"","sources":["../../../src/types/classes/DriftUser.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,EAAE,EAAiT,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"DriftUser.class.d.ts","sourceRoot":"","sources":["../../../src/types/classes/DriftUser.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,EAAE,EAAiT,KAAK,WAAW,EAAgI,KAAK,cAAc,EAAsL,KAAK,WAAW,EAAuJ,MAAM,iBAAiB,CAAC;AACt4B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,WAAW,CAA0B;IACzC,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;gBAGvB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EAC9B,WAAW,EAAE,WAAW;IAYlB,mBAAmB,IAAI,WAAW;IAKlC,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,EAAE;IAe1D,SAAS,IAAI,MAAM;IA0BnB,cAAc,CACvB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAwBE,kBAAkB,CACxB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,OAAO,EACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IA0FE,iBAAiB,CACvB,cAAc,GAAE,cAA0B,EAC1C,MAAM,UAAQ,EACd,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAiBL,OAAO,CAAC,uBAAuB;IA2D5B,OAAO,CAAC,iBAAiB;IASlB,uBAAuB,CAChC,cAAc,CAAC,EAAE,cAAc,EAC/B,MAAM,UAAQ,EACd,iBAAiB,UAAO,EACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAaF,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,mCAAmC;IAuL9C,OAAO,CAAC,wBAAwB;IA0E7B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,gBAAgB;IAiFxB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,2BAA2B;IAsMnC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,iBAAiB;IAKlB,2BAA2B,CACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAoBF,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,6BAA6B;IAqBrC,OAAO,CAAC,sCAAsC;IAqH9C,OAAO,CAAC,2BAA2B;CAoBtC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { AMM_RESERVE_PRECISION, AMM_RESERVE_PRECISION_EXP, BN, calculateAssetWeight, calculateLiabilityWeight, calculateLiveOracleTwap, calculateMarketMarginRatio, calculateMarketOpenBidAsk, calculatePerpLiabilityValue, calculatePositionPNL, calculateUnrealizedAssetWeight, calculateUnsettledFundingPnl, calculateWithdrawLimit, calculateWorstCasePerpLiabilityValue, FIVE_MINUTE, getSignedTokenAmount, getStrictTokenValue, getTokenAmount,
|
|
1
|
+
import { AMM_RESERVE_PRECISION, AMM_RESERVE_PRECISION_EXP, BN, calculateAssetWeight, calculateLiabilityWeight, calculateLiveOracleTwap, calculateMarketMarginRatio, calculateMarketOpenBidAsk, calculatePerpLiabilityValue, calculatePositionPNL, calculateUnrealizedAssetWeight, calculateUnsettledFundingPnl, calculateWithdrawLimit, calculateWorstCasePerpLiabilityValue, FIVE_MINUTE, getSignedTokenAmount, getStrictTokenValue, getTokenAmount, isSpotPositionAvailable, isVariant, MARGIN_PRECISION, ONE, OPEN_ORDER_MARGIN_REQUIREMENT, PRICE_PRECISION, QUOTE_PRECISION, QUOTE_SPOT_MARKET_INDEX, SPOT_MARKET_WEIGHT_PRECISION, SpotBalanceType, StrictOraclePrice, UserStatus, ZERO, TEN, divCeil, calculateWeightedTokenValue, simulateOrderFill } from "@drift-labs/sdk";
|
|
2
2
|
import { getDriftUserPublicKey, getDriftUserStatsPublicKey } from "../../utils/accounts.js";
|
|
3
|
+
import { getMarketIndicesRecord } from "../../index.browser.js";
|
|
3
4
|
export class DriftUser {
|
|
4
5
|
authority;
|
|
5
6
|
driftClient;
|
|
@@ -46,9 +47,11 @@ export class DriftUser {
|
|
|
46
47
|
}
|
|
47
48
|
return Math.round(Math.min(100, Math.max(0, (1 - maintenanceMarginReq.toNumber() / totalCollateral.toNumber()) * 100)));
|
|
48
49
|
}
|
|
49
|
-
getTokenAmount(marketIndex) {
|
|
50
|
+
getTokenAmount(marketIndex, openOrderBalances) {
|
|
50
51
|
if (!this.userAccount)
|
|
51
52
|
throw new Error("DriftUser not initialized");
|
|
53
|
+
if (!openOrderBalances)
|
|
54
|
+
openOrderBalances = getMarketIndicesRecord(ZERO);
|
|
52
55
|
const spotPosition = this.userAccount.spotPositions.find((position) => position.marketIndex === marketIndex);
|
|
53
56
|
if (spotPosition === undefined) {
|
|
54
57
|
return ZERO;
|
|
@@ -56,20 +59,23 @@ export class DriftUser {
|
|
|
56
59
|
const spotMarket = this.driftClient.getSpotMarketAccount(marketIndex);
|
|
57
60
|
if (!spotMarket)
|
|
58
61
|
throw new Error("Spot market not found");
|
|
59
|
-
return getSignedTokenAmount(getTokenAmount(spotPosition.scaledBalance, spotMarket, spotPosition.balanceType), spotPosition.balanceType);
|
|
62
|
+
return getSignedTokenAmount(getTokenAmount(spotPosition.scaledBalance, spotMarket, spotPosition.balanceType), spotPosition.balanceType).sub(openOrderBalances[marketIndex]);
|
|
60
63
|
}
|
|
61
|
-
getWithdrawalLimit(marketIndex, reduceOnly) {
|
|
64
|
+
getWithdrawalLimit(marketIndex, reduceOnly, openOrderBalances) {
|
|
65
|
+
if (!openOrderBalances)
|
|
66
|
+
openOrderBalances = getMarketIndicesRecord(ZERO);
|
|
62
67
|
const nowTs = new BN(Math.floor(Date.now() / 1000));
|
|
63
68
|
const spotMarket = this.driftClient.getSpotMarketAccount(marketIndex);
|
|
64
69
|
if (!spotMarket)
|
|
65
70
|
throw new Error("Spot market not found");
|
|
66
71
|
// eslint-disable-next-line prefer-const
|
|
67
72
|
let { borrowLimit, withdrawLimit } = calculateWithdrawLimit(spotMarket, nowTs);
|
|
68
|
-
const freeCollateral = this.getFreeCollateral("Initial");
|
|
69
|
-
const initialMarginRequirement = this.getMarginRequirement('Initial', undefined, true);
|
|
73
|
+
const freeCollateral = this.getFreeCollateral("Initial", undefined, openOrderBalances);
|
|
74
|
+
const initialMarginRequirement = this.getMarginRequirement('Initial', undefined, true, true, openOrderBalances);
|
|
70
75
|
const oracleData = this.driftClient.getOracleDataForSpotMarket(marketIndex);
|
|
71
76
|
const precisionIncrease = TEN.pow(new BN(spotMarket.decimals - 6));
|
|
72
|
-
|
|
77
|
+
let { canBypass, depositAmount: userDepositAmount } = this.canBypassWithdrawLimits(marketIndex);
|
|
78
|
+
userDepositAmount = userDepositAmount.sub(openOrderBalances[marketIndex]);
|
|
73
79
|
if (canBypass) {
|
|
74
80
|
withdrawLimit = BN.max(withdrawLimit, userDepositAmount);
|
|
75
81
|
}
|
|
@@ -100,11 +106,11 @@ export class DriftUser {
|
|
|
100
106
|
const maxBorrowValue = BN.min(maxWithdrawValue.add(maxLiabilityAllowed), borrowLimit.abs());
|
|
101
107
|
return BN.max(maxBorrowValue, ZERO);
|
|
102
108
|
}
|
|
103
|
-
getFreeCollateral(marginCategory = 'Initial', strict = false) {
|
|
104
|
-
const totalCollateral = this.getTotalCollateralValue(marginCategory, strict);
|
|
109
|
+
getFreeCollateral(marginCategory = 'Initial', strict = false, openOrderBalances) {
|
|
110
|
+
const totalCollateral = this.getTotalCollateralValue(marginCategory, strict, true, openOrderBalances);
|
|
105
111
|
const marginRequirement = marginCategory === 'Initial'
|
|
106
|
-
? this.getMarginRequirement('Initial', undefined, strict, true)
|
|
107
|
-
: this.getInitialMarginRequirement();
|
|
112
|
+
? this.getMarginRequirement('Initial', undefined, strict, true, openOrderBalances)
|
|
113
|
+
: this.getInitialMarginRequirement(openOrderBalances);
|
|
108
114
|
const freeCollateral = totalCollateral.sub(marginRequirement);
|
|
109
115
|
return freeCollateral.gte(ZERO) ? freeCollateral : ZERO;
|
|
110
116
|
}
|
|
@@ -156,18 +162,20 @@ export class DriftUser {
|
|
|
156
162
|
(UserStatus.BEING_LIQUIDATED | UserStatus.BANKRUPT)) >
|
|
157
163
|
0);
|
|
158
164
|
}
|
|
159
|
-
getTotalCollateralValue(marginCategory, strict = false, includeOpenOrders = true) {
|
|
165
|
+
getTotalCollateralValue(marginCategory, strict = false, includeOpenOrders = true, openOrderBalances) {
|
|
160
166
|
if (!this.userAccount)
|
|
161
167
|
throw new Error("DriftUser not initialized");
|
|
162
|
-
return this.getSpotMarketAssetValue(marginCategory, undefined, includeOpenOrders, strict).add(this.getUnrealizedPNL(true, undefined, marginCategory, strict));
|
|
168
|
+
return this.getSpotMarketAssetValue(marginCategory, undefined, includeOpenOrders, strict, undefined, openOrderBalances).add(this.getUnrealizedPNL(true, undefined, marginCategory, strict));
|
|
163
169
|
}
|
|
164
|
-
getSpotMarketAssetValue(marginCategory, marketIndex, includeOpenOrders, strict = false, now) {
|
|
165
|
-
const { totalAssetValue } = this.getSpotMarketAssetAndLiabilityValue(marginCategory, marketIndex, undefined, includeOpenOrders, strict, now);
|
|
170
|
+
getSpotMarketAssetValue(marginCategory, marketIndex, includeOpenOrders, strict = false, now, openOrderBalances) {
|
|
171
|
+
const { totalAssetValue } = this.getSpotMarketAssetAndLiabilityValue(marginCategory, marketIndex, undefined, includeOpenOrders, strict, now, openOrderBalances);
|
|
166
172
|
return totalAssetValue;
|
|
167
173
|
}
|
|
168
|
-
getSpotMarketAssetAndLiabilityValue(marginCategory, marketIndex, liquidationBuffer, includeOpenOrders, strict = false, now = new BN(new Date().getTime() / 1000)) {
|
|
174
|
+
getSpotMarketAssetAndLiabilityValue(marginCategory, marketIndex, liquidationBuffer, includeOpenOrders, strict = false, now = new BN(new Date().getTime() / 1000), openOrderBalances) {
|
|
169
175
|
if (!this.userAccount)
|
|
170
176
|
throw new Error("DriftUser not initialized");
|
|
177
|
+
if (!openOrderBalances)
|
|
178
|
+
openOrderBalances = getMarketIndicesRecord(ZERO);
|
|
171
179
|
let netQuoteValue = ZERO;
|
|
172
180
|
let totalAssetValue = ZERO;
|
|
173
181
|
let totalLiabilityValue = ZERO;
|
|
@@ -190,10 +198,11 @@ export class DriftUser {
|
|
|
190
198
|
);
|
|
191
199
|
}
|
|
192
200
|
const strictOraclePrice = new StrictOraclePrice(oraclePriceData.price, twap5min);
|
|
201
|
+
const tokenAmount = getSignedTokenAmount(getTokenAmount(spotPosition.scaledBalance, spotMarketAccount, spotPosition.balanceType), spotPosition.balanceType).sub(openOrderBalances[spotPosition.marketIndex]);
|
|
202
|
+
const isBorrow = tokenAmount.lt(ZERO);
|
|
193
203
|
if (spotPosition.marketIndex === QUOTE_SPOT_MARKET_INDEX &&
|
|
194
204
|
countForQuote) {
|
|
195
|
-
|
|
196
|
-
if (isVariant(spotPosition.balanceType, 'borrow')) {
|
|
205
|
+
if (isBorrow) {
|
|
197
206
|
const weightedTokenValue = this.getSpotLiabilityValue(tokenAmount, strictOraclePrice, spotMarketAccount, marginCategory, liquidationBuffer).abs();
|
|
198
207
|
netQuoteValue = netQuoteValue.sub(weightedTokenValue);
|
|
199
208
|
}
|
|
@@ -204,18 +213,16 @@ export class DriftUser {
|
|
|
204
213
|
continue;
|
|
205
214
|
}
|
|
206
215
|
if (!includeOpenOrders && countForBase) {
|
|
207
|
-
if (
|
|
208
|
-
const tokenAmount = getSignedTokenAmount(getTokenAmount(spotPosition.scaledBalance, spotMarketAccount, spotPosition.balanceType), SpotBalanceType.BORROW);
|
|
216
|
+
if (isBorrow) {
|
|
209
217
|
const liabilityValue = this.getSpotLiabilityValue(tokenAmount, strictOraclePrice, spotMarketAccount, marginCategory, liquidationBuffer).abs();
|
|
210
218
|
totalLiabilityValue = totalLiabilityValue.add(liabilityValue);
|
|
211
219
|
continue;
|
|
212
220
|
}
|
|
213
|
-
const tokenAmount = getTokenAmount(spotPosition.scaledBalance, spotMarketAccount, spotPosition.balanceType);
|
|
214
221
|
const assetValue = this.getSpotAssetValue(tokenAmount, strictOraclePrice, spotMarketAccount, marginCategory);
|
|
215
222
|
totalAssetValue = totalAssetValue.add(assetValue);
|
|
216
223
|
continue;
|
|
217
224
|
}
|
|
218
|
-
const { tokenAmount: worstCaseTokenAmount, ordersValue: worstCaseQuoteTokenAmount, } = getWorstCaseTokenAmounts(spotPosition, spotMarketAccount, strictOraclePrice, marginCategory ?? "Initial", this.userAccount.maxMarginRatio);
|
|
225
|
+
const { tokenAmount: worstCaseTokenAmount, ordersValue: worstCaseQuoteTokenAmount, } = this.getWorstCaseTokenAmounts(spotPosition, spotMarketAccount, strictOraclePrice, marginCategory ?? "Initial", this.userAccount.maxMarginRatio, openOrderBalances);
|
|
219
226
|
if (worstCaseTokenAmount.gt(ZERO) && countForBase) {
|
|
220
227
|
const baseAssetValue = this.getSpotAssetValue(worstCaseTokenAmount, strictOraclePrice, spotMarketAccount, marginCategory);
|
|
221
228
|
totalAssetValue = totalAssetValue.add(baseAssetValue);
|
|
@@ -250,6 +257,29 @@ export class DriftUser {
|
|
|
250
257
|
}
|
|
251
258
|
return { totalAssetValue, totalLiabilityValue };
|
|
252
259
|
}
|
|
260
|
+
getWorstCaseTokenAmounts(spotPosition, spotMarketAccount, strictOraclePrice, marginCategory, customMarginRatio, openOrderBalances) {
|
|
261
|
+
if (!openOrderBalances)
|
|
262
|
+
openOrderBalances = getMarketIndicesRecord(ZERO);
|
|
263
|
+
const tokenAmount = getSignedTokenAmount(getTokenAmount(spotPosition.scaledBalance, spotMarketAccount, spotPosition.balanceType), spotPosition.balanceType).sub(openOrderBalances[spotPosition.marketIndex]);
|
|
264
|
+
const tokenValue = getStrictTokenValue(tokenAmount, spotMarketAccount.decimals, strictOraclePrice);
|
|
265
|
+
if (spotPosition.openBids.eq(ZERO) && spotPosition.openAsks.eq(ZERO)) {
|
|
266
|
+
const { weight, weightedTokenValue } = calculateWeightedTokenValue(tokenAmount, tokenValue, strictOraclePrice.current, spotMarketAccount, marginCategory, customMarginRatio);
|
|
267
|
+
return {
|
|
268
|
+
tokenAmount,
|
|
269
|
+
ordersValue: ZERO,
|
|
270
|
+
tokenValue,
|
|
271
|
+
weight,
|
|
272
|
+
weightedTokenValue,
|
|
273
|
+
freeCollateralContribution: weightedTokenValue,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
const bidsSimulation = simulateOrderFill(tokenAmount, tokenValue, spotPosition.openBids, strictOraclePrice, spotMarketAccount, marginCategory, customMarginRatio);
|
|
277
|
+
const asksSimulation = simulateOrderFill(tokenAmount, tokenValue, spotPosition.openAsks, strictOraclePrice, spotMarketAccount, marginCategory, customMarginRatio);
|
|
278
|
+
if (asksSimulation.freeCollateralContribution.lt(bidsSimulation.freeCollateralContribution)) {
|
|
279
|
+
return asksSimulation;
|
|
280
|
+
}
|
|
281
|
+
return bidsSimulation;
|
|
282
|
+
}
|
|
253
283
|
getSpotLiabilityValue(tokenAmount, strictOraclePrice, spotMarketAccount, marginCategory, liquidationBuffer) {
|
|
254
284
|
if (!this.userAccount)
|
|
255
285
|
throw new Error("DriftUser not initialized");
|
|
@@ -526,7 +556,7 @@ export class DriftUser {
|
|
|
526
556
|
const clonedPosition = Object.assign({}, position);
|
|
527
557
|
return clonedPosition;
|
|
528
558
|
}
|
|
529
|
-
getInitialMarginRequirement() {
|
|
559
|
+
getInitialMarginRequirement(openOrderBalances) {
|
|
530
560
|
if (!this.userAccount)
|
|
531
561
|
throw new Error("DriftUser not initialized");
|
|
532
562
|
// if user being liq'd, can continue to be liq'd until total collateral above the margin requirement plus buffer
|
|
@@ -534,10 +564,10 @@ export class DriftUser {
|
|
|
534
564
|
if (this.isBeingLiquidated()) {
|
|
535
565
|
liquidationBuffer = new BN(this.driftClient.getStateAccount().liquidationMarginBufferRatio);
|
|
536
566
|
}
|
|
537
|
-
return this.getMarginRequirement('Initial', liquidationBuffer);
|
|
567
|
+
return this.getMarginRequirement('Initial', liquidationBuffer, false, true, openOrderBalances);
|
|
538
568
|
}
|
|
539
|
-
getMarginRequirement(marginCategory, liquidationBuffer, strict = false, includeOpenOrders = true) {
|
|
540
|
-
return this.getTotalPerpPositionLiability(marginCategory, liquidationBuffer, includeOpenOrders, strict).add(this.getSpotMarketLiabilityValue(marginCategory, undefined, liquidationBuffer, includeOpenOrders, strict));
|
|
569
|
+
getMarginRequirement(marginCategory, liquidationBuffer, strict = false, includeOpenOrders = true, openOrderBalances) {
|
|
570
|
+
return this.getTotalPerpPositionLiability(marginCategory, liquidationBuffer, includeOpenOrders, strict).add(this.getSpotMarketLiabilityValue(marginCategory, undefined, liquidationBuffer, includeOpenOrders, strict, undefined, openOrderBalances));
|
|
541
571
|
}
|
|
542
572
|
getTotalPerpPositionLiability(marginCategory, liquidationBuffer, includeOpenOrders, strict = false) {
|
|
543
573
|
return this.getActivePerpPositions().reduce((totalPerpValue, perpPosition) => {
|
|
@@ -607,8 +637,8 @@ export class DriftUser {
|
|
|
607
637
|
}
|
|
608
638
|
return liabilityValue;
|
|
609
639
|
}
|
|
610
|
-
getSpotMarketLiabilityValue(marginCategory, marketIndex, liquidationBuffer, includeOpenOrders, strict = false, now) {
|
|
611
|
-
const { totalLiabilityValue } = this.getSpotMarketAssetAndLiabilityValue(marginCategory, marketIndex, liquidationBuffer, includeOpenOrders, strict, now);
|
|
640
|
+
getSpotMarketLiabilityValue(marginCategory, marketIndex, liquidationBuffer, includeOpenOrders, strict = false, now, openOrderBalances) {
|
|
641
|
+
const { totalLiabilityValue } = this.getSpotMarketAssetAndLiabilityValue(marginCategory, marketIndex, liquidationBuffer, includeOpenOrders, strict, now, openOrderBalances);
|
|
612
642
|
return totalLiabilityValue;
|
|
613
643
|
}
|
|
614
644
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DriftUser.class.js","sourceRoot":"","sources":["../../../src/types/classes/DriftUser.class.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DriftUser.class.js","sourceRoot":"","sources":["../../../src/types/classes/DriftUser.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Token.interface.d.ts","sourceRoot":"","sources":["../../../src/types/interfaces/Token.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,OAAO,CAAC;AAE5B,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,EAAE,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"Token.interface.d.ts","sourceRoot":"","sources":["../../../src/types/interfaces/Token.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,OAAO,CAAC;AAE5B,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,EAAE,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC5B"}
|
package/dist/user.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ import type { PublicKey } from "@solana/web3.js";
|
|
|
6
6
|
import BN from "bn.js";
|
|
7
7
|
import { type MarketIndex } from "./config/tokens.js";
|
|
8
8
|
import { Keypair } from "@solana/web3.js";
|
|
9
|
+
import type { QuartzClient } from "./client.js";
|
|
10
|
+
import type { WithdrawOrder } from "./index.browser.js";
|
|
9
11
|
export declare class QuartzUser {
|
|
10
12
|
readonly pubkey: PublicKey;
|
|
11
13
|
readonly vaultPubkey: PublicKey;
|
|
@@ -17,19 +19,21 @@ export declare class QuartzUser {
|
|
|
17
19
|
private connection;
|
|
18
20
|
private program;
|
|
19
21
|
private quartzLookupTable;
|
|
22
|
+
private client;
|
|
20
23
|
private driftUser;
|
|
21
24
|
private driftSigner;
|
|
22
|
-
constructor(pubkey: PublicKey, connection: Connection, program: Program<Quartz>, quartzLookupTable: AddressLookupTableAccount, driftClient: DriftClient, driftUserAccount: UserAccount, spendLimitPerTransaction: BN, spendLimitPerTimeframe: BN, remainingSpendLimitPerTimeframe: BN, nextTimeframeResetTimeframe: BN, timeframeInSeconds: BN);
|
|
25
|
+
constructor(pubkey: PublicKey, connection: Connection, client: QuartzClient, program: Program<Quartz>, quartzLookupTable: AddressLookupTableAccount, driftClient: DriftClient, driftUserAccount: UserAccount, spendLimitPerTransaction: BN, spendLimitPerTimeframe: BN, remainingSpendLimitPerTimeframe: BN, nextTimeframeResetTimeframe: BN, timeframeInSeconds: BN);
|
|
23
26
|
getHealth(): number;
|
|
24
|
-
getRepayUsdcValueForTargetHealth(targetHealth: number, repayAssetWeight: number, repayLiabilityWeight: number): number
|
|
25
|
-
getTotalCollateralValue(): number
|
|
26
|
-
getTotalWeightedCollateralValue(): number
|
|
27
|
-
getMarginRequirement(): number
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
getRepayUsdcValueForTargetHealth(targetHealth: number, repayAssetWeight: number, repayLiabilityWeight: number): Promise<number>;
|
|
28
|
+
getTotalCollateralValue(openWithdrawOrders?: WithdrawOrder[]): Promise<number>;
|
|
29
|
+
getTotalWeightedCollateralValue(openWithdrawOrders?: WithdrawOrder[]): Promise<number>;
|
|
30
|
+
getMarginRequirement(openWithdrawOrders?: WithdrawOrder[]): Promise<number>;
|
|
31
|
+
getAvailableCreditUsdcBaseUnits(openWithdrawOrders?: WithdrawOrder[]): Promise<number>;
|
|
32
|
+
private validateOpenWithdrawOrders;
|
|
33
|
+
getTokenBalance(spotMarketIndex: number, openWithdrawOrders?: WithdrawOrder[]): Promise<BN>;
|
|
34
|
+
getMultipleTokenBalances(marketIndices: MarketIndex[], openWithdrawOrders?: WithdrawOrder[]): Promise<Record<MarketIndex, BN>>;
|
|
35
|
+
getWithdrawalLimit(spotMarketIndex: MarketIndex, reduceOnly?: boolean, openWithdrawOrders?: WithdrawOrder[]): Promise<number>;
|
|
36
|
+
getMultipleWithdrawalLimits(spotMarketIndices: MarketIndex[], reduceOnly?: boolean, openWithdrawOrders?: WithdrawOrder[]): Promise<Record<MarketIndex, number>>;
|
|
33
37
|
getLookupTables(): Promise<AddressLookupTableAccount[]>;
|
|
34
38
|
/**
|
|
35
39
|
* Creates instructions to close a Quartz user account. This cannot be undone.
|
|
@@ -186,7 +190,7 @@ export declare class QuartzUser {
|
|
|
186
190
|
* - ixs: Array of instructions to adjust the spend limits.
|
|
187
191
|
* - lookupTables: Array of lookup tables for building VersionedTransaction.
|
|
188
192
|
* - signers: Array of signer keypairs that must sign the transaction the instructions are added to.
|
|
189
|
-
* @throw Error if the RPC connection fails.
|
|
193
|
+
* @throw Error if the RPC connection fails. Or if the spend limits are invalid.
|
|
190
194
|
*/
|
|
191
195
|
makeInitiateSpendLimitsIxs(spendLimitPerTransaction: BN, spendLimitPerTimeframe: BN, timeframeInSeconds: BN, nextTimeframeResetTimestamp: BN, paidByUser?: boolean): Promise<{
|
|
192
196
|
ixs: TransactionInstruction[];
|
package/dist/user.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,sBAAsB,EAAG,MAAM,iBAAiB,CAAC;AAEtG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAG,MAAM,iBAAiB,CAAC;AAMlD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"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"}
|
package/dist/user.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DriftUser } from "./types/classes/DriftUser.class.js";
|
|
2
2
|
import { DRIFT_PROGRAM_ID, MARKET_INDEX_USDC, MESSAGE_TRANSMITTER_PROGRAM_ID, SPEND_FEE_DESTINATION, TOKEN_MESSAGE_MINTER_PROGRAM_ID, } from "./config/constants.js";
|
|
3
3
|
import { getDriftSpotMarketVaultPublicKey, getDriftStatePublicKey, getPythOracle, getDriftSignerPublicKey, getVaultPublicKey, getVaultSplPublicKey, getCollateralRepayLedgerPublicKey, getBridgeRentPayerPublicKey, getLocalToken, getTokenMinter, getRemoteTokenMessenger, getTokenMessenger, getSenderAuthority, getMessageTransmitter, getEventAuthority, getInitRentPayerPublicKey, getSpendMulePda, getTimeLockRentPayerPublicKey } from "./utils/accounts.js";
|
|
4
|
-
import { getTokenProgram, } from "./utils/helpers.js";
|
|
4
|
+
import { calculateWithdrawOrderBalances, getTokenProgram, } from "./utils/helpers.js";
|
|
5
5
|
import { getAssociatedTokenAddress, TOKEN_PROGRAM_ID, } from "@solana/spl-token";
|
|
6
6
|
import { SystemProgram, SYSVAR_INSTRUCTIONS_PUBKEY } from "@solana/web3.js";
|
|
7
7
|
import { ASSOCIATED_TOKEN_PROGRAM_ID } from "@solana/spl-token";
|
|
@@ -19,11 +19,13 @@ export class QuartzUser {
|
|
|
19
19
|
connection;
|
|
20
20
|
program;
|
|
21
21
|
quartzLookupTable;
|
|
22
|
+
client;
|
|
22
23
|
driftUser;
|
|
23
24
|
driftSigner;
|
|
24
|
-
constructor(pubkey, connection, program, quartzLookupTable, driftClient, driftUserAccount, spendLimitPerTransaction, spendLimitPerTimeframe, remainingSpendLimitPerTimeframe, nextTimeframeResetTimeframe, timeframeInSeconds) {
|
|
25
|
+
constructor(pubkey, connection, client, program, quartzLookupTable, driftClient, driftUserAccount, spendLimitPerTransaction, spendLimitPerTimeframe, remainingSpendLimitPerTimeframe, nextTimeframeResetTimeframe, timeframeInSeconds) {
|
|
25
26
|
this.pubkey = pubkey;
|
|
26
27
|
this.connection = connection;
|
|
28
|
+
this.client = client;
|
|
27
29
|
this.program = program;
|
|
28
30
|
this.quartzLookupTable = quartzLookupTable;
|
|
29
31
|
this.vaultPubkey = getVaultPublicKey(pubkey);
|
|
@@ -38,7 +40,7 @@ export class QuartzUser {
|
|
|
38
40
|
getHealth() {
|
|
39
41
|
return this.driftUser.getHealth();
|
|
40
42
|
}
|
|
41
|
-
getRepayUsdcValueForTargetHealth(targetHealth, repayAssetWeight, repayLiabilityWeight) {
|
|
43
|
+
async getRepayUsdcValueForTargetHealth(targetHealth, repayAssetWeight, repayLiabilityWeight) {
|
|
42
44
|
// New Quartz health after repayment is given as:
|
|
43
45
|
//
|
|
44
46
|
// marginRequirement - (repayValue * repayLiabilityWeight)
|
|
@@ -61,44 +63,64 @@ export class QuartzUser {
|
|
|
61
63
|
throw new Error("Repay liability weight must be a whole number");
|
|
62
64
|
if (targetHealth <= this.getHealth())
|
|
63
65
|
throw Error("Target health must be greater than current health");
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
+
const openOrders = []; // Ignore orders for liquidation
|
|
67
|
+
const currentWeightedCollateral = await this.getTotalWeightedCollateralValue(openOrders);
|
|
68
|
+
const marginRequirement = await this.getMarginRequirement(openOrders);
|
|
66
69
|
const targetHealthDecimal = targetHealth / 100;
|
|
67
70
|
const repayAssetWeightDecimal = repayAssetWeight / 100;
|
|
68
71
|
const repayLiabilityWeightDecimal = repayLiabilityWeight / 100;
|
|
69
72
|
const repayValueUsdcBaseUnits = Math.round((currentWeightedCollateral * (targetHealthDecimal - 1) + marginRequirement) / (repayAssetWeightDecimal * (targetHealthDecimal - 1) + repayLiabilityWeightDecimal));
|
|
70
73
|
return repayValueUsdcBaseUnits;
|
|
71
74
|
}
|
|
72
|
-
getTotalCollateralValue() {
|
|
73
|
-
|
|
75
|
+
async getTotalCollateralValue(openWithdrawOrders) {
|
|
76
|
+
openWithdrawOrders = await this.validateOpenWithdrawOrders(openWithdrawOrders);
|
|
77
|
+
const openOrderBalances = calculateWithdrawOrderBalances(openWithdrawOrders);
|
|
78
|
+
return this.driftUser.getTotalCollateralValue(undefined, false, true, openOrderBalances).toNumber();
|
|
74
79
|
}
|
|
75
|
-
getTotalWeightedCollateralValue() {
|
|
76
|
-
|
|
80
|
+
async getTotalWeightedCollateralValue(openWithdrawOrders) {
|
|
81
|
+
openWithdrawOrders = await this.validateOpenWithdrawOrders(openWithdrawOrders);
|
|
82
|
+
const openOrderBalances = calculateWithdrawOrderBalances(openWithdrawOrders);
|
|
83
|
+
return this.driftUser.getTotalCollateralValue("Initial", false, true, openOrderBalances).toNumber();
|
|
77
84
|
}
|
|
78
|
-
getMarginRequirement() {
|
|
79
|
-
|
|
85
|
+
async getMarginRequirement(openWithdrawOrders) {
|
|
86
|
+
openWithdrawOrders = await this.validateOpenWithdrawOrders(openWithdrawOrders);
|
|
87
|
+
const openOrderBalances = calculateWithdrawOrderBalances(openWithdrawOrders);
|
|
88
|
+
return this.driftUser.getInitialMarginRequirement(openOrderBalances).toNumber();
|
|
80
89
|
}
|
|
81
|
-
|
|
82
|
-
return this.
|
|
90
|
+
async getAvailableCreditUsdcBaseUnits(openWithdrawOrders) {
|
|
91
|
+
return await this.getWithdrawalLimit(MARKET_INDEX_USDC, false, openWithdrawOrders);
|
|
83
92
|
}
|
|
84
|
-
async
|
|
85
|
-
|
|
93
|
+
async validateOpenWithdrawOrders(openWithdrawOrders) {
|
|
94
|
+
if (openWithdrawOrders === undefined) {
|
|
95
|
+
return await this.client.getOpenWithdrawOrders(this.pubkey);
|
|
96
|
+
}
|
|
97
|
+
return openWithdrawOrders
|
|
98
|
+
.filter(order => order.timeLock.owner.equals(this.pubkey));
|
|
99
|
+
}
|
|
100
|
+
async getTokenBalance(spotMarketIndex, openWithdrawOrders) {
|
|
101
|
+
openWithdrawOrders = await this.validateOpenWithdrawOrders(openWithdrawOrders);
|
|
102
|
+
const openOrderBalances = calculateWithdrawOrderBalances(openWithdrawOrders);
|
|
103
|
+
return this.driftUser.getTokenAmount(spotMarketIndex, openOrderBalances);
|
|
86
104
|
}
|
|
87
|
-
async getMultipleTokenBalances(marketIndices) {
|
|
105
|
+
async getMultipleTokenBalances(marketIndices, openWithdrawOrders) {
|
|
106
|
+
openWithdrawOrders = await this.validateOpenWithdrawOrders(openWithdrawOrders);
|
|
88
107
|
const balancesArray = await Promise.all(marketIndices.map(async (index) => ({
|
|
89
108
|
index,
|
|
90
|
-
balance: await this.getTokenBalance(index)
|
|
109
|
+
balance: await this.getTokenBalance(index, openWithdrawOrders)
|
|
91
110
|
})));
|
|
92
111
|
const balances = balancesArray.reduce((acc, { index, balance }) => Object.assign(acc, { [index]: balance }), {});
|
|
93
112
|
return balances;
|
|
94
113
|
}
|
|
95
|
-
async getWithdrawalLimit(spotMarketIndex, reduceOnly = false) {
|
|
96
|
-
|
|
114
|
+
async getWithdrawalLimit(spotMarketIndex, reduceOnly = false, openWithdrawOrders) {
|
|
115
|
+
openWithdrawOrders = await this.validateOpenWithdrawOrders(openWithdrawOrders);
|
|
116
|
+
const openOrderBalances = calculateWithdrawOrderBalances(openWithdrawOrders);
|
|
117
|
+
return this.driftUser.getWithdrawalLimit(spotMarketIndex, reduceOnly, openOrderBalances).toNumber();
|
|
97
118
|
}
|
|
98
|
-
async getMultipleWithdrawalLimits(spotMarketIndices, reduceOnly = false) {
|
|
119
|
+
async getMultipleWithdrawalLimits(spotMarketIndices, reduceOnly = false, openWithdrawOrders) {
|
|
120
|
+
openWithdrawOrders = await this.validateOpenWithdrawOrders(openWithdrawOrders);
|
|
99
121
|
const limitsArray = await Promise.all(spotMarketIndices.map(async (index) => ({
|
|
100
122
|
index,
|
|
101
|
-
limit: await this.getWithdrawalLimit(index, reduceOnly)
|
|
123
|
+
limit: await this.getWithdrawalLimit(index, reduceOnly, openWithdrawOrders)
|
|
102
124
|
})));
|
|
103
125
|
const limits = limitsArray.reduce((acc, { index, limit }) => Object.assign(acc, { [index]: limit }), {});
|
|
104
126
|
return limits;
|
|
@@ -419,7 +441,7 @@ export class QuartzUser {
|
|
|
419
441
|
* - ixs: Array of instructions to adjust the spend limits.
|
|
420
442
|
* - lookupTables: Array of lookup tables for building VersionedTransaction.
|
|
421
443
|
* - signers: Array of signer keypairs that must sign the transaction the instructions are added to.
|
|
422
|
-
* @throw Error if the RPC connection fails.
|
|
444
|
+
* @throw Error if the RPC connection fails. Or if the spend limits are invalid.
|
|
423
445
|
*/
|
|
424
446
|
async makeInitiateSpendLimitsIxs(spendLimitPerTransaction, spendLimitPerTimeframe, timeframeInSeconds, nextTimeframeResetTimestamp, paidByUser = false) {
|
|
425
447
|
const orderAccount = Keypair.generate();
|
package/dist/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,+BAA+B,GAAG,MAAM,uBAAuB,CAAC;AAIrK,OAAO,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,2BAA2B,EAAE,aAAa,EAAE,cAAc,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpc,OAAO,EAAE,eAAe,GAAG,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,GAAG,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,MAAM,EAAoB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,OAAO,UAAU;IACH,MAAM,CAAY;IAClB,WAAW,CAAY;IAEvB,wBAAwB,CAAK;IAC7B,sBAAsB,CAAK;IAC3B,+BAA+B,CAAK;IACpC,2BAA2B,CAAK;IAChC,kBAAkB,CAAK;IAE/B,UAAU,CAAa;IACvB,OAAO,CAAkB;IACzB,iBAAiB,CAA4B;IAE7C,SAAS,CAAY;IACrB,WAAW,CAAY;IAE/B,YACI,MAAiB,EACjB,UAAsB,EACtB,OAAwB,EACxB,iBAA4C,EAC5C,WAAwB,EACxB,gBAA6B,EAC7B,wBAA4B,EAC5B,sBAA0B,EAC1B,+BAAmC,EACnC,2BAA+B,EAC/B,kBAAsB;QAEtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAE3C,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,uBAAuB,EAAE,CAAC;QAE7C,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,+BAA+B,GAAG,+BAA+B,CAAC;QACvE,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAE7C,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAC1B,IAAI,CAAC,WAAW,EAChB,WAAW,EACX,gBAAgB,CACnB,CAAC;IACN,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;IAEM,gCAAgC,CACnC,YAAoB,EACpB,gBAAwB,EACxB,oBAA4B;QAE5B,iDAAiD;QACjD,GAAG;QACH,kFAAkF;QAClF,oFAAoF;QACpF,oFAAoF;QACpF,EAAE;QACF,uEAAuE;QACvE,sGAAsG;QAEtG,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,GAAG;YAAE,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC7G,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAE7F,IAAI,gBAAgB,GAAG,CAAC,IAAI,gBAAgB,GAAG,GAAG;YAAE,MAAM,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC/H,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAE3G,IAAI,oBAAoB,GAAG,GAAG;YAAE,MAAM,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACtG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAE9G,IAAI,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAEvG,MAAM,yBAAyB,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACtD,MAAM,mBAAmB,GAAG,YAAY,GAAG,GAAG,CAAC;QAC/C,MAAM,uBAAuB,GAAG,gBAAgB,GAAG,GAAG,CAAC;QACvD,MAAM,2BAA2B,GAAG,oBAAoB,GAAG,GAAG,CAAC;QAE/D,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CACtC,CACI,yBAAyB,GAAG,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAC5E,GAAG,CACA,uBAAuB,GAAG,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,2BAA2B,CACpF,CACJ,CAAC;QAEF,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAEM,uBAAuB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,2BAA2B;IAC3F,CAAC;IAEM,+BAA+B;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxE,CAAC;IAEM,oBAAoB;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE,CAAC,QAAQ,EAAE,CAAC;IACnE,CAAC;IAEM,gCAAgC;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClE,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,eAAuB;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,aAA4B;QAC9D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC;YAC9B,KAAK;YACL,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;SAC7C,CAAC,CAAC,CACN,CAAC;QAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAC1C,EAAE,EAA6B,CAAC,CAAC;QAElC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC3B,eAAuB,EACvB,UAAU,GAAG,KAAK;QAElB,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrF,CAAC;IAEM,KAAK,CAAC,2BAA2B,CACpC,iBAAgC,EAChC,UAAU,GAAG,KAAK;QAElB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC;YAClC,KAAK;YACL,KAAK,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;SAC1D,CAAC,CAAC,CACN,CAAC;QAEF,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACxD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CACxC,EAAE,EAAiC,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD,uBAAuB;IAEhB,KAAK,CAAC,eAAe;QACxB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,mBAAmB;QAK5B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC3C,SAAS,EAAE;aACX,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,aAAa,EAAE,yBAAyB,EAAE;YAC1C,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YAC1C,UAAU,EAAE,sBAAsB,EAAE;YACpC,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,aAAa,CAAC;YACpB,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,qBAAqB,CAC9B,wBAA4B,EAC5B,sBAA0B,EAC1B,kBAAsB,EACtB,2BAA+B;QAM/B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC/C,YAAY,CACT,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,CAC9B;aACA,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,aAAa,EAAE,yBAAyB,EAAE;YAC1C,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,iBAAiB,CAAC;YACxB,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,aAAa,CACtB,eAAuB,EACvB,WAAwB,EACxB,UAAmB;QAMnB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAEzF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAChC,OAAO,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC;aACzD,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YAC1C,UAAU,EAAE,sBAAsB,EAAE;YACpC,eAAe,EAAE,gCAAgC,CAAC,WAAW,CAAC;YAC9D,YAAY,EAAE,YAAY;YAC1B,sBAAsB,EAAE,2BAA2B;YACnD,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,iBAAiB,CACd,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,CACnD;aACA,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC5B,eAAuB,EACvB,WAAwB,EACxB,UAAmB,EACnB,MAAiB;QAMjB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAErF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAChC,aAAa,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC;aAC/D,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YAC1C,UAAU,EAAE,sBAAsB,EAAE;YACpC,eAAe,EAAE,gCAAgC,CAAC,WAAW,CAAC;YAC9D,YAAY,EAAE,YAAY;YAC1B,sBAAsB,EAAE,2BAA2B;YACnD,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,iBAAiB,CACd,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,CACnD;aACA,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAGD;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,cAAc,CACvB,eAAuB,EACvB,WAAwB,EACxB,UAAmB;QAMnB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAEzF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAChC,QAAQ,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC;aAC1D,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YAC1C,UAAU,EAAE,sBAAsB,EAAE;YACpC,eAAe,EAAE,gCAAgC,CAAC,WAAW,CAAC;YAC9D,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,YAAY;YAC1B,sBAAsB,EAAE,2BAA2B;YACnD,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,iBAAiB,CACd,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,CACnD;aACA,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;MAcE;IACK,KAAK,CAAC,sBAAsB,CAC/B,eAAuB,EACvB,WAAwB,EACxB,UAAmB,EACnB,UAAU,GAAG,KAAK;QAMlB,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,UAAU;YAChC,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,6BAA6B,EAAE,CAAC;QAEtC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAChC,gBAAgB,CACb,IAAI,EAAE,CAAC,eAAe,CAAC,EACvB,WAAW,EACX,UAAU,CACb;aACA,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,aAAa,EAAE,YAAY,CAAC,SAAS;YACrC,iBAAiB,EAAE,iBAAiB;YACpC,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,oBAAoB,CAC7B,YAAuB;QAMvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE3E,MAAM,WAAW,GAAG,KAAK,CAAC,gBAA+B,CAAC;QAC1D,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY;YACjD,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,6BAA6B,EAAE,CAAC;QAEtC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAEzF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAChC,cAAc,EAAE;aAChB,QAAQ,CAAC;YACN,aAAa,EAAE,YAAY;YAC3B,iBAAiB,EAAE,iBAAiB;YACpC,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YAC1C,UAAU,EAAE,sBAAsB,EAAE;YACpC,eAAe,EAAE,gCAAgC,CAAC,WAAW,CAAC;YAC9D,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,YAAY;YAC1B,sBAAsB,EAAE,2BAA2B;YACnD,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,iBAAiB,CACd,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,CACnD;aACA,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,wBAAwB,CACjC,wBAA4B,EAC5B,sBAA0B,EAC1B,kBAAsB,EACtB,2BAA+B;QAM/B,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAClD,iBAAiB,CACd,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,CAC9B;aACA,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM;SACrB,CAAC;aACD,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,oBAAoB,CAAC;YAC3B,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;MAeE;IACK,KAAK,CAAC,0BAA0B,CACnC,wBAA4B,EAC5B,sBAA0B,EAC1B,kBAAsB,EACtB,2BAA+B,EAC/B,UAAU,GAAG,KAAK;QAMlB,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,UAAU;YAChC,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,6BAA6B,EAAE,CAAC;QAEtC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAChC,mBAAmB,CAChB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,CAC9B;aACA,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,gBAAgB,EAAE,YAAY,CAAC,SAAS;YACxC,iBAAiB,EAAE,iBAAiB;YACpC,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;MAYE;IACK,KAAK,CAAC,uBAAuB,CAChC,YAAuB;QAMvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9E,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY;YACjD,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,6BAA6B,EAAE,CAAC;QAEtC,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAClD,iBAAiB,EAAE;aACnB,QAAQ,CAAC;YACN,gBAAgB,EAAE,YAAY;YAC9B,iBAAiB,EAAE,iBAAiB;YACpC,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,oBAAoB,CAAC;YAC3B,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;MAgBE;IACK,KAAK,CAAC,YAAY,CACrB,eAAuB,EACvB,WAAoB,EACpB,QAAiB;QAMjB,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEhD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC3C,UAAU,CACP,IAAI,EAAE,CAAC,eAAe,CAAC,EACvB,QAAQ,CACX;aACA,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,WAAW,EAAE,WAAW,CAAC,SAAS;YAClC,mBAAmB,EAAE,qBAAqB;YAC1C,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI;YACxC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YAC1C,UAAU,EAAE,sBAAsB,EAAE;YACpC,eAAe,EAAE,gCAAgC,CAAC,iBAAiB,CAAC;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,gBAAgB;YAC9B,sBAAsB,EAAE,2BAA2B;YACnD,YAAY,EAAE,gBAAgB;YAC9B,YAAY,EAAE,0BAA0B;YACxC,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,iBAAiB,CACd,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CACzD;aACA,WAAW,EAAE,CAAC;QAEnB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9C,aAAa,EAAE;aACf,QAAQ,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,WAAW,EAAE,WAAW,CAAC,SAAS;YAClC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI;YACxC,eAAe,EAAE,2BAA2B,EAAE;YAC9C,kBAAkB,EAAE,kBAAkB,EAAE;YACxC,kBAAkB,EAAE,qBAAqB,EAAE;YAC3C,cAAc,EAAE,iBAAiB,EAAE;YACnC,oBAAoB,EAAE,uBAAuB,EAAE;YAC/C,WAAW,EAAE,cAAc,EAAE;YAC7B,UAAU,EAAE,aAAa,EAAE;YAC3B,oBAAoB,EAAE,oBAAoB,CAAC,SAAS;YACpD,cAAc,EAAE,iBAAiB,EAAE;YACnC,yBAAyB,EAAE,8BAA8B;YACzD,2BAA2B,EAAE,+BAA+B;YAC5D,YAAY,EAAE,gBAAgB;YAC9B,sBAAsB,EAAE,2BAA2B;YACnD,YAAY,EAAE,0BAA0B;YACxC,aAAa,EAAE,aAAa,CAAC,SAAS;SACzC,CAAC;aACD,WAAW,EAAE,CAAC;QAEnB,OAAO;YACH,GAAG,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC;YACtC,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,CAAC,WAAW,EAAE,oBAAoB,CAAC;SAC/C,CAAA;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,KAAK,CAAC,sBAAsB,CAC/B,MAAiB,EACjB,kBAA+B,EAC/B,mBAAgC,EAChC,eAAuC,EACvC,qBAAqB,GAAG,KAAK;QAM7B,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;QACpD,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC;QAEtD,MAAM,CACF,mBAAmB,EACnB,oBAAoB,CACvB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClB,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;YAC7C,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;SACjD,CAAC,CAAC;QAEH,MAAM,CACF,gBAAgB,EAChB,iBAAiB,CACpB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC;YAC1E,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,CAAC;SAC/E,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;QAC5C,MAAM,qBAAqB,GAAG,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE7E,MAAM,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;aACnD,oBAAoB,EAAE;aACtB,QAAQ,CAAC;YACN,MAAM,EAAE,MAAM;YACd,gBAAgB,EAAE,gBAAgB;YAClC,iBAAiB,EAAE,iBAAiB;YACpC,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;YAC1B,mBAAmB,EAAE,mBAAmB;YACxC,oBAAoB,EAAE,oBAAoB;YAC1C,aAAa,EAAE,aAAa,CAAC,SAAS;YACtC,YAAY,EAAE,0BAA0B;YACxC,MAAM,EAAE,qBAAqB;SAChC,CAAC;aACD,WAAW,EAAE,CAAC;QAEnB,MAAM,6BAA6B,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;aACrD,sBAAsB,CAAC,kBAAkB,CAAC;aAC1C,QAAQ,CAAC;YACN,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,gBAAgB;YAC3B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;YACxD,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YAC1C,UAAU,EAAE,UAAU;YACtB,eAAe,EAAE,gCAAgC,CAAC,kBAAkB,CAAC;YACrE,YAAY,EAAE,mBAAmB;YACjC,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,aAAa,CAAC,SAAS;YACtC,YAAY,EAAE,0BAA0B;YACxC,MAAM,EAAE,qBAAqB;SAChC,CAAC;aACD,iBAAiB,CACd,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAC1D;aACA,WAAW,EAAE,CAAC;QAEnB,MAAM,8BAA8B,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;aACtD,uBAAuB,CAAC,mBAAmB,CAAC;aAC5C,QAAQ,CAAC;YACN,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,iBAAiB;YAC5B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;YACzD,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YAC1C,UAAU,EAAE,UAAU;YACtB,eAAe,EAAE,gCAAgC,CAAC,mBAAmB,CAAC;YACtE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,oBAAoB;YAClC,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,aAAa,CAAC,SAAS;YACtC,kBAAkB,EAAE,aAAa,CAAC,kBAAkB,CAAC;YACrD,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,CAAC;YACvD,YAAY,EAAE,0BAA0B;YACxC,MAAM,EAAE,qBAAqB;SAChC,CAAC;aACD,iBAAiB,CACd,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAC3D;aACA,WAAW,EAAE,CAAC;QAEnB,MAAM,CACF,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,CAC7B,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClB,2BAA2B;YAC3B,6BAA6B;YAC7B,8BAA8B;SACjC,CAAC,CAAC;QAEH,4DAA4D;QAC5D,IAAI,qBAAqB,EAAE,CAAC;YACxB,KAAK,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,0BAA0B,CAAC,EAAE,CAAC;gBAChG,MAAM,gBAAgB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7E,IAAI,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrC,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO;YACH,GAAG,EAAE;gBACD,uBAAuB;gBACvB,eAAe;gBACf,yBAAyB;gBACzB,0BAA0B;aAC7B;YACD,YAAY,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { AccountMeta } from "../types/interfaces/AccountMeta.interface.js";
|
|
|
3
3
|
import { MarketIndex } from "../config/tokens.js";
|
|
4
4
|
import type { AddressLookupTableAccount } from "@solana/web3.js";
|
|
5
5
|
import { VersionedTransaction } from "@solana/web3.js";
|
|
6
|
+
import { type BN, type WithdrawOrder } from "../index.browser.js";
|
|
6
7
|
export declare function getComputeUnitLimit(connection: Connection, instructions: TransactionInstruction[], address: PublicKey, blockhash: string, lookupTables?: AddressLookupTableAccount[]): Promise<number>;
|
|
7
8
|
export declare function getComputerUnitLimitIx(connection: Connection, instructions: TransactionInstruction[], address: PublicKey, blockhash: string, lookupTables?: AddressLookupTableAccount[]): Promise<TransactionInstruction>;
|
|
8
9
|
export declare function getComputeUnitPrice(connection: Connection, instructions: TransactionInstruction[]): Promise<number>;
|
|
@@ -16,4 +17,5 @@ export declare function decimalToBaseUnit(decimal: number, marketIndex: MarketIn
|
|
|
16
17
|
export declare function isMarketIndex(index: number): boolean;
|
|
17
18
|
export declare function retryWithBackoff<T>(fn: () => Promise<T>, retries?: number, initialDelay?: number, retryCallback?: (error: unknown, delayMs: number) => void): Promise<T>;
|
|
18
19
|
export declare function evmAddressToSolana(evmAddress: string): PublicKey;
|
|
20
|
+
export declare function calculateWithdrawOrderBalances(withdrawOrders: WithdrawOrder[]): Record<MarketIndex, BN>;
|
|
19
21
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,sBAAsB,EAAG,MAAM,iBAAiB,CAAC;AACjH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,sBAAsB,EAAG,MAAM,iBAAiB,CAAC;AACjH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAA0B,WAAW,EAAU,MAAM,qBAAqB,CAAC;AAElF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,EAAgE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEhI,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,sBAAsB,EAAE,EACtC,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,yBAAyB,EAAO,mBAiBjD;AAED,wBAAsB,sBAAsB,CACxC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,sBAAsB,EAAE,EACtC,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,yBAAyB,EAAO,mCAMjD;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,sBAAsB,EAAE,mBA6BvG;AAED,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,sBAAsB,EAAE,mCAKzG;AAED,wBAAsB,gBAAgB,CAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,sBAAsB,EAAE,EACtC,OAAO,EAAE,SAAS,EAClB,YAAY,GAAE,yBAAyB,EAAO,GAC/C,OAAO,CAAC,oBAAoB,CAAC,CAgB/B;AAED,eAAO,MAAM,kBAAkB,WAAY,SAAS,YAAY,OAAO,cAAc,OAAO,KAAG,WAM9F,CAAA;AAED,eAAO,MAAM,eAAe,eAAsB,UAAU,QAAQ,SAAS,uBAM5E,CAAA;AAED,wBAAsB,uBAAuB,CACzC,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,SAAS,qCAmB5B;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAGrF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAGnF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED,wBAAsB,gBAAgB,CAAC,CAAC,EACpC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,SAAI,EACX,YAAY,SAAQ,EACpB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,cAkB5D;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,aAWpD;AAED,wBAAgB,8BAA8B,CAC1C,cAAc,EAAE,aAAa,EAAE,GAChC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAezB"}
|
package/dist/utils/helpers.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ComputeBudgetProgram, PublicKey, } from "@solana/web3.js";
|
|
2
|
-
import { MarketIndex, TOKENS } from "../config/tokens.js";
|
|
2
|
+
import { getMarketIndicesRecord, MarketIndex, TOKENS } from "../config/tokens.js";
|
|
3
3
|
import { createAssociatedTokenAccountInstruction, TOKEN_PROGRAM_ID } from "@solana/spl-token";
|
|
4
4
|
import { VersionedTransaction } from "@solana/web3.js";
|
|
5
5
|
import { TransactionMessage } from "@solana/web3.js";
|
|
6
|
-
import { DEFAULT_COMPUTE_UNIT_LIMIT, DEFAULT_COMPUTE_UNIT_PRICE } from "../index.browser.js";
|
|
6
|
+
import { DEFAULT_COMPUTE_UNIT_LIMIT, DEFAULT_COMPUTE_UNIT_PRICE, ZERO } from "../index.browser.js";
|
|
7
7
|
export async function getComputeUnitLimit(connection, instructions, address, blockhash, lookupTables = []) {
|
|
8
8
|
const messageV0 = new TransactionMessage({
|
|
9
9
|
payerKey: address,
|
|
@@ -132,4 +132,17 @@ export function evmAddressToSolana(evmAddress) {
|
|
|
132
132
|
}
|
|
133
133
|
return new PublicKey(bytes);
|
|
134
134
|
}
|
|
135
|
+
export function calculateWithdrawOrderBalances(withdrawOrders) {
|
|
136
|
+
const openOrdersBalance = getMarketIndicesRecord(ZERO);
|
|
137
|
+
for (const order of withdrawOrders) {
|
|
138
|
+
const marketIndexNum = order.driftMarketIndex.toNumber();
|
|
139
|
+
if (!isMarketIndex(marketIndexNum)) {
|
|
140
|
+
throw new Error(`Invalid market index: ${marketIndexNum}`);
|
|
141
|
+
}
|
|
142
|
+
const marketIndex = marketIndexNum;
|
|
143
|
+
openOrdersBalance[marketIndex] = openOrdersBalance[marketIndex]
|
|
144
|
+
.add(order.amountBaseUnits);
|
|
145
|
+
}
|
|
146
|
+
return openOrdersBalance;
|
|
147
|
+
}
|
|
135
148
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,GAAiD,MAAM,iBAAiB,CAAC;AAEjH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
|