subway icon indicating copy to clipboard operation
subway copied to clipboard

A practical example on how to perform sandwich attacks on Ethereum

Results 7 subway issues
Sort by recently updated
recently updated
newest added

It seems that the contract always tries to send some amount of the non-weth token to the pair despite the contract having a balance of 0. What am I doing...

In this build, as I understand it, the bot can only capture and analyze transactions? He can't react to them to buy/sell? txhash=0xe93542b719b6c9b7de4627ab9743df946964c9b63f25c05dcaa5ec4247476ba2 sandwichable target found {"revenue":"-14354814103714009","optimalSandwichWethIn":"99609375000000000000","userAmountIn":"20000000000000000","userMinRecv":"0","reserveState":{"reserveWeth":"6035304367050064866","reserveToken":"164725468899396930"},"frontrun":{"amountOut":"155288283380542195","newReserveA":"105644679367050064866","newReserveB":"9437185518854735"},"victim":{"amountOut":"1780893929994","newReserveA":"105664679367050064866","newReserveB":"9435404624924741"},"backrun":{"amountOut":"99595020185896285991","newReserveA":"164723688005466936","newReserveB":"6069659181153778875"}} I quite often...

I changed some code around and so far its running on AVAX, but I'm curious about how I'd go about removing the Flashbots functions without breaking the entire bot. Do...

the source code I cloned, and I just change to sepolia, then I run `node index.js` , the terminal show me : `txhash=0xe6d0befbc3adc884bfde8f095f78a66da6f683568d927748a4f82ec62563cf40 error while simulating {"error":{},"block":{"hash":"0x5a0b55f2b5139b7ef0112567cb395f432ea6dbd2948d4f9a6e67745bc960a168","parentHash":"0x6744ddb5ff1bc2be1992bb0b744d960501990eb54d99fee91c56db55bb27345d","number":5723668,"timestamp":1713431232,"nonce":"0x0000000000000000","difficulty":0,"gasLimit":"30000000","gasUsed":"9110415","miner":"0x9A6034c84cd431409Ac1a35278c7Da36FfDa53E5","extraData":"0xd883010d0b846765746888676f312e32312e36856c696e7578","transactions":["0x21ff2d9bfe67c6894d351d582dac35b581c054cb8a13d6c337f50f1c5ee12996","0x8661d5f55a9bb3aaa6371f205cf6aacf42f9e1b06c23b4a3da5389575ebcb5cd","0xccef04ee544b6e5146046351788817e3f7137ed5e645c70f73ac92b9c4cda098","0xb49c6c400d6682fe691b934103de2e4334429c8548796a0e0a49eae4b0fd791b","0x022651954883e2bc7e5c042e216918ba08b3df75f6463f19050a6b2711acd76e","0xca6adaf7845eecaa21745c935e0a3a31d2f0f76a3cefbc54ec5cbfa669d7d710","0x2a530e69ba74da52817af63f69cd745d535743d33e031d66482976b6dbd98dc0"],"baseFeePerGas":"85657205499","_difficulty":"0"},"targetBlockNumber":5723669,"nextBaseFee":"81453160567","nonce":740,"sandwichStates":{"revenue":"-2272385280873243","optimalSandwichWethIn":"99609375000000000000","userAmountIn":"100000000000000","userMinRecv":"0","reserveState":{"reserveWeth":"395189742548311856","reserveToken":"150242276943458050067"},"frontrun":{"amountOut":"149646782554073964860","newReserveA":"100004564742548311856","newReserveB":"595494389384085207"},"victim":{"amountOut":"593680214343","newReserveA":"100004664742548311856","newReserveB":"595493795703870864"},"backrun":{"amountOut":"99607102614719126757","newReserveA":"150242276349777835724","newReserveB":"397562127829185099"}},"frontsliceTx":{"to":"0xa1CB03B6bbEEFeDd4eA6799FadCC4E8278E43518","from":"0x2186dd245f6d3d9389248C040975BC89CAfc5571","data":"0x779877a7b0d9e8603169ddbd7836e478b462478998d6153b068a96adac33454a85303acba5a8a06e0000000000000005665b96cf35acf00000000000000000081cc42bdecbb3a13c00","chainId":11155111,"maxPriorityFeePerGas":0,"maxFeePerGas":"81453160567","gasLimit":250000,"nonce":740,"type":2},"backsliceTx":{"to":"0xa1CB03B6bbEEFeDd4eA6799FadCC4E8278E43518","from":"0x2186dd245f6d3d9389248C040975BC89CAfc5571","data":"0x7b79995e5f793a07bc00c21412e50ecae098e7f998d6153b068a96adac33454a85303acba5a8a06e00000000000000081cc42bdecbb3a13c00000000000000056653841648375ce501","chainId":11155111,"maxPriorityFeePerGas":0,"maxFeePerGas":"81453160567","gasLimit":250000,"nonce":741,"type":2}}` I don't know...

fix typo: graphana -> grafana

In ./src/univ2.js line 82, 'if (newReserveB.lt(0) || reserveB.gt(reserveB)) {' I think it should be 'if (newReserveB.lt(0) || newReserveB.gt(reserveB)) {'

I wanna to add poison token checker