message: refactor: get transaction from cache priori
  FeeCalculator has cached most of transactions inside itself. so
  getting transactions from its own cache will be faster then from
  Shared
diff: @@ -74,14 +74,10 @@ impl<'a> FeeCalculator<'a> {
  }
  }
  fn get_transaction(&self, tx_hash: &H256) -> Option<Transaction> {
  - // tx may depend on a tx which within the same block
  - match self.provider.get_transaction(tx_hash) {
  - Some(tx) => Some(tx),
  - None => self
  - .txs_map
  + self.txs_map
  .get(tx_hash)
  - .map(|index| self.txs[*index].transaction.clone()),
  - }
  + .map(|index| self.txs[*index].transaction.clone())
  + .or_else(|| self.provider.get_transaction(tx_hash))
  }
  fn calculate_transaction_fee(
  