Commit Graph

20 Commits

Author SHA1 Message Date
Steven Allen
ddc9425c07 feat: refactor: actor bundling system (#8838)
1. Include the builtin-actors in the lotus source tree.
2. Embed the bundle on build instead of downloading at runtime.
3. Avoid reading the bundle whenever possible by including bundle
   metadata (the bundle CID, the actor CIDs, etc.).
4. Remove everything related to dependency injection.
    1. We're no longer downloading the bundle, so doing anything ahead
       of time doesn't really help.
    2. We register the manifests on init because, unfortunately, they're
       global.
    3. We explicitly load the current actors bundle in the genesis
       state-tree method.
    4. For testing, we just change the in-use bundle with a bit of a
       hack. It's not great, but using dependency injection doesn't make
       any sense either because, again, the manifest information is
       global.
    5. Remove the bundle.toml file. Bundles may be overridden by
       specifying an override path in the parameters file, or an
       environment variable.

fixes #8701
2022-06-13 10:51:49 -07:00
Jennifer Wang
970aa299a2 move actor key to a const array 2022-05-30 14:59:46 -04:00
Geoff Stuart
30e7f89662 Check for manifest CID while loading bundle 2022-05-26 17:30:32 -04:00
vyzo
a694bb898d remove stale TODO comment 2022-05-18 20:19:44 +03:00
Aayush
3b23ba0520 Address review 2022-05-17 15:52:59 -04:00
Aayush
8cca9b1970 Use new go-state-types accessors 2022-05-17 15:21:27 -04:00
vyzo
7be42d9935 refactor to pass the network bundle name through ldflags from build 2022-05-12 16:42:59 +03:00
vyzo
70bf990294 LOTUS_PATH is the canonical way to get the repo path 2022-05-12 16:21:29 +03:00
vyzo
26d07fd987 move bundle fetcher to node/bundle instead of chain/actors 2022-05-12 09:51:08 +03:00
vyzo
de9ee7b334 fix lint 2022-05-11 22:48:01 +03:00
vyzo
74f300290e dynamic loading of builtin actor bundles 2022-05-11 22:30:07 +03:00
vyzo
75f00e92f5 improve concurrency story of manifest state 2022-04-21 13:53:30 +03:00
vyzo
beb3369c76 add LoadManifestFromBundle, use it in miner init 2022-04-15 20:15:28 +03:00
vyzo
2690b69831 fix rebase issues 2022-04-14 19:49:08 +03:00
vyzo
395c772222 make the miner load the manifest so that it can correctly map actors 2022-04-14 19:34:26 +03:00
vyzo
752ce9e590 make tests work 2022-04-14 19:31:14 +03:00
vyzo
a8547ed840 make manifest cid access thread-safe 2022-04-14 19:30:47 +03:00
vyzo
17d72f02a1 use a sync.Once for manifest loading to avoid interference from parallel test runs 2022-04-14 19:29:22 +03:00
vyzo
f26d19ed7d load actor bundle at startup and initialize the manifest CID from the loaded file 2022-04-14 19:29:22 +03:00
vyzo
08a5950863 actor manifests and metadata 2022-04-14 19:29:22 +03:00