async attachToHardhatVM(provider){
    const self = this;
    const useExpandedOpcodeDictionary = this.viaIR || this.usingSolcV4;
    this.collector = new DataCollector(this.instrumenter.instrumentationData, useExpandedOpcodeDictionary);

    if ('init' in provider) {
      // Newer versions of Hardhat initialize the provider lazily, so we need to
      // call provider.init() explicitly. This is a no-op if the provider is
      // already initialized.
      await provider.init();
    }

    let cur = provider;

    // Go down to core HardhatNetworkProvider
    while (cur._wrapped) {
      cur = Object.assign({}, cur._wrapped)
    }
    cur._node._vm.evm.events.on('step', self.collector.step.bind(self.collector))
  }
Removes coverage build artifacts, kills testrpc.