@quartz-labs/sdk 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,4 +5,5 @@ export declare const QUARTZ_DRIFT_ACCOUNT: PublicKey;
5
5
  export declare const DRIFT_PROGRAM_ID: PublicKey;
6
6
  export declare const PYTH_ORACLE_PROGRAM_ID: PublicKey;
7
7
  export declare const QUARTZ_HEALTH_BUFFER = 10;
8
+ export declare const WSOL_MINT: PublicKey;
8
9
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,iBAAiB,WAAgE,CAAC;AAC/F,eAAO,MAAM,oBAAoB,WAAgE,CAAC;AAClG,eAAO,MAAM,oBAAoB,WAAgE,CAAC;AAElG,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAC7F,eAAO,MAAM,sBAAsB,WAA+D,CAAC;AAEnG,eAAO,MAAM,oBAAoB,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,iBAAiB,WAAgE,CAAC;AAC/F,eAAO,MAAM,oBAAoB,WAAgE,CAAC;AAClG,eAAO,MAAM,oBAAoB,WAAgE,CAAC;AAElG,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAC7F,eAAO,MAAM,sBAAsB,WAA+D,CAAC;AAEnG,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,SAAS,WAA+D,CAAC"}
@@ -5,4 +5,5 @@ export const QUARTZ_DRIFT_ACCOUNT = new PublicKey("5XY5pQbBjwv8ByBxKPNE7Xyb9dVcd
5
5
  export const DRIFT_PROGRAM_ID = new PublicKey("dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH");
6
6
  export const PYTH_ORACLE_PROGRAM_ID = new PublicKey("pythWSnswVUd12oZpeFP8e9CVaEqJg25g1Vtc2biRsT");
7
7
  export const QUARTZ_HEALTH_BUFFER = 10;
8
+ export const WSOL_MINT = new PublicKey("So11111111111111111111111111111111111111112");
8
9
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAElG,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAEnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAElG,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAEnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC"}
@@ -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;AAEpE,eAAO,MAAM,WAAW,4BAEd,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CA+B7C,CAAC"}
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,4BAEd,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAoC7C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { PublicKey } from "@solana/web3.js";
2
+ import BN from "bn.js";
2
3
  export const MarketIndex = [
3
4
  1, 0, 5, 22, 28
4
5
  ];
@@ -7,31 +8,36 @@ export const TOKENS = {
7
8
  name: "SOL",
8
9
  mint: new PublicKey("So11111111111111111111111111111111111111112"),
9
10
  pythPriceFeedId: "0xef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d",
10
- decimalPrecision: 9,
11
+ decimalPrecision: new BN(9),
12
+ driftCollateralWeight: new BN(90),
11
13
  },
12
14
  0: {
13
15
  name: "USDC",
14
16
  mint: new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),
15
17
  pythPriceFeedId: "0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
16
- decimalPrecision: 6,
18
+ decimalPrecision: new BN(6),
19
+ driftCollateralWeight: new BN(100),
17
20
  },
18
21
  5: {
19
22
  name: "USDT",
20
23
  mint: new PublicKey("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),
21
24
  pythPriceFeedId: "0x2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b",
22
- decimalPrecision: 6,
25
+ decimalPrecision: new BN(6),
26
+ driftCollateralWeight: new BN(95),
23
27
  },
24
28
  22: {
25
29
  name: "PYUSD",
26
30
  mint: new PublicKey("2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo"),
27
31
  pythPriceFeedId: "0xc1da1b73d7f01e7ddd54b3766cf7fcd644395ad14f70aa706ec5384c59e76692",
28
- decimalPrecision: 6,
32
+ decimalPrecision: new BN(6),
33
+ driftCollateralWeight: new BN(95),
29
34
  },
30
35
  28: {
31
36
  name: "USDS",
32
37
  mint: new PublicKey("USDSwr9ApdHk5bvJKMjzff41FfuX8bSxdKcR81vTwcA"),
33
38
  pythPriceFeedId: "0x77f0971af11cc8bac224917275c1bf55f2319ed5c654a1ca955c82fa2d297ea1",
34
- decimalPrecision: 6,
39
+ decimalPrecision: new BN(6),
40
+ driftCollateralWeight: new BN(95),
35
41
  }
36
42
  };
