@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.
- package/dist/src/classes/SimpleIxGenerator.d.ts.map +1 -1
- package/dist/src/classes/SimpleIxGenerator.js +1 -1
- package/dist/src/idl/iyf-extension-idl.d.ts +1 -54
- package/dist/src/idl/iyf-extension-idl.d.ts.map +1 -1
- package/dist/src/idl/iyf-extension-idl.js +2 -55
- package/dist/src/ixGenerator/MeteoraDlmmIxGenerator.d.ts +24 -2
- package/dist/src/ixGenerator/MeteoraDlmmIxGenerator.d.ts.map +1 -1
- package/dist/src/ixGenerator/MeteoraDlmmIxGenerator.js +57 -1
- package/dist/src/pdaGenerator/MeteoraPdaGenerator.d.ts +68 -0
- package/dist/src/pdaGenerator/MeteoraPdaGenerator.d.ts.map +1 -1
- package/dist/src/pdaGenerator/MeteoraPdaGenerator.js +139 -0
- package/package.json +1 -1
|
@@ -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
|
-
|
|
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":"AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAKxC,OAAO,EAAE,SAAS,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;
|
|
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":"
|
|
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;
|