@flashnet/sdk 0.4.4 → 0.5.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/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +17 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/src/api/typed-endpoints.d.ts +70 -0
- package/dist/cjs/src/api/typed-endpoints.d.ts.map +1 -1
- package/dist/cjs/src/api/typed-endpoints.js +106 -11
- package/dist/cjs/src/api/typed-endpoints.js.map +1 -1
- package/dist/cjs/src/client/FlashnetClient.d.ts +181 -1
- package/dist/cjs/src/client/FlashnetClient.d.ts.map +1 -1
- package/dist/cjs/src/client/FlashnetClient.js +478 -14
- package/dist/cjs/src/client/FlashnetClient.js.map +1 -1
- package/dist/cjs/src/config/index.js +1 -1
- package/dist/cjs/src/types/errors.js +11 -11
- package/dist/cjs/src/types/index.d.ts +414 -0
- package/dist/cjs/src/types/index.d.ts.map +1 -1
- package/dist/cjs/src/types/index.js +1 -1
- package/dist/cjs/src/utils/index.d.ts +1 -0
- package/dist/cjs/src/utils/index.d.ts.map +1 -1
- package/dist/cjs/src/utils/index.js.map +1 -1
- package/dist/cjs/src/utils/intents.d.ts +91 -0
- package/dist/cjs/src/utils/intents.d.ts.map +1 -1
- package/dist/cjs/src/utils/intents.js +117 -0
- package/dist/cjs/src/utils/intents.js.map +1 -1
- package/dist/cjs/src/utils/spark-address.js +2 -2
- package/dist/cjs/src/utils/tick-math.d.ts +240 -0
- package/dist/cjs/src/utils/tick-math.d.ts.map +1 -0
- package/dist/cjs/src/utils/tick-math.js +299 -0
- package/dist/cjs/src/utils/tick-math.js.map +1 -0
- package/dist/cjs/src/utils/tokenAddress.js +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/src/api/typed-endpoints.d.ts +70 -0
- package/dist/esm/src/api/typed-endpoints.d.ts.map +1 -1
- package/dist/esm/src/api/typed-endpoints.js +106 -11
- package/dist/esm/src/api/typed-endpoints.js.map +1 -1
- package/dist/esm/src/client/FlashnetClient.d.ts +181 -1
- package/dist/esm/src/client/FlashnetClient.d.ts.map +1 -1
- package/dist/esm/src/client/FlashnetClient.js +479 -15
- package/dist/esm/src/client/FlashnetClient.js.map +1 -1
- package/dist/esm/src/config/index.js +1 -1
- package/dist/esm/src/types/errors.js +11 -11
- package/dist/esm/src/types/index.d.ts +414 -0
- package/dist/esm/src/types/index.d.ts.map +1 -1
- package/dist/esm/src/types/index.js +1 -1
- package/dist/esm/src/utils/index.d.ts +1 -0
- package/dist/esm/src/utils/index.d.ts.map +1 -1
- package/dist/esm/src/utils/index.js.map +1 -1
- package/dist/esm/src/utils/intents.d.ts +91 -0
- package/dist/esm/src/utils/intents.d.ts.map +1 -1
- package/dist/esm/src/utils/intents.js +112 -1
- package/dist/esm/src/utils/intents.js.map +1 -1
- package/dist/esm/src/utils/spark-address.js +2 -2
- package/dist/esm/src/utils/tick-math.d.ts +240 -0
- package/dist/esm/src/utils/tick-math.d.ts.map +1 -0
- package/dist/esm/src/utils/tick-math.js +287 -0
- package/dist/esm/src/utils/tick-math.js.map +1 -0
- package/dist/esm/src/utils/tokenAddress.js +1 -1
- package/package.json +6 -3
|
@@ -150,4 +150,95 @@ export declare function generateClawbackIntentMessage(params: {
|
|
|
150
150
|
lpIdentityPublicKey: string;
|
|
151
151
|
nonce: string;
|
|
152
152
|
}): Uint8Array;
|
|
153
|
+
/**
|
|
154
|
+
* Generate the intent message for creating a concentrated liquidity pool (V3)
|
|
155
|
+
* @param params Parameters for pool creation
|
|
156
|
+
* @returns The serialized intent message as Uint8Array
|
|
157
|
+
*/
|
|
158
|
+
export declare function generateCreateConcentratedPoolIntentMessage(params: {
|
|
159
|
+
poolOwnerPublicKey: string;
|
|
160
|
+
assetAAddress: string;
|
|
161
|
+
assetBAddress: string;
|
|
162
|
+
tickSpacing: number;
|
|
163
|
+
initialPrice: string;
|
|
164
|
+
lpFeeRateBps: string;
|
|
165
|
+
hostFeeRateBps: string;
|
|
166
|
+
nonce: string;
|
|
167
|
+
}): Uint8Array;
|
|
168
|
+
/**
|
|
169
|
+
* Generate the intent message for increasing liquidity in a V3 position
|
|
170
|
+
* @param params Parameters for increasing liquidity
|
|
171
|
+
* @returns The serialized intent message as Uint8Array
|
|
172
|
+
*/
|
|
173
|
+
export declare function generateIncreaseLiquidityIntentMessage(params: {
|
|
174
|
+
userPublicKey: string;
|
|
175
|
+
lpIdentityPublicKey: string;
|
|
176
|
+
tickLower: number;
|
|
177
|
+
tickUpper: number;
|
|
178
|
+
assetASparkTransferId: string;
|
|
179
|
+
assetBSparkTransferId: string;
|
|
180
|
+
amountADesired: string;
|
|
181
|
+
amountBDesired: string;
|
|
182
|
+
amountAMin: string;
|
|
183
|
+
amountBMin: string;
|
|
184
|
+
nonce: string;
|
|
185
|
+
}): Uint8Array;
|
|
186
|
+
/**
|
|
187
|
+
* Generate the intent message for decreasing liquidity in a V3 position
|
|
188
|
+
* @param params Parameters for decreasing liquidity
|
|
189
|
+
* @returns The serialized intent message as Uint8Array
|
|
190
|
+
*/
|
|
191
|
+
export declare function generateDecreaseLiquidityIntentMessage(params: {
|
|
192
|
+
userPublicKey: string;
|
|
193
|
+
lpIdentityPublicKey: string;
|
|
194
|
+
tickLower: number;
|
|
195
|
+
tickUpper: number;
|
|
196
|
+
liquidityToRemove: string;
|
|
197
|
+
amountAMin: string;
|
|
198
|
+
amountBMin: string;
|
|
199
|
+
nonce: string;
|
|
200
|
+
}): Uint8Array;
|
|
201
|
+
/**
|
|
202
|
+
* Generate the intent message for collecting fees from a V3 position
|
|
203
|
+
* @param params Parameters for collecting fees
|
|
204
|
+
* @returns The serialized intent message as Uint8Array
|
|
205
|
+
*/
|
|
206
|
+
export declare function generateCollectFeesIntentMessage(params: {
|
|
207
|
+
userPublicKey: string;
|
|
208
|
+
lpIdentityPublicKey: string;
|
|
209
|
+
tickLower: number;
|
|
210
|
+
tickUpper: number;
|
|
211
|
+
nonce: string;
|
|
212
|
+
}): Uint8Array;
|
|
213
|
+
/**
|
|
214
|
+
* Generate the intent message for rebalancing a V3 position to a new tick range
|
|
215
|
+
* @param params Parameters for rebalancing position
|
|
216
|
+
* @returns The serialized intent message as Uint8Array
|
|
217
|
+
*/
|
|
218
|
+
export declare function generateRebalancePositionIntentMessage(params: {
|
|
219
|
+
userPublicKey: string;
|
|
220
|
+
lpIdentityPublicKey: string;
|
|
221
|
+
oldTickLower: number;
|
|
222
|
+
oldTickUpper: number;
|
|
223
|
+
newTickLower: number;
|
|
224
|
+
newTickUpper: number;
|
|
225
|
+
liquidityToMove: string;
|
|
226
|
+
assetASparkTransferId?: string;
|
|
227
|
+
assetBSparkTransferId?: string;
|
|
228
|
+
additionalAmountA?: string;
|
|
229
|
+
additionalAmountB?: string;
|
|
230
|
+
nonce: string;
|
|
231
|
+
}): Uint8Array;
|
|
232
|
+
/**
|
|
233
|
+
* Generate the intent message for withdrawing free balance from a V3 pool
|
|
234
|
+
* @param params Parameters for withdrawing balance
|
|
235
|
+
* @returns The serialized intent message as Uint8Array
|
|
236
|
+
*/
|
|
237
|
+
export declare function generateWithdrawBalanceIntentMessage(params: {
|
|
238
|
+
userPublicKey: string;
|
|
239
|
+
lpIdentityPublicKey: string;
|
|
240
|
+
amountA: string;
|
|
241
|
+
amountB: string;
|
|
242
|
+
nonce: string;
|
|
243
|
+
}): Uint8Array;
|
|
153
244
|
//# sourceMappingURL=intents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intents.d.ts","sourceRoot":"","sources":["../../../../src/utils/intents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAChC,mCAAmC,EACnC,eAAe,EACf,eAAe,EACf,kBAAkB,
|
|
1
|
+
{"version":3,"file":"intents.d.ts","sourceRoot":"","sources":["../../../../src/utils/intents.ts"],"names":[],"mappings":"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"}
|
|
@@ -215,6 +215,117 @@ function generateClawbackIntentMessage(params) {
|
|
|
215
215
|
};
|
|
216
216
|
return new TextEncoder().encode(JSON.stringify(signingPayload));
|
|
217
217
|
}
|
|
218
|
+
// V3 CONCENTRATED LIQUIDITY INTENT GENERATORS
|
|
219
|
+
/**
|
|
220
|
+
* Generate the intent message for creating a concentrated liquidity pool (V3)
|
|
221
|
+
* @param params Parameters for pool creation
|
|
222
|
+
* @returns The serialized intent message as Uint8Array
|
|
223
|
+
*/
|
|
224
|
+
function generateCreateConcentratedPoolIntentMessage(params) {
|
|
225
|
+
const intentMessage = {
|
|
226
|
+
poolOwnerPublicKey: params.poolOwnerPublicKey,
|
|
227
|
+
assetAAddress: params.assetAAddress,
|
|
228
|
+
assetBAddress: params.assetBAddress,
|
|
229
|
+
tickSpacing: params.tickSpacing,
|
|
230
|
+
initialPrice: params.initialPrice,
|
|
231
|
+
lpFeeRateBps: params.lpFeeRateBps,
|
|
232
|
+
hostFeeRateBps: params.hostFeeRateBps,
|
|
233
|
+
nonce: params.nonce,
|
|
234
|
+
};
|
|
235
|
+
return new TextEncoder().encode(JSON.stringify(intentMessage));
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Generate the intent message for increasing liquidity in a V3 position
|
|
239
|
+
* @param params Parameters for increasing liquidity
|
|
240
|
+
* @returns The serialized intent message as Uint8Array
|
|
241
|
+
*/
|
|
242
|
+
function generateIncreaseLiquidityIntentMessage(params) {
|
|
243
|
+
const intentMessage = {
|
|
244
|
+
userPublicKey: params.userPublicKey,
|
|
245
|
+
lpIdentityPublicKey: params.lpIdentityPublicKey,
|
|
246
|
+
tickLower: params.tickLower,
|
|
247
|
+
tickUpper: params.tickUpper,
|
|
248
|
+
assetASparkTransferId: params.assetASparkTransferId,
|
|
249
|
+
assetBSparkTransferId: params.assetBSparkTransferId,
|
|
250
|
+
amountADesired: params.amountADesired,
|
|
251
|
+
amountBDesired: params.amountBDesired,
|
|
252
|
+
amountAMin: params.amountAMin,
|
|
253
|
+
amountBMin: params.amountBMin,
|
|
254
|
+
nonce: params.nonce,
|
|
255
|
+
};
|
|
256
|
+
return new TextEncoder().encode(JSON.stringify(intentMessage));
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Generate the intent message for decreasing liquidity in a V3 position
|
|
260
|
+
* @param params Parameters for decreasing liquidity
|
|
261
|
+
* @returns The serialized intent message as Uint8Array
|
|
262
|
+
*/
|
|
263
|
+
function generateDecreaseLiquidityIntentMessage(params) {
|
|
264
|
+
const intentMessage = {
|
|
265
|
+
userPublicKey: params.userPublicKey,
|
|
266
|
+
lpIdentityPublicKey: params.lpIdentityPublicKey,
|
|
267
|
+
tickLower: params.tickLower,
|
|
268
|
+
tickUpper: params.tickUpper,
|
|
269
|
+
liquidityToRemove: params.liquidityToRemove,
|
|
270
|
+
amountAMin: params.amountAMin,
|
|
271
|
+
amountBMin: params.amountBMin,
|
|
272
|
+
nonce: params.nonce,
|
|
273
|
+
};
|
|
274
|
+
return new TextEncoder().encode(JSON.stringify(intentMessage));
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Generate the intent message for collecting fees from a V3 position
|
|
278
|
+
* @param params Parameters for collecting fees
|
|
279
|
+
* @returns The serialized intent message as Uint8Array
|
|
280
|
+
*/
|
|
281
|
+
function generateCollectFeesIntentMessage(params) {
|
|
282
|
+
const intentMessage = {
|
|
283
|
+
userPublicKey: params.userPublicKey,
|
|
284
|
+
lpIdentityPublicKey: params.lpIdentityPublicKey,
|
|
285
|
+
tickLower: params.tickLower,
|
|
286
|
+
tickUpper: params.tickUpper,
|
|
287
|
+
nonce: params.nonce,
|
|
288
|
+
};
|
|
289
|
+
return new TextEncoder().encode(JSON.stringify(intentMessage));
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Generate the intent message for rebalancing a V3 position to a new tick range
|
|
293
|
+
* @param params Parameters for rebalancing position
|
|
294
|
+
* @returns The serialized intent message as Uint8Array
|
|
295
|
+
*/
|
|
296
|
+
function generateRebalancePositionIntentMessage(params) {
|
|
297
|
+
// Note: Optional fields must be explicitly serialized as null to match TEE's proto serde behavior
|
|
298
|
+
const intentMessage = {
|
|
299
|
+
userPublicKey: params.userPublicKey,
|
|
300
|
+
lpIdentityPublicKey: params.lpIdentityPublicKey,
|
|
301
|
+
oldTickLower: params.oldTickLower,
|
|
302
|
+
oldTickUpper: params.oldTickUpper,
|
|
303
|
+
newTickLower: params.newTickLower,
|
|
304
|
+
newTickUpper: params.newTickUpper,
|
|
305
|
+
liquidityToMove: params.liquidityToMove,
|
|
306
|
+
assetASparkTransferId: params.assetASparkTransferId ?? null,
|
|
307
|
+
assetBSparkTransferId: params.assetBSparkTransferId ?? null,
|
|
308
|
+
additionalAmountA: params.additionalAmountA ?? null,
|
|
309
|
+
additionalAmountB: params.additionalAmountB ?? null,
|
|
310
|
+
nonce: params.nonce,
|
|
311
|
+
};
|
|
312
|
+
return new TextEncoder().encode(JSON.stringify(intentMessage));
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Generate the intent message for withdrawing free balance from a V3 pool
|
|
316
|
+
* @param params Parameters for withdrawing balance
|
|
317
|
+
* @returns The serialized intent message as Uint8Array
|
|
318
|
+
*/
|
|
319
|
+
function generateWithdrawBalanceIntentMessage(params) {
|
|
320
|
+
const intentMessage = {
|
|
321
|
+
userPublicKey: params.userPublicKey,
|
|
322
|
+
lpIdentityPublicKey: params.lpIdentityPublicKey,
|
|
323
|
+
amountA: params.amountA,
|
|
324
|
+
amountB: params.amountB,
|
|
325
|
+
nonce: params.nonce,
|
|
326
|
+
};
|
|
327
|
+
return new TextEncoder().encode(JSON.stringify(intentMessage));
|
|
328
|
+
}
|
|
218
329
|
|
|
219
|
-
export { generateAddLiquidityIntentMessage, generateClaimEscrowIntentMessage, generateClawbackIntentMessage, generateConstantProductPoolInitializationIntentMessage, generateCreateEscrowIntentMessage, generateFundEscrowIntentMessage, generatePoolConfirmInitialDepositIntentMessage, generatePoolInitializationIntentMessage, generatePoolSwapIntentMessage, generateRegisterHostIntentMessage, generateRemoveLiquidityIntentMessage, generateRouteSwapIntentMessage, generateWithdrawHostFeesIntentMessage, generateWithdrawIntegratorFeesIntentMessage };
|
|
330
|
+
export { generateAddLiquidityIntentMessage, generateClaimEscrowIntentMessage, generateClawbackIntentMessage, generateCollectFeesIntentMessage, generateConstantProductPoolInitializationIntentMessage, generateCreateConcentratedPoolIntentMessage, generateCreateEscrowIntentMessage, generateDecreaseLiquidityIntentMessage, generateFundEscrowIntentMessage, generateIncreaseLiquidityIntentMessage, generatePoolConfirmInitialDepositIntentMessage, generatePoolInitializationIntentMessage, generatePoolSwapIntentMessage, generateRebalancePositionIntentMessage, generateRegisterHostIntentMessage, generateRemoveLiquidityIntentMessage, generateRouteSwapIntentMessage, generateWithdrawBalanceIntentMessage, generateWithdrawHostFeesIntentMessage, generateWithdrawIntegratorFeesIntentMessage };
|
|
220
331
|
//# sourceMappingURL=intents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intents.js","sources":["../../../../../../src/utils/intents.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"intents.js","sources":["../../../../../../src/utils/intents.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ const SparkPrefixToNetwork = Object.fromEntries(Object.entries(SparkAddressNetwo
|
|
|
13
13
|
network,
|
|
14
14
|
]));
|
|
15
15
|
const SECP_256_K_1_PRIME_MOD = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn;
|
|
16
|
-
//
|
|
16
|
+
// BACKWARD COMPATIBILITY LAYER
|
|
17
17
|
/**
|
|
18
18
|
* @deprecated Use SparkAddressNetworkPrefix instead
|
|
19
19
|
*/
|
|
@@ -231,7 +231,7 @@ function convertSparkAddressToSparkNetwork(sparkAddress, targetNetwork) {
|
|
|
231
231
|
return null;
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
|
-
//
|
|
234
|
+
// BACKWARD COMPATIBILITY FUNCTIONS
|
|
235
235
|
/**
|
|
236
236
|
* Encodes a public key and network into a Spark address
|
|
237
237
|
* @param payload Object containing hex public key and network type
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 Concentrated Liquidity Tick Math Utilities
|
|
3
|
+
*
|
|
4
|
+
* In V3 AMMs, price is represented as ticks where: price = 1.0001^tick
|
|
5
|
+
* Each tick represents a 0.01% (1 basis point) price change.
|
|
6
|
+
*
|
|
7
|
+
* Pool price convention: "amount of asset B per 1 unit of asset A" (in smallest units)
|
|
8
|
+
* For a USDB/BTC pool (A=USDB, B=BTC): price = sats per microUSDB
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Convert a raw pool price to a tick.
|
|
12
|
+
*
|
|
13
|
+
* @param price - Pool price (amount of asset B per unit of asset A in smallest units)
|
|
14
|
+
* @returns The tick value
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // For USDB/BTC pool at ~$90k: price = 0.00111 sats per microUSDB
|
|
18
|
+
* priceToTick(0.00111) // returns approximately -68038
|
|
19
|
+
*/
|
|
20
|
+
export declare function priceToTick(price: number | string): number;
|
|
21
|
+
/**
|
|
22
|
+
* Convert a tick to a raw pool price.
|
|
23
|
+
*
|
|
24
|
+
* @param tick - The tick value
|
|
25
|
+
* @returns Pool price as a string (for precision)
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* tickToPrice(-68038) // returns "0.001109..." (sats per microUSDB)
|
|
29
|
+
*/
|
|
30
|
+
export declare function tickToPrice(tick: number): string;
|
|
31
|
+
/**
|
|
32
|
+
* Round a tick down to the nearest valid tick (multiple of tick spacing).
|
|
33
|
+
*
|
|
34
|
+
* @param tick - The tick to round
|
|
35
|
+
* @param tickSpacing - The pool's tick spacing (e.g., 60)
|
|
36
|
+
* @returns Rounded tick
|
|
37
|
+
*/
|
|
38
|
+
export declare function roundTickDown(tick: number, tickSpacing: number): number;
|
|
39
|
+
/**
|
|
40
|
+
* Round a tick up to the nearest valid tick (multiple of tick spacing).
|
|
41
|
+
*
|
|
42
|
+
* @param tick - The tick to round
|
|
43
|
+
* @param tickSpacing - The pool's tick spacing (e.g., 60)
|
|
44
|
+
* @returns Rounded tick
|
|
45
|
+
*/
|
|
46
|
+
export declare function roundTickUp(tick: number, tickSpacing: number): number;
|
|
47
|
+
/**
|
|
48
|
+
* Round a tick to the nearest valid tick (multiple of tick spacing).
|
|
49
|
+
*
|
|
50
|
+
* @param tick - The tick to round
|
|
51
|
+
* @param tickSpacing - The pool's tick spacing (e.g., 60)
|
|
52
|
+
* @returns Rounded tick
|
|
53
|
+
*/
|
|
54
|
+
export declare function roundTick(tick: number, tickSpacing: number): number;
|
|
55
|
+
export interface HumanPriceToTickOptions {
|
|
56
|
+
/**
|
|
57
|
+
* Human-readable price (e.g., 90000 for "$90,000 per BTC")
|
|
58
|
+
* Expressed as "quote units per base unit"
|
|
59
|
+
*/
|
|
60
|
+
humanPrice: number;
|
|
61
|
+
/**
|
|
62
|
+
* Decimals of the base token (the token being priced, e.g., BTC = 8)
|
|
63
|
+
*/
|
|
64
|
+
baseDecimals: number;
|
|
65
|
+
/**
|
|
66
|
+
* Decimals of the quote token (the unit of measurement, e.g., USD = 6)
|
|
67
|
+
*/
|
|
68
|
+
quoteDecimals: number;
|
|
69
|
+
/**
|
|
70
|
+
* Whether the base token is asset A in the pool.
|
|
71
|
+
* - false (default): base is asset B (e.g., BTC/USD where BTC is B and USD is A)
|
|
72
|
+
* - true: base is asset A (e.g., USD/BTC where USD is A and BTC is B)
|
|
73
|
+
*
|
|
74
|
+
* Most pools have the "main" asset (BTC, ETH) as asset B and the quote (USD) as asset A.
|
|
75
|
+
*/
|
|
76
|
+
baseIsAssetA?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Optional tick spacing to round the result to a valid tick.
|
|
79
|
+
*/
|
|
80
|
+
tickSpacing?: number;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Convert a human-readable price to a V3 tick.
|
|
84
|
+
*
|
|
85
|
+
* This is the most user-friendly function for calculating ticks.
|
|
86
|
+
* Express your price as "quote per base" (e.g., "$90,000 per BTC").
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* // BTC at $90,000, pool has USDB (6 decimals) as A, BTC (8 decimals) as B
|
|
90
|
+
* humanPriceToTick({
|
|
91
|
+
* humanPrice: 90000,
|
|
92
|
+
* baseDecimals: 8, // BTC
|
|
93
|
+
* quoteDecimals: 6, // USD
|
|
94
|
+
* baseIsAssetA: false, // BTC is asset B (default)
|
|
95
|
+
* tickSpacing: 60
|
|
96
|
+
* }) // returns -68040
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* // Get tick range for $80,000 to $100,000
|
|
100
|
+
* const tickLower = humanPriceToTick({ humanPrice: 100000, baseDecimals: 8, quoteDecimals: 6, tickSpacing: 60 });
|
|
101
|
+
* const tickUpper = humanPriceToTick({ humanPrice: 80000, baseDecimals: 8, quoteDecimals: 6, tickSpacing: 60 });
|
|
102
|
+
* // Note: higher price = lower tick for this pool configuration
|
|
103
|
+
*/
|
|
104
|
+
export declare function humanPriceToTick(options: HumanPriceToTickOptions): number;
|
|
105
|
+
export interface TickToHumanPriceOptions {
|
|
106
|
+
/**
|
|
107
|
+
* The tick value
|
|
108
|
+
*/
|
|
109
|
+
tick: number;
|
|
110
|
+
/**
|
|
111
|
+
* Decimals of the base token (the token being priced, e.g., BTC = 8)
|
|
112
|
+
*/
|
|
113
|
+
baseDecimals: number;
|
|
114
|
+
/**
|
|
115
|
+
* Decimals of the quote token (the unit of measurement, e.g., USD = 6)
|
|
116
|
+
*/
|
|
117
|
+
quoteDecimals: number;
|
|
118
|
+
/**
|
|
119
|
+
* Whether the base token is asset A in the pool.
|
|
120
|
+
* - false (default): base is asset B
|
|
121
|
+
* - true: base is asset A
|
|
122
|
+
*/
|
|
123
|
+
baseIsAssetA?: boolean;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Convert a V3 tick to a human-readable price.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* // Tick -68040 in a USDB/BTC pool
|
|
130
|
+
* tickToHumanPrice({
|
|
131
|
+
* tick: -68040,
|
|
132
|
+
* baseDecimals: 8, // BTC
|
|
133
|
+
* quoteDecimals: 6, // USD
|
|
134
|
+
* baseIsAssetA: false // BTC is asset B
|
|
135
|
+
* }) // returns approximately 90000 (dollars per BTC)
|
|
136
|
+
*/
|
|
137
|
+
export declare function tickToHumanPrice(options: TickToHumanPriceOptions): number;
|
|
138
|
+
export interface TickRangeFromPricesOptions {
|
|
139
|
+
/**
|
|
140
|
+
* Lower price bound in human-readable format (e.g., 80000 for $80k)
|
|
141
|
+
*/
|
|
142
|
+
priceLower: number;
|
|
143
|
+
/**
|
|
144
|
+
* Upper price bound in human-readable format (e.g., 100000 for $100k)
|
|
145
|
+
*/
|
|
146
|
+
priceUpper: number;
|
|
147
|
+
/**
|
|
148
|
+
* Decimals of the base token
|
|
149
|
+
*/
|
|
150
|
+
baseDecimals: number;
|
|
151
|
+
/**
|
|
152
|
+
* Decimals of the quote token
|
|
153
|
+
*/
|
|
154
|
+
quoteDecimals: number;
|
|
155
|
+
/**
|
|
156
|
+
* Whether the base token is asset A in the pool (default: false)
|
|
157
|
+
*/
|
|
158
|
+
baseIsAssetA?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* The pool's tick spacing (required for valid tick boundaries)
|
|
161
|
+
*/
|
|
162
|
+
tickSpacing: number;
|
|
163
|
+
}
|
|
164
|
+
export interface TickRange {
|
|
165
|
+
tickLower: number;
|
|
166
|
+
tickUpper: number;
|
|
167
|
+
/**
|
|
168
|
+
* Actual price at tickLower (after rounding)
|
|
169
|
+
*/
|
|
170
|
+
actualPriceLower: number;
|
|
171
|
+
/**
|
|
172
|
+
* Actual price at tickUpper (after rounding)
|
|
173
|
+
*/
|
|
174
|
+
actualPriceUpper: number;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Get a tick range from human-readable price bounds.
|
|
178
|
+
*
|
|
179
|
+
* Automatically handles the conversion and ensures tickLower < tickUpper.
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* // Get tick range for $80,000 to $100,000 BTC price
|
|
183
|
+
* const range = tickRangeFromPrices({
|
|
184
|
+
* priceLower: 80000,
|
|
185
|
+
* priceUpper: 100000,
|
|
186
|
+
* baseDecimals: 8,
|
|
187
|
+
* quoteDecimals: 6,
|
|
188
|
+
* tickSpacing: 60
|
|
189
|
+
* });
|
|
190
|
+
* // returns { tickLower: -69120, tickUpper: -66840, actualPriceLower: 80180, actualPriceUpper: 99820 }
|
|
191
|
+
*/
|
|
192
|
+
export declare function tickRangeFromPrices(options: TickRangeFromPricesOptions): TickRange;
|
|
193
|
+
/**
|
|
194
|
+
* Calculate the pool price needed for a given position configuration.
|
|
195
|
+
*
|
|
196
|
+
* @param humanPrice - Human-readable price (e.g., 90000 for $90k/BTC)
|
|
197
|
+
* @param baseDecimals - Decimals of base token
|
|
198
|
+
* @param quoteDecimals - Decimals of quote token
|
|
199
|
+
* @param baseIsAssetA - Whether base is asset A (default: false)
|
|
200
|
+
* @returns Pool price string suitable for createConcentratedPool's initialPrice
|
|
201
|
+
*/
|
|
202
|
+
export declare function humanPriceToPoolPrice(humanPrice: number, baseDecimals: number, quoteDecimals: number, baseIsAssetA?: boolean): string;
|
|
203
|
+
/**
|
|
204
|
+
* Convert pool price to human-readable price.
|
|
205
|
+
*
|
|
206
|
+
* @param poolPrice - Pool price (amount of B per unit of A in smallest units)
|
|
207
|
+
* @param baseDecimals - Decimals of base token
|
|
208
|
+
* @param quoteDecimals - Decimals of quote token
|
|
209
|
+
* @param baseIsAssetA - Whether base is asset A (default: false)
|
|
210
|
+
* @returns Human-readable price
|
|
211
|
+
*/
|
|
212
|
+
export declare function poolPriceToHumanPrice(poolPrice: number | string, baseDecimals: number, quoteDecimals: number, baseIsAssetA?: boolean): number;
|
|
213
|
+
/**
|
|
214
|
+
* V3 tick math utilities namespace for cleaner imports.
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* import { V3TickMath } from "@flashnet/sdk";
|
|
218
|
+
*
|
|
219
|
+
* const tick = V3TickMath.fromHumanPrice({
|
|
220
|
+
* humanPrice: 90000,
|
|
221
|
+
* baseDecimals: 8,
|
|
222
|
+
* quoteDecimals: 6,
|
|
223
|
+
* tickSpacing: 60
|
|
224
|
+
* });
|
|
225
|
+
*/
|
|
226
|
+
export declare const V3TickMath: {
|
|
227
|
+
priceToTick: typeof priceToTick;
|
|
228
|
+
tickToPrice: typeof tickToPrice;
|
|
229
|
+
roundTickDown: typeof roundTickDown;
|
|
230
|
+
roundTickUp: typeof roundTickUp;
|
|
231
|
+
roundTick: typeof roundTick;
|
|
232
|
+
fromHumanPrice: typeof humanPriceToTick;
|
|
233
|
+
toHumanPrice: typeof tickToHumanPrice;
|
|
234
|
+
rangeFromPrices: typeof tickRangeFromPrices;
|
|
235
|
+
humanPriceToPoolPrice: typeof humanPriceToPoolPrice;
|
|
236
|
+
poolPriceToHumanPrice: typeof poolPriceToHumanPrice;
|
|
237
|
+
MIN_TICK: number;
|
|
238
|
+
MAX_TICK: number;
|
|
239
|
+
};
|
|
240
|
+
//# sourceMappingURL=tick-math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tick-math.d.ts","sourceRoot":"","sources":["../../../../src/utils/tick-math.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAS1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnE;AAMD,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAqCzE;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAWzE;AAMD,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,SAAS,CAuDX;AAMD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,YAAY,UAAQ,GACnB,MAAM,CAaR;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,YAAY,UAAQ,GACnB,MAAM,CASR;AAMD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAsBtB,CAAC"}
|