forgex-cli 1.0.5 → 1.0.6
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/index.js +1 -1
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts +3 -5
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.js +34 -14
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.js.map +1 -1
- package/package.json +1 -1
package/dist/src/index.js
CHANGED
|
@@ -18,7 +18,7 @@ export function createProgram() {
|
|
|
18
18
|
program
|
|
19
19
|
.name('forgex')
|
|
20
20
|
.description('ForgeX CLI - Solana 链上做市系统命令行工具')
|
|
21
|
-
.version('1.0.
|
|
21
|
+
.version('1.0.6')
|
|
22
22
|
.option('--format <format>', '输出格式: json | table | minimal', 'json');
|
|
23
23
|
// 绑定 program 实例到 output 模块,使 --format 全局标志自动生效
|
|
24
24
|
bindProgram(program);
|
|
@@ -7,9 +7,7 @@ import { Connection, Keypair, PublicKey, Transaction } from '@solana/web3.js';
|
|
|
7
7
|
* @param symbol CA符号
|
|
8
8
|
* @param uri CA元数据uri
|
|
9
9
|
* @param buyAmount 购买数量 Float String
|
|
10
|
-
* @param priorityFeeInSol 优先级费用
|
|
11
10
|
* @param slippageDecimal 滑点
|
|
12
|
-
* @param rpcUrl rpc地址
|
|
13
11
|
* @returns
|
|
14
12
|
*/
|
|
15
13
|
export declare const createAndDevBuyInstruction: ({ connection, payer, mint, name, symbol, uri, buyAmount, slippageDecimal, tokenAmount, }: {
|
|
@@ -24,13 +22,13 @@ export declare const createAndDevBuyInstruction: ({ connection, payer, mint, nam
|
|
|
24
22
|
tokenAmount?: string;
|
|
25
23
|
}) => Promise<Transaction>;
|
|
26
24
|
/**
|
|
27
|
-
* 创建SPL代币
|
|
28
|
-
* @param
|
|
25
|
+
* 创建SPL代币 (使用 createV2 + Token-2022)
|
|
26
|
+
* @param connection rpc连接
|
|
29
27
|
* @param payer 支付者
|
|
30
28
|
* @param mint 代币mint地址
|
|
31
29
|
* @param memename 代币名称
|
|
32
30
|
* @param symbol 代币符号
|
|
33
31
|
* @param uri 代币元数据uri
|
|
34
32
|
*/
|
|
35
|
-
export declare const createSPLInstruction: (connection: Connection, payer: PublicKey, mint: Keypair, memename: string, symbol: string, uri: string) => Promise<
|
|
33
|
+
export declare const createSPLInstruction: (connection: Connection, payer: PublicKey, mint: Keypair, memename: string, symbol: string, uri: string) => Promise<any>;
|
|
36
34
|
//# sourceMappingURL=createAndBuy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAndBuy.d.ts","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/createAndBuy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,
|
|
1
|
+
{"version":3,"file":"createAndBuy.d.ts","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/createAndBuy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAuCzB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,GAAU,0FAU9C;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,KAAG,OAAO,CAAC,WAAW,CA6BtB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,UAAU,EACtB,OAAO,SAAS,EAChB,MAAM,OAAO,EACb,UAAU,MAAM,EAChB,QAAQ,MAAM,EACd,KAAK,MAAM,iBA4CZ,CAAC"}
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
import { AnchorProvider, Program } from '@coral-xyz/anchor';
|
|
2
|
-
import { Keypair, PublicKey,
|
|
3
|
-
import { getAssociatedTokenAddress } from '@solana/spl-token';
|
|
2
|
+
import { Keypair, PublicKey, Transaction, } from '@solana/web3.js';
|
|
3
|
+
import { getAssociatedTokenAddress, TOKEN_2022_PROGRAM_ID } from '@solana/spl-token';
|
|
4
4
|
import { buySPLInstructions } from './buy.js';
|
|
5
5
|
import { IDL } from '../../../const/IDL/pump-fun.js';
|
|
6
|
-
import { MPLX_METADATA } from '../../../const/index.js';
|
|
7
6
|
import { getBondingCurvePDA } from '../index.js';
|
|
8
7
|
import BigNumber from 'bignumber.js';
|
|
8
|
+
// Mayhem program constants
|
|
9
|
+
const MAYHEM_PROGRAM_ID = new PublicKey('MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e');
|
|
10
|
+
const ASSOCIATED_TOKEN_PROGRAM = new PublicKey('ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL');
|
|
11
|
+
function getMayhemGlobalParamsPDA() {
|
|
12
|
+
return PublicKey.findProgramAddressSync([Buffer.from('global-params')], MAYHEM_PROGRAM_ID)[0];
|
|
13
|
+
}
|
|
14
|
+
function getMayhemSolVaultPDA() {
|
|
15
|
+
return PublicKey.findProgramAddressSync([Buffer.from('sol-vault')], MAYHEM_PROGRAM_ID)[0];
|
|
16
|
+
}
|
|
17
|
+
function getMayhemStatePDA(mint) {
|
|
18
|
+
return PublicKey.findProgramAddressSync([Buffer.from('mayhem-state'), mint.toBuffer()], MAYHEM_PROGRAM_ID)[0];
|
|
19
|
+
}
|
|
20
|
+
async function getMayhemTokenVaultATA(mint) {
|
|
21
|
+
const mayhemState = getMayhemStatePDA(mint);
|
|
22
|
+
return await getAssociatedTokenAddress(mint, mayhemState, true, TOKEN_2022_PROGRAM_ID);
|
|
23
|
+
}
|
|
9
24
|
/**
|
|
10
25
|
*
|
|
11
26
|
* @param payer 支付者 Keypair
|
|
@@ -14,9 +29,7 @@ import BigNumber from 'bignumber.js';
|
|
|
14
29
|
* @param symbol CA符号
|
|
15
30
|
* @param uri CA元数据uri
|
|
16
31
|
* @param buyAmount 购买数量 Float String
|
|
17
|
-
* @param priorityFeeInSol 优先级费用
|
|
18
32
|
* @param slippageDecimal 滑点
|
|
19
|
-
* @param rpcUrl rpc地址
|
|
20
33
|
* @returns
|
|
21
34
|
*/
|
|
22
35
|
export const createAndDevBuyInstruction = async ({ connection, payer, mint, name, symbol, uri, buyAmount, slippageDecimal, tokenAmount, }) => {
|
|
@@ -31,15 +44,15 @@ export const createAndDevBuyInstruction = async ({ connection, payer, mint, name
|
|
|
31
44
|
});
|
|
32
45
|
const caPrice = '0.000000028';
|
|
33
46
|
const createTx = await createSPLInstruction(connection, payer, mint, name, symbol, uri);
|
|
34
|
-
const buyTx = await buySPLInstructions(provider, payer, mint.publicKey.toBase58(), new BigNumber(buyAmount).times(
|
|
47
|
+
const buyTx = await buySPLInstructions(provider, payer, mint.publicKey.toBase58(), new BigNumber(buyAmount).times(1e9).toFixed(0), slippageDecimal, caPrice, payer, tokenAmount);
|
|
35
48
|
const transaction = new Transaction();
|
|
36
49
|
transaction.add(createTx);
|
|
37
50
|
transaction.add(buyTx[1]);
|
|
38
51
|
return transaction;
|
|
39
52
|
};
|
|
40
53
|
/**
|
|
41
|
-
* 创建SPL代币
|
|
42
|
-
* @param
|
|
54
|
+
* 创建SPL代币 (使用 createV2 + Token-2022)
|
|
55
|
+
* @param connection rpc连接
|
|
43
56
|
* @param payer 支付者
|
|
44
57
|
* @param mint 代币mint地址
|
|
45
58
|
* @param memename 代币名称
|
|
@@ -56,20 +69,27 @@ export const createSPLInstruction = async (connection, payer, mint, memename, sy
|
|
|
56
69
|
throw new Error('不支持签名');
|
|
57
70
|
},
|
|
58
71
|
});
|
|
59
|
-
const mplTokenMetadata = MPLX_METADATA;
|
|
60
|
-
const METADATA_SEED = 'metadata';
|
|
61
|
-
const [metadataPDA] = PublicKey.findProgramAddressSync([Buffer.from(METADATA_SEED), mplTokenMetadata.toBuffer(), mint.publicKey.toBuffer()], mplTokenMetadata);
|
|
62
72
|
let program = new Program(IDL, provider);
|
|
63
73
|
const bonding_curve_pda = getBondingCurvePDA(mint.publicKey);
|
|
64
|
-
const associatedBondingCurve = await getAssociatedTokenAddress(mint.publicKey, bonding_curve_pda, true);
|
|
74
|
+
const associatedBondingCurve = await getAssociatedTokenAddress(mint.publicKey, bonding_curve_pda, true, TOKEN_2022_PROGRAM_ID);
|
|
75
|
+
const globalParams = getMayhemGlobalParamsPDA();
|
|
76
|
+
const solVault = getMayhemSolVaultPDA();
|
|
77
|
+
const mayhemState = getMayhemStatePDA(mint.publicKey);
|
|
78
|
+
const mayhemTokenVault = await getMayhemTokenVaultATA(mint.publicKey);
|
|
65
79
|
return await program.methods
|
|
66
|
-
.
|
|
80
|
+
.createV2(memename, symbol, uri, payer, false)
|
|
67
81
|
.accounts({
|
|
68
82
|
mint: mint.publicKey,
|
|
69
83
|
// @ts-ignore
|
|
70
84
|
associatedBondingCurve: associatedBondingCurve,
|
|
71
|
-
metadata: metadataPDA,
|
|
72
85
|
user: payer,
|
|
86
|
+
tokenProgram: TOKEN_2022_PROGRAM_ID,
|
|
87
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM,
|
|
88
|
+
mayhemProgramId: MAYHEM_PROGRAM_ID,
|
|
89
|
+
globalParams: globalParams,
|
|
90
|
+
solVault: solVault,
|
|
91
|
+
mayhemState: mayhemState,
|
|
92
|
+
mayhemTokenVault: mayhemTokenVault,
|
|
73
93
|
})
|
|
74
94
|
.signers([mint])
|
|
75
95
|
.instruction();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAndBuy.js","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/createAndBuy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAEL,OAAO,EACP,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"createAndBuy.js","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/createAndBuy.ts"],"names":[],"mappings":"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"}
|