LiteSVM / litesvm

Apache License 2.0
132 stars 24 forks source link

Support Geyser plugin #48

Open Aursen opened 8 months ago

Aursen commented 8 months ago

At the moment, we have no way of using geyser plugins with LiteSVM. This may be useful for testing programs like Clockwork. Put it behind a feature flag

kevinheavey commented 8 months ago

I am not sure what this would involve but it sounds like a lot of work.

Also if possible I strongly recommend a second crate composing on top of litesvm instead of a feature flag

sonicfromnewyoke commented 2 months ago

IMO, this is not a huge task. We have to implement a lite-weight version of the plugin-manager and slightly modify the existing code (accounts_db.rs for update_account notification and so on). I'd like to take part in the realization of this enhancement, and maybe split it into a couple of deployable steps, like:

  1. plugin-manager
  2. accounts
  3. txs
  4. slots
Aursen commented 2 months ago

IMO, this is not a huge task. We have to implement a lite-weight version of the plugin-manager and slightly modify the existing code (accounts_db.rs for update_account notification and so on). I'd like to take part in the realization of this enhancement, and maybe split it into a couple of deployable steps, like:

  1. plugin-manager
  2. accounts
  3. txs
  4. slots

Amazing to know, a lot of plugin use the local client too. Maybe can we integrate a lite server for this case too

sonicfromnewyoke commented 2 months ago

@Aursen, yeah, you mean having an opportunity to fetch get_balance, get_account, and so on, that are pointing to the HashMap<Pubkey, AccountSharedData> instead of Banks fork, right?

Aursen commented 2 months ago

@Aursen, yeah, you mean having an opportunity to fetch get_balance, get_account, and so on, that are pointing to the HashMap<Pubkey, AccountSharedData> instead of Banks fork, right?

Yep that's the idea