@stabbleorg/mclmm-sdk 0.3.1 → 0.3.3
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/lib/index.js +448 -81
- package/lib/index.mjs +447 -81
- package/lib/position-manager.d.ts +14 -2
- package/lib/position-manager.d.ts.map +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/position.d.ts +191 -0
- package/lib/utils/position.d.ts.map +1 -0
- package/lib/utils/tick.d.ts +1 -0
- package/lib/utils/tick.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Account, type Address, type TransactionSigner } from "@solana/kit";
|
|
2
2
|
import { PersonalPositionState, PoolState } from "./generated";
|
|
3
3
|
import type { ClmmSdkConfig, MakeInstructionResult, PositionInfo } from "./types";
|
|
4
|
+
import { PositionFees, PositionRewards } from "./utils";
|
|
4
5
|
export declare class PositionManager {
|
|
5
6
|
private readonly config;
|
|
6
7
|
constructor(config: ClmmSdkConfig);
|
|
7
8
|
private buildWrapSolInstructions;
|
|
8
|
-
private buildUnwrapSolInstruction;
|
|
9
9
|
/**
|
|
10
10
|
* Build partial unwrap SOL instructions using a temp account:
|
|
11
11
|
* 1. Create temp account
|
|
@@ -126,14 +126,26 @@ export declare class PositionManager {
|
|
|
126
126
|
* Enrich position state with computed fields from pool data
|
|
127
127
|
* @param position - Raw position state from blockchain
|
|
128
128
|
* @param pool - Pool state from blockchain
|
|
129
|
+
* @param fees - Position fees
|
|
129
130
|
* @returns Enriched position info with calculated amounts and prices
|
|
130
131
|
*/
|
|
131
|
-
enrichPositionInfo(position: PersonalPositionState, pool: PoolState): PositionInfo;
|
|
132
|
+
enrichPositionInfo(position: PersonalPositionState, pool: PoolState, fees?: PositionFees, rewards?: PositionRewards): PositionInfo;
|
|
132
133
|
/**
|
|
133
134
|
* Get all positions for a wallet
|
|
134
135
|
* @param wallet - Wallet address
|
|
135
136
|
* @returns Array of positions owned by the wallet
|
|
136
137
|
*/
|
|
137
138
|
getPositionsForWallet(wallet: Address): Promise<PositionInfo[]>;
|
|
139
|
+
/**
|
|
140
|
+
* Calculate pending fees and rewards for a position.
|
|
141
|
+
*
|
|
142
|
+
* @param position - Personal position state
|
|
143
|
+
* @param pool - Pool state
|
|
144
|
+
* @returns Pending fees for both tokens and rewards for each reward token (up to 3)
|
|
145
|
+
*/
|
|
146
|
+
getPositionFeeAndRewards(position: PersonalPositionState, pool: PoolState): Promise<{
|
|
147
|
+
fees: PositionFees;
|
|
148
|
+
rewards: PositionRewards;
|
|
149
|
+
}>;
|
|
138
150
|
}
|
|
139
151
|
//# sourceMappingURL=position-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position-manager.d.ts","sourceRoot":"","sources":["../src/position-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,OAAO,EAEZ,KAAK,iBAAiB,EAKvB,MAAM,aAAa,CAAC;AAErB,OAAO,
|
|
1
|
+
{"version":3,"file":"position-manager.d.ts","sourceRoot":"","sources":["../src/position-manager.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from "./math";
|
|
|
6
6
|
export * from "./pda";
|
|
7
7
|
export * from "./tick";
|
|
8
8
|
export * from "./pool";
|
|
9
|
+
export * from "./position";
|
|
9
10
|
import { Rpc, SignatureBytes, SolanaRpcApiDevnet, SolanaRpcApiMainnet, SolanaRpcApiTestnet, type Address } from "@solana/kit";
|
|
10
11
|
/**
|
|
11
12
|
* Validate that an address is not empty
|
package/lib/utils/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAI3B,OAAO,EAGL,GAAG,EACH,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EAEnB,KAAK,OAAO,EACb,MAAM,aAAa,CAAC;AAIrB;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,MAAkB,GACvB,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiB,GAAG,IAAI,CAO5E;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAU,GACpB,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,SAAS,GAAE,MAAW,GACrB,OAAO,CAGT;AAED;;;;;;GAMG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAC3B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,GAAE,MAAU,EACtB,YAAY,GAAE,MAAa,GAC1B,OAAO,CAAC,CAAC,CAAC,CAsBZ;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,4CAG9C;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO;;;;;;;;;EAS7C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,GAAG,CAAC,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,UAOzE"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import BN from "bn.js";
|
|
2
|
+
/**
|
|
3
|
+
* Pending fees for a position in both tokens.
|
|
4
|
+
*/
|
|
5
|
+
export interface PositionFees {
|
|
6
|
+
/** Pending fees in token 0 */
|
|
7
|
+
tokenFees0: BN;
|
|
8
|
+
/** Pending fees in token 1 */
|
|
9
|
+
tokenFees1: BN;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Pending rewards for a position (up to 3 reward tokens).
|
|
13
|
+
*/
|
|
14
|
+
export interface PositionRewards {
|
|
15
|
+
/** Pending rewards for each reward token */
|
|
16
|
+
rewards: BN[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Fee growth inside a position's tick range.
|
|
20
|
+
*/
|
|
21
|
+
export interface FeeGrowthInside {
|
|
22
|
+
/** Fee growth inside for token 0 (X64 fixed-point) */
|
|
23
|
+
feeGrowthInside0X64: BN;
|
|
24
|
+
/** Fee growth inside for token 1 (X64 fixed-point) */
|
|
25
|
+
feeGrowthInside1X64: BN;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Tick state with fee growth outside values.
|
|
29
|
+
*/
|
|
30
|
+
export interface TickFeeState {
|
|
31
|
+
feeGrowthOutside0X64: bigint;
|
|
32
|
+
feeGrowthOutside1X64: bigint;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Tick state with reward growth outside values.
|
|
36
|
+
*/
|
|
37
|
+
export interface TickRewardState {
|
|
38
|
+
/** Total liquidity referencing this tick */
|
|
39
|
+
liquidityGross: bigint;
|
|
40
|
+
/** Reward growth outside for each reward token (X64 fixed-point) */
|
|
41
|
+
rewardGrowthsOutsideX64: bigint[];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Pool reward info for calculating position rewards.
|
|
45
|
+
*/
|
|
46
|
+
export interface PoolRewardInfo {
|
|
47
|
+
/** Global reward growth (X64 fixed-point) */
|
|
48
|
+
rewardGrowthGlobalX64: bigint;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Position reward info from on-chain state.
|
|
52
|
+
*/
|
|
53
|
+
export interface PositionRewardInfoState {
|
|
54
|
+
/** Last recorded reward growth inside (X64 fixed-point) */
|
|
55
|
+
growthInsideLastX64: bigint;
|
|
56
|
+
/** Accumulated reward amount owed */
|
|
57
|
+
rewardAmountOwed: bigint;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Position utilities for calculating fees.
|
|
61
|
+
*/
|
|
62
|
+
export declare class PositionUtils {
|
|
63
|
+
/**
|
|
64
|
+
* Calculate fee growth inside a position's tick range.
|
|
65
|
+
*
|
|
66
|
+
* formula:
|
|
67
|
+
* ```
|
|
68
|
+
* feeGrowthInside = feeGrowthGlobal - feeGrowthBelow - feeGrowthAbove
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* Where feeGrowthBelow and feeGrowthAbove depend on the current tick
|
|
72
|
+
* relative to the position's tick boundaries.
|
|
73
|
+
*
|
|
74
|
+
* @param params - Parameters for fee growth calculation
|
|
75
|
+
* @returns Fee growth inside for both tokens (X64 fixed-point)
|
|
76
|
+
*/
|
|
77
|
+
static getFeeGrowthInside(params: {
|
|
78
|
+
/** Current pool tick */
|
|
79
|
+
tickCurrent: number;
|
|
80
|
+
/** Position lower tick index */
|
|
81
|
+
tickLower: number;
|
|
82
|
+
/** Position upper tick index */
|
|
83
|
+
tickUpper: number;
|
|
84
|
+
/** Tick state for lower tick boundary */
|
|
85
|
+
tickLowerState: TickFeeState;
|
|
86
|
+
/** Tick state for upper tick boundary */
|
|
87
|
+
tickUpperState: TickFeeState;
|
|
88
|
+
/** Global fee growth for token 0 (from pool state) */
|
|
89
|
+
feeGrowthGlobal0X64: bigint;
|
|
90
|
+
/** Global fee growth for token 1 (from pool state) */
|
|
91
|
+
feeGrowthGlobal1X64: bigint;
|
|
92
|
+
}): FeeGrowthInside;
|
|
93
|
+
/**
|
|
94
|
+
* Calculate pending fees for a position.
|
|
95
|
+
*
|
|
96
|
+
* Formula:
|
|
97
|
+
* ```
|
|
98
|
+
* feeDelta = (feeGrowthInside - feeGrowthInsideLast) × liquidity / 2^64
|
|
99
|
+
* totalFees = tokenFeesOwed + feeDelta
|
|
100
|
+
* ```
|
|
101
|
+
*
|
|
102
|
+
* @param params - Parameters for fee calculation
|
|
103
|
+
* @returns Pending fees for both tokens in native units
|
|
104
|
+
*/
|
|
105
|
+
static getPositionFees(params: {
|
|
106
|
+
/** Position liquidity */
|
|
107
|
+
liquidity: bigint;
|
|
108
|
+
/** Position's tick lower index */
|
|
109
|
+
tickLower: number;
|
|
110
|
+
/** Position's tick upper index */
|
|
111
|
+
tickUpper: number;
|
|
112
|
+
/** Position's last recorded fee growth inside for token 0 */
|
|
113
|
+
feeGrowthInside0LastX64: bigint;
|
|
114
|
+
/** Position's last recorded fee growth inside for token 1 */
|
|
115
|
+
feeGrowthInside1LastX64: bigint;
|
|
116
|
+
/** Previously owed fees for token 0 */
|
|
117
|
+
tokenFeesOwed0: bigint;
|
|
118
|
+
/** Previously owed fees for token 1 */
|
|
119
|
+
tokenFeesOwed1: bigint;
|
|
120
|
+
/** Current pool tick */
|
|
121
|
+
tickCurrent: number;
|
|
122
|
+
/** Global fee growth for token 0 */
|
|
123
|
+
feeGrowthGlobal0X64: bigint;
|
|
124
|
+
/** Global fee growth for token 1 */
|
|
125
|
+
feeGrowthGlobal1X64: bigint;
|
|
126
|
+
/** Tick state for lower tick boundary */
|
|
127
|
+
tickLowerState: TickFeeState;
|
|
128
|
+
/** Tick state for upper tick boundary */
|
|
129
|
+
tickUpperState: TickFeeState;
|
|
130
|
+
}): PositionFees;
|
|
131
|
+
/**
|
|
132
|
+
* Calculate reward growth inside a position's tick range for all reward tokens.
|
|
133
|
+
*
|
|
134
|
+
* Formula:
|
|
135
|
+
* ```
|
|
136
|
+
* rewardGrowthInside = rewardGrowthGlobal - rewardGrowthBelow - rewardGrowthAbove
|
|
137
|
+
* ```
|
|
138
|
+
*
|
|
139
|
+
* Special cases:
|
|
140
|
+
* - If tickLower has no liquidity (liquidityGross = 0), rewardGrowthBelow = rewardGrowthGlobal
|
|
141
|
+
* - If tickUpper has no liquidity (liquidityGross = 0), rewardGrowthAbove = 0
|
|
142
|
+
*
|
|
143
|
+
* @param params - Parameters for reward growth calculation
|
|
144
|
+
* @returns Reward growth inside for each reward token (X64 fixed-point)
|
|
145
|
+
*/
|
|
146
|
+
static getRewardGrowthInside(params: {
|
|
147
|
+
/** Current pool tick */
|
|
148
|
+
tickCurrent: number;
|
|
149
|
+
/** Position lower tick index */
|
|
150
|
+
tickLower: number;
|
|
151
|
+
/** Position upper tick index */
|
|
152
|
+
tickUpper: number;
|
|
153
|
+
/** Tick state for lower tick boundary */
|
|
154
|
+
tickLowerState: TickRewardState;
|
|
155
|
+
/** Tick state for upper tick boundary */
|
|
156
|
+
tickUpperState: TickRewardState;
|
|
157
|
+
/** Pool reward infos (up to 3) */
|
|
158
|
+
rewardInfos: PoolRewardInfo[];
|
|
159
|
+
}): BN[];
|
|
160
|
+
/**
|
|
161
|
+
* Calculate pending rewards for a position.
|
|
162
|
+
*
|
|
163
|
+
* Formula:
|
|
164
|
+
* ```
|
|
165
|
+
* rewardDelta = (rewardGrowthInside - rewardGrowthInsideLast) × liquidity / 2^64
|
|
166
|
+
* totalReward = rewardAmountOwed + rewardDelta
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* @param params - Parameters for reward calculation
|
|
170
|
+
* @returns Pending rewards for each reward token in native units
|
|
171
|
+
*/
|
|
172
|
+
static getPositionRewards(params: {
|
|
173
|
+
/** Position liquidity */
|
|
174
|
+
liquidity: bigint;
|
|
175
|
+
/** Position's tick lower index */
|
|
176
|
+
tickLower: number;
|
|
177
|
+
/** Position's tick upper index */
|
|
178
|
+
tickUpper: number;
|
|
179
|
+
/** Position's reward info (last recorded growth and owed amounts) */
|
|
180
|
+
positionRewardInfos: PositionRewardInfoState[];
|
|
181
|
+
/** Current pool tick */
|
|
182
|
+
tickCurrent: number;
|
|
183
|
+
/** Pool reward infos */
|
|
184
|
+
rewardInfos: PoolRewardInfo[];
|
|
185
|
+
/** Tick state for lower tick boundary */
|
|
186
|
+
tickLowerState: TickRewardState;
|
|
187
|
+
/** Tick state for upper tick boundary */
|
|
188
|
+
tickUpperState: TickRewardState;
|
|
189
|
+
}): PositionRewards;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/utils/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAIvB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,UAAU,EAAE,EAAE,CAAC;IACf,8BAA8B;IAC9B,UAAU,EAAE,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,OAAO,EAAE,EAAE,EAAE,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,mBAAmB,EAAE,EAAE,CAAC;IACxB,sDAAsD;IACtD,mBAAmB,EAAE,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,uBAAuB,EAAE,MAAM,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAChC,wBAAwB;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,gCAAgC;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,gCAAgC;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,yCAAyC;QACzC,cAAc,EAAE,YAAY,CAAC;QAC7B,yCAAyC;QACzC,cAAc,EAAE,YAAY,CAAC;QAC7B,sDAAsD;QACtD,mBAAmB,EAAE,MAAM,CAAC;QAC5B,sDAAsD;QACtD,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,eAAe;IAwFnB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE;QAC7B,yBAAyB;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,kCAAkC;QAClC,SAAS,EAAE,MAAM,CAAC;QAClB,kCAAkC;QAClC,SAAS,EAAE,MAAM,CAAC;QAClB,6DAA6D;QAC7D,uBAAuB,EAAE,MAAM,CAAC;QAChC,6DAA6D;QAC7D,uBAAuB,EAAE,MAAM,CAAC;QAChC,uCAAuC;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,uCAAuC;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,wBAAwB;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,oCAAoC;QACpC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,oCAAoC;QACpC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,yCAAyC;QACzC,cAAc,EAAE,YAAY,CAAC;QAC7B,yCAAyC;QACzC,cAAc,EAAE,YAAY,CAAC;KAC9B,GAAG,YAAY;IAwDhB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE;QACnC,wBAAwB;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,gCAAgC;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,gCAAgC;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,yCAAyC;QACzC,cAAc,EAAE,eAAe,CAAC;QAChC,yCAAyC;QACzC,cAAc,EAAE,eAAe,CAAC;QAChC,kCAAkC;QAClC,WAAW,EAAE,cAAc,EAAE,CAAC;KAC/B,GAAG,EAAE,EAAE;IAmER;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAChC,yBAAyB;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,kCAAkC;QAClC,SAAS,EAAE,MAAM,CAAC;QAClB,kCAAkC;QAClC,SAAS,EAAE,MAAM,CAAC;QAClB,qEAAqE;QACrE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC;QAC/C,wBAAwB;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,wBAAwB;QACxB,WAAW,EAAE,cAAc,EAAE,CAAC;QAC9B,yCAAyC;QACzC,cAAc,EAAE,eAAe,CAAC;QAChC,yCAAyC;QACzC,cAAc,EAAE,eAAe,CAAC;KACjC,GAAG,eAAe;CA4DpB"}
|
package/lib/utils/tick.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export declare class TickUtils {
|
|
|
60
60
|
* @throws ClmmError if range is invalid
|
|
61
61
|
*/
|
|
62
62
|
static validateTickRange(tickLower: number, tickUpper: number, tickSpacing: number): void;
|
|
63
|
+
static getTickOffsetInArray(tickIndex: number, tickSpacing: number): number;
|
|
63
64
|
/**
|
|
64
65
|
* Get the start index of the tick array containing a specific tick
|
|
65
66
|
* @param tick - Target tick
|
package/lib/utils/tick.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tick.d.ts","sourceRoot":"","sources":["../../src/utils/tick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAIvD,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,yCAAyC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,gDAAgD;IAChD,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAevC;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,IAAI;
|
|
1
|
+
{"version":3,"file":"tick.d.ts","sourceRoot":"","sources":["../../src/utils/tick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAIvD,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,yCAAyC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,gDAAgD;IAChD,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAevC;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,IAAI;WA0BO,oBAAoB,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM;IAiBT;;;;;OAKG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAexE;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAI7C;;;;;;;OAOG;IACH,MAAM,CAAC,wBAAwB,CAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE;IAgBX;;;;;;;OAOG;IACH,MAAM,CAAC,uBAAuB,CAC5B,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GAClB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE;IAsBnC;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM;IAMT;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM;IAKT;;;;;;;;OAQG;IACH,MAAM,CAAC,kBAAkB,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,MAAM;IAKT;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CACvB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,MAAM;WAQK,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzD;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAC7B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO;WAKI,4BAA4B,CACxC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM;WAOK,oBAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;WAQnC,qBAAqB,CACjC,eAAe,EAAE,EAAE,EAAE,EACrB,iBAAiB,EAAE,wBAAwB,EAC3C,6BAA6B,EAAE,MAAM,EACrC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE;WAkCG,uBAAuB,CACnC,eAAe,EAAE,EAAE,EAAE,EACrB,iBAAiB,EAAE,wBAAwB,EAC3C,6BAA6B,EAAE,MAAM,EACrC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE;WAkCG,8BAA8B,CAC1C,eAAe,EAAE,EAAE,EAAE,EACrB,iBAAiB,EAAE,wBAAwB,EAC3C,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,aAAa,EAAE,MAAM,GACpB,MAAM,EAAE;WAyBG,oBAAoB,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM;WAYK,YAAY,CAAC,EACzB,aAAa,EACb,aAAa,EACb,IAAI,EACJ,MAAM,GACP,EAAE;QACD,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,OAAO,CAAC;KACjB,GAAG,sBAAsB;WAaZ,eAAe,CAAC,EAC5B,WAAW,EACX,aAAa,EACb,aAAa,EACb,KAAK,EACL,MAAM,GACP,EAAE;QACD,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;KACjB,GAAG,yBAAyB;CAoB9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,SAAS,EAAE,CAAC,CAEtB"}
|