Makes a deposit.
It detects if it's a 'createAccountDeposit' or a 'deposit' and prepares the parameters accordingly.
Detects if it's an Ether, ERC 20 token and sends the transaction accordingly.
Compact L2 transaction generated and sent to a Coordinator.
@param {Object} transaction - ethAddress and babyPubKey together
@param {String} transaction.from - The account index that's sending the transaction e.g hez:DAI:4444
@param {String} transaction.to - The account index of the receiver e.g hez:DAI:2156. If it's an Exit, set to a falseable value
@param {BigInt} transaction.amount - The amount being sent as a BigInt
@param {Number} transaction.fee - The amount of tokens to be sent as a fee to the Coordinator
@param {Number} transaction.nonce - The current nonce of the sender's token account
@param {HermezWallet} wallet - Transaction sender Hermez Wallet
@param {Token} token - The token information object as returned from the Coordinator.
Get current average gas price from the last ethereum blocks and multiply it
@param {Number} multiplier - multiply the average gas price by this parameter
@param {Web3Client} web3Client - Network url (i.e, http://localhost:8545). Optional
@returns {Future