@byreal-io/byreal-clmm-sdk 0.2.0
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/LICENSE +21 -0
- package/README.md +341 -0
- package/dist/esm/client/chain.d.ts +227 -0
- package/dist/esm/client/chain.d.ts.map +1 -0
- package/dist/esm/client/chain.js +1123 -0
- package/dist/esm/client/chain.js.map +1 -0
- package/dist/esm/client/index.d.ts +4 -0
- package/dist/esm/client/index.d.ts.map +1 -0
- package/dist/esm/client/index.js +4 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/models.d.ts +160 -0
- package/dist/esm/client/models.d.ts.map +1 -0
- package/dist/esm/client/models.js +2 -0
- package/dist/esm/client/models.js.map +1 -0
- package/dist/esm/client/utils.d.ts +103 -0
- package/dist/esm/client/utils.d.ts.map +1 -0
- package/dist/esm/client/utils.js +238 -0
- package/dist/esm/client/utils.js.map +1 -0
- package/dist/esm/constants.d.ts +19 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +27 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/instructions/baseInstruction.d.ts +74 -0
- package/dist/esm/instructions/baseInstruction.d.ts.map +1 -0
- package/dist/esm/instructions/baseInstruction.js +577 -0
- package/dist/esm/instructions/baseInstruction.js.map +1 -0
- package/dist/esm/instructions/constants.d.ts +29 -0
- package/dist/esm/instructions/constants.d.ts.map +1 -0
- package/dist/esm/instructions/constants.js +32 -0
- package/dist/esm/instructions/constants.js.map +1 -0
- package/dist/esm/instructions/getRawData.d.ts +60 -0
- package/dist/esm/instructions/getRawData.d.ts.map +1 -0
- package/dist/esm/instructions/getRawData.js +105 -0
- package/dist/esm/instructions/getRawData.js.map +1 -0
- package/dist/esm/instructions/index.d.ts +9 -0
- package/dist/esm/instructions/index.d.ts.map +1 -0
- package/dist/esm/instructions/index.js +9 -0
- package/dist/esm/instructions/index.js.map +1 -0
- package/dist/esm/instructions/instruction.d.ts +137 -0
- package/dist/esm/instructions/instruction.d.ts.map +1 -0
- package/dist/esm/instructions/instruction.js +152 -0
- package/dist/esm/instructions/instruction.js.map +1 -0
- package/dist/esm/instructions/layout.d.ts +217 -0
- package/dist/esm/instructions/layout.d.ts.map +1 -0
- package/dist/esm/instructions/layout.js +203 -0
- package/dist/esm/instructions/layout.js.map +1 -0
- package/dist/esm/instructions/libs/marshmallow/bufferLayout.d.ts +107 -0
- package/dist/esm/instructions/libs/marshmallow/bufferLayout.d.ts.map +1 -0
- package/dist/esm/instructions/libs/marshmallow/bufferLayout.js +49 -0
- package/dist/esm/instructions/libs/marshmallow/bufferLayout.js.map +1 -0
- package/dist/esm/instructions/libs/marshmallow/index.d.ts +88 -0
- package/dist/esm/instructions/libs/marshmallow/index.d.ts.map +1 -0
- package/dist/esm/instructions/libs/marshmallow/index.js +256 -0
- package/dist/esm/instructions/libs/marshmallow/index.js.map +1 -0
- package/dist/esm/instructions/models.d.ts +39 -0
- package/dist/esm/instructions/models.d.ts.map +1 -0
- package/dist/esm/instructions/models.js +14 -0
- package/dist/esm/instructions/models.js.map +1 -0
- package/dist/esm/instructions/pda.d.ts +52 -0
- package/dist/esm/instructions/pda.d.ts.map +1 -0
- package/dist/esm/instructions/pda.js +47 -0
- package/dist/esm/instructions/pda.js.map +1 -0
- package/dist/esm/instructions/target/idl/byreal_amm_v3.json +7242 -0
- package/dist/esm/instructions/target/idl/byreal_amm_v3_test.json +7680 -0
- package/dist/esm/instructions/target/types/byreal_amm_v3.d.ts +5329 -0
- package/dist/esm/instructions/target/types/byreal_amm_v3.d.ts.map +1 -0
- package/dist/esm/instructions/target/types/byreal_amm_v3.js +2 -0
- package/dist/esm/instructions/target/types/byreal_amm_v3.js.map +1 -0
- package/dist/esm/instructions/target/types/raydium_amm_v3.d.ts +4149 -0
- package/dist/esm/instructions/target/types/raydium_amm_v3.d.ts.map +1 -0
- package/dist/esm/instructions/target/types/raydium_amm_v3.js +2 -0
- package/dist/esm/instructions/target/types/raydium_amm_v3.js.map +1 -0
- package/dist/esm/instructions/utils/binaryUtils.d.ts +11 -0
- package/dist/esm/instructions/utils/binaryUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/binaryUtils.js +77 -0
- package/dist/esm/instructions/utils/binaryUtils.js.map +1 -0
- package/dist/esm/instructions/utils/fetchWalletTokenAccounts.d.ts +42 -0
- package/dist/esm/instructions/utils/fetchWalletTokenAccounts.d.ts.map +1 -0
- package/dist/esm/instructions/utils/fetchWalletTokenAccounts.js +63 -0
- package/dist/esm/instructions/utils/fetchWalletTokenAccounts.js.map +1 -0
- package/dist/esm/instructions/utils/getTickArrayBitmapExtension.d.ts +8 -0
- package/dist/esm/instructions/utils/getTickArrayBitmapExtension.d.ts.map +1 -0
- package/dist/esm/instructions/utils/getTickArrayBitmapExtension.js +22 -0
- package/dist/esm/instructions/utils/getTickArrayBitmapExtension.js.map +1 -0
- package/dist/esm/instructions/utils/getTickArrayInfo.d.ts +16 -0
- package/dist/esm/instructions/utils/getTickArrayInfo.d.ts.map +1 -0
- package/dist/esm/instructions/utils/getTickArrayInfo.js +75 -0
- package/dist/esm/instructions/utils/getTickArrayInfo.js.map +1 -0
- package/dist/esm/instructions/utils/index.d.ts +21 -0
- package/dist/esm/instructions/utils/index.d.ts.map +1 -0
- package/dist/esm/instructions/utils/index.js +21 -0
- package/dist/esm/instructions/utils/index.js.map +1 -0
- package/dist/esm/instructions/utils/liquidityMath.d.ts +30 -0
- package/dist/esm/instructions/utils/liquidityMath.d.ts.map +1 -0
- package/dist/esm/instructions/utils/liquidityMath.js +138 -0
- package/dist/esm/instructions/utils/liquidityMath.js.map +1 -0
- package/dist/esm/instructions/utils/mathUtils.d.ts +11 -0
- package/dist/esm/instructions/utils/mathUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/mathUtils.js +36 -0
- package/dist/esm/instructions/utils/mathUtils.js.map +1 -0
- package/dist/esm/instructions/utils/models.d.ts +93 -0
- package/dist/esm/instructions/utils/models.d.ts.map +1 -0
- package/dist/esm/instructions/utils/models.js +13 -0
- package/dist/esm/instructions/utils/models.js.map +1 -0
- package/dist/esm/instructions/utils/poolStateUtils.d.ts +134 -0
- package/dist/esm/instructions/utils/poolStateUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/poolStateUtils.js +137 -0
- package/dist/esm/instructions/utils/poolStateUtils.js.map +1 -0
- package/dist/esm/instructions/utils/poolUtils.d.ts +136 -0
- package/dist/esm/instructions/utils/poolUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/poolUtils.js +219 -0
- package/dist/esm/instructions/utils/poolUtils.js.map +1 -0
- package/dist/esm/instructions/utils/position.d.ts +36 -0
- package/dist/esm/instructions/utils/position.d.ts.map +1 -0
- package/dist/esm/instructions/utils/position.js +86 -0
- package/dist/esm/instructions/utils/position.js.map +1 -0
- package/dist/esm/instructions/utils/sqrtPriceMath.d.ts +14 -0
- package/dist/esm/instructions/utils/sqrtPriceMath.d.ts.map +1 -0
- package/dist/esm/instructions/utils/sqrtPriceMath.js +168 -0
- package/dist/esm/instructions/utils/sqrtPriceMath.js.map +1 -0
- package/dist/esm/instructions/utils/swapMath.d.ts +48 -0
- package/dist/esm/instructions/utils/swapMath.d.ts.map +1 -0
- package/dist/esm/instructions/utils/swapMath.js +263 -0
- package/dist/esm/instructions/utils/swapMath.js.map +1 -0
- package/dist/esm/instructions/utils/tick.d.ts +106 -0
- package/dist/esm/instructions/utils/tick.d.ts.map +1 -0
- package/dist/esm/instructions/utils/tick.js +390 -0
- package/dist/esm/instructions/utils/tick.js.map +1 -0
- package/dist/esm/instructions/utils/tickArrayUtils.d.ts +50 -0
- package/dist/esm/instructions/utils/tickArrayUtils.d.ts.map +1 -0
- package/dist/esm/instructions/utils/tickArrayUtils.js +157 -0
- package/dist/esm/instructions/utils/tickArrayUtils.js.map +1 -0
- package/dist/esm/instructions/utils/tickMath.d.ts +18 -0
- package/dist/esm/instructions/utils/tickMath.d.ts.map +1 -0
- package/dist/esm/instructions/utils/tickMath.js +34 -0
- package/dist/esm/instructions/utils/tickMath.js.map +1 -0
- package/dist/esm/instructions/utils/tickarrayBitmap.d.ts +38 -0
- package/dist/esm/instructions/utils/tickarrayBitmap.d.ts.map +1 -0
- package/dist/esm/instructions/utils/tickarrayBitmap.js +157 -0
- package/dist/esm/instructions/utils/tickarrayBitmap.js.map +1 -0
- package/dist/esm/instructions/utils/transfer.d.ts +7 -0
- package/dist/esm/instructions/utils/transfer.d.ts.map +1 -0
- package/dist/esm/instructions/utils/transfer.js +78 -0
- package/dist/esm/instructions/utils/transfer.js.map +1 -0
- package/dist/esm/utils/accountInfo.d.ts +27 -0
- package/dist/esm/utils/accountInfo.d.ts.map +1 -0
- package/dist/esm/utils/accountInfo.js +80 -0
- package/dist/esm/utils/accountInfo.js.map +1 -0
- package/dist/esm/utils/checkV0TxSize.d.ts +8 -0
- package/dist/esm/utils/checkV0TxSize.d.ts.map +1 -0
- package/dist/esm/utils/checkV0TxSize.js +18 -0
- package/dist/esm/utils/checkV0TxSize.js.map +1 -0
- package/dist/esm/utils/estimateComputeUnits.d.ts +11 -0
- package/dist/esm/utils/estimateComputeUnits.d.ts.map +1 -0
- package/dist/esm/utils/estimateComputeUnits.js +48 -0
- package/dist/esm/utils/estimateComputeUnits.js.map +1 -0
- package/dist/esm/utils/generatePubKey.d.ts +10 -0
- package/dist/esm/utils/generatePubKey.d.ts.map +1 -0
- package/dist/esm/utils/generatePubKey.js +14 -0
- package/dist/esm/utils/generatePubKey.js.map +1 -0
- package/dist/esm/utils/index.d.ts +9 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +11 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/token.d.ts +9 -0
- package/dist/esm/utils/token.d.ts.map +1 -0
- package/dist/esm/utils/token.js +16 -0
- package/dist/esm/utils/token.js.map +1 -0
- package/dist/esm/utils/transactionUtils.d.ts +84 -0
- package/dist/esm/utils/transactionUtils.d.ts.map +1 -0
- package/dist/esm/utils/transactionUtils.js +138 -0
- package/dist/esm/utils/transactionUtils.js.map +1 -0
- package/dist/esm/utils/validateAndParsePublicKey.d.ts +15 -0
- package/dist/esm/utils/validateAndParsePublicKey.d.ts.map +1 -0
- package/dist/esm/utils/validateAndParsePublicKey.js +42 -0
- package/dist/esm/utils/validateAndParsePublicKey.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,577 @@
|
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { Program } from '@coral-xyz/anchor';
|
|
3
|
+
import { TOKEN_PROGRAM_ID } from '@solana/spl-token';
|
|
4
|
+
import { TOKEN_2022_PROGRAM_ID } from '@solana/spl-token';
|
|
5
|
+
import { Connection, clusterApiUrl } from '@solana/web3.js';
|
|
6
|
+
import BN from 'bn.js';
|
|
7
|
+
import { BYREAL_CLMM_PROGRAM_ID, BYREAL_CLMM_PROGRAM_ID_TEST } from '../constants.js';
|
|
8
|
+
import ByrealClmmIDL from './target/idl/byreal_amm_v3.json' with { type: 'json' };
|
|
9
|
+
import ByrealClmmTestIDL from './target/idl/byreal_amm_v3_test.json' with { type: 'json' };
|
|
10
|
+
export const getAmmV3Program = (programId) => {
|
|
11
|
+
// Create a read-only provider, no wallet needed
|
|
12
|
+
const provider = new anchor.AnchorProvider(new Connection(clusterApiUrl('mainnet-beta'), 'confirmed'), {}, // Empty wallet object, since only instruction creation is needed
|
|
13
|
+
{ commitment: 'confirmed' });
|
|
14
|
+
if (programId.toBase58() === BYREAL_CLMM_PROGRAM_ID.toBase58()) {
|
|
15
|
+
return new Program(ByrealClmmIDL, provider);
|
|
16
|
+
}
|
|
17
|
+
if (programId.toBase58() === BYREAL_CLMM_PROGRAM_ID_TEST.toBase58()) {
|
|
18
|
+
return new Program(ByrealClmmTestIDL, provider);
|
|
19
|
+
}
|
|
20
|
+
throw new Error('[getAmmV3Program error]: Invalid program id');
|
|
21
|
+
};
|
|
22
|
+
export class BaseInstruction {
|
|
23
|
+
static async createPoolInstruction(programId, poolCreator, poolManager, ammConfigId, mintA, mintProgramIdA, mintB, mintProgramIdB, sqrtPriceX64, openTime, extendMintAccount) {
|
|
24
|
+
const program = getAmmV3Program(programId);
|
|
25
|
+
const _openTime = openTime || new BN(0);
|
|
26
|
+
const instruction = program.methods.createPool(sqrtPriceX64, _openTime).accounts({
|
|
27
|
+
poolCreator,
|
|
28
|
+
poolManager,
|
|
29
|
+
ammConfig: ammConfigId,
|
|
30
|
+
tokenMint0: mintA,
|
|
31
|
+
tokenMint1: mintB,
|
|
32
|
+
tokenProgram0: mintProgramIdA,
|
|
33
|
+
tokenProgram1: mintProgramIdB,
|
|
34
|
+
});
|
|
35
|
+
// If there are additional mint accounts, add them as remaining accounts
|
|
36
|
+
if (extendMintAccount && extendMintAccount.length > 0) {
|
|
37
|
+
instruction.remainingAccounts(extendMintAccount.map((k) => ({
|
|
38
|
+
pubkey: k,
|
|
39
|
+
isSigner: false,
|
|
40
|
+
isWritable: false,
|
|
41
|
+
})));
|
|
42
|
+
}
|
|
43
|
+
return await instruction.instruction();
|
|
44
|
+
}
|
|
45
|
+
static async openPositionFromLiquidityInstruction(programId, payer, poolId, positionNftOwner, positionNftMint, positionNftAccount, metadataAccount, protocolPosition, tickArrayLower, tickArrayUpper, personalPosition, ownerTokenAccountA, ownerTokenAccountB, tokenVaultA, tokenVaultB, tokenMintA, tokenMintB, tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, liquidity, amountMaxA, amountMaxB, withMetadata, exTickArrayBitmap) {
|
|
46
|
+
const program = getAmmV3Program(programId);
|
|
47
|
+
const instruction = program.methods
|
|
48
|
+
.openPositionV2(tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, liquidity, amountMaxA, amountMaxB, withMetadata === 'create', null // Set baseFlag to null, since this is based on liquidity
|
|
49
|
+
)
|
|
50
|
+
.accountsPartial({
|
|
51
|
+
payer,
|
|
52
|
+
positionNftOwner,
|
|
53
|
+
positionNftMint,
|
|
54
|
+
positionNftAccount,
|
|
55
|
+
metadataAccount,
|
|
56
|
+
poolState: poolId,
|
|
57
|
+
protocolPosition,
|
|
58
|
+
tickArrayLower,
|
|
59
|
+
tickArrayUpper,
|
|
60
|
+
personalPosition,
|
|
61
|
+
tokenAccount0: ownerTokenAccountA,
|
|
62
|
+
tokenAccount1: ownerTokenAccountB,
|
|
63
|
+
tokenVault0: tokenVaultA,
|
|
64
|
+
tokenVault1: tokenVaultB,
|
|
65
|
+
vault0Mint: tokenMintA,
|
|
66
|
+
vault1Mint: tokenMintB,
|
|
67
|
+
});
|
|
68
|
+
// If there are additional tick array bitmaps, add them as remaining accounts
|
|
69
|
+
if (exTickArrayBitmap) {
|
|
70
|
+
instruction.remainingAccounts([{ pubkey: exTickArrayBitmap, isSigner: false, isWritable: true }]);
|
|
71
|
+
}
|
|
72
|
+
return await instruction.instruction();
|
|
73
|
+
}
|
|
74
|
+
static async openPositionFromLiquidityInstruction22(programId, payer, poolId, positionNftOwner, positionNftMint, positionNftAccount, protocolPosition, tickArrayLower, tickArrayUpper, personalPosition, ownerTokenAccountA, ownerTokenAccountB, tokenVaultA, tokenVaultB, tokenMintA, tokenMintB, tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, liquidity, amountMaxA, amountMaxB, withMetadata, exTickArrayBitmap) {
|
|
75
|
+
const program = getAmmV3Program(programId);
|
|
76
|
+
const instruction = program.methods
|
|
77
|
+
.openPositionWithToken22Nft(tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, liquidity, amountMaxA, amountMaxB, withMetadata === 'create', null)
|
|
78
|
+
.accountsPartial({
|
|
79
|
+
payer,
|
|
80
|
+
positionNftOwner,
|
|
81
|
+
positionNftMint,
|
|
82
|
+
positionNftAccount,
|
|
83
|
+
poolState: poolId,
|
|
84
|
+
// Here we need to manually pass in the generated PDA account, because anchor auto-generation uses little endian, while raydium's contract uses big endian (tick_lower_index.to_be_bytes()), using anchor auto-generation will cause errors;
|
|
85
|
+
protocolPosition,
|
|
86
|
+
tickArrayLower,
|
|
87
|
+
tickArrayUpper,
|
|
88
|
+
personalPosition,
|
|
89
|
+
tokenAccount0: ownerTokenAccountA,
|
|
90
|
+
tokenAccount1: ownerTokenAccountB,
|
|
91
|
+
tokenVault0: tokenVaultA,
|
|
92
|
+
tokenVault1: tokenVaultB,
|
|
93
|
+
vault0Mint: tokenMintA,
|
|
94
|
+
vault1Mint: tokenMintB,
|
|
95
|
+
});
|
|
96
|
+
// If there are additional tick array bitmaps, add them as remaining accounts
|
|
97
|
+
if (exTickArrayBitmap) {
|
|
98
|
+
instruction.remainingAccounts([{ pubkey: exTickArrayBitmap, isSigner: false, isWritable: true }]);
|
|
99
|
+
}
|
|
100
|
+
return await instruction.instruction();
|
|
101
|
+
}
|
|
102
|
+
static async openPositionFromBaseInstruction(programId, payer, poolId, positionNftOwner, positionNftMint, positionNftAccount, metadataAccount, protocolPosition, tickArrayLower, tickArrayUpper, personalPosition, ownerTokenAccountA, ownerTokenAccountB, tokenVaultA, tokenVaultB, tokenMintA, tokenMintB, tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, withMetadata, base, baseAmount, otherAmountMax, exTickArrayBitmap) {
|
|
103
|
+
const program = getAmmV3Program(programId);
|
|
104
|
+
const instruction = program.methods
|
|
105
|
+
.openPositionV2(tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, new BN(0), // Set liquidity to 0, since this is based on base amount
|
|
106
|
+
base === 'MintA' ? baseAmount : otherAmountMax, // amount0Max
|
|
107
|
+
base === 'MintA' ? otherAmountMax : baseAmount, // amount1Max
|
|
108
|
+
withMetadata === 'create', base === 'MintA' // baseFlag
|
|
109
|
+
)
|
|
110
|
+
.accountsPartial({
|
|
111
|
+
payer,
|
|
112
|
+
positionNftOwner,
|
|
113
|
+
positionNftMint,
|
|
114
|
+
positionNftAccount,
|
|
115
|
+
metadataAccount,
|
|
116
|
+
poolState: poolId,
|
|
117
|
+
protocolPosition,
|
|
118
|
+
tickArrayLower,
|
|
119
|
+
tickArrayUpper,
|
|
120
|
+
personalPosition,
|
|
121
|
+
tokenAccount0: ownerTokenAccountA,
|
|
122
|
+
tokenAccount1: ownerTokenAccountB,
|
|
123
|
+
tokenVault0: tokenVaultA,
|
|
124
|
+
tokenVault1: tokenVaultB,
|
|
125
|
+
vault0Mint: tokenMintA,
|
|
126
|
+
vault1Mint: tokenMintB,
|
|
127
|
+
});
|
|
128
|
+
// If there are additional tick array bitmaps, add them as remaining accounts
|
|
129
|
+
if (exTickArrayBitmap) {
|
|
130
|
+
instruction.remainingAccounts([{ pubkey: exTickArrayBitmap, isSigner: false, isWritable: true }]);
|
|
131
|
+
}
|
|
132
|
+
return await instruction.instruction();
|
|
133
|
+
}
|
|
134
|
+
static async openPositionFromBaseInstruction22(programId, payer, poolId, positionNftOwner, positionNftMint, positionNftAccount, protocolPosition, tickArrayLower, tickArrayUpper, personalPosition, ownerTokenAccountA, ownerTokenAccountB, tokenVaultA, tokenVaultB, tokenMintA, tokenMintB, tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, withMetadata, base, baseAmount, otherAmountMax, exTickArrayBitmap) {
|
|
135
|
+
const program = getAmmV3Program(programId);
|
|
136
|
+
const instruction = program.methods
|
|
137
|
+
.openPositionWithToken22Nft(tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, new BN(0), // Set liquidity to 0, since this is based on base amount
|
|
138
|
+
base === 'MintA' ? baseAmount : otherAmountMax, // amountMaxA
|
|
139
|
+
base === 'MintA' ? otherAmountMax : baseAmount, // amountMaxB
|
|
140
|
+
withMetadata === 'create', base === 'MintA' // baseFlag
|
|
141
|
+
)
|
|
142
|
+
.accountsPartial({
|
|
143
|
+
payer,
|
|
144
|
+
positionNftOwner,
|
|
145
|
+
positionNftMint,
|
|
146
|
+
positionNftAccount,
|
|
147
|
+
poolState: poolId,
|
|
148
|
+
// Here we need to manually pass in the generated PDA account, because anchor auto-generation uses little endian; while raydium's contract uses big endian (tick_lower_index.to_be_bytes())
|
|
149
|
+
protocolPosition,
|
|
150
|
+
tickArrayLower,
|
|
151
|
+
tickArrayUpper,
|
|
152
|
+
personalPosition,
|
|
153
|
+
tokenAccount0: ownerTokenAccountA,
|
|
154
|
+
tokenAccount1: ownerTokenAccountB,
|
|
155
|
+
tokenVault0: tokenVaultA,
|
|
156
|
+
tokenVault1: tokenVaultB,
|
|
157
|
+
vault0Mint: tokenMintA,
|
|
158
|
+
vault1Mint: tokenMintB,
|
|
159
|
+
});
|
|
160
|
+
// If there are additional tick array bitmaps, add them as remaining accounts
|
|
161
|
+
if (exTickArrayBitmap) {
|
|
162
|
+
instruction.remainingAccounts([{ pubkey: exTickArrayBitmap, isSigner: false, isWritable: true }]);
|
|
163
|
+
}
|
|
164
|
+
return await instruction.instruction();
|
|
165
|
+
}
|
|
166
|
+
static async closePositionInstruction(programId, positionNftOwner, positionNftMint, positionNftAccount, nft2022) {
|
|
167
|
+
const program = getAmmV3Program(programId);
|
|
168
|
+
const instruction = program.methods.closePosition().accounts({
|
|
169
|
+
nftOwner: positionNftOwner,
|
|
170
|
+
positionNftMint,
|
|
171
|
+
positionNftAccount,
|
|
172
|
+
tokenProgram: nft2022 ? TOKEN_2022_PROGRAM_ID : TOKEN_PROGRAM_ID,
|
|
173
|
+
});
|
|
174
|
+
return await instruction.instruction();
|
|
175
|
+
}
|
|
176
|
+
static async increasePositionFromLiquidityInstruction(programId, positionNftOwner, positionNftAccount, personalPosition, poolId, protocolPosition, tickArrayLower, tickArrayUpper, ownerTokenAccountA, ownerTokenAccountB, mintVaultA, mintVaultB, mintMintA, mintMintB, liquidity, amountMaxA, amountMaxB, exTickArrayBitmap) {
|
|
177
|
+
const program = getAmmV3Program(programId);
|
|
178
|
+
const instruction = program.methods
|
|
179
|
+
.increaseLiquidityV2(liquidity, amountMaxA, amountMaxB, null // Set baseFlag to null, since this is based on liquidity instruction
|
|
180
|
+
)
|
|
181
|
+
.accountsPartial({
|
|
182
|
+
nftOwner: positionNftOwner,
|
|
183
|
+
nftAccount: positionNftAccount,
|
|
184
|
+
poolState: poolId,
|
|
185
|
+
protocolPosition,
|
|
186
|
+
personalPosition,
|
|
187
|
+
tickArrayLower,
|
|
188
|
+
tickArrayUpper,
|
|
189
|
+
tokenAccount0: ownerTokenAccountA,
|
|
190
|
+
tokenAccount1: ownerTokenAccountB,
|
|
191
|
+
tokenVault0: mintVaultA,
|
|
192
|
+
tokenVault1: mintVaultB,
|
|
193
|
+
vault0Mint: mintMintA,
|
|
194
|
+
vault1Mint: mintMintB,
|
|
195
|
+
});
|
|
196
|
+
// If there are additional tick array bitmaps, add them as remaining accounts
|
|
197
|
+
if (exTickArrayBitmap) {
|
|
198
|
+
instruction.remainingAccounts([{ pubkey: exTickArrayBitmap, isSigner: false, isWritable: true }]);
|
|
199
|
+
}
|
|
200
|
+
return await instruction.instruction();
|
|
201
|
+
}
|
|
202
|
+
static async increasePositionFromBaseInstruction(programId, positionNftOwner, positionNftAccount, personalPosition, poolId, protocolPosition, tickArrayLower, tickArrayUpper, ownerTokenAccountA, ownerTokenAccountB, mintVaultA, mintVaultB, mintMintA, mintMintB, base, baseAmount, otherAmountMax, exTickArrayBitmap) {
|
|
203
|
+
const program = getAmmV3Program(programId);
|
|
204
|
+
const instruction = program.methods
|
|
205
|
+
.increaseLiquidityV2(new BN(0), // Set liquidity to 0, since this is based on base amount
|
|
206
|
+
base === 'MintA' ? baseAmount : otherAmountMax, // amount0Max
|
|
207
|
+
base === 'MintA' ? otherAmountMax : baseAmount, // amount1Max
|
|
208
|
+
base === 'MintA' // baseFlag
|
|
209
|
+
)
|
|
210
|
+
.accountsPartial({
|
|
211
|
+
nftOwner: positionNftOwner,
|
|
212
|
+
nftAccount: positionNftAccount,
|
|
213
|
+
poolState: poolId,
|
|
214
|
+
protocolPosition,
|
|
215
|
+
personalPosition,
|
|
216
|
+
tickArrayLower,
|
|
217
|
+
tickArrayUpper,
|
|
218
|
+
tokenAccount0: ownerTokenAccountA,
|
|
219
|
+
tokenAccount1: ownerTokenAccountB,
|
|
220
|
+
tokenVault0: mintVaultA,
|
|
221
|
+
tokenVault1: mintVaultB,
|
|
222
|
+
vault0Mint: mintMintA,
|
|
223
|
+
vault1Mint: mintMintB,
|
|
224
|
+
});
|
|
225
|
+
// If there are additional tick array bitmaps, add them as remaining accounts
|
|
226
|
+
if (exTickArrayBitmap) {
|
|
227
|
+
instruction.remainingAccounts([{ pubkey: exTickArrayBitmap, isSigner: false, isWritable: true }]);
|
|
228
|
+
}
|
|
229
|
+
return await instruction.instruction();
|
|
230
|
+
}
|
|
231
|
+
static async decreaseLiquidityInstruction(programId, positionNftOwner, positionNftAccount, personalPosition, poolId, protocolPosition, tickArrayLower, tickArrayUpper, ownerTokenAccountA, ownerTokenAccountB, mintVaultA, mintVaultB, mintMintA, mintMintB, rewardAccounts, liquidity, amountMinA, amountMinB, exTickArrayBitmap) {
|
|
232
|
+
const program = getAmmV3Program(programId);
|
|
233
|
+
const instruction = program.methods.decreaseLiquidityV2(liquidity, amountMinA, amountMinB).accountsPartial({
|
|
234
|
+
nftOwner: positionNftOwner,
|
|
235
|
+
nftAccount: positionNftAccount,
|
|
236
|
+
personalPosition,
|
|
237
|
+
poolState: poolId,
|
|
238
|
+
protocolPosition,
|
|
239
|
+
tokenVault0: mintVaultA,
|
|
240
|
+
tokenVault1: mintVaultB,
|
|
241
|
+
tickArrayLower,
|
|
242
|
+
tickArrayUpper,
|
|
243
|
+
recipientTokenAccount0: ownerTokenAccountA,
|
|
244
|
+
recipientTokenAccount1: ownerTokenAccountB,
|
|
245
|
+
vault0Mint: mintMintA,
|
|
246
|
+
vault1Mint: mintMintB,
|
|
247
|
+
});
|
|
248
|
+
// Build remaining accounts
|
|
249
|
+
const remainingAccounts = [
|
|
250
|
+
...(exTickArrayBitmap ? [{ pubkey: exTickArrayBitmap, isSigner: false, isWritable: true }] : []),
|
|
251
|
+
...rewardAccounts
|
|
252
|
+
.map((i) => [
|
|
253
|
+
{ pubkey: i.poolRewardVault, isSigner: false, isWritable: true },
|
|
254
|
+
{ pubkey: i.ownerRewardVault, isSigner: false, isWritable: true },
|
|
255
|
+
{ pubkey: i.rewardMint, isSigner: false, isWritable: false },
|
|
256
|
+
])
|
|
257
|
+
.flat(),
|
|
258
|
+
];
|
|
259
|
+
if (remainingAccounts.length > 0) {
|
|
260
|
+
instruction.remainingAccounts(remainingAccounts);
|
|
261
|
+
}
|
|
262
|
+
return await instruction.instruction();
|
|
263
|
+
}
|
|
264
|
+
static async swapInstruction(programId, payer, poolId, ammConfigId, inputTokenAccount, outputTokenAccount, inputVault, outputVault, inputMint, outputMint, tickArray, observationId, amount, otherAmountThreshold, sqrtPriceLimitX64, isBaseInput, exTickArrayBitmap) {
|
|
265
|
+
const program = getAmmV3Program(programId);
|
|
266
|
+
const instruction = program.methods.swapV2(amount, otherAmountThreshold, sqrtPriceLimitX64, isBaseInput).accounts({
|
|
267
|
+
payer,
|
|
268
|
+
ammConfig: ammConfigId,
|
|
269
|
+
poolState: poolId,
|
|
270
|
+
inputTokenAccount,
|
|
271
|
+
outputTokenAccount,
|
|
272
|
+
inputVault,
|
|
273
|
+
outputVault,
|
|
274
|
+
observationState: observationId,
|
|
275
|
+
inputVaultMint: inputMint,
|
|
276
|
+
outputVaultMint: outputMint,
|
|
277
|
+
});
|
|
278
|
+
// Build remaining accounts
|
|
279
|
+
const remainingAccounts = [
|
|
280
|
+
...(exTickArrayBitmap ? [{ pubkey: exTickArrayBitmap, isSigner: false, isWritable: true }] : []),
|
|
281
|
+
...tickArray.map((i) => ({
|
|
282
|
+
pubkey: i,
|
|
283
|
+
isSigner: false,
|
|
284
|
+
isWritable: true,
|
|
285
|
+
})),
|
|
286
|
+
];
|
|
287
|
+
if (remainingAccounts.length > 0) {
|
|
288
|
+
instruction.remainingAccounts(remainingAccounts);
|
|
289
|
+
}
|
|
290
|
+
return await instruction.instruction();
|
|
291
|
+
}
|
|
292
|
+
static async initRewardInstruction(programId, rewardFunder, funderTokenAccount, ammConfigId, poolId, rewardMint, rewardProgramId, openTime, endTime, emissionsPerSecondX64) {
|
|
293
|
+
const program = getAmmV3Program(programId);
|
|
294
|
+
const instruction = program.methods
|
|
295
|
+
.initializeReward({
|
|
296
|
+
openTime: new BN(openTime),
|
|
297
|
+
endTime: new BN(endTime),
|
|
298
|
+
emissionsPerSecondX64,
|
|
299
|
+
})
|
|
300
|
+
.accounts({
|
|
301
|
+
rewardFunder,
|
|
302
|
+
funderTokenAccount,
|
|
303
|
+
ammConfig: ammConfigId,
|
|
304
|
+
poolState: poolId,
|
|
305
|
+
rewardTokenMint: rewardMint,
|
|
306
|
+
rewardTokenProgram: rewardProgramId,
|
|
307
|
+
});
|
|
308
|
+
return await instruction.instruction();
|
|
309
|
+
}
|
|
310
|
+
static async setRewardInstruction(programId, authority, ammConfigId, poolId, rewardIndex, emissionsPerSecondX64, openTime, endTime) {
|
|
311
|
+
const program = getAmmV3Program(programId);
|
|
312
|
+
const instruction = program.methods
|
|
313
|
+
.setRewardParams(rewardIndex, emissionsPerSecondX64, new BN(openTime), new BN(endTime))
|
|
314
|
+
.accounts({
|
|
315
|
+
authority,
|
|
316
|
+
ammConfig: ammConfigId,
|
|
317
|
+
poolState: poolId,
|
|
318
|
+
});
|
|
319
|
+
return await instruction.instruction();
|
|
320
|
+
}
|
|
321
|
+
static async collectRewardInstruction(programId, rewardFunder, funderTokenAccount, poolId, rewardVault, rewardMint, rewardIndex) {
|
|
322
|
+
const program = getAmmV3Program(programId);
|
|
323
|
+
const instruction = program.methods.collectRemainingRewards(rewardIndex).accounts({
|
|
324
|
+
rewardFunder,
|
|
325
|
+
funderTokenAccount,
|
|
326
|
+
poolState: poolId,
|
|
327
|
+
rewardTokenVault: rewardVault,
|
|
328
|
+
rewardVaultMint: rewardMint,
|
|
329
|
+
});
|
|
330
|
+
return await instruction.instruction();
|
|
331
|
+
}
|
|
332
|
+
static async createAmmConfigInstruction(programId, owner, ammConfigId, index, tickSpacing, tradeFeeRate, protocolFeeRate, fundFeeRate) {
|
|
333
|
+
const program = getAmmV3Program(programId);
|
|
334
|
+
const instruction = program.methods
|
|
335
|
+
.createAmmConfig(index, tickSpacing, tradeFeeRate, protocolFeeRate, fundFeeRate)
|
|
336
|
+
.accountsPartial({
|
|
337
|
+
owner,
|
|
338
|
+
ammConfig: ammConfigId,
|
|
339
|
+
});
|
|
340
|
+
return await instruction.instruction();
|
|
341
|
+
}
|
|
342
|
+
static async updateAmmConfigInstruction(programId, ammConfigId, owner, param, value) {
|
|
343
|
+
const program = getAmmV3Program(programId);
|
|
344
|
+
const instruction = program.methods.updateAmmConfig(param, value).accounts({
|
|
345
|
+
owner,
|
|
346
|
+
ammConfig: ammConfigId,
|
|
347
|
+
});
|
|
348
|
+
return await instruction.instruction();
|
|
349
|
+
}
|
|
350
|
+
static async updatePoolStatusInstruction(programId, authority, poolState, status) {
|
|
351
|
+
const program = getAmmV3Program(programId);
|
|
352
|
+
const instruction = program.methods.updatePoolStatus(status).accounts({
|
|
353
|
+
poolState,
|
|
354
|
+
authority,
|
|
355
|
+
});
|
|
356
|
+
return await instruction.instruction();
|
|
357
|
+
}
|
|
358
|
+
static async createSupportMintAssociatedInstruction(programId, owner, tokenMint) {
|
|
359
|
+
const program = getAmmV3Program(programId);
|
|
360
|
+
const instruction = program.methods.createSupportMintAssociated().accounts({
|
|
361
|
+
owner,
|
|
362
|
+
tokenMint,
|
|
363
|
+
});
|
|
364
|
+
return await instruction.instruction();
|
|
365
|
+
}
|
|
366
|
+
static async createOperationAccountInstruction(programId, owner) {
|
|
367
|
+
const program = getAmmV3Program(programId);
|
|
368
|
+
const instruction = program.methods.createOperationAccount().accounts({
|
|
369
|
+
owner,
|
|
370
|
+
});
|
|
371
|
+
return await instruction.instruction();
|
|
372
|
+
}
|
|
373
|
+
static async updateOperationAccountInstruction(programId, owner, param, keys) {
|
|
374
|
+
const program = getAmmV3Program(programId);
|
|
375
|
+
const instruction = program.methods.updateOperationAccount(param, keys).accounts({
|
|
376
|
+
owner,
|
|
377
|
+
});
|
|
378
|
+
return await instruction.instruction();
|
|
379
|
+
}
|
|
380
|
+
static async transferRewardOwnerInstruction(programId, authority, poolState, newOwner) {
|
|
381
|
+
const program = getAmmV3Program(programId);
|
|
382
|
+
const instruction = program.methods.transferRewardOwner(newOwner).accounts({
|
|
383
|
+
poolState,
|
|
384
|
+
authority,
|
|
385
|
+
});
|
|
386
|
+
return await instruction.instruction();
|
|
387
|
+
}
|
|
388
|
+
static async updateRewardInfosInstruction(programId, poolState) {
|
|
389
|
+
const program = getAmmV3Program(programId);
|
|
390
|
+
const instruction = program.methods.updateRewardInfos().accounts({
|
|
391
|
+
poolState,
|
|
392
|
+
});
|
|
393
|
+
return await instruction.instruction();
|
|
394
|
+
}
|
|
395
|
+
static async collectProtocolFeeInstruction(programId, poolState, tokenVault0, tokenVault1, vault0Mint, vault1Mint, amount0Requested, amount1Requested) {
|
|
396
|
+
const program = getAmmV3Program(programId);
|
|
397
|
+
const instruction = program.methods.collectProtocolFee(amount0Requested, amount1Requested).accounts({
|
|
398
|
+
poolState,
|
|
399
|
+
tokenVault0,
|
|
400
|
+
tokenVault1,
|
|
401
|
+
vault0Mint,
|
|
402
|
+
vault1Mint,
|
|
403
|
+
});
|
|
404
|
+
return await instruction.instruction();
|
|
405
|
+
}
|
|
406
|
+
static async collectFundFeeInstruction(programId, poolState, tokenVault0, tokenVault1, vault0Mint, vault1Mint, amount0Requested, amount1Requested) {
|
|
407
|
+
const program = getAmmV3Program(programId);
|
|
408
|
+
const instruction = program.methods.collectFundFee(amount0Requested, amount1Requested).accounts({
|
|
409
|
+
poolState,
|
|
410
|
+
tokenVault0,
|
|
411
|
+
tokenVault1,
|
|
412
|
+
vault0Mint,
|
|
413
|
+
vault1Mint,
|
|
414
|
+
});
|
|
415
|
+
return await instruction.instruction();
|
|
416
|
+
}
|
|
417
|
+
static async _legacy_openPosition(programId, payer, positionNftOwner, positionNftMint, positionNftAccount, metadataAccount, poolState, protocolPosition, tickArrayLower, tickArrayUpper, personalPosition, tokenAccount0, tokenAccount1, tokenVault0, tokenVault1, tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, liquidity, amount0Max, amount1Max, remainingAccounts) {
|
|
418
|
+
const program = getAmmV3Program(programId);
|
|
419
|
+
const instruction = program.methods
|
|
420
|
+
.openPosition(tickLowerIndex, tickUpperIndex, tickArrayLowerStartIndex, tickArrayUpperStartIndex, liquidity, amount0Max, amount1Max)
|
|
421
|
+
.accountsPartial({
|
|
422
|
+
payer,
|
|
423
|
+
positionNftOwner,
|
|
424
|
+
positionNftMint,
|
|
425
|
+
positionNftAccount,
|
|
426
|
+
metadataAccount,
|
|
427
|
+
poolState,
|
|
428
|
+
protocolPosition,
|
|
429
|
+
tickArrayLower,
|
|
430
|
+
tickArrayUpper,
|
|
431
|
+
personalPosition,
|
|
432
|
+
tokenAccount0,
|
|
433
|
+
tokenAccount1,
|
|
434
|
+
tokenVault0,
|
|
435
|
+
tokenVault1,
|
|
436
|
+
});
|
|
437
|
+
// Add remaining accounts
|
|
438
|
+
if (remainingAccounts && remainingAccounts.length > 0) {
|
|
439
|
+
instruction.remainingAccounts(remainingAccounts);
|
|
440
|
+
}
|
|
441
|
+
return await instruction.instruction();
|
|
442
|
+
}
|
|
443
|
+
static async _legacy_increaseLiquidity(programId, nftOwner, nftAccount, poolState, protocolPosition, personalPosition, tickArrayLower, tickArrayUpper, tokenAccount0, tokenAccount1, tokenVault0, tokenVault1, liquidity, amount0Max, amount1Max, remainingAccounts) {
|
|
444
|
+
const program = getAmmV3Program(programId);
|
|
445
|
+
const instruction = program.methods.increaseLiquidity(liquidity, amount0Max, amount1Max).accountsPartial({
|
|
446
|
+
nftOwner,
|
|
447
|
+
nftAccount,
|
|
448
|
+
poolState,
|
|
449
|
+
protocolPosition,
|
|
450
|
+
personalPosition,
|
|
451
|
+
tickArrayLower,
|
|
452
|
+
tickArrayUpper,
|
|
453
|
+
tokenAccount0,
|
|
454
|
+
tokenAccount1,
|
|
455
|
+
tokenVault0,
|
|
456
|
+
tokenVault1,
|
|
457
|
+
});
|
|
458
|
+
// Add remaining accounts
|
|
459
|
+
if (remainingAccounts && remainingAccounts.length > 0) {
|
|
460
|
+
instruction.remainingAccounts(remainingAccounts);
|
|
461
|
+
}
|
|
462
|
+
return await instruction.instruction();
|
|
463
|
+
}
|
|
464
|
+
static async _legacy_decreaseLiquidity(programId, nftOwner, nftAccount, personalPosition, poolState, protocolPosition, tokenVaultA, tokenVaultB, tickArrayLower, tickArrayUpper, recipientTokenAccountA, recipientTokenAccountB, liquidity, amountAMin, amountBMin, remainingAccounts) {
|
|
465
|
+
const program = getAmmV3Program(programId);
|
|
466
|
+
const instruction = program.methods.decreaseLiquidity(liquidity, amountAMin, amountBMin).accountsPartial({
|
|
467
|
+
nftOwner,
|
|
468
|
+
nftAccount,
|
|
469
|
+
personalPosition,
|
|
470
|
+
poolState,
|
|
471
|
+
protocolPosition,
|
|
472
|
+
tokenVault0: tokenVaultA,
|
|
473
|
+
tokenVault1: tokenVaultB,
|
|
474
|
+
tickArrayLower,
|
|
475
|
+
tickArrayUpper,
|
|
476
|
+
recipientTokenAccount0: recipientTokenAccountA,
|
|
477
|
+
recipientTokenAccount1: recipientTokenAccountB,
|
|
478
|
+
});
|
|
479
|
+
// Add remaining accounts
|
|
480
|
+
if (remainingAccounts && remainingAccounts.length > 0) {
|
|
481
|
+
instruction.remainingAccounts(remainingAccounts);
|
|
482
|
+
}
|
|
483
|
+
return await instruction.instruction();
|
|
484
|
+
}
|
|
485
|
+
static async _legacy_swap(programId, payer, ammConfig, poolState, inputTokenAccount, outputTokenAccount, inputVault, outputVault, observationState, tickArray, amount, otherAmountThreshold, sqrtPriceLimitX64, isBaseInput, remainingAccounts) {
|
|
486
|
+
const program = getAmmV3Program(programId);
|
|
487
|
+
// First tick array as required account, the rest as remaining accounts
|
|
488
|
+
const [firstTickArray, ...restTickArrays] = tickArray;
|
|
489
|
+
const instruction = program.methods.swap(amount, otherAmountThreshold, sqrtPriceLimitX64, isBaseInput).accounts({
|
|
490
|
+
payer,
|
|
491
|
+
ammConfig,
|
|
492
|
+
poolState,
|
|
493
|
+
inputTokenAccount,
|
|
494
|
+
outputTokenAccount,
|
|
495
|
+
inputVault,
|
|
496
|
+
outputVault,
|
|
497
|
+
observationState,
|
|
498
|
+
tickArray: firstTickArray,
|
|
499
|
+
});
|
|
500
|
+
// Build remaining accounts, including remaining tick arrays and additional accounts
|
|
501
|
+
const allRemainingAccounts = [
|
|
502
|
+
...restTickArrays.map((pubkey) => ({
|
|
503
|
+
pubkey,
|
|
504
|
+
isSigner: false,
|
|
505
|
+
isWritable: true,
|
|
506
|
+
})),
|
|
507
|
+
...(remainingAccounts || []),
|
|
508
|
+
];
|
|
509
|
+
if (allRemainingAccounts.length > 0) {
|
|
510
|
+
instruction.remainingAccounts(allRemainingAccounts);
|
|
511
|
+
}
|
|
512
|
+
return await instruction.instruction();
|
|
513
|
+
}
|
|
514
|
+
// Initialize admin group
|
|
515
|
+
static async initAmmAdminGroupInstruction(programId, params) {
|
|
516
|
+
const program = getAmmV3Program(programId);
|
|
517
|
+
const instruction = program.methods.initAmmAdminGroup({
|
|
518
|
+
feeKeeper: params.feeKeeper,
|
|
519
|
+
rewardConfigManager: params.rewardConfigManager,
|
|
520
|
+
rewardClaimManager: params.rewardClaimManager,
|
|
521
|
+
poolManager: params.poolManager,
|
|
522
|
+
emergencyManager: params.emergencyManager,
|
|
523
|
+
normalManager: params.normalManager,
|
|
524
|
+
});
|
|
525
|
+
return await instruction.instruction();
|
|
526
|
+
}
|
|
527
|
+
// Update admin group
|
|
528
|
+
static async updateAmmAdminGroupInstruction(programId, params) {
|
|
529
|
+
const program = getAmmV3Program(programId);
|
|
530
|
+
const instruction = program.methods.updateAmmAdminGroup({
|
|
531
|
+
feeKeeper: params.feeKeeper ?? null,
|
|
532
|
+
rewardConfigManager: params.rewardConfigManager ?? null,
|
|
533
|
+
rewardClaimManager: params.rewardClaimManager ?? null,
|
|
534
|
+
poolManager: params.poolManager ?? null,
|
|
535
|
+
emergencyManager: params.emergencyManager ?? null,
|
|
536
|
+
normalManager: params.normalManager ?? null,
|
|
537
|
+
});
|
|
538
|
+
return await instruction.instruction();
|
|
539
|
+
}
|
|
540
|
+
// New chain-off reward related instructions
|
|
541
|
+
static async depositOffchainRewardInstruction(programId, poolId, payer, authority, tokenMint, payerTokenAccount, tokenProgram, amount) {
|
|
542
|
+
const program = getAmmV3Program(programId);
|
|
543
|
+
const instruction = program.methods.depositOffchainReward(amount).accountsPartial({
|
|
544
|
+
payer,
|
|
545
|
+
poolId,
|
|
546
|
+
authority,
|
|
547
|
+
tokenMint,
|
|
548
|
+
payerTokenAccount,
|
|
549
|
+
tokenProgram,
|
|
550
|
+
});
|
|
551
|
+
return await instruction.instruction();
|
|
552
|
+
}
|
|
553
|
+
static async claimOffchainRewardInstruction(programId, poolId, claimer, authority, tokenMint, claimerTokenAccount, tokenProgram, amount) {
|
|
554
|
+
const program = getAmmV3Program(programId);
|
|
555
|
+
const instruction = program.methods.claimOffchainReward(amount).accountsPartial({
|
|
556
|
+
claimer,
|
|
557
|
+
authority,
|
|
558
|
+
poolId,
|
|
559
|
+
tokenMint,
|
|
560
|
+
claimerTokenAccount,
|
|
561
|
+
tokenProgram,
|
|
562
|
+
});
|
|
563
|
+
return await instruction.instruction();
|
|
564
|
+
}
|
|
565
|
+
static async withdrawOffchainRewardInstruction(programId, poolId, authority, tokenMint, receiverTokenAccount, tokenProgram, amount) {
|
|
566
|
+
const program = getAmmV3Program(programId);
|
|
567
|
+
const instruction = program.methods.withdrawOffchainReward(amount).accountsPartial({
|
|
568
|
+
authority,
|
|
569
|
+
tokenMint,
|
|
570
|
+
poolId,
|
|
571
|
+
receiverTokenAccount,
|
|
572
|
+
tokenProgram,
|
|
573
|
+
});
|
|
574
|
+
return await instruction.instruction();
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
//# sourceMappingURL=baseInstruction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseInstruction.js","sourceRoot":"","sources":["../../../src/instructions/baseInstruction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import BN from 'bn.js';
|
|
2
|
+
export declare const ZERO: any;
|
|
3
|
+
export declare const ONE: any;
|
|
4
|
+
export declare const NEGATIVE_ONE: any;
|
|
5
|
+
export declare const Q64: any;
|
|
6
|
+
export declare const Q128: any;
|
|
7
|
+
export declare const MaxU64: any;
|
|
8
|
+
export declare const U64Resolution = 64;
|
|
9
|
+
export declare const MaxUint128: any;
|
|
10
|
+
export declare const MIN_TICK = -443636;
|
|
11
|
+
export declare const MAX_TICK: number;
|
|
12
|
+
export declare const MIN_SQRT_PRICE_X64: BN;
|
|
13
|
+
export declare const MAX_SQRT_PRICE_X64: BN;
|
|
14
|
+
export declare const MIN_SQRT_PRICE_X64_ADD_ONE: BN;
|
|
15
|
+
export declare const MAX_SQRT_PRICE_X64_SUB_ONE: BN;
|
|
16
|
+
export declare const BIT_PRECISION = 16;
|
|
17
|
+
export declare const LOG_B_2_X32 = "59543866431248";
|
|
18
|
+
export declare const LOG_B_P_ERR_MARGIN_LOWER_X64 = "184467440737095516";
|
|
19
|
+
export declare const LOG_B_P_ERR_MARGIN_UPPER_X64 = "15793534762490258745";
|
|
20
|
+
export declare const FEE_RATE_DENOMINATOR: any;
|
|
21
|
+
export declare enum Fee {
|
|
22
|
+
rate_500 = 500,// 500 / 10e6 = 0.0005
|
|
23
|
+
rate_3000 = 3000,// 3000/ 10e6 = 0.003
|
|
24
|
+
rate_10000 = 10000
|
|
25
|
+
}
|
|
26
|
+
export declare const TICK_SPACINGS: {
|
|
27
|
+
[amount in Fee]: number;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/instructions/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,eAAO,MAAM,IAAI,KAAY,CAAC;AAC9B,eAAO,MAAM,GAAG,KAAY,CAAC;AAC7B,eAAO,MAAM,YAAY,KAAa,CAAC;AAEvC,eAAO,MAAM,GAAG,KAAqB,CAAC;AACtC,eAAO,MAAM,IAAI,KAAsB,CAAC;AAExC,eAAO,MAAM,MAAM,KAAe,CAAC;AAEnC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,UAAU,KAAe,CAAC;AAEvC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,QAAQ,QAAY,CAAC;AAElC,eAAO,MAAM,kBAAkB,EAAE,EAAyB,CAAC;AAC3D,eAAO,MAAM,kBAAkB,EAAE,EAA4C,CAAC;AAE9E,eAAO,MAAM,0BAA0B,EAAE,EAAyB,CAAC;AACnE,eAAO,MAAM,0BAA0B,EAAE,EAA4C,CAAC;AAEtF,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAC5C,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AAEnE,eAAO,MAAM,oBAAoB,KAA4B,CAAC;AAE9D,oBAAY,GAAG;IACb,QAAQ,MAAM,CAAE,uBAAuB;IACvC,SAAS,OAAO,CAAE,qBAAqB;IACvC,UAAU,QAAQ;CACnB;AACD,eAAO,MAAM,aAAa,EAAE;KAAG,MAAM,IAAI,GAAG,GAAG,MAAM;CAIpD,CAAC"}
|