You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reading through #554 and #1534 , I notice that the root cause is that current revm doesn't have async traits.
Given the fact that we already split the original single Database trait into both Database and DatabaseRef traits, can we have another trait like DatabaseAsync (and maybe DatabaseRefAsync) by using https://github.com/dtolnay/async-trait ? In this case:
All databases implemented Database immediately get DatabaseAsync implemented by simply forwarding function calls. However, implementing DatabaseAsync doesn't imply Database trait.
Current ethersdb/alloydb can have a more clean and reasonable implementation because the functions like basic is async now. And they will no longer implement Database.
This avoids confusion like: Does this Database implementation play with async world?
Generally, the modification is a bit huge because we need to add new async API since transact() and many places to support the async trait. Thus, I'm opening the issue for discussion before starting to work on it.
The text was updated successfully, but these errors were encountered:
Reading through #554 and #1534 , I notice that the root cause is that current
revm
doesn't have async traits.Given the fact that we already split the original single
Database
trait into bothDatabase
andDatabaseRef
traits, can we have another trait likeDatabaseAsync
(and maybeDatabaseRefAsync
) by using https://github.com/dtolnay/async-trait ? In this case:Database
immediately getDatabaseAsync
implemented by simply forwarding function calls. However, implementingDatabaseAsync
doesn't implyDatabase
trait.basic
isasync
now. And they will no longer implementDatabase
.Database
implementation play with async world?Generally, the modification is a bit huge because we need to add new
async
API sincetransact()
and many places to support the async trait. Thus, I'm opening the issue for discussion before starting to work on it.The text was updated successfully, but these errors were encountered: