TxPool (mempool) === First iteration === Where transactions are added after being received by the RPC API and where transactions wait before being included in a block. For this iteration, TxPool is a hashMap<Transaction, ()>. The idea now is just to avoid duplication. This implements a wrapper ShareTxPool <Arc<Mutex<>>> to allow the RPC and the consensus to access the txpool at the same time safely. TxPool has method add to add a new tx and get_all to retrieve all txs ShareTxPool has a method `new that initializes the inner pool and wraps it, add to lock mutex and call inner add and get_all_transactions to lock the mutex and call inner get_all Second iteration === Since now txs can have a hash as an id, the txpool is now a `HashMap<B256, Transaction>` where the B256 is the hash of the transaction. Before adding a new transaction to the txpool the hash is checked to confirm that there is no transaction with the exact same hash.