eattheblocks
eattheblocks copied to clipboard
PancakeSwap trading bot Problem :Unhandled 'error' event
İf ı run node bot.js
I watch this problem . What can I do?
provider wallet account factory router wbnb PairCreated Transaction receipt11 events.js:292 throw er; // Unhandled 'error' event ^
Error: Unexpected server response: 200
at ClientRequest.
and my code:
console.log('provider'); //console.log(provider); const wallet = ethers.Wallet.fromMnemonic(mnemonic); console.log('wallet'); //console.log(wallet); const account = wallet.connect(provider); console.log('account'); //console.log(account); const factory = new ethers.Contract( addresses.factory, ['event PairCreated(address indexed token0, address indexed token1, address pair, uint)'], account ); console.log('factory'); //console.log(factory); const router = new ethers.Contract( addresses.router, [ 'function getAmountsOut(uint amountIn, address[] memory path) public view returns (uint[] memory amounts)', 'function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts)' ], account ); console.log('router'); //console.log(router); const wbnb = new ethers.Contract( addresses.WBNB, [ 'function approve(address spender, uint amount) public returns(bool)', ], account ); console.log('wbnb'); //console.log(wbnb); const init = async () => { /*const tx = await wbnb.approve( router.address, 'replace by amount covering several trades' ); const receipt = await tx.wait(); */
console.log('Transaction receipt11'); //console.log(receipt); }
console.log('PairCreated');
factory.on('error', function(err){ console.log('onerror'); console.log(err); });
factory.on('PairCreated', async (token0, token1, pairAddress) => { console.log(` New pair detected
token0: ${token0} token1: ${token1} pairAddress: ${pairAddress} `);
//The quote currency needs to be WBNB (we will pay with WBNB) let tokenIn, tokenOut; if(token0 === addresses.WBNB) { tokenIn = token0; tokenOut = token1; }
if(token1 == addresses.WBNB) { tokenIn = token1; tokenOut = token0; }
//The quote currency is not WBNB if(typeof tokenIn === 'undefined') { return; }
//We buy for 0.1 BNB of the new token
//ethers was originally created for Ethereum, both also work for BSC
//'ether' === 'bnb' on BSC
const amountIn = ethers.utils.parseUnits('0.01', 'ether');
const amounts = await router.getAmountsOut(amountIn, [tokenIn, tokenOut]);
//Our execution price will be a bit different, we need some flexbility
const amountOutMin = amounts[1].sub(amounts[1].div(10));
console.log(Buying new token ================= tokenIn: ${amountIn.toString()} ${tokenIn} (WBNB) tokenOut: ${amounOutMin.toString()} ${tokenOut}
);
const tx = await router.swapExactTokensForTokens(
amountIn,
amountOutMin,
[tokenIn, tokenOut],
addresses.recipient,
Date.now() + 1000 * 60 * 10 //10 minutes
);
const receipt = await tx.wait();
console.log('Transaction receipt');
console.log(receipt);
});
init();
did u solve ur problem ? bcz i have this problem too if i delete const provider = new it fixed
Maybe try putting the provider starting with "wss" instead of "https:" - that worked for me. Make sure to put it in quotes too.