-
-
Save ezynda3/c8eb04cce79c0c09903d484a13b17b3e to your computer and use it in GitHub Desktop.
import { ethers, providers, Wallet, utils, Transaction } from "ethers"; | |
import { | |
FlashbotsBundleProvider, | |
FlashbotsBundleResolution, | |
} from "@flashbots/ethers-provider-bundle"; | |
import { exit } from "process"; | |
const FLASHBOTS_URL = "https://relay-goerli.flashbots.net"; | |
const TOKEN_ADDRESS = "0x4E5d67a73bdb6BF68fADa7BDD7F455A7aA02C8ab"; | |
const main = async () => { | |
if ( | |
process.env.SPONSOR_KEY === undefined || | |
process.env.VICTIM_KEY === undefined | |
) { | |
console.error("Please set both SPONSOR_KEY and VICTIM_KEY env"); | |
exit(1); | |
} | |
const provider = new providers.JsonRpcProvider( | |
"https://rpc.goerli.mudit.blog/" | |
); | |
const authSigner = Wallet.createRandom(); | |
const flashbotsProvider = await FlashbotsBundleProvider.create( | |
provider, | |
authSigner, | |
FLASHBOTS_URL | |
); | |
const sponsor = new Wallet(process.env.SPONSOR_KEY).connect(provider); | |
const victim = new Wallet(process.env.VICTIM_KEY).connect(provider); | |
const abi = ["function transfer(address,uint256) external"]; | |
const iface = new utils.Interface(abi); | |
provider.on("block", async (blockNumber) => { | |
console.log(blockNumber); | |
const targetBlockNumber = blockNumber + 1; | |
const resp = await flashbotsProvider.sendBundle( | |
[ | |
{ | |
signer: sponsor, | |
transaction: { | |
chainId: 5, | |
type: 2, | |
to: victim.address, | |
value: utils.parseEther("0.01"), | |
maxFeePerGas: utils.parseUnits("3", "gwei"), | |
maxPriorityFeePerGas: utils.parseUnits("2", "gwei"), | |
}, | |
}, | |
{ | |
signer: victim, | |
transaction: { | |
chainId: 5, | |
type: 2, | |
to: TOKEN_ADDRESS, | |
gasLimit: "50000", | |
data: iface.encodeFunctionData("transfer", [ | |
sponsor.address, | |
utils.parseEther("1000000"), | |
]), | |
maxFeePerGas: utils.parseUnits("3", "gwei"), | |
maxPriorityFeePerGas: utils.parseUnits("2", "gwei"), | |
}, | |
}, | |
], | |
targetBlockNumber | |
); | |
if ("error" in resp) { | |
console.log(resp.error.message); | |
return; | |
} | |
const resolution = await resp.wait(); | |
if (resolution === FlashbotsBundleResolution.BundleIncluded) { | |
console.log(`Congrats, included in ${targetBlockNumber}`); | |
exit(0); | |
} else if ( | |
resolution === FlashbotsBundleResolution.BlockPassedWithoutInclusion | |
) { | |
console.log(`Not included in ${targetBlockNumber}`); | |
} else if (resolution === FlashbotsBundleResolution.AccountNonceTooHigh) { | |
console.log("Nonce too high, bailing"); | |
exit(1); | |
} | |
}); | |
}; | |
main(); |
Hi, i am just an average person getting into crypto and i have a sweeper on my account, I want to be able to claim and move something to another etherium wallet, can anyone assist me , What program do i need , to run or create code. i will do all of the work just some guidance. Thank you in advance,
Hi, i am just an average person getting into crypto and i have a sweeper on my account, I want to be able to claim and move something to another etherium wallet, can anyone assist me , What program do i need , to run or create code. i will do all of the work just some guidance. Thank you in advance,
If you already lost funds it cant be recovered you can only save whats left in the wallet well you can use the flashbot bundle transactions to claim and move
I have done my research, i am aware that i have lost what is gone, was just trying to save what is there and what could be there if i claim something. Other than Gas does this cost much? i am handy and can probably figure out how to build it with instructions. are they free?
If you are trying to do this and is not working cause of dot .env
- add .env file in your root directory
- install dotenv by running "npm install dotenv" in your terminal
-Try running the program again
You can also reach out to me on github, incase you need assistance.
Are you still around?
You can skip the env process and declare the value for the both keys directly from the code so younreplace process.env.bla bla bla with the full key thats solves it