@hawksightco/hawk-sdk 1.3.150 → 1.3.151
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.
|
@@ -52,6 +52,27 @@ type OrcaLimitClosePositionAutomationTokenExtension = {
|
|
|
52
52
|
is2022Position?: boolean;
|
|
53
53
|
useAta?: boolean;
|
|
54
54
|
};
|
|
55
|
+
type CheckRange = {
|
|
56
|
+
minTickIndex: number;
|
|
57
|
+
maxTickIndex: number;
|
|
58
|
+
};
|
|
59
|
+
type OrcaAutoOpenPositionAndDepositRelative = {
|
|
60
|
+
connection: web3.Connection;
|
|
61
|
+
userWallet: web3.PublicKey;
|
|
62
|
+
positionMint: web3.PublicKey;
|
|
63
|
+
whirlpool: web3.PublicKey;
|
|
64
|
+
tokenMintA: web3.PublicKey;
|
|
65
|
+
tokenMintB: web3.PublicKey;
|
|
66
|
+
tokenVaultA: web3.PublicKey;
|
|
67
|
+
tokenVaultB: web3.PublicKey;
|
|
68
|
+
checkRange?: CheckRange;
|
|
69
|
+
tickCurrentIndex: number;
|
|
70
|
+
tickSpacing: number;
|
|
71
|
+
tickLowerOffset: number;
|
|
72
|
+
tickUpperOffset: number;
|
|
73
|
+
withTokenMetadata: boolean;
|
|
74
|
+
useAta?: boolean;
|
|
75
|
+
};
|
|
55
76
|
/**
|
|
56
77
|
* Orca IX Generator
|
|
57
78
|
*/
|
|
@@ -83,6 +104,16 @@ export declare class OrcaIxGenerator {
|
|
|
83
104
|
* Orca limit close position automation with Token2022 support (Automation)
|
|
84
105
|
*/
|
|
85
106
|
orcaLimitClosePositionAutomationTokenExtension({ connection, userWallet, position, minTickIndex, maxTickIndex, is2022Position, useAta }: OrcaLimitClosePositionAutomationTokenExtension): Promise<web3.TransactionInstruction>;
|
|
107
|
+
/**
|
|
108
|
+
* Orca auto open position and deposit with relative tick positioning (Automation)
|
|
109
|
+
*
|
|
110
|
+
* This instruction combines position opening and liquidity deposit in a single transaction,
|
|
111
|
+
* using relative tick offsets from the current whirlpool tick instead of absolute tick indices.
|
|
112
|
+
*
|
|
113
|
+
* Note: This is a simple instruction generator that does not fetch any account data.
|
|
114
|
+
* All required whirlpool data must be passed as parameters.
|
|
115
|
+
*/
|
|
116
|
+
orcaAutoOpenPositionAndDepositRelative({ connection, userWallet, positionMint, whirlpool, tokenMintA, tokenMintB, tokenVaultA, tokenVaultB, checkRange, tickCurrentIndex, tickSpacing, tickLowerOffset, tickUpperOffset, withTokenMetadata, useAta, }: OrcaAutoOpenPositionAndDepositRelative): Promise<web3.TransactionInstruction>;
|
|
86
117
|
}
|
|
87
118
|
export {};
|
|
88
119
|
//# sourceMappingURL=OrcaIxGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrcaIxGenerator.d.ts","sourceRoot":"","sources":["../../../src/ixGenerator/OrcaIxGenerator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"OrcaIxGenerator.d.ts","sourceRoot":"","sources":["../../../src/ixGenerator/OrcaIxGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -337,5 +337,102 @@ class OrcaIxGenerator {
|
|
|
337
337
|
});
|
|
338
338
|
});
|
|
339
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Orca auto open position and deposit with relative tick positioning (Automation)
|
|
342
|
+
*
|
|
343
|
+
* This instruction combines position opening and liquidity deposit in a single transaction,
|
|
344
|
+
* using relative tick offsets from the current whirlpool tick instead of absolute tick indices.
|
|
345
|
+
*
|
|
346
|
+
* Note: This is a simple instruction generator that does not fetch any account data.
|
|
347
|
+
* All required whirlpool data must be passed as parameters.
|
|
348
|
+
*/
|
|
349
|
+
orcaAutoOpenPositionAndDepositRelative(_a) {
|
|
350
|
+
return __awaiter(this, arguments, void 0, function* ({ connection, userWallet, positionMint, whirlpool, tokenMintA, tokenMintB, tokenVaultA, tokenVaultB, checkRange, tickCurrentIndex, tickSpacing, tickLowerOffset, tickUpperOffset, withTokenMetadata, useAta = false, }) {
|
|
351
|
+
// Initialize anchor
|
|
352
|
+
anchor_1.Anchor.initialize(connection);
|
|
353
|
+
// Generate user pda
|
|
354
|
+
const userPda = (0, functions_1.generateUserPda)(userWallet);
|
|
355
|
+
// Generate position and position token account
|
|
356
|
+
const position = this.pda.orca.generateOrcaPositionPDA(positionMint);
|
|
357
|
+
const positionTokenAccount = this.pda.orca.generatePositionTokenAccount(userPda, positionMint, true);
|
|
358
|
+
// Generate token accounts for liquidity deposit
|
|
359
|
+
const tokenOwnerAccountA = useAta
|
|
360
|
+
? (0, functions_1.generateAta)(userPda, tokenMintA)
|
|
361
|
+
: (0, functions_1.generateUserPdaStorageAccount)(userPda, tokenMintA);
|
|
362
|
+
const tokenOwnerAccountB = useAta
|
|
363
|
+
? (0, functions_1.generateAta)(userPda, tokenMintB)
|
|
364
|
+
: (0, functions_1.generateUserPdaStorageAccount)(userPda, tokenMintB);
|
|
365
|
+
// Calculate absolute tick indices from current tick + offsets
|
|
366
|
+
// Note: The on-chain program will do the actual calculation and validation
|
|
367
|
+
// We calculate them here to determine which tick array pdas to use
|
|
368
|
+
const tickLowerIndex = tickCurrentIndex + tickLowerOffset;
|
|
369
|
+
const tickUpperIndex = tickCurrentIndex + tickUpperOffset;
|
|
370
|
+
// Calculate tick arrays based on calculated tick indices
|
|
371
|
+
const startIndexLower = (0, orca_1.getStartTickIndex)(tickLowerIndex, tickSpacing);
|
|
372
|
+
const startIndexUpper = (0, orca_1.getStartTickIndex)(tickUpperIndex, tickSpacing);
|
|
373
|
+
const { publicKey: tickArrayLower } = (0, orca_1.getTickArray)(addresses_1.ORCA_WHIRLPOOL_PROGRAM, whirlpool, startIndexLower);
|
|
374
|
+
const { publicKey: tickArrayUpper } = (0, orca_1.getTickArray)(addresses_1.ORCA_WHIRLPOOL_PROGRAM, whirlpool, startIndexUpper);
|
|
375
|
+
// Build instruction data manually
|
|
376
|
+
// Format: [discriminator: 8 bytes][tick_lower_offset: i32][tick_upper_offset: i32][with_token_metadata: bool]
|
|
377
|
+
const discriminator = (0, functions_1.sighash)('orca_auto_open_position_and_deposit_relative');
|
|
378
|
+
const tickLowerOffsetBuffer = Buffer.alloc(4);
|
|
379
|
+
tickLowerOffsetBuffer.writeInt32LE(tickLowerOffset, 0);
|
|
380
|
+
const tickUpperOffsetBuffer = Buffer.alloc(4);
|
|
381
|
+
tickUpperOffsetBuffer.writeInt32LE(tickUpperOffset, 0);
|
|
382
|
+
const withTokenMetadataBuffer = Buffer.alloc(1);
|
|
383
|
+
withTokenMetadataBuffer.writeUInt8(withTokenMetadata ? 1 : 0, 0);
|
|
384
|
+
let checkRangeBuffer;
|
|
385
|
+
if (checkRange) {
|
|
386
|
+
checkRangeBuffer = Buffer.alloc(9);
|
|
387
|
+
checkRangeBuffer.writeUInt8(1, 0);
|
|
388
|
+
checkRangeBuffer.writeInt32LE(checkRange.minTickIndex, 1);
|
|
389
|
+
checkRangeBuffer.writeInt32LE(checkRange.maxTickIndex, 5);
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
checkRangeBuffer = Buffer.alloc(1);
|
|
393
|
+
checkRangeBuffer.writeUInt8(0, 0);
|
|
394
|
+
}
|
|
395
|
+
const data = Buffer.concat([
|
|
396
|
+
discriminator,
|
|
397
|
+
tickLowerOffsetBuffer,
|
|
398
|
+
tickUpperOffsetBuffer,
|
|
399
|
+
withTokenMetadataBuffer,
|
|
400
|
+
checkRangeBuffer,
|
|
401
|
+
]);
|
|
402
|
+
// Build accounts array following the exact order from the smart contract
|
|
403
|
+
const keys = [
|
|
404
|
+
{ pubkey: userPda, isSigner: false, isWritable: false }, // 1. user_pda
|
|
405
|
+
{ pubkey: addresses_1.HS_AUTHORITY, isSigner: true, isWritable: true }, // 2. hawksight_authority (REBALANCE_AUTHORITY)
|
|
406
|
+
{ pubkey: position, isSigner: false, isWritable: true }, // 3. position (uninitialized)
|
|
407
|
+
{ pubkey: positionMint, isSigner: true, isWritable: true }, // 4. position_mint (signer)
|
|
408
|
+
{ pubkey: positionTokenAccount, isSigner: false, isWritable: true }, // 5. position_token_account (uninitialized)
|
|
409
|
+
{ pubkey: whirlpool, isSigner: false, isWritable: true }, // 6. whirlpool
|
|
410
|
+
{ pubkey: tokenOwnerAccountA, isSigner: false, isWritable: true }, // 7. token_owner_account_a
|
|
411
|
+
{ pubkey: tokenOwnerAccountB, isSigner: false, isWritable: true }, // 8. token_owner_account_b
|
|
412
|
+
{ pubkey: tokenVaultA, isSigner: false, isWritable: true }, // 9. token_vault_a
|
|
413
|
+
{ pubkey: tokenVaultB, isSigner: false, isWritable: true }, // 10. token_vault_b
|
|
414
|
+
{ pubkey: tickArrayLower, isSigner: false, isWritable: true }, // 11. tick_array_lower
|
|
415
|
+
{ pubkey: tickArrayUpper, isSigner: false, isWritable: true }, // 12. tick_array_upper
|
|
416
|
+
{ pubkey: addresses_1.TOKEN_PROGRAM_ID, isSigner: false, isWritable: false }, // 13. token_program
|
|
417
|
+
{ pubkey: addresses_1.TOKEN_2022, isSigner: false, isWritable: false }, // 14. token_2022_program
|
|
418
|
+
{ pubkey: web3.SystemProgram.programId, isSigner: false, isWritable: false }, // 15. system_program
|
|
419
|
+
{ pubkey: addresses_1.ASSOCIATED_TOKEN_PROGRAM, isSigner: false, isWritable: false }, // 16. associated_token_program
|
|
420
|
+
{ pubkey: addresses_1.ORCA_METADATA_UPDATE_AUTH, isSigner: false, isWritable: false }, // 17. metadata_update_auth
|
|
421
|
+
{ pubkey: addresses_1.ORCA_WHIRLPOOL_PROGRAM, isSigner: false, isWritable: false }, // 18. orca_whirlpool_program
|
|
422
|
+
];
|
|
423
|
+
// Create the raw instruction
|
|
424
|
+
const ix = new web3.TransactionInstruction({
|
|
425
|
+
programId: addresses_1.IYF_EXTENSION,
|
|
426
|
+
keys,
|
|
427
|
+
data,
|
|
428
|
+
});
|
|
429
|
+
// Wrap instruction in iyf extension executeV2 (iyf-main)
|
|
430
|
+
return yield this.iyfMain.iyfExtensionExecuteV2(connection, {
|
|
431
|
+
userPda,
|
|
432
|
+
authority: addresses_1.HS_AUTHORITY,
|
|
433
|
+
ix,
|
|
434
|
+
});
|
|
435
|
+
});
|
|
436
|
+
}
|
|
340
437
|
}
|
|
341
438
|
exports.OrcaIxGenerator = OrcaIxGenerator;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hawksightco/hawk-sdk",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.151",
|
|
4
4
|
"description": "Hawksight v2 SDK",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"repository": "https://github.com/ghabxph/hawk-api-client.git",
|
|
@@ -45,9 +45,10 @@
|
|
|
45
45
|
"scripts": {
|
|
46
46
|
"start": "npx ts-node src/index.ts",
|
|
47
47
|
"watch:build": "npx tsc --watch",
|
|
48
|
-
"test": "npx jest test/integration/base/index.spec.ts test/integration/automation/index.spec.ts",
|
|
48
|
+
"test": "npx jest test/integration/base/index.spec.ts test/integration/automation/index.spec.ts test/integration/simple/index.spec.ts",
|
|
49
49
|
"test:automation": "npx jest test/integration/automation/index.spec.ts",
|
|
50
50
|
"test:base": "npx jest test/integration/base/index.spec.ts",
|
|
51
|
+
"test:simple": "npx jest test/integration/simple/index.spec.ts",
|
|
51
52
|
"build": "tsc --outDir dist/",
|
|
52
53
|
"prepublishOnly": "npm run build",
|
|
53
54
|
"lint": "eslint . --ext .ts,.js",
|