Commit Graph

3894 Commits

Author SHA1 Message Date
vyzo
3ad2fc5c4a feat: FVM Debug Dual Execution 2022-06-28 18:00:04 -04:00
Jennifer Wang
c3f3eb0812 Merge branch 'releases' into jen/masterbp 2022-06-27 15:13:12 -04:00
Geoff Stuart
e684248f48 Added api call to get actors cids 2022-06-23 14:07:23 -04:00
Steven Allen
cd6c0c2ad3 feat: move banner, embed, and run at v8 upgrade only
1. Embed the banner in the upgrades subsystem instead of reading it at
runtime.
2. Print it all at once instead of line-by-line.
3. Run it in the v8 upgrade itself.
2022-06-22 12:41:14 -07:00
Jennifer Wang
17cd28028f fvm liftoff 2022-06-22 15:21:50 -04:00
Aayush
e860a052e7 fix: fvm: make exectraces match legacyVM some more 2022-06-22 13:46:12 -04:00
Aayush
866693f3d5 fix: fvm: make exectraces match legacyVM some more 2022-06-22 11:29:14 -04:00
Łukasz Magiera
db676acdf8 storage: Cleanup interfaces a bit 2022-06-17 13:52:19 +02:00
Łukasz Magiera
7de400b5ac Merge remote-tracking branch 'origin/master' into chore/drop-pipeline-adapters 2022-06-17 11:31:05 +02:00
Jennifer Wang
51b6b07110 Merge branch 'release/v1.16.0' into jen/master16 2022-06-16 14:24:44 -04:00
Jiaying Wang
3465f3aba3
Merge pull request #8837 from filecoin-project/jen/refactor
chore: refactor:  rename var name for syncing mainnet v15 using FVM
2022-06-16 14:16:52 -04:00
Łukasz Magiera
9aa5659d24 sealing pipeline: Drop TipSetToken, use TipSetKey directly 2022-06-16 12:05:58 +02:00
Łukasz Magiera
6d770f6e10 make gen 2022-06-15 16:51:30 +02:00
Łukasz Magiera
05cdeb80c3 chore: remove redundant import prefixes 2022-06-15 12:06:22 +02:00
Łukasz Magiera
a9600b8a6f storage: Move extern/sector-storage to storage/sealer 2022-06-14 20:03:38 +02:00
Łukasz Magiera
6afb43afbb wallet: Move key.go into separate pkg to avoid import loops 2022-06-14 19:21:40 +02:00
Łukasz Magiera
422f66776f
Merge pull request #8859 from filecoin-project/chore/import-fix
chore: Fix imports
2022-06-14 18:54:03 +02:00
Aayush Rajasekaran
435c1f4278
Merge pull request #8855 from filecoin-project/jen/backport
chore: backport: release v1.16.0 back to master
2022-06-14 11:11:13 -04:00
Łukasz Magiera
e65fae28de chore: fix imports 2022-06-14 17:00:51 +02:00
Jennifer Wang
e3fbe53f76 Merge branch 'release/v1.16.0' into jen/backport 2022-06-14 02:35:01 -04:00
swift-mx
19a4395cd7 fix: format error log 2022-06-14 14:13:44 +08:00
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
Steven Allen
30981d0fdd
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:15:00 -07:00
Łukasz Magiera
1cd94f598d
Merge pull request #8820 from filecoin-project/asr/deprecate-blocksync
refactor: remove old BlockSyncProtocolID
2022-06-13 18:36:21 +02:00
Aayush
dda9ac31c6 invoker: gen the registry 2022-06-10 17:40:07 -04:00
Aayush
d32ed4440d Drop actor meta shimming for testing 2022-06-10 17:30:07 -04:00
Geoff Stuart
b7010c9e60 Implement function to migrate actors with only code changes 2022-06-10 15:52:32 -04:00
Aayush Rajasekaran
b6a7e0553e
Merge pull request #8815 from filecoin-project/gstuart/lite-migration
feat: migrations: function for migrating builtin actors with only code changes
2022-06-10 15:36:05 -04:00
Geoff Stuart
3f712c376a Example V9 migration function 2022-06-10 15:07:42 -04:00
Geoff Stuart
801c670edd Remove ChainPutMany 2022-06-10 14:09:05 -04:00
Geoff Stuart
64d62f1f7e Review fixes v2 2022-06-10 12:32:31 -04:00
Geoff Stuart
3c4792d3e9 review fixes 2022-06-10 11:35:01 -04:00
Aayush
e79c2eaa4a gofmt 2022-06-09 18:32:20 -04:00
jennijuju
41e325e822 chore: refactor: rename var name for syncing mainnet v15 using FVM 2022-06-09 16:53:16 -05:00
Aayush
b211c51643 invoker: gen the registry 2022-06-09 16:09:23 -04:00
Geoff Stuart
339692cde5 create function for migrating builtin actors with only code changes 2022-06-09 15:13:42 -04:00
Geoff Stuart
5c0f2c8ae6 Add putObj and putMany to apiBlockstore 2022-06-09 15:13:42 -04:00
Aayush Rajasekaran
fbefd617a2
refactor: rename LOTUS_USE_FVM_EXPERIMENTAL 2022-06-09 11:21:22 -04:00
Aayush
82e439172e Drop actor meta shimming for testing 2022-06-08 13:41:30 -04:00
Aayush
789f212f6c refactor: remove old BlockSyncProtocolID 2022-06-08 13:38:56 -04:00
Geoff Stuart
81cacd76a7 Implement function to access state of system actor 2022-06-06 23:23:32 -04:00
Geoff Stuart
0c789b06dc Call with no subcalls is nil instead of empty array for backwards compatibility 2022-06-03 15:21:47 -04:00
Aayush
91e69644c2 Merge branch 'feat/nv16' into jen/mergev1153to16 2022-06-03 13:18:27 -04:00
Aayush Rajasekaran
6f25476709
chore: vm: Rename tracing envvar to LOTUS_VM_ENABLE_TRACING 2022-06-01 18:18:49 -04:00
Jennifer Wang
2e59d0129d Merge branch 'release/v1.15.3' into jen/mergev1153to16 2022-05-31 16:33:18 -04:00
Aayush
8cbbee3a87 Revert "VM: Refactor pricelist to be based on network versions"
This reverts commit 25b2e144b8.
2022-05-30 16:17:41 -04:00
Jiaying Wang
04894350b7
Merge pull request #8759 from filecoin-project/asr/revert-pricelist-v16
Revert "VM: Refactor pricelist to be based on network versions"
2022-05-30 16:11:14 -04:00
Aayush
c95ad7229f Revert "VM: Refactor pricelist to be based on network versions"
This reverts commit 25b2e144b8.
2022-05-30 15:25:33 -04:00
Aayush
3c8dcda094 Revert "VM: Refactor pricelist to be based on network versions"
This reverts commit 25b2e144b8.
2022-05-30 15:19:51 -04:00
Jennifer Wang
970aa299a2 move actor key to a const array 2022-05-30 14:59:46 -04:00
Aayush
7ea661bf87 fvm: fail if implicit message fails 2022-05-27 11:43:20 -04:00
Aayush
4fa04abb8c Add disable flag for Skyr upgrade 2022-05-26 18:20:49 -04:00
Geoff Stuart
30e7f89662 Check for manifest CID while loading bundle 2022-05-26 17:30:32 -04:00
Aayush Rajasekaran
6924a3d5f2 Fix calculation of Drand round from Filecoin epochs 2022-05-25 12:43:52 -04:00
Aayush Rajasekaran
e87bb5db6a
Merge pull request #8680 from filecoin-project/feat/nv16-migration-bundle
[nv16] Ensure v8 bundle is loaded during migration
2022-05-24 14:33:22 -04:00
Aayush Rajasekaran
c07c87c131
Merge pull request #8706 from filecoin-project/fix/8636
fix: vm: always set the root message in execution traces in the FVM
2022-05-24 12:55:37 -04:00
Aayush Rajasekaran
eab4d4b464
Merge pull request #8683 from filecoin-project/fix/drop-fvm-nv14
feat: fvm: drop nv14 support from the FVM
2022-05-24 12:48:32 -04:00
Jennifer Wang
5cfedacf9f make jen 2022-05-23 15:11:46 -04:00
Steven Allen
23239c0393 fix: vm: always set the root message in execution traces in the FVM
Even when disabled. This mimics the behavior or the lotus VM.
2022-05-23 11:23:17 -07:00
Steven Allen
f7c610ee23 feat: vm: drop nv14 support from the FVM
The next FVM version will only support nv15+.

This change also disables the FVM before nv15, even if enabled through
the environment variable. This allows "catching up" from before nv15.
2022-05-23 09:50:54 -07:00
Steven Allen
89bca05a8d fix: vm: support raw blocks in chain export
We need this for NV16 to include code in chain snapshots.

NOTE: I've also checked the splitstore, and we appear to be doing the
right thing there already.
2022-05-23 09:45:56 -07:00
Steven Allen
f491e39f22 fix: vm: support raw blocks in chain export
We need this for NV16 to include code in chain snapshots.

NOTE: I've also checked the splitstore, and we appear to be doing the
right thing there already.
2022-05-20 18:56:30 -04:00
vyzo
811bb58c5a always load the bundle into the blockstore during the migration 2022-05-18 20:20:17 +03:00
vyzo
a694bb898d remove stale TODO comment 2022-05-18 20:19:44 +03:00
Aayush
3c2fcce2c3 fix: genesis: only sign preseal deals after v16 2022-05-17 18:42:43 -04:00
Aayush
3b23ba0520 Address review 2022-05-17 15:52:59 -04:00
Aayush
b2b20e469f Fix tests 2022-05-17 15:21:27 -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
98730b90a3 fix lint 2022-05-11 22:41:56 +03:00
vyzo
74f300290e dynamic loading of builtin actor bundles 2022-05-11 22:30:07 +03:00
Steven Allen
9da58c5f6a fix: mpool: avoid deadlock on unsubscribe
When unsubscribing _all_ topics, pubsub will drain the subscription
channel to avoid deadlocks. See
https://github.com/whyrusleeping/pubsub/pull/1.

