code: def make_receipt(self,
                       base_header: BlockHeader,
                       transaction: BaseTransaction,
                       computation: BaseComputation,
                       state: BaseState) -> Receipt:
          
          raise NotImplementedError("VM classes must implement this method")
docs: Generate the receipt resulting from applying the transaction.
  
          :param base_header: the header of the block before the transaction was applied.
          :param transaction: the transaction used to generate the receipt
          :param computation: the result of running the transaction computation
          :param state: the resulting state, after executing the computation
  
          :return: receipt