-
Notifications
You must be signed in to change notification settings - Fork 24
Labels
goPull requests that update go codePull requests that update go coderustPull requests that update rust codePull requests that update rust codetesting
Milestone
Description
Iterating across the FFI boundary is extremely slow, so it was initially determined to not be included. However, it may be necessary for some coreth API functionality (as well as being generally helpful for testing). This could still be implemented relatively simply by amortizing the FFI calls to batch the key-value pairs to relatively few calls. This will still require some clever memory management to avoid copying too much data (idea: allocate a pool in Go?) and to enable 2D arrays in C to be translated into slices of slices in Go. Additionally, freeing the iterator may be difficult if using a literal Rust iterator.
At minimum, this must (in ethhash):
- Provide an iterator for accounts (values associated with keys of length 32)
- Given an account hash (length 32), iterate through all storage values associated with this account (all values of length 64 with keys prefixed with the account hash)
Metadata
Metadata
Assignees
Labels
goPull requests that update go codePull requests that update go coderustPull requests that update rust codePull requests that update rust codetesting