@hawksightco/hawk-sdk 1.3.245 → 1.3.246
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.
|
@@ -5,11 +5,18 @@ import { RaydiumIncreaseLiquidity, RaydiumOpenPosition, RaydiumDecreaseLiquidity
|
|
|
5
5
|
import { GeneralUtility } from './GeneralUtility';
|
|
6
6
|
import { MultiTransaction } from './MultiTransaction';
|
|
7
7
|
import { SimpleIxGenerator } from './SimpleIxGenerator';
|
|
8
|
+
export declare const MAX_INIT_BIN_ARRAYS_PER_TRANSACTION = 4;
|
|
9
|
+
export declare const MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS = 2;
|
|
10
|
+
export declare const MAX_INIT_EXTEND_INSTRUCTIONS_PER_TRANSACTION = 10;
|
|
8
11
|
export declare function getHybridChunkOffsets(positionLowerBinId: number, chunkLowerBinId: number, chunkUpperBinId: number): {
|
|
9
12
|
chunkLowerOffset: number;
|
|
10
13
|
chunkUpperOffset: number;
|
|
11
14
|
};
|
|
12
15
|
export declare function batchHybridChunkInstructionGroups(chunkInstructionGroups: LabeledInstruction[][], chunksPerTransaction?: number): LabeledInstruction[][];
|
|
16
|
+
export declare function batchLabeledInstructionGroups(instructions: LabeledInstruction[], instructionsPerTransaction: number): LabeledInstruction[][];
|
|
17
|
+
export declare function buildWideHybridRebuildInstructionGroups(initExtendIxs: LabeledInstruction[], fullRangeBinArrayInitIxs: LabeledInstruction[], chunkInstructionGroups: LabeledInstruction[][]): LabeledInstruction[][];
|
|
18
|
+
export declare function buildLimitCloseMainInstructions(initBinArrayIxs: web3.TransactionInstruction[], closeIx: web3.TransactionInstruction): web3.TransactionInstruction[];
|
|
19
|
+
export declare function stripComputeBudgetInstructions(instructions: web3.TransactionInstruction[]): web3.TransactionInstruction[];
|
|
13
20
|
export declare function getLastHybridAmountConsumerIndexes(entries: Array<{
|
|
14
21
|
amountX: BN;
|
|
15
22
|
amountY: BN;
|
|
@@ -540,7 +547,7 @@ export declare class Transactions {
|
|
|
540
547
|
private _calculateSweepBinRange;
|
|
541
548
|
/**
|
|
542
549
|
* Initialize bin arrays for a given bin range, skipping arrays that already exist.
|
|
543
|
-
*
|
|
550
|
+
* Explicitly checks account owners so generated init instructions only target missing arrays.
|
|
544
551
|
*/
|
|
545
552
|
private _initBinArraysForRange;
|
|
546
553
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transactions.d.ts","sourceRoot":"","sources":["../../../src/classes/Transactions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,OAAO,CAAC;AAkBvB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,+BAA+B,EAC/B,kCAAkC,EAClC,cAAc,EACd,0BAA0B,EAC1B,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,kBAAkB,EAClB,oBAAoB,EAEpB,gBAAgB,EAChB,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,iBAAiB,EAEjB,8BAA8B,EAE9B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EAGjC,kBAAkB,EAClB,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,mCAAmC,EACnC,oDAAoD,EACpD,6BAA6B,EAC9B,MAAM,UAAU,CAAC;AA6ClB,OAAO,EAEL,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Transactions.d.ts","sourceRoot":"","sources":["../../../src/classes/Transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,9 +45,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
45
45
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
46
|
};
|
|
47
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
exports.txgen = exports.Transactions = void 0;
|
|
48
|
+
exports.txgen = exports.Transactions = exports.MAX_INIT_EXTEND_INSTRUCTIONS_PER_TRANSACTION = exports.MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS = exports.MAX_INIT_BIN_ARRAYS_PER_TRANSACTION = void 0;
|
|
49
49
|
exports.getHybridChunkOffsets = getHybridChunkOffsets;
|
|
50
50
|
exports.batchHybridChunkInstructionGroups = batchHybridChunkInstructionGroups;
|
|
51
|
+
exports.batchLabeledInstructionGroups = batchLabeledInstructionGroups;
|
|
52
|
+
exports.buildWideHybridRebuildInstructionGroups = buildWideHybridRebuildInstructionGroups;
|
|
53
|
+
exports.buildLimitCloseMainInstructions = buildLimitCloseMainInstructions;
|
|
54
|
+
exports.stripComputeBudgetInstructions = stripComputeBudgetInstructions;
|
|
51
55
|
exports.getLastHybridAmountConsumerIndexes = getLastHybridAmountConsumerIndexes;
|
|
52
56
|
exports.buildHybridDepositAmountParams = buildHybridDepositAmountParams;
|
|
53
57
|
const errors_1 = require("../errors");
|
|
@@ -74,6 +78,9 @@ const anchor = __importStar(require("@coral-xyz/anchor"));
|
|
|
74
78
|
const RaydiumIxGenerator_1 = require("../ixGenerator/RaydiumIxGenerator");
|
|
75
79
|
const RaydiumSDK_1 = require("./RaydiumSDK");
|
|
76
80
|
const types_3 = require("../types");
|
|
81
|
+
exports.MAX_INIT_BIN_ARRAYS_PER_TRANSACTION = 4;
|
|
82
|
+
exports.MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS = 2;
|
|
83
|
+
exports.MAX_INIT_EXTEND_INSTRUCTIONS_PER_TRANSACTION = 10;
|
|
77
84
|
function getHybridChunkOffsets(positionLowerBinId, chunkLowerBinId, chunkUpperBinId) {
|
|
78
85
|
return {
|
|
79
86
|
chunkLowerOffset: chunkLowerBinId - positionLowerBinId,
|
|
@@ -121,6 +128,33 @@ function batchHybridChunkInstructionGroups(chunkInstructionGroups, chunksPerTran
|
|
|
121
128
|
}
|
|
122
129
|
return batchedGroups;
|
|
123
130
|
}
|
|
131
|
+
function batchLabeledInstructionGroups(instructions, instructionsPerTransaction) {
|
|
132
|
+
if (!Number.isInteger(instructionsPerTransaction) ||
|
|
133
|
+
instructionsPerTransaction <= 0) {
|
|
134
|
+
throw new Error('instructionsPerTransaction must be a positive integer');
|
|
135
|
+
}
|
|
136
|
+
const groups = [];
|
|
137
|
+
for (let i = 0; i < instructions.length; i += instructionsPerTransaction) {
|
|
138
|
+
groups.push(instructions.slice(i, i + instructionsPerTransaction));
|
|
139
|
+
}
|
|
140
|
+
return groups;
|
|
141
|
+
}
|
|
142
|
+
function buildWideHybridRebuildInstructionGroups(initExtendIxs, fullRangeBinArrayInitIxs, chunkInstructionGroups) {
|
|
143
|
+
return [
|
|
144
|
+
...batchLabeledInstructionGroups(initExtendIxs, exports.MAX_INIT_EXTEND_INSTRUCTIONS_PER_TRANSACTION),
|
|
145
|
+
...batchLabeledInstructionGroups(fullRangeBinArrayInitIxs, exports.MAX_INIT_BIN_ARRAYS_PER_TRANSACTION),
|
|
146
|
+
...chunkInstructionGroups,
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
function buildLimitCloseMainInstructions(initBinArrayIxs, closeIx) {
|
|
150
|
+
if (initBinArrayIxs.length > exports.MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS) {
|
|
151
|
+
throw new Error(`Limit close requires ${initBinArrayIxs.length} bin-array initialization instructions; max supported in one transaction is ${exports.MAX_LIMIT_CLOSE_INIT_BIN_ARRAYS}. Multi-transaction limit close is required.`);
|
|
152
|
+
}
|
|
153
|
+
return [...initBinArrayIxs, closeIx];
|
|
154
|
+
}
|
|
155
|
+
function stripComputeBudgetInstructions(instructions) {
|
|
156
|
+
return instructions.filter(ix => !ix.programId.equals(web3.ComputeBudgetProgram.programId));
|
|
157
|
+
}
|
|
124
158
|
function findLastIndex(items, predicate) {
|
|
125
159
|
for (let i = items.length - 1; i >= 0; i--) {
|
|
126
160
|
if (predicate(items[i], i)) {
|
|
@@ -3499,10 +3533,8 @@ class Transactions {
|
|
|
3499
3533
|
ix: limitCloseAutomationIx,
|
|
3500
3534
|
});
|
|
3501
3535
|
}
|
|
3502
|
-
const
|
|
3503
|
-
|
|
3504
|
-
ix,
|
|
3505
|
-
];
|
|
3536
|
+
const initBinArrayIxs = yield this._initBinArraysForRange(connection, lbPair.pubkey, dlmmPool, position.lowerBinId, position.upperBinId);
|
|
3537
|
+
const mainInstructions = buildLimitCloseMainInstructions(initBinArrayIxs, ix);
|
|
3506
3538
|
return (0, functions_1.createTransactionMeta)({
|
|
3507
3539
|
payer: params.userWallet,
|
|
3508
3540
|
description: 'Automation IX: Meteora limit close instruction (Full withdraw and close on to specific bin id)',
|
|
@@ -3635,10 +3667,8 @@ class Transactions {
|
|
|
3635
3667
|
});
|
|
3636
3668
|
}));
|
|
3637
3669
|
}
|
|
3638
|
-
const
|
|
3639
|
-
|
|
3640
|
-
ix,
|
|
3641
|
-
];
|
|
3670
|
+
const initBinArrayIxs = yield this._initBinArraysForRange(connection, lbPair.pubkey, dlmmPool, position.lowerBinId, position.upperBinId);
|
|
3671
|
+
const mainInstructions = buildLimitCloseMainInstructions(initBinArrayIxs, ix);
|
|
3642
3672
|
return (0, functions_1.createTransactionMeta)({
|
|
3643
3673
|
payer: params.userWallet,
|
|
3644
3674
|
description: 'Automation IX: Meteora limit close instruction (Full withdraw and close on to specific bin id)',
|
|
@@ -6386,7 +6416,8 @@ class Transactions {
|
|
|
6386
6416
|
];
|
|
6387
6417
|
for (let i = 0; i < strategyResults.length; i++) {
|
|
6388
6418
|
const layerStrategy = strategyResults[i];
|
|
6389
|
-
if (layerStrategy.maxAmountX.isZero() &&
|
|
6419
|
+
if (layerStrategy.maxAmountX.isZero() &&
|
|
6420
|
+
layerStrategy.maxAmountY.isZero()) {
|
|
6390
6421
|
continue;
|
|
6391
6422
|
}
|
|
6392
6423
|
const singleLayer = {
|
|
@@ -6405,7 +6436,11 @@ class Transactions {
|
|
|
6405
6436
|
tokenYMint,
|
|
6406
6437
|
tokenXProgram,
|
|
6407
6438
|
tokenYProgram, layers: [singleLayer], checkRange: params.checkRange }, amountParams), { remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId: newLowerBinId, upperBinId: newUpperBinId }));
|
|
6408
|
-
layeredDepositIxs.push({
|
|
6439
|
+
layeredDepositIxs.push({
|
|
6440
|
+
label: 'deposit_v2',
|
|
6441
|
+
class: CLASS,
|
|
6442
|
+
instruction: depositIx,
|
|
6443
|
+
});
|
|
6409
6444
|
}
|
|
6410
6445
|
if (layeredDepositIxs.length > 0) {
|
|
6411
6446
|
rebuildTxGroups.push(layeredDepositIxs);
|
|
@@ -6445,7 +6480,11 @@ class Transactions {
|
|
|
6445
6480
|
}
|
|
6446
6481
|
}
|
|
6447
6482
|
else {
|
|
6448
|
-
|
|
6483
|
+
const fullRangeBinArrayInitIxs = (yield this._initBinArraysForRange(connection, lbPair, dlmmPool, newLowerBinId, newUpperBinId)).map(ix => ({
|
|
6484
|
+
label: 'init_bin_array',
|
|
6485
|
+
class: CLASS,
|
|
6486
|
+
instruction: ix,
|
|
6487
|
+
}));
|
|
6449
6488
|
const strategyResults = (0, liquidityStrategy_1.distributionToHybridStrategy)({
|
|
6450
6489
|
hybridDistribution: layers,
|
|
6451
6490
|
amountX: effectiveAmountX,
|
|
@@ -6475,22 +6514,16 @@ class Transactions {
|
|
|
6475
6514
|
omitXAmount: i === lastXChunkIndex,
|
|
6476
6515
|
omitYAmount: i === lastYChunkIndex,
|
|
6477
6516
|
});
|
|
6478
|
-
const binArrayInitIxs = yield this._initBinArraysForRange(connection, lbPair, dlmmPool, chunk.lowerBinId, chunk.upperBinId);
|
|
6479
6517
|
const depositIx = yield this.ix.meteoraDlmm.addLiquidity2Automation(Object.assign(Object.assign({ connection, userWallet: params.userWallet, lbPair, position: params.newPosition, tokenXMint,
|
|
6480
6518
|
tokenYMint,
|
|
6481
6519
|
tokenXProgram,
|
|
6482
6520
|
tokenYProgram, layers: contractLayers, checkRange: params.checkRange }, amountParams), { chunkLowerOffset,
|
|
6483
6521
|
chunkUpperOffset, remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId: chunk.lowerBinId, upperBinId: chunk.upperBinId }));
|
|
6484
6522
|
chunkInstructionGroups.push([
|
|
6485
|
-
...binArrayInitIxs.map(ix => ({
|
|
6486
|
-
label: 'init_bin_array',
|
|
6487
|
-
class: CLASS,
|
|
6488
|
-
instruction: ix,
|
|
6489
|
-
})),
|
|
6490
6523
|
{ label: 'deposit_v2', class: CLASS, instruction: depositIx },
|
|
6491
6524
|
]);
|
|
6492
6525
|
}
|
|
6493
|
-
rebuildTxGroups.push(...batchHybridChunkInstructionGroups(chunkInstructionGroups, CHUNKS_PER_TRANSACTION));
|
|
6526
|
+
rebuildTxGroups.push(...buildWideHybridRebuildInstructionGroups(initExtendIxs, fullRangeBinArrayInitIxs, batchHybridChunkInstructionGroups(chunkInstructionGroups, CHUNKS_PER_TRANSACTION)));
|
|
6494
6527
|
}
|
|
6495
6528
|
// =========================================================================
|
|
6496
6529
|
// Assemble final TX list
|
|
@@ -6606,7 +6639,8 @@ class Transactions {
|
|
|
6606
6639
|
const layeredDepositIxs = [];
|
|
6607
6640
|
for (let i = 0; i < strategyResults.length; i++) {
|
|
6608
6641
|
const layerStrategy = strategyResults[i];
|
|
6609
|
-
if (layerStrategy.maxAmountX.isZero() &&
|
|
6642
|
+
if (layerStrategy.maxAmountX.isZero() &&
|
|
6643
|
+
layerStrategy.maxAmountY.isZero()) {
|
|
6610
6644
|
continue;
|
|
6611
6645
|
}
|
|
6612
6646
|
const singleLayer = {
|
|
@@ -6626,7 +6660,11 @@ class Transactions {
|
|
|
6626
6660
|
tokenXProgram,
|
|
6627
6661
|
tokenYProgram, layers: [singleLayer] }, amountParams), { remainingAccountsInfo: baseRemainingAccountsInfo, pdaTokenType: types_1.TokenType.ATA, lowerBinId,
|
|
6628
6662
|
upperBinId }));
|
|
6629
|
-
layeredDepositIxs.push({
|
|
6663
|
+
layeredDepositIxs.push({
|
|
6664
|
+
label: 'deposit_v2',
|
|
6665
|
+
class: CLASS,
|
|
6666
|
+
instruction: depositIx,
|
|
6667
|
+
});
|
|
6630
6668
|
}
|
|
6631
6669
|
if (layeredDepositIxs.length > 0) {
|
|
6632
6670
|
depositTxGroups.push(layeredDepositIxs);
|
|
@@ -6746,13 +6784,29 @@ class Transactions {
|
|
|
6746
6784
|
}
|
|
6747
6785
|
/**
|
|
6748
6786
|
* Initialize bin arrays for a given bin range, skipping arrays that already exist.
|
|
6749
|
-
*
|
|
6787
|
+
* Explicitly checks account owners so generated init instructions only target missing arrays.
|
|
6750
6788
|
*/
|
|
6751
6789
|
_initBinArraysForRange(connection, lbPair, dlmmPool, lowerBinId, upperBinId) {
|
|
6752
6790
|
return __awaiter(this, void 0, void 0, function* () {
|
|
6753
6791
|
const binArraysRequired = yield (0, dlmm_1.getBinArraysRequiredByPositionRange)(lbPair, new bn_js_1.default(lowerBinId), new bn_js_1.default(upperBinId), dlmmPool.dlmm.program.programId);
|
|
6754
|
-
if (binArraysRequired.length
|
|
6755
|
-
return
|
|
6792
|
+
if (binArraysRequired.length === 0) {
|
|
6793
|
+
return [];
|
|
6794
|
+
}
|
|
6795
|
+
const accountInfos = yield connection.getMultipleAccountsInfo(binArraysRequired.map(b => b.key));
|
|
6796
|
+
const missingIndexes = binArraysRequired.flatMap((binArray, index) => {
|
|
6797
|
+
const accountInfo = accountInfos[index];
|
|
6798
|
+
if (accountInfo === null || accountInfo === void 0 ? void 0 : accountInfo.owner.equals(dlmmPool.dlmm.program.programId)) {
|
|
6799
|
+
return [];
|
|
6800
|
+
}
|
|
6801
|
+
if (accountInfo === null ||
|
|
6802
|
+
accountInfo.owner.equals(web3.SystemProgram.programId)) {
|
|
6803
|
+
return [binArray.index];
|
|
6804
|
+
}
|
|
6805
|
+
throw new Error(`Bin array ${binArray.key.toString()} is owned by ${accountInfo.owner.toString()}, expected ${dlmmPool.dlmm.program.programId.toString()}`);
|
|
6806
|
+
});
|
|
6807
|
+
if (missingIndexes.length > 0) {
|
|
6808
|
+
const instructions = yield dlmmPool.dlmm.initializeBinArrays(missingIndexes, addresses_1.HS_AUTHORITY);
|
|
6809
|
+
return stripComputeBudgetInstructions(instructions);
|
|
6756
6810
|
}
|
|
6757
6811
|
return [];
|
|
6758
6812
|
});
|