@quartz-labs/sdk 0.25.1 → 0.26.0
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
|
@@ -9,7 +9,10 @@ export declare function getComputeUnitLimit(connection: Connection, instructions
|
|
|
9
9
|
export declare function getComputeUnitLimitIx(connection: Connection, instructions: TransactionInstruction[], address: PublicKey, blockhash: string, lookupTables?: AddressLookupTableAccount[]): Promise<TransactionInstruction>;
|
|
10
10
|
export declare function getComputeUnitPrice(connection: Connection, instructions: TransactionInstruction[]): Promise<number>;
|
|
11
11
|
export declare function getComputeUnitPriceIx(connection: Connection, instructions: TransactionInstruction[]): Promise<TransactionInstruction>;
|
|
12
|
-
export declare function buildTransaction(connection: Connection, instructions: TransactionInstruction[], payer: PublicKey, lookupTables?: AddressLookupTableAccount[]): Promise<
|
|
12
|
+
export declare function buildTransaction(connection: Connection, instructions: TransactionInstruction[], payer: PublicKey, lookupTables?: AddressLookupTableAccount[]): Promise<{
|
|
13
|
+
transaction: VersionedTransaction;
|
|
14
|
+
gasLamports: number;
|
|
15
|
+
}>;
|
|
13
16
|
export declare const toRemainingAccount: (pubkey: PublicKey, isSigner: boolean, isWritable: boolean) => AccountMeta;
|
|
14
17
|
export declare const getTokenProgram: (connection: Connection, mint: PublicKey) => Promise<PublicKey>;
|
|
15
18
|
export declare function makeCreateAtaIxIfNeeded(connection: Connection, ata: PublicKey, authority: PublicKey, mint: PublicKey, tokenProgramId: PublicKey, payer: PublicKey): Promise<TransactionInstruction[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/helpers.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { ComputeBudgetProgram, PublicKey, } from "@solana/web3.js";
|
|
2
|
-
import { getMarketIndicesRecord, MarketIndex, TOKENS } from "../config/tokens.js";
|
|
3
|
-
import { createAssociatedTokenAccountInstruction, TOKEN_PROGRAM_ID } from "@solana/spl-token";
|
|
2
|
+
import { getMarketIndicesRecord, MarketIndex, TOKENS, } from "../config/tokens.js";
|
|
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, ZERO } from "../index.browser.js";
|
|
6
|
+
import { DEFAULT_COMPUTE_UNIT_LIMIT, DEFAULT_COMPUTE_UNIT_PRICE, ZERO, } from "../index.browser.js";
|
|
7
7
|
export async function delay(ms) {
|
|
8
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
8
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
9
9
|
}
|
|
10
10
|
export async function getComputeUnitLimit(connection, instructions, address, blockhash, lookupTables = []) {
|
|
11
11
|
const messageV0 = new TransactionMessage({
|
|
12
12
|
payerKey: address,
|
|
13
13
|
recentBlockhash: blockhash,
|
|
14
|
-
instructions: [...instructions]
|
|
14
|
+
instructions: [...instructions],
|
|
15
15
|
}).compileToV0Message(lookupTables);
|
|
16
16
|
const simulation = await connection.simulateTransaction(new VersionedTransaction(messageV0));
|
|
17
|
-
if (simulation.value.err
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
if (simulation.value.err ||
|
|
18
|
+
simulation.value.unitsConsumed === undefined ||
|
|
19
|
+
simulation.value.unitsConsumed === 0) {
|
|
20
20
|
console.log("Could not simulate for CUs, using default limit");
|
|
21
21
|
return DEFAULT_COMPUTE_UNIT_LIMIT;
|
|
22
22
|
}
|
|
@@ -31,14 +31,18 @@ export async function getComputeUnitLimitIx(connection, instructions, address, b
|
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
export async function getComputeUnitPrice(connection, instructions) {
|
|
34
|
-
const accounts = instructions.flatMap(instruction => instruction.keys);
|
|
35
|
-
const writeableAccounts = accounts
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
const accounts = instructions.flatMap((instruction) => instruction.keys);
|
|
35
|
+
const writeableAccounts = accounts
|
|
36
|
+
.filter((account) => account.isWritable)
|
|
37
|
+
.map((account) => account.pubkey);
|
|
38
|
+
const recentFees = await connection
|
|
39
|
+
.getRecentPrioritizationFees({
|
|
40
|
+
lockedWritableAccounts: writeableAccounts,
|
|
41
|
+
})
|
|
42
|
+
.then((fees) => fees.map((fee) => fee.prioritizationFee));
|
|
39
43
|
if (recentFees.length === 0)
|
|
40
44
|
return DEFAULT_COMPUTE_UNIT_PRICE;
|
|
41
|
-
const positiveFees = recentFees.filter(fee => fee > 0);
|
|
45
|
+
const positiveFees = recentFees.filter((fee) => fee > 0);
|
|
42
46
|
const sortedFees = [...positiveFees].sort((a, b) => a - b);
|
|
43
47
|
// Calculate Q1 and Q3
|
|
44
48
|
const q1Index = Math.floor(sortedFees.length * 0.25);
|
|
@@ -52,11 +56,10 @@ export async function getComputeUnitPrice(connection, instructions) {
|
|
|
52
56
|
const lowerBound = q1 - 1.5 * iqr;
|
|
53
57
|
const upperBound = q3 + 1.5 * iqr;
|
|
54
58
|
// Filter out outliers and calculate average
|
|
55
|
-
const filteredFees = sortedFees.filter(fee => fee >= lowerBound && fee <= upperBound);
|
|
59
|
+
const filteredFees = sortedFees.filter((fee) => fee >= lowerBound && fee <= upperBound);
|
|
56
60
|
const average = filteredFees.reduce((sum, fee) => sum + fee, 0) / filteredFees.length;
|
|
57
61
|
return Math.ceil(average);
|
|
58
62
|
}
|
|
59
|
-
;
|
|
60
63
|
export async function getComputeUnitPriceIx(connection, instructions) {
|
|
61
64
|
const computeUnitPrice = await getComputeUnitPrice(connection, instructions);
|
|
62
65
|
return ComputeBudgetProgram.setComputeUnitPrice({
|
|
@@ -65,19 +68,27 @@ export async function getComputeUnitPriceIx(connection, instructions) {
|
|
|
65
68
|
}
|
|
66
69
|
export async function buildTransaction(connection, instructions, payer, lookupTables = []) {
|
|
67
70
|
const blockhash = (await connection.getLatestBlockhash()).blockhash;
|
|
68
|
-
const
|
|
69
|
-
const
|
|
71
|
+
const computeUnitLimit = await getComputeUnitLimit(connection, instructions, payer, blockhash, lookupTables);
|
|
72
|
+
const ix_computeLimit = ComputeBudgetProgram.setComputeUnitLimit({
|
|
73
|
+
units: computeUnitLimit,
|
|
74
|
+
});
|
|
75
|
+
const computeUnitPrice = await getComputeUnitPrice(connection, instructions);
|
|
76
|
+
const ix_computePrice = ComputeBudgetProgram.setComputeUnitPrice({
|
|
77
|
+
microLamports: computeUnitPrice,
|
|
78
|
+
});
|
|
79
|
+
const baseGasLamports = 5_000;
|
|
80
|
+
const gasMicroLamports = computeUnitLimit * computeUnitPrice;
|
|
81
|
+
const gasLamports = baseGasLamports + gasMicroLamports / 1_000_000;
|
|
70
82
|
const messageV0 = new TransactionMessage({
|
|
71
83
|
payerKey: payer,
|
|
72
84
|
recentBlockhash: blockhash,
|
|
73
|
-
instructions: [
|
|
74
|
-
ix_computeLimit,
|
|
75
|
-
ix_computePrice,
|
|
76
|
-
...instructions
|
|
77
|
-
]
|
|
85
|
+
instructions: [ix_computeLimit, ix_computePrice, ...instructions],
|
|
78
86
|
}).compileToV0Message(lookupTables);
|
|
79
87
|
const transaction = new VersionedTransaction(messageV0);
|
|
80
|
-
return
|
|
88
|
+
return {
|
|
89
|
+
transaction,
|
|
90
|
+
gasLamports,
|
|
91
|
+
};
|
|
81
92
|
}
|
|
82
93
|
export const toRemainingAccount = (pubkey, isSigner, isWritable) => {
|
|
83
94
|
return {
|
|
@@ -100,11 +111,11 @@ export async function makeCreateAtaIxIfNeeded(connection, ata, authority, mint,
|
|
|
100
111
|
}
|
|
101
112
|
export function baseUnitToDecimal(baseUnits, marketIndex) {
|
|
102
113
|
const token = TOKENS[marketIndex];
|
|
103
|
-
return baseUnits /
|
|
114
|
+
return baseUnits / 10 ** token.decimalPrecision.toNumber();
|
|
104
115
|
}
|
|
105
116
|
export function decimalToBaseUnit(decimal, marketIndex) {
|
|
106
117
|
const token = TOKENS[marketIndex];
|
|
107
|
-
return Math.trunc(decimal *
|
|
118
|
+
return Math.trunc(decimal * 10 ** token.decimalPrecision.toNumber());
|
|
108
119
|
}
|
|
109
120
|
export function isMarketIndex(index) {
|
|
110
121
|
const marketIndex = index;
|
|
@@ -125,12 +136,12 @@ export async function retryWithBackoff(fn, retries = 5, initialDelay = 1_000, re
|
|
|
125
136
|
return await fn();
|
|
126
137
|
}
|
|
127
138
|
catch (error) {
|
|
128
|
-
const delay = initialDelay *
|
|
139
|
+
const delay = initialDelay * 2 ** i;
|
|
129
140
|
lastError = error;
|
|
130
141
|
if (retryCallback) {
|
|
131
142
|
retryCallback(error, delay);
|
|
132
143
|
}
|
|
133
|
-
await new Promise(resolve => setTimeout(resolve, delay));
|
|
144
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
134
145
|
}
|
|
135
146
|
}
|
|
136
147
|
throw lastError;
|
|
@@ -152,8 +163,7 @@ export function calculateWithdrawOrderBalances(withdrawOrders) {
|
|
|
152
163
|
if (!isMarketIndex(marketIndex)) {
|
|
153
164
|
throw new Error(`Invalid market index: ${marketIndex}`);
|
|
154
165
|
}
|
|
155
|
-
openOrdersBalance[marketIndex] = openOrdersBalance[marketIndex]
|
|
156
|
-
.add(order.amountBaseUnits);
|
|
166
|
+
openOrdersBalance[marketIndex] = openOrdersBalance[marketIndex].add(order.amountBaseUnits);
|
|
157
167
|
}
|
|
158
168
|
return openOrdersBalance;
|
|
159
169
|
}
|
|
@@ -187,8 +197,8 @@ export async function getPrices(pythFirst = true, marketIndices = [...MarketInde
|
|
|
187
197
|
}
|
|
188
198
|
async function getPricesPyth(marketIndices = [...MarketIndex]) {
|
|
189
199
|
const pythPriceFeedIdParams = marketIndices
|
|
190
|
-
.filter(index => index !== 29) // Filter out META, it's not on Pyth
|
|
191
|
-
.map(index => `ids%5B%5D=${TOKENS[index].pythPriceFeedId}`);
|
|
200
|
+
.filter((index) => index !== 29) // Filter out META, it's not on Pyth
|
|
201
|
+
.map((index) => `ids%5B%5D=${TOKENS[index].pythPriceFeedId}`);
|
|
192
202
|
const endpoint = `https://hermes.pyth.network/v2/updates/price/latest?${pythPriceFeedIdParams.join("&")}`;
|
|
193
203
|
const body = await fetchAndParse(endpoint);
|
|
194
204
|
const pricesData = body.parsed;
|
|
@@ -197,16 +207,18 @@ async function getPricesPyth(marketIndices = [...MarketIndex]) {
|
|
|
197
207
|
prices[index] = 0;
|
|
198
208
|
}
|
|
199
209
|
for (const priceData of pricesData) {
|
|
200
|
-
const marketIndex = MarketIndex.find(index => TOKENS[index].pythPriceFeedId.slice(2) === priceData.id);
|
|
210
|
+
const marketIndex = MarketIndex.find((index) => TOKENS[index].pythPriceFeedId.slice(2) === priceData.id);
|
|
201
211
|
if (marketIndex === undefined)
|
|
202
212
|
continue;
|
|
203
|
-
const price = Number(priceData.price.price) *
|
|
213
|
+
const price = Number(priceData.price.price) * 10 ** priceData.price.expo;
|
|
204
214
|
prices[marketIndex] = price;
|
|
205
215
|
}
|
|
206
216
|
return prices;
|
|
207
217
|
}
|
|
208
218
|
async function getPricesCoinGecko(marketIndices = [...MarketIndex]) {
|
|
209
|
-
const coinGeckoIdParams = marketIndices
|
|
219
|
+
const coinGeckoIdParams = marketIndices
|
|
220
|
+
.map((index) => TOKENS[index].coingeckoPriceId)
|
|
221
|
+
.join(",");
|
|
210
222
|
const endpoint = `https://api.coingecko.com/api/v3/simple/price?ids=${coinGeckoIdParams}&vs_currencies=usd`;
|
|
211
223
|
const body = await fetchAndParse(endpoint);
|
|
212
224
|
const prices = {};
|
|
@@ -214,7 +226,7 @@ async function getPricesCoinGecko(marketIndices = [...MarketIndex]) {
|
|
|
214
226
|
prices[index] = 0;
|
|
215
227
|
}
|
|
216
228
|
for (const id of Object.keys(body)) {
|
|
217
|
-
const marketIndex = MarketIndex.find(index => TOKENS[index].coingeckoPriceId === id);
|
|
229
|
+
const marketIndex = MarketIndex.find((index) => TOKENS[index].coingeckoPriceId === id);
|
|
218
230
|
if (marketIndex === undefined)
|
|
219
231
|
continue;
|
|
220
232
|
const value = body[id];
|
|
@@ -243,7 +255,7 @@ export async function fetchAndParse(url, req, retries = 0) {
|
|
|
243
255
|
}
|
|
244
256
|
const error = {
|
|
245
257
|
status: response.status,
|
|
246
|
-
body
|
|
258
|
+
body,
|
|
247
259
|
};
|
|
248
260
|
throw new Error(JSON.stringify(error) ?? `Could not fetch ${url}`);
|
|
249
261
|
}
|
|
@@ -263,6 +275,6 @@ export function buildEndpointURL(baseEndpoint, params) {
|
|
|
263
275
|
stringParams[key] = String(value);
|
|
264
276
|
}
|
|
265
277
|
const searchParams = new URLSearchParams(stringParams);
|
|
266
|
-
return `${baseEndpoint}${params ? `?${searchParams.toString()}` :
|
|
278
|
+
return `${baseEndpoint}${params ? `?${searchParams.toString()}` : ""}`;
|
|
267
279
|
}
|
|
268
280
|
//# 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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"}
|