clarinet icon indicating copy to clipboard operation
clarinet copied to clipboard

Simplify dependency graph between clarinet, vm, chainhook

Open hugoclrd opened this issue 2 years ago • 3 comments

With the he current circular dependency between the chainhook and clarinet. (Not at the component level but at repo level.) Which can make it difficult to upgrade certain components such as clarity-vm. Let's see how it could be simplified

cf https://excalidraw.com/#json=C6utZGxw1NmRSpdqJ45by,v4xP6luxStAWKtQF6oUyZQ

Or mermaid version:

flowchart TB
    VM[clarity-vm]
    REPL[clarity-repl]
    CLI[clarinet-cli]
    FILES[clarinet-files]
    SN[stacks-network]

    CHOE[chainhook-event-observer]
    CHT[chainhook-types]

    SNO[stacks-network-orchestrator]

    REPL --> VM

    CLI --> REPL
    CLI --> SN
    CLI --> FILES

    FILES --> CHT
    
    SN --> CHOE

    CHOE --> CHT
    CHOE --> VM

    SNO --> FILES
    SNO --> REPL
    SNO --> CHOE

hugoclrd avatar Jun 08 '23 14:06 hugoclrd

A clean extraction of the wire format / stacks codec would be key to solve this issue.

lgalabru avatar Jun 14 '23 00:06 lgalabru

The Stacks Codec is currently in clarity-repl, ideally would be in clarity-vm. Not high priority but we should do Q3 or Q4 perhaps.

smcclellan avatar Jun 14 '23 14:06 smcclellan

Lets revisit this once Chainhooks 2 is out

andresgalante avatar May 16 '25 14:05 andresgalante