@hawksightco/hawk-sdk 1.3.265 → 1.3.267
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/addresses.d.ts +37 -0
- package/dist/addresses.d.ts.map +1 -0
- package/dist/addresses.js +84 -0
- package/dist/anchor.d.ts +22 -0
- package/dist/anchor.d.ts.map +1 -0
- package/dist/anchor.js +121 -0
- package/dist/classes/AltStorage.d.ts +29 -0
- package/dist/classes/AltStorage.d.ts.map +1 -0
- package/dist/classes/AltStorage.js +58 -0
- package/dist/classes/Atomicity.d.ts +34 -0
- package/dist/classes/Atomicity.d.ts.map +1 -0
- package/dist/classes/Atomicity.js +110 -0
- package/dist/classes/Client.d.ts +35 -0
- package/dist/classes/Client.d.ts.map +1 -0
- package/dist/classes/Client.js +66 -0
- package/dist/classes/CombineTransactions.d.ts +11 -0
- package/dist/classes/CombineTransactions.d.ts.map +1 -0
- package/dist/classes/CombineTransactions.js +58 -0
- package/dist/classes/CreateTxMetadata.d.ts +100 -0
- package/dist/classes/CreateTxMetadata.d.ts.map +1 -0
- package/dist/classes/CreateTxMetadata.js +415 -0
- package/dist/classes/General.d.ts +87 -0
- package/dist/classes/General.d.ts.map +1 -0
- package/dist/classes/General.js +176 -0
- package/dist/classes/GeneralUtility.d.ts +79 -0
- package/dist/classes/GeneralUtility.d.ts.map +1 -0
- package/dist/classes/GeneralUtility.js +121 -0
- package/dist/classes/HawkAPI.d.ts +122 -0
- package/dist/classes/HawkAPI.d.ts.map +1 -0
- package/dist/classes/HawkAPI.js +169 -0
- package/dist/classes/Health.d.ts +29 -0
- package/dist/classes/Health.d.ts.map +1 -0
- package/dist/classes/Health.js +48 -0
- package/dist/classes/JupiterAlts.d.ts +37 -0
- package/dist/classes/JupiterAlts.d.ts.map +1 -0
- package/dist/classes/JupiterAlts.js +114 -0
- package/dist/classes/JupiterSwap.d.ts +21 -0
- package/dist/classes/JupiterSwap.d.ts.map +1 -0
- package/dist/classes/JupiterSwap.js +40 -0
- package/dist/classes/Logging.d.ts +13 -0
- package/dist/classes/Logging.d.ts.map +1 -0
- package/dist/classes/Logging.js +50 -0
- package/dist/classes/MultiTransaction.d.ts +75 -0
- package/dist/classes/MultiTransaction.d.ts.map +1 -0
- package/dist/classes/MultiTransaction.js +296 -0
- package/dist/classes/RaydiumSDK.d.ts +67 -0
- package/dist/classes/RaydiumSDK.d.ts.map +1 -0
- package/dist/classes/RaydiumSDK.js +206 -0
- package/dist/classes/Search.d.ts +100 -0
- package/dist/classes/Search.d.ts.map +1 -0
- package/dist/classes/Search.js +216 -0
- package/dist/classes/SimpleIxGenerator.d.ts +57 -0
- package/dist/classes/SimpleIxGenerator.d.ts.map +1 -0
- package/dist/classes/SimpleIxGenerator.js +62 -0
- package/dist/classes/SimplePdaGenerator.d.ts +28 -0
- package/dist/classes/SimplePdaGenerator.d.ts.map +1 -0
- package/dist/classes/SimplePdaGenerator.js +33 -0
- package/dist/classes/Transaction.d.ts +229 -0
- package/dist/classes/Transaction.d.ts.map +1 -0
- package/dist/classes/Transaction.js +643 -0
- package/dist/classes/Transaction2.d.ts +107 -0
- package/dist/classes/Transaction2.d.ts.map +1 -0
- package/dist/classes/Transaction2.js +249 -0
- package/dist/classes/Transaction3.d.ts +165 -0
- package/dist/classes/Transaction3.d.ts.map +1 -0
- package/dist/classes/Transaction3.js +416 -0
- package/dist/classes/TransactionBatchExecute.d.ts +163 -0
- package/dist/classes/TransactionBatchExecute.d.ts.map +1 -0
- package/dist/classes/TransactionBatchExecute.js +466 -0
- package/dist/classes/TransactionBatchExecute2.d.ts +99 -0
- package/dist/classes/TransactionBatchExecute2.d.ts.map +1 -0
- package/dist/classes/TransactionBatchExecute2.js +357 -0
- package/dist/classes/Transactions.d.ts +586 -0
- package/dist/classes/Transactions.d.ts.map +1 -0
- package/dist/classes/Transactions.js +7667 -0
- package/dist/classes/TxGenerator.d.ts +350 -0
- package/dist/classes/TxGenerator.d.ts.map +1 -0
- package/dist/classes/TxGenerator.js +1957 -0
- package/dist/classes/TxGeneratorAutomations.d.ts +186 -0
- package/dist/classes/TxGeneratorAutomations.d.ts.map +1 -0
- package/dist/classes/TxGeneratorAutomations.js +897 -0
- package/dist/classes/Util.d.ts +87 -0
- package/dist/classes/Util.d.ts.map +1 -0
- package/dist/classes/Util.js +148 -0
- package/dist/classes/account-cache/AccountCache.d.ts +54 -0
- package/dist/classes/account-cache/AccountCache.d.ts.map +1 -0
- package/dist/classes/account-cache/AccountCache.js +143 -0
- package/dist/classes/account-cache/MintCache.d.ts +33 -0
- package/dist/classes/account-cache/MintCache.d.ts.map +1 -0
- package/dist/classes/account-cache/MintCache.js +47 -0
- package/dist/classes/account-cache/TokenCache.d.ts +33 -0
- package/dist/classes/account-cache/TokenCache.d.ts.map +1 -0
- package/dist/classes/account-cache/TokenCache.js +47 -0
- package/dist/errors.d.ts +13 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +96 -0
- package/dist/functions.d.ts +514 -0
- package/dist/functions.d.ts.map +1 -0
- package/dist/functions.js +1636 -0
- package/dist/hawksight.d.ts +53 -0
- package/dist/hawksight.d.ts.map +1 -0
- package/dist/hawksight.js +328 -0
- package/dist/hsToMeteora.d.ts +31 -0
- package/dist/hsToMeteora.d.ts.map +1 -0
- package/dist/hsToMeteora.js +3175 -0
- package/dist/idl/iyf-extension-idl.d.ts +14583 -0
- package/dist/idl/iyf-extension-idl.d.ts.map +1 -0
- package/dist/idl/iyf-extension-idl.js +14578 -0
- package/dist/idl/iyf-extension-wrapper.d.ts +112 -0
- package/dist/idl/iyf-extension-wrapper.d.ts.map +1 -0
- package/dist/idl/iyf-extension-wrapper.js +2 -0
- package/dist/idl/iyf-main-idl.d.ts +12078 -0
- package/dist/idl/iyf-main-idl.d.ts.map +1 -0
- package/dist/idl/iyf-main-idl.js +12073 -0
- package/dist/idl/iyf-main-wrapper.d.ts +112 -0
- package/dist/idl/iyf-main-wrapper.d.ts.map +1 -0
- package/dist/idl/iyf-main-wrapper.js +2 -0
- package/dist/idl/jupiter-idl.d.ts +3063 -0
- package/dist/idl/jupiter-idl.d.ts.map +1 -0
- package/dist/idl/jupiter-idl.js +3061 -0
- package/dist/idl/meteora-idl.d.ts +7371 -0
- package/dist/idl/meteora-idl.d.ts.map +1 -0
- package/dist/idl/meteora-idl.js +7372 -0
- package/dist/idl/orca-idl.d.ts +3833 -0
- package/dist/idl/orca-idl.d.ts.map +1 -0
- package/dist/idl/orca-idl.js +3834 -0
- package/dist/idl/raydium-idl.d.ts +3054 -0
- package/dist/idl/raydium-idl.d.ts.map +1 -0
- package/dist/idl/raydium-idl.js +3055 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/ixGenerator/IyfExtensionIxGenerator.d.ts +126 -0
- package/dist/ixGenerator/IyfExtensionIxGenerator.d.ts.map +1 -0
- package/dist/ixGenerator/IyfExtensionIxGenerator.js +467 -0
- package/dist/ixGenerator/IyfMainIxGenerator.d.ts +330 -0
- package/dist/ixGenerator/IyfMainIxGenerator.d.ts.map +1 -0
- package/dist/ixGenerator/IyfMainIxGenerator.js +1239 -0
- package/dist/ixGenerator/MeteoraDlmmIxGenerator.d.ts +685 -0
- package/dist/ixGenerator/MeteoraDlmmIxGenerator.d.ts.map +1 -0
- package/dist/ixGenerator/MeteoraDlmmIxGenerator.js +3008 -0
- package/dist/ixGenerator/OrcaIxGenerator.d.ts +119 -0
- package/dist/ixGenerator/OrcaIxGenerator.d.ts.map +1 -0
- package/dist/ixGenerator/OrcaIxGenerator.js +438 -0
- package/dist/ixGenerator/RaydiumIxGenerator.d.ts +99 -0
- package/dist/ixGenerator/RaydiumIxGenerator.d.ts.map +1 -0
- package/dist/ixGenerator/RaydiumIxGenerator.js +558 -0
- package/dist/ixGenerator/UtilIxGenerator.d.ts +20 -0
- package/dist/ixGenerator/UtilIxGenerator.d.ts.map +1 -0
- package/dist/ixGenerator/UtilIxGenerator.js +25 -0
- package/dist/meteora/index.d.ts +2 -0
- package/dist/meteora/index.d.ts.map +1 -0
- package/dist/meteora/index.js +17 -0
- package/dist/meteora/liquidityStrategy.d.ts +408 -0
- package/dist/meteora/liquidityStrategy.d.ts.map +1 -0
- package/dist/meteora/liquidityStrategy.js +1325 -0
- package/dist/meteora.d.ts +669 -0
- package/dist/meteora.d.ts.map +1 -0
- package/dist/meteora.js +1932 -0
- package/dist/orca.d.ts +57 -0
- package/dist/orca.d.ts.map +1 -0
- package/dist/orca.js +123 -0
- package/dist/pdaGenerator/HawksightPdaGenerator.d.ts +29 -0
- package/dist/pdaGenerator/HawksightPdaGenerator.d.ts.map +1 -0
- package/dist/pdaGenerator/HawksightPdaGenerator.js +75 -0
- package/dist/pdaGenerator/MeteoraPdaGenerator.d.ts +76 -0
- package/dist/pdaGenerator/MeteoraPdaGenerator.d.ts.map +1 -0
- package/dist/pdaGenerator/MeteoraPdaGenerator.js +166 -0
- package/dist/pdaGenerator/OrcaPdaGenerator.d.ts +23 -0
- package/dist/pdaGenerator/OrcaPdaGenerator.d.ts.map +1 -0
- package/dist/pdaGenerator/OrcaPdaGenerator.js +68 -0
- package/dist/pdaGenerator/RaydiumPdaGenerator.d.ts +49 -0
- package/dist/pdaGenerator/RaydiumPdaGenerator.d.ts.map +1 -0
- package/dist/pdaGenerator/RaydiumPdaGenerator.js +114 -0
- package/dist/pdaGenerator/UtilPdaGenerator.d.ts +8 -0
- package/dist/pdaGenerator/UtilPdaGenerator.d.ts.map +1 -0
- package/dist/pdaGenerator/UtilPdaGenerator.js +51 -0
- package/dist/types.d.ts +1104 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +95 -0
- package/package.json +6 -5
package/dist/orca.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as web3 from "@solana/web3.js";
|
|
2
|
+
export declare const TICK_ARRAY_SIZE = 88;
|
|
3
|
+
export declare const MIN_TICK_INDEX = -443636;
|
|
4
|
+
export declare const MAX_TICK_INDEX = 443636;
|
|
5
|
+
export declare const PDA_TICK_ARRAY_SEED = "tick_array";
|
|
6
|
+
/**
|
|
7
|
+
* Get the PDA of the tick array containing tickIndex.
|
|
8
|
+
* tickArrayOffset can be used to get neighboring tick arrays.
|
|
9
|
+
*
|
|
10
|
+
* @param tickIndex
|
|
11
|
+
* @param tickSpacing
|
|
12
|
+
* @param whirlpool
|
|
13
|
+
* @param programId
|
|
14
|
+
* @param tickArrayOffset
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export declare function getTickArrayFromTickIndex(tickIndex: number, tickSpacing: number, whirlpool: web3.PublicKey, programId: web3.PublicKey, tickArrayOffset?: number): {
|
|
18
|
+
bump: number;
|
|
19
|
+
publicKey: web3.PublicKey;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Get the startIndex of the tick array containing tickIndex.
|
|
23
|
+
*
|
|
24
|
+
* @param tickIndex
|
|
25
|
+
* @param tickSpacing
|
|
26
|
+
* @param offset can be used to get neighboring tick array startIndex.
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
export declare function getStartTickIndex(tickIndex: number, tickSpacing: number, offset?: number): number;
|
|
30
|
+
/**
|
|
31
|
+
* Returns next start tick
|
|
32
|
+
*
|
|
33
|
+
* @param tickIndex
|
|
34
|
+
* @param tickSpacing
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
export declare function getNextStartTick(tickIndex: number, tickSpacing: number): number;
|
|
38
|
+
/**
|
|
39
|
+
* Returns previous start tick
|
|
40
|
+
*
|
|
41
|
+
* @param tickIndex
|
|
42
|
+
* @param tickSpacing
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
export declare function getPreviousStartTick(tickIndex: number, tickSpacing: number): number;
|
|
46
|
+
/**
|
|
47
|
+
* @category Program Derived Addresses
|
|
48
|
+
* @param programId
|
|
49
|
+
* @param whirlpoolAddress
|
|
50
|
+
* @param startTick
|
|
51
|
+
* @returns
|
|
52
|
+
*/
|
|
53
|
+
export declare function getTickArray(programId: web3.PublicKey, whirlpoolAddress: web3.PublicKey, startTick: number): {
|
|
54
|
+
bump: number;
|
|
55
|
+
publicKey: web3.PublicKey;
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=orca.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orca.d.ts","sourceRoot":"","sources":["../src/orca.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAGxC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,GAAE,MAAU;;;EAGlK;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,UAQ3F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAKtE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAK1E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM;;;EAO1G"}
|
package/dist/orca.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
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
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.PDA_TICK_ARRAY_SEED = exports.MAX_TICK_INDEX = exports.MIN_TICK_INDEX = exports.TICK_ARRAY_SIZE = void 0;
|
|
40
|
+
exports.getTickArrayFromTickIndex = getTickArrayFromTickIndex;
|
|
41
|
+
exports.getStartTickIndex = getStartTickIndex;
|
|
42
|
+
exports.getNextStartTick = getNextStartTick;
|
|
43
|
+
exports.getPreviousStartTick = getPreviousStartTick;
|
|
44
|
+
exports.getTickArray = getTickArray;
|
|
45
|
+
const web3 = __importStar(require("@solana/web3.js"));
|
|
46
|
+
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
47
|
+
exports.TICK_ARRAY_SIZE = 88;
|
|
48
|
+
exports.MIN_TICK_INDEX = -443636;
|
|
49
|
+
exports.MAX_TICK_INDEX = 443636;
|
|
50
|
+
exports.PDA_TICK_ARRAY_SEED = "tick_array";
|
|
51
|
+
/**
|
|
52
|
+
* Get the PDA of the tick array containing tickIndex.
|
|
53
|
+
* tickArrayOffset can be used to get neighboring tick arrays.
|
|
54
|
+
*
|
|
55
|
+
* @param tickIndex
|
|
56
|
+
* @param tickSpacing
|
|
57
|
+
* @param whirlpool
|
|
58
|
+
* @param programId
|
|
59
|
+
* @param tickArrayOffset
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
function getTickArrayFromTickIndex(tickIndex, tickSpacing, whirlpool, programId, tickArrayOffset = 0) {
|
|
63
|
+
const startIndex = getStartTickIndex(tickIndex, tickSpacing, tickArrayOffset);
|
|
64
|
+
return getTickArray(programId, whirlpool, startIndex);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get the startIndex of the tick array containing tickIndex.
|
|
68
|
+
*
|
|
69
|
+
* @param tickIndex
|
|
70
|
+
* @param tickSpacing
|
|
71
|
+
* @param offset can be used to get neighboring tick array startIndex.
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
function getStartTickIndex(tickIndex, tickSpacing, offset = 0) {
|
|
75
|
+
const realIndex = Math.floor(tickIndex / tickSpacing / exports.TICK_ARRAY_SIZE);
|
|
76
|
+
const startTickIndex = (realIndex + offset) * tickSpacing * exports.TICK_ARRAY_SIZE;
|
|
77
|
+
const ticksInArray = exports.TICK_ARRAY_SIZE * tickSpacing;
|
|
78
|
+
const minTickIndex = exports.MIN_TICK_INDEX - ((exports.MIN_TICK_INDEX % ticksInArray) + ticksInArray);
|
|
79
|
+
(0, tiny_invariant_1.default)(startTickIndex >= minTickIndex, `startTickIndex is too small - - ${startTickIndex}`);
|
|
80
|
+
(0, tiny_invariant_1.default)(startTickIndex <= exports.MAX_TICK_INDEX, `startTickIndex is too large - ${startTickIndex}`);
|
|
81
|
+
return startTickIndex;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Returns next start tick
|
|
85
|
+
*
|
|
86
|
+
* @param tickIndex
|
|
87
|
+
* @param tickSpacing
|
|
88
|
+
* @returns
|
|
89
|
+
*/
|
|
90
|
+
function getNextStartTick(tickIndex, tickSpacing) {
|
|
91
|
+
const startTick = getStartTickIndex(tickIndex, tickSpacing);
|
|
92
|
+
const multiple = tickSpacing * exports.TICK_ARRAY_SIZE;
|
|
93
|
+
const nextTick = getStartTickIndex(startTick + multiple, tickSpacing);
|
|
94
|
+
return nextTick;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Returns previous start tick
|
|
98
|
+
*
|
|
99
|
+
* @param tickIndex
|
|
100
|
+
* @param tickSpacing
|
|
101
|
+
* @returns
|
|
102
|
+
*/
|
|
103
|
+
function getPreviousStartTick(tickIndex, tickSpacing) {
|
|
104
|
+
const startTick = getStartTickIndex(tickIndex, tickSpacing);
|
|
105
|
+
const multiple = tickSpacing * exports.TICK_ARRAY_SIZE;
|
|
106
|
+
const nextTick = getStartTickIndex(startTick - multiple, tickSpacing);
|
|
107
|
+
return nextTick;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* @category Program Derived Addresses
|
|
111
|
+
* @param programId
|
|
112
|
+
* @param whirlpoolAddress
|
|
113
|
+
* @param startTick
|
|
114
|
+
* @returns
|
|
115
|
+
*/
|
|
116
|
+
function getTickArray(programId, whirlpoolAddress, startTick) {
|
|
117
|
+
const [publicKey, bump] = web3.PublicKey.findProgramAddressSync([
|
|
118
|
+
Buffer.from(exports.PDA_TICK_ARRAY_SEED),
|
|
119
|
+
whirlpoolAddress.toBuffer(),
|
|
120
|
+
Buffer.from(startTick.toString()),
|
|
121
|
+
], programId);
|
|
122
|
+
return { bump, publicKey };
|
|
123
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as web3 from "@solana/web3.js";
|
|
2
|
+
/**
|
|
3
|
+
* Iyf Main IX Generator
|
|
4
|
+
*/
|
|
5
|
+
export declare class HawksightPdaGenerator {
|
|
6
|
+
/**
|
|
7
|
+
* Generate UserPDA
|
|
8
|
+
*
|
|
9
|
+
* @param userWallet
|
|
10
|
+
* @param farm
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
generateUserPda(userWallet: web3.PublicKey, farm?: web3.PublicKey): web3.PublicKey;
|
|
14
|
+
/**
|
|
15
|
+
* Generate the PDA for the userPda's storage account
|
|
16
|
+
*
|
|
17
|
+
* @param userPda
|
|
18
|
+
* @param mint
|
|
19
|
+
* @returns Storage Account owned by the user pda
|
|
20
|
+
*/
|
|
21
|
+
generateUserPdaStorageAccount(userPda: web3.PublicKey, mint: web3.PublicKey): web3.PublicKey;
|
|
22
|
+
/**
|
|
23
|
+
* Generate the PDA for the hawkfi payer account
|
|
24
|
+
*
|
|
25
|
+
* @returns Hawkfi Payer PDA
|
|
26
|
+
*/
|
|
27
|
+
generateHawkfiPayer(): web3.PublicKey;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=HawksightPdaGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HawksightPdaGenerator.d.ts","sourceRoot":"","sources":["../../src/pdaGenerator/HawksightPdaGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAGxC;;GAEG;AACH,qBAAa,qBAAqB;IAEhC;;;;;;OAMG;IACH,eAAe,CACb,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,IAAI,GAAE,IAAI,CAAC,SAEV,GACA,IAAI,CAAC,SAAS;IAQjB;;;;;;OAMG;IACH,6BAA6B,CAC3B,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,IAAI,EAAE,IAAI,CAAC,SAAS;IAStB;;;;OAIG;IACH,mBAAmB,IAAI,IAAI,CAAC,SAAS;CAOtC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.HawksightPdaGenerator = void 0;
|
|
37
|
+
const web3 = __importStar(require("@solana/web3.js"));
|
|
38
|
+
const addresses_1 = require("../addresses");
|
|
39
|
+
/**
|
|
40
|
+
* Iyf Main IX Generator
|
|
41
|
+
*/
|
|
42
|
+
class HawksightPdaGenerator {
|
|
43
|
+
/**
|
|
44
|
+
* Generate UserPDA
|
|
45
|
+
*
|
|
46
|
+
* @param userWallet
|
|
47
|
+
* @param farm
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
generateUserPda(userWallet, farm = new web3.PublicKey("7jLQhREMxXjKdpwVuN6gwsWt3BNfAg9WqbepffPbi4ww")) {
|
|
51
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("multi-user"), farm.toBuffer(), userWallet.toBuffer()], new web3.PublicKey("FqGg2Y1FNxMiGd51Q6UETixQWkF5fB92MysbYogRJb3P"));
|
|
52
|
+
return pda;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Generate the PDA for the userPda's storage account
|
|
56
|
+
*
|
|
57
|
+
* @param userPda
|
|
58
|
+
* @param mint
|
|
59
|
+
* @returns Storage Account owned by the user pda
|
|
60
|
+
*/
|
|
61
|
+
generateUserPdaStorageAccount(userPda, mint) {
|
|
62
|
+
const [storageAccount] = web3.PublicKey.findProgramAddressSync([Buffer.from("storage-token"), mint.toBuffer(), userPda.toBuffer()], addresses_1.IYF_MAIN);
|
|
63
|
+
return storageAccount;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Generate the PDA for the hawkfi payer account
|
|
67
|
+
*
|
|
68
|
+
* @returns Hawkfi Payer PDA
|
|
69
|
+
*/
|
|
70
|
+
generateHawkfiPayer() {
|
|
71
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("hawkfi-payer")], addresses_1.IYF_MAIN);
|
|
72
|
+
return pda;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.HawksightPdaGenerator = HawksightPdaGenerator;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as web3 from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
/**
|
|
4
|
+
* Meteora PDA Generator
|
|
5
|
+
*/
|
|
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
|
+
deriveBinArrays(lbPair: web3.PublicKey, lowerBinId: number, upperBinId: number): web3.PublicKey[];
|
|
58
|
+
private binIdToBinArrayIndex;
|
|
59
|
+
/**
|
|
60
|
+
* Derive Bin Array Bitmap Extension
|
|
61
|
+
*
|
|
62
|
+
* @param lbPair
|
|
63
|
+
* @param programId
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
deriveBinArrayBitmapExtension(lbPair: web3.PublicKey): web3.PublicKey;
|
|
67
|
+
/**
|
|
68
|
+
* Sort token mints
|
|
69
|
+
*
|
|
70
|
+
* @param tokenX
|
|
71
|
+
* @param tokenY
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
private sortTokenMints;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=MeteoraPdaGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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,eAAe,CACb,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,IAAI,CAAC,SAAS,EAAE;IAUnB,OAAO,CAAC,oBAAoB;IAM5B;;;;;;OAMG;IACH,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;IAQrE;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;CAIvB"}
|
|
@@ -0,0 +1,166 @@
|
|
|
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
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.MeteoraPdaGenerator = void 0;
|
|
40
|
+
const web3 = __importStar(require("@solana/web3.js"));
|
|
41
|
+
const addresses_1 = require("../addresses");
|
|
42
|
+
const bn_js_1 = __importDefault(require("bn.js"));
|
|
43
|
+
/**
|
|
44
|
+
* Meteora PDA Generator
|
|
45
|
+
*/
|
|
46
|
+
class MeteoraPdaGenerator {
|
|
47
|
+
/**
|
|
48
|
+
* Derive LbPair with Preset Parameter with Index Key
|
|
49
|
+
*
|
|
50
|
+
* @param tokenX
|
|
51
|
+
* @param tokenY
|
|
52
|
+
* @param indexKey
|
|
53
|
+
* @returns
|
|
54
|
+
*/
|
|
55
|
+
deriveLbPairWithPresetParamWithIndexKey(presetParameterKey, tokenX, tokenY) {
|
|
56
|
+
const [minKey, maxKey] = this.sortTokenMints(tokenX, tokenY);
|
|
57
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([presetParameterKey.toBuffer(), minKey.toBuffer(), maxKey.toBuffer()], addresses_1.METEORA_DLMM_PROGRAM);
|
|
58
|
+
return pda;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Derive LbPair2
|
|
62
|
+
*
|
|
63
|
+
* @param tokenX
|
|
64
|
+
* @param tokenY
|
|
65
|
+
* @param binStep
|
|
66
|
+
* @param baseFactor
|
|
67
|
+
* @param programId
|
|
68
|
+
*/
|
|
69
|
+
deriveLbPair2(tokenX, tokenY, binStep, baseFactor, programId) {
|
|
70
|
+
const [minKey, maxKey] = this.sortTokenMints(tokenX, tokenY);
|
|
71
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([
|
|
72
|
+
minKey.toBuffer(),
|
|
73
|
+
maxKey.toBuffer(),
|
|
74
|
+
new Uint8Array(binStep.toArrayLike(Buffer, "le", 2)),
|
|
75
|
+
new Uint8Array(baseFactor.toArrayLike(Buffer, "le", 2))
|
|
76
|
+
], programId);
|
|
77
|
+
return pda;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Derive Reserve
|
|
81
|
+
*
|
|
82
|
+
* @param token
|
|
83
|
+
* @param lbPair
|
|
84
|
+
* @returns
|
|
85
|
+
*/
|
|
86
|
+
deriveReserve(token, lbPair) {
|
|
87
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([lbPair.toBuffer(), token.toBuffer()], addresses_1.METEORA_DLMM_PROGRAM);
|
|
88
|
+
return pda;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Derive Oracle
|
|
92
|
+
*
|
|
93
|
+
* @param lbPair
|
|
94
|
+
* @returns
|
|
95
|
+
*/
|
|
96
|
+
deriveOracle(lbPair) {
|
|
97
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("oracle"), lbPair.toBytes()], addresses_1.METEORA_DLMM_PROGRAM);
|
|
98
|
+
return pda;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Derive Token Badge
|
|
102
|
+
*
|
|
103
|
+
* @param token
|
|
104
|
+
* @param programId
|
|
105
|
+
* @returns
|
|
106
|
+
*/
|
|
107
|
+
deriveTokenBadge(tokenMint) {
|
|
108
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("token_badge"), tokenMint.toBuffer()], addresses_1.METEORA_DLMM_PROGRAM);
|
|
109
|
+
return pda;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Derive Bin Array
|
|
113
|
+
*
|
|
114
|
+
* @param lbPair
|
|
115
|
+
* @param index
|
|
116
|
+
* @returns
|
|
117
|
+
*/
|
|
118
|
+
deriveBinArray(lbPair, index) {
|
|
119
|
+
let binArrayBytes;
|
|
120
|
+
if (index.isNeg()) {
|
|
121
|
+
binArrayBytes = new Uint8Array(index.toTwos(64).toArrayLike(Buffer, "le", 8));
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
binArrayBytes = new Uint8Array(index.toArrayLike(Buffer, "le", 8));
|
|
125
|
+
}
|
|
126
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("bin_array"), lbPair.toBytes(), binArrayBytes], addresses_1.METEORA_DLMM_PROGRAM);
|
|
127
|
+
return pda;
|
|
128
|
+
}
|
|
129
|
+
deriveBinArrays(lbPair, lowerBinId, upperBinId) {
|
|
130
|
+
const indices = new Set();
|
|
131
|
+
for (let binId = lowerBinId; binId <= upperBinId; binId++) {
|
|
132
|
+
indices.add(this.binIdToBinArrayIndex(new bn_js_1.default(binId)).toString());
|
|
133
|
+
}
|
|
134
|
+
const indicesUnique = Array.from(indices).map(index => new bn_js_1.default(index));
|
|
135
|
+
const binArrays = indicesUnique.map(index => this.deriveBinArray(lbPair, index));
|
|
136
|
+
return binArrays;
|
|
137
|
+
}
|
|
138
|
+
binIdToBinArrayIndex(binId) {
|
|
139
|
+
const MAX_BIN_ARRAY_SIZE = new bn_js_1.default(70);
|
|
140
|
+
const { div: idx, mod } = binId.divmod(MAX_BIN_ARRAY_SIZE);
|
|
141
|
+
return binId.isNeg() && !mod.isZero() ? idx.sub(new bn_js_1.default(1)) : idx;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Derive Bin Array Bitmap Extension
|
|
145
|
+
*
|
|
146
|
+
* @param lbPair
|
|
147
|
+
* @param programId
|
|
148
|
+
* @returns
|
|
149
|
+
*/
|
|
150
|
+
deriveBinArrayBitmapExtension(lbPair) {
|
|
151
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("bitmap"), lbPair.toBytes()], addresses_1.METEORA_DLMM_PROGRAM);
|
|
152
|
+
return pda;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Sort token mints
|
|
156
|
+
*
|
|
157
|
+
* @param tokenX
|
|
158
|
+
* @param tokenY
|
|
159
|
+
* @returns
|
|
160
|
+
*/
|
|
161
|
+
sortTokenMints(tokenX, tokenY) {
|
|
162
|
+
const [minKey, maxKey] = tokenX.toBuffer().compare(tokenY.toBuffer()) == 1 ? [tokenY, tokenX] : [tokenX, tokenY];
|
|
163
|
+
return [minKey, maxKey];
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.MeteoraPdaGenerator = MeteoraPdaGenerator;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as web3 from "@solana/web3.js";
|
|
2
|
+
/**
|
|
3
|
+
* Orca PDA Generator
|
|
4
|
+
*/
|
|
5
|
+
export declare class OrcaPdaGenerator {
|
|
6
|
+
/**
|
|
7
|
+
* Generate Orca Position PDA
|
|
8
|
+
*
|
|
9
|
+
* @param userWallet
|
|
10
|
+
* @param farm
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
generateOrcaPositionPDA(positionMint: web3.PublicKey): web3.PublicKey;
|
|
14
|
+
/**
|
|
15
|
+
* Generate position token account based on token program type
|
|
16
|
+
* @param userPda - User PDA account
|
|
17
|
+
* @param positionMint - Position mint (NFT mint)
|
|
18
|
+
* @param is2022Position - Whether this is a Token2022 position (default: false)
|
|
19
|
+
* @returns Position token account address
|
|
20
|
+
*/
|
|
21
|
+
generatePositionTokenAccount(userPda: web3.PublicKey, positionMint: web3.PublicKey, is2022Position?: boolean): web3.PublicKey;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=OrcaPdaGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrcaPdaGenerator.d.ts","sourceRoot":"","sources":["../../src/pdaGenerator/OrcaPdaGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAIxC;;GAEG;AACH,qBAAa,gBAAgB;IAE3B;;;;;;OAMG;IACH,uBAAuB,CACrB,YAAY,EAAE,IAAI,CAAC,SAAS,GAC3B,IAAI,CAAC,SAAS;IAQjB;;;;;;OAMG;IACH,4BAA4B,CAC1B,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,YAAY,EAAE,IAAI,CAAC,SAAS,EAC5B,cAAc,GAAE,OAAe,GAC9B,IAAI,CAAC,SAAS;CAKlB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.OrcaPdaGenerator = void 0;
|
|
37
|
+
const web3 = __importStar(require("@solana/web3.js"));
|
|
38
|
+
const addresses_1 = require("../addresses");
|
|
39
|
+
const functions_1 = require("../functions");
|
|
40
|
+
/**
|
|
41
|
+
* Orca PDA Generator
|
|
42
|
+
*/
|
|
43
|
+
class OrcaPdaGenerator {
|
|
44
|
+
/**
|
|
45
|
+
* Generate Orca Position PDA
|
|
46
|
+
*
|
|
47
|
+
* @param userWallet
|
|
48
|
+
* @param farm
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
generateOrcaPositionPDA(positionMint) {
|
|
52
|
+
const [pda] = web3.PublicKey.findProgramAddressSync([Buffer.from("position", "utf-8"), positionMint.toBuffer()], addresses_1.ORCA_WHIRLPOOL_PROGRAM);
|
|
53
|
+
return pda;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Generate position token account based on token program type
|
|
57
|
+
* @param userPda - User PDA account
|
|
58
|
+
* @param positionMint - Position mint (NFT mint)
|
|
59
|
+
* @param is2022Position - Whether this is a Token2022 position (default: false)
|
|
60
|
+
* @returns Position token account address
|
|
61
|
+
*/
|
|
62
|
+
generatePositionTokenAccount(userPda, positionMint, is2022Position = false) {
|
|
63
|
+
return is2022Position
|
|
64
|
+
? (0, functions_1.generateAta2022)(userPda, positionMint)
|
|
65
|
+
: (0, functions_1.generateAta)(userPda, positionMint);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.OrcaPdaGenerator = OrcaPdaGenerator;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as web3 from "@solana/web3.js";
|
|
2
|
+
/**
|
|
3
|
+
* Raydium PDA Generator
|
|
4
|
+
*
|
|
5
|
+
* This class provides methods to generate Program Derived Addresses (PDAs) for various
|
|
6
|
+
* Raydium protocol components. It handles the derivation of addresses for positions,
|
|
7
|
+
* tick arrays, and other protocol-specific accounts using the Raydium program ID.
|
|
8
|
+
*/
|
|
9
|
+
export declare class RaydiumPdaGenerator {
|
|
10
|
+
/**
|
|
11
|
+
* Generates a PDA for a Raydium protocol position account.
|
|
12
|
+
* This account stores information about a liquidity position in a Raydium pool.
|
|
13
|
+
*
|
|
14
|
+
* @param poolState - The public key of the pool state account
|
|
15
|
+
* @param tickLowerIndex - The lower tick index of the position
|
|
16
|
+
* @param tickUpperIndex - The upper tick index of the position
|
|
17
|
+
* @returns The public key of the position PDA
|
|
18
|
+
*/
|
|
19
|
+
generateRaydiumProtocolPosition(poolState: web3.PublicKey, tickLowerIndex: number, tickUpperIndex: number): web3.PublicKey;
|
|
20
|
+
/**
|
|
21
|
+
* Generates a PDA for a personal position account in Raydium.
|
|
22
|
+
* This account is associated with a specific NFT mint and represents a user's
|
|
23
|
+
* individual position in a Raydium pool.
|
|
24
|
+
*
|
|
25
|
+
* @param nftMint - The public key of the NFT mint associated with the position
|
|
26
|
+
* @returns The public key of the personal position PDA
|
|
27
|
+
*/
|
|
28
|
+
generateRaydiumPersonalPosition(nftMint: web3.PublicKey): web3.PublicKey;
|
|
29
|
+
/**
|
|
30
|
+
* Generates a PDA for a tick array account in Raydium.
|
|
31
|
+
* Tick arrays store price and liquidity information for specific price ranges
|
|
32
|
+
* in a concentrated liquidity pool.
|
|
33
|
+
*
|
|
34
|
+
* @param poolState - The public key of the pool state account
|
|
35
|
+
* @param startIndex - The starting tick index for the tick array
|
|
36
|
+
* @returns The public key of the tick array PDA
|
|
37
|
+
*/
|
|
38
|
+
generateRaydiumTickArrayPda(poolState: web3.PublicKey, startIndex: number): web3.PublicKey;
|
|
39
|
+
/**
|
|
40
|
+
* Generates a PDA for a tick array bitmap extension account in Raydium.
|
|
41
|
+
* This account extends the tick array bitmap to support larger price ranges
|
|
42
|
+
* in concentrated liquidity pools.
|
|
43
|
+
*
|
|
44
|
+
* @param poolState - The public key of the pool state account
|
|
45
|
+
* @returns The public key of the tick array bitmap extension PDA
|
|
46
|
+
*/
|
|
47
|
+
generateRaydiumTickArrayBitmapExtension(poolState: web3.PublicKey): web3.PublicKey;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=RaydiumPdaGenerator.d.ts.map
|