@hawksightco/hawk-sdk 1.3.223 → 1.3.225
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/classes/Transactions.d.ts +17 -2
- package/dist/src/classes/Transactions.d.ts.map +1 -1
- package/dist/src/classes/Transactions.js +476 -134
- package/dist/src/classes/TxGeneratorAutomations.d.ts +8 -1
- package/dist/src/classes/TxGeneratorAutomations.d.ts.map +1 -1
- package/dist/src/classes/TxGeneratorAutomations.js +49 -0
- package/dist/src/meteora/liquidityStrategy.d.ts +36 -0
- package/dist/src/meteora/liquidityStrategy.d.ts.map +1 -1
- package/dist/src/meteora/liquidityStrategy.js +50 -1
- package/dist/src/types.d.ts +9 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as web3 from '@solana/web3.js';
|
|
2
|
-
import { MeteoraClaim, MeteoraClaimAll, MeteoraClose, MeteoraCompound, MeteoraRedeposit, MeteoraRedeposit2, MeteoraCreatePositionAndDeposit, MeteoraCreatePositionAndDepositPda, MeteoraDeposit, MeteoraInitializeBinArrays, MeteoraRebalance, MeteoraWithdraw, Register, TxgenParams, InitializeStorageTokenAccount, MeteoraLimitCloseAutomation, MeteoraLimitCloseAutomation2, OrcaOpenPosition, OrcaClosePosition, OrcaDeposit, OrcaWithdraw, OrcaSweepDust, OrcaClaimRewards, TransactionMetadataResponse, MeteoraRebalance2, MeteoraRebalance3, LabeledInstructions, ClaimTokensFromSTA, RaydiumClosePosition, OpenAutomationIx, RelativeOpenAutomationIx, RaydiumWithdrawAndClosePosition, MeteoraCreatePoolAndPosition, ClaimTokenFromPda, MeteoraInitializeLargePosition, MeteoraDepositLargerPosition, MeteoraWithdrawLargerPosition, MeteoraRebalanceForLargerPosition, MeteoraReshapePositionAutomationParams, TransactionMetadataResponse2, MeteoraRebalanceHybridLiquidity } from '../types';
|
|
2
|
+
import { MeteoraClaim, MeteoraClaimAll, MeteoraClose, MeteoraCompound, MeteoraRedeposit, MeteoraRedeposit2, MeteoraCreatePositionAndDeposit, MeteoraCreatePositionAndDepositPda, MeteoraDeposit, MeteoraInitializeBinArrays, MeteoraRebalance, MeteoraWithdraw, Register, TxgenParams, InitializeStorageTokenAccount, MeteoraLimitCloseAutomation, MeteoraLimitCloseAutomation2, OrcaOpenPosition, OrcaClosePosition, OrcaDeposit, OrcaWithdraw, OrcaSweepDust, OrcaClaimRewards, TransactionMetadataResponse, MeteoraRebalance2, MeteoraRebalance3, LabeledInstructions, ClaimTokensFromSTA, RaydiumClosePosition, OpenAutomationIx, RelativeOpenAutomationIx, RaydiumWithdrawAndClosePosition, MeteoraCreatePoolAndPosition, ClaimTokenFromPda, MeteoraInitializeLargePosition, MeteoraDepositLargerPosition, MeteoraWithdrawLargerPosition, MeteoraRebalanceForLargerPosition, MeteoraReshapePositionAutomationParams, TransactionMetadataResponse2, MeteoraRebalanceHybridLiquidity, MeteoraRedepositHybridLiquidity } from '../types';
|
|
3
3
|
import { RaydiumIncreaseLiquidity, RaydiumOpenPosition, RaydiumDecreaseLiquidity } from '../types';
|
|
4
4
|
import { GeneralUtility } from './GeneralUtility';
|
|
5
5
|
import { MultiTransaction } from './MultiTransaction';
|
|
@@ -544,9 +544,24 @@ export declare class Transactions {
|
|
|
544
544
|
* Hybrid liquidity rebalance for automation: teardown old position and rebuild
|
|
545
545
|
* with independent X/Y distributions per layer using rebalanceLiquidityAutomation.
|
|
546
546
|
*
|
|
547
|
-
*
|
|
547
|
+
* Supports all position sizes (≤70, 71-149, ≥150 bins).
|
|
548
|
+
* All hybrid layers are passed as multiple addLiquidityParams entries in a single
|
|
549
|
+
* rebalanceLiquidityAutomation call per chunk (rather than one call per layer).
|
|
548
550
|
*/
|
|
549
551
|
meteoraRebalanceHybridLiquidityAutomation({ connection, params, }: TxgenParams<MeteoraRebalanceHybridLiquidity>): Promise<TransactionMetadataResponse2[]>;
|
|
552
|
+
/**
|
|
553
|
+
* Hybrid liquidity redeposit for automation: withdraw all liquidity from the same
|
|
554
|
+
* position and re-deposit with independent X/Y distributions per layer.
|
|
555
|
+
*
|
|
556
|
+
* Unlike rebalance, the position is NOT closed or moved — the same bin range is reused.
|
|
557
|
+
* Supports all position sizes (≤70, 71-149, ≥150 bins).
|
|
558
|
+
*/
|
|
559
|
+
meteoraRedepositHybridLiquidityAutomation({ connection, params, }: TxgenParams<MeteoraRedepositHybridLiquidity>): Promise<TransactionMetadataResponse2[]>;
|
|
560
|
+
/**
|
|
561
|
+
* Initialize bin arrays for a given bin range, skipping arrays that already exist.
|
|
562
|
+
* Uses getBinArraysRequiredByPositionRange to avoid redundant on-chain inits.
|
|
563
|
+
*/
|
|
564
|
+
private _initBinArraysForRange;
|
|
550
565
|
/**
|
|
551
566
|
* Fetches a DLMM position's on-chain state and resolves all associated context
|
|
552
567
|
* needed for downstream instructions: pool state, token mints/programs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transactions.d.ts","sourceRoot":"","sources":["../../../src/classes/Transactions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAiBxC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,+BAA+B,EAC/B,kCAAkC,EAClC,cAAc,EACd,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,WAAW,EACX,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,EAC5B,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EAEjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EAEpB,gBAAgB,EAChB,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,iBAAiB,EAEjB,8BAA8B,EAE9B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EAIjC,sCAAsC,EAEtC,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Transactions.d.ts","sourceRoot":"","sources":["../../../src/classes/Transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -773,6 +773,12 @@ class Transactions {
|
|
|
773
773
|
hasAmount: false,
|
|
774
774
|
});
|
|
775
775
|
mainInstructions.push(withdrawFromPdaIx);
|
|
776
|
+
// 6. Unwrap wSOL to native SOL (if either mint is wSOL)
|
|
777
|
+
const unwrapIxs = (0, functions_1.unwrapSolIfMintIsWsol)(params.userWallet, [
|
|
778
|
+
params.tokenXMint,
|
|
779
|
+
params.tokenYMint,
|
|
780
|
+
]);
|
|
781
|
+
mainInstructions.push(...unwrapIxs);
|
|
776
782
|
return mainInstructions;
|
|
777
783
|
});
|
|
778
784
|
}
|
|
@@ -820,6 +826,7 @@ class Transactions {
|
|
|
820
826
|
*/
|
|
821
827
|
meteoraClaimLargePosition(_a) {
|
|
822
828
|
return __awaiter(this, arguments, void 0, function* ({ connection, params, }) {
|
|
829
|
+
var _b;
|
|
823
830
|
// Determine lbPair and bin range
|
|
824
831
|
let lbPair;
|
|
825
832
|
let lowerBinId;
|
|
@@ -890,6 +897,31 @@ class Transactions {
|
|
|
890
897
|
});
|
|
891
898
|
instructions.push(claimRewardIx);
|
|
892
899
|
}
|
|
900
|
+
// Withdraw tokens from PDA back to user wallet
|
|
901
|
+
const withdrawMints = [
|
|
902
|
+
{ mint: resolved.tokenXMint, amount: new bn_js_1.default(0) },
|
|
903
|
+
{ mint: resolved.tokenYMint, amount: new bn_js_1.default(0) },
|
|
904
|
+
];
|
|
905
|
+
for (let rewardIndex = 0; rewardIndex < 2; rewardIndex++) {
|
|
906
|
+
const rewardInfo = resolved.lbPairInfo.rewardInfos[rewardIndex];
|
|
907
|
+
if (rewardInfo && !rewardInfo.mint.equals(web3.PublicKey.default)) {
|
|
908
|
+
withdrawMints.push({ mint: rewardInfo.mint, amount: new bn_js_1.default(0) });
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
const withdrawFromPdaIx = yield this.ix.iyfMain.withdrawMultipleTokenWithToken2022({
|
|
912
|
+
connection,
|
|
913
|
+
payer: params.userWallet,
|
|
914
|
+
withdraw: withdrawMints,
|
|
915
|
+
pdaTokenType: (_b = params.pdaTokenType) !== null && _b !== void 0 ? _b : types_1.TokenType.ATA,
|
|
916
|
+
hasAmount: false,
|
|
917
|
+
});
|
|
918
|
+
instructions.push(withdrawFromPdaIx);
|
|
919
|
+
// Unwrap wSOL to native SOL (if either mint is wSOL)
|
|
920
|
+
const unwrapIxs = (0, functions_1.unwrapSolIfMintIsWsol)(params.userWallet, [
|
|
921
|
+
resolved.tokenXMint,
|
|
922
|
+
resolved.tokenYMint,
|
|
923
|
+
]);
|
|
924
|
+
instructions.push(...unwrapIxs);
|
|
893
925
|
transactions.push(yield (0, functions_1.createTransactionMeta)({
|
|
894
926
|
payer: params.userWallet,
|
|
895
927
|
description: `Claim from large Meteora DLMM Position (chunk ${i + 1}/${chunks.length})`,
|
|
@@ -5920,12 +5952,19 @@ class Transactions {
|
|
|
5920
5952
|
* Hybrid liquidity rebalance for automation: teardown old position and rebuild
|
|
5921
5953
|
* with independent X/Y distributions per layer using rebalanceLiquidityAutomation.
|
|
5922
5954
|
*
|
|
5923
|
-
*
|
|
5955
|
+
* Supports all position sizes (≤70, 71-149, ≥150 bins).
|
|
5956
|
+
* All hybrid layers are passed as multiple addLiquidityParams entries in a single
|
|
5957
|
+
* rebalanceLiquidityAutomation call per chunk (rather than one call per layer).
|
|
5924
5958
|
*/
|
|
5925
5959
|
meteoraRebalanceHybridLiquidityAutomation(_a) {
|
|
5926
5960
|
return __awaiter(this, arguments, void 0, function* ({ connection, params, }) {
|
|
5927
5961
|
var _b, _c;
|
|
5928
5962
|
try {
|
|
5963
|
+
const MAX_INIT_WIDTH = 70;
|
|
5964
|
+
const MAX_EXTEND_LENGTH = 91;
|
|
5965
|
+
const MAX_BINS_PER_WITHDRAW_CHUNK = 149;
|
|
5966
|
+
const MAX_BINS_PER_DEPOSIT_CHUNK = 149;
|
|
5967
|
+
const CLASS = 'meteoraRebalanceHybridLiquidityAutomation';
|
|
5929
5968
|
// --- Validate layers ---
|
|
5930
5969
|
const layers = params.layers;
|
|
5931
5970
|
if (layers.length === 0 || layers.length > 3) {
|
|
@@ -5936,7 +5975,7 @@ class Transactions {
|
|
|
5936
5975
|
if (sumX !== 100 || sumY !== 100) {
|
|
5937
5976
|
throw new Error(`Layer percentages must sum to 100 per side (got X=${sumX}, Y=${sumY})`);
|
|
5938
5977
|
}
|
|
5939
|
-
const { lbPair, lbPairState, lowerBinId: currentLowerBinId, upperBinId: currentUpperBinId, estimatedTotalX, estimatedTotalY, activeId, withdrawFn, depositFn, } = yield this.resolvePositionContext({
|
|
5978
|
+
const { lbPair, lbPairState, dlmmPool, lowerBinId: currentLowerBinId, upperBinId: currentUpperBinId, estimatedTotalX, estimatedTotalY, activeId, withdrawFn, depositFn, } = yield this.resolvePositionContext({
|
|
5940
5979
|
connection,
|
|
5941
5980
|
userWallet: params.userWallet,
|
|
5942
5981
|
position: params.currentPosition,
|
|
@@ -5949,38 +5988,87 @@ class Transactions {
|
|
|
5949
5988
|
}
|
|
5950
5989
|
const newLowerBinId = activeId + params.relativeBinRange.lowerRange;
|
|
5951
5990
|
const newUpperBinId = activeId + params.relativeBinRange.upperRange;
|
|
5991
|
+
const newWidth = newUpperBinId - newLowerBinId + 1;
|
|
5992
|
+
const currentWidth = currentUpperBinId - currentLowerBinId + 1;
|
|
5952
5993
|
const binStep = new bn_js_1.default(lbPairState.binStep);
|
|
5953
|
-
//
|
|
5954
|
-
//
|
|
5955
|
-
//
|
|
5956
|
-
const
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
maxBinId: currentUpperBinId,
|
|
5962
|
-
compound: params.compound,
|
|
5963
|
-
origin: `meteoraRebalanceHybridLiquidityAutomation`
|
|
5964
|
-
}),
|
|
5965
|
-
// Close position
|
|
5966
|
-
{
|
|
5967
|
-
label: 'close_position',
|
|
5968
|
-
class: 'meteoraRebalanceHybridLiquidityAutomation',
|
|
5969
|
-
instruction: yield this.ix.meteoraDlmm.closePosition2Automation({
|
|
5970
|
-
connection,
|
|
5971
|
-
userWallet: params.userWallet,
|
|
5994
|
+
// =========================================================================
|
|
5995
|
+
// PHASE 1: TEARDOWN (withdraw from old position + close)
|
|
5996
|
+
// =========================================================================
|
|
5997
|
+
const teardownTxGroups = [];
|
|
5998
|
+
if (currentWidth <= MAX_BINS_PER_WITHDRAW_CHUNK) {
|
|
5999
|
+
// Small/medium: single withdraw TX
|
|
6000
|
+
teardownTxGroups.push([
|
|
6001
|
+
...yield withdrawFn({
|
|
5972
6002
|
position: params.currentPosition,
|
|
5973
|
-
|
|
5974
|
-
|
|
6003
|
+
minBinId: currentLowerBinId,
|
|
6004
|
+
maxBinId: currentUpperBinId,
|
|
6005
|
+
compound: params.compound,
|
|
6006
|
+
origin: CLASS,
|
|
6007
|
+
}),
|
|
6008
|
+
{
|
|
6009
|
+
label: 'close_position',
|
|
6010
|
+
class: CLASS,
|
|
6011
|
+
instruction: yield this.ix.meteoraDlmm.closePosition2Automation({
|
|
6012
|
+
connection,
|
|
6013
|
+
userWallet: params.userWallet,
|
|
6014
|
+
position: params.currentPosition,
|
|
6015
|
+
lbPair,
|
|
6016
|
+
}),
|
|
6017
|
+
},
|
|
6018
|
+
]);
|
|
6019
|
+
}
|
|
6020
|
+
else {
|
|
6021
|
+
// Large: chunked withdrawal
|
|
6022
|
+
const withdrawChunks = (0, liquidityStrategy_1.chunkBinRange)(currentLowerBinId, currentUpperBinId, MAX_BINS_PER_WITHDRAW_CHUNK);
|
|
6023
|
+
for (let i = 0; i < withdrawChunks.length; i++) {
|
|
6024
|
+
const chunk = withdrawChunks[i];
|
|
6025
|
+
const isLast = i === withdrawChunks.length - 1;
|
|
6026
|
+
const chunkIxs = [
|
|
6027
|
+
...yield withdrawFn({
|
|
6028
|
+
position: params.currentPosition,
|
|
6029
|
+
minBinId: chunk.lowerBinId,
|
|
6030
|
+
maxBinId: chunk.upperBinId,
|
|
6031
|
+
compound: params.compound,
|
|
6032
|
+
origin: CLASS,
|
|
6033
|
+
}),
|
|
6034
|
+
];
|
|
6035
|
+
if (isLast) {
|
|
6036
|
+
chunkIxs.push({
|
|
6037
|
+
label: 'close_position',
|
|
6038
|
+
class: CLASS,
|
|
6039
|
+
instruction: yield this.ix.meteoraDlmm.closePosition2Automation({
|
|
6040
|
+
connection,
|
|
6041
|
+
userWallet: params.userWallet,
|
|
6042
|
+
position: params.currentPosition,
|
|
6043
|
+
lbPair,
|
|
6044
|
+
}),
|
|
6045
|
+
});
|
|
6046
|
+
}
|
|
6047
|
+
teardownTxGroups.push(chunkIxs);
|
|
5975
6048
|
}
|
|
5976
|
-
|
|
5977
|
-
//
|
|
5978
|
-
|
|
5979
|
-
|
|
5980
|
-
|
|
5981
|
-
const
|
|
5982
|
-
|
|
5983
|
-
const
|
|
6049
|
+
}
|
|
6050
|
+
// =========================================================================
|
|
6051
|
+
// PHASE 2: REBUILD (init + extend + deposit with hybrid layers)
|
|
6052
|
+
// =========================================================================
|
|
6053
|
+
const effectiveAmountX = (_b = params.amountXOverride) !== null && _b !== void 0 ? _b : estimatedTotalX;
|
|
6054
|
+
const effectiveAmountY = (_c = params.amountYOverride) !== null && _c !== void 0 ? _c : estimatedTotalY;
|
|
6055
|
+
const favorXInActiveId = effectiveAmountY.isZero() && !effectiveAmountX.isZero();
|
|
6056
|
+
const minDeltaId = newLowerBinId - activeId;
|
|
6057
|
+
const maxDeltaId = newUpperBinId - activeId;
|
|
6058
|
+
// Compute hybrid strategy for the full new range
|
|
6059
|
+
const strategyResults = (0, liquidityStrategy_1.distributionToHybridStrategy)({
|
|
6060
|
+
hybridDistribution: layers,
|
|
6061
|
+
amountX: effectiveAmountX,
|
|
6062
|
+
amountY: effectiveAmountY,
|
|
6063
|
+
minDeltaId: new bn_js_1.default(minDeltaId),
|
|
6064
|
+
maxDeltaId: new bn_js_1.default(maxDeltaId),
|
|
6065
|
+
binStep,
|
|
6066
|
+
activeId: new bn_js_1.default(activeId),
|
|
6067
|
+
});
|
|
6068
|
+
// Build init + extend instructions
|
|
6069
|
+
const initExtendIxs = [];
|
|
6070
|
+
const initWidth = Math.min(MAX_INIT_WIDTH, newWidth);
|
|
6071
|
+
initExtendIxs.push({
|
|
5984
6072
|
label: 'initialize_position_relative',
|
|
5985
6073
|
class: CLASS,
|
|
5986
6074
|
instruction: yield this.ix.meteoraDlmm.initializePositionRelativeAutomation(connection, {
|
|
@@ -5988,15 +6076,208 @@ class Transactions {
|
|
|
5988
6076
|
lbPair,
|
|
5989
6077
|
position: params.newPosition,
|
|
5990
6078
|
relativeLowerBinId: params.relativeBinRange.lowerRange,
|
|
5991
|
-
width:
|
|
6079
|
+
width: initWidth,
|
|
5992
6080
|
}),
|
|
5993
|
-
};
|
|
5994
|
-
|
|
5995
|
-
|
|
5996
|
-
|
|
6081
|
+
});
|
|
6082
|
+
let positionBinsAllocated = initWidth;
|
|
6083
|
+
while (positionBinsAllocated < newWidth) {
|
|
6084
|
+
const toAdd = Math.min(MAX_EXTEND_LENGTH, newWidth - positionBinsAllocated);
|
|
6085
|
+
initExtendIxs.push({
|
|
6086
|
+
label: 'increase_position_length',
|
|
6087
|
+
class: CLASS,
|
|
6088
|
+
instruction: yield this.ix.meteoraDlmm.increasePositionLengthAutomation({
|
|
6089
|
+
connection,
|
|
6090
|
+
userWallet: params.userWallet,
|
|
6091
|
+
lbPair,
|
|
6092
|
+
position: params.newPosition,
|
|
6093
|
+
lengthToAdd: toAdd,
|
|
6094
|
+
side: types_1.MeteoraPositionSide.Upper,
|
|
6095
|
+
}),
|
|
6096
|
+
});
|
|
6097
|
+
positionBinsAllocated += toAdd;
|
|
6098
|
+
}
|
|
6099
|
+
// Build deposit TX group(s)
|
|
6100
|
+
const rebuildTxGroups = [];
|
|
6101
|
+
if (newWidth <= MAX_BINS_PER_DEPOSIT_CHUNK) {
|
|
6102
|
+
// Small/medium: all layers in one rebalanceLiquidity call.
|
|
6103
|
+
// Split into two TXs when extension is needed (newWidth > MAX_INIT_WIDTH) to
|
|
6104
|
+
// avoid exceeding the TX size limit with init + extend + binArrayInits + deposit.
|
|
6105
|
+
//
|
|
6106
|
+
// Merge all layers into a single AddLiquidityParams entry by summing x0/y0/deltaX/deltaY.
|
|
6107
|
+
// Meteora's rebalanceLiquidity requires non-overlapping ranges across entries; since all
|
|
6108
|
+
// layers share the same full range, they must be merged into one. The formula is linear
|
|
6109
|
+
// so summing params is equivalent to summing per-bin amounts from each layer.
|
|
6110
|
+
const mergedLayer = strategyResults.reduce((acc, l) => ({
|
|
6111
|
+
x0: acc.x0.add(l.x0),
|
|
6112
|
+
y0: acc.y0.add(l.y0),
|
|
6113
|
+
deltaX: acc.deltaX.add(l.deltaX),
|
|
6114
|
+
deltaY: acc.deltaY.add(l.deltaY),
|
|
6115
|
+
}), { x0: new bn_js_1.default(0), y0: new bn_js_1.default(0), deltaX: new bn_js_1.default(0), deltaY: new bn_js_1.default(0) });
|
|
6116
|
+
const mergedP = (0, liquidityStrategy_1.buildBitFlagAndNegateStrategyParameters)(mergedLayer.x0, mergedLayer.y0, mergedLayer.deltaX, mergedLayer.deltaY);
|
|
6117
|
+
const allAddLiquidityParams = [{
|
|
6118
|
+
minDeltaId,
|
|
6119
|
+
maxDeltaId,
|
|
6120
|
+
x0: mergedP.x0, y0: mergedP.y0, deltaX: mergedP.deltaX, deltaY: mergedP.deltaY,
|
|
6121
|
+
bitFlag: mergedP.bitFlag,
|
|
6122
|
+
favorXInActiveId,
|
|
6123
|
+
}];
|
|
6124
|
+
const mergedBinsAmounts = (0, liquidityStrategy_1.toAmountIntoBins)(new bn_js_1.default(activeId), new bn_js_1.default(minDeltaId), new bn_js_1.default(maxDeltaId), mergedLayer.deltaX, mergedLayer.deltaY, mergedLayer.x0, mergedLayer.y0, binStep, favorXInActiveId);
|
|
6125
|
+
const totalMaxX = mergedBinsAmounts.reduce((s, b) => s.add(b.amountX), new bn_js_1.default(0));
|
|
6126
|
+
const totalMaxY = mergedBinsAmounts.reduce((s, b) => s.add(b.amountY), new bn_js_1.default(0));
|
|
6127
|
+
const binArrayInitIxs = yield this._initBinArraysForRange(connection, lbPair, dlmmPool, newLowerBinId, newUpperBinId);
|
|
6128
|
+
const binArrayInitIxsLabeled = binArrayInitIxs.map(ix => ({ label: 'init_bin_array', class: CLASS, instruction: ix }));
|
|
6129
|
+
const depositIx = yield depositFn({
|
|
6130
|
+
position: params.newPosition,
|
|
6131
|
+
shouldClaimFee: false,
|
|
6132
|
+
shouldClaimReward: false,
|
|
6133
|
+
maxDepositXAmount: totalMaxX,
|
|
6134
|
+
maxDepositYAmount: totalMaxY,
|
|
6135
|
+
pdaTokenType: types_1.TokenType.ATA,
|
|
6136
|
+
addLiquidityParams: allAddLiquidityParams,
|
|
6137
|
+
origin: CLASS,
|
|
6138
|
+
});
|
|
6139
|
+
if (newWidth <= MAX_INIT_WIDTH) {
|
|
6140
|
+
// ≤70 bins: no extension needed, everything fits in one TX
|
|
6141
|
+
rebuildTxGroups.push([...initExtendIxs, ...binArrayInitIxsLabeled, depositIx]);
|
|
6142
|
+
}
|
|
6143
|
+
else {
|
|
6144
|
+
// 71-149 bins: extension needed, split init+extend from deposit to stay within TX size limit
|
|
6145
|
+
rebuildTxGroups.push(initExtendIxs);
|
|
6146
|
+
rebuildTxGroups.push([...binArrayInitIxsLabeled, depositIx]);
|
|
6147
|
+
}
|
|
6148
|
+
}
|
|
6149
|
+
else {
|
|
6150
|
+
// Large: init+extend in first TX, then one TX per deposit chunk
|
|
6151
|
+
rebuildTxGroups.push(initExtendIxs);
|
|
6152
|
+
const depositChunks = (0, liquidityStrategy_1.chunkHybridDepositParameters)(strategyResults, new bn_js_1.default(minDeltaId), new bn_js_1.default(maxDeltaId), new bn_js_1.default(activeId), binStep, MAX_BINS_PER_DEPOSIT_CHUNK, favorXInActiveId);
|
|
6153
|
+
for (const chunk of depositChunks) {
|
|
6154
|
+
// Merge all layers into a single AddLiquidityParams entry per chunk (see comment above).
|
|
6155
|
+
const chunkMergedLayer = chunk.layers.reduce((acc, l) => ({
|
|
6156
|
+
x0: acc.x0.add(l.params.x0),
|
|
6157
|
+
y0: acc.y0.add(l.params.y0),
|
|
6158
|
+
deltaX: acc.deltaX.add(l.params.deltaX),
|
|
6159
|
+
deltaY: acc.deltaY.add(l.params.deltaY),
|
|
6160
|
+
}), { x0: new bn_js_1.default(0), y0: new bn_js_1.default(0), deltaX: new bn_js_1.default(0), deltaY: new bn_js_1.default(0) });
|
|
6161
|
+
const chunkMergedP = (0, liquidityStrategy_1.buildBitFlagAndNegateStrategyParameters)(chunkMergedLayer.x0, chunkMergedLayer.y0, chunkMergedLayer.deltaX, chunkMergedLayer.deltaY);
|
|
6162
|
+
const chunkAddLiquidityParams = [{
|
|
6163
|
+
minDeltaId: chunk.minDeltaId.toNumber(),
|
|
6164
|
+
maxDeltaId: chunk.maxDeltaId.toNumber(),
|
|
6165
|
+
x0: chunkMergedP.x0, y0: chunkMergedP.y0, deltaX: chunkMergedP.deltaX, deltaY: chunkMergedP.deltaY,
|
|
6166
|
+
bitFlag: chunkMergedP.bitFlag,
|
|
6167
|
+
favorXInActiveId,
|
|
6168
|
+
}];
|
|
6169
|
+
const chunkMergedBinsAmounts = (0, liquidityStrategy_1.toAmountIntoBins)(new bn_js_1.default(activeId), chunk.minDeltaId, chunk.maxDeltaId, chunkMergedLayer.deltaX, chunkMergedLayer.deltaY, chunkMergedLayer.x0, chunkMergedLayer.y0, binStep, favorXInActiveId);
|
|
6170
|
+
const chunkTotalMaxX = chunkMergedBinsAmounts.reduce((s, b) => s.add(b.amountX), new bn_js_1.default(0));
|
|
6171
|
+
const chunkTotalMaxY = chunkMergedBinsAmounts.reduce((s, b) => s.add(b.amountY), new bn_js_1.default(0));
|
|
6172
|
+
const binArrayInitIxs = yield this._initBinArraysForRange(connection, lbPair, dlmmPool, chunk.lowerBinId, chunk.upperBinId);
|
|
6173
|
+
rebuildTxGroups.push([
|
|
6174
|
+
...binArrayInitIxs.map(ix => ({ label: 'init_bin_array', class: CLASS, instruction: ix })),
|
|
6175
|
+
yield depositFn({
|
|
6176
|
+
position: params.newPosition,
|
|
6177
|
+
shouldClaimFee: false,
|
|
6178
|
+
shouldClaimReward: false,
|
|
6179
|
+
maxDepositXAmount: chunkTotalMaxX,
|
|
6180
|
+
maxDepositYAmount: chunkTotalMaxY,
|
|
6181
|
+
pdaTokenType: types_1.TokenType.ATA,
|
|
6182
|
+
addLiquidityParams: chunkAddLiquidityParams,
|
|
6183
|
+
origin: CLASS,
|
|
6184
|
+
}),
|
|
6185
|
+
]);
|
|
6186
|
+
}
|
|
6187
|
+
}
|
|
6188
|
+
// =========================================================================
|
|
6189
|
+
// Assemble final TX list
|
|
6190
|
+
// =========================================================================
|
|
6191
|
+
const allTxGroups = [...teardownTxGroups, ...rebuildTxGroups];
|
|
6192
|
+
const transactions = [];
|
|
6193
|
+
for (const txIxs of allTxGroups) {
|
|
6194
|
+
transactions.push(yield (0, functions_1.createTransactionMeta2)({
|
|
6195
|
+
payer: params.userWallet,
|
|
6196
|
+
addressLookupTableAddresses: addresses_1.GLOBAL_ALT,
|
|
6197
|
+
mainInstructions: txIxs,
|
|
6198
|
+
}));
|
|
6199
|
+
}
|
|
6200
|
+
return transactions;
|
|
6201
|
+
}
|
|
6202
|
+
catch (error) {
|
|
6203
|
+
console.error('=== REBALANCE HYBRID LIQUIDITY AUTOMATION ERROR ===');
|
|
6204
|
+
console.error('Error:', error instanceof Error ? error.message : String(error));
|
|
6205
|
+
console.error('Stack:', error instanceof Error ? error.stack : 'No stack trace');
|
|
6206
|
+
console.error('=== END ERROR LOG ===');
|
|
6207
|
+
throw error;
|
|
6208
|
+
}
|
|
6209
|
+
});
|
|
6210
|
+
}
|
|
6211
|
+
/**
|
|
6212
|
+
* Hybrid liquidity redeposit for automation: withdraw all liquidity from the same
|
|
6213
|
+
* position and re-deposit with independent X/Y distributions per layer.
|
|
6214
|
+
*
|
|
6215
|
+
* Unlike rebalance, the position is NOT closed or moved — the same bin range is reused.
|
|
6216
|
+
* Supports all position sizes (≤70, 71-149, ≥150 bins).
|
|
6217
|
+
*/
|
|
6218
|
+
meteoraRedepositHybridLiquidityAutomation(_a) {
|
|
6219
|
+
return __awaiter(this, arguments, void 0, function* ({ connection, params, }) {
|
|
6220
|
+
var _b, _c;
|
|
6221
|
+
try {
|
|
6222
|
+
const MAX_BINS_PER_WITHDRAW_CHUNK = 149;
|
|
6223
|
+
const MAX_BINS_PER_DEPOSIT_CHUNK = 149;
|
|
6224
|
+
const CLASS = 'meteoraRedepositHybridLiquidityAutomation';
|
|
6225
|
+
// --- Validate layers ---
|
|
6226
|
+
const layers = params.layers;
|
|
6227
|
+
if (layers.length === 0 || layers.length > 3) {
|
|
6228
|
+
throw new Error('layers must have 1-3 entries');
|
|
6229
|
+
}
|
|
6230
|
+
const sumX = layers.reduce((s, l) => s + l.x.percentage, 0);
|
|
6231
|
+
const sumY = layers.reduce((s, l) => s + l.y.percentage, 0);
|
|
6232
|
+
if (sumX !== 100 || sumY !== 100) {
|
|
6233
|
+
throw new Error(`Layer percentages must sum to 100 per side (got X=${sumX}, Y=${sumY})`);
|
|
6234
|
+
}
|
|
6235
|
+
const { lbPair: _lbPair, lbPairState, lowerBinId, upperBinId, estimatedTotalX, estimatedTotalY, activeId, withdrawFn, depositFn, } = yield this.resolvePositionContext({
|
|
6236
|
+
connection,
|
|
6237
|
+
userWallet: params.userWallet,
|
|
6238
|
+
position: params.position,
|
|
6239
|
+
compound: params.compound,
|
|
6240
|
+
targetActiveBin: params.targetActiveBin,
|
|
6241
|
+
});
|
|
6242
|
+
const positionWidth = upperBinId - lowerBinId + 1;
|
|
6243
|
+
const binStep = new bn_js_1.default(lbPairState.binStep);
|
|
5997
6244
|
const effectiveAmountX = (_b = params.amountXOverride) !== null && _b !== void 0 ? _b : estimatedTotalX;
|
|
5998
6245
|
const effectiveAmountY = (_c = params.amountYOverride) !== null && _c !== void 0 ? _c : estimatedTotalY;
|
|
5999
6246
|
const favorXInActiveId = effectiveAmountY.isZero() && !effectiveAmountX.isZero();
|
|
6247
|
+
const minDeltaId = lowerBinId - activeId;
|
|
6248
|
+
const maxDeltaId = upperBinId - activeId;
|
|
6249
|
+
// =========================================================================
|
|
6250
|
+
// PHASE 1: WITHDRAW (no close — same position)
|
|
6251
|
+
// =========================================================================
|
|
6252
|
+
const withdrawTxGroups = [];
|
|
6253
|
+
if (positionWidth <= MAX_BINS_PER_WITHDRAW_CHUNK) {
|
|
6254
|
+
withdrawTxGroups.push([
|
|
6255
|
+
...yield withdrawFn({
|
|
6256
|
+
position: params.position,
|
|
6257
|
+
minBinId: lowerBinId,
|
|
6258
|
+
maxBinId: upperBinId,
|
|
6259
|
+
compound: params.compound,
|
|
6260
|
+
origin: CLASS,
|
|
6261
|
+
}),
|
|
6262
|
+
]);
|
|
6263
|
+
}
|
|
6264
|
+
else {
|
|
6265
|
+
const withdrawChunks = (0, liquidityStrategy_1.chunkBinRange)(lowerBinId, upperBinId, MAX_BINS_PER_WITHDRAW_CHUNK);
|
|
6266
|
+
for (const chunk of withdrawChunks) {
|
|
6267
|
+
withdrawTxGroups.push([
|
|
6268
|
+
...yield withdrawFn({
|
|
6269
|
+
position: params.position,
|
|
6270
|
+
minBinId: chunk.lowerBinId,
|
|
6271
|
+
maxBinId: chunk.upperBinId,
|
|
6272
|
+
compound: params.compound,
|
|
6273
|
+
origin: CLASS,
|
|
6274
|
+
}),
|
|
6275
|
+
]);
|
|
6276
|
+
}
|
|
6277
|
+
}
|
|
6278
|
+
// =========================================================================
|
|
6279
|
+
// PHASE 2: DEPOSIT (hybrid layers, no init/extend needed)
|
|
6280
|
+
// =========================================================================
|
|
6000
6281
|
const strategyResults = (0, liquidityStrategy_1.distributionToHybridStrategy)({
|
|
6001
6282
|
hybridDistribution: layers,
|
|
6002
6283
|
amountX: effectiveAmountX,
|
|
@@ -6006,57 +6287,95 @@ class Transactions {
|
|
|
6006
6287
|
binStep,
|
|
6007
6288
|
activeId: new bn_js_1.default(activeId),
|
|
6008
6289
|
});
|
|
6009
|
-
const
|
|
6010
|
-
|
|
6011
|
-
|
|
6012
|
-
|
|
6013
|
-
|
|
6014
|
-
|
|
6015
|
-
|
|
6016
|
-
|
|
6017
|
-
|
|
6018
|
-
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
|
|
6023
|
-
|
|
6024
|
-
|
|
6025
|
-
|
|
6026
|
-
|
|
6027
|
-
|
|
6028
|
-
|
|
6029
|
-
|
|
6030
|
-
|
|
6031
|
-
|
|
6032
|
-
|
|
6033
|
-
|
|
6034
|
-
|
|
6035
|
-
|
|
6036
|
-
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
|
|
6290
|
+
const depositTxGroups = [];
|
|
6291
|
+
if (positionWidth <= MAX_BINS_PER_DEPOSIT_CHUNK) {
|
|
6292
|
+
// Single deposit TX — all layers merged into one rebalanceLiquidity call.
|
|
6293
|
+
// Merge all layers into a single AddLiquidityParams entry by summing x0/y0/deltaX/deltaY.
|
|
6294
|
+
// Meteora's rebalanceLiquidity requires non-overlapping ranges across entries; since all
|
|
6295
|
+
// layers share the same full range, they must be merged into one. The formula is linear
|
|
6296
|
+
// so summing params is equivalent to summing per-bin amounts from each layer.
|
|
6297
|
+
const mergedLayer = strategyResults.reduce((acc, l) => ({
|
|
6298
|
+
x0: acc.x0.add(l.x0),
|
|
6299
|
+
y0: acc.y0.add(l.y0),
|
|
6300
|
+
deltaX: acc.deltaX.add(l.deltaX),
|
|
6301
|
+
deltaY: acc.deltaY.add(l.deltaY),
|
|
6302
|
+
}), { x0: new bn_js_1.default(0), y0: new bn_js_1.default(0), deltaX: new bn_js_1.default(0), deltaY: new bn_js_1.default(0) });
|
|
6303
|
+
const mergedP = (0, liquidityStrategy_1.buildBitFlagAndNegateStrategyParameters)(mergedLayer.x0, mergedLayer.y0, mergedLayer.deltaX, mergedLayer.deltaY);
|
|
6304
|
+
const allAddLiquidityParams = [{
|
|
6305
|
+
minDeltaId,
|
|
6306
|
+
maxDeltaId,
|
|
6307
|
+
x0: mergedP.x0, y0: mergedP.y0, deltaX: mergedP.deltaX, deltaY: mergedP.deltaY,
|
|
6308
|
+
bitFlag: mergedP.bitFlag,
|
|
6309
|
+
favorXInActiveId,
|
|
6310
|
+
}];
|
|
6311
|
+
const mergedBinsAmounts = (0, liquidityStrategy_1.toAmountIntoBins)(new bn_js_1.default(activeId), new bn_js_1.default(minDeltaId), new bn_js_1.default(maxDeltaId), mergedLayer.deltaX, mergedLayer.deltaY, mergedLayer.x0, mergedLayer.y0, binStep, favorXInActiveId);
|
|
6312
|
+
const totalMaxX = mergedBinsAmounts.reduce((s, b) => s.add(b.amountX), new bn_js_1.default(0));
|
|
6313
|
+
const totalMaxY = mergedBinsAmounts.reduce((s, b) => s.add(b.amountY), new bn_js_1.default(0));
|
|
6314
|
+
depositTxGroups.push([
|
|
6315
|
+
yield depositFn({
|
|
6316
|
+
position: params.position,
|
|
6317
|
+
shouldClaimFee: false,
|
|
6318
|
+
shouldClaimReward: false,
|
|
6319
|
+
maxDepositXAmount: totalMaxX,
|
|
6320
|
+
maxDepositYAmount: totalMaxY,
|
|
6321
|
+
pdaTokenType: types_1.TokenType.ATA,
|
|
6322
|
+
addLiquidityParams: allAddLiquidityParams,
|
|
6323
|
+
origin: CLASS,
|
|
6324
|
+
}),
|
|
6325
|
+
]);
|
|
6040
6326
|
}
|
|
6041
|
-
|
|
6042
|
-
|
|
6043
|
-
|
|
6044
|
-
|
|
6045
|
-
|
|
6327
|
+
else {
|
|
6328
|
+
// Chunked deposit — one TX per chunk, all layers per chunk
|
|
6329
|
+
const depositChunks = (0, liquidityStrategy_1.chunkHybridDepositParameters)(strategyResults, new bn_js_1.default(minDeltaId), new bn_js_1.default(maxDeltaId), new bn_js_1.default(activeId), binStep, MAX_BINS_PER_DEPOSIT_CHUNK, favorXInActiveId);
|
|
6330
|
+
for (const chunk of depositChunks) {
|
|
6331
|
+
// Merge all layers into a single AddLiquidityParams entry per chunk (see comment above).
|
|
6332
|
+
const chunkMergedLayer = chunk.layers.reduce((acc, l) => ({
|
|
6333
|
+
x0: acc.x0.add(l.params.x0),
|
|
6334
|
+
y0: acc.y0.add(l.params.y0),
|
|
6335
|
+
deltaX: acc.deltaX.add(l.params.deltaX),
|
|
6336
|
+
deltaY: acc.deltaY.add(l.params.deltaY),
|
|
6337
|
+
}), { x0: new bn_js_1.default(0), y0: new bn_js_1.default(0), deltaX: new bn_js_1.default(0), deltaY: new bn_js_1.default(0) });
|
|
6338
|
+
const chunkMergedP = (0, liquidityStrategy_1.buildBitFlagAndNegateStrategyParameters)(chunkMergedLayer.x0, chunkMergedLayer.y0, chunkMergedLayer.deltaX, chunkMergedLayer.deltaY);
|
|
6339
|
+
const chunkAddLiquidityParams = [{
|
|
6340
|
+
minDeltaId: chunk.minDeltaId.toNumber(),
|
|
6341
|
+
maxDeltaId: chunk.maxDeltaId.toNumber(),
|
|
6342
|
+
x0: chunkMergedP.x0, y0: chunkMergedP.y0, deltaX: chunkMergedP.deltaX, deltaY: chunkMergedP.deltaY,
|
|
6343
|
+
bitFlag: chunkMergedP.bitFlag,
|
|
6344
|
+
favorXInActiveId,
|
|
6345
|
+
}];
|
|
6346
|
+
const chunkMergedBinsAmounts = (0, liquidityStrategy_1.toAmountIntoBins)(new bn_js_1.default(activeId), chunk.minDeltaId, chunk.maxDeltaId, chunkMergedLayer.deltaX, chunkMergedLayer.deltaY, chunkMergedLayer.x0, chunkMergedLayer.y0, binStep, favorXInActiveId);
|
|
6347
|
+
const chunkTotalMaxX = chunkMergedBinsAmounts.reduce((s, b) => s.add(b.amountX), new bn_js_1.default(0));
|
|
6348
|
+
const chunkTotalMaxY = chunkMergedBinsAmounts.reduce((s, b) => s.add(b.amountY), new bn_js_1.default(0));
|
|
6349
|
+
depositTxGroups.push([
|
|
6350
|
+
yield depositFn({
|
|
6351
|
+
position: params.position,
|
|
6352
|
+
shouldClaimFee: false,
|
|
6353
|
+
shouldClaimReward: false,
|
|
6354
|
+
maxDepositXAmount: chunkTotalMaxX,
|
|
6355
|
+
maxDepositYAmount: chunkTotalMaxY,
|
|
6356
|
+
pdaTokenType: types_1.TokenType.ATA,
|
|
6357
|
+
addLiquidityParams: chunkAddLiquidityParams,
|
|
6358
|
+
origin: CLASS,
|
|
6359
|
+
}),
|
|
6360
|
+
]);
|
|
6361
|
+
}
|
|
6046
6362
|
}
|
|
6047
|
-
//
|
|
6363
|
+
// =========================================================================
|
|
6364
|
+
// Assemble final TX list
|
|
6365
|
+
// =========================================================================
|
|
6366
|
+
const allTxGroups = [...withdrawTxGroups, ...depositTxGroups];
|
|
6048
6367
|
const transactions = [];
|
|
6049
|
-
for (
|
|
6368
|
+
for (const txIxs of allTxGroups) {
|
|
6050
6369
|
transactions.push(yield (0, functions_1.createTransactionMeta2)({
|
|
6051
6370
|
payer: params.userWallet,
|
|
6052
6371
|
addressLookupTableAddresses: addresses_1.GLOBAL_ALT,
|
|
6053
|
-
mainInstructions:
|
|
6372
|
+
mainInstructions: txIxs,
|
|
6054
6373
|
}));
|
|
6055
6374
|
}
|
|
6056
6375
|
return transactions;
|
|
6057
6376
|
}
|
|
6058
6377
|
catch (error) {
|
|
6059
|
-
console.error('===
|
|
6378
|
+
console.error('=== REDEPOSIT HYBRID LIQUIDITY AUTOMATION ERROR ===');
|
|
6060
6379
|
console.error('Error:', error instanceof Error ? error.message : String(error));
|
|
6061
6380
|
console.error('Stack:', error instanceof Error ? error.stack : 'No stack trace');
|
|
6062
6381
|
console.error('=== END ERROR LOG ===');
|
|
@@ -6064,6 +6383,19 @@ class Transactions {
|
|
|
6064
6383
|
}
|
|
6065
6384
|
});
|
|
6066
6385
|
}
|
|
6386
|
+
/**
|
|
6387
|
+
* Initialize bin arrays for a given bin range, skipping arrays that already exist.
|
|
6388
|
+
* Uses getBinArraysRequiredByPositionRange to avoid redundant on-chain inits.
|
|
6389
|
+
*/
|
|
6390
|
+
_initBinArraysForRange(connection, lbPair, dlmmPool, lowerBinId, upperBinId) {
|
|
6391
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6392
|
+
const binArraysRequired = yield (0, dlmm_1.getBinArraysRequiredByPositionRange)(lbPair, new bn_js_1.default(lowerBinId), new bn_js_1.default(upperBinId), dlmmPool.dlmm.program.programId);
|
|
6393
|
+
if (binArraysRequired.length > 0) {
|
|
6394
|
+
return yield dlmmPool.dlmm.initializeBinArrays(binArraysRequired.map(b => b.index), addresses_1.HS_AUTHORITY);
|
|
6395
|
+
}
|
|
6396
|
+
return [];
|
|
6397
|
+
});
|
|
6398
|
+
}
|
|
6067
6399
|
/**
|
|
6068
6400
|
* Fetches a DLMM position's on-chain state and resolves all associated context
|
|
6069
6401
|
* needed for downstream instructions: pool state, token mints/programs,
|
|
@@ -6129,6 +6461,7 @@ class Transactions {
|
|
|
6129
6461
|
combinedAccounts.push(...baseRemainingAccountsInfo.accounts);
|
|
6130
6462
|
for (const reward of rewardInfos) {
|
|
6131
6463
|
const rewardTransferHookInfo = yield (0, functions_1.fetchRemainingAccountsInfoForReward)(connection, reward.rewardMint, reward.rewardTokenProgram);
|
|
6464
|
+
reward.rewardRemainingAccountsInfo = rewardTransferHookInfo;
|
|
6132
6465
|
const transferHookLength = rewardTransferHookInfo.slices.length > 0
|
|
6133
6466
|
? rewardTransferHookInfo.slices[0].length
|
|
6134
6467
|
: 0;
|
|
@@ -6144,16 +6477,23 @@ class Transactions {
|
|
|
6144
6477
|
accounts: combinedAccounts,
|
|
6145
6478
|
};
|
|
6146
6479
|
// --- Estimate total amounts ---
|
|
6480
|
+
// When compound=true, fees are claimed via claimFee2Automation which takes an 8% hawk-side
|
|
6481
|
+
// cut (HARVEST_FEE_NUMERATOR=800, FEE_DENOMINATOR=10000). The net fee after cut is what's
|
|
6482
|
+
// available for re-deposit.
|
|
6147
6483
|
const positionData = userPosition.positionData;
|
|
6148
6484
|
const feeX = positionData.feeX;
|
|
6149
6485
|
const feeY = positionData.feeY;
|
|
6486
|
+
const HAWK_FEE_BPS = 800;
|
|
6487
|
+
const FEE_BPS_DENOM = 10000;
|
|
6488
|
+
const netFeeX = feeX.mul(new bn_js_1.default(FEE_BPS_DENOM - HAWK_FEE_BPS)).div(new bn_js_1.default(FEE_BPS_DENOM));
|
|
6489
|
+
const netFeeY = feeY.mul(new bn_js_1.default(FEE_BPS_DENOM - HAWK_FEE_BPS)).div(new bn_js_1.default(FEE_BPS_DENOM));
|
|
6150
6490
|
const estimatedTotalX = compound
|
|
6151
|
-
? new bn_js_1.default(positionData.totalXAmount).add(
|
|
6491
|
+
? new bn_js_1.default(positionData.totalXAmount).add(netFeeX)
|
|
6152
6492
|
: new bn_js_1.default(positionData.totalXAmount);
|
|
6153
6493
|
const estimatedTotalY = compound
|
|
6154
|
-
? new bn_js_1.default(positionData.totalYAmount).add(
|
|
6494
|
+
? new bn_js_1.default(positionData.totalYAmount).add(netFeeY)
|
|
6155
6495
|
: new bn_js_1.default(positionData.totalYAmount);
|
|
6156
|
-
const _rebalanceLiquidityAutomation = (_a) => __awaiter(this, [_a], void 0, function* ({ position, maxDepositXAmount, maxDepositYAmount, pdaTokenType, shrinkMode, shouldClaimFee, shouldClaimReward, removeLiquidityParams, addLiquidityParams, }) {
|
|
6496
|
+
const _rebalanceLiquidityAutomation = (_a) => __awaiter(this, [_a], void 0, function* ({ position, maxDepositXAmount, maxDepositYAmount, pdaTokenType, shrinkMode, shouldClaimFee, shouldClaimReward, removeLiquidityParams, addLiquidityParams, maxActiveBinSlippage, }) {
|
|
6157
6497
|
return yield this.ix.meteoraDlmm.rebalanceLiquidityAutomation({
|
|
6158
6498
|
connection,
|
|
6159
6499
|
userWallet: userWallet,
|
|
@@ -6162,7 +6502,7 @@ class Transactions {
|
|
|
6162
6502
|
tokenXMint, tokenYMint, tokenXProgram, tokenYProgram,
|
|
6163
6503
|
activeId,
|
|
6164
6504
|
pdaTokenType,
|
|
6165
|
-
maxActiveBinSlippage
|
|
6505
|
+
maxActiveBinSlippage,
|
|
6166
6506
|
shouldClaimFee,
|
|
6167
6507
|
shouldClaimReward,
|
|
6168
6508
|
minWithdrawXAmount: new bn_js_1.default(0),
|
|
@@ -6187,65 +6527,65 @@ class Transactions {
|
|
|
6187
6527
|
removeLiquidityParams: [{ minBinId, maxBinId, bps: 10000 }],
|
|
6188
6528
|
addLiquidityParams: [],
|
|
6189
6529
|
shrinkMode,
|
|
6530
|
+
maxActiveBinSlippage: 32767,
|
|
6190
6531
|
});
|
|
6191
6532
|
});
|
|
6192
6533
|
const withdrawFn = (_a) => __awaiter(this, [_a], void 0, function* ({ position, minBinId, maxBinId, compound, origin, }) {
|
|
6193
|
-
|
|
6194
|
-
|
|
6195
|
-
|
|
6196
|
-
|
|
6197
|
-
|
|
6198
|
-
|
|
6199
|
-
|
|
6200
|
-
|
|
6201
|
-
|
|
6202
|
-
|
|
6203
|
-
|
|
6204
|
-
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
shrinkMode: types_3.ShrinkMode.NoShrinkBoth,
|
|
6222
|
-
shouldClaimFee: false,
|
|
6223
|
-
// Note:
|
|
6224
|
-
// User Reward Token is not affected by this parameter. It's always STA regardless.
|
|
6225
|
-
// pdaTokenType only affects token deposits (which essentially are fees as well)
|
|
6226
|
-
pdaTokenType: types_1.TokenType.ATA,
|
|
6227
|
-
})
|
|
6228
|
-
},
|
|
6229
|
-
// Claim fees and shrink position
|
|
6230
|
-
{
|
|
6231
|
-
label: 'claim_fees_using_rbl',
|
|
6232
|
-
class: 'withdrawFn',
|
|
6233
|
-
instruction: yield _withdrawFn({
|
|
6534
|
+
const pdaTokenTypeForClaimables = compound ? types_1.TokenType.ATA : types_1.TokenType.STA;
|
|
6535
|
+
const ixs = [];
|
|
6536
|
+
// 1. Claim fees with hawk-side cut (must happen before withdraw+shrink invalidates position)
|
|
6537
|
+
ixs.push({
|
|
6538
|
+
label: 'claim_fee',
|
|
6539
|
+
class: origin,
|
|
6540
|
+
instruction: yield this.ix.meteoraDlmm.claimFee2Automation(connection, {
|
|
6541
|
+
userWallet,
|
|
6542
|
+
lbPair,
|
|
6543
|
+
position,
|
|
6544
|
+
tokenMintX: tokenXMint,
|
|
6545
|
+
tokenMintY: tokenYMint,
|
|
6546
|
+
tokenProgramX: tokenXProgram,
|
|
6547
|
+
tokenProgramY: tokenYProgram,
|
|
6548
|
+
lowerBinId: minBinId,
|
|
6549
|
+
upperBinId: maxBinId,
|
|
6550
|
+
pdaTokenType: pdaTokenTypeForClaimables,
|
|
6551
|
+
remainingAccountsInfo: baseRemainingAccountsInfo,
|
|
6552
|
+
}),
|
|
6553
|
+
});
|
|
6554
|
+
// 2. Claim rewards with hawk-side cut (must happen before withdraw+shrink invalidates position)
|
|
6555
|
+
for (const reward of rewardInfos) {
|
|
6556
|
+
ixs.push({
|
|
6557
|
+
label: 'claim_reward',
|
|
6558
|
+
class: origin,
|
|
6559
|
+
instruction: yield this.ix.meteoraDlmm.claimReward2Automation(connection, {
|
|
6560
|
+
userWallet,
|
|
6561
|
+
lbPair,
|
|
6234
6562
|
position,
|
|
6235
|
-
|
|
6236
|
-
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
shouldClaimFee: true,
|
|
6242
|
-
// Note (continuation):
|
|
6243
|
-
// That is why we split it to 2 ix, because we want fees to be transfered to STA if
|
|
6244
|
-
// compound is off
|
|
6563
|
+
rewardIndex: reward.rewardIndex,
|
|
6564
|
+
rewardMint: reward.rewardMint,
|
|
6565
|
+
rewardVault: reward.rewardVault,
|
|
6566
|
+
tokenProgram: reward.rewardTokenProgram,
|
|
6567
|
+
lowerBinId: minBinId,
|
|
6568
|
+
upperBinId: maxBinId,
|
|
6245
6569
|
pdaTokenType: types_1.TokenType.STA,
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6570
|
+
remainingAccountsInfo: reward.rewardRemainingAccountsInfo,
|
|
6571
|
+
}),
|
|
6572
|
+
});
|
|
6573
|
+
}
|
|
6574
|
+
// 3. Withdraw liquidity + shrink (position may be invalidated after this)
|
|
6575
|
+
ixs.push({
|
|
6576
|
+
label: 'withdraw_using_rbl',
|
|
6577
|
+
class: origin,
|
|
6578
|
+
instruction: yield _withdrawFn({
|
|
6579
|
+
position,
|
|
6580
|
+
minBinId,
|
|
6581
|
+
maxBinId,
|
|
6582
|
+
shouldClaimReward: false,
|
|
6583
|
+
shouldClaimFee: false,
|
|
6584
|
+
shrinkMode: types_3.ShrinkMode.Default,
|
|
6585
|
+
pdaTokenType: types_1.TokenType.ATA,
|
|
6586
|
+
}),
|
|
6587
|
+
});
|
|
6588
|
+
return ixs;
|
|
6249
6589
|
});
|
|
6250
6590
|
const depositFn = (_a) => __awaiter(this, [_a], void 0, function* ({ position, maxDepositXAmount, maxDepositYAmount, pdaTokenType, addLiquidityParams, origin, }) {
|
|
6251
6591
|
return {
|
|
@@ -6261,6 +6601,7 @@ class Transactions {
|
|
|
6261
6601
|
shouldClaimReward: false,
|
|
6262
6602
|
removeLiquidityParams: [],
|
|
6263
6603
|
addLiquidityParams,
|
|
6604
|
+
maxActiveBinSlippage: 0,
|
|
6264
6605
|
})
|
|
6265
6606
|
};
|
|
6266
6607
|
});
|
|
@@ -6278,6 +6619,7 @@ class Transactions {
|
|
|
6278
6619
|
tokenYMint,
|
|
6279
6620
|
tokenXProgram,
|
|
6280
6621
|
tokenYProgram,
|
|
6622
|
+
baseRemainingAccountsInfo,
|
|
6281
6623
|
remainingAccountsInfo,
|
|
6282
6624
|
rewardInfos,
|
|
6283
6625
|
estimatedTotalX,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as web3 from "@solana/web3.js";
|
|
2
2
|
import * as _client from "@hawksightco/swagger-client";
|
|
3
|
-
import { MeteoraClose, MeteoraCompound, MeteoraRedeposit, MeteoraRedeposit2, MeteoraLimitCloseAutomation, MeteoraLimitCloseAutomation2, MeteoraRebalance, MeteoraRebalance2, MeteoraRebalance3, OpenAutomationIx, RelativeOpenAutomationIx, ResponseWithStatus, TransactionMetadata, TransactionMetadataWithActions, MeteoraRebalanceForLargerPosition, LabeledInstructions, MeteoraReshapePositionAutomationParams, MeteoraRebalanceHybridLiquidity } from "../types";
|
|
3
|
+
import { MeteoraClose, MeteoraCompound, MeteoraRedeposit, MeteoraRedeposit2, MeteoraLimitCloseAutomation, MeteoraLimitCloseAutomation2, MeteoraRebalance, MeteoraRebalance2, MeteoraRebalance3, OpenAutomationIx, RelativeOpenAutomationIx, ResponseWithStatus, TransactionMetadata, TransactionMetadataWithActions, MeteoraRebalanceForLargerPosition, LabeledInstructions, MeteoraReshapePositionAutomationParams, MeteoraRebalanceHybridLiquidity, MeteoraRedepositHybridLiquidity } from "../types";
|
|
4
4
|
import { Client } from "./Client";
|
|
5
5
|
import { GeneralUtility } from "./GeneralUtility";
|
|
6
6
|
/**
|
|
@@ -226,5 +226,12 @@ export declare class TxGeneratorAutomations {
|
|
|
226
226
|
* NOTE: For hawksight devs only.
|
|
227
227
|
*/
|
|
228
228
|
meteoraRebalanceHybridLiquidityIxs(connection: web3.Connection, payer: string, params: MeteoraRebalanceHybridLiquidity): Promise<ResponseWithStatus<TransactionMetadataWithActions[]>>;
|
|
229
|
+
/**
|
|
230
|
+
* Hybrid liquidity redeposit: withdraw from position and re-deposit with
|
|
231
|
+
* independent X/Y distributions per layer, staying on the same position.
|
|
232
|
+
*
|
|
233
|
+
* NOTE: For hawksight devs only.
|
|
234
|
+
*/
|
|
235
|
+
meteoraRedepositHybridLiquidityIxs(connection: web3.Connection, payer: string, params: MeteoraRedepositHybridLiquidity): Promise<ResponseWithStatus<TransactionMetadataWithActions[]>>;
|
|
229
236
|
}
|
|
230
237
|
//# sourceMappingURL=TxGeneratorAutomations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TxGeneratorAutomations.d.ts","sourceRoot":"","sources":["../../../src/classes/TxGeneratorAutomations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,mBAAmB,EAA4C,sCAAsC,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"TxGeneratorAutomations.d.ts","sourceRoot":"","sources":["../../../src/classes/TxGeneratorAutomations.ts"],"names":[],"mappings":"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"}
|
|
@@ -934,5 +934,54 @@ class TxGeneratorAutomations {
|
|
|
934
934
|
}
|
|
935
935
|
});
|
|
936
936
|
}
|
|
937
|
+
/**
|
|
938
|
+
* Hybrid liquidity redeposit: withdraw from position and re-deposit with
|
|
939
|
+
* independent X/Y distributions per layer, staying on the same position.
|
|
940
|
+
*
|
|
941
|
+
* NOTE: For hawksight devs only.
|
|
942
|
+
*/
|
|
943
|
+
meteoraRedepositHybridLiquidityIxs(connection, payer, params) {
|
|
944
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
945
|
+
var _a;
|
|
946
|
+
anchor_1.Anchor.initialize(connection);
|
|
947
|
+
try {
|
|
948
|
+
const results = yield Transactions_1.txgen.meteoraRedepositHybridLiquidityAutomation({
|
|
949
|
+
connection,
|
|
950
|
+
params,
|
|
951
|
+
fetch: undefined,
|
|
952
|
+
});
|
|
953
|
+
const txMetadatas = [];
|
|
954
|
+
for (const result of results) {
|
|
955
|
+
const txMeta = yield (0, functions_1.createTxMetadataWithActions)(this.generalUtility, connection, payer, result);
|
|
956
|
+
txMetadatas.push(txMeta);
|
|
957
|
+
}
|
|
958
|
+
return {
|
|
959
|
+
status: 200,
|
|
960
|
+
data: txMetadatas,
|
|
961
|
+
};
|
|
962
|
+
}
|
|
963
|
+
catch (e) {
|
|
964
|
+
if (e instanceof Error) {
|
|
965
|
+
return {
|
|
966
|
+
status: 400,
|
|
967
|
+
data: {
|
|
968
|
+
code: "custom",
|
|
969
|
+
message: e.message,
|
|
970
|
+
stack: (_a = e.stack) === null || _a === void 0 ? void 0 : _a.split('\n'),
|
|
971
|
+
path: [],
|
|
972
|
+
},
|
|
973
|
+
};
|
|
974
|
+
}
|
|
975
|
+
return {
|
|
976
|
+
status: 400,
|
|
977
|
+
data: {
|
|
978
|
+
code: "custom",
|
|
979
|
+
message: e,
|
|
980
|
+
path: [],
|
|
981
|
+
},
|
|
982
|
+
};
|
|
983
|
+
}
|
|
984
|
+
});
|
|
985
|
+
}
|
|
937
986
|
}
|
|
938
987
|
exports.TxGeneratorAutomations = TxGeneratorAutomations;
|
|
@@ -39,6 +39,42 @@ export interface HybridStrategyResult extends LiquidityStrategyParameters {
|
|
|
39
39
|
/** Total Y token amount allocated to this layer */
|
|
40
40
|
maxAmountY: BN;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Represents a single chunk of a hybrid deposit with multiple layers.
|
|
44
|
+
* Each layer has its own strategy parameters adjusted for this chunk's bin range.
|
|
45
|
+
*/
|
|
46
|
+
export interface ChunkedHybridDepositParameters {
|
|
47
|
+
/** Lower bin ID of this chunk (absolute bin ID) */
|
|
48
|
+
lowerBinId: number;
|
|
49
|
+
/** Upper bin ID of this chunk (absolute bin ID) */
|
|
50
|
+
upperBinId: number;
|
|
51
|
+
/** Minimum delta ID relative to active bin for this chunk */
|
|
52
|
+
minDeltaId: BN;
|
|
53
|
+
/** Maximum delta ID relative to active bin for this chunk */
|
|
54
|
+
maxDeltaId: BN;
|
|
55
|
+
/** Per-layer deposit parameters for this chunk */
|
|
56
|
+
layers: {
|
|
57
|
+
params: LiquidityStrategyParameters;
|
|
58
|
+
maxAmountX: BN;
|
|
59
|
+
maxAmountY: BN;
|
|
60
|
+
}[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Chunks hybrid deposit parameters across a bin range.
|
|
64
|
+
*
|
|
65
|
+
* For each chunk of the bin range, applies resetUninvolvedLiquidityParams to each
|
|
66
|
+
* layer and calculates the per-chunk amounts per layer via toAmountIntoBins.
|
|
67
|
+
*
|
|
68
|
+
* @param layerResults - Array of HybridStrategyResult from distributionToHybridStrategy
|
|
69
|
+
* @param minDeltaId - Minimum delta ID (lowerBinId - activeId) for the full position
|
|
70
|
+
* @param maxDeltaId - Maximum delta ID (upperBinId - activeId) for the full position
|
|
71
|
+
* @param activeId - Current active bin ID
|
|
72
|
+
* @param binStep - Bin step in basis points
|
|
73
|
+
* @param chunkSize - Maximum bins per chunk
|
|
74
|
+
* @param favorXInActiveBin - Whether X is favored in the active bin
|
|
75
|
+
* @returns Array of chunked hybrid deposit parameters, one entry per chunk
|
|
76
|
+
*/
|
|
77
|
+
export declare function chunkHybridDepositParameters(layerResults: HybridStrategyResult[], minDeltaId: BN, maxDeltaId: BN, activeId: BN, binStep: BN, chunkSize: number, favorXInActiveBin?: boolean): ChunkedHybridDepositParameters[];
|
|
42
78
|
/**
|
|
43
79
|
* Calculates the Q-price from a bin ID.
|
|
44
80
|
* Price = (1 + binStep/10000)^binId in Q64.64 format.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquidityStrategy.d.ts","sourceRoot":"","sources":["../../../src/meteora/liquidityStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAErE;;GAEG;AACH,oBAAY,YAAY;IACtB,sEAAsE;IACtE,IAAI,IAAI;IACR,mEAAmE;IACnE,KAAK,IAAI;IACT,qEAAqE;IACrE,OAAO,IAAI;CACZ;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,2BAA2B;IAC1C,yCAAyC;IACzC,EAAE,EAAE,EAAE,CAAC;IACP,yCAAyC;IACzC,EAAE,EAAE,EAAE,CAAC;IACP,wFAAwF;IACxF,MAAM,EAAE,EAAE,CAAC;IACX,wFAAwF;IACxF,MAAM,EAAE,EAAE,CAAC;CACZ;AAED,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B;IACvE,mDAAmD;IACnD,UAAU,EAAE,EAAE,CAAC;IACf,mDAAmD;IACnD,UAAU,EAAE,EAAE,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"liquidityStrategy.d.ts","sourceRoot":"","sources":["../../../src/meteora/liquidityStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.StrategyType = void 0;
|
|
7
|
+
exports.chunkHybridDepositParameters = chunkHybridDepositParameters;
|
|
7
8
|
exports.getQPriceFromId = getQPriceFromId;
|
|
8
9
|
exports.buildSpotStrategyParameters = buildSpotStrategyParameters;
|
|
9
10
|
exports.resetUninvolvedLiquidityParams = resetUninvolvedLiquidityParams;
|
|
@@ -154,6 +155,55 @@ function pow(base, exp) {
|
|
|
154
155
|
}
|
|
155
156
|
return result;
|
|
156
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Chunks hybrid deposit parameters across a bin range.
|
|
160
|
+
*
|
|
161
|
+
* For each chunk of the bin range, applies resetUninvolvedLiquidityParams to each
|
|
162
|
+
* layer and calculates the per-chunk amounts per layer via toAmountIntoBins.
|
|
163
|
+
*
|
|
164
|
+
* @param layerResults - Array of HybridStrategyResult from distributionToHybridStrategy
|
|
165
|
+
* @param minDeltaId - Minimum delta ID (lowerBinId - activeId) for the full position
|
|
166
|
+
* @param maxDeltaId - Maximum delta ID (upperBinId - activeId) for the full position
|
|
167
|
+
* @param activeId - Current active bin ID
|
|
168
|
+
* @param binStep - Bin step in basis points
|
|
169
|
+
* @param chunkSize - Maximum bins per chunk
|
|
170
|
+
* @param favorXInActiveBin - Whether X is favored in the active bin
|
|
171
|
+
* @returns Array of chunked hybrid deposit parameters, one entry per chunk
|
|
172
|
+
*/
|
|
173
|
+
function chunkHybridDepositParameters(layerResults, minDeltaId, maxDeltaId, activeId, binStep, chunkSize, favorXInActiveBin = false) {
|
|
174
|
+
const lowerBinId = activeId.add(minDeltaId).toNumber();
|
|
175
|
+
const upperBinId = activeId.add(maxDeltaId).toNumber();
|
|
176
|
+
const chunks = chunkBinRange(lowerBinId, upperBinId, chunkSize);
|
|
177
|
+
const result = [];
|
|
178
|
+
for (const chunk of chunks) {
|
|
179
|
+
const chunkMinDeltaId = new bn_js_1.default(chunk.lowerBinId).sub(activeId);
|
|
180
|
+
const chunkMaxDeltaId = new bn_js_1.default(chunk.upperBinId).sub(activeId);
|
|
181
|
+
const layers = [];
|
|
182
|
+
for (const layer of layerResults) {
|
|
183
|
+
// Reset uninvolved params for this chunk (zeros out X or Y if chunk is one-sided)
|
|
184
|
+
const chunkParams = resetUninvolvedLiquidityParams(chunkMinDeltaId, chunkMaxDeltaId, favorXInActiveBin, { x0: layer.x0, y0: layer.y0, deltaX: layer.deltaX, deltaY: layer.deltaY });
|
|
185
|
+
// Calculate per-bin amounts for this chunk
|
|
186
|
+
const binsAmounts = toAmountIntoBins(activeId, chunkMinDeltaId, chunkMaxDeltaId, chunkParams.deltaX, chunkParams.deltaY, chunkParams.x0, chunkParams.y0, binStep, favorXInActiveBin);
|
|
187
|
+
const { totalXAmount, totalYAmount } = binsAmounts.reduce((acc, bin) => ({
|
|
188
|
+
totalXAmount: acc.totalXAmount.add(bin.amountX),
|
|
189
|
+
totalYAmount: acc.totalYAmount.add(bin.amountY),
|
|
190
|
+
}), { totalXAmount: new bn_js_1.default(0), totalYAmount: new bn_js_1.default(0) });
|
|
191
|
+
layers.push({
|
|
192
|
+
params: chunkParams,
|
|
193
|
+
maxAmountX: totalXAmount,
|
|
194
|
+
maxAmountY: totalYAmount,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
result.push({
|
|
198
|
+
lowerBinId: chunk.lowerBinId,
|
|
199
|
+
upperBinId: chunk.upperBinId,
|
|
200
|
+
minDeltaId: chunkMinDeltaId,
|
|
201
|
+
maxDeltaId: chunkMaxDeltaId,
|
|
202
|
+
layers,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
return result;
|
|
206
|
+
}
|
|
157
207
|
/**
|
|
158
208
|
* Calculates the Q-price base factor: (1 + binStep/10000) in Q64.64 format.
|
|
159
209
|
* This represents the price multiplier between adjacent bins.
|
|
@@ -1058,7 +1108,6 @@ function chunkBinRange(minBinId, maxBinId, chunkSize) {
|
|
|
1058
1108
|
});
|
|
1059
1109
|
startBinId += chunkSize;
|
|
1060
1110
|
}
|
|
1061
|
-
console.log(`Chunked bin range from ${minBinId} to ${maxBinId} into ${chunkedBinRange.length} chunks with chunk size ${chunkSize}.`);
|
|
1062
1111
|
return chunkedBinRange;
|
|
1063
1112
|
}
|
|
1064
1113
|
/**
|
package/dist/src/types.d.ts
CHANGED
|
@@ -578,6 +578,15 @@ export type MeteoraRebalanceHybridLiquidity = {
|
|
|
578
578
|
amountXOverride?: BN;
|
|
579
579
|
amountYOverride?: BN;
|
|
580
580
|
};
|
|
581
|
+
export type MeteoraRedepositHybridLiquidity = {
|
|
582
|
+
userWallet: web3.PublicKey;
|
|
583
|
+
position: web3.PublicKey;
|
|
584
|
+
layers: HybridLiquidityDistribution[];
|
|
585
|
+
compound: boolean;
|
|
586
|
+
targetActiveBin?: number;
|
|
587
|
+
amountXOverride?: BN;
|
|
588
|
+
amountYOverride?: BN;
|
|
589
|
+
};
|
|
581
590
|
export type MeteoraRebalanceForLargerPosition = {
|
|
582
591
|
userWallet: web3.PublicKey;
|
|
583
592
|
currentPosition: web3.PublicKey;
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|