Commit Graph

633 Commits

Author SHA1 Message Date
Aayush
7ea661bf87 fvm: fail if implicit message fails 2022-05-27 11:43:20 -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
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
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
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
vyzo
090c655422 remove log spam 2022-04-21 14:18:21 +03:00
Aayush
b60d795a5d FVM: Support exectraces 2022-04-19 18:05:49 -04:00
vyzo
2690b69831 fix rebase issues 2022-04-14 19:49:08 +03:00
vyzo
fcf69e7b82 register mapping for methods using the real code cid 2022-04-14 19:31:14 +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
ddede202a8 update fvm construction 2022-04-14 19:29:59 +03:00
Aayush
3370847f3e Implement FIP-0031 2022-04-14 19:28:16 +03: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
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
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
694c45cd65 FVM: log when fvm is used 2022-03-23 13:19:28 -04:00
Aayush Rajasekaran
90d78f924f
Merge pull request #8293 from filecoin-project/feat/fvm
Filecoin Virtual Machine integration
2022-03-16 15:51:56 -04:00
Darko Brdareski
79453663b3
feat: Add additional test annotations (#8272)
* Annotate api,proxy_util,blockstore_badger, policy tests

* Annotate splitstore: bsbadger / markset

* Annotate splitstore feature

* Annotate union/timed blockstore tests

* Annotate openrpc, diff_adt tests

* Annotate error,drand,events tests

* Annotate predicates_test

* Fix annotations

* Annotate tscache, gen tests

* Annotate fundmanager test

* Annotate repub and selection tests

* Annotate statetree_test

* Annotate forks_test

* Annotate searchwait_test.go

* Fix duplicated @@ symbols

* Annotate chain stmgr/store tests

* Annotate more (types) tests

* More tests annotated

* Annotate conformance chaos actor tests

* Annotate more integration tests

* Annotate journal system tests

* Annotate more tests.

* Annotate gas,head buffer behaviors

* Fix markset annotations

* doc: test annotations for the markets dagstore wrapper

* Annotate miner_api test in dagstore

* Annotate more test files

* Remove bad annotations from fsrepo

* Annotate wdpost system

* Remove bad annotations

* Renamce "conformance" to "chaos_actor" tests

* doc: stm annotations for blockheader & election proof tests

* Annotate remaining "A" tests

* annotate: stm for error_test

* memrepo_test.go

* Annotate "b" file tests

* message_test.go

* doc: stm annotate for fsrepo_test

* Annotate "c" file tests

* Annotate "D" test files

* message_test.go

* doc: stm annotate for chain, node/config & client

* docs: stm annotate node_test

* Annotate u,v,wl tests

* doc: stm annotations for various test files

* Annotate "T" test files

* doc: stm annotate for proxy_util_test & policy_test

* doc: stm annotate for various tests

* doc: final few stm annotations

* Add mempool unit tests

* Add two more memPool Add tests

* Update submodules

* Add check function tests

* Add stm annotations, refactor test helper

* Annotate api,proxy_util,blockstore_badger, policy tests

* Annotate splitstore: bsbadger / markset

solving merge conflicts

* Annotate splitstore feature

* Annotate union/timed blockstore tests

* Annotate openrpc, diff_adt tests

* Annotate error,drand,events tests

* Annotate predicates_test

* Fix annotations

* Annotate tscache, gen tests

* Annotate fundmanager test

* Annotate statetree_test

* Annotate forks_test

* Annotate searchwait_test.go

* Fix duplicated @@ symbols

* Annotate chain stmgr/store tests

* Annotate more (types) tests

* More tests annotated

* Annotate conformance chaos actor tests

* Annotate more integration tests

* Annotate journal system tests

* Annotate more tests.

* Annotate gas,head buffer behaviors

solve merge conflict

* Fix markset annotations

* Annotate miner_api test in dagstore

* Annotate more test files

* doc: test annotations for the markets dagstore wrapper

* Annotate wdpost system

* Renamce "conformance" to "chaos_actor" tests

* Annotate remaining "A" tests

* doc: stm annotations for blockheader & election proof tests

* annotate: stm for error_test

* Annotate "b" file tests

* memrepo_test.go

* Annotate "c" file tests

* message_test.go

* Annotate "D" test files

* doc: stm annotate for fsrepo_test

* Annotate u,v,wl tests

* message_test.go

* doc: stm annotate for chain, node/config & client

* docs: stm annotate node_test

* Annotate "T" test files

* doc: stm annotations for various test files

* Add mempool unit tests

solve merge conflict

* doc: stm annotate for proxy_util_test & policy_test

* doc: stm annotate for various tests

* doc: final few stm annotations

* Add two more memPool Add tests

* Update submodules

* Add check function tests

solve conflict

* Add stm annotations, refactor test helper

solve merge conflict

* Change CLI test kinds to "unit"

* Fix double merged test

* Fix ccupgrade_test merge

* Fix lint issues

* Add stm annotation to types_Test

* Test vectors submodule

* Add file annotation to burn_test

Co-authored-by: Nikola Divic <divicnikola@gmail.com>
Co-authored-by: TheMenko <themenkoprojects@gmail.com>
2022-03-16 18:37:34 +01:00
Aayush
9ea623e125 Rename the Lotus VM to LegacyVM 2022-03-15 19:40:17 -04:00
Aayush
e6117c49ef Address review 2022-03-15 19:34:59 -04:00
Aayush
673f558ba5 Rename vm.VMI to vm.Interface 2022-03-15 19:34:39 -04:00
Aayush
05fa9c81de Rename FVM envvar to LOTUS_USE_FVM_EXPERIMENTAL 2022-03-12 11:03:43 -05:00
Aayush
d2054e8653 FVM: support nv15 2022-03-11 17:03:34 -05:00
Aayush
b6682f4bbe feat: use either lotus vm or fvm consistently 2022-02-24 12:04:05 -05:00
Aayush
9bb936b75c chore: refactor: rename NewVM to NewLotusVM 2022-02-24 12:04:05 -05:00
Steven Allen
420c5fb568 fvm: time message execution 2022-02-23 19:23:20 +00:00
Steven Allen
aad376296e fvm: set gas costs to nil for implicit messages
This is what the lotus VM does.
2022-02-23 19:22:47 +00:00
Aayush
5be125ad1a address review feedback 2022-02-18 13:21:17 -05:00
Aayush
393479ea69 Fvm: impl VerifyConsensusFault 2022-02-18 13:21:01 -05:00
Steven Allen
e8d771fcac pass only fil-vested into FVM 2022-02-08 15:26:20 -08:00
Steven Allen
32b3618c74 fvm: feed in correct "base" circulating supply 2022-02-08 13:20:03 -08:00
Steven Allen
279cdd0760 fvm: fix implicit messages and message inclusion gas charging 2022-02-07 10:33:57 -08:00
Steven Allen
fc74a6c8ca update fvm/ffi bindings 2022-02-04 12:46:15 -08:00
Aayush Rajasekaran
2a669b95fb :Hook up the FVM 2022-02-04 12:46:15 -08:00
Aayush
9ec1abf880 :Fix: create a new VM for each epoch 2022-01-17 16:28:22 -05:00
Aayush Rajasekaran
207d33eaba
Merge pull request #7810 from filecoin-project/feat/snap-deals
Snap Deals Lotus Integration: FSM Posting and integration test
2022-01-11 12:46:55 -05:00
zenground0
33f2d24f54 Snap Deals Integration
- FSM handles the actual cc upgrade process including error states
- PoSting (winning and window) works over upgraded and upgrading sectors
- Integration test and changes to itest framework to reduce flakes
- Update CLI to handle new upgrade
- Update dependencies
2022-01-10 15:39:38 +05:30
Jakub Sztandera
736fb5c5b0
Add gas charge for VerifyReplicaUpdate
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2022-01-07 15:18:08 +01:00
Aayush Rajasekaran
5ec5ebac31 Fix circsuypply calc around null blocks 2022-01-05 14:17:40 -05:00
Raúl Kripalani
d4fa5a0f1d tvx runner: adjust gas pricing to cope with synthetic epochs. 2022-01-04 17:32:57 +00:00
Aayush Rajasekaran
670bd993f3 Refactor: VM: Remove the NetworkVersionGetter 2021-12-17 19:14:21 -05:00
Aayush Rajasekaran
6f6f5d79fb Refactor: State: Let Rand get network versions 2021-12-17 18:54:17 -05:00
Aayush Rajasekaran
aa1b770974 Rand: Refactor so that versioning lives in StateRand 2021-12-17 13:58:53 -05:00
Łukasz Magiera
bc384c01e3 Merge remote-tracking branch 'origin/master' into deps/update-ctx-dsbs 2021-12-17 13:01:22 +01:00
Aayush Rajasekaran
1f04cc1f23 VM: Circ supply should be constant per epoch 2021-12-17 00:29:55 -05:00
Aayush Rajasekaran
0e2278cc76 Merge branch 'master' into deps/update-ctx-dsbs 2021-12-14 18:08:29 -05:00
Aayush Rajasekaran
80d5e52923 Merge branch 'master' into next 2021-12-13 13:24:28 -05:00
Aayush Rajasekaran
dfb65ed89f Plumb contexts through 2021-12-11 17:04:00 -05:00
gstuart
9108828aeb Make Lotus vm gas tracing an env var 2021-12-10 17:27:44 -05:00
c r
e16e9ad343
reorder transfer checks so as to ensure sending more money than you have to yourself fails with an error (fixing issue 7596)
PR #7637, also adds tests to make sure behavior is correct across versions.
2021-11-29 17:26:47 -05:00
Aayush Rajasekaran
5f1783c9a5 Address review 2021-11-19 15:11:13 -05:00
Aayush Rajasekaran
1449644c34 Integrate v7 actors 2021-11-17 15:55:14 -05:00
Raúl Kripalani
95d294db63 rename vm#make{=>Account}Actor(). 2021-10-26 19:11:00 +01:00
Łukasz Magiera
19f52b4541 inline-gen: Slightly nicer comment format 2021-10-18 17:21:53 +02:00
Łukasz Magiera
5616dfb1bc Some more inline codegen 2021-10-11 22:57:24 +02:00
Jennifer Wang
38e01cba83 Merge branch 'release/v1.12.0' into jen/12tomaster 2021-10-04 02:38:00 -04:00
Aayush Rajasekaran
c3c46e9097 Fix Drand fetching around null tipsets 2021-09-29 11:57:59 -04:00
Aayush Rajasekaran
7b4c657e90 Add v6 actors 2021-09-21 14:23:14 -04:00
Aayush Rajasekaran
b9bfcc4b69 Randomness: Move getters from ChainAPI to StateAPI 2021-09-21 14:20:15 -04:00
Aayush Rajasekaran
1d6db306ec Randomness: Move getters from ChainAPI to StateAPI 2021-09-15 00:03:13 +02:00
Łukasz Magiera
95b128b7bc chain: Cleanup consensus logic 2021-09-02 18:09:37 +02:00
ZenGround0
b914e95f34 revert pricelist by version to pricelist by epoch 2021-08-11 09:49:23 -04:00
ZenGround0
6da26dcefc Remove network version panic 2021-08-10 13:07:30 -04:00
ZenGround0
e09a25ca68 Remove unnecessary ret log 2021-07-28 18:26:29 -04:00
ZenGround0
a968784908 fix new panics in invoker_test.go 2021-07-28 18:26:29 -04:00
ZenGround0
0202192fc0 Log more call context during errors 2021-07-28 18:26:29 -04:00
Łukasz Magiera
e7d73cbe56 vm: Remove unused ActorBalance 2021-07-27 15:34:39 +02:00
ZenGround0
47b5afa84b Add version six and a half 2021-07-22 09:49:47 -04:00
ZenGround0
f49a8248f0 PriceListByVersion 2021-07-22 09:49:47 -04:00
Steven Allen
d6abcff63c
fix(lotus-sim): apply code review from magik6k
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2021-06-21 09:05:48 -07:00
Steven Allen
eb2b706156 chore: fix lint errors in simulation 2021-06-18 15:44:37 -07:00
Steven Allen
0075abea5e fix(vm): always specify an ActorErr when ApplyMessage fails.
This case shouldn't actually happen, but we might as well be consistent.
2021-06-18 15:44:35 -07:00
Steven Allen
e2f5c494b0 feat: implement lotus-sim 2021-06-18 15:44:34 -07:00
Peter Rabbitson
29d7561dd1 Fix logging of stringified CIDs double-encoded in hex 2021-06-08 00:05:48 +02:00
Aayush Rajasekaran
a41a1cbd93 Gate runtime's GetRandomnessFromBeacon on HyperdriveHeight, not network version 2021-06-03 15:47:49 -04:00
Łukasz Magiera
dc642d0b7b Merge remote-tracking branch 'origin/feat/nv13' into feat/nv13-1.11 2021-06-01 21:06:58 +02:00
Aayush Rajasekaran
39f2246ae6 Use build.UpgradeHyperDriveHeight directly when sourcing randomness in VM 2021-06-01 14:43:46 -04:00
Łukasz Magiera
66c1554670 vm syscalls: fix typo 2021-06-01 19:23:12 +02:00
Łukasz Magiera
ffa47659a1 Merge remote-tracking branch 'origin/feat/nv13' into feat/nv13-1.11 2021-05-31 21:38:34 +02:00
Łukasz Magiera
2a1b35e694
Merge pull request #6361 from filecoin-project/asr/fip-0015
Implement FIP-0015
2021-05-31 20:58:21 +02:00
Aayush Rajasekaran
61554cf3e0 Update to latest actors 2021-05-31 14:47:41 -04:00
Aayush Rajasekaran
7fca1c1ee7 Implement FIP-0015 2021-05-31 14:40:54 -04:00
Łukasz Magiera
dd79c2c41a
Merge pull request #6347 from filecoin-project/feat/agg-gas-price
Introduce gas prices for aggregate verifications
2021-05-28 12:40:16 +02:00
Jakub Sztandera
cb59daf3c1
Introduce gas prices for aggregate verifications
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-05-27 17:51:01 +02:00
Łukasz Magiera
1e4456138e Merge master into feat/nv13 2021-05-27 12:28:20 +02:00
Aayush Rajasekaran
21b4741e30 Fix randomness fetching around null blocks 2021-05-26 21:06:06 -04:00
Aayush Rajasekaran
7714537239 Allow starting networks from arbitrary actor versions 2021-05-26 12:48:14 -04:00
Łukasz Magiera
43c62f4406
Revert "Allow starting networks from arbitrary actor versions" 2021-05-26 12:33:08 +02:00
Aayush Rajasekaran
cf574ca9a1 Allow starting networks from arbitrary actor versions 2021-05-25 19:30:20 -04:00
Łukasz Magiera
f5409845b5 Some review addressing 2021-05-25 16:07:45 +02:00