Closed violet-evergarden closed 4 months ago
This example is to exchange mintA for mintB. Is there any example of mintB swap mintA?
just modify 2 parts of code, added comments below.
const swapResult = CurveCalculator.swap(
inputAmount,
rpcData.baseReserve, // swap mintB -> mintA, pass rpcData.quoteReserve
rpcData.quoteReserve, // swap mintB -> mintA, pass rpcData.baseReserve
rpcData.configInfo!.tradeFeeRate
)
const { execute } = await raydium.cpmm.swap({
poolInfo,
swapResult,
baseIn: true, // swap mintB -> mintA, pass false
})
Perfect
How to initiate a transaction using baseInput?
other people's transaction my transaction
if you swapped mintA for mintB it uses SwapBaseInput, if swap mintB for mintA it uses SwapBaseOutput, it's decided your tx is baseIn or baseOut. so you can't use SwapBaseInput when you want to swap mintB to mint A
According to this explanation, in the same pool "7JuwJuNU88gurFnyWeiyGKbFmExMWcmRZntn9imEzdny" can mintA and mintB be exchanged? As shown below
No.
How does this Instruction use usdc as mintA?
That's solscan's display error, you can find out in other explorers swapBaseInput input mint always to be sol. And I think this problem doesn't need to discuss more. https://explorer.solana.com/tx/qFVrBsLvAgWBqULaHskfbgyXXpiFxjTkwWM9dgsc8s7sMNNNSqFwYK4XcyK1H91po1Tbnmj92uam96SSifdu9cX
my question is how to reverse cpmm swap mintB -> mintA
cpmm swap mintA -> mintB