@hawksightco/hawk-sdk 1.3.109 → 1.3.111

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.
@@ -3443,66 +3443,12 @@ exports.IDL = {
3443
3443
  164
3444
3444
  ],
3445
3445
  "accounts": [
3446
- {
3447
- "name": "farm",
3448
- "docs": [
3449
- "Hawksight multi-index farm"
3450
- ]
3451
- },
3452
3446
  {
3453
3447
  "name": "userPda",
3454
3448
  "docs": [
3455
3449
  "Hawksight user pda"
3456
- ],
3457
- "pda": {
3458
- "seeds": [
3459
- {
3460
- "kind": "const",
3461
- "value": [
3462
- 109,
3463
- 117,
3464
- 108,
3465
- 116,
3466
- 105,
3467
- 45,
3468
- 117,
3469
- 115,
3470
- 101,
3471
- 114
3472
- ]
3473
- },
3474
- {
3475
- "kind": "account",
3476
- "path": "farm"
3477
- },
3478
- {
3479
- "kind": "account",
3480
- "path": "authority"
3481
- }
3482
- ],
3483
- "program": {
3484
- "kind": "account",
3485
- "path": "iyfProgram"
3486
- }
3487
- }
3488
- },
3489
- {
3490
- "name": "authority",
3491
- "docs": [
3492
- "User wallet",
3493
- "* No need to check"
3494
- ],
3495
- "relations": [
3496
- "userPda"
3497
3450
  ]
3498
3451
  },
3499
- {
3500
- "name": "iyfProgram",
3501
- "docs": [
3502
- "Main index yield farming program"
3503
- ],
3504
- "address": "FqGg2Y1FNxMiGd51Q6UETixQWkF5fB92MysbYogRJb3P"
3505
- },
3506
3452
  {
3507
3453
  "name": "hawksightAuthority",
3508
3454
  "docs": [
@@ -5088,7 +5034,8 @@ exports.IDL = {
5088
5034
  ]
5089
5035
  },
5090
5036
  {
5091
- "name": "binArrayBitmapExtension"
5037
+ "name": "binArrayBitmapExtension",
5038
+ "writable": true,
5092
5039
  },
5093
5040
  {
5094
5041
  "name": "rent",
@@ -2,6 +2,7 @@ import * as web3 from "@solana/web3.js";
2
2
  import { TokenType, StrategyType as OldStrategyType } from "../types";
3
3
  import BN from "bn.js";
4
4
  import { SimpleIxGenerator } from "../classes/SimpleIxGenerator";
5
+ import { SimplePdaGenerator } from "../classes/SimplePdaGenerator";
5
6
  type LimitOrderCloseV2Params = {
6
7
  connection: web3.Connection;
7
8
  userWallet: web3.PublicKey;
@@ -119,12 +120,23 @@ type DepositWithAmountAutomation = {
119
120
  userTokenYAmount: BN | null;
120
121
  tokenType?: TokenType;
121
122
  };
123
+ type InitializeLbPair2 = {
124
+ connection: web3.Connection;
125
+ funder: web3.PublicKey;
126
+ tokenMintX: web3.PublicKey;
127
+ tokenMintY: web3.PublicKey;
128
+ tokenProgramX: web3.PublicKey;
129
+ tokenProgramY: web3.PublicKey;
130
+ presetParameter: web3.PublicKey;
131
+ activeId: number;
132
+ };
122
133
  /**
123
134
  * Meteora related instructions executed via iyf extension or iyf main
124
135
  */
125
136
  export declare class MeteoraDlmmIxGenerator {
126
- private ix;
127
- constructor(ix: SimpleIxGenerator);
137
+ private readonly ix;
138
+ private readonly pda;
139
+ constructor(ix: SimpleIxGenerator, pda: SimplePdaGenerator);
128
140
  initializePositionAutomation(connection: web3.Connection, { userWallet, lbPair, position, lowerBinId, upperBinId }: InitializePositionAutomation): Promise<web3.TransactionInstruction>;
129
141
  redepositAutomation(connection: web3.Connection, { userWallet, lbPair, position, relativeLowerBinId, relativeUpperBinId, strategyType, checkRange }: OpenPositionAndDepositAutomation): Promise<web3.TransactionInstruction>;
130
142
  redepositAutomation2(connection: web3.Connection, { userWallet, lbPair, position, relativeLowerBinId, relativeUpperBinId, strategyType, checkRange }: RedepositAutomation2): Promise<web3.TransactionInstruction>;
@@ -154,6 +166,16 @@ export declare class MeteoraDlmmIxGenerator {
154
166
  private dlmm;
155
167
  limitOrderCloseV2({ connection, userWallet, position, lbPair, tokenXMint, tokenYMint, reserveX, reserveY, tokenXProgram, tokenYProgram, useFuelAccount, param, minBinId, maxBinId, binArrays, }: LimitOrderCloseV2Params): Promise<web3.TransactionInstruction>;
156
168
  meteoraDlmmLimitCloseAutomationV2({ connection, userWallet, position, lbPair, tokenXMint, tokenYMint, reserveX, reserveY, tokenXProgram, tokenYProgram, pdaTokenType, param, minBinId, maxBinId, isHawkRefund, useFuelAccount, binArrays, }: MeteoraDlmmLimitCloseAutomationV2Params): Promise<web3.TransactionInstruction>;
169
+ /**
170
+ * Generates raw meteora instruction that initializes a meteora pool
171
+ *
172
+ * @param param0
173
+ * @returns
174
+ */
175
+ initializeLbPair2Raw({ connection, funder, tokenMintX, tokenMintY, tokenProgramX, tokenProgramY, presetParameter, activeId }: InitializeLbPair2): Promise<web3.TransactionInstruction>;
176
+ private isOverflowDefaultBinArrayBitmap;
177
+ private internalBitmapRange;
178
+ private binIdToBinArrayIndex;
157
179
  }
158
180
  export {};
159
181
  //# sourceMappingURL=MeteoraDlmmIxGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MeteoraDlmmIxGenerator.d.ts","sourceRoot":"","sources":["../../../src/ixGenerator/MeteoraDlmmIxGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MeteoraDlmmIxGenerator.d.ts","sourceRoot":"","sources":["../../../src/ixGenerator/MeteoraDlmmIxGenerator.ts"],"names":[],"mappings":"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"}
@@ -95,8 +95,9 @@ function mapOldStrategyTypeToNew(oldStrategyType) {
95
95
  * Meteora related instructions executed via iyf extension or iyf main
96
96
  */
97
97
  class MeteoraDlmmIxGenerator {
98
- constructor(ix) {
98
+ constructor(ix, pda) {
99
99
  this.ix = ix;
100
+ this.pda = pda;
100
101
  }
101
102
  initializePositionAutomation(connection_1, _a) {
102
103
  return __awaiter(this, arguments, void 0, function* (connection, { userWallet, lbPair, position, lowerBinId, upperBinId }) {
@@ -741,5 +742,60 @@ class MeteoraDlmmIxGenerator {
741
742
  return meteoraDlmmLimitCloseAutomationV2Ix;
742
743
  });
743
744
  }
745
+ /**
746
+ * Generates raw meteora instruction that initializes a meteora pool
747
+ *
748
+ * @param param0
749
+ * @returns
750
+ */
751
+ initializeLbPair2Raw(_a) {
752
+ return __awaiter(this, arguments, void 0, function* ({ connection, funder, tokenMintX, tokenMintY, tokenProgramX, tokenProgramY, presetParameter, activeId }) {
753
+ // Initialize anchor
754
+ anchor_1.Anchor.initialize(connection);
755
+ const tokenX = tokenMintX;
756
+ const tokenY = tokenMintY;
757
+ const lbPair = this.pda.meteora.deriveLbPairWithPresetParamWithIndexKey(presetParameter, tokenX, tokenY);
758
+ const reserveX = this.pda.meteora.deriveReserve(tokenX, lbPair);
759
+ const reserveY = this.pda.meteora.deriveReserve(tokenY, lbPair);
760
+ const oracle = this.pda.meteora.deriveOracle(lbPair);
761
+ const activeBinArrayIndex = this.binIdToBinArrayIndex(new bn_js_1.default(activeId));
762
+ const binArrayBitmapExtension = this.isOverflowDefaultBinArrayBitmap(activeBinArrayIndex) ? this.pda.meteora.deriveBinArrayBitmapExtension(lbPair) : METEORA_DLMM_PROGRAM;
763
+ return new web3.TransactionInstruction({
764
+ data: Buffer.concat([
765
+ Buffer.from(util.sighash("initialize_lb_pair_2")),
766
+ Buffer.from([activeId]),
767
+ Buffer.from(Array(96).fill(0)),
768
+ ]),
769
+ keys: [
770
+ { pubkey: funder, isSigner: true, isWritable: true },
771
+ { pubkey: lbPair, isSigner: false, isWritable: true },
772
+ { pubkey: reserveX, isSigner: false, isWritable: true },
773
+ { pubkey: reserveY, isSigner: false, isWritable: true },
774
+ { pubkey: binArrayBitmapExtension, isSigner: false, isWritable: true },
775
+ { pubkey: tokenMintX, isSigner: false, isWritable: false },
776
+ { pubkey: tokenMintY, isSigner: false, isWritable: false },
777
+ { pubkey: METEORA_DLMM_PROGRAM, isSigner: false, isWritable: false },
778
+ { pubkey: METEORA_DLMM_PROGRAM, isSigner: false, isWritable: false },
779
+ { pubkey: tokenProgramX, isSigner: false, isWritable: false },
780
+ { pubkey: tokenProgramY, isSigner: false, isWritable: false },
781
+ { pubkey: METEORA_DLMM_PROGRAM, isSigner: false, isWritable: false },
782
+ ],
783
+ programId: METEORA_DLMM_PROGRAM,
784
+ });
785
+ });
786
+ }
787
+ isOverflowDefaultBinArrayBitmap(binArrayIndex) {
788
+ const [minBinArrayIndex, maxBinArrayIndex] = this.internalBitmapRange();
789
+ return binArrayIndex.gt(maxBinArrayIndex) || binArrayIndex.lt(minBinArrayIndex);
790
+ }
791
+ internalBitmapRange() {
792
+ const lowerBinArrayIndex = new bn_js_1.default(512).neg();
793
+ const upperBinArrayIndex = new bn_js_1.default(512).sub(new bn_js_1.default(1));
794
+ return [lowerBinArrayIndex, upperBinArrayIndex];
795
+ }
796
+ binIdToBinArrayIndex(binId) {
797
+ const { div: idx, mod } = binId.divmod(new bn_js_1.default(70));
798
+ return binId.isNeg() && !mod.isZero() ? idx.sub(new bn_js_1.default(1)) : idx;
799
+ }
744
800
  }
745
801
  exports.MeteoraDlmmIxGenerator = MeteoraDlmmIxGenerator;
@@ -1,6 +1,74 @@
1
+ import * as web3 from "@solana/web3.js";
2
+ import BN from "bn.js";
1
3
  /**
2
4
  * Meteora PDA Generator
3
5
  */
4
6
  export declare class MeteoraPdaGenerator {
7
+ /**
8
+ * Derive LbPair with Preset Parameter with Index Key
9
+ *
10
+ * @param tokenX
11
+ * @param tokenY
12
+ * @param indexKey
13
+ * @returns
14
+ */
15
+ deriveLbPairWithPresetParamWithIndexKey(presetParameterKey: web3.PublicKey, tokenX: web3.PublicKey, tokenY: web3.PublicKey): web3.PublicKey;
16
+ /**
17
+ * Derive LbPair2
18
+ *
19
+ * @param tokenX
20
+ * @param tokenY
21
+ * @param binStep
22
+ * @param baseFactor
23
+ * @param programId
24
+ */
25
+ deriveLbPair2(tokenX: web3.PublicKey, tokenY: web3.PublicKey, binStep: BN, baseFactor: BN, programId: web3.PublicKey): web3.PublicKey;
26
+ /**
27
+ * Derive Reserve
28
+ *
29
+ * @param token
30
+ * @param lbPair
31
+ * @returns
32
+ */
33
+ deriveReserve(token: web3.PublicKey, lbPair: web3.PublicKey): web3.PublicKey;
34
+ /**
35
+ * Derive Oracle
36
+ *
37
+ * @param lbPair
38
+ * @returns
39
+ */
40
+ deriveOracle(lbPair: web3.PublicKey): web3.PublicKey;
41
+ /**
42
+ * Derive Token Badge
43
+ *
44
+ * @param token
45
+ * @param programId
46
+ * @returns
47
+ */
48
+ deriveTokenBadge(tokenMint: web3.PublicKey): web3.PublicKey;
49
+ /**
50
+ * Derive Bin Array
51
+ *
52
+ * @param lbPair
53
+ * @param index
54
+ * @returns
55
+ */
56
+ deriveBinArray(lbPair: web3.PublicKey, index: BN): web3.PublicKey;
57
+ /**
58
+ * Derive Bin Array Bitmap Extension
59
+ *
60
+ * @param lbPair
61
+ * @param programId
62
+ * @returns
63
+ */
64
+ deriveBinArrayBitmapExtension(lbPair: web3.PublicKey): web3.PublicKey;
65
+ /**
66
+ * Sort token mints
67
+ *
68
+ * @param tokenX
69
+ * @param tokenY
70
+ * @returns
71
+ */
72
+ private sortTokenMints;
5
73
  }
6
74
  //# sourceMappingURL=MeteoraPdaGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MeteoraPdaGenerator.d.ts","sourceRoot":"","sources":["../../../src/pdaGenerator/MeteoraPdaGenerator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,mBAAmB;CAE/B"}
1
+ {"version":3,"file":"MeteoraPdaGenerator.d.ts","sourceRoot":"","sources":["../../../src/pdaGenerator/MeteoraPdaGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB;;GAEG;AACH,qBAAa,mBAAmB;IAE9B;;;;;;;OAOG;IACH,uCAAuC,CACrC,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAClC,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,MAAM,EAAE,IAAI,CAAC,SAAS,GACrB,IAAI,CAAC,SAAS;IASjB;;;;;;;;OAQG;IACH,aAAa,CACX,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,OAAO,EAAE,EAAE,EACX,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,IAAI,CAAC,SAAS,GACxB,IAAI,CAAC,SAAS;IAcjB;;;;;;OAMG;IACH,aAAa,CACX,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE,IAAI,CAAC,SAAS,GACrB,IAAI,CAAC,SAAS;IAQjB;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;IAQpD;;;;;;OAMG;IACH,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;IAK3D;;;;;;OAMG;IACH,cAAc,CACZ,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,KAAK,EAAE,EAAE,GACR,IAAI,CAAC,SAAS;IAgBjB;;;;;;OAMG;IACH,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;IAQrE;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;CAIvB"}
@@ -1,9 +1,148 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.MeteoraPdaGenerator = void 0;
37
+ const web3 = __importStar(require("@solana/web3.js"));
38
+ const addresses_1 = require("../addresses");
4
39
  /**
5
40
  * Meteora PDA Generator
6
41
  */
7
42
  class MeteoraPdaGenerator {
43
+ /**
44
+ * Derive LbPair with Preset Parameter with Index Key
45
+ *
46
+ * @param tokenX
47
+ * @param tokenY
48
+ * @param indexKey
49
+ * @returns
50
+ */
51
+ deriveLbPairWithPresetParamWithIndexKey(presetParameterKey, tokenX, tokenY) {
52
+ const [minKey, maxKey] = this.sortTokenMints(tokenX, tokenY);
53
+ const [pda] = web3.PublicKey.findProgramAddressSync([presetParameterKey.toBuffer(), minKey.toBuffer(), maxKey.toBuffer()], addresses_1.METEORA_DLMM_PROGRAM);
54
+ return pda;
55
+ }
56
+ /**
57
+ * Derive LbPair2
58
+ *
59
+ * @param tokenX
60
+ * @param tokenY
61
+ * @param binStep
62
+ * @param baseFactor
63
+ * @param programId
64
+ */
65
+ deriveLbPair2(tokenX, tokenY, binStep, baseFactor, programId) {
66
+ const [minKey, maxKey] = this.sortTokenMints(tokenX, tokenY);
67
+ const [pda] = web3.PublicKey.findProgramAddressSync([
68
+ minKey.toBuffer(),
69
+ maxKey.toBuffer(),
70
+ new Uint8Array(binStep.toArrayLike(Buffer, "le", 2)),
71
+ new Uint8Array(baseFactor.toArrayLike(Buffer, "le", 2))
72
+ ], programId);
73
+ return pda;
74
+ }
75
+ /**
76
+ * Derive Reserve
77
+ *
78
+ * @param token
79
+ * @param lbPair
80
+ * @returns
81
+ */
82
+ deriveReserve(token, lbPair) {
83
+ const [pda] = web3.PublicKey.findProgramAddressSync([lbPair.toBuffer(), token.toBuffer()], addresses_1.METEORA_DLMM_PROGRAM);
84
+ return pda;
85
+ }
86
+ /**
87
+ * Derive Oracle
88
+ *
89
+ * @param lbPair
90
+ * @returns
91
+ */
92
+ deriveOracle(lbPair) {
93
+ const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("oracle"), lbPair.toBytes()], addresses_1.METEORA_DLMM_PROGRAM);
94
+ return pda;
95
+ }
96
+ /**
97
+ * Derive Token Badge
98
+ *
99
+ * @param token
100
+ * @param programId
101
+ * @returns
102
+ */
103
+ deriveTokenBadge(tokenMint) {
104
+ const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("token_badge"), tokenMint.toBuffer()], addresses_1.METEORA_DLMM_PROGRAM);
105
+ return pda;
106
+ }
107
+ /**
108
+ * Derive Bin Array
109
+ *
110
+ * @param lbPair
111
+ * @param index
112
+ * @returns
113
+ */
114
+ deriveBinArray(lbPair, index) {
115
+ let binArrayBytes;
116
+ if (index.isNeg()) {
117
+ binArrayBytes = new Uint8Array(index.toTwos(64).toArrayLike(Buffer, "le", 8));
118
+ }
119
+ else {
120
+ binArrayBytes = new Uint8Array(index.toArrayLike(Buffer, "le", 8));
121
+ }
122
+ const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("bin_array"), lbPair.toBytes(), binArrayBytes], addresses_1.METEORA_DLMM_PROGRAM);
123
+ return pda;
124
+ }
125
+ /**
126
+ * Derive Bin Array Bitmap Extension
127
+ *
128
+ * @param lbPair
129
+ * @param programId
130
+ * @returns
131
+ */
132
+ deriveBinArrayBitmapExtension(lbPair) {
133
+ const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("bitmap"), lbPair.toBytes()], addresses_1.METEORA_DLMM_PROGRAM);
134
+ return pda;
135
+ }
136
+ /**
137
+ * Sort token mints
138
+ *
139
+ * @param tokenX
140
+ * @param tokenY
141
+ * @returns
142
+ */
143
+ sortTokenMints(tokenX, tokenY) {
144
+ const [minKey, maxKey] = tokenX.toBuffer().compare(tokenY.toBuffer()) == 1 ? [tokenY, tokenX] : [tokenX, tokenY];
145
+ return [minKey, maxKey];
146
+ }
8
147
  }
9
148
  exports.MeteoraPdaGenerator = MeteoraPdaGenerator;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hawksightco/hawk-sdk",
3
- "version": "1.3.109",
3
+ "version": "1.3.111",
4
4
  "description": "Hawksight v2 SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/ghabxph/hawk-api-client.git",