You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import { clusterApiUrl, Connection, Keypair, VersionedTransaction } from '@solana/web3.js'
import { Wallet } from '@project-serum/anchor'
import bs58 from 'bs58'
import * as dotenv from 'dotenv'
import axios from 'axios'
dotenv.config()
async function main() {
try {
const SOLANA_CLUSTER = clusterApiUrl('mainnet-beta');
const connection = new Connection(SOLANA_CLUSTER, 'confirmed');
const wallet = new Wallet(Keypair.fromSecretKey(bs58.decode(process.env.PRIVATE_KEY || '')))
const quoteResponse = await axios.get('https://quote-api.jup.ag/v6/quote', {
params: {
inputMint: 'So11111111111111111111111111111111111111112',
outputMint: '21rweMLGYeMNonHW7H3xa5py17X6ZFRcHirCp9inRBQA',
amount: 100000000,
slippageBps: 50,
swapMode: 'ExactOut',
onlyDirectRoutes: true,
asLegacyTransaction: false,
},
})
console.dir(quoteResponse.data, { depth: null })
const swapResponse = await axios.post('https://quote-api.jup.ag/v6/swap', {
quoteResponse: quoteResponse.data,
userPublicKey: wallet.publicKey.toString(),
wrapAndUnwrapSol: true,
prioritizationFeeLamports: 'auto',
})
console.log('Swap Response:', swapResponse.data)
// Deserialize the transaction
const swapTransactionBuf = Buffer.from(swapResponse.data.swapTransaction, 'base64')
const transaction = VersionedTransaction.deserialize(swapTransactionBuf)
// Sign the transaction
transaction.sign([wallet.payer])
// We first simulate whether the transaction would be successful
const { value: simulatedTransactionResponse } = await connection.simulateTransaction(transaction, {
replaceRecentBlockhash: true,
commitment: 'processed',
})
const { err, logs } = simulatedTransactionResponse
if (err) {
// Simulation error, we can check the logs for more details
// If you are getting an invalid account error, make sure that you have the input mint account to actually swap from.
console.error('Simulation Error:')
console.error({ err, logs })
return
}
// Execute the transaction
const rawTransaction = transaction.serialize()
const txid = await connection.sendRawTransaction(rawTransaction, {
skipPreflight: true,
})
console.log(`Transaction initiated. Txid: ${txid}`)
try {
await connection.confirmTransaction(txid)
} catch (error) {
console.error('Confirmation error:', error)
}
console.log(`View transaction on Solscan: https://solscan.io/tx/${txid}`)
} catch (error) {
console.error('Error:', error)
}
}
main()
When I perform a transaction when the outputMint is 21rweMLGYeMNonHW7H3xa5py17X6ZFRcHirCp9inRBQA, it will prompt Program log: Error: Account is frozen, custom program error: 0x11. But I can conduct transactions on the front-end page of Jupiter Aggregator. Other coins do not have this situation and can be successfully traded.
The text was updated successfully, but these errors were encountered:
When I perform a transaction when the outputMint is 21rweMLGYeMNonHW7H3xa5py17X6ZFRcHirCp9inRBQA, it will prompt Program log: Error: Account is frozen, custom program error: 0x11. But I can conduct transactions on the front-end page of Jupiter Aggregator. Other coins do not have this situation and can be successfully traded.
The text was updated successfully, but these errors were encountered: