Ł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
422f66776f
Merge pull request #8859 from filecoin-project/chore/import-fix
...
chore: Fix imports
2022-06-14 18:54:03 +02:00
Łukasz Magiera
e65fae28de
chore: fix imports
2022-06-14 17:00:51 +02: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
Aayush
d32ed4440d
Drop actor meta shimming for testing
2022-06-10 17:30:07 -04:00
jennijuju
41e325e822
chore: refactor: rename var name for syncing mainnet v15 using FVM
2022-06-09 16:53:16 -05: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
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 Rajasekaran
6f25476709
chore: vm: Rename tracing envvar to LOTUS_VM_ENABLE_TRACING
2022-06-01 18:18:49 -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
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