forgex-cli 1.0.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/README.md +479 -0
- package/dist/bin/forgex.d.ts +12 -0
- package/dist/bin/forgex.d.ts.map +1 -0
- package/dist/bin/forgex.js +23 -0
- package/dist/bin/forgex.js.map +1 -0
- package/dist/src/adapters/codex-adapter.d.ts +238 -0
- package/dist/src/adapters/codex-adapter.d.ts.map +1 -0
- package/dist/src/adapters/codex-adapter.js +524 -0
- package/dist/src/adapters/codex-adapter.js.map +1 -0
- package/dist/src/adapters/connection.d.ts +20 -0
- package/dist/src/adapters/connection.d.ts.map +1 -0
- package/dist/src/adapters/connection.js +43 -0
- package/dist/src/adapters/connection.js.map +1 -0
- package/dist/src/adapters/ipfs.d.ts +17 -0
- package/dist/src/adapters/ipfs.d.ts.map +1 -0
- package/dist/src/adapters/ipfs.js +30 -0
- package/dist/src/adapters/ipfs.js.map +1 -0
- package/dist/src/adapters/jito-adapter.d.ts +194 -0
- package/dist/src/adapters/jito-adapter.d.ts.map +1 -0
- package/dist/src/adapters/jito-adapter.js +474 -0
- package/dist/src/adapters/jito-adapter.js.map +1 -0
- package/dist/src/adapters/rpc-adapter.d.ts +148 -0
- package/dist/src/adapters/rpc-adapter.d.ts.map +1 -0
- package/dist/src/adapters/rpc-adapter.js +410 -0
- package/dist/src/adapters/rpc-adapter.js.map +1 -0
- package/dist/src/adapters/sdk-adapter.d.ts +148 -0
- package/dist/src/adapters/sdk-adapter.d.ts.map +1 -0
- package/dist/src/adapters/sdk-adapter.js +554 -0
- package/dist/src/adapters/sdk-adapter.js.map +1 -0
- package/dist/src/commands/config/index.d.ts +8 -0
- package/dist/src/commands/config/index.d.ts.map +1 -0
- package/dist/src/commands/config/index.js +91 -0
- package/dist/src/commands/config/index.js.map +1 -0
- package/dist/src/commands/query/index.d.ts +10 -0
- package/dist/src/commands/query/index.d.ts.map +1 -0
- package/dist/src/commands/query/index.js +376 -0
- package/dist/src/commands/query/index.js.map +1 -0
- package/dist/src/commands/sniper/index.d.ts +16 -0
- package/dist/src/commands/sniper/index.d.ts.map +1 -0
- package/dist/src/commands/sniper/index.js +292 -0
- package/dist/src/commands/sniper/index.js.map +1 -0
- package/dist/src/commands/token/index.d.ts +16 -0
- package/dist/src/commands/token/index.d.ts.map +1 -0
- package/dist/src/commands/token/index.js +295 -0
- package/dist/src/commands/token/index.js.map +1 -0
- package/dist/src/commands/tools/index.d.ts +17 -0
- package/dist/src/commands/tools/index.d.ts.map +1 -0
- package/dist/src/commands/tools/index.js +626 -0
- package/dist/src/commands/tools/index.js.map +1 -0
- package/dist/src/commands/trade/index.d.ts +8 -0
- package/dist/src/commands/trade/index.d.ts.map +1 -0
- package/dist/src/commands/trade/index.js +531 -0
- package/dist/src/commands/trade/index.js.map +1 -0
- package/dist/src/commands/transfer/index.d.ts +16 -0
- package/dist/src/commands/transfer/index.d.ts.map +1 -0
- package/dist/src/commands/transfer/index.js +509 -0
- package/dist/src/commands/transfer/index.js.map +1 -0
- package/dist/src/commands/wallet/index.d.ts +10 -0
- package/dist/src/commands/wallet/index.d.ts.map +1 -0
- package/dist/src/commands/wallet/index.js +828 -0
- package/dist/src/commands/wallet/index.js.map +1 -0
- package/dist/src/config.d.ts +74 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +190 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/const/IDL/index.d.ts +4 -0
- package/dist/src/const/IDL/index.d.ts.map +1 -0
- package/dist/src/const/IDL/index.js +2 -0
- package/dist/src/const/IDL/index.js.map +1 -0
- package/dist/src/const/IDL/meteora-DLMM.d.ts +10249 -0
- package/dist/src/const/IDL/meteora-DLMM.d.ts.map +1 -0
- package/dist/src/const/IDL/meteora-DLMM.js +4177 -0
- package/dist/src/const/IDL/meteora-DLMM.js.map +1 -0
- package/dist/src/const/IDL/pump-fun.d.ts +4811 -0
- package/dist/src/const/IDL/pump-fun.d.ts.map +1 -0
- package/dist/src/const/IDL/pump-fun.js +2954 -0
- package/dist/src/const/IDL/pump-fun.js.map +1 -0
- package/dist/src/const/IDL/pump-swap-IDL.d.ts +3119 -0
- package/dist/src/const/IDL/pump-swap-IDL.d.ts.map +1 -0
- package/dist/src/const/IDL/pump-swap-IDL.js +2095 -0
- package/dist/src/const/IDL/pump-swap-IDL.js.map +1 -0
- package/dist/src/const/IDL/raydium-launchlab-IDL.d.ts +4031 -0
- package/dist/src/const/IDL/raydium-launchlab-IDL.d.ts.map +1 -0
- package/dist/src/const/IDL/raydium-launchlab-IDL.js +2110 -0
- package/dist/src/const/IDL/raydium-launchlab-IDL.js.map +1 -0
- package/dist/src/const/index.d.ts +40 -0
- package/dist/src/const/index.d.ts.map +1 -0
- package/dist/src/const/index.js +57 -0
- package/dist/src/const/index.js.map +1 -0
- package/dist/src/data-source.d.ts +270 -0
- package/dist/src/data-source.d.ts.map +1 -0
- package/dist/src/data-source.js +628 -0
- package/dist/src/data-source.js.map +1 -0
- package/dist/src/data-store/index.d.ts +87 -0
- package/dist/src/data-store/index.d.ts.map +1 -0
- package/dist/src/data-store/index.js +561 -0
- package/dist/src/data-store/index.js.map +1 -0
- package/dist/src/data-store/types.d.ts +91 -0
- package/dist/src/data-store/types.d.ts.map +1 -0
- package/dist/src/data-store/types.js +8 -0
- package/dist/src/data-store/types.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +36 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/output.d.ts +52 -0
- package/dist/src/output.d.ts.map +1 -0
- package/dist/src/output.js +218 -0
- package/dist/src/output.js.map +1 -0
- package/dist/src/shims/store.d.ts +58 -0
- package/dist/src/shims/store.d.ts.map +1 -0
- package/dist/src/shims/store.js +55 -0
- package/dist/src/shims/store.js.map +1 -0
- package/dist/src/sol-sdk/account/index.d.ts +13 -0
- package/dist/src/sol-sdk/account/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/account/index.js +174 -0
- package/dist/src/sol-sdk/account/index.js.map +1 -0
- package/dist/src/sol-sdk/account/lookupTable.d.ts +24 -0
- package/dist/src/sol-sdk/account/lookupTable.d.ts.map +1 -0
- package/dist/src/sol-sdk/account/lookupTable.js +103 -0
- package/dist/src/sol-sdk/account/lookupTable.js.map +1 -0
- package/dist/src/sol-sdk/batch/create.d.ts +23 -0
- package/dist/src/sol-sdk/batch/create.d.ts.map +1 -0
- package/dist/src/sol-sdk/batch/create.js +580 -0
- package/dist/src/sol-sdk/batch/create.js.map +1 -0
- package/dist/src/sol-sdk/batch/external-sniper.d.ts +31 -0
- package/dist/src/sol-sdk/batch/external-sniper.d.ts.map +1 -0
- package/dist/src/sol-sdk/batch/external-sniper.js +163 -0
- package/dist/src/sol-sdk/batch/external-sniper.js.map +1 -0
- package/dist/src/sol-sdk/batch/index.d.ts +144 -0
- package/dist/src/sol-sdk/batch/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/batch/index.js +1573 -0
- package/dist/src/sol-sdk/batch/index.js.map +1 -0
- package/dist/src/sol-sdk/calc.d.ts +277 -0
- package/dist/src/sol-sdk/calc.d.ts.map +1 -0
- package/dist/src/sol-sdk/calc.js +590 -0
- package/dist/src/sol-sdk/calc.js.map +1 -0
- package/dist/src/sol-sdk/index.d.ts +1 -0
- package/dist/src/sol-sdk/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/index.js +1 -0
- package/dist/src/sol-sdk/index.js.map +1 -0
- package/dist/src/sol-sdk/jito/index.d.ts +50 -0
- package/dist/src/sol-sdk/jito/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/jito/index.js +225 -0
- package/dist/src/sol-sdk/jito/index.js.map +1 -0
- package/dist/src/sol-sdk/launchlab/index.d.ts +32 -0
- package/dist/src/sol-sdk/launchlab/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/launchlab/index.js +78 -0
- package/dist/src/sol-sdk/launchlab/index.js.map +1 -0
- package/dist/src/sol-sdk/launchlab/instructions/buy.d.ts +27 -0
- package/dist/src/sol-sdk/launchlab/instructions/buy.d.ts.map +1 -0
- package/dist/src/sol-sdk/launchlab/instructions/buy.js +124 -0
- package/dist/src/sol-sdk/launchlab/instructions/buy.js.map +1 -0
- package/dist/src/sol-sdk/launchlab/instructions/create.d.ts +27 -0
- package/dist/src/sol-sdk/launchlab/instructions/create.d.ts.map +1 -0
- package/dist/src/sol-sdk/launchlab/instructions/create.js +125 -0
- package/dist/src/sol-sdk/launchlab/instructions/create.js.map +1 -0
- package/dist/src/sol-sdk/launchlab/instructions/sell.d.ts +15 -0
- package/dist/src/sol-sdk/launchlab/instructions/sell.d.ts.map +1 -0
- package/dist/src/sol-sdk/launchlab/instructions/sell.js +65 -0
- package/dist/src/sol-sdk/launchlab/instructions/sell.js.map +1 -0
- package/dist/src/sol-sdk/meteora/index.d.ts +32 -0
- package/dist/src/sol-sdk/meteora/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/meteora/index.js +72 -0
- package/dist/src/sol-sdk/meteora/index.js.map +1 -0
- package/dist/src/sol-sdk/meteora/instructions/buy.d.ts +46 -0
- package/dist/src/sol-sdk/meteora/instructions/buy.d.ts.map +1 -0
- package/dist/src/sol-sdk/meteora/instructions/buy.js +153 -0
- package/dist/src/sol-sdk/meteora/instructions/buy.js.map +1 -0
- package/dist/src/sol-sdk/meteora/instructions/sell.d.ts +24 -0
- package/dist/src/sol-sdk/meteora/instructions/sell.d.ts.map +1 -0
- package/dist/src/sol-sdk/meteora/instructions/sell.js +98 -0
- package/dist/src/sol-sdk/meteora/instructions/sell.js.map +1 -0
- package/dist/src/sol-sdk/pump/index.d.ts +22 -0
- package/dist/src/sol-sdk/pump/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/pump/index.js +101 -0
- package/dist/src/sol-sdk/pump/index.js.map +1 -0
- package/dist/src/sol-sdk/pump/instructions/buy.d.ts +29 -0
- package/dist/src/sol-sdk/pump/instructions/buy.d.ts.map +1 -0
- package/dist/src/sol-sdk/pump/instructions/buy.js +131 -0
- package/dist/src/sol-sdk/pump/instructions/buy.js.map +1 -0
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts +36 -0
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts.map +1 -0
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.js +77 -0
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.js.map +1 -0
- package/dist/src/sol-sdk/pump/instructions/sell.d.ts +7 -0
- package/dist/src/sol-sdk/pump/instructions/sell.d.ts.map +1 -0
- package/dist/src/sol-sdk/pump/instructions/sell.js +38 -0
- package/dist/src/sol-sdk/pump/instructions/sell.js.map +1 -0
- package/dist/src/sol-sdk/pumpswap/index.d.ts +9 -0
- package/dist/src/sol-sdk/pumpswap/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/pumpswap/index.js +27 -0
- package/dist/src/sol-sdk/pumpswap/index.js.map +1 -0
- package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts +61 -0
- package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts.map +1 -0
- package/dist/src/sol-sdk/pumpswap/instructions/buy.js +215 -0
- package/dist/src/sol-sdk/pumpswap/instructions/buy.js.map +1 -0
- package/dist/src/sol-sdk/pumpswap/instructions/migrate.d.ts +3 -0
- package/dist/src/sol-sdk/pumpswap/instructions/migrate.d.ts.map +1 -0
- package/dist/src/sol-sdk/pumpswap/instructions/migrate.js +33 -0
- package/dist/src/sol-sdk/pumpswap/instructions/migrate.js.map +1 -0
- package/dist/src/sol-sdk/pumpswap/instructions/sell.d.ts +20 -0
- package/dist/src/sol-sdk/pumpswap/instructions/sell.d.ts.map +1 -0
- package/dist/src/sol-sdk/pumpswap/instructions/sell.js +107 -0
- package/dist/src/sol-sdk/pumpswap/instructions/sell.js.map +1 -0
- package/dist/src/sol-sdk/pumpswap/rpc/index.d.ts +28 -0
- package/dist/src/sol-sdk/pumpswap/rpc/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/pumpswap/rpc/index.js +63 -0
- package/dist/src/sol-sdk/pumpswap/rpc/index.js.map +1 -0
- package/dist/src/sol-sdk/raydium/index.d.ts +16 -0
- package/dist/src/sol-sdk/raydium/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/raydium/index.js +47 -0
- package/dist/src/sol-sdk/raydium/index.js.map +1 -0
- package/dist/src/sol-sdk/raydium/instructions/buy.d.ts +29 -0
- package/dist/src/sol-sdk/raydium/instructions/buy.d.ts.map +1 -0
- package/dist/src/sol-sdk/raydium/instructions/buy.js +106 -0
- package/dist/src/sol-sdk/raydium/instructions/buy.js.map +1 -0
- package/dist/src/sol-sdk/raydium/instructions/cpmmBuy.d.ts +29 -0
- package/dist/src/sol-sdk/raydium/instructions/cpmmBuy.d.ts.map +1 -0
- package/dist/src/sol-sdk/raydium/instructions/cpmmBuy.js +80 -0
- package/dist/src/sol-sdk/raydium/instructions/cpmmBuy.js.map +1 -0
- package/dist/src/sol-sdk/raydium/instructions/cpmmSell.d.ts +17 -0
- package/dist/src/sol-sdk/raydium/instructions/cpmmSell.d.ts.map +1 -0
- package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js +56 -0
- package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js.map +1 -0
- package/dist/src/sol-sdk/raydium/instructions/sell.d.ts +8558 -0
- package/dist/src/sol-sdk/raydium/instructions/sell.d.ts.map +1 -0
- package/dist/src/sol-sdk/raydium/instructions/sell.js +70 -0
- package/dist/src/sol-sdk/raydium/instructions/sell.js.map +1 -0
- package/dist/src/sol-sdk/raydium/rpc/index.d.ts +39 -0
- package/dist/src/sol-sdk/raydium/rpc/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/raydium/rpc/index.js +82 -0
- package/dist/src/sol-sdk/raydium/rpc/index.js.map +1 -0
- package/dist/src/sol-sdk/raydium/rpc/raydium.d.ts +5 -0
- package/dist/src/sol-sdk/raydium/rpc/raydium.d.ts.map +1 -0
- package/dist/src/sol-sdk/raydium/rpc/raydium.js +18 -0
- package/dist/src/sol-sdk/raydium/rpc/raydium.js.map +1 -0
- package/dist/src/sol-sdk/rpc/index.d.ts +33 -0
- package/dist/src/sol-sdk/rpc/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/rpc/index.js +128 -0
- package/dist/src/sol-sdk/rpc/index.js.map +1 -0
- package/dist/src/sol-sdk/transfer/index.d.ts +24 -0
- package/dist/src/sol-sdk/transfer/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/transfer/index.js +65 -0
- package/dist/src/sol-sdk/transfer/index.js.map +1 -0
- package/dist/src/sol-sdk/turnover/index.d.ts +84 -0
- package/dist/src/sol-sdk/turnover/index.d.ts.map +1 -0
- package/dist/src/sol-sdk/turnover/index.js +569 -0
- package/dist/src/sol-sdk/turnover/index.js.map +1 -0
- package/dist/src/tx-tracker/detail-adapter.d.ts +100 -0
- package/dist/src/tx-tracker/detail-adapter.d.ts.map +1 -0
- package/dist/src/tx-tracker/detail-adapter.js +215 -0
- package/dist/src/tx-tracker/detail-adapter.js.map +1 -0
- package/dist/src/tx-tracker/index.d.ts +142 -0
- package/dist/src/tx-tracker/index.d.ts.map +1 -0
- package/dist/src/tx-tracker/index.js +447 -0
- package/dist/src/tx-tracker/index.js.map +1 -0
- package/dist/src/types/index.d.ts +76 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +69 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/websocket.d.ts +15 -0
- package/dist/src/types/websocket.d.ts.map +1 -0
- package/dist/src/types/websocket.js +18 -0
- package/dist/src/types/websocket.js.map +1 -0
- package/dist/src/utils/index.d.ts +13 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +174 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/wallet-store.d.ts +124 -0
- package/dist/src/wallet-store.d.ts.map +1 -0
- package/dist/src/wallet-store.js +524 -0
- package/dist/src/wallet-store.js.map +1 -0
- package/package.json +86 -0
- package/scripts/postinstall.js +88 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sol-sdk/batch/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import BN from 'bn.js';
|
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
|
3
|
+
export default class AmmCalc {
|
|
4
|
+
private baseReserve;
|
|
5
|
+
private quoteReserve;
|
|
6
|
+
private readonly baseDecimals;
|
|
7
|
+
private readonly quoteDecimals;
|
|
8
|
+
constructor(props: {
|
|
9
|
+
baseReserve: string;
|
|
10
|
+
quoteReserve: string;
|
|
11
|
+
baseDecimals: number;
|
|
12
|
+
quoteDecimals: number;
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* 获取当前储备情况
|
|
16
|
+
*/
|
|
17
|
+
getReserves(): {
|
|
18
|
+
base: string;
|
|
19
|
+
quote: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* 根据 CPMM 恒定乘积公式计算输出数量
|
|
23
|
+
* @param amountIn 输入数量(bigint)
|
|
24
|
+
* @param reserveIn 输入方向储备
|
|
25
|
+
* @param reserveOut 输出方向储备
|
|
26
|
+
*/
|
|
27
|
+
private calculateAmountOut;
|
|
28
|
+
/**
|
|
29
|
+
* 执行交换操作
|
|
30
|
+
* @param amountIn 输入数量(字符串)
|
|
31
|
+
* @param isBaseToQuote true = base->quote,false = quote->base
|
|
32
|
+
*/
|
|
33
|
+
swap(amountIn: string, isBaseToQuote: boolean): string;
|
|
34
|
+
}
|
|
35
|
+
export declare class PumpAmmCalc {
|
|
36
|
+
tokenDecimals: number;
|
|
37
|
+
tokenTotalSupply: BN;
|
|
38
|
+
initialVirtualSolReserves: BN;
|
|
39
|
+
initialRealSolReserves: BN;
|
|
40
|
+
initialVirtualTokenReserves: BN;
|
|
41
|
+
initialRealTokenReserves: BN;
|
|
42
|
+
constructor(props: {
|
|
43
|
+
tokenTotalSupply?: BN;
|
|
44
|
+
initialRealSolReserves?: BN;
|
|
45
|
+
initialVirtualTokenReserves?: BN;
|
|
46
|
+
initialRealTokenReserves?: BN;
|
|
47
|
+
initialVirtualSolReserves?: BN;
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* 获取当前储备情况
|
|
51
|
+
*/
|
|
52
|
+
getReserves(): {
|
|
53
|
+
virtualSolReserves: BN;
|
|
54
|
+
virtualTokenReserves: BN;
|
|
55
|
+
realTokenReserves: BN;
|
|
56
|
+
realSolReserves: BN;
|
|
57
|
+
tokenTotalSupply: BN;
|
|
58
|
+
};
|
|
59
|
+
getPrice(): BN;
|
|
60
|
+
calculateBuyAmountOut(amount: string): BN;
|
|
61
|
+
/**
|
|
62
|
+
* 计算购买固定数量token需要的SOL数量
|
|
63
|
+
* @param tokenAmount 想要购买的token数量(最小单位字符串)
|
|
64
|
+
* @returns 需要的SOL数量(lamports)
|
|
65
|
+
*/
|
|
66
|
+
calculateBuyExactAmountOut(tokenAmount: string): BN;
|
|
67
|
+
calculateSellAmountOut(amount: string): string;
|
|
68
|
+
}
|
|
69
|
+
export declare class LaunchlabAmmCalc {
|
|
70
|
+
baseDecimals: number;
|
|
71
|
+
quoteDecimals: number;
|
|
72
|
+
migrateType: number;
|
|
73
|
+
supply: BN;
|
|
74
|
+
totalBaseSell: BN;
|
|
75
|
+
virtualBase: BN;
|
|
76
|
+
virtualQuote: BN;
|
|
77
|
+
realBase: BN;
|
|
78
|
+
realQuote: BN;
|
|
79
|
+
totalQuoteFundRaising: BN;
|
|
80
|
+
constructor(props: {
|
|
81
|
+
baseDecimals?: number;
|
|
82
|
+
quoteDecimals?: number;
|
|
83
|
+
migrateType?: number;
|
|
84
|
+
supply?: BN;
|
|
85
|
+
totalBaseSell?: BN;
|
|
86
|
+
virtualBase?: BN;
|
|
87
|
+
virtualQuote?: BN;
|
|
88
|
+
realBase?: BN;
|
|
89
|
+
realQuote?: BN;
|
|
90
|
+
totalQuoteFundRaising?: BN;
|
|
91
|
+
});
|
|
92
|
+
/**
|
|
93
|
+
* 获取当前储备情况
|
|
94
|
+
*/
|
|
95
|
+
getReserves(): {
|
|
96
|
+
baseDecimals: number;
|
|
97
|
+
quoteDecimals: number;
|
|
98
|
+
migrateType: number;
|
|
99
|
+
supply: BN;
|
|
100
|
+
totalBaseSell: BN;
|
|
101
|
+
virtualBase: BN;
|
|
102
|
+
virtualQuote: BN;
|
|
103
|
+
realBase: BN;
|
|
104
|
+
realQuote: BN;
|
|
105
|
+
totalQuoteFundRaising: BN;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* 获取当前价格 (SOL/Token)
|
|
109
|
+
*/
|
|
110
|
+
getPrice(): BN;
|
|
111
|
+
/**
|
|
112
|
+
* 计算买入代币数量
|
|
113
|
+
* @param solAmount SOL数量(lamports字符串)
|
|
114
|
+
* @returns 能买到的代币数量(最小单位)
|
|
115
|
+
*/
|
|
116
|
+
calculateBuyAmountOut(solAmount: string): BN;
|
|
117
|
+
/**
|
|
118
|
+
* 计算卖出获得的SOL数量
|
|
119
|
+
* @param tokenAmount 代币数量(最小单位字符串)
|
|
120
|
+
* @returns 能获得的SOL数量(lamports)
|
|
121
|
+
*/
|
|
122
|
+
calculateSellAmountOut(tokenAmount: string): string;
|
|
123
|
+
/**
|
|
124
|
+
* 检查是否达到迁移条件
|
|
125
|
+
*/
|
|
126
|
+
canMigrate(): boolean;
|
|
127
|
+
/**
|
|
128
|
+
* 获取资金筹集进度 (0-100)
|
|
129
|
+
*/
|
|
130
|
+
getFundingProgress(): number;
|
|
131
|
+
/**
|
|
132
|
+
* 获取剩余可售代币数量
|
|
133
|
+
*/
|
|
134
|
+
getRemainingTokensForSale(): BN;
|
|
135
|
+
/**
|
|
136
|
+
* 获取市值(基于当前价格)
|
|
137
|
+
*/
|
|
138
|
+
getMarketCap(): BN;
|
|
139
|
+
}
|
|
140
|
+
export declare class MeteoraDLMMCalc {
|
|
141
|
+
/**
|
|
142
|
+
* DLMM核心参数
|
|
143
|
+
*/
|
|
144
|
+
readonly reserveX: string;
|
|
145
|
+
readonly reserveY: string;
|
|
146
|
+
readonly mintA: string;
|
|
147
|
+
readonly mintB: string;
|
|
148
|
+
readonly oracle: string;
|
|
149
|
+
readonly binStep: number;
|
|
150
|
+
readonly binArrayBitmap: string[];
|
|
151
|
+
readonly activeId: number;
|
|
152
|
+
readonly vParameters: {
|
|
153
|
+
index_reference: number;
|
|
154
|
+
last_update_timestamp: string;
|
|
155
|
+
volatility_accumulator: number;
|
|
156
|
+
volatility_reference: number;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* DLMM所有bin的流动性与价格(需外部组装好,按binId升序排列)
|
|
160
|
+
*/
|
|
161
|
+
allBins: Array<{
|
|
162
|
+
account: {
|
|
163
|
+
index: number;
|
|
164
|
+
bins: {
|
|
165
|
+
amountX: BN;
|
|
166
|
+
amountY: BN;
|
|
167
|
+
price: BN;
|
|
168
|
+
liquiditySupply: BN;
|
|
169
|
+
binArrayPubkey: string;
|
|
170
|
+
}[];
|
|
171
|
+
};
|
|
172
|
+
publicKey: PublicKey;
|
|
173
|
+
}>;
|
|
174
|
+
static BASIS_POINT_MAX: number;
|
|
175
|
+
static MAX_FEE_RATE: number;
|
|
176
|
+
static FEE_PRECISION: number;
|
|
177
|
+
static OFFSET: number;
|
|
178
|
+
static SCALE: number;
|
|
179
|
+
baseDecimals: number;
|
|
180
|
+
quoteDecimals: number;
|
|
181
|
+
/**
|
|
182
|
+
* 构造函数支持传入allBins
|
|
183
|
+
*/
|
|
184
|
+
constructor(info: MeteoraDLMMReverseInfo & {
|
|
185
|
+
allBins?: Array<{
|
|
186
|
+
account: {
|
|
187
|
+
index: number;
|
|
188
|
+
bins: {
|
|
189
|
+
amountX: BN;
|
|
190
|
+
amountY: BN;
|
|
191
|
+
price: BN;
|
|
192
|
+
liquiditySupply: BN;
|
|
193
|
+
binArrayPubkey: string;
|
|
194
|
+
}[];
|
|
195
|
+
};
|
|
196
|
+
publicKey: PublicKey;
|
|
197
|
+
}>;
|
|
198
|
+
baseDecimals?: number;
|
|
199
|
+
quoteDecimals?: number;
|
|
200
|
+
binArrayBitmap?: string[];
|
|
201
|
+
});
|
|
202
|
+
/**
|
|
203
|
+
* 获取DLMM当前价格
|
|
204
|
+
* price = (1 + bin_step/BASIS_POINT_MAX) ^ active_id
|
|
205
|
+
* @returns number
|
|
206
|
+
*/
|
|
207
|
+
getPrice(): number;
|
|
208
|
+
/**
|
|
209
|
+
* 计算基础手续费率 base_fee_rate
|
|
210
|
+
* base_fee_rate = base_factor * bin_step * 10 * 10^base_fee_power_factor
|
|
211
|
+
* @param baseFactor number
|
|
212
|
+
* @param baseFeePowerFactor number
|
|
213
|
+
*/
|
|
214
|
+
getBaseFeeRate(baseFactor: number, baseFeePowerFactor: number): number;
|
|
215
|
+
/**
|
|
216
|
+
* 计算浮动手续费率 variable_fee_rate
|
|
217
|
+
* variable_fee_rate = ((volatility_accumulator * bin_step)^2 * variable_fee_control + OFFSET) / SCALE
|
|
218
|
+
* @param variableFeeControl number
|
|
219
|
+
*/
|
|
220
|
+
getVariableFeeRate(variableFeeControl: number): number;
|
|
221
|
+
/**
|
|
222
|
+
* 计算总手续费率 total_fee_rate
|
|
223
|
+
* total_fee_rate = min(base_fee_rate + variable_fee_rate, MAX_FEE_RATE)
|
|
224
|
+
* @param baseFactor number
|
|
225
|
+
* @param baseFeePowerFactor number
|
|
226
|
+
* @param variableFeeControl number
|
|
227
|
+
*/
|
|
228
|
+
getTotalFeeRate(baseFactor: number, baseFeePowerFactor: number, variableFeeControl: number): number;
|
|
229
|
+
/**
|
|
230
|
+
* 计算复合手续费 composition_fee
|
|
231
|
+
* composition_fee = swap_amount * total_fee_rate * (1 + total_fee_rate) / FEE_PRECISION^2
|
|
232
|
+
* @param swapAmount number
|
|
233
|
+
* @param totalFeeRate number
|
|
234
|
+
*/
|
|
235
|
+
getCompositionFee(swapAmount: number, totalFeeRate: number): number;
|
|
236
|
+
/**
|
|
237
|
+
* 计算价格冲击/滑点
|
|
238
|
+
* @param spotPrice number 当前价格
|
|
239
|
+
* @param maxPriceImpactBps number 最大价格冲击bps
|
|
240
|
+
* @param direction 'sellX' | 'sellY' 卖X还是卖Y
|
|
241
|
+
* @returns minPrice
|
|
242
|
+
*/
|
|
243
|
+
getMinPrice(spotPrice: number, maxPriceImpactBps: number, direction: 'sellX' | 'sellY'): number;
|
|
244
|
+
/**
|
|
245
|
+
* 辅助函数:跳跃查找下一个有流动性的bin索引(买入方向)
|
|
246
|
+
* @param flatBins 扁平化bin数组
|
|
247
|
+
* @param startIdx 起始索引
|
|
248
|
+
* @returns 下一个有amountY流动性的bin索引,找不到则返回-1
|
|
249
|
+
*/
|
|
250
|
+
private findNextBinIndexWithLiquidityY;
|
|
251
|
+
/**
|
|
252
|
+
* 辅助函数:跳跃查找下一个有流动性的bin索引(卖出方向)
|
|
253
|
+
* @param flatBins 扁平化bin数组
|
|
254
|
+
* @param startIdx 起始索引
|
|
255
|
+
* @returns 下一个有amountX流动性的bin索引,找不到则返回-1
|
|
256
|
+
*/
|
|
257
|
+
private findNextBinIndexWithLiquidityX;
|
|
258
|
+
binIdToBinArrayIndex(binId: BN): BN;
|
|
259
|
+
internalBitmapRange(): BN[];
|
|
260
|
+
/**
|
|
261
|
+
* 真实DLMM买入:遍历activeId及右侧bins,消耗quoteIn,返回能买到的base数量和涉及的binArray pubkey
|
|
262
|
+
* 优化:跳跃查找有流动性的bin,提升性能
|
|
263
|
+
*/
|
|
264
|
+
calculateBuyAmountOut(quoteIn: BN): {
|
|
265
|
+
amount: BN;
|
|
266
|
+
binArraysPubkey: string[];
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* 真实DLMM卖出:遍历activeId及左侧bins,消耗baseIn,返回能换到的quote数量和涉及的binArray pubkey
|
|
270
|
+
* 优化:跳跃查找有流动性的bin,提升性能
|
|
271
|
+
*/
|
|
272
|
+
calculateSellAmountOut(baseIn: BN): {
|
|
273
|
+
amount: BN;
|
|
274
|
+
binArraysPubkey: string[];
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=calc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calc.d.ts","sourceRoot":"","sources":["../../../src/sol-sdk/calc.ts"],"names":[],"mappings":"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"}
|