@quartz-labs/sdk 0.12.4 → 0.12.5
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/utils/helpers.d.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { PublicKey, type Connection, type TransactionInstruction } from "@solana/web3.js";
|
|
2
2
|
import type { AccountMeta } from "../types/interfaces/AccountMeta.interface.js";
|
|
3
|
-
import {
|
|
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
6
|
export declare function getComputeUnitLimit(connection: Connection, instructions: TransactionInstruction[], address: PublicKey, blockhash: string, lookupTables?: AddressLookupTableAccount[]): Promise<number>;
|
|
7
7
|
export declare function getComputerUnitLimitIx(connection: Connection, instructions: TransactionInstruction[], address: PublicKey, blockhash: string, lookupTables?: AddressLookupTableAccount[]): Promise<TransactionInstruction>;
|
|
8
8
|
export declare function getComputeUnitPrice(connection: Connection, instructions: TransactionInstruction[]): Promise<number>;
|
|
9
9
|
export declare function getComputeUnitPriceIx(connection: Connection, instructions: TransactionInstruction[]): Promise<TransactionInstruction>;
|
|
10
|
-
export declare function buildTransaction(connection: Connection,
|
|
10
|
+
export declare function buildTransaction(connection: Connection, instructions: TransactionInstruction[], address: PublicKey, lookupTables?: AddressLookupTableAccount[]): Promise<VersionedTransaction>;
|
|
11
11
|
export declare const toRemainingAccount: (pubkey: PublicKey, isSigner: boolean, isWritable: boolean) => AccountMeta;
|
|
12
12
|
export declare const getTokenProgram: (connection: Connection, mint: PublicKey) => Promise<PublicKey>;
|
|
13
13
|
export declare function makeCreateAtaIxIfNeeded(connection: Connection, ata: PublicKey, authority: PublicKey, mint: PublicKey, tokenProgramId: PublicKey): Promise<TransactionInstruction[]>;
|
|
14
14
|
export declare function baseUnitToDecimal(baseUnits: number, marketIndex: MarketIndex): number;
|
|
15
15
|
export declare function decimalToBaseUnit(decimal: number, marketIndex: MarketIndex): number;
|
|
16
|
+
export declare function isMarketIndex(index: number): boolean;
|
|
16
17
|
export declare function retryWithBackoff<T>(fn: () => Promise<T>, retries?: number, initialDelay?: number, retryCallback?: (error: unknown, delayMs: number) => void): Promise<T>;
|
|
17
18
|
export declare function evmAddressToSolana(evmAddress: string): PublicKey;
|
|
18
19
|
//# 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,EAAE,
|
|
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,EAAE,WAAW,EAAU,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIvD,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"}
|
package/dist/utils/helpers.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComputeBudgetProgram, PublicKey, } from "@solana/web3.js";
|
|
2
|
-
import { TOKENS } from "../config/tokens.js";
|
|
2
|
+
import { 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";
|
|
@@ -58,7 +58,8 @@ export async function getComputeUnitPriceIx(connection, instructions) {
|
|
|
58
58
|
microLamports: computeUnitPrice,
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
|
-
export async function buildTransaction(connection,
|
|
61
|
+
export async function buildTransaction(connection, instructions, address, lookupTables = []) {
|
|
62
|
+
const blockhash = (await connection.getLatestBlockhash()).blockhash;
|
|
62
63
|
const ix_computeLimit = await getComputerUnitLimitIx(connection, instructions, address, blockhash, lookupTables);
|
|
63
64
|
const ix_computePrice = await getComputeUnitPriceIx(connection, instructions);
|
|
64
65
|
const messageV0 = new TransactionMessage({
|
|
@@ -100,6 +101,10 @@ export function decimalToBaseUnit(decimal, marketIndex) {
|
|
|
100
101
|
const token = TOKENS[marketIndex];
|
|
101
102
|
return Math.trunc(decimal * (10 ** token.decimalPrecision.toNumber()));
|
|
102
103
|
}
|
|
104
|
+
export function isMarketIndex(index) {
|
|
105
|
+
const marketIndex = index;
|
|
106
|
+
return Object.values(MarketIndex).includes(marketIndex);
|
|
107
|
+
}
|
|
103
108
|
export async function retryWithBackoff(fn, retries = 5, initialDelay = 1_000, retryCallback) {
|
|
104
109
|
let lastError = new Error("Unknown error");
|
|
105
110
|
for (let i = 0; i <= retries; i++) {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
|