@hawksightco/hawk-sdk 1.3.169 → 1.3.171
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/src/addresses.d.ts +1 -0
- package/dist/src/addresses.d.ts.map +1 -1
- package/dist/src/addresses.js +2 -1
- package/dist/src/classes/Transactions.d.ts +72 -1
- package/dist/src/classes/Transactions.d.ts.map +1 -1
- package/dist/src/classes/Transactions.js +560 -0
- package/dist/src/classes/TxGenerator.d.ts +72 -1
- package/dist/src/classes/TxGenerator.d.ts.map +1 -1
- package/dist/src/classes/TxGenerator.js +332 -0
- package/dist/src/functions.d.ts +18 -1
- package/dist/src/functions.d.ts.map +1 -1
- package/dist/src/functions.js +148 -0
- package/dist/src/idl/jupiter-idl.d.ts +36 -0
- package/dist/src/idl/jupiter-idl.d.ts.map +1 -1
- package/dist/src/idl/jupiter-idl.js +36 -0
- package/dist/src/ixGenerator/IyfMainIxGenerator.d.ts +6 -0
- package/dist/src/ixGenerator/IyfMainIxGenerator.d.ts.map +1 -1
- package/dist/src/ixGenerator/IyfMainIxGenerator.js +22 -0
- package/dist/src/ixGenerator/MeteoraDlmmIxGenerator.d.ts +167 -1
- package/dist/src/ixGenerator/MeteoraDlmmIxGenerator.d.ts.map +1 -1
- package/dist/src/ixGenerator/MeteoraDlmmIxGenerator.js +517 -0
- package/dist/src/meteora/index.d.ts +2 -0
- package/dist/src/meteora/index.d.ts.map +1 -0
- package/dist/src/meteora/index.js +17 -0
- package/dist/src/meteora/liquidityStrategy.d.ts +268 -0
- package/dist/src/meteora/liquidityStrategy.d.ts.map +1 -0
- package/dist/src/meteora/liquidityStrategy.js +1069 -0
- package/dist/src/meteora.d.ts +1 -0
- package/dist/src/meteora.d.ts.map +1 -1
- package/dist/src/meteora.js +6 -2
- package/dist/src/types.d.ts +139 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +16 -1
- package/package.json +7 -3
- package/test/artifacts/temp/.gitignore +2 -0
- package/test/artifacts/temp/accounts/.gitignore +2 -0
- package/test/visualization/output/.gitignore +2 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import BN from 'bn.js';
|
|
2
|
+
/**
|
|
3
|
+
* Liquidity strategy types matching Meteora DLMM SDK.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum StrategyType {
|
|
6
|
+
/** Uniform distribution - equal value per bin (adjusted for price) */
|
|
7
|
+
SPOT = 0,
|
|
8
|
+
/** Curve distribution - decreasing amounts away from active bin */
|
|
9
|
+
CURVE = 1,
|
|
10
|
+
/** Bid-Ask distribution - increasing amounts away from active bin */
|
|
11
|
+
BID_ASK = 2
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Liquidity strategy parameters for rebalanceLiquidity instruction.
|
|
15
|
+
* These parameters define how liquidity is distributed across bins.
|
|
16
|
+
*
|
|
17
|
+
* For SPOT strategy: deltaX = 0, deltaY = 0 (uniform distribution)
|
|
18
|
+
* For CURVE strategy: deltaX < 0, deltaY < 0 (decreasing away from active)
|
|
19
|
+
* For BID_ASK strategy: deltaX > 0, deltaY > 0 (increasing away from active)
|
|
20
|
+
*
|
|
21
|
+
* Amount per bin is calculated as:
|
|
22
|
+
* - Ask side (X): amountX = (x0 + deltaX * deltaId) * price_weight
|
|
23
|
+
* - Bid side (Y): amountY = y0 + deltaY * distance_from_active
|
|
24
|
+
*/
|
|
25
|
+
export interface LiquidityStrategyParameters {
|
|
26
|
+
/** Base amount for X token (ask side) */
|
|
27
|
+
x0: BN;
|
|
28
|
+
/** Base amount for Y token (bid side) */
|
|
29
|
+
y0: BN;
|
|
30
|
+
/** Delta change per bin for X (0 for SPOT, negative for CURVE, positive for BID_ASK) */
|
|
31
|
+
deltaX: BN;
|
|
32
|
+
/** Delta change per bin for Y (0 for SPOT, negative for CURVE, positive for BID_ASK) */
|
|
33
|
+
deltaY: BN;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Calculates the Q-price from a bin ID.
|
|
37
|
+
* Price = (1 + binStep/10000)^binId in Q64.64 format.
|
|
38
|
+
*
|
|
39
|
+
* Uses binary exponentiation matching Meteora SDK for precision.
|
|
40
|
+
*
|
|
41
|
+
* @param binId - The bin ID (can be negative)
|
|
42
|
+
* @param binStep - The bin step in basis points
|
|
43
|
+
* @returns Price in Q64.64 fixed-point format
|
|
44
|
+
*/
|
|
45
|
+
export declare function getQPriceFromId(binId: BN, binStep: BN): BN;
|
|
46
|
+
/**
|
|
47
|
+
* Builds liquidity strategy parameters for SPOT (uniform) distribution.
|
|
48
|
+
*
|
|
49
|
+
* This function calculates x0 and y0 values that will distribute the given amounts
|
|
50
|
+
* uniformly across the specified bin range when used with the rebalanceLiquidity instruction.
|
|
51
|
+
*
|
|
52
|
+
* The function handles three cases:
|
|
53
|
+
* 1. Position entirely below active bin (bid side only) → only Y deposited
|
|
54
|
+
* 2. Position entirely above active bin (ask side only) → only X deposited
|
|
55
|
+
* 3. Position spans active bin → both X and Y deposited
|
|
56
|
+
*
|
|
57
|
+
* @param amountX - Total X amount to deposit
|
|
58
|
+
* @param amountY - Total Y amount to deposit
|
|
59
|
+
* @param minDeltaId - Minimum delta ID (lowerBinId - activeId)
|
|
60
|
+
* @param maxDeltaId - Maximum delta ID (upperBinId - activeId)
|
|
61
|
+
* @param binStep - The bin step in basis points
|
|
62
|
+
* @param activeId - The active bin ID
|
|
63
|
+
* @param favorXInActiveId - Whether X is favored in the active bin (affects bid/ask boundary)
|
|
64
|
+
* @returns Strategy parameters { x0, y0, deltaX, deltaY }
|
|
65
|
+
*/
|
|
66
|
+
export declare function buildSpotStrategyParameters(amountX: BN, amountY: BN, minDeltaId: BN, maxDeltaId: BN, binStep: BN, activeId: BN, favorXInActiveId?: boolean): LiquidityStrategyParameters;
|
|
67
|
+
/**
|
|
68
|
+
* Resets strategy parameters for a chunk that may not span the full position range.
|
|
69
|
+
*
|
|
70
|
+
* When splitting a position into chunks, each chunk may only cover part of the range:
|
|
71
|
+
* - If chunk is entirely on bid side → zero out X parameters
|
|
72
|
+
* - If chunk is entirely on ask side → zero out Y parameters
|
|
73
|
+
* - If chunk spans active bin → keep both X and Y parameters
|
|
74
|
+
*
|
|
75
|
+
* @param minDeltaId - Chunk's minimum delta ID
|
|
76
|
+
* @param maxDeltaId - Chunk's maximum delta ID
|
|
77
|
+
* @param favorXInActiveId - Whether X is favored in the active bin
|
|
78
|
+
* @param params - Original strategy parameters from buildSpotStrategyParameters
|
|
79
|
+
* @returns Adjusted parameters for the chunk
|
|
80
|
+
*/
|
|
81
|
+
export declare function resetUninvolvedLiquidityParams(minDeltaId: BN, maxDeltaId: BN, favorXInActiveId: boolean, params: LiquidityStrategyParameters): LiquidityStrategyParameters;
|
|
82
|
+
/**
|
|
83
|
+
* Calculates the actual X amount that will be deposited into a bin on the ask side.
|
|
84
|
+
*
|
|
85
|
+
* For SPOT strategy: amountX = x0 * price_weight
|
|
86
|
+
* where price_weight = (1 + binStep/10000)^(-(activeId + deltaId))
|
|
87
|
+
*
|
|
88
|
+
* @param x0 - Base X amount from strategy parameters
|
|
89
|
+
* @param deltaId - Delta ID relative to active bin
|
|
90
|
+
* @param binStep - The bin step in basis points
|
|
91
|
+
* @param activeId - The active bin ID
|
|
92
|
+
* @returns Amount of X for this bin
|
|
93
|
+
*/
|
|
94
|
+
export declare function getAmountXForBin(x0: BN, deltaId: BN, binStep: BN, activeId: BN): BN;
|
|
95
|
+
/**
|
|
96
|
+
* Calculates the actual Y amount that will be deposited into a bin on the bid side.
|
|
97
|
+
*
|
|
98
|
+
* For SPOT strategy: amountY = y0 (constant per bin)
|
|
99
|
+
*
|
|
100
|
+
* @param y0 - Base Y amount from strategy parameters
|
|
101
|
+
* @returns Amount of Y for this bin
|
|
102
|
+
*/
|
|
103
|
+
export declare function getAmountYForBin(y0: BN): BN;
|
|
104
|
+
/**
|
|
105
|
+
* Calculates total X and Y amounts for a chunk based on strategy parameters.
|
|
106
|
+
*
|
|
107
|
+
* This iterates through each bin in the chunk and sums up the amounts.
|
|
108
|
+
*
|
|
109
|
+
* @param activeId - The active bin ID
|
|
110
|
+
* @param minDeltaId - Chunk's minimum delta ID
|
|
111
|
+
* @param maxDeltaId - Chunk's maximum delta ID
|
|
112
|
+
* @param params - Strategy parameters (after resetUninvolvedLiquidityParams)
|
|
113
|
+
* @param binStep - The bin step in basis points
|
|
114
|
+
* @param favorXInActiveId - Whether X is favored in the active bin
|
|
115
|
+
* @returns Total X and Y amounts for the chunk
|
|
116
|
+
*/
|
|
117
|
+
export declare function calculateChunkAmounts(activeId: BN, minDeltaId: BN, maxDeltaId: BN, params: LiquidityStrategyParameters, binStep: BN, favorXInActiveId: boolean): {
|
|
118
|
+
totalXAmount: BN;
|
|
119
|
+
totalYAmount: BN;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Builds liquidity strategy parameters for CURVE distribution.
|
|
123
|
+
*
|
|
124
|
+
* CURVE strategy concentrates liquidity near the active bin with amounts
|
|
125
|
+
* decreasing as you move away. This is achieved with negative deltaX/deltaY.
|
|
126
|
+
*
|
|
127
|
+
* @param amountX - Total X amount to deposit
|
|
128
|
+
* @param amountY - Total Y amount to deposit
|
|
129
|
+
* @param minDeltaId - Minimum delta ID (lowerBinId - activeId)
|
|
130
|
+
* @param maxDeltaId - Maximum delta ID (upperBinId - activeId)
|
|
131
|
+
* @param binStep - The bin step in basis points
|
|
132
|
+
* @param activeId - The active bin ID
|
|
133
|
+
* @param favorXInActiveId - Whether X is favored in the active bin
|
|
134
|
+
* @returns Strategy parameters { x0, y0, deltaX, deltaY }
|
|
135
|
+
*/
|
|
136
|
+
export declare function buildCurveStrategyParameters(amountX: BN, amountY: BN, minDeltaId: BN, maxDeltaId: BN, binStep: BN, activeId: BN, favorXInActiveId?: boolean): LiquidityStrategyParameters;
|
|
137
|
+
/**
|
|
138
|
+
* Builds liquidity strategy parameters for BID_ASK distribution.
|
|
139
|
+
*
|
|
140
|
+
* BID_ASK strategy has liquidity increasing away from the active bin.
|
|
141
|
+
* This is achieved with positive deltaX/deltaY values.
|
|
142
|
+
*
|
|
143
|
+
* @param amountX - Total X amount to deposit
|
|
144
|
+
* @param amountY - Total Y amount to deposit
|
|
145
|
+
* @param minDeltaId - Minimum delta ID (lowerBinId - activeId)
|
|
146
|
+
* @param maxDeltaId - Maximum delta ID (upperBinId - activeId)
|
|
147
|
+
* @param binStep - The bin step in basis points
|
|
148
|
+
* @param activeId - The active bin ID
|
|
149
|
+
* @param favorXInActiveId - Whether X is favored in the active bin
|
|
150
|
+
* @returns Strategy parameters { x0, y0, deltaX, deltaY }
|
|
151
|
+
*/
|
|
152
|
+
export declare function buildBidAskStrategyParameters(amountX: BN, amountY: BN, minDeltaId: BN, maxDeltaId: BN, binStep: BN, activeId: BN, favorXInActiveId?: boolean): LiquidityStrategyParameters;
|
|
153
|
+
/**
|
|
154
|
+
* Builds liquidity strategy parameters for the specified strategy type.
|
|
155
|
+
*
|
|
156
|
+
* This is the main entry point that dispatches to the appropriate strategy builder.
|
|
157
|
+
*
|
|
158
|
+
* @param strategyType - The type of strategy (SPOT, CURVE, or BID_ASK)
|
|
159
|
+
* @param amountX - Total X amount to deposit
|
|
160
|
+
* @param amountY - Total Y amount to deposit
|
|
161
|
+
* @param minDeltaId - Minimum delta ID (lowerBinId - activeId)
|
|
162
|
+
* @param maxDeltaId - Maximum delta ID (upperBinId - activeId)
|
|
163
|
+
* @param binStep - The bin step in basis points
|
|
164
|
+
* @param activeId - The active bin ID
|
|
165
|
+
* @param favorXInActiveId - Whether X is favored in the active bin
|
|
166
|
+
* @returns Strategy parameters { x0, y0, deltaX, deltaY }
|
|
167
|
+
*/
|
|
168
|
+
export declare function buildStrategyParameters(strategyType: StrategyType, amountX: BN, amountY: BN, minDeltaId: BN, maxDeltaId: BN, binStep: BN, activeId: BN, favorXInActiveId?: boolean): LiquidityStrategyParameters;
|
|
169
|
+
/**
|
|
170
|
+
* Represents a bin range chunk with its calculated deposit amounts.
|
|
171
|
+
*/
|
|
172
|
+
export interface ChunkedDepositParameters {
|
|
173
|
+
/** Lower bin ID of this chunk (absolute bin ID) */
|
|
174
|
+
lowerBinId: number;
|
|
175
|
+
/** Upper bin ID of this chunk (absolute bin ID) */
|
|
176
|
+
upperBinId: number;
|
|
177
|
+
/** Minimum delta ID relative to active bin */
|
|
178
|
+
minDeltaId: BN;
|
|
179
|
+
/** Maximum delta ID relative to active bin */
|
|
180
|
+
maxDeltaId: BN;
|
|
181
|
+
/** Strategy parameters adjusted for this chunk */
|
|
182
|
+
params: LiquidityStrategyParameters;
|
|
183
|
+
/** Maximum X amount to deposit in this chunk */
|
|
184
|
+
maxAmountX: BN;
|
|
185
|
+
/** Maximum Y amount to deposit in this chunk */
|
|
186
|
+
maxAmountY: BN;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Divides a bin range into chunks of specified size.
|
|
190
|
+
*
|
|
191
|
+
* This is similar to Meteora's `chunkBinRange` but with a configurable chunk size
|
|
192
|
+
* instead of a fixed 70-bin limit.
|
|
193
|
+
*
|
|
194
|
+
* @param minBinId - The starting bin ID of the range (absolute bin ID)
|
|
195
|
+
* @param maxBinId - The ending bin ID of the range (absolute bin ID)
|
|
196
|
+
* @param chunkSize - Maximum number of bins per chunk
|
|
197
|
+
* @returns Array of bin range chunks
|
|
198
|
+
*/
|
|
199
|
+
export declare function chunkBinRange(minBinId: number, maxBinId: number, chunkSize: number): {
|
|
200
|
+
lowerBinId: number;
|
|
201
|
+
upperBinId: number;
|
|
202
|
+
}[];
|
|
203
|
+
/**
|
|
204
|
+
* Converts strategy parameters to on-chain format with bit flag for negative values.
|
|
205
|
+
*
|
|
206
|
+
* The Solana program uses unsigned integers, so negative values are stored as
|
|
207
|
+
* positive with a bit flag indicating the sign.
|
|
208
|
+
*
|
|
209
|
+
* Bit flags:
|
|
210
|
+
* - Bit 0 (0b0001): x0 is negative
|
|
211
|
+
* - Bit 1 (0b0010): y0 is negative
|
|
212
|
+
* - Bit 2 (0b0100): deltaX is negative
|
|
213
|
+
* - Bit 3 (0b1000): deltaY is negative
|
|
214
|
+
*
|
|
215
|
+
* @param x0 - Base X amount (may be negative)
|
|
216
|
+
* @param y0 - Base Y amount (may be negative)
|
|
217
|
+
* @param deltaX - Delta X per bin (may be negative)
|
|
218
|
+
* @param deltaY - Delta Y per bin (may be negative)
|
|
219
|
+
* @returns Parameters with absolute values and bit flag
|
|
220
|
+
*/
|
|
221
|
+
export declare function buildBitFlagAndNegateStrategyParameters(x0: BN, y0: BN, deltaX: BN, deltaY: BN): {
|
|
222
|
+
bitFlag: number;
|
|
223
|
+
x0: BN;
|
|
224
|
+
y0: BN;
|
|
225
|
+
deltaX: BN;
|
|
226
|
+
deltaY: BN;
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* Calculates amounts for each bin in a range.
|
|
230
|
+
*
|
|
231
|
+
* This function iterates through all bins and calculates the X/Y amount
|
|
232
|
+
* for each bin based on the strategy parameters.
|
|
233
|
+
*
|
|
234
|
+
* @param activeId - The active bin ID
|
|
235
|
+
* @param minDeltaId - Minimum delta ID relative to active bin
|
|
236
|
+
* @param maxDeltaId - Maximum delta ID relative to active bin
|
|
237
|
+
* @param deltaX - Delta X per bin
|
|
238
|
+
* @param deltaY - Delta Y per bin
|
|
239
|
+
* @param x0 - Base X amount
|
|
240
|
+
* @param y0 - Base Y amount
|
|
241
|
+
* @param binStep - Bin step in basis points
|
|
242
|
+
* @param favorXInActiveBin - Whether X is favored in active bin
|
|
243
|
+
* @returns Array of { binId, amountX, amountY } for each bin
|
|
244
|
+
*/
|
|
245
|
+
export declare function toAmountIntoBins(activeId: BN, minDeltaId: BN, maxDeltaId: BN, deltaX: BN, deltaY: BN, x0: BN, y0: BN, binStep: BN, favorXInActiveBin: boolean): {
|
|
246
|
+
binId: number;
|
|
247
|
+
amountX: BN;
|
|
248
|
+
amountY: BN;
|
|
249
|
+
}[];
|
|
250
|
+
/**
|
|
251
|
+
* Chunks a deposit into multiple transactions based on bin range.
|
|
252
|
+
*
|
|
253
|
+
* This function:
|
|
254
|
+
* 1. Takes pre-built strategy parameters for the entire position
|
|
255
|
+
* 2. Chunks the bin range into smaller ranges
|
|
256
|
+
* 3. For each chunk, adjusts params and calculates amounts
|
|
257
|
+
*
|
|
258
|
+
* @param params - Strategy parameters from buildStrategyParameters (for entire position)
|
|
259
|
+
* @param minDeltaId - Minimum delta ID (lowerBinId - activeId)
|
|
260
|
+
* @param maxDeltaId - Maximum delta ID (upperBinId - activeId)
|
|
261
|
+
* @param activeId - Current active bin ID
|
|
262
|
+
* @param binStep - Bin step in basis points
|
|
263
|
+
* @param chunkSize - Maximum bins per chunk
|
|
264
|
+
* @param favorXInActiveBin - Whether X is favored in active bin
|
|
265
|
+
* @returns Array of chunked deposit parameters
|
|
266
|
+
*/
|
|
267
|
+
export declare function chunkDepositParameters(params: LiquidityStrategyParameters, minDeltaId: BN, maxDeltaId: BN, activeId: BN, binStep: BN, chunkSize: number, favorXInActiveBin?: boolean): ChunkedDepositParameters[];
|
|
268
|
+
//# sourceMappingURL=liquidityStrategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liquidityStrategy.d.ts","sourceRoot":"","sources":["../../../src/meteora/liquidityStrategy.ts"],"names":[],"mappings":"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"}
|