37
43
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/config/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;CACT,CAAC;AAGX,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,CAAC;KACtB;IACD,CAAC,EAAE;QACC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;QACnE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,CAAC;KACtB;IACD,CAAC,EAAE;QACC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;QACnE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,CAAC;KACtB;IACD,EAAE,EAAE;QACA,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC;QACnE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,CAAC;KACtB;IACD,EAAE,EAAE;QACA,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,SAAS,CAAC,6CAA6C,CAAC;QAClE,eAAe,EAAE,oEAAoE;QACrF,gBAAgB,EAAE,CAAC;KACtB;CACJ,CAAC"}
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;CACT,CAAC;AAGX,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,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;KACpC;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,qBAAqB,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;KACrC;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,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;KACpC;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,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;KACpC;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,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;KACpC;CACJ,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import type { PublicKey } from "@solana/web3.js";
2
+ import type BN from "bn.js";
2
3
  export interface Token {
3
4
  name: string;
4
5
  mint: PublicKey;
5
6
  pythPriceFeedId: string;
6
- decimalPrecision: number;
7
+ decimalPrecision: BN;
8
+ driftCollateralWeight: BN;
7
9
  }
8
10
  //# sourceMappingURL=token.interface.d.ts.map
@@ -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;AAEjD,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC5B"}
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,qBAAqB,EAAE,EAAE,CAAC;CAC7B"}
package/dist/user.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { Connection, AddressLookupTableAccount, TransactionInstruction } fr
3
3
  import type { Quartz } from "./types/idl/quartz.js";
4
4
  import type { Program } from "@coral-xyz/anchor";
5
5
  import type { PublicKey } from "@solana/web3.js";
6
- import type { MarketIndex } from "./config/tokens.js";
6
+ import { type MarketIndex } from "./config/tokens.js";
7
7
  export declare class QuartzUser {
8
8
  readonly pubkey: PublicKey;
9
9
  readonly vaultPubkey: PublicKey;
@@ -22,9 +22,9 @@ export declare class QuartzUser {
22
22
  getTokenBalance(spotMarketIndex: number): Promise<number>;
23
23
  getWithdrawalLimit(spotMarketIndex: number): Promise<number>;
24
24
  makeCloseAccountIxs(): Promise<TransactionInstruction[]>;
25
- makeDepositIx(amountBaseUnits: number, mint: PublicKey, marketIndex: MarketIndex, reduceOnly: boolean): Promise<TransactionInstruction>;
26
- makeWithdrawIx(amountBaseUnits: number, mint: PublicKey, marketIndex: MarketIndex, reduceOnly: boolean): Promise<TransactionInstruction>;
27
- makeCollateralRepayIxs(caller: PublicKey, depositMint: PublicKey, depositMarketIndex: MarketIndex, withdrawMint: PublicKey, withdrawMarketIndex: MarketIndex, callerWithdrawSplStartBalance: number, jupiterExactOutRouteQuote: QuoteResponse): Promise<{
25
+ makeDepositIx(amountBaseUnits: number, marketIndex: MarketIndex, reduceOnly: boolean): Promise<TransactionInstruction>;
26
+ makeWithdrawIx(amountBaseUnits: number, marketIndex: MarketIndex, reduceOnly: boolean): Promise<TransactionInstruction>;
27
+ makeCollateralRepayIxs(caller: PublicKey, depositMarketIndex: MarketIndex, withdrawMarketIndex: MarketIndex, callerWithdrawSplStartBalance: number, jupiterExactOutRouteQuote: QuoteResponse): Promise<{
28
28
  ixs: TransactionInstruction[];
29
29
  lookupTables: AddressLookupTableAccount[];
30
30
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/E,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;AASlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,UAAU;IACnB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,WAAW,EAAE,SAAS,CAAC;IAEvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,iBAAiB,CAA4B;IAErD,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAY;gBAG3B,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EACxB,iBAAiB,EAAE,yBAAyB,EAC5C,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,WAAW;IAiBjC,OAAO,CAAC,qBAAqB;IAetB,SAAS,IAAI,MAAM;IAKnB,6BAA6B,CAChC,YAAY,EAAE,MAAM,EACpB,qBAAqB,EAAE,MAAM,GAC9B,MAAM;IA4BF,uBAAuB,IAAI,MAAM;IAIjC,+BAA+B,IAAI,MAAM;IAIzC,+BAA+B,IAAI,MAAM;IAInC,eAAe,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5D,mBAAmB;IAwBnB,aAAa,CACtB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,OAAO;IA8BV,cAAc,CACvB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,OAAO;IA+BV,sBAAsB,CAC/B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,kBAAkB,EAAE,WAAW,EAC/B,YAAY,EAAE,SAAS,EACvB,mBAAmB,EAAE,WAAW,EAChC,6BAA6B,EAAE,MAAM,EACrC,yBAAyB,EAAE,aAAa,GACzC,OAAO,CAAC;QACP,GAAG,EAAE,sBAAsB,EAAE,CAAA;QAC7B,YAAY,EAAE,yBAAyB,EAAE,CAAC;KAC7C,CAAC;CA4GL"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/E,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;AASlD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,UAAU;IACnB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,WAAW,EAAE,SAAS,CAAC;IAEvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,iBAAiB,CAA4B;IAErD,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAY;gBAG3B,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EACxB,iBAAiB,EAAE,yBAAyB,EAC5C,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,WAAW;IAiBjC,OAAO,CAAC,qBAAqB;IAetB,SAAS,IAAI,MAAM;IAKnB,6BAA6B,CAChC,YAAY,EAAE,MAAM,EACpB,qBAAqB,EAAE,MAAM,GAC9B,MAAM;IA4BF,uBAAuB,IAAI,MAAM;IAIjC,+BAA+B,IAAI,MAAM;IAIzC,+BAA+B,IAAI,MAAM;IAInC,eAAe,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5D,mBAAmB;IAwBnB,aAAa,CACtB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,OAAO;IA+BV,cAAc,CACvB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,OAAO;IAgCV,sBAAsB,CAC/B,MAAM,EAAE,SAAS,EACjB,kBAAkB,EAAE,WAAW,EAC/B,mBAAmB,EAAE,WAAW,EAChC,6BAA6B,EAAE,MAAM,EACrC,yBAAyB,EAAE,aAAa,GACzC,OAAO,CAAC;QACP,GAAG,EAAE,sBAAsB,EAAE,CAAA;QAC7B,YAAY,EAAE,yBAAyB,EAAE,CAAC;KAC7C,CAAC;CA+GL"}
package/dist/user.js CHANGED
@@ -8,6 +8,7 @@ import { ASSOCIATED_TOKEN_PROGRAM_ID } from "@solana/spl-token";
8
8
  import { BN } from "bn.js";
9
9
  import { getJupiterSwapIx } from "./utils/jupiter.js";
10
10
  import { SwapMode } from "@jup-ag/api";
11
+ import { TOKENS } from "./config/tokens.js";
11
12
  export class QuartzUser {
12
13
  pubkey;
13
14
  vaultPubkey;
@@ -39,13 +40,13 @@ export class QuartzUser {
39
40
  getRepayAmountForTargetHealth(targetHealth, repayCollateralWeight) {
40
41
  // New Quartz health after repayment is given as:
41
42
  //
42
- // loanValue - repayAmount
43
- // 1 - ----------------------------------------------------------------- - quartzHealthBuffer
44
- // currentWeightedCollateral - (repayAmount * repayCollateralWeight)
45
- // targetHealth = -------------------------------------------------------------------------------------------
46
- // 1 - quartzHealthBuffer
43
+ // loanValue - repayValue
44
+ // 1 - ---------------------------------------------------------------- - quartzHealthBuffer
45
+ // currentWeightedCollateral - (repayValue * repayCollateralWeight)
46
+ // targetHealth = -----------------------------------------------------------------------------------------
47
+ // 1 - quartzHealthBuffer
47
48
  //
48
- // The following is an algebraicly simplified expression of the above formula, in terms of repayAmount
49
+ // The following is an algebraicly simplified expression of the above formula, in terms of repayValue
49
50
  if (targetHealth <= 0 || targetHealth >= 100)
50
51
  throw Error("Target health must be between 0 and 100");
51
52
  if (targetHealth <= this.getHealth())
@@ -93,7 +94,8 @@ export class QuartzUser {
93
94
  .instruction();
94
95
  return [ix_closeDriftAccount, ix_closeVault];
95
96
  }
96
- async makeDepositIx(amountBaseUnits, mint, marketIndex, reduceOnly) {
97
+ async makeDepositIx(amountBaseUnits, marketIndex, reduceOnly) {
98
+ const mint = TOKENS[marketIndex].mint;
97
99
  const tokenProgram = await getTokenProgram(this.connection, mint);
98
100
  const ownerSpl = await getAssociatedTokenAddress(mint, this.pubkey, false, tokenProgram);
99
101
  const ix = await this.program.methods
@@ -117,7 +119,8 @@ export class QuartzUser {
117
119
  .instruction();
118
120
  return ix;
119
121
  }
120
- async makeWithdrawIx(amountBaseUnits, mint, marketIndex, reduceOnly) {
122
+ async makeWithdrawIx(amountBaseUnits, marketIndex, reduceOnly) {
123
+ const mint = TOKENS[marketIndex].mint;
121
124
  const tokenProgram = await getTokenProgram(this.connection, mint);
122
125
  const ownerSpl = await getAssociatedTokenAddress(mint, this.pubkey, false, tokenProgram);
123
126
  const ix = await this.program.methods
@@ -142,7 +145,9 @@ export class QuartzUser {
142
145
  .instruction();
143
146
  return ix;
144
147
  }
145
- async makeCollateralRepayIxs(caller, depositMint, depositMarketIndex, withdrawMint, withdrawMarketIndex, callerWithdrawSplStartBalance, jupiterExactOutRouteQuote) {
148
+ async makeCollateralRepayIxs(caller, depositMarketIndex, withdrawMarketIndex, callerWithdrawSplStartBalance, jupiterExactOutRouteQuote) {
149
+ const depositMint = TOKENS[depositMarketIndex].mint;
150
+ const withdrawMint = TOKENS[withdrawMarketIndex].mint;
146
151
  if (jupiterExactOutRouteQuote.swapMode !== SwapMode.ExactOut)
147
152
  throw Error("Jupiter quote must be ExactOutRoute");
148
153
  if (jupiterExactOutRouteQuote.inputMint !== withdrawMint.toBase58())
package/dist/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type Connection, PublicKey } from "@solana/web3.js";
1
+ import { type Connection, PublicKey, type TransactionInstruction } from "@solana/web3.js";
2
2
  import type { AccountMeta } from "../types/interfaces/accountMeta.interface.js";
3
3
  import { type MarketIndex } from "../config/tokens.js";
4
4
  export declare const getVaultPublicKey: (user: PublicKey) => PublicKey;
@@ -11,7 +11,10 @@ export declare const getDriftSpotMarketVaultPublicKey: (marketIndex: number) =>
11
11
  export declare const getDriftSpotMarketPublicKey: (marketIndex: number) => PublicKey;
12
12
  export declare const getPythPriceFeedAccount: (shardId: number, priceFeedId: string) => PublicKey;
13
13
  export declare const getPythOracle: (marketIndex: MarketIndex) => PublicKey;
14
- export declare const createPriorityFeeInstructions: (computeBudget: number) => Promise<import("@solana/web3.js").TransactionInstruction[]>;
14
+ export declare const createPriorityFeeInstructions: (computeBudget: number) => Promise<TransactionInstruction[]>;
15
15
  export declare const toRemainingAccount: (pubkey: PublicKey, isSigner: boolean, isWritable: boolean) => AccountMeta;
16
16
  export declare const getTokenProgram: (connection: Connection, mint: PublicKey) => Promise<PublicKey>;
17
+ export declare function makeCreateAtaIxIfNeeded(connection: Connection, ata: PublicKey, authority: PublicKey, mint: PublicKey, tokenProgramId: PublicKey): Promise<TransactionInstruction[]>;
18
+ export declare function baseUnitToDecimal(baseUnits: number, marketIndex: MarketIndex): number;
19
+ export declare function decimalToBaseUnit(decimal: number, marketIndex: MarketIndex): number;
17
20
  //# 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,KAAK,UAAU,EAAE,SAAS,EAAG,MAAM,iBAAiB,CAAC;AAGpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,KAAK,WAAW,EAAU,MAAM,qBAAqB,CAAC;AAG/D,eAAO,MAAM,iBAAiB,SAAU,SAAS,cAMhD,CAAA;AAED,eAAO,MAAM,oBAAoB,SAAU,SAAS,QAAQ,SAAS,cAOpE,CAAA;AAED,eAAO,MAAM,qBAAqB,aAAc,SAAS,cAUxD,CAAA;AAED,eAAO,MAAM,0BAA0B,aAAc,SAAS,cAM7D,CAAA;AAED,eAAO,MAAM,sBAAsB,iBAMlC,CAAA;AAED,eAAO,MAAM,uBAAuB,iBAMnC,CAAA;AAED,eAAO,MAAM,gCAAgC,gBAAiB,MAAM,cASnE,CAAA;AAED,eAAO,MAAM,2BAA2B,gBAAiB,MAAM,cAS9D,CAAA;AAED,eAAO,MAAM,uBAAuB,YAAa,MAAM,eAAe,MAAM,cAa3E,CAAA;AAED,eAAO,MAAM,aAAa,gBAAiB,WAAW,cAGrD,CAAA;AAED,eAAO,MAAM,6BAA6B,kBAAyB,MAAM,gEASxE,CAAA;AAED,eAAO,MAAM,kBAAkB,WAAY,SAAS,YAAY,OAAO,cAAc,OAAO,KAAG,WAM9F,CAAA;AAED,eAAO,MAAM,eAAe,eAAsB,UAAU,QAAQ,SAAS,uBAG5E,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,UAAU,EAAE,SAAS,EAAE,KAAK,sBAAsB,EAAG,MAAM,iBAAiB,CAAC;AAGjH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,KAAK,WAAW,EAAU,MAAM,qBAAqB,CAAC;AAG/D,eAAO,MAAM,iBAAiB,SAAU,SAAS,cAMhD,CAAA;AAED,eAAO,MAAM,oBAAoB,SAAU,SAAS,QAAQ,SAAS,cAOpE,CAAA;AAED,eAAO,MAAM,qBAAqB,aAAc,SAAS,cAUxD,CAAA;AAED,eAAO,MAAM,0BAA0B,aAAc,SAAS,cAM7D,CAAA;AAED,eAAO,MAAM,sBAAsB,iBAMlC,CAAA;AAED,eAAO,MAAM,uBAAuB,iBAMnC,CAAA;AAED,eAAO,MAAM,gCAAgC,gBAAiB,MAAM,cASnE,CAAA;AAED,eAAO,MAAM,2BAA2B,gBAAiB,MAAM,cAS9D,CAAA;AAED,eAAO,MAAM,uBAAuB,YAAa,MAAM,eAAe,MAAM,cAa3E,CAAA;AAED,eAAO,MAAM,aAAa,gBAAiB,WAAW,cAGrD,CAAA;AAED,eAAO,MAAM,6BAA6B,kBAAyB,MAAM,sCASxE,CAAA;AAED,eAAO,MAAM,kBAAkB,WAAY,SAAS,YAAY,OAAO,cAAc,OAAO,KAAG,WAM9F,CAAA;AAED,eAAO,MAAM,eAAe,eAAsB,UAAU,QAAQ,SAAS,uBAG5E,CAAA;AAED,wBAAsB,uBAAuB,CACzC,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,SAAS,qCAgB5B;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"}
@@ -2,7 +2,7 @@ import { ComputeBudgetProgram, PublicKey, } from "@solana/web3.js";
2
2
  import { QUARTZ_PROGRAM_ID, DRIFT_PROGRAM_ID, PYTH_ORACLE_PROGRAM_ID } from "../config/constants.js";
3
3
  import { BN } from "bn.js";
4
4
  import { TOKENS } from "../config/tokens.js";
5
- import { TOKEN_PROGRAM_ID } from "@solana/spl-token";
5
+ import { createAssociatedTokenAccountInstruction, TOKEN_PROGRAM_ID } from "@solana/spl-token";
6
6
  export const getVaultPublicKey = (user) => {
7
7
  const [vaultPda] = PublicKey.findProgramAddressSync([Buffer.from("vault"), user.toBuffer()], QUARTZ_PROGRAM_ID);
8
8
  return vaultPda;
@@ -85,4 +85,20 @@ export const getTokenProgram = async (connection, mint) => {
85
85
  const mintAccount = await connection.getAccountInfo(mint);
86
86
  return mintAccount?.owner || TOKEN_PROGRAM_ID;
87
87
  };
88
+ export async function makeCreateAtaIxIfNeeded(connection, ata, authority, mint, tokenProgramId) {
89
+ const oix_createAta = [];
90
+ const ataInfo = await connection.getAccountInfo(ata);
91
+ if (ataInfo === null) {
92
+ oix_createAta.push(createAssociatedTokenAccountInstruction(authority, ata, authority, mint, tokenProgramId));
93
+ }
94
+ return oix_createAta;
95
+ }
96
+ export function baseUnitToDecimal(baseUnits, marketIndex) {
97
+ const token = TOKENS[marketIndex];
98
+ return baseUnits / (10 ** token.decimalPrecision.toNumber());
99
+ }
100
+ export function decimalToBaseUnit(decimal, marketIndex) {
101
+ const token = TOKENS[marketIndex];
102
+ return Math.trunc(decimal * (10 ** token.decimalPrecision.toNumber()));
103
+ }
88
104
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quartz-labs/sdk",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "SDK for interacting with the Quartz Protocol",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",