outsmart 2.0.0-alpha.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 +568 -0
- package/dist/cli.d.ts +44 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1251 -0
- package/dist/cli.js.map +1 -0
- package/dist/dex/byreal-clmm.d.ts +16 -0
- package/dist/dex/byreal-clmm.d.ts.map +1 -0
- package/dist/dex/byreal-clmm.js +39 -0
- package/dist/dex/byreal-clmm.js.map +1 -0
- package/dist/dex/dflow.d.ts +27 -0
- package/dist/dex/dflow.d.ts.map +1 -0
- package/dist/dex/dflow.js +200 -0
- package/dist/dex/dflow.js.map +1 -0
- package/dist/dex/fusion-amm.d.ts +44 -0
- package/dist/dex/fusion-amm.d.ts.map +1 -0
- package/dist/dex/fusion-amm.js +546 -0
- package/dist/dex/fusion-amm.js.map +1 -0
- package/dist/dex/futarchy-amm.d.ts +32 -0
- package/dist/dex/futarchy-amm.d.ts.map +1 -0
- package/dist/dex/futarchy-amm.js +443 -0
- package/dist/dex/futarchy-amm.js.map +1 -0
- package/dist/dex/futarchy-idl.d.ts +2568 -0
- package/dist/dex/futarchy-idl.d.ts.map +1 -0
- package/dist/dex/futarchy-idl.js +2570 -0
- package/dist/dex/futarchy-idl.js.map +1 -0
- package/dist/dex/futarchy-launchpad.d.ts +68 -0
- package/dist/dex/futarchy-launchpad.d.ts.map +1 -0
- package/dist/dex/futarchy-launchpad.js +377 -0
- package/dist/dex/futarchy-launchpad.js.map +1 -0
- package/dist/dex/index.d.ts +88 -0
- package/dist/dex/index.d.ts.map +1 -0
- package/dist/dex/index.js +159 -0
- package/dist/dex/index.js.map +1 -0
- package/dist/dex/jupiter-ultra.d.ts +27 -0
- package/dist/dex/jupiter-ultra.d.ts.map +1 -0
- package/dist/dex/jupiter-ultra.js +369 -0
- package/dist/dex/jupiter-ultra.js.map +1 -0
- package/dist/dex/meteora-damm-v1.d.ts +36 -0
- package/dist/dex/meteora-damm-v1.d.ts.map +1 -0
- package/dist/dex/meteora-damm-v1.js +314 -0
- package/dist/dex/meteora-damm-v1.js.map +1 -0
- package/dist/dex/meteora-damm-v2.d.ts +103 -0
- package/dist/dex/meteora-damm-v2.d.ts.map +1 -0
- package/dist/dex/meteora-damm-v2.js +1146 -0
- package/dist/dex/meteora-damm-v2.js.map +1 -0
- package/dist/dex/meteora-dbc.d.ts +38 -0
- package/dist/dex/meteora-dbc.d.ts.map +1 -0
- package/dist/dex/meteora-dbc.js +374 -0
- package/dist/dex/meteora-dbc.js.map +1 -0
- package/dist/dex/meteora-dlmm.d.ts +79 -0
- package/dist/dex/meteora-dlmm.d.ts.map +1 -0
- package/dist/dex/meteora-dlmm.js +735 -0
- package/dist/dex/meteora-dlmm.js.map +1 -0
- package/dist/dex/orca.d.ts +31 -0
- package/dist/dex/orca.d.ts.map +1 -0
- package/dist/dex/orca.js +536 -0
- package/dist/dex/orca.js.map +1 -0
- package/dist/dex/pancakeswap-clmm.d.ts +16 -0
- package/dist/dex/pancakeswap-clmm.d.ts.map +1 -0
- package/dist/dex/pancakeswap-clmm.js +39 -0
- package/dist/dex/pancakeswap-clmm.js.map +1 -0
- package/dist/dex/pumpfun-amm.d.ts +46 -0
- package/dist/dex/pumpfun-amm.d.ts.map +1 -0
- package/dist/dex/pumpfun-amm.js +692 -0
- package/dist/dex/pumpfun-amm.js.map +1 -0
- package/dist/dex/pumpfun.d.ts +41 -0
- package/dist/dex/pumpfun.d.ts.map +1 -0
- package/dist/dex/pumpfun.js +555 -0
- package/dist/dex/pumpfun.js.map +1 -0
- package/dist/dex/raydium-amm-v4.d.ts +11 -0
- package/dist/dex/raydium-amm-v4.d.ts.map +1 -0
- package/dist/dex/raydium-amm-v4.js +649 -0
- package/dist/dex/raydium-amm-v4.js.map +1 -0
- package/dist/dex/raydium-clmm.d.ts +12 -0
- package/dist/dex/raydium-clmm.d.ts.map +1 -0
- package/dist/dex/raydium-clmm.js +675 -0
- package/dist/dex/raydium-clmm.js.map +1 -0
- package/dist/dex/raydium-cpmm.d.ts +10 -0
- package/dist/dex/raydium-cpmm.d.ts.map +1 -0
- package/dist/dex/raydium-cpmm.js +613 -0
- package/dist/dex/raydium-cpmm.js.map +1 -0
- package/dist/dex/raydium-launchlab.d.ts +12 -0
- package/dist/dex/raydium-launchlab.d.ts.map +1 -0
- package/dist/dex/raydium-launchlab.js +530 -0
- package/dist/dex/raydium-launchlab.js.map +1 -0
- package/dist/dex/shared/clmm-base.d.ts +58 -0
- package/dist/dex/shared/clmm-base.d.ts.map +1 -0
- package/dist/dex/shared/clmm-base.js +891 -0
- package/dist/dex/shared/clmm-base.js.map +1 -0
- package/dist/dex/types.d.ts +601 -0
- package/dist/dex/types.d.ts.map +1 -0
- package/dist/dex/types.js +137 -0
- package/dist/dex/types.js.map +1 -0
- package/dist/dexscreener/index.d.ts +2 -0
- package/dist/dexscreener/index.d.ts.map +1 -0
- package/dist/dexscreener/index.js +18 -0
- package/dist/dexscreener/index.js.map +1 -0
- package/dist/dexscreener/info.d.ts +22 -0
- package/dist/dexscreener/info.d.ts.map +1 -0
- package/dist/dexscreener/info.js +104 -0
- package/dist/dexscreener/info.js.map +1 -0
- package/dist/helpers/check_balance.d.ts +10 -0
- package/dist/helpers/check_balance.d.ts.map +1 -0
- package/dist/helpers/check_balance.js +34 -0
- package/dist/helpers/check_balance.js.map +1 -0
- package/dist/helpers/config.d.ts +51 -0
- package/dist/helpers/config.d.ts.map +1 -0
- package/dist/helpers/config.js +118 -0
- package/dist/helpers/config.js.map +1 -0
- package/dist/helpers/index.d.ts +8 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +29 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/logger.d.ts +27 -0
- package/dist/helpers/logger.d.ts.map +1 -0
- package/dist/helpers/logger.js +39 -0
- package/dist/helpers/logger.js.map +1 -0
- package/dist/helpers/token-2022.d.ts +32 -0
- package/dist/helpers/token-2022.d.ts.map +1 -0
- package/dist/helpers/token-2022.js +48 -0
- package/dist/helpers/token-2022.js.map +1 -0
- package/dist/helpers/unwrap_sol.d.ts +2 -0
- package/dist/helpers/unwrap_sol.d.ts.map +1 -0
- package/dist/helpers/unwrap_sol.js +67 -0
- package/dist/helpers/unwrap_sol.js.map +1 -0
- package/dist/helpers/util.d.ts +698 -0
- package/dist/helpers/util.d.ts.map +1 -0
- package/dist/helpers/util.js +181 -0
- package/dist/helpers/util.js.map +1 -0
- package/dist/helpers/utils.d.ts +10 -0
- package/dist/helpers/utils.d.ts.map +1 -0
- package/dist/helpers/utils.js +97 -0
- package/dist/helpers/utils.js.map +1 -0
- package/dist/helpers/wrap_sol.d.ts +3 -0
- package/dist/helpers/wrap_sol.d.ts.map +1 -0
- package/dist/helpers/wrap_sol.js +88 -0
- package/dist/helpers/wrap_sol.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/transactions/bloXroute_tips_tx_executor.d.ts +4 -0
- package/dist/transactions/bloXroute_tips_tx_executor.d.ts.map +1 -0
- package/dist/transactions/bloXroute_tips_tx_executor.js +70 -0
- package/dist/transactions/bloXroute_tips_tx_executor.js.map +1 -0
- package/dist/transactions/index.d.ts +6 -0
- package/dist/transactions/index.d.ts.map +1 -0
- package/dist/transactions/index.js +30 -0
- package/dist/transactions/index.js.map +1 -0
- package/dist/transactions/jito_tips_tx_executor.d.ts +15 -0
- package/dist/transactions/jito_tips_tx_executor.d.ts.map +1 -0
- package/dist/transactions/jito_tips_tx_executor.js +99 -0
- package/dist/transactions/jito_tips_tx_executor.js.map +1 -0
- package/dist/transactions/landing/index.d.ts +30 -0
- package/dist/transactions/landing/index.d.ts.map +1 -0
- package/dist/transactions/landing/index.js +60 -0
- package/dist/transactions/landing/index.js.map +1 -0
- package/dist/transactions/landing/nonce-manager.d.ts +116 -0
- package/dist/transactions/landing/nonce-manager.d.ts.map +1 -0
- package/dist/transactions/landing/nonce-manager.js +393 -0
- package/dist/transactions/landing/nonce-manager.js.map +1 -0
- package/dist/transactions/landing/orchestrator.d.ts +104 -0
- package/dist/transactions/landing/orchestrator.d.ts.map +1 -0
- package/dist/transactions/landing/orchestrator.js +329 -0
- package/dist/transactions/landing/orchestrator.js.map +1 -0
- package/dist/transactions/landing/providers/astralane.d.ts +12 -0
- package/dist/transactions/landing/providers/astralane.d.ts.map +1 -0
- package/dist/transactions/landing/providers/astralane.js +132 -0
- package/dist/transactions/landing/providers/astralane.js.map +1 -0
- package/dist/transactions/landing/providers/blockrazor.d.ts +11 -0
- package/dist/transactions/landing/providers/blockrazor.d.ts.map +1 -0
- package/dist/transactions/landing/providers/blockrazor.js +134 -0
- package/dist/transactions/landing/providers/blockrazor.js.map +1 -0
- package/dist/transactions/landing/providers/bloxroute.d.ts +12 -0
- package/dist/transactions/landing/providers/bloxroute.d.ts.map +1 -0
- package/dist/transactions/landing/providers/bloxroute.js +102 -0
- package/dist/transactions/landing/providers/bloxroute.js.map +1 -0
- package/dist/transactions/landing/providers/flashblock.d.ts +10 -0
- package/dist/transactions/landing/providers/flashblock.d.ts.map +1 -0
- package/dist/transactions/landing/providers/flashblock.js +102 -0
- package/dist/transactions/landing/providers/flashblock.js.map +1 -0
- package/dist/transactions/landing/providers/helius-sender.d.ts +11 -0
- package/dist/transactions/landing/providers/helius-sender.d.ts.map +1 -0
- package/dist/transactions/landing/providers/helius-sender.js +101 -0
- package/dist/transactions/landing/providers/helius-sender.js.map +1 -0
- package/dist/transactions/landing/providers/jito.d.ts +16 -0
- package/dist/transactions/landing/providers/jito.d.ts.map +1 -0
- package/dist/transactions/landing/providers/jito.js +110 -0
- package/dist/transactions/landing/providers/jito.js.map +1 -0
- package/dist/transactions/landing/providers/nextblock.d.ts +11 -0
- package/dist/transactions/landing/providers/nextblock.d.ts.map +1 -0
- package/dist/transactions/landing/providers/nextblock.js +109 -0
- package/dist/transactions/landing/providers/nextblock.js.map +1 -0
- package/dist/transactions/landing/providers/node1.d.ts +11 -0
- package/dist/transactions/landing/providers/node1.d.ts.map +1 -0
- package/dist/transactions/landing/providers/node1.js +101 -0
- package/dist/transactions/landing/providers/node1.js.map +1 -0
- package/dist/transactions/landing/providers/nozomi.d.ts +11 -0
- package/dist/transactions/landing/providers/nozomi.d.ts.map +1 -0
- package/dist/transactions/landing/providers/nozomi.js +124 -0
- package/dist/transactions/landing/providers/nozomi.js.map +1 -0
- package/dist/transactions/landing/providers/soyas.d.ts +16 -0
- package/dist/transactions/landing/providers/soyas.d.ts.map +1 -0
- package/dist/transactions/landing/providers/soyas.js +192 -0
- package/dist/transactions/landing/providers/soyas.js.map +1 -0
- package/dist/transactions/landing/providers/stellium.d.ts +11 -0
- package/dist/transactions/landing/providers/stellium.d.ts.map +1 -0
- package/dist/transactions/landing/providers/stellium.js +102 -0
- package/dist/transactions/landing/providers/stellium.js.map +1 -0
- package/dist/transactions/landing/providers/zero-slot.d.ts +10 -0
- package/dist/transactions/landing/providers/zero-slot.d.ts.map +1 -0
- package/dist/transactions/landing/providers/zero-slot.js +92 -0
- package/dist/transactions/landing/providers/zero-slot.js.map +1 -0
- package/dist/transactions/landing/tip-accounts.d.ts +22 -0
- package/dist/transactions/landing/tip-accounts.d.ts.map +1 -0
- package/dist/transactions/landing/tip-accounts.js +140 -0
- package/dist/transactions/landing/tip-accounts.js.map +1 -0
- package/dist/transactions/landing/types.d.ts +98 -0
- package/dist/transactions/landing/types.d.ts.map +1 -0
- package/dist/transactions/landing/types.js +30 -0
- package/dist/transactions/landing/types.js.map +1 -0
- package/dist/transactions/nozomi/tx-submission.d.ts +14 -0
- package/dist/transactions/nozomi/tx-submission.d.ts.map +1 -0
- package/dist/transactions/nozomi/tx-submission.js +107 -0
- package/dist/transactions/nozomi/tx-submission.js.map +1 -0
- package/dist/transactions/send-rpc.d.ts +54 -0
- package/dist/transactions/send-rpc.d.ts.map +1 -0
- package/dist/transactions/send-rpc.js +126 -0
- package/dist/transactions/send-rpc.js.map +1 -0
- package/dist/transactions/simple_tx_executor.d.ts +10 -0
- package/dist/transactions/simple_tx_executor.d.ts.map +1 -0
- package/dist/transactions/simple_tx_executor.js +33 -0
- package/dist/transactions/simple_tx_executor.js.map +1 -0
- package/package.json +112 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clmm-base.js","sourceRoot":"","sources":["../../../src/dex/shared/clmm-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,601 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DEX Adapter Layer — Shared Types & Interfaces
|
|
3
|
+
*
|
|
4
|
+
* Every DEX module (raydium-amm-v4, meteora-dlmm, orca, jupiter, etc.)
|
|
5
|
+
* implements IDexAdapter. The DexRegistry provides them to the CLI and
|
|
6
|
+
* to external consumers (OpenClaw plugin, bots, etc.) via getDexAdapter().
|
|
7
|
+
*
|
|
8
|
+
* Design decisions:
|
|
9
|
+
* - String mint addresses (not PublicKey) — matches Jupiter pattern, avoids
|
|
10
|
+
* forcing consumers to import @solana/web3.js. Adapters convert internally.
|
|
11
|
+
* - buildSwapIxs() is separate from buy() — the nonce manager needs to
|
|
12
|
+
* prepend nonceAdvance before swap instructions. If buy() is monolithic
|
|
13
|
+
* (build+sign+send), there's no hook point.
|
|
14
|
+
* - SnipeParams.poolAddress is required — you can't snipe without knowing
|
|
15
|
+
* the pool. Regular buy() can auto-discover.
|
|
16
|
+
* - DexCapabilities object — extensible feature flags, one place to check
|
|
17
|
+
* what an adapter supports.
|
|
18
|
+
*/
|
|
19
|
+
import { TransactionInstruction, Keypair, AddressLookupTableAccount } from "@solana/web3.js";
|
|
20
|
+
import { SubmissionStrategy } from "../transactions/landing/types";
|
|
21
|
+
export type SwapSide = "buy" | "sell";
|
|
22
|
+
export interface SwapOpts {
|
|
23
|
+
/** Slippage tolerance in basis points (default: 300 = 3%) */
|
|
24
|
+
slippageBps?: number;
|
|
25
|
+
/** Priority fee in microLamports per compute unit (default: 4000) */
|
|
26
|
+
priorityFeeMicroLamports?: number;
|
|
27
|
+
/** MEV tip in SOL — appended as tip instruction to a tip account */
|
|
28
|
+
tipSol?: number;
|
|
29
|
+
/** Compute unit limit (default: adapter-specific, usually 200_000-400_000) */
|
|
30
|
+
computeUnitLimit?: number;
|
|
31
|
+
/** Use Jito bundle submission instead of standard landing */
|
|
32
|
+
useJito?: boolean;
|
|
33
|
+
/** TX landing strategy override (default: from env TX_LANDING_MODE) */
|
|
34
|
+
landingStrategy?: SubmissionStrategy;
|
|
35
|
+
/**
|
|
36
|
+
* Address lookup table accounts for V0 message compilation.
|
|
37
|
+
* Adapters may provide their own; this allows callers to add extras.
|
|
38
|
+
*/
|
|
39
|
+
addressLookupTables?: AddressLookupTableAccount[];
|
|
40
|
+
}
|
|
41
|
+
export interface BuyParams {
|
|
42
|
+
/**
|
|
43
|
+
* Token mint address to buy (base58 string).
|
|
44
|
+
*
|
|
45
|
+
* Optional when poolAddress is provided — the adapter or CLI can decode
|
|
46
|
+
* the pool account to determine the non-SOL token mint automatically.
|
|
47
|
+
*/
|
|
48
|
+
tokenMint?: string;
|
|
49
|
+
/** Amount of SOL (or quote token) to spend, in human-readable units */
|
|
50
|
+
amountSol: number;
|
|
51
|
+
/**
|
|
52
|
+
* Quote token mint address (default: WSOL).
|
|
53
|
+
* Some pools pair tokens with USDC/USDT instead of SOL.
|
|
54
|
+
*/
|
|
55
|
+
quoteMint?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Pool address to trade on.
|
|
58
|
+
*
|
|
59
|
+
* Required for on-chain DEX adapters. Not needed for aggregators
|
|
60
|
+
* (jupiter-ultra, dflow) which find the best route automatically.
|
|
61
|
+
*/
|
|
62
|
+
poolAddress?: string;
|
|
63
|
+
/** Swap options */
|
|
64
|
+
opts?: SwapOpts;
|
|
65
|
+
}
|
|
66
|
+
export interface SellParams {
|
|
67
|
+
/**
|
|
68
|
+
* Token mint address to sell (base58 string).
|
|
69
|
+
*
|
|
70
|
+
* Optional when poolAddress is provided — the adapter or CLI can decode
|
|
71
|
+
* the pool account to determine the non-SOL token mint automatically.
|
|
72
|
+
*/
|
|
73
|
+
tokenMint?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Percentage of held token balance to sell (0-100).
|
|
76
|
+
* 100 = sell all, 50 = sell half.
|
|
77
|
+
*/
|
|
78
|
+
percentage: number;
|
|
79
|
+
/**
|
|
80
|
+
* Quote token mint to receive (default: WSOL).
|
|
81
|
+
*/
|
|
82
|
+
quoteMint?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Pool address. If omitted, adapter auto-discovers.
|
|
85
|
+
*/
|
|
86
|
+
poolAddress?: string;
|
|
87
|
+
/** Swap options */
|
|
88
|
+
opts?: SwapOpts;
|
|
89
|
+
}
|
|
90
|
+
export interface SnipeParams {
|
|
91
|
+
/** Token mint address to snipe (base58 string) */
|
|
92
|
+
tokenMint: string;
|
|
93
|
+
/** Amount of SOL to spend, in human-readable units */
|
|
94
|
+
amountSol: number;
|
|
95
|
+
/**
|
|
96
|
+
* Pool address — REQUIRED for sniping.
|
|
97
|
+
* Unlike buy(), you must know the pool in advance (from gRPC stream, etc.)
|
|
98
|
+
*/
|
|
99
|
+
poolAddress: string;
|
|
100
|
+
/** Quote token mint (default: WSOL) */
|
|
101
|
+
quoteMint?: string;
|
|
102
|
+
/** MEV tip in SOL — required for competitive sniping */
|
|
103
|
+
tipSol: number;
|
|
104
|
+
/** Swap options (slippage, compute budget, etc.) */
|
|
105
|
+
opts?: SwapOpts;
|
|
106
|
+
}
|
|
107
|
+
export interface SwapResult {
|
|
108
|
+
/** Transaction signature (base58) */
|
|
109
|
+
txSignature: string;
|
|
110
|
+
/** Whether the transaction was confirmed on-chain */
|
|
111
|
+
confirmed: boolean;
|
|
112
|
+
/** Amount of input token spent (human-readable units) */
|
|
113
|
+
amountIn: number;
|
|
114
|
+
/** Input token symbol or mint */
|
|
115
|
+
amountInToken: string;
|
|
116
|
+
/** Amount of output token received (human-readable units), if known */
|
|
117
|
+
amountOut?: number;
|
|
118
|
+
/** Output token symbol or mint */
|
|
119
|
+
amountOutToken?: string;
|
|
120
|
+
/** Price impact percentage, if calculable */
|
|
121
|
+
priceImpactPct?: number;
|
|
122
|
+
/** Which DEX adapter executed this swap */
|
|
123
|
+
dex: string;
|
|
124
|
+
/** Pool address used */
|
|
125
|
+
poolAddress?: string;
|
|
126
|
+
}
|
|
127
|
+
export interface TxResult {
|
|
128
|
+
/** Transaction signature (base58) */
|
|
129
|
+
txSignature: string;
|
|
130
|
+
/** Whether the transaction was confirmed on-chain */
|
|
131
|
+
confirmed: boolean;
|
|
132
|
+
/** Error message if the transaction failed */
|
|
133
|
+
error?: string;
|
|
134
|
+
/** Position address (for LP operations that create/modify positions) */
|
|
135
|
+
positionAddress?: string;
|
|
136
|
+
/** Pool address (for LP operations) */
|
|
137
|
+
poolAddress?: string;
|
|
138
|
+
/** Which DEX adapter executed this operation */
|
|
139
|
+
dex?: string;
|
|
140
|
+
}
|
|
141
|
+
export interface PoolInfo {
|
|
142
|
+
/** Pool address (base58) */
|
|
143
|
+
address: string;
|
|
144
|
+
/** DEX adapter name that found this pool */
|
|
145
|
+
dex: string;
|
|
146
|
+
/** Protocol type (e.g. "amm-v4", "cpmm", "clmm", "dlmm") */
|
|
147
|
+
protocol: string;
|
|
148
|
+
/** Base token mint (base58) */
|
|
149
|
+
baseMint: string;
|
|
150
|
+
/** Quote token mint (base58) */
|
|
151
|
+
quoteMint: string;
|
|
152
|
+
/** Base token decimals */
|
|
153
|
+
baseDecimals: number;
|
|
154
|
+
/** Quote token decimals */
|
|
155
|
+
quoteDecimals: number;
|
|
156
|
+
/** Pool liquidity in USD (if known) */
|
|
157
|
+
liquidity?: number;
|
|
158
|
+
/** Current price of base token in quote token units */
|
|
159
|
+
price?: number;
|
|
160
|
+
}
|
|
161
|
+
export interface PriceInfo {
|
|
162
|
+
/** Price of base token in quote token units */
|
|
163
|
+
price: number;
|
|
164
|
+
/** Base token mint (base58) */
|
|
165
|
+
baseMint: string;
|
|
166
|
+
/** Quote token mint (base58) */
|
|
167
|
+
quoteMint: string;
|
|
168
|
+
/** Source of the price (e.g. "on-chain", "api") */
|
|
169
|
+
source: string;
|
|
170
|
+
/** Pool address used for price calculation */
|
|
171
|
+
poolAddress: string;
|
|
172
|
+
/** Timestamp of the price reading (ms since epoch) */
|
|
173
|
+
timestamp: number;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Fee schedule configuration for DAMM v2 custom pools.
|
|
177
|
+
*
|
|
178
|
+
* Controls how fees decay over time after pool activation.
|
|
179
|
+
* Two modes:
|
|
180
|
+
* - Linear (feeSchedulerMode=0): fees drop linearly from max to min
|
|
181
|
+
* - Exponential (feeSchedulerMode=1): fees drop exponentially from max to min
|
|
182
|
+
*/
|
|
183
|
+
export interface PoolFeeConfig {
|
|
184
|
+
/** Maximum base fee in basis points (e.g. 9900 = 99%) — charged at pool activation */
|
|
185
|
+
maxBaseFeeBps: number;
|
|
186
|
+
/** Minimum base fee in basis points (e.g. 200 = 2%) — reached after totalDuration */
|
|
187
|
+
minBaseFeeBps: number;
|
|
188
|
+
/** Number of fee decay periods */
|
|
189
|
+
numberOfPeriod: number;
|
|
190
|
+
/** Total duration in seconds for fee schedule (activationType=1/timestamp) */
|
|
191
|
+
totalDuration: number;
|
|
192
|
+
/** 0 = Linear decay, 1 = Exponential decay */
|
|
193
|
+
feeSchedulerMode: number;
|
|
194
|
+
/** Whether to enable dynamic fee on top of base fee (adds ~20% of minBaseFeeBps) */
|
|
195
|
+
useDynamicFee: boolean;
|
|
196
|
+
/** Custom dynamic fee params (if null, auto-calculated from minBaseFeeBps) */
|
|
197
|
+
dynamicFeeConfig?: {
|
|
198
|
+
filterPeriod: number;
|
|
199
|
+
decayPeriod: number;
|
|
200
|
+
reductionFactor: number;
|
|
201
|
+
variableFeeControl: number;
|
|
202
|
+
maxVolatilityAccumulator: number;
|
|
203
|
+
} | null;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Parameters for creating a DAMM v2 custom pool (full fee config, custom price range).
|
|
207
|
+
*
|
|
208
|
+
* Uses `cpAmm.createCustomPool()` — the most flexible pool creation method.
|
|
209
|
+
* This is what production systems use for token launches.
|
|
210
|
+
*/
|
|
211
|
+
export interface CreateCustomPoolParams {
|
|
212
|
+
/** Base token mint address (base58) */
|
|
213
|
+
baseMint: string;
|
|
214
|
+
/** Quote token mint address (base58, default: WSOL) */
|
|
215
|
+
quoteMint?: string;
|
|
216
|
+
/** Amount of base token to seed (human-readable, e.g. 1000000) */
|
|
217
|
+
baseAmount: number;
|
|
218
|
+
/** Amount of quote token to seed (human-readable, e.g. 0.5 SOL) */
|
|
219
|
+
quoteAmount: number;
|
|
220
|
+
/**
|
|
221
|
+
* Initial price in quote/base units (e.g. 0.0000001 SOL per token).
|
|
222
|
+
* If omitted, calculated from quoteAmount / baseAmount.
|
|
223
|
+
*/
|
|
224
|
+
initPrice?: number;
|
|
225
|
+
/** Fee schedule configuration */
|
|
226
|
+
poolFees: PoolFeeConfig;
|
|
227
|
+
/** 0 = collect fees in both tokens, 1 = collect fees in quote token only */
|
|
228
|
+
collectFeeMode?: number;
|
|
229
|
+
/** 0 = Slot-based activation, 1 = Timestamp-based activation (default: 1) */
|
|
230
|
+
activationType?: number;
|
|
231
|
+
/** Activation point (slot number or unix timestamp). null = activate immediately */
|
|
232
|
+
activationPoint?: number | null;
|
|
233
|
+
/** Whether to create an alpha vault after pool creation (default: false) */
|
|
234
|
+
hasAlphaVault?: boolean;
|
|
235
|
+
/** Swap options (priority fee, compute limit, etc.) */
|
|
236
|
+
opts?: SwapOpts;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Parameters for creating a DAMM v2 pool using a pre-existing config.
|
|
240
|
+
*
|
|
241
|
+
* Uses `cpAmm.createPool()` — simpler, less customizable.
|
|
242
|
+
* The config address determines the fee schedule and price range.
|
|
243
|
+
*/
|
|
244
|
+
export interface CreateConfigPoolParams {
|
|
245
|
+
/** Base token mint address (base58) */
|
|
246
|
+
baseMint: string;
|
|
247
|
+
/** Quote token mint address (base58, default: WSOL) */
|
|
248
|
+
quoteMint?: string;
|
|
249
|
+
/** Amount of base token to seed (human-readable) */
|
|
250
|
+
baseAmount: number;
|
|
251
|
+
/** Amount of quote token to seed (human-readable) */
|
|
252
|
+
quoteAmount: number;
|
|
253
|
+
/**
|
|
254
|
+
* Initial price in quote/base units.
|
|
255
|
+
* If omitted, calculated from quoteAmount / baseAmount.
|
|
256
|
+
*/
|
|
257
|
+
initPrice?: number;
|
|
258
|
+
/** On-chain config address (base58). Known configs:
|
|
259
|
+
* - 2yAJha5NVgq5mEitTUvdWSUKrcYvxAAc2H6rPDbEQqSu
|
|
260
|
+
* - EcfqEkLSeGzDtZrTJWcbDxptfR2nWfX6cjJLFkgttwY6
|
|
261
|
+
*/
|
|
262
|
+
configAddress: string;
|
|
263
|
+
/** Activation point (slot number or unix timestamp). null = activate immediately */
|
|
264
|
+
activationPoint?: number | null;
|
|
265
|
+
/** Whether to lock the initial liquidity permanently (default: false) */
|
|
266
|
+
lockLiquidity?: boolean;
|
|
267
|
+
/** Swap options (priority fee, compute limit, etc.) */
|
|
268
|
+
opts?: SwapOpts;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Liquidity distribution strategy for concentrated liquidity pools.
|
|
272
|
+
*
|
|
273
|
+
* - spot: Uniform distribution across bins (most common)
|
|
274
|
+
* - curve: Bell-curve distribution, concentrated near active bin
|
|
275
|
+
* - bid-ask: Skewed distribution — heavier on one side (DCA-in or DCA-out)
|
|
276
|
+
*/
|
|
277
|
+
export type LpStrategy = "spot" | "curve" | "bid-ask";
|
|
278
|
+
export interface AddLiquidityParams {
|
|
279
|
+
/** Pool address to add liquidity to */
|
|
280
|
+
poolAddress: string;
|
|
281
|
+
/**
|
|
282
|
+
* Amount of SOL to deposit, human-readable units.
|
|
283
|
+
* For one-sided SOL positions, only this is needed.
|
|
284
|
+
*/
|
|
285
|
+
amountSol?: number;
|
|
286
|
+
/**
|
|
287
|
+
* Amount of the non-SOL token to deposit, human-readable units.
|
|
288
|
+
* For one-sided token positions, only this is needed.
|
|
289
|
+
*/
|
|
290
|
+
amountToken?: number;
|
|
291
|
+
/**
|
|
292
|
+
* Token mint address (required for single-sided token deposits).
|
|
293
|
+
* For SOL-only deposits this can be omitted — the adapter reads it from pool state.
|
|
294
|
+
*/
|
|
295
|
+
tokenMint?: string;
|
|
296
|
+
/**
|
|
297
|
+
* Liquidity distribution strategy (default: "spot").
|
|
298
|
+
* Only applicable to concentrated liquidity pools (DLMM).
|
|
299
|
+
*/
|
|
300
|
+
strategy?: LpStrategy;
|
|
301
|
+
/**
|
|
302
|
+
* Number of bins to spread liquidity across (default: 50, max: 70).
|
|
303
|
+
* Only applicable to concentrated liquidity pools (DLMM).
|
|
304
|
+
*/
|
|
305
|
+
bins?: number;
|
|
306
|
+
/** @deprecated Use amountSol instead */
|
|
307
|
+
amountA?: number;
|
|
308
|
+
/** @deprecated Use amountToken instead */
|
|
309
|
+
amountB?: number;
|
|
310
|
+
/** Swap options (slippage, priority fee, etc.) */
|
|
311
|
+
opts?: SwapOpts;
|
|
312
|
+
}
|
|
313
|
+
export interface RemoveLiquidityParams {
|
|
314
|
+
/** Pool address to remove liquidity from */
|
|
315
|
+
poolAddress: string;
|
|
316
|
+
/** Percentage of LP position to remove (0-100) */
|
|
317
|
+
percentage: number;
|
|
318
|
+
/**
|
|
319
|
+
* Specific position address to remove from (base58).
|
|
320
|
+
* If omitted, the adapter removes from the first position found.
|
|
321
|
+
*/
|
|
322
|
+
positionAddress?: string;
|
|
323
|
+
/** Swap options */
|
|
324
|
+
opts?: SwapOpts;
|
|
325
|
+
}
|
|
326
|
+
export interface LpPositionInfo {
|
|
327
|
+
/** Position account address (base58) */
|
|
328
|
+
positionAddress: string;
|
|
329
|
+
/** Pool address this position belongs to (base58) */
|
|
330
|
+
poolAddress: string;
|
|
331
|
+
/** DEX adapter name */
|
|
332
|
+
dex: string;
|
|
333
|
+
/** Lower bin ID of the position range */
|
|
334
|
+
lowerBinId: number;
|
|
335
|
+
/** Upper bin ID of the position range */
|
|
336
|
+
upperBinId: number;
|
|
337
|
+
/** Amount of token X in the position (human-readable) */
|
|
338
|
+
amountX: number;
|
|
339
|
+
/** Amount of token Y in the position (human-readable) */
|
|
340
|
+
amountY: number;
|
|
341
|
+
/** Token X mint (base58) */
|
|
342
|
+
tokenXMint: string;
|
|
343
|
+
/** Token Y mint (base58) */
|
|
344
|
+
tokenYMint: string;
|
|
345
|
+
/** Unclaimed fee for token X (human-readable) */
|
|
346
|
+
feeX: number;
|
|
347
|
+
/** Unclaimed fee for token Y (human-readable) */
|
|
348
|
+
feeY: number;
|
|
349
|
+
/** Whether the active bin is within this position's range */
|
|
350
|
+
inRange: boolean;
|
|
351
|
+
}
|
|
352
|
+
export interface DexCapabilities {
|
|
353
|
+
/** Can execute buy swaps */
|
|
354
|
+
canBuy: boolean;
|
|
355
|
+
/** Can execute sell swaps */
|
|
356
|
+
canSell: boolean;
|
|
357
|
+
/**
|
|
358
|
+
* Can snipe (concurrent TX landing with pre-built instructions).
|
|
359
|
+
* Adapters that support snipe MUST implement buildSwapIxs().
|
|
360
|
+
*/
|
|
361
|
+
canSnipe: boolean;
|
|
362
|
+
/** Can discover pools for a token pair */
|
|
363
|
+
canFindPool: boolean;
|
|
364
|
+
/** Can read on-chain price from a pool */
|
|
365
|
+
canGetPrice: boolean;
|
|
366
|
+
/** Can add liquidity */
|
|
367
|
+
canAddLiquidity: boolean;
|
|
368
|
+
/** Can remove liquidity */
|
|
369
|
+
canRemoveLiquidity: boolean;
|
|
370
|
+
/** Can claim LP swap fees from positions */
|
|
371
|
+
canClaimFees: boolean;
|
|
372
|
+
/** Can list user's LP positions */
|
|
373
|
+
canListPositions: boolean;
|
|
374
|
+
/** Can create new pools (e.g. DAMM v2 createCustomPool / createPool) */
|
|
375
|
+
canCreatePool: boolean;
|
|
376
|
+
/**
|
|
377
|
+
* Whether this adapter is a swap aggregator (e.g. Jupiter, DFlow).
|
|
378
|
+
*
|
|
379
|
+
* Aggregators route trades across multiple DEXes — the user only needs to
|
|
380
|
+
* specify the token mint, not a pool address. The aggregator finds the best
|
|
381
|
+
* route automatically.
|
|
382
|
+
*
|
|
383
|
+
* On-chain adapters (isAggregator=false) require a pool address. The adapter
|
|
384
|
+
* reads the pool's base/quote mints and determines the swap direction. The
|
|
385
|
+
* user does NOT need to specify a token mint — it's derived from pool state.
|
|
386
|
+
*/
|
|
387
|
+
isAggregator: boolean;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Create a DexCapabilities with all flags defaulting to false,
|
|
391
|
+
* then override the ones you support.
|
|
392
|
+
*/
|
|
393
|
+
export declare function defaultCapabilities(overrides?: Partial<DexCapabilities>): DexCapabilities;
|
|
394
|
+
export interface DexAdapterInfo {
|
|
395
|
+
/** Unique adapter name */
|
|
396
|
+
name: string;
|
|
397
|
+
/** Protocol type */
|
|
398
|
+
protocol: string;
|
|
399
|
+
/** Feature flags */
|
|
400
|
+
capabilities: DexCapabilities;
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Result of building swap instructions without executing.
|
|
404
|
+
* Used by the orchestrator to prepend nonce + compute budget instructions,
|
|
405
|
+
* then submit through the landing layer.
|
|
406
|
+
*/
|
|
407
|
+
export interface BuildSwapIxsResult {
|
|
408
|
+
/** Swap instructions (WITHOUT compute budget or tip — orchestrator adds those) */
|
|
409
|
+
instructions: TransactionInstruction[];
|
|
410
|
+
/** Extra signers beyond the primary wallet */
|
|
411
|
+
signers: Keypair[];
|
|
412
|
+
/** Address lookup tables needed for V0 message compilation */
|
|
413
|
+
addressLookupTables?: AddressLookupTableAccount[];
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* IDexAdapter — The contract every DEX module implements.
|
|
417
|
+
*
|
|
418
|
+
* Each adapter encapsulates:
|
|
419
|
+
* - SDK initialization and lifecycle
|
|
420
|
+
* - Pool account derivation / discovery
|
|
421
|
+
* - Token program detection (SPL vs Token-2022)
|
|
422
|
+
* - Instruction building
|
|
423
|
+
* - Swap execution (via landing layer or direct RPC)
|
|
424
|
+
*
|
|
425
|
+
* Adapters are registered with the DexRegistry and accessed via
|
|
426
|
+
* getDexAdapter("raydium-amm-v4"). No direct imports of DEX internals
|
|
427
|
+
* should leak to CLI or external consumers.
|
|
428
|
+
*/
|
|
429
|
+
export interface IDexAdapter {
|
|
430
|
+
/** Unique adapter name, e.g. "raydium-amm-v4", "meteora-dlmm" */
|
|
431
|
+
readonly name: string;
|
|
432
|
+
/** Protocol type, e.g. "amm-v4", "cpmm", "clmm", "dlmm", "whirlpool", "ultra" */
|
|
433
|
+
readonly protocol: string;
|
|
434
|
+
/** Feature flags — what this adapter supports */
|
|
435
|
+
readonly capabilities: DexCapabilities;
|
|
436
|
+
/**
|
|
437
|
+
* Buy tokens with SOL (or other quote token).
|
|
438
|
+
*
|
|
439
|
+
* The adapter handles:
|
|
440
|
+
* 1. Pool discovery (if poolAddress not provided)
|
|
441
|
+
* 2. Token program detection (SPL vs Token-2022)
|
|
442
|
+
* 3. Slippage calculation and minAmountOut
|
|
443
|
+
* 4. Instruction building
|
|
444
|
+
* 5. Transaction submission via landing layer
|
|
445
|
+
*
|
|
446
|
+
* @param params - Buy parameters
|
|
447
|
+
* @returns Swap result with signature, amounts, and pool info
|
|
448
|
+
*/
|
|
449
|
+
buy(params: BuyParams): Promise<SwapResult>;
|
|
450
|
+
/**
|
|
451
|
+
* Sell tokens for SOL (or other quote token).
|
|
452
|
+
*
|
|
453
|
+
* @param params - Sell parameters (percentage-based)
|
|
454
|
+
* @returns Swap result
|
|
455
|
+
* @throws UnsupportedOperationError if capabilities.canSell is false
|
|
456
|
+
*/
|
|
457
|
+
sell(params: SellParams): Promise<SwapResult>;
|
|
458
|
+
/**
|
|
459
|
+
* Snipe a token on a known pool with concurrent TX landing.
|
|
460
|
+
*
|
|
461
|
+
* Differs from buy() in that:
|
|
462
|
+
* - poolAddress is required (known from gRPC stream)
|
|
463
|
+
* - tipSol is required (competitive sniping needs tips)
|
|
464
|
+
* - Uses durable nonce if available (via NonceManager)
|
|
465
|
+
* - Instructions are sent through the LandingOrchestrator
|
|
466
|
+
*
|
|
467
|
+
* Adapters that support snipe SHOULD also implement buildSwapIxs().
|
|
468
|
+
*
|
|
469
|
+
* @throws UnsupportedOperationError if capabilities.canSnipe is false
|
|
470
|
+
*/
|
|
471
|
+
snipe?(params: SnipeParams): Promise<SwapResult>;
|
|
472
|
+
/**
|
|
473
|
+
* Build swap instructions without executing.
|
|
474
|
+
*
|
|
475
|
+
* Used by the orchestrator / snipe flow to:
|
|
476
|
+
* 1. Prepend NonceManager.buildAdvanceIx() as first instruction
|
|
477
|
+
* 2. Add compute budget instructions
|
|
478
|
+
* 3. Add tip instruction
|
|
479
|
+
* 4. Submit through the landing layer with nonce blockhash
|
|
480
|
+
*
|
|
481
|
+
* Adapters that support snipe MUST implement this.
|
|
482
|
+
*/
|
|
483
|
+
buildSwapIxs?(params: BuyParams | SellParams): Promise<BuildSwapIxsResult>;
|
|
484
|
+
/**
|
|
485
|
+
* Discover pools for a given token pair on this DEX.
|
|
486
|
+
*
|
|
487
|
+
* @param baseMint - Token to find pools for (base58)
|
|
488
|
+
* @param quoteMint - Quote token (default: WSOL). Pass undefined for any quote.
|
|
489
|
+
* @returns Pool info or null if no pool found on this DEX
|
|
490
|
+
*/
|
|
491
|
+
findPool?(baseMint: string, quoteMint?: string): Promise<PoolInfo | null>;
|
|
492
|
+
/**
|
|
493
|
+
* Get the current on-chain price from a pool.
|
|
494
|
+
*
|
|
495
|
+
* Price is calculated directly from on-chain state (reserves, sqrtPriceX64, etc.)
|
|
496
|
+
* — not from an API. This ensures accuracy for sniping decisions.
|
|
497
|
+
*
|
|
498
|
+
* @param poolAddress - Pool to read price from (base58)
|
|
499
|
+
*/
|
|
500
|
+
getPrice?(poolAddress: string): Promise<PriceInfo>;
|
|
501
|
+
/**
|
|
502
|
+
* Add liquidity to a pool.
|
|
503
|
+
* @throws UnsupportedOperationError if capabilities.canAddLiquidity is false
|
|
504
|
+
*/
|
|
505
|
+
addLiquidity?(params: AddLiquidityParams): Promise<TxResult>;
|
|
506
|
+
/**
|
|
507
|
+
* Remove liquidity from a pool.
|
|
508
|
+
* @throws UnsupportedOperationError if capabilities.canRemoveLiquidity is false
|
|
509
|
+
*/
|
|
510
|
+
removeLiquidity?(params: RemoveLiquidityParams): Promise<TxResult>;
|
|
511
|
+
/**
|
|
512
|
+
* Claim accumulated swap fees from LP positions.
|
|
513
|
+
*
|
|
514
|
+
* @param poolAddress - Pool to claim fees from (base58)
|
|
515
|
+
* @param positionAddress - Specific position to claim from (base58). If omitted, claims from first position.
|
|
516
|
+
* @throws UnsupportedOperationError if capabilities.canClaimFees is false
|
|
517
|
+
*/
|
|
518
|
+
claimFees?(poolAddress: string, positionAddress?: string): Promise<TxResult>;
|
|
519
|
+
/**
|
|
520
|
+
* List user's LP positions in a pool.
|
|
521
|
+
*
|
|
522
|
+
* @param poolAddress - Pool to list positions for (base58)
|
|
523
|
+
* @throws UnsupportedOperationError if capabilities.canListPositions is false
|
|
524
|
+
*/
|
|
525
|
+
listPositions?(poolAddress: string): Promise<LpPositionInfo[]>;
|
|
526
|
+
/**
|
|
527
|
+
* Create a new pool with full fee configuration (custom pool).
|
|
528
|
+
*
|
|
529
|
+
* Only supported by DAMM v2 adapters. Uses the SDK's createCustomPool()
|
|
530
|
+
* method which allows setting fee schedule, price range, activation params.
|
|
531
|
+
*
|
|
532
|
+
* @throws UnsupportedOperationError if capabilities.canCreatePool is false
|
|
533
|
+
*/
|
|
534
|
+
createCustomPool?(params: CreateCustomPoolParams): Promise<TxResult>;
|
|
535
|
+
/**
|
|
536
|
+
* Create a new pool using a pre-existing config address.
|
|
537
|
+
*
|
|
538
|
+
* Uses the SDK's createPool() method which inherits fee schedule and price
|
|
539
|
+
* range from the config. Simpler but less customizable.
|
|
540
|
+
*
|
|
541
|
+
* @throws UnsupportedOperationError if capabilities.canCreatePool is false
|
|
542
|
+
*/
|
|
543
|
+
createConfigPool?(params: CreateConfigPoolParams): Promise<TxResult>;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Thrown when an adapter is asked to perform an operation it doesn't support.
|
|
547
|
+
* Check adapter.capabilities before calling optional methods.
|
|
548
|
+
*/
|
|
549
|
+
export declare class UnsupportedOperationError extends Error {
|
|
550
|
+
readonly adapterName: string;
|
|
551
|
+
readonly operation: string;
|
|
552
|
+
constructor(adapterName: string, operation: string);
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Thrown when a pool cannot be found for the given token pair on a DEX.
|
|
556
|
+
*/
|
|
557
|
+
export declare class PoolNotFoundError extends Error {
|
|
558
|
+
readonly dex: string;
|
|
559
|
+
readonly baseMint: string;
|
|
560
|
+
readonly quoteMint?: string;
|
|
561
|
+
constructor(dex: string, baseMint: string, quoteMint?: string);
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Assert that tokenMint is provided, returning it as a non-optional string.
|
|
565
|
+
* Adapters call this at the top of buy()/sell() to narrow the type.
|
|
566
|
+
* The CLI resolves tokenMint from pool state before calling adapters,
|
|
567
|
+
* so this should never throw in normal usage.
|
|
568
|
+
*/
|
|
569
|
+
export declare function requireTokenMint(params: {
|
|
570
|
+
tokenMint?: string;
|
|
571
|
+
}, adapterName: string): string;
|
|
572
|
+
/** Wrapped SOL mint address */
|
|
573
|
+
export declare const WSOL_MINT = "So11111111111111111111111111111111111111112";
|
|
574
|
+
/** USDC mint address */
|
|
575
|
+
export declare const USDC_MINT = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
|
|
576
|
+
/** USDT mint address */
|
|
577
|
+
export declare const USDT_MINT = "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB";
|
|
578
|
+
/** USD1 stablecoin mint */
|
|
579
|
+
export declare const USD1_MINT = "USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB";
|
|
580
|
+
/** Set of known stablecoin mints — used by CLI for auto-swap detection */
|
|
581
|
+
export declare const STABLECOIN_MINTS: Set<string>;
|
|
582
|
+
/**
|
|
583
|
+
* SOL/stablecoin pool registry — used by auto-swap fallback when JUPITER_API_KEY
|
|
584
|
+
* is not set. Each stablecoin maps to a prioritized list of on-chain pools across
|
|
585
|
+
* multiple DEXes, ordered by TVL (highest first). The auto-swap logic tries each
|
|
586
|
+
* pool in order until one succeeds.
|
|
587
|
+
*
|
|
588
|
+
* Pool addresses sourced from Raydium V3 API and Meteora DLMM API (2025-02-21).
|
|
589
|
+
*/
|
|
590
|
+
export interface StablecoinPoolEntry {
|
|
591
|
+
dex: string;
|
|
592
|
+
pool: string;
|
|
593
|
+
}
|
|
594
|
+
export declare const SOL_STABLECOIN_POOLS: Record<string, StablecoinPoolEntry[]>;
|
|
595
|
+
/** Default slippage in basis points (3%) */
|
|
596
|
+
export declare const DEFAULT_SLIPPAGE_BPS = 300;
|
|
597
|
+
/** Default priority fee in microLamports per compute unit */
|
|
598
|
+
export declare const DEFAULT_PRIORITY_FEE_MICRO_LAMPORTS = 100000;
|
|
599
|
+
/** Default compute unit limit */
|
|
600
|
+
export declare const DEFAULT_COMPUTE_UNIT_LIMIT = 400000;
|
|
601
|
+
//# sourceMappingURL=types.d.ts.map
|