@quartz-labs/sdk 0.1.0 → 0.1.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/README.md +17 -0
- package/dist/client.d.ts +3 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +11 -11
- package/dist/client.js.map +1 -1
- package/dist/config/constants.d.ts +5 -1
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +4 -0
- package/dist/config/constants.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/services/driftClientService.js +1 -1
- package/dist/services/driftClientService.js.map +1 -1
- package/dist/types/classes/driftUser.class.d.ts +35 -0
- package/dist/types/classes/driftUser.class.d.ts.map +1 -0
- package/dist/types/classes/driftUser.class.js +608 -0
- package/dist/types/classes/driftUser.class.js.map +1 -0
- package/dist/types/classes/dummyWallet.class.d.ts +9 -0
- package/dist/types/classes/dummyWallet.class.d.ts.map +1 -0
- package/dist/types/classes/dummyWallet.class.js +15 -0
- package/dist/types/classes/dummyWallet.class.js.map +1 -0
- package/dist/types/idl/quartz.d.ts +648 -0
- package/dist/types/idl/quartz.d.ts.map +1 -0
- package/dist/types/idl/quartz.js +647 -0
- package/dist/types/idl/quartz.js.map +1 -0
- package/dist/types/interfaces/remainingAccount.interface.d.ts +6 -0
- package/dist/types/interfaces/remainingAccount.interface.d.ts.map +1 -0
- package/dist/types/interfaces/remainingAccount.interface.js +2 -0
- package/dist/types/interfaces/remainingAccount.interface.js.map +1 -0
- package/dist/user.d.ts +1 -1
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +32 -32
- package/dist/user.js.map +1 -1
- package/dist/utils/helpers.d.ts +6 -2
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +8 -2
- package/dist/utils/helpers.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -6,6 +6,23 @@
|
|
|
6
6
|
|
|
7
7
|
Typescript SDK for interacting with the Quartz Protocol.
|
|
8
8
|
|
|
9
|
+
Install using:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
yarn add @quartz-labs/sdk
|
|
13
|
+
# or
|
|
14
|
+
npm install @quartz-labs/sdk
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
There is currently an issue with dependancy resolutions, so add the following to your package.json to fix:
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
"resolutions": {
|
|
21
|
+
"rpc-websockets": "^9.0.2",
|
|
22
|
+
"@solana/web3.js": "^1.95.8"
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
9
26
|
## Links
|
|
10
27
|
|
|
11
28
|
Website and waitlist: [quartzpay.io](https://quartzpay.io/)
|
package/dist/client.d.ts
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import type { DriftClient } from "@drift-labs/sdk";
|
|
2
|
-
import { type Quartz } from "./types/quartz.js";
|
|
2
|
+
import { type Quartz } from "./types/idl/quartz.js";
|
|
3
3
|
import { Program } from "@coral-xyz/anchor";
|
|
4
|
-
import type { Wallet } from "@coral-xyz/anchor";
|
|
5
4
|
import type { PublicKey, Connection, AddressLookupTableAccount, MessageCompiledInstruction, TransactionInstruction } from "@solana/web3.js";
|
|
6
5
|
import { QuartzUser } from "./user.js";
|
|
7
6
|
export declare class QuartzClient {
|
|
8
7
|
private connection;
|
|
9
|
-
private wallet;
|
|
10
8
|
private program;
|
|
11
9
|
private quartzLookupTable;
|
|
12
10
|
private driftClient;
|
|
13
11
|
private oracles;
|
|
14
|
-
constructor(connection: Connection,
|
|
15
|
-
static fetchClient(connection: Connection
|
|
12
|
+
constructor(connection: Connection, program: Program<Quartz>, quartzAddressTable: AddressLookupTableAccount, driftClient: DriftClient, oracles: Map<string, PublicKey>);
|
|
13
|
+
static fetchClient(connection: Connection): Promise<QuartzClient>;
|
|
16
14
|
makeInitQuartzUserIxs(owner: PublicKey): Promise<TransactionInstruction[]>;
|
|
17
15
|
getAllQuartzAccountOwnerPubkeys(): Promise<PublicKey[]>;
|
|
18
16
|
getQuartzAccount(owner: PublicKey): Promise<QuartzUser>;
|
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,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAyC,OAAO,EAAe,MAAM,mBAAmB,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,0BAA0B,EAAQ,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAElJ,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMvC,qBAAa,YAAY;IACrB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,iBAAiB,CAA4B;IAErD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAyB;gBAGpC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EACxB,kBAAkB,EAAE,yBAAyB,EAC7C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;WAStB,WAAW,CACpB,UAAU,EAAE,UAAU;IA8Bb,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA4B1E,+BAA+B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAMvD,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBvD,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;IAoC9E,cAAc,CAAC,eAAe,EAAE,MAAM;IAMtC,aAAa,CAAC,eAAe,EAAE,MAAM;YAMpC,oBAAoB;IAMrB,oBAAoB,CAC7B,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,CAAC,WAAW,EAAE,0BAA0B,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,IAAI;CA4BjG"}
|
package/dist/client.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { calculateBorrowRate, calculateDepositRate, DRIFT_PROGRAM_ID, fetchUserAccountsUsingKeys as fetchDriftAccountsUsingKeys } from "@drift-labs/sdk";
|
|
2
2
|
import { QUARTZ_ADDRESS_TABLE, QUARTZ_PROGRAM_ID } from "./config/constants.js";
|
|
3
|
-
import { IDL } from "./types/quartz.js";
|
|
3
|
+
import { IDL } from "./types/idl/quartz.js";
|
|
4
4
|
import { AnchorProvider, BorshInstructionCoder, Program, setProvider } from "@coral-xyz/anchor";
|
|
5
5
|
import { PythSolanaReceiver } from "@pythnetwork/pyth-solana-receiver";
|
|
6
6
|
import { QuartzUser } from "./user.js";
|
|
7
7
|
import { getDriftStatePublicKey, getDriftUserPublicKey, getDriftUserStatsPublicKey, getVaultPublicKey } from "./utils/helpers.js";
|
|
8
8
|
import { DriftClientService } from "./services/driftClientService.js";
|
|
9
|
-
import { SystemProgram, SYSVAR_RENT_PUBKEY, } from "@solana/web3.js";
|
|
9
|
+
import { Keypair, SystemProgram, SYSVAR_RENT_PUBKEY, } from "@solana/web3.js";
|
|
10
|
+
import { DummyWallet } from "./types/classes/dummyWallet.class.js";
|
|
10
11
|
export class QuartzClient {
|
|
11
12
|
connection;
|
|
12
|
-
wallet;
|
|
13
13
|
program;
|
|
14
14
|
quartzLookupTable;
|
|
15
15
|
driftClient;
|
|
16
16
|
oracles;
|
|
17
|
-
constructor(connection,
|
|
17
|
+
constructor(connection, program, quartzAddressTable, driftClient, oracles) {
|
|
18
18
|
this.connection = connection;
|
|
19
|
-
this.wallet = wallet;
|
|
20
19
|
this.program = program;
|
|
21
20
|
this.quartzLookupTable = quartzAddressTable;
|
|
22
21
|
this.driftClient = driftClient;
|
|
23
22
|
this.oracles = oracles;
|
|
24
23
|
}
|
|
25
|
-
static async fetchClient(connection
|
|
24
|
+
static async fetchClient(connection) {
|
|
25
|
+
const wallet = new DummyWallet(Keypair.generate());
|
|
26
26
|
const provider = new AnchorProvider(connection, wallet, { commitment: "confirmed" });
|
|
27
27
|
setProvider(provider);
|
|
28
28
|
const program = new Program(IDL, QUARTZ_PROGRAM_ID, provider);
|
|
@@ -35,7 +35,7 @@ export class QuartzClient {
|
|
|
35
35
|
["SOL/USD", pythSolanaReceiver.getPriceFeedAccountAddress(0, "0xef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d")],
|
|
36
36
|
["USDC/USD", pythSolanaReceiver.getPriceFeedAccountAddress(0, "0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a")]
|
|
37
37
|
]);
|
|
38
|
-
return new QuartzClient(connection,
|
|
38
|
+
return new QuartzClient(connection, program, quartzLookupTable, driftClient, oracles);
|
|
39
39
|
}
|
|
40
40
|
async makeInitQuartzUserIxs(owner) {
|
|
41
41
|
const vault = getVaultPublicKey(owner);
|
|
@@ -71,7 +71,7 @@ export class QuartzClient {
|
|
|
71
71
|
const [driftUserAccount] = await fetchDriftAccountsUsingKeys(this.connection, this.driftClient.program, [getDriftUserPublicKey(vault)]);
|
|
72
72
|
if (!driftUserAccount)
|
|
73
73
|
throw Error("Drift user not found");
|
|
74
|
-
return new QuartzUser(
|
|
74
|
+
return new QuartzUser(owner, this.connection, this.program, this.quartzLookupTable, this.oracles, this.driftClient, driftUserAccount);
|
|
75
75
|
}
|
|
76
76
|
async getMultipleQuartzAccounts(owners) {
|
|
77
77
|
if (owners.length === 0)
|
|
@@ -91,9 +91,9 @@ export class QuartzClient {
|
|
|
91
91
|
return driftUsers.map((driftUser, index) => {
|
|
92
92
|
if (driftUser === undefined)
|
|
93
93
|
return null;
|
|
94
|
-
if (
|
|
95
|
-
throw Error("Missing pubkey in
|
|
96
|
-
return new QuartzUser(
|
|
94
|
+
if (owners[index] === undefined)
|
|
95
|
+
throw Error("Missing pubkey in owners array");
|
|
96
|
+
return new QuartzUser(owners[index], this.connection, this.program, this.quartzLookupTable, this.oracles, this.driftClient, driftUser);
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
async getDepositRate(spotMarketIndex) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,0BAA0B,IAAI,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACzJ,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,9 @@ export declare const USDC_MINT: PublicKey;
|
|
|
6
6
|
export declare const WSOL_MINT: PublicKey;
|
|
7
7
|
export declare const DRIFT_MARKET_INDEX_USDC = 0;
|
|
8
8
|
export declare const DRIFT_MARKET_INDEX_SOL = 1;
|
|
9
|
-
export declare const SUPPORTED_DRIFT_MARKETS:
|
|
9
|
+
export declare const SUPPORTED_DRIFT_MARKETS: readonly [0, 1];
|
|
10
|
+
export declare const DRIFT_ORACLE_1: PublicKey;
|
|
11
|
+
export declare const DRIFT_ORACLE_2: PublicKey;
|
|
12
|
+
export declare const DRIFT_SPOT_MARKET_SOL: PublicKey;
|
|
13
|
+
export declare const DRIFT_SPOT_MARKET_USDC: PublicKey;
|
|
10
14
|
//# 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;AAElG,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,eAAO,MAAM,SAAS,WAAgE,CAAC;AACvF,eAAO,MAAM,SAAS,WAA+D,CAAC;AAEtF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,uBAAuB,
|
|
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;AAElG,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,eAAO,MAAM,SAAS,WAAgE,CAAC;AACvF,eAAO,MAAM,SAAS,WAA+D,CAAC;AAEtF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,uBAAuB,iBAA6D,CAAC;AAElG,eAAO,MAAM,cAAc,WAAgE,CAAC;AAC5F,eAAO,MAAM,cAAc,WAAgE,CAAC;AAC5F,eAAO,MAAM,qBAAqB,WAAgE,CAAC;AACnG,eAAO,MAAM,sBAAsB,WAAgE,CAAC"}
|
package/dist/config/constants.js
CHANGED
|
@@ -7,4 +7,8 @@ export const WSOL_MINT = new PublicKey("So11111111111111111111111111111111111111
|
|
|
7
7
|
export const DRIFT_MARKET_INDEX_USDC = 0;
|
|
8
8
|
export const DRIFT_MARKET_INDEX_SOL = 1;
|
|
9
9
|
export const SUPPORTED_DRIFT_MARKETS = [DRIFT_MARKET_INDEX_USDC, DRIFT_MARKET_INDEX_SOL];
|
|
10
|
+
export const DRIFT_ORACLE_1 = new PublicKey("En8hkHLkRe9d9DraYmBTrus518BvmVH448YcvmrFM6Ce");
|
|
11
|
+
export const DRIFT_ORACLE_2 = new PublicKey("BAtFj4kQttZRVep3UZS2aZRDixkGYgWsbqTBVDbnSsPF");
|
|
12
|
+
export const DRIFT_SPOT_MARKET_SOL = new PublicKey("3x85u7SWkmmr7YQGYhtjARgxwegTLJgkSLRprfXod6rh");
|
|
13
|
+
export const DRIFT_SPOT_MARKET_USDC = new PublicKey("6gMq3mRCKf8aP3ttTyYhuijVZ2LGi14oDsBbkgubfLB3");
|
|
10
14
|
//# 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;AAElG,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,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;AAElG,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,uBAAuB,EAAE,sBAAsB,CAAU,CAAC;AAElG,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
declare const Wallet: typeof pkg.Wallet;
|
|
3
|
-
export { Wallet, type BN };
|
|
1
|
+
export type { BN } from "@coral-xyz/anchor";
|
|
4
2
|
export { QuartzClient } from "./client.js";
|
|
5
3
|
export { QuartzUser } from "./user.js";
|
|
6
4
|
export * from "./config/constants.js";
|
|
7
5
|
export * from "./utils/helpers.js";
|
|
6
|
+
import { Wallet } from "@coral-xyz/anchor";
|
|
7
|
+
export type { Wallet };
|
|
8
|
+
import type { Keypair } from "@solana/web3.js";
|
|
9
|
+
export declare const getWallet: (keypair: Keypair) => Wallet;
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,MAAM,EAAE,CAAC;AAEvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,eAAO,MAAM,SAAS,YAAa,OAAO,WAMzC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import pkg, {} from "@coral-xyz/anchor";
|
|
2
|
-
const { Wallet } = pkg;
|
|
3
|
-
export { Wallet };
|
|
4
1
|
export { QuartzClient } from "./client.js";
|
|
5
2
|
export { QuartzUser } from "./user.js";
|
|
6
3
|
export * from "./config/constants.js";
|
|
7
4
|
export * from "./utils/helpers.js";
|
|
5
|
+
import { Wallet } from "@coral-xyz/anchor";
|
|
6
|
+
export const getWallet = (keypair) => {
|
|
7
|
+
if (typeof window === "undefined") {
|
|
8
|
+
const wallet = new Wallet(keypair);
|
|
9
|
+
return wallet;
|
|
10
|
+
}
|
|
11
|
+
throw new Error("NodeWallet is not available in Node.js environment");
|
|
12
|
+
};
|
|
8
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC1C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC1E,CAAC,CAAA"}
|
|
@@ -13,7 +13,7 @@ export class DriftClientService {
|
|
|
13
13
|
env: 'mainnet-beta',
|
|
14
14
|
userStats: false,
|
|
15
15
|
perpMarketIndexes: [],
|
|
16
|
-
spotMarketIndexes: SUPPORTED_DRIFT_MARKETS,
|
|
16
|
+
spotMarketIndexes: [...SUPPORTED_DRIFT_MARKETS],
|
|
17
17
|
accountSubscription: {
|
|
18
18
|
type: 'websocket',
|
|
19
19
|
commitment: "confirmed"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driftClientService.js","sourceRoot":"","sources":["../../src/services/driftClientService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,OAAO,kBAAkB;IACnB,MAAM,CAAC,QAAQ,CAAqB;IACpC,WAAW,CAAc;IACzB,sBAAsB,CAAmB;IAEjD,YACI,UAAsB;QAEtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YAC/B,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,cAAc;YACnB,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,EAAE;YACrB,iBAAiB,EAAE,uBAAuB;
|
|
1
|
+
{"version":3,"file":"driftClientService.js","sourceRoot":"","sources":["../../src/services/driftClientService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,OAAO,kBAAkB;IACnB,MAAM,CAAC,QAAQ,CAAqB;IACpC,WAAW,CAAc;IACzB,sBAAsB,CAAmB;IAEjD,YACI,UAAsB;QAEtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YAC/B,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,cAAc;YACnB,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,EAAE;YACrB,iBAAiB,EAAE,CAAC,GAAG,uBAAuB,CAAC;YAC/C,mBAAmB,EAAE;gBACjB,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE,WAAW;aAC1B;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,UAAsB;QACrD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YAC/B,kBAAkB,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,kBAAkB,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACzD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnD,CAAC;CACJ"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { BN, type DriftClient, type MarginCategory, type UserAccount } from "@drift-labs/sdk";
|
|
2
|
+
import type { Connection, PublicKey } from "@solana/web3.js";
|
|
3
|
+
export declare class DriftUser {
|
|
4
|
+
private authority;
|
|
5
|
+
private connection;
|
|
6
|
+
private driftClient;
|
|
7
|
+
private userAccount;
|
|
8
|
+
pubkey: PublicKey;
|
|
9
|
+
statsPubkey: PublicKey;
|
|
10
|
+
constructor(authority: PublicKey, connection: Connection, driftClient: DriftClient, userAccount: UserAccount);
|
|
11
|
+
getDriftUserAccount(): UserAccount;
|
|
12
|
+
getHealth(): number;
|
|
13
|
+
getTokenAmount(marketIndex: number): BN;
|
|
14
|
+
getWithdrawalLimit(marketIndex: number, reduceOnly?: boolean, preventcollateralRepay?: boolean): BN;
|
|
15
|
+
private getFreeCollateral;
|
|
16
|
+
private canBypassWithdrawLimits;
|
|
17
|
+
private isBeingLiquidated;
|
|
18
|
+
getTotalCollateralValue(marginCategory?: MarginCategory, strict?: boolean, includeOpenOrders?: boolean): BN;
|
|
19
|
+
private getSpotMarketAssetValue;
|
|
20
|
+
private getSpotMarketAssetAndLiabilityValue;
|
|
21
|
+
private getSpotLiabilityValue;
|
|
22
|
+
private getSpotAssetValue;
|
|
23
|
+
private getUnrealizedPNL;
|
|
24
|
+
private getActivePerpPositions;
|
|
25
|
+
private getPerpPositionWithLPSettle;
|
|
26
|
+
private getPerpPosition;
|
|
27
|
+
private getEmptyPosition;
|
|
28
|
+
private getClonedPosition;
|
|
29
|
+
getMaintenanceMarginRequirement(): BN;
|
|
30
|
+
private getMarginRequirement;
|
|
31
|
+
private getTotalPerpPositionLiability;
|
|
32
|
+
private calculateWeightedPerpPositionLiability;
|
|
33
|
+
private getSpotMarketLiabilityValue;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=driftUser.class.d.ts.map
|
|
@@ -0,0 +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,EAA0J,KAAK,cAAc,EAAsL,KAAK,WAAW,EAA0D,MAAM,iBAAiB,CAAC;AACn0B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI7D,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,WAAW,CAA0B;IACzC,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;gBAGvB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EAC9B,WAAW,EAAE,WAAW;IAWlB,mBAAmB,IAAI,WAAW;IAK/B,SAAS,IAAI,MAAM;IAyBnB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,EAAE;IAuB1C,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,sBAAsB,UAAQ,GAAG,EAAE;IA2ExG,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,uBAAuB;IA2D5B,OAAO,CAAC,iBAAiB;IASlB,uBAAuB,CAChC,cAAc,CAAC,EAAE,cAAc,EAC/B,MAAM,UAAQ,EACd,iBAAiB,UAAO,GACtB,EAAE;IAWF,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,mCAAmC;IA+L3C,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,+BAA+B,IAAI,EAAE;IAc5C,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,6BAA6B;IAqBrC,OAAO,CAAC,sCAAsC;IAqH9C,OAAO,CAAC,2BAA2B;CAkBtC"}
|