Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solidify this repo #512

Closed
13 of 14 tasks
raulk opened this issue Jan 4, 2024 · 3 comments
Closed
13 of 14 tasks

Solidify this repo #512

raulk opened this issue Jan 4, 2024 · 3 comments
Assignees

Comments

@raulk
Copy link
Contributor

raulk commented Jan 4, 2024

At last, the IPC codebase is in a monorepo -- and the build and CI both work! This issue tracks a bunch of follow-ups to solidify the structure and usage of this repo.

Repos cleanup

Build and CI

  • Restore the correct name for the Fendermint Docker image (fendermint).
  • Port the Ganache test job from ipc-solidity-actors here: consensus-shipyard/ipc-solidity-actors@bf36dba (this got added last minute and was not integrated here).
  • Ensure we're using caching all throughout (except when publishing?).

Non-code reorg

  • Move infra scripts from inner modules to top-level /infra directory.
  • Move docs from inner modules to top-level /docs directory.

Code reorg

Here's a concrete code tree proposal, let's discuss in comments.

  • Done
/
|__ infra
|__ docs
|__ contracts
|__ cli # binary crate containing the ipc cli
|
|__ ipc
| |__ wallet # former ipc/identity; this is a wallet library containing keystores, key types, wallet, etc.; using the opportunity to adjust naming to be more descriptive
| |__ provider
| |__ api # former ipc/sdk; these contain external IPC API types; SDK tends to imply "developer SDK", which this isn't
| |__ types # former fvm-utils/primitives; these contain basic types; some may move to ipld/types (e.g. Hamt, Cid, etc.)
|
|__ ipld
| |__ resolver # ipld-resolver
|
|__ fendermint
| |__ abci
| |__ app
| |__ crypto
| |__ ...
|
|__ testing # former ipc/testing, to be refactored later

Update infra scripts

Some infra scripts are outdated, e.g. the current ipc/scripts/install_infra.sh still clones fendermint. Need to figure these out in detail.

@aakoshh
Copy link
Contributor

aakoshh commented Jan 8, 2024

types # former fvm-utils/primitives; these contain basic types; some may move to ipld/types (e.g. Hamt, Cid, etc.)

I agree that they aren't ipc specific. Where to put this was exactly my question when I first suggested this in filecoin-project/builtin-actors#489

ipld/types sounds better to me, although we should clean up the error types to remove references to fil_actor_runtime, which was one of the reasons I never imported these, even though we could use it in fendermint_vm_actor_interfaces for example.

@fridrik01 fridrik01 self-assigned this Jan 8, 2024
@fridrik01
Copy link
Contributor

@raulk What do you mean with "Restore the correct name for the Fendermint Docker image"? Not sure I know exactly what that details

@jsoares
Copy link
Contributor

jsoares commented Jan 9, 2024

consensus-shipyard/ipc (rename to ipc-libs first, to free up the ipc name)

Note that this will break old issue referencing (i.e. if there's something in the new ipc-monoreporeferencingipc#21`, GH won't be able to redirect and will instead link to a wrong issue). I agree it's the right thing to do, mind you, just something to keep in mind. If we really wanted to preserve this, we should rewrite references first, but it's probably not worth it.

Unrelated: I also went ahead and closed the old GitHub projects, given the move to Linear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants