@stabbleorg/mclmm-sdk 0.1.7 → 0.1.9
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/constants.d.ts +1 -1
- package/lib/constants.d.ts.map +1 -1
- package/lib/index.js +43 -13
- package/lib/index.mjs +47 -14
- package/lib/pool-manager.d.ts +2 -0
- package/lib/pool-manager.d.ts.map +1 -1
- package/lib/position-manager.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/constants.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare const U64Resolution = 64;
|
|
|
25
25
|
export declare const MaxUint128: BN;
|
|
26
26
|
export declare const MIN_SQRT_PRICE_X64: BN;
|
|
27
27
|
export declare const MAX_SQRT_PRICE_X64: BN;
|
|
28
|
-
export declare const LOG_B_2_X32 = "
|
|
28
|
+
export declare const LOG_B_2_X32 = "59543866431248";
|
|
29
29
|
export declare const LOG_B_P_ERR_MARGIN_LOWER_X64 = "184467440737095516";
|
|
30
30
|
export declare const LOG_B_P_ERR_MARGIN_UPPER_X64 = "15793534762490258745";
|
|
31
31
|
export type Fee = number;
|
package/lib/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,OAAO,CAAC;AAIvB,eAAO,MAAM,uBAAuB,EACgB,OAAO,CAAC;AAG5D,eAAO,MAAM,mBAAmB,EACmB,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAG1G,eAAO,MAAM,iBAAiB,EACU,OAAO,CAAC,kCAAkC,CAAC,CAAC;AACpF,eAAO,MAAM,sBAAsB,EACgB,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAG1G,eAAO,MAAM,IAAI,IAAY,CAAC;AAC9B,eAAO,MAAM,GAAG,IAAY,CAAC;AAC7B,eAAO,MAAM,YAAY,IAAa,CAAC;AACvC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,GAAG,IAA4B,CAAC;AAC7C,eAAO,MAAM,IAAI,IAA6B,CAAC;AAE/C,eAAO,MAAM,MAAM,IAAe,CAAC;AAGnC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,QAAQ,SAAS,CAAC;AAC/B,eAAO,MAAM,cAAc,IAAuB,CAAC;AACnD,eAAO,MAAM,cAAc,IAE1B,CAAC;AAGF,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,eAAO,MAAM,oBAAoB,IAA4B,CAAC;AAG9D,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,UAAU,IAAgB,CAAC;AACxC,eAAO,MAAM,kBAAkB,IAAiB,CAAC;AACjD,eAAO,MAAM,kBAAkB,IAAiB,CAAC;AAGjD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,OAAO,CAAC;AAIvB,eAAO,MAAM,uBAAuB,EACgB,OAAO,CAAC;AAG5D,eAAO,MAAM,mBAAmB,EACmB,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAG1G,eAAO,MAAM,iBAAiB,EACU,OAAO,CAAC,kCAAkC,CAAC,CAAC;AACpF,eAAO,MAAM,sBAAsB,EACgB,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAG1G,eAAO,MAAM,IAAI,IAAY,CAAC;AAC9B,eAAO,MAAM,GAAG,IAAY,CAAC;AAC7B,eAAO,MAAM,YAAY,IAAa,CAAC;AACvC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,GAAG,IAA4B,CAAC;AAC7C,eAAO,MAAM,IAAI,IAA6B,CAAC;AAE/C,eAAO,MAAM,MAAM,IAAe,CAAC;AAGnC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,QAAQ,SAAS,CAAC;AAC/B,eAAO,MAAM,cAAc,IAAuB,CAAC;AACnD,eAAO,MAAM,cAAc,IAE1B,CAAC;AAGF,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,eAAO,MAAM,oBAAoB,IAA4B,CAAC;AAG9D,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,UAAU,IAAgB,CAAC;AACxC,eAAO,MAAM,kBAAkB,IAAiB,CAAC;AACjD,eAAO,MAAM,kBAAkB,IAAiB,CAAC;AAGjD,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAC5C,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AAGnE,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AAGzB,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAGX,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAGX,eAAO,MAAM,eAAe,KAAK,CAAC;AAGlC,eAAO,MAAM,SAAS;;;;;;;;;;CAUZ,CAAC;AASX,eAAO,MAAM,YAAY;;;CAGxB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -6356,7 +6356,7 @@ var U64Resolution = 64;
|
|
|
6356
6356
|
var MaxUint128 = Q128.sub(ONE);
|
|
6357
6357
|
var MIN_SQRT_PRICE_X64 = MIN_SQRT_RATIO;
|
|
6358
6358
|
var MAX_SQRT_PRICE_X64 = MAX_SQRT_RATIO;
|
|
6359
|
-
var LOG_B_2_X32 = "
|
|
6359
|
+
var LOG_B_2_X32 = "59543866431248";
|
|
6360
6360
|
var LOG_B_P_ERR_MARGIN_LOWER_X64 = "184467440737095516";
|
|
6361
6361
|
var LOG_B_P_ERR_MARGIN_UPPER_X64 = "15793534762490258745";
|
|
6362
6362
|
var FEE_TIERS = {
|
|
@@ -8111,14 +8111,14 @@ var PoolUtils = class {
|
|
|
8111
8111
|
*/
|
|
8112
8112
|
static isOverflowDefaultTickArrayBitmap(tickSpacing, tickIndexs) {
|
|
8113
8113
|
const { maxTickBondary, minTickBoundary } = this.tickRange(tickSpacing);
|
|
8114
|
-
|
|
8114
|
+
for (const tick of tickIndexs) {
|
|
8115
8115
|
const tickArrayStartIndex = TickUtils.getTickArrayStartIndex(
|
|
8116
8116
|
tick,
|
|
8117
8117
|
tickSpacing
|
|
8118
8118
|
);
|
|
8119
8119
|
if (tickArrayStartIndex >= maxTickBondary || tickArrayStartIndex <= minTickBoundary)
|
|
8120
8120
|
return true;
|
|
8121
|
-
}
|
|
8121
|
+
}
|
|
8122
8122
|
return false;
|
|
8123
8123
|
}
|
|
8124
8124
|
};
|
|
@@ -8314,13 +8314,13 @@ var PoolManager = class {
|
|
|
8314
8314
|
const isAFirst = new import_bn5.default(Buffer.from(addressB)).gt(
|
|
8315
8315
|
new import_bn5.default(Buffer.from(addressA))
|
|
8316
8316
|
);
|
|
8317
|
-
const [token0, token1, decimals0, decimals1, priceAdjusted] = isAFirst ? [
|
|
8318
|
-
tokenMintA,
|
|
8317
|
+
const [token0, token1, decimals0, decimals1, priceAdjusted] = isAFirst ? [tokenMintA, tokenMintB, mintADecimals, mintBDecimals, initialPrice] : [
|
|
8319
8318
|
tokenMintB,
|
|
8320
|
-
|
|
8319
|
+
tokenMintA,
|
|
8321
8320
|
mintBDecimals,
|
|
8321
|
+
mintADecimals,
|
|
8322
8322
|
new import_decimal3.default(1).div(initialPrice)
|
|
8323
|
-
]
|
|
8323
|
+
];
|
|
8324
8324
|
const initialPriceX64 = SqrtPriceMath.priceToSqrtPriceX64(
|
|
8325
8325
|
priceAdjusted,
|
|
8326
8326
|
decimals0,
|
|
@@ -8357,6 +8357,8 @@ var PoolManager = class {
|
|
|
8357
8357
|
address: {
|
|
8358
8358
|
poolId: poolPda,
|
|
8359
8359
|
observationId: observationPda,
|
|
8360
|
+
tokenMint0: token0,
|
|
8361
|
+
tokenMint1: token1,
|
|
8360
8362
|
tokenVault0,
|
|
8361
8363
|
tokenVault1
|
|
8362
8364
|
},
|
|
@@ -8494,7 +8496,7 @@ var PoolManager = class {
|
|
|
8494
8496
|
);
|
|
8495
8497
|
return {
|
|
8496
8498
|
...poolState,
|
|
8497
|
-
currentPrice,
|
|
8499
|
+
currentPrice: currentPrice.toNumber(),
|
|
8498
8500
|
tokenA,
|
|
8499
8501
|
tokenB,
|
|
8500
8502
|
// These would be calculated from additional data sources
|
|
@@ -8681,6 +8683,12 @@ var PositionManager = class {
|
|
|
8681
8683
|
);
|
|
8682
8684
|
const amount0Max = base === "MintA" ? baseAmount : otherAmountMax;
|
|
8683
8685
|
const amount1Max = base === "MintA" ? otherAmountMax : baseAmount;
|
|
8686
|
+
const isOverflow = PoolUtils.isOverflowDefaultTickArrayBitmap(
|
|
8687
|
+
poolAccount.data.tickSpacing,
|
|
8688
|
+
[tickArrayLowerStartIndex, tickArrayUpperStartIndex]
|
|
8689
|
+
);
|
|
8690
|
+
const extBitmapAccount = isOverflow ? await PdaUtils.getTickArrayBitmapExtensionPda(poolAccount.address) : void 0;
|
|
8691
|
+
const remAccounts = extBitmapAccount ? [{ address: extBitmapAccount[0], role: import_kit57.AccountRole.WRITABLE }] : [];
|
|
8684
8692
|
const instruction = await getOpenPositionWithToken22NftInstructionAsync({
|
|
8685
8693
|
payer: ownerInfo.wallet,
|
|
8686
8694
|
positionNftOwner: ownerInfo.wallet.address,
|
|
@@ -8707,8 +8715,12 @@ var PositionManager = class {
|
|
|
8707
8715
|
baseFlag: base === "MintA" ? true : false
|
|
8708
8716
|
// true = MintA is base, false = MintB is base
|
|
8709
8717
|
});
|
|
8718
|
+
const ixWithRemAccounts = {
|
|
8719
|
+
...instruction,
|
|
8720
|
+
accounts: [...instruction.accounts, ...remAccounts]
|
|
8721
|
+
};
|
|
8710
8722
|
return {
|
|
8711
|
-
instructions: [
|
|
8723
|
+
instructions: [ixWithRemAccounts],
|
|
8712
8724
|
signers,
|
|
8713
8725
|
instructionTypes: ["OpenPositionV2"],
|
|
8714
8726
|
address: {
|
|
@@ -8761,6 +8773,12 @@ var PositionManager = class {
|
|
|
8761
8773
|
poolState.data.tickSpacing
|
|
8762
8774
|
)
|
|
8763
8775
|
);
|
|
8776
|
+
const isOverflow = PoolUtils.isOverflowDefaultTickArrayBitmap(
|
|
8777
|
+
poolState.data.tickSpacing,
|
|
8778
|
+
[ownerPosition.tickLowerIndex, ownerPosition.tickUpperIndex]
|
|
8779
|
+
);
|
|
8780
|
+
const extBitmapAccount = isOverflow ? await PdaUtils.getTickArrayBitmapExtensionPda(poolState.address) : void 0;
|
|
8781
|
+
const remAccounts = extBitmapAccount ? [{ address: extBitmapAccount[0], role: import_kit57.AccountRole.WRITABLE }] : [];
|
|
8764
8782
|
const instruction = getIncreaseLiquidityV2Instruction({
|
|
8765
8783
|
nftOwner: ownerInfo.wallet,
|
|
8766
8784
|
nftAccount: positionNftAccount,
|
|
@@ -8773,7 +8791,6 @@ var PositionManager = class {
|
|
|
8773
8791
|
tokenAccount1: ownerInfo.tokenAccountB,
|
|
8774
8792
|
tokenVault0: poolState.data.tokenVault0,
|
|
8775
8793
|
tokenVault1: poolState.data.tokenVault1,
|
|
8776
|
-
tokenProgram: import_token_2022.TOKEN_2022_PROGRAM_ADDRESS,
|
|
8777
8794
|
vault0Mint: poolState.data.tokenMint0,
|
|
8778
8795
|
vault1Mint: poolState.data.tokenMint1,
|
|
8779
8796
|
liquidity,
|
|
@@ -8781,8 +8798,12 @@ var PositionManager = class {
|
|
|
8781
8798
|
amount1Max: amountMaxB,
|
|
8782
8799
|
baseFlag: null
|
|
8783
8800
|
});
|
|
8801
|
+
const ixWithRemAccounts = {
|
|
8802
|
+
...instruction,
|
|
8803
|
+
accounts: [...instruction.accounts, ...remAccounts]
|
|
8804
|
+
};
|
|
8784
8805
|
return {
|
|
8785
|
-
instructions: [
|
|
8806
|
+
instructions: [ixWithRemAccounts],
|
|
8786
8807
|
signers: [],
|
|
8787
8808
|
instructionTypes: ["IncreaseLiquidityV2"],
|
|
8788
8809
|
address: {
|
|
@@ -8837,6 +8858,12 @@ var PositionManager = class {
|
|
|
8837
8858
|
poolState.data.tickSpacing
|
|
8838
8859
|
)
|
|
8839
8860
|
);
|
|
8861
|
+
const isOverflow = PoolUtils.isOverflowDefaultTickArrayBitmap(
|
|
8862
|
+
poolState.data.tickSpacing,
|
|
8863
|
+
[ownerPosition.tickLowerIndex, ownerPosition.tickUpperIndex]
|
|
8864
|
+
);
|
|
8865
|
+
const extBitmapAccount = isOverflow ? await PdaUtils.getTickArrayBitmapExtensionPda(poolState.address) : void 0;
|
|
8866
|
+
const remAccounts = extBitmapAccount ? [{ address: extBitmapAccount[0], role: import_kit57.AccountRole.WRITABLE }] : [];
|
|
8840
8867
|
const instruction = getDecreaseLiquidityV2Instruction({
|
|
8841
8868
|
nftOwner: ownerInfo.wallet,
|
|
8842
8869
|
nftAccount: positionNftAccount,
|
|
@@ -8849,15 +8876,18 @@ var PositionManager = class {
|
|
|
8849
8876
|
tickArrayUpper,
|
|
8850
8877
|
recipientTokenAccount0: ownerInfo.tokenAccountA,
|
|
8851
8878
|
recipientTokenAccount1: ownerInfo.tokenAccountB,
|
|
8852
|
-
tokenProgram: import_token_2022.TOKEN_2022_PROGRAM_ADDRESS,
|
|
8853
8879
|
vault0Mint: poolState.data.tokenMint0,
|
|
8854
8880
|
vault1Mint: poolState.data.tokenMint1,
|
|
8855
8881
|
liquidity,
|
|
8856
8882
|
amount0Min: amountMinA,
|
|
8857
8883
|
amount1Min: amountMinB
|
|
8858
8884
|
});
|
|
8885
|
+
const ixWithRemAccounts = {
|
|
8886
|
+
...instruction,
|
|
8887
|
+
accounts: [...instruction.accounts, ...remAccounts]
|
|
8888
|
+
};
|
|
8859
8889
|
return {
|
|
8860
|
-
instructions: [
|
|
8890
|
+
instructions: [ixWithRemAccounts],
|
|
8861
8891
|
signers: [],
|
|
8862
8892
|
instructionTypes: ["DecreaseLiquidityV2"],
|
|
8863
8893
|
address: {
|
package/lib/index.mjs
CHANGED
|
@@ -6983,7 +6983,7 @@ var U64Resolution = 64;
|
|
|
6983
6983
|
var MaxUint128 = Q128.sub(ONE);
|
|
6984
6984
|
var MIN_SQRT_PRICE_X64 = MIN_SQRT_RATIO;
|
|
6985
6985
|
var MAX_SQRT_PRICE_X64 = MAX_SQRT_RATIO;
|
|
6986
|
-
var LOG_B_2_X32 = "
|
|
6986
|
+
var LOG_B_2_X32 = "59543866431248";
|
|
6987
6987
|
var LOG_B_P_ERR_MARGIN_LOWER_X64 = "184467440737095516";
|
|
6988
6988
|
var LOG_B_P_ERR_MARGIN_UPPER_X64 = "15793534762490258745";
|
|
6989
6989
|
var FEE_TIERS = {
|
|
@@ -8745,14 +8745,14 @@ var PoolUtils = class {
|
|
|
8745
8745
|
*/
|
|
8746
8746
|
static isOverflowDefaultTickArrayBitmap(tickSpacing, tickIndexs) {
|
|
8747
8747
|
const { maxTickBondary, minTickBoundary } = this.tickRange(tickSpacing);
|
|
8748
|
-
|
|
8748
|
+
for (const tick of tickIndexs) {
|
|
8749
8749
|
const tickArrayStartIndex = TickUtils.getTickArrayStartIndex(
|
|
8750
8750
|
tick,
|
|
8751
8751
|
tickSpacing
|
|
8752
8752
|
);
|
|
8753
8753
|
if (tickArrayStartIndex >= maxTickBondary || tickArrayStartIndex <= minTickBoundary)
|
|
8754
8754
|
return true;
|
|
8755
|
-
}
|
|
8755
|
+
}
|
|
8756
8756
|
return false;
|
|
8757
8757
|
}
|
|
8758
8758
|
};
|
|
@@ -8952,13 +8952,13 @@ var PoolManager = class {
|
|
|
8952
8952
|
const isAFirst = new BN5(Buffer.from(addressB)).gt(
|
|
8953
8953
|
new BN5(Buffer.from(addressA))
|
|
8954
8954
|
);
|
|
8955
|
-
const [token0, token1, decimals0, decimals1, priceAdjusted] = isAFirst ? [
|
|
8956
|
-
tokenMintA,
|
|
8955
|
+
const [token0, token1, decimals0, decimals1, priceAdjusted] = isAFirst ? [tokenMintA, tokenMintB, mintADecimals, mintBDecimals, initialPrice] : [
|
|
8957
8956
|
tokenMintB,
|
|
8958
|
-
|
|
8957
|
+
tokenMintA,
|
|
8959
8958
|
mintBDecimals,
|
|
8959
|
+
mintADecimals,
|
|
8960
8960
|
new Decimal3(1).div(initialPrice)
|
|
8961
|
-
]
|
|
8961
|
+
];
|
|
8962
8962
|
const initialPriceX64 = SqrtPriceMath.priceToSqrtPriceX64(
|
|
8963
8963
|
priceAdjusted,
|
|
8964
8964
|
decimals0,
|
|
@@ -8995,6 +8995,8 @@ var PoolManager = class {
|
|
|
8995
8995
|
address: {
|
|
8996
8996
|
poolId: poolPda,
|
|
8997
8997
|
observationId: observationPda,
|
|
8998
|
+
tokenMint0: token0,
|
|
8999
|
+
tokenMint1: token1,
|
|
8998
9000
|
tokenVault0,
|
|
8999
9001
|
tokenVault1
|
|
9000
9002
|
},
|
|
@@ -9132,7 +9134,7 @@ var PoolManager = class {
|
|
|
9132
9134
|
);
|
|
9133
9135
|
return {
|
|
9134
9136
|
...poolState,
|
|
9135
|
-
currentPrice,
|
|
9137
|
+
currentPrice: currentPrice.toNumber(),
|
|
9136
9138
|
tokenA,
|
|
9137
9139
|
tokenB,
|
|
9138
9140
|
// These would be calculated from additional data sources
|
|
@@ -9167,7 +9169,10 @@ var PoolManager = class {
|
|
|
9167
9169
|
};
|
|
9168
9170
|
|
|
9169
9171
|
// src/position-manager.ts
|
|
9170
|
-
import {
|
|
9172
|
+
import {
|
|
9173
|
+
generateKeyPairSigner,
|
|
9174
|
+
AccountRole as AccountRole2
|
|
9175
|
+
} from "@solana/kit";
|
|
9171
9176
|
import { findAssociatedTokenPda } from "@solana-program/token";
|
|
9172
9177
|
import { TOKEN_2022_PROGRAM_ADDRESS } from "@solana-program/token-2022";
|
|
9173
9178
|
import BN6 from "bn.js";
|
|
@@ -9319,6 +9324,12 @@ var PositionManager = class {
|
|
|
9319
9324
|
);
|
|
9320
9325
|
const amount0Max = base === "MintA" ? baseAmount : otherAmountMax;
|
|
9321
9326
|
const amount1Max = base === "MintA" ? otherAmountMax : baseAmount;
|
|
9327
|
+
const isOverflow = PoolUtils.isOverflowDefaultTickArrayBitmap(
|
|
9328
|
+
poolAccount.data.tickSpacing,
|
|
9329
|
+
[tickArrayLowerStartIndex, tickArrayUpperStartIndex]
|
|
9330
|
+
);
|
|
9331
|
+
const extBitmapAccount = isOverflow ? await PdaUtils.getTickArrayBitmapExtensionPda(poolAccount.address) : void 0;
|
|
9332
|
+
const remAccounts = extBitmapAccount ? [{ address: extBitmapAccount[0], role: AccountRole2.WRITABLE }] : [];
|
|
9322
9333
|
const instruction = await getOpenPositionWithToken22NftInstructionAsync({
|
|
9323
9334
|
payer: ownerInfo.wallet,
|
|
9324
9335
|
positionNftOwner: ownerInfo.wallet.address,
|
|
@@ -9345,8 +9356,12 @@ var PositionManager = class {
|
|
|
9345
9356
|
baseFlag: base === "MintA" ? true : false
|
|
9346
9357
|
// true = MintA is base, false = MintB is base
|
|
9347
9358
|
});
|
|
9359
|
+
const ixWithRemAccounts = {
|
|
9360
|
+
...instruction,
|
|
9361
|
+
accounts: [...instruction.accounts, ...remAccounts]
|
|
9362
|
+
};
|
|
9348
9363
|
return {
|
|
9349
|
-
instructions: [
|
|
9364
|
+
instructions: [ixWithRemAccounts],
|
|
9350
9365
|
signers,
|
|
9351
9366
|
instructionTypes: ["OpenPositionV2"],
|
|
9352
9367
|
address: {
|
|
@@ -9399,6 +9414,12 @@ var PositionManager = class {
|
|
|
9399
9414
|
poolState.data.tickSpacing
|
|
9400
9415
|
)
|
|
9401
9416
|
);
|
|
9417
|
+
const isOverflow = PoolUtils.isOverflowDefaultTickArrayBitmap(
|
|
9418
|
+
poolState.data.tickSpacing,
|
|
9419
|
+
[ownerPosition.tickLowerIndex, ownerPosition.tickUpperIndex]
|
|
9420
|
+
);
|
|
9421
|
+
const extBitmapAccount = isOverflow ? await PdaUtils.getTickArrayBitmapExtensionPda(poolState.address) : void 0;
|
|
9422
|
+
const remAccounts = extBitmapAccount ? [{ address: extBitmapAccount[0], role: AccountRole2.WRITABLE }] : [];
|
|
9402
9423
|
const instruction = getIncreaseLiquidityV2Instruction({
|
|
9403
9424
|
nftOwner: ownerInfo.wallet,
|
|
9404
9425
|
nftAccount: positionNftAccount,
|
|
@@ -9411,7 +9432,6 @@ var PositionManager = class {
|
|
|
9411
9432
|
tokenAccount1: ownerInfo.tokenAccountB,
|
|
9412
9433
|
tokenVault0: poolState.data.tokenVault0,
|
|
9413
9434
|
tokenVault1: poolState.data.tokenVault1,
|
|
9414
|
-
tokenProgram: TOKEN_2022_PROGRAM_ADDRESS,
|
|
9415
9435
|
vault0Mint: poolState.data.tokenMint0,
|
|
9416
9436
|
vault1Mint: poolState.data.tokenMint1,
|
|
9417
9437
|
liquidity,
|
|
@@ -9419,8 +9439,12 @@ var PositionManager = class {
|
|
|
9419
9439
|
amount1Max: amountMaxB,
|
|
9420
9440
|
baseFlag: null
|
|
9421
9441
|
});
|
|
9442
|
+
const ixWithRemAccounts = {
|
|
9443
|
+
...instruction,
|
|
9444
|
+
accounts: [...instruction.accounts, ...remAccounts]
|
|
9445
|
+
};
|
|
9422
9446
|
return {
|
|
9423
|
-
instructions: [
|
|
9447
|
+
instructions: [ixWithRemAccounts],
|
|
9424
9448
|
signers: [],
|
|
9425
9449
|
instructionTypes: ["IncreaseLiquidityV2"],
|
|
9426
9450
|
address: {
|
|
@@ -9475,6 +9499,12 @@ var PositionManager = class {
|
|
|
9475
9499
|
poolState.data.tickSpacing
|
|
9476
9500
|
)
|
|
9477
9501
|
);
|
|
9502
|
+
const isOverflow = PoolUtils.isOverflowDefaultTickArrayBitmap(
|
|
9503
|
+
poolState.data.tickSpacing,
|
|
9504
|
+
[ownerPosition.tickLowerIndex, ownerPosition.tickUpperIndex]
|
|
9505
|
+
);
|
|
9506
|
+
const extBitmapAccount = isOverflow ? await PdaUtils.getTickArrayBitmapExtensionPda(poolState.address) : void 0;
|
|
9507
|
+
const remAccounts = extBitmapAccount ? [{ address: extBitmapAccount[0], role: AccountRole2.WRITABLE }] : [];
|
|
9478
9508
|
const instruction = getDecreaseLiquidityV2Instruction({
|
|
9479
9509
|
nftOwner: ownerInfo.wallet,
|
|
9480
9510
|
nftAccount: positionNftAccount,
|
|
@@ -9487,15 +9517,18 @@ var PositionManager = class {
|
|
|
9487
9517
|
tickArrayUpper,
|
|
9488
9518
|
recipientTokenAccount0: ownerInfo.tokenAccountA,
|
|
9489
9519
|
recipientTokenAccount1: ownerInfo.tokenAccountB,
|
|
9490
|
-
tokenProgram: TOKEN_2022_PROGRAM_ADDRESS,
|
|
9491
9520
|
vault0Mint: poolState.data.tokenMint0,
|
|
9492
9521
|
vault1Mint: poolState.data.tokenMint1,
|
|
9493
9522
|
liquidity,
|
|
9494
9523
|
amount0Min: amountMinA,
|
|
9495
9524
|
amount1Min: amountMinB
|
|
9496
9525
|
});
|
|
9526
|
+
const ixWithRemAccounts = {
|
|
9527
|
+
...instruction,
|
|
9528
|
+
accounts: [...instruction.accounts, ...remAccounts]
|
|
9529
|
+
};
|
|
9497
9530
|
return {
|
|
9498
|
-
instructions: [
|
|
9531
|
+
instructions: [ixWithRemAccounts],
|
|
9499
9532
|
signers: [],
|
|
9500
9533
|
instructionTypes: ["DecreaseLiquidityV2"],
|
|
9501
9534
|
address: {
|
package/lib/pool-manager.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-manager.d.ts","sourceRoot":"","sources":["../src/pool-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAEtB,OAAO,EACP,GAAG,EAEH,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAML,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,QAAQ,EAET,MAAM,SAAS,CAAC;AAajB,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD;;;;OAIG;IACG,0BAA0B,CAAC,MAAM,EAAE;QACvC,KAAK,EAAE,iBAAiB,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CACT,qBAAqB,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC,CACH;
|
|
1
|
+
{"version":3,"file":"pool-manager.d.ts","sourceRoot":"","sources":["../src/pool-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAEtB,OAAO,EACP,GAAG,EAEH,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAML,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,QAAQ,EAET,MAAM,SAAS,CAAC;AAajB,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD;;;;OAIG;IACG,0BAA0B,CAAC,MAAM,EAAE;QACvC,KAAK,EAAE,iBAAiB,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CACT,qBAAqB,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC,CACH;IA+ED;;;;OAIG;IACG,+BAA+B,CAAC,MAAM,EAAE;QAC5C,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,iBAAiB,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CACT,qBAAqB,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC,CACH;IAmCD;;;;OAIG;IACG,OAAO,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAqB7D;;;;;;OAMG;IACG,2BAA2B,CAC/B,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,EACf,cAAc,GAAE,MAAU,GACzB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAWrB,WAAW,CACf,GAAG,EAAE,GAAG,CAAC,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,GACvE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAyBhC;;;;;;OAMG;IACH,kBAAkB,CAChB,YAAY,EAAE,EAAE,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO;IAQV;;OAEG;IACH,OAAO,CAAC,cAAc;IA+BtB;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAUpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position-manager.d.ts","sourceRoot":"","sources":["../src/position-manager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"position-manager.d.ts","sourceRoot":"","sources":["../src/position-manager.ts"],"names":[],"mappings":"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"}
|