filecoin-project / builtin-actors

The Filecoin built-in actors
Other
81 stars 76 forks source link

Copy fvm_ipld_blockstore code into this repo, drop dependency #679

Closed anorth closed 11 months ago

anorth commented 2 years ago

The fvm_ipld_blockstore package has some basic interfaces and wrappers for blockstore. These are very useful tooling for actor development and testing. Unfortunately they're hard to modify because they're in a different repo. The shared repo serves multiple clients, but for this simple code we'll have less friction with a specialised copy.

Copy the relevant code into this repo and drop the dependency. See also #678.

anorth commented 2 years ago

Also change it to stop using anyhow when doing this.

Stebalien commented 2 years ago

Unfortunately, rust traits are not structural so this would be incompatible with the AMT, HAMT, car library, etc.

anorth commented 2 years ago

Ok maybe we can keep using the trait, but copy and customise the impls

Stebalien commented 2 years ago

That would work. You could also create a new type/trait and impl<T: YourBlockstore> fvm_ipld_blockstore::Blockstore for T.