fixes #7803
2022-05-10 16:52:17 -04:00
Aayush Rajasekaran
ddc46fc059 Update to filecoin pubsub 2022-05-10 16:51:36 -04:00
Aayush Rajasekaran
fbcd4c7a6f
fix: upgrades: correct error message for v16 migration 2022-05-10 11:36:12 -04:00
Łukasz Magiera
b9750087ce
Merge pull request #8545 from swift-mx/mx_dev
fix: update StatApplied when fvm apply message
2022-05-06 14:23:30 -04:00
vyzo
89418a5c34 propagate gas outputs in fvm ApplyRet 2022-05-04 20:19:07 +03:00
Steven Allen
78899be05d feat: vm: add actor error backtraces to FVM 2022-05-04 20:18:25 +03:00
Steven Allen
6c0c111847 feat: vm: add actor error backtraces to FVM 2022-04-28 19:58:19 +02:00
swift-mx
6c40d363f5 fix: update StatApplied when fvm apply message 2022-04-24 11:50:54 +08:00
vyzo
f017d43aae make gen 2022-04-21 19:19:20 +03:00
vyzo
0def6cb9e1 fix paymentch actor code ID for construction 2022-04-21 19:19:13 +03:00
vyzo
2d93697fe3 make gen 2022-04-21 15:09:58 +03:00
vyzo
688e8f3c09 fix multisig creation to not use the synthetic CIDs after v8 2022-04-21 15:09:49 +03:00
vyzo
090c655422 remove log spam 2022-04-21 14:18:21 +03:00
vyzo
75f00e92f5 improve concurrency story of manifest state 2022-04-21 13:53:30 +03:00
Aayush
b60d795a5d FVM: Support exectraces 2022-04-19 18:05:49 -04:00
Aayush Rajasekaran
2410cf3d84
Merge pull request #8514 from filecoin-project/asr/exec-trace
feat: FVM: Support exectraces
2022-04-19 18:03:25 -04:00
Aayush
36a8d9716e FVM: Support exectraces 2022-04-19 15:24:40 -04:00
Geoff Stuart
a3a3fefb1c
Merge pull request #8486 from filecoin-project/gstuart/robust-address-endpoint
Feat: API: Implement StateLookupRobustAddress
2022-04-19 11:37:23 -04:00
vyzo
e2e2cd87ff rename patchStateTree to patchManifestCodeCids 2022-04-15 20:18:41 +03:00
vyzo
beb3369c76 add LoadManifestFromBundle, use it in miner init 2022-04-15 20:15:28 +03:00
Geoff Stuart
49d6c07280 Implemented StateLoockupRobustAddress 2022-04-14 17:41:18 -04: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
07e4024e3b fix lint 2022-04-14 19:33:24 +03:00
vyzo
f28bd054ef fix rand_test 2022-04-14 19:33:24 +03:00
vyzo
5f62227f53 fix sync_test 2022-04-14 19:33:24 +03:00
vyzo
3b1964c507 remove manifest from upgrade schedule, get it inside the migration instead 2022-04-14 19:33:24 +03:00
vyzo
1f7c89d5d8 make gen 2022-04-14 19:33:24 +03:00
vyzo
1643ec4fe9 less wonky market/state.go.template 2022-04-14 19:33:24 +03:00
vyzo
508c06092d remove unnecessary isv8 state boolean from agen 2022-04-14 19:33:24 +03:00
vyzo
54f312139f removed dead code from builtin actor template init funcs 2022-04-14 19:33:24 +03:00
vyzo
19593eda3b fix forks_test 2022-04-14 19:33:24 +03:00
zenground0
60d09579be More fixes 2022-04-14 19:32:56 +03:00
zenground0
7163fe61a0 Post rebase fix 2022-04-14 19:32:56 +03:00
zenground0
124fe26492 WIP annoying errors 2022-04-14 19:32:56 +03:00
Aayush
339b7db2b7 Integrate FIP 0027 2022-04-14 19:32:56 +03:00
vyzo
77613b57a9 fix lint 2022-04-14 19:31:34 +03:00
vyzo
12554baed4 fix forks_test 2022-04-14 19:31:34 +03:00
vyzo
fcf69e7b82 register mapping for methods using the real code cid 2022-04-14 19:31:14 +03:00
vyzo
5d6e9ec65b patch genesis state tree to get the right code IDs 2022-04-14 19:31:14 +03:00
vyzo
752ce9e590 make tests work 2022-04-14 19:31:14 +03:00
vyzo
e8b902b42f initialize system actor for nv16 at genesis 2022-04-14 19:31:14 +03:00
vyzo
9ee57937b4 make gen 2022-04-14 19:31:14 +03:00
vyzo
8f121ab0ec patch agen to deal with v8 deal proposals 2022-04-14 19:31:14 +03:00
vyzo
3e72a088df fix rand_test 2022-04-14 19:30:47 +03:00
vyzo
aba27d930b make gen 2022-04-14 19:30:47 +03:00
vyzo
44e42bfec8 fix sync_test 2022-04-14 19:30:47 +03:00
vyzo
71913521f9 fix itest migrations 2022-04-14 19:30:47 +03:00
vyzo
a8547ed840 make manifest cid access thread-safe 2022-04-14 19:30:47 +03:00
vyzo
ddede202a8 update fvm construction 2022-04-14 19:29:59 +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
7712fc044e rerun agen to gofmt 2022-04-14 19:29:22 +03:00
vyzo
efa57bbd1f make agen gofmt 2022-04-14 19:29:22 +03:00
vyzo
cdd5420e0c agen 2022-04-14 19:29:22 +03:00
vyzo
770608aef1 update templates for actor shims 2022-04-14 19:29:22 +03:00
vyzo
08a5950863 actor manifests and metadata 2022-04-14 19:29:22 +03:00
vyzo
a9ae38a1ce wire in nv16 migration signature and manifests 2022-04-14 19:29:22 +03:00
Aayush
3370847f3e Implement FIP-0031 2022-04-14 19:28:16 +03:00
zenground0
5bdcc7d7e0 make gen 2022-04-13 22:16:05 -04:00
zenground0
db5082552d Fix sorting bug to deflake test 2022-04-13 22:06:38 -04:00
zenground0
563dc8e59a Fix up tests 2022-04-12 18:31:31 -04:00
zenground0
239274cb1d Properly handle output index 2022-04-12 15:34:45 -04:00
Aayush Rajasekaran
656a33863f Fixup merge 2022-04-11 20:45:13 -04:00
jennijuju
0dcad9cc18 Merge branch 'releases' into jen/mergeback 2022-04-12 01:25:02 +02:00
Aayush
7518854625 fix: FVM: add finality check for consensus faults 2022-04-07 12:27:33 -04:00
Aayush
d1c0b8b0c9 fix: FVM: add finality check for consensus faults 2022-04-07 12:22:07 -04:00
frrist
20bf46f309 chore: events: implement event observer deregister method 2022-04-06 11:01:18 -07:00
Aayush Rajasekaran
8c46d00ee7 Update to go-log 2.5.1 2022-04-01 01:13:55 -04:00
Jennifer Wang
2a988d453c chore: ffi: the latest fvm release 2022-03-26 23:25:02 -04:00
Jennifer Wang
f2fa2f5067 chore: ffi: the latest fvm release 2022-03-26 22:45:47 -04:00
Aayush
0bfbcfb5e9 stmgr: GetNtwkVersion: return genesis network version before the first upgrade 2022-03-25 15:09:14 -04:00
Aayush
25b2e144b8 VM: Refactor pricelist to be based on network versions 2022-03-25 15:06:10 -04:00
Aayush
3fbf765605 FVM: log when fvm is used 2022-03-23 14:05:43 -04:00
Aayush
595e29186e stmgr: call: use a buffered concurrent-access blockstore 2022-03-23 14:05:43 -04:00
Aayush
694c45cd65 FVM: log when fvm is used 2022-03-23 13:19:28 -04:00