Ethereum (EVM) websocket recovery script (NodeJs)

Job ID: 32030337

Budget: $30 – $250 USD

Hi,

I am searching for a freelancer to create an Ethereum websocket bot that sends out ERC20 tokens and Ethereum as soon as they are available inside a wallet. Steps taken are the following.

(1) Get Ethereum Ropsten/Rinkeby from a Faucet. Reduce "tokens" array from below to the once from a specific network. For instance just get all "eth-ropsten" keys.
(2) Check each block for incoming transaction via WebSocket use ether.js for this. web3.js is often garbage.
(3) Once Ethereum or ERC20 tokens are inside the wallet send them out. This should follow the following logic. Check the "tokens" array for information of all the tokens and wallets available.

* if only eth registered in tokens array + eth in wallet >> send out eth once it arrives inside the wallet.
* if erc20 and eth registered and both in wallet >> send out erc20 with maximum eth gas
* if only erc20 registered >> wait until erc20 and eth are inside the wallet >> send out erc20 with maximum eth gas
* if only eth in wallet and both eth and erc20 are registered >> send out all eth


Below is the tokens array you will need to pass as an object and use to determine the network keys etc. Do not change the key structure. It will lateron be derived from a database. For ETH just ignore the address. For compromised public and private key value use your own accounts for testing. The compromised pair is the public and private key pair you should monitor.

{
_id: 61867b38a37ccc2628610a69,
compromisedPublicKey: '0x00000',
compromisedPrivatekey: '00000',
newPublicKey: '0x00000',
tokenNetwork: 'eth-ropsten',
tokenName: 'ETH',
tokenAddress: '0x0000000000',
email: 'xxx',
__v: 0
},
{
_id: 61867b38a37ccc7731210a69,
compromisedPublicKey: '0x00000',
compromisedPrivatekey: '00000',
newPublicKey: '0x00000',
tokenNetwork: 'eth-main',
tokenName: 'LINK',
tokenAddress: '0x000000000000',
email: 'xxx',
__v: 1
}

Requirements
===
* updates in private git repo
* provide good documentation
* nodejs script that can be executed via "node recover.js"

If you are interested in the project please start your bid with > recover; so I know that you are not a bot. The project should be completed until November 10th. The maximum budget is 150 USD. If you have any questions please leave them inside your bid. It is easier to filter this way.