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,50 @@
|
|
|
1
|
+
import { Connection, PublicKey } from '@solana/web3.js';
|
|
2
|
+
/**
|
|
3
|
+
* @typedef {Object} JsonRpcRequest
|
|
4
|
+
* @property {string} jsonrpc
|
|
5
|
+
* @property {number} id
|
|
6
|
+
* @property {string} method
|
|
7
|
+
* @property {any[]} params
|
|
8
|
+
*/
|
|
9
|
+
interface JsonRpcResponse {
|
|
10
|
+
jsonrpc: string;
|
|
11
|
+
id: number;
|
|
12
|
+
result?: any;
|
|
13
|
+
error?: {
|
|
14
|
+
code: number;
|
|
15
|
+
message: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare const endpoints: string[];
|
|
19
|
+
export declare enum BundleStatus {
|
|
20
|
+
SENT = "sent",
|
|
21
|
+
CONFIRMED = "confirmed",
|
|
22
|
+
TIMEOUT = "timeout",
|
|
23
|
+
PROCESSED = "processed",
|
|
24
|
+
FINALIZED = "finalized",
|
|
25
|
+
FAILED = "failed"
|
|
26
|
+
}
|
|
27
|
+
export declare const JITO_TIP_ACCOUNT: string[];
|
|
28
|
+
declare class JitoJsonRpcClient {
|
|
29
|
+
private uuid;
|
|
30
|
+
private client;
|
|
31
|
+
constructor();
|
|
32
|
+
sendRequest(endpoint: string, method: string, params?: any[]): Promise<JsonRpcResponse>;
|
|
33
|
+
getTipAccounts(): Promise<JsonRpcResponse>;
|
|
34
|
+
sendTransaction(tx: string): Promise<JsonRpcResponse>;
|
|
35
|
+
sendBundle(params: any[]): Promise<JsonRpcResponse>;
|
|
36
|
+
sendTxn(params: any[], bundleOnly?: boolean): Promise<JsonRpcResponse>;
|
|
37
|
+
getInFlightBundleStatuses(params: string[][]): Promise<JsonRpcResponse>;
|
|
38
|
+
getBundleStatuses(params: string[]): Promise<BundleStatusResponse>;
|
|
39
|
+
getTransactionStatus(connection: Connection, signature: string): Promise<{
|
|
40
|
+
confirmation_status: BundleStatus;
|
|
41
|
+
bundleId: string;
|
|
42
|
+
}>;
|
|
43
|
+
sleep(ms: number): Promise<unknown>;
|
|
44
|
+
confirmInflightBundle(bundleId: string, timeoutMs?: number): Promise<any>;
|
|
45
|
+
isBundleSuccess(bundleStatus: any): boolean;
|
|
46
|
+
getRandomTipAccount(): string;
|
|
47
|
+
getTipInstruction(payer: PublicKey, priorityFee: number): import("@solana/web3.js").TransactionInstruction;
|
|
48
|
+
}
|
|
49
|
+
export default JitoJsonRpcClient;
|
|
50
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/sol-sdk/jito/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EAEV,SAAS,EAGV,MAAM,iBAAiB,CAAC;AACzB;;;;;;GAMG;AAEH,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,eAAO,MAAM,SAAS,UAMrB,CAAC;AAEF,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAIF,cAAM,iBAAiB;IACrB,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,MAAM,CAAgB;;IAUxB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAuBvF,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC;IAU1C,eAAe,CAAC,EAAE,EAAE,MAAM;IAe1B,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAanD,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,UAAU,UAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBpE,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAUvE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUlE,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM;;;;IAwC9D,KAAK,CAAC,EAAE,EAAE,MAAM;IAIhB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAyB9E,eAAe,CAAC,YAAY,EAAE,GAAG;IAQjC,mBAAmB,IAAI,MAAM;IAK7B,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;CAWxD;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { PublicKey, SystemProgram, LAMPORTS_PER_SOL, } from '@solana/web3.js';
|
|
3
|
+
export const endpoints = [
|
|
4
|
+
'https://mainnet.block-engine.jito.wtf/api/v1',
|
|
5
|
+
'https://amsterdam.mainnet.block-engine.jito.wtf/api/v1',
|
|
6
|
+
'https://frankfurt.mainnet.block-engine.jito.wtf/api/v1',
|
|
7
|
+
'https://ny.mainnet.block-engine.jito.wtf/api/v1',
|
|
8
|
+
'https://tokyo.mainnet.block-engine.jito.wtf/api/v1',
|
|
9
|
+
];
|
|
10
|
+
export var BundleStatus;
|
|
11
|
+
(function (BundleStatus) {
|
|
12
|
+
BundleStatus["SENT"] = "sent";
|
|
13
|
+
BundleStatus["CONFIRMED"] = "confirmed";
|
|
14
|
+
BundleStatus["TIMEOUT"] = "timeout";
|
|
15
|
+
BundleStatus["PROCESSED"] = "processed";
|
|
16
|
+
BundleStatus["FINALIZED"] = "finalized";
|
|
17
|
+
BundleStatus["FAILED"] = "failed";
|
|
18
|
+
})(BundleStatus || (BundleStatus = {}));
|
|
19
|
+
export const JITO_TIP_ACCOUNT = [
|
|
20
|
+
'96gYZGLnJYVFmbjzopPSU6QiEV5fGqZNyN9nmNhvrZU5',
|
|
21
|
+
'HFqU5x63VTqvQss8hp11i4wVV8bD44PvwucfZ2bU7gRe',
|
|
22
|
+
'Cw8CFyM9FkoMi7K7Crf6HNQqf4uEMzpKw6QNghXLvLkY',
|
|
23
|
+
'ADaUMid9yfUytqMBgopwjb2DTLSokTSzL1zt6iGPaS49',
|
|
24
|
+
'DfXygSm4jCyNCybVYYK6DwvWqjKee8pbDmJGcLWNDXjh',
|
|
25
|
+
'ADuUkR4vqLUMWXxW9gh6D6L8pMSawimctcNZ5pGwDcEt',
|
|
26
|
+
'DttWaMuVvTiduZRnguLF7jNxTgiMBZ1hyAumKUiL2KRL',
|
|
27
|
+
'3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT',
|
|
28
|
+
];
|
|
29
|
+
const currentEndpointIndex = 0;
|
|
30
|
+
class JitoJsonRpcClient {
|
|
31
|
+
uuid;
|
|
32
|
+
client;
|
|
33
|
+
constructor() {
|
|
34
|
+
this.client = axios.create({
|
|
35
|
+
headers: {
|
|
36
|
+
'Content-Type': 'application/json',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async sendRequest(endpoint, method, params) {
|
|
41
|
+
const url = `${endpoints[0]}${endpoint}`;
|
|
42
|
+
const data = {
|
|
43
|
+
jsonrpc: '2.0',
|
|
44
|
+
id: 1,
|
|
45
|
+
method,
|
|
46
|
+
params: params || [],
|
|
47
|
+
};
|
|
48
|
+
try {
|
|
49
|
+
let response = await this.client.post(url, data);
|
|
50
|
+
return response.data;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
console.error('jito request error', error);
|
|
54
|
+
// 包装错误并继续处理流程,避免服务器崩溃
|
|
55
|
+
return Promise.reject({
|
|
56
|
+
success: false,
|
|
57
|
+
error: 'Jito request error: An unexpected error occurred',
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async getTipAccounts() {
|
|
62
|
+
try {
|
|
63
|
+
const endpoint = this.uuid ? `/bundles?uuid=${this.uuid}` : '/bundles';
|
|
64
|
+
return this.sendRequest(endpoint, 'getTipAccounts');
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error(error);
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async sendTransaction(tx) {
|
|
72
|
+
try {
|
|
73
|
+
const endpoint = `/transactions?uuid=${this.uuid}`;
|
|
74
|
+
return this.sendRequest(endpoint, 'sendTransaction', [
|
|
75
|
+
tx,
|
|
76
|
+
{
|
|
77
|
+
encoding: 'base64',
|
|
78
|
+
},
|
|
79
|
+
]);
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
console.error(error);
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async sendBundle(params) {
|
|
87
|
+
try {
|
|
88
|
+
const endpoint = this.uuid ? `/bundles?uuid=${this.uuid}` : '/bundles';
|
|
89
|
+
return await this.sendRequest(endpoint, 'sendBundle', params).catch(error => {
|
|
90
|
+
console.error(error);
|
|
91
|
+
throw error;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
console.error(error);
|
|
96
|
+
throw error;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async sendTxn(params, bundleOnly = false) {
|
|
100
|
+
let endpoint = '/transactions';
|
|
101
|
+
const queryParams = [];
|
|
102
|
+
if (bundleOnly) {
|
|
103
|
+
queryParams.push('bundleOnly=true');
|
|
104
|
+
}
|
|
105
|
+
if (this.uuid) {
|
|
106
|
+
queryParams.push(`uuid=${this.uuid}`);
|
|
107
|
+
}
|
|
108
|
+
if (queryParams.length > 0) {
|
|
109
|
+
endpoint += `?${queryParams.join('&')}`;
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
return this.sendRequest(endpoint, 'sendTransaction', params);
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
console.error(error);
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async getInFlightBundleStatuses(params) {
|
|
120
|
+
try {
|
|
121
|
+
const endpoint = this.uuid ? `/bundles?uuid=${this.uuid}` : '/bundles';
|
|
122
|
+
return this.sendRequest(endpoint, 'getInflightBundleStatuses', params);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.error(error);
|
|
126
|
+
throw error;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
async getBundleStatuses(params) {
|
|
130
|
+
try {
|
|
131
|
+
const response = await this.sendRequest('/bundles', 'getBundleStatuses', [params]);
|
|
132
|
+
return response;
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
console.error(error);
|
|
136
|
+
throw error;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async getTransactionStatus(connection, signature) {
|
|
140
|
+
try {
|
|
141
|
+
// 180秒超时
|
|
142
|
+
let attempts = 0;
|
|
143
|
+
const maxAttempts = 10; // 10次
|
|
144
|
+
const interval = 3000; // 3秒检查一次
|
|
145
|
+
while (attempts < maxAttempts) {
|
|
146
|
+
const signatureStatuses = await connection.getSignatureStatuses([signature]);
|
|
147
|
+
const status = signatureStatuses.value[0];
|
|
148
|
+
if (status) {
|
|
149
|
+
if (!status.err) {
|
|
150
|
+
console.log('交易成功');
|
|
151
|
+
return {
|
|
152
|
+
confirmation_status: BundleStatus.CONFIRMED,
|
|
153
|
+
bundleId: signature,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
console.log('交易失败');
|
|
158
|
+
return {
|
|
159
|
+
confirmation_status: BundleStatus.FAILED,
|
|
160
|
+
bundleId: signature,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
await this.sleep(interval);
|
|
165
|
+
attempts++;
|
|
166
|
+
}
|
|
167
|
+
// 超时处理
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
console.log(error);
|
|
171
|
+
return {
|
|
172
|
+
confirmation_status: BundleStatus.TIMEOUT,
|
|
173
|
+
bundleId: signature,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
async sleep(ms) {
|
|
178
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
179
|
+
}
|
|
180
|
+
async confirmInflightBundle(bundleId, timeoutMs = 15000) {
|
|
181
|
+
try {
|
|
182
|
+
const start = Date.now();
|
|
183
|
+
while (Date.now() - start < timeoutMs) {
|
|
184
|
+
const detailedStatus = await this.getBundleStatuses([bundleId]);
|
|
185
|
+
console.log('detailedStatus', detailedStatus);
|
|
186
|
+
const result = detailedStatus;
|
|
187
|
+
if (result && result.result && result.result.value && result.result.value.length > 0) {
|
|
188
|
+
if (result.result.value[0]) {
|
|
189
|
+
return result.result.value[0];
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
193
|
+
}
|
|
194
|
+
// If we've reached this point, the bundle hasn't reached a final state within the timeout
|
|
195
|
+
console.log(`Bundle ${bundleId} has not reached a final state within ${timeoutMs}ms`);
|
|
196
|
+
return { status: 'Timeout', confirmation_status: BundleStatus.SENT, bundleId };
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
console.error(error);
|
|
200
|
+
throw error;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
isBundleSuccess(bundleStatus) {
|
|
204
|
+
return (bundleStatus === BundleStatus.PROCESSED ||
|
|
205
|
+
bundleStatus === BundleStatus.CONFIRMED ||
|
|
206
|
+
bundleStatus === BundleStatus.FINALIZED);
|
|
207
|
+
}
|
|
208
|
+
getRandomTipAccount() {
|
|
209
|
+
const randomIndex = Math.floor(Math.random() * JITO_TIP_ACCOUNT.length);
|
|
210
|
+
return JITO_TIP_ACCOUNT[randomIndex];
|
|
211
|
+
}
|
|
212
|
+
getTipInstruction(payer, priorityFee) {
|
|
213
|
+
const randomTipAccount = this.getRandomTipAccount();
|
|
214
|
+
const jitoTipAccount = new PublicKey(randomTipAccount);
|
|
215
|
+
let tipAmount = priorityFee * LAMPORTS_PER_SOL;
|
|
216
|
+
console.log('tipAmount', tipAmount);
|
|
217
|
+
return SystemProgram.transfer({
|
|
218
|
+
fromPubkey: payer,
|
|
219
|
+
toPubkey: jitoTipAccount,
|
|
220
|
+
lamports: tipAmount,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
export default JitoJsonRpcClient;
|
|
225
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sol-sdk/jito/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Connection, PublicKey } from '@solana/web3.js';
|
|
2
|
+
import { createAndDevBuyInstruction, createInstruction } from './instructions/create';
|
|
3
|
+
import { buyExactInInstruction, buyExactOutInstruction } from './instructions/buy';
|
|
4
|
+
import { sellExactInInstruction } from './instructions/sell';
|
|
5
|
+
export declare const getLaunchlabReverseInfo: ({ connection, poolId, }: {
|
|
6
|
+
connection: Connection;
|
|
7
|
+
poolId: string;
|
|
8
|
+
}) => Promise<LaunchlabReverseInfo>;
|
|
9
|
+
export declare const getCpmmPoolByTokenInfo: ({ mintA, mintB, }: {
|
|
10
|
+
mintA: string;
|
|
11
|
+
mintB: string;
|
|
12
|
+
}) => PublicKey;
|
|
13
|
+
export declare const getRaydiumCpmmKeysByTokenInfo: ({ tokenAddress }: {
|
|
14
|
+
tokenAddress: string;
|
|
15
|
+
}) => Promise<{
|
|
16
|
+
config: {
|
|
17
|
+
id: string;
|
|
18
|
+
};
|
|
19
|
+
observationId: string;
|
|
20
|
+
vault: {
|
|
21
|
+
A: string;
|
|
22
|
+
B: string;
|
|
23
|
+
};
|
|
24
|
+
mintA: string;
|
|
25
|
+
mintB: string;
|
|
26
|
+
}>;
|
|
27
|
+
export declare const getRaydiumPoolByTokenInfo: ({ mintA, mintB }: {
|
|
28
|
+
mintA: string;
|
|
29
|
+
mintB: string;
|
|
30
|
+
}) => void;
|
|
31
|
+
export { createInstruction as launchlabCreateInstruction, createAndDevBuyInstruction as launchlabCreateAndDevBuyInstruction, buyExactInInstruction as launchlabBuyExactInInstruction, buyExactOutInstruction as launchlabBuyExactOutInstruction, sellExactInInstruction as launchlabSellExactInInstruction, };
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/sol-sdk/launchlab/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,eAAO,MAAM,uBAAuB,GAAU,yBAG3C;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,OAAO,CAAC,oBAAoB,CA8B/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,mBAGpC;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,SAWH,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAU,kBAAkB;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;EA6C7F,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,kBAAkB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,SAAO,CAAC;AAEpG,OAAO,EACL,iBAAiB,IAAI,0BAA0B,EAC/C,0BAA0B,IAAI,mCAAmC,EACjE,qBAAqB,IAAI,8BAA8B,EACvD,sBAAsB,IAAI,+BAA+B,EACzD,sBAAsB,IAAI,+BAA+B,GAC1D,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { BorshAccountsCoder } from '@coral-xyz/anchor';
|
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
|
3
|
+
import { createAndDevBuyInstruction, createInstruction } from './instructions/create.js';
|
|
4
|
+
import { buyExactInInstruction, buyExactOutInstruction } from './instructions/buy.js';
|
|
5
|
+
import { sellExactInInstruction } from './instructions/sell.js';
|
|
6
|
+
import { IDL } from '../../const/IDL/raydium-launchlab-IDL.js';
|
|
7
|
+
import { RAYDIUM_CPMM_PROGRAM, RAYDIUM_CPMM_CONFIG } from '../../const/index.js';
|
|
8
|
+
import { NATIVE_MINT } from '@solana/spl-token';
|
|
9
|
+
export const getLaunchlabReverseInfo = async ({ connection, poolId, }) => {
|
|
10
|
+
const poolAccountInfo = await connection.getAccountInfo(new PublicKey(poolId));
|
|
11
|
+
if (!poolAccountInfo) {
|
|
12
|
+
throw new Error('Pool account not found');
|
|
13
|
+
}
|
|
14
|
+
const poolAccount = new BorshAccountsCoder(IDL).decode('PoolState', poolAccountInfo.data);
|
|
15
|
+
console.log('poolAccount', poolAccount);
|
|
16
|
+
if (!poolAccount) {
|
|
17
|
+
throw new Error('Pool state not found');
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
totalVirtualBase: poolAccount.virtual_base.toString(),
|
|
21
|
+
totalVirtualQuote: poolAccount.virtual_quote.toString(),
|
|
22
|
+
totalRealQuote: poolAccount.real_quote.toString(),
|
|
23
|
+
totalRealBase: poolAccount.real_base.toString(),
|
|
24
|
+
supply: poolAccount.supply.toString(),
|
|
25
|
+
baseDecimals: poolAccount.base_decimals,
|
|
26
|
+
quoteDecimals: poolAccount.quote_decimals,
|
|
27
|
+
migrateType: poolAccount.migrate_type,
|
|
28
|
+
totalBaseSell: poolAccount.total_base_sell.toString(),
|
|
29
|
+
virtualBase: poolAccount.virtual_base.toString(),
|
|
30
|
+
virtualQuote: poolAccount.virtual_quote.toString(),
|
|
31
|
+
realBase: poolAccount.real_base.toString(),
|
|
32
|
+
realQuote: poolAccount.real_quote.toString(),
|
|
33
|
+
fundRaising: poolAccount.total_quote_fund_raising.toString(),
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export const getCpmmPoolByTokenInfo = ({ mintA, mintB, }) => {
|
|
37
|
+
const poolAccount = PublicKey.findProgramAddressSync([
|
|
38
|
+
Buffer.from('pool'),
|
|
39
|
+
new PublicKey(RAYDIUM_CPMM_CONFIG).toBuffer(),
|
|
40
|
+
new PublicKey(mintA === NATIVE_MINT.toBase58() ? mintB : mintA).toBuffer(),
|
|
41
|
+
new PublicKey(mintA === NATIVE_MINT.toBase58() ? mintA : mintB).toBuffer(),
|
|
42
|
+
], RAYDIUM_CPMM_PROGRAM);
|
|
43
|
+
return poolAccount[0];
|
|
44
|
+
};
|
|
45
|
+
export const getRaydiumCpmmKeysByTokenInfo = async ({ tokenAddress }) => {
|
|
46
|
+
const token_0_mint = NATIVE_MINT.toBase58() < tokenAddress ? NATIVE_MINT.toBase58() : tokenAddress;
|
|
47
|
+
const token_1_mint = NATIVE_MINT.toBase58() < tokenAddress ? tokenAddress : NATIVE_MINT.toBase58();
|
|
48
|
+
const poolId = getCpmmPoolByTokenInfo({
|
|
49
|
+
mintA: token_0_mint,
|
|
50
|
+
mintB: token_1_mint,
|
|
51
|
+
});
|
|
52
|
+
const observation_state = PublicKey.findProgramAddressSync([Buffer.from('observation'), new PublicKey(poolId).toBuffer()], RAYDIUM_CPMM_PROGRAM);
|
|
53
|
+
const vault_0 = PublicKey.findProgramAddressSync([
|
|
54
|
+
Buffer.from('pool_vault'),
|
|
55
|
+
new PublicKey(poolId).toBuffer(),
|
|
56
|
+
new PublicKey(token_0_mint).toBuffer(),
|
|
57
|
+
], RAYDIUM_CPMM_PROGRAM);
|
|
58
|
+
const vault_1 = PublicKey.findProgramAddressSync([
|
|
59
|
+
Buffer.from('pool_vault'),
|
|
60
|
+
new PublicKey(poolId).toBuffer(),
|
|
61
|
+
new PublicKey(token_1_mint).toBuffer(),
|
|
62
|
+
], RAYDIUM_CPMM_PROGRAM);
|
|
63
|
+
return {
|
|
64
|
+
config: {
|
|
65
|
+
id: poolId.toBase58(),
|
|
66
|
+
},
|
|
67
|
+
observationId: observation_state[0].toBase58(),
|
|
68
|
+
vault: {
|
|
69
|
+
A: vault_0[0].toBase58(),
|
|
70
|
+
B: vault_1[0].toBase58(),
|
|
71
|
+
},
|
|
72
|
+
mintA: token_0_mint,
|
|
73
|
+
mintB: token_1_mint,
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export const getRaydiumPoolByTokenInfo = ({ mintA, mintB }) => { };
|
|
77
|
+
export { createInstruction as launchlabCreateInstruction, createAndDevBuyInstruction as launchlabCreateAndDevBuyInstruction, buyExactInInstruction as launchlabBuyExactInInstruction, buyExactOutInstruction as launchlabBuyExactOutInstruction, sellExactInInstruction as launchlabSellExactInInstruction, };
|
|
78
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sol-sdk/launchlab/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAuB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,GAAG,EAA4B,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAC5C,UAAU,EACV,MAAM,GAIP,EAAiC,EAAE;IAClC,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,GAA0B,CAAC,CAAC,MAAM,CAC3E,WAAW,EACX,eAAe,CAAC,IAAI,CACrB,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;QACrD,iBAAiB,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;QACvD,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;QACjD,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC/C,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;QACrC,YAAY,EAAE,WAAW,CAAC,aAAa;QACvC,aAAa,EAAE,WAAW,CAAC,cAAc;QACzC,WAAW,EAAE,WAAW,CAAC,YAAY;QACrC,aAAa,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE;QACrD,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;QAChD,YAAY,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;QAClD,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC1C,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;QAC5C,WAAW,EAAE,WAAW,CAAC,wBAAwB,CAAC,QAAQ,EAAE;KAC7D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,KAAK,EACL,KAAK,GAIN,EAAa,EAAE;IACd,MAAM,WAAW,GAAG,SAAS,CAAC,sBAAsB,CAClD;QACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACnB,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;QAC7C,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QAC1E,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;KAC3E,EACD,oBAAoB,CACrB,CAAC;IACF,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAAE,EAAE,YAAY,EAA4B,EAAE,EAAE;IAChG,MAAM,YAAY,GAChB,WAAW,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAChF,MAAM,YAAY,GAChB,WAAW,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAEhF,MAAM,MAAM,GAAG,sBAAsB,CAAC;QACpC,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,SAAS,CAAC,sBAAsB,CACxD,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,EAC9D,oBAAoB,CACrB,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,CAAC,sBAAsB,CAC9C;QACE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QACzB,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;QAChC,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;KACvC,EACD,oBAAoB,CACrB,CAAC;IACF,MAAM,OAAO,GAAG,SAAS,CAAC,sBAAsB,CAC9C;QACE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QACzB,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;QAChC,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;KACvC,EACD,oBAAoB,CACrB,CAAC;IAEF,OAAO;QACL,MAAM,EAAE;YACN,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE;SACtB;QACD,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC9C,KAAK,EAAE;YACL,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACxB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;SACzB;QACD,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoC,EAAE,EAAE,GAAE,CAAC,CAAC;AAEpG,OAAO,EACL,iBAAiB,IAAI,0BAA0B,EAC/C,0BAA0B,IAAI,mCAAmC,EACjE,qBAAqB,IAAI,8BAA8B,EACvD,sBAAsB,IAAI,+BAA+B,EACzD,sBAAsB,IAAI,+BAA+B,GAC1D,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Provider } from '@coral-xyz/anchor';
|
|
2
|
+
import { PublicKey, Transaction, TransactionInstruction } from '@solana/web3.js';
|
|
3
|
+
export declare const buyExactOutInstruction: ({ provider, owner, baseMint, quoteMint, amount, maxSolCost, initialWsolAccount, createWsolAccountInstruction, needCreateAtaAccount, needCloseTokenAccount, }: {
|
|
4
|
+
provider: Provider;
|
|
5
|
+
owner: PublicKey;
|
|
6
|
+
baseMint: PublicKey;
|
|
7
|
+
quoteMint: PublicKey;
|
|
8
|
+
amount: bigint;
|
|
9
|
+
maxSolCost: bigint;
|
|
10
|
+
initialWsolAccount?: PublicKey;
|
|
11
|
+
createWsolAccountInstruction?: TransactionInstruction;
|
|
12
|
+
needCreateAtaAccount: boolean;
|
|
13
|
+
needCloseTokenAccount: boolean;
|
|
14
|
+
}) => Promise<Transaction>;
|
|
15
|
+
export declare const buyExactInInstruction: ({ provider, owner, baseMint, quoteMint, amountIn, minAmountOut, initialWsolAccount, createWsolAccountInstruction, needCreateAtaAccount, needCloseTokenAccount, }: {
|
|
16
|
+
provider: Provider;
|
|
17
|
+
owner: PublicKey;
|
|
18
|
+
baseMint: PublicKey;
|
|
19
|
+
quoteMint: PublicKey;
|
|
20
|
+
amountIn: bigint;
|
|
21
|
+
minAmountOut: bigint;
|
|
22
|
+
initialWsolAccount?: PublicKey;
|
|
23
|
+
createWsolAccountInstruction?: TransactionInstruction;
|
|
24
|
+
needCreateAtaAccount: boolean;
|
|
25
|
+
needCloseTokenAccount: boolean;
|
|
26
|
+
}) => Promise<Transaction>;
|
|
27
|
+
//# sourceMappingURL=buy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buy.d.ts","sourceRoot":"","sources":["../../../../../src/sol-sdk/launchlab/instructions/buy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAGL,SAAS,EAET,WAAW,EACX,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAsBzB,eAAO,MAAM,sBAAsB,GAAU,8JAW1C;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,4BAA4B,CAAC,EAAE,sBAAsB,CAAC;IACtD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;CAChC,yBAiGA,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,kKAWzC;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,4BAA4B,CAAC,EAAE,sBAAsB,CAAC;IACtD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;CAChC,yBAiGA,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Program } from '@coral-xyz/anchor';
|
|
2
|
+
import { Keypair, PublicKey, Transaction, SystemProgram, } from '@solana/web3.js';
|
|
3
|
+
import { TOKEN_PROGRAM_ID, createInitializeAccountInstruction } from '@solana/spl-token';
|
|
4
|
+
import { createAssociatedTokenAccountIdempotentInstruction, getAssociatedTokenAddress, NATIVE_MINT, createCloseAccountInstruction, } from '@solana/spl-token';
|
|
5
|
+
import { IDL } from '../../../const/IDL/raydium-launchlab-IDL.js';
|
|
6
|
+
import { RAYDIUM_LAUNCHLAB_GLOBAL_CONFIG, RAYDIUM_LAUNCHLAB_PLATFORM_CONFIG, RAYDIUM_LAUNCHLAB_PROGRAM, } from '../../../const/index.js';
|
|
7
|
+
import BN from 'bn.js';
|
|
8
|
+
export const buyExactOutInstruction = async ({ provider, owner, baseMint, quoteMint, amount, maxSolCost, initialWsolAccount, createWsolAccountInstruction, needCreateAtaAccount, needCloseTokenAccount, }) => {
|
|
9
|
+
let program = new Program(IDL, provider);
|
|
10
|
+
const randomAccount = Keypair.generate();
|
|
11
|
+
const seed = randomAccount.publicKey.toBase58().slice(0, 32);
|
|
12
|
+
const transaction = new Transaction();
|
|
13
|
+
const baseLamports = 2039280;
|
|
14
|
+
const wsolAccount = initialWsolAccount || (await PublicKey.createWithSeed(owner, seed, TOKEN_PROGRAM_ID));
|
|
15
|
+
const lamports = new BN(baseLamports).add(new BN(maxSolCost.toString())).toNumber();
|
|
16
|
+
const createWsolAccount = createWsolAccountInstruction ||
|
|
17
|
+
SystemProgram.createAccountWithSeed({
|
|
18
|
+
fromPubkey: owner,
|
|
19
|
+
newAccountPubkey: wsolAccount,
|
|
20
|
+
basePubkey: owner,
|
|
21
|
+
lamports,
|
|
22
|
+
space: 165,
|
|
23
|
+
programId: TOKEN_PROGRAM_ID,
|
|
24
|
+
seed,
|
|
25
|
+
});
|
|
26
|
+
const tokenMint = baseMint.toBase58() == NATIVE_MINT.toBase58() ? quoteMint.toBase58() : baseMint.toBase58();
|
|
27
|
+
const pool_state = PublicKey.findProgramAddressSync([Buffer.from([112, 111, 111, 108]), baseMint.toBuffer(), quoteMint.toBuffer()], RAYDIUM_LAUNCHLAB_PROGRAM)[0];
|
|
28
|
+
const baseVault = PublicKey.findProgramAddressSync([
|
|
29
|
+
Buffer.from([112, 111, 111, 108, 95, 118, 97, 117, 108, 116]),
|
|
30
|
+
pool_state.toBuffer(),
|
|
31
|
+
baseMint.toBuffer(),
|
|
32
|
+
], RAYDIUM_LAUNCHLAB_PROGRAM)[0];
|
|
33
|
+
const quoteVault = PublicKey.findProgramAddressSync([
|
|
34
|
+
Buffer.from([112, 111, 111, 108, 95, 118, 97, 117, 108, 116]),
|
|
35
|
+
pool_state.toBuffer(),
|
|
36
|
+
quoteMint.toBuffer(),
|
|
37
|
+
], RAYDIUM_LAUNCHLAB_PROGRAM)[0];
|
|
38
|
+
const tokenAccount = await getAssociatedTokenAddress(new PublicKey(tokenMint), owner);
|
|
39
|
+
if (needCreateAtaAccount) {
|
|
40
|
+
transaction.add(createWsolAccount, createInitializeAccountInstruction(wsolAccount, NATIVE_MINT, owner));
|
|
41
|
+
transaction.add(createAssociatedTokenAccountIdempotentInstruction(owner, tokenAccount, owner, new PublicKey(tokenMint)));
|
|
42
|
+
}
|
|
43
|
+
transaction.add(await program.methods
|
|
44
|
+
.buyExactOut(new BN(amount.toString()), new BN(maxSolCost.toString()), new BN(0))
|
|
45
|
+
.accounts({
|
|
46
|
+
payer: owner,
|
|
47
|
+
baseTokenMint: baseMint,
|
|
48
|
+
quoteTokenMint: quoteMint,
|
|
49
|
+
globalConfig: RAYDIUM_LAUNCHLAB_GLOBAL_CONFIG,
|
|
50
|
+
platformConfig: RAYDIUM_LAUNCHLAB_PLATFORM_CONFIG,
|
|
51
|
+
poolState: pool_state,
|
|
52
|
+
userBaseToken: tokenAccount,
|
|
53
|
+
userQuoteToken: wsolAccount,
|
|
54
|
+
baseVault: baseVault,
|
|
55
|
+
quoteVault: quoteVault,
|
|
56
|
+
baseTokenProgram: TOKEN_PROGRAM_ID,
|
|
57
|
+
program: RAYDIUM_LAUNCHLAB_PROGRAM,
|
|
58
|
+
})
|
|
59
|
+
.instruction());
|
|
60
|
+
if (needCloseTokenAccount) {
|
|
61
|
+
transaction.add(createCloseAccountInstruction(wsolAccount, owner, owner));
|
|
62
|
+
}
|
|
63
|
+
transaction.feePayer = owner;
|
|
64
|
+
return transaction;
|
|
65
|
+
};
|
|
66
|
+
export const buyExactInInstruction = async ({ provider, owner, baseMint, quoteMint, amountIn, minAmountOut, initialWsolAccount, createWsolAccountInstruction, needCreateAtaAccount, needCloseTokenAccount, }) => {
|
|
67
|
+
let program = new Program(IDL, provider);
|
|
68
|
+
const randomAccount = Keypair.generate();
|
|
69
|
+
const seed = randomAccount.publicKey.toBase58().slice(0, 32);
|
|
70
|
+
const transaction = new Transaction();
|
|
71
|
+
const baseLamports = 2039280;
|
|
72
|
+
const wsolAccount = initialWsolAccount || (await PublicKey.createWithSeed(owner, seed, TOKEN_PROGRAM_ID));
|
|
73
|
+
const lamports = new BN(baseLamports).add(new BN(amountIn.toString())).toNumber();
|
|
74
|
+
const createWsolAccount = createWsolAccountInstruction ||
|
|
75
|
+
SystemProgram.createAccountWithSeed({
|
|
76
|
+
fromPubkey: owner,
|
|
77
|
+
newAccountPubkey: wsolAccount,
|
|
78
|
+
basePubkey: owner,
|
|
79
|
+
lamports,
|
|
80
|
+
space: 165,
|
|
81
|
+
programId: TOKEN_PROGRAM_ID,
|
|
82
|
+
seed,
|
|
83
|
+
});
|
|
84
|
+
const tokenMint = baseMint.toBase58() == NATIVE_MINT.toBase58() ? quoteMint.toBase58() : baseMint.toBase58();
|
|
85
|
+
const pool_state = PublicKey.findProgramAddressSync([Buffer.from([112, 111, 111, 108]), baseMint.toBuffer(), quoteMint.toBuffer()], RAYDIUM_LAUNCHLAB_PROGRAM)[0];
|
|
86
|
+
const baseVault = PublicKey.findProgramAddressSync([
|
|
87
|
+
Buffer.from([112, 111, 111, 108, 95, 118, 97, 117, 108, 116]),
|
|
88
|
+
pool_state.toBuffer(),
|
|
89
|
+
baseMint.toBuffer(),
|
|
90
|
+
], RAYDIUM_LAUNCHLAB_PROGRAM)[0];
|
|
91
|
+
const quoteVault = PublicKey.findProgramAddressSync([
|
|
92
|
+
Buffer.from([112, 111, 111, 108, 95, 118, 97, 117, 108, 116]),
|
|
93
|
+
pool_state.toBuffer(),
|
|
94
|
+
quoteMint.toBuffer(),
|
|
95
|
+
], RAYDIUM_LAUNCHLAB_PROGRAM)[0];
|
|
96
|
+
const tokenAccount = await getAssociatedTokenAddress(new PublicKey(tokenMint), owner);
|
|
97
|
+
if (needCreateAtaAccount) {
|
|
98
|
+
transaction.add(createWsolAccount, createInitializeAccountInstruction(wsolAccount, NATIVE_MINT, owner));
|
|
99
|
+
transaction.add(createAssociatedTokenAccountIdempotentInstruction(owner, tokenAccount, owner, new PublicKey(tokenMint)));
|
|
100
|
+
}
|
|
101
|
+
transaction.add(await program.methods
|
|
102
|
+
.buyExactIn(new BN(amountIn.toString()), new BN(minAmountOut.toString()), new BN(0))
|
|
103
|
+
.accounts({
|
|
104
|
+
payer: owner,
|
|
105
|
+
baseTokenMint: baseMint,
|
|
106
|
+
quoteTokenMint: quoteMint,
|
|
107
|
+
globalConfig: RAYDIUM_LAUNCHLAB_GLOBAL_CONFIG,
|
|
108
|
+
platformConfig: RAYDIUM_LAUNCHLAB_PLATFORM_CONFIG,
|
|
109
|
+
poolState: pool_state,
|
|
110
|
+
userBaseToken: tokenAccount,
|
|
111
|
+
userQuoteToken: wsolAccount,
|
|
112
|
+
baseVault: baseVault,
|
|
113
|
+
quoteVault: quoteVault,
|
|
114
|
+
baseTokenProgram: TOKEN_PROGRAM_ID,
|
|
115
|
+
program: RAYDIUM_LAUNCHLAB_PROGRAM,
|
|
116
|
+
})
|
|
117
|
+
.instruction());
|
|
118
|
+
if (needCloseTokenAccount) {
|
|
119
|
+
transaction.add(createCloseAccountInstruction(wsolAccount, owner, owner));
|
|
120
|
+
}
|
|
121
|
+
transaction.feePayer = owner;
|
|
122
|
+
return transaction;
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=buy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buy.js","sourceRoot":"","sources":["../../../../../src/sol-sdk/launchlab/instructions/buy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Connection, Keypair, PublicKey, Transaction } from '@solana/web3.js';
|
|
2
|
+
import BN from 'bn.js';
|
|
3
|
+
export declare const createAndDevBuyInstruction: ({ connection, payer, mint, name, symbol, uri, buyAmount, }: {
|
|
4
|
+
connection: Connection;
|
|
5
|
+
payer: PublicKey;
|
|
6
|
+
mint: Keypair;
|
|
7
|
+
name: string;
|
|
8
|
+
symbol: string;
|
|
9
|
+
uri: string;
|
|
10
|
+
buyAmount: string;
|
|
11
|
+
}) => Promise<Transaction>;
|
|
12
|
+
export declare const createInstruction: ({ connection, owner, mint, tokenName, tokenSymbol, tokenUri, tokenDecimals, supply, totalQuoteFundRaising, totalLockedAmount, cliffPeriod, unlockPeriod, }: {
|
|
13
|
+
connection: Connection;
|
|
14
|
+
owner: PublicKey;
|
|
15
|
+
mint: Keypair;
|
|
16
|
+
tokenName?: string;
|
|
17
|
+
tokenSymbol?: string;
|
|
18
|
+
tokenUri?: string;
|
|
19
|
+
tokenDecimals?: number;
|
|
20
|
+
supply?: BN;
|
|
21
|
+
totalQuoteFundRaising?: BN;
|
|
22
|
+
migrateType?: number;
|
|
23
|
+
totalLockedAmount?: BN;
|
|
24
|
+
cliffPeriod?: BN;
|
|
25
|
+
unlockPeriod?: BN;
|
|
26
|
+
}) => Promise<Transaction>;
|
|
27
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/sol-sdk/launchlab/instructions/create.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EAET,WAAW,EAGZ,MAAM,iBAAiB,CAAC;AAczB,OAAO,EAAE,MAAM,OAAO,CAAC;AAKvB,eAAO,MAAM,0BAA0B,GAAU,4DAQ9C;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;CACnB,yBAwCA,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,4JAgBrC;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IAEd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,EAAE,CAAC;IACZ,qBAAqB,CAAC,EAAE,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,EAAE,CAAC;CACnB,yBAyGA,CAAC"}
|