Skip to content
This repository was archived by the owner on Apr 2, 2024. It is now read-only.
This repository was archived by the owner on Apr 2, 2024. It is now read-only.

Make ganache-core/cli interface more adaptable and less invasive #45

@mikeseese

Description

@mikeseese

Since Velma is a real-time debugger, every step event needs to be processed to determine if it's a breakpoint/etc. At first the VM/ganache interface to Velma was a websocket connection, but this was way too slow. So now Velma<->ganache/ejsvm (ethereumjs-vm) need to have in-memory communication (IPC hasn't been tried yet to keep things simple and in-memory [aka the same process] has worked thusfar) has been used.

The current implementation adds sdbhook.js (Velma used to be called Solidity Debugger [aka sdb] before release) to ganache-core to add the necessary extensions support for handling these VM events.

This issue proposes the following changes:

  • Remove sdbhook.js from ganache-core
  • Add some sort of extensibility API for node modules to listen to these events through ganache-core (aka maybe just adding an event emitter that re-emits events, with maybe some nice structure)
  • Move most of the sdbhook.js functionality into Velma

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions