Commit Graph

77 Commits

Author SHA1 Message Date
Aayush
5a901b5eb6 fix tvx 2023-08-22 13:17:31 -04:00
Aayush
89f66dde93 refactor: move vm.Rand to rand.Rand 2023-08-22 12:32:43 -04:00
Jorropo
6c01310728
chore: migrate to boxo
This migrates everything except the `go-car` librairy: https://github.com/ipfs/boxo/issues/218#issuecomment-1529922103

I didn't migrated everything in the previous release because all the boxo code wasn't compatible with the go-ipld-prime one due to a an in flight (/ aftermath) revert of github.com/ipfs/go-block-format. go-block-format has been unmigrated since slight bellow absolutely everything depends on it that would have required everything to be moved on boxo or everything to optin into using boxo which were all deal breakers for different groups.

This worked fine because lotus's codebase could live hapely on the first multirepo setup however boost is now trying to use boxo's code with lotus's (still on multirepo) setup: https://filecoinproject.slack.com/archives/C03AQ3QAUG1/p1685022344779649

The alternative would be for boost to write shim types which just forward calls and return with the different interface definitions.

Btw why is that an issue in the first place is because unlike what go's duck typing model suggest interfaces are not transparent https://github.com/golang/go/issues/58112, interfaces are strongly typed but they have implicit narrowing. The issue is if you return an interface from an interface Go does not have a function definition to insert the implicit conversion thus instead the type checker complains you are not returning the right type.

Stubbing types were reverted https://github.com/ipfs/boxo/issues/218#issuecomment-1478650351

Last time I only migrated `go-bitswap` to `boxo/bitswap` because of the security issues and because we never had the interface return an interface problem (we had concrete wrappers where the implicit conversion took place).
2023-06-19 14:45:05 -07:00
Steven Allen
7b6f6843a7 fix: tvx: correctly lookup actor codes in extract-many 2023-04-20 13:27:44 -07:00
Jorropo
fe42d974a2 chore: all: migrate from go-libipfs to boxo
github.com/ipfs/libipfs/blocks was unmigrated to github.com/ipfs/go-block-format due to compatibility issues with the rest of the IPLD stack.
2023-04-18 17:22:18 +02:00
Jorropo
f572852d06 chore: all: bump go-libipfs to replace go-block-format
Includes changes from:
- https://github.com/ipfs/go-block-format/pull/37
- https://github.com/ipfs/go-libipfs/pull/58
2023-01-26 17:03:18 +01:00
Alfonso de la Rocha
0f92bced9d
Merge branch 'master' into adlrocha/cns-iface-master 2022-11-22 10:28:18 +01:00
Steven Allen
ba2e665fc2
fix: tvx: missing parentheses (#9649)
https://github.com/filecoin-project/ref-fvm/issues/944#issuecomment-1315245773
2022-11-16 17:19:45 -05:00
Aayush
14ef069ea1 tvx: fixup VM creation 2022-11-07 17:24:15 -05:00
Aayush
ed83595e33 tvx: stores: implement View() 2022-11-07 16:38:50 -05:00
Aayush
13b59c9c23 Invoker: Use MethodMeta from go-state-types 2022-10-19 15:53:26 -04:00
Alfonso de la Rocha
88d3de7afc run make gen to make ci happy 2022-10-13 16:43:02 +02:00
Alfonso de la Rocha
627d6e70a6 parametrized reward function for consensus 2022-10-13 16:30:14 +02:00
Aayush
0efca4d266 introduce v9 actors and nv17 2022-09-09 21:40:15 -04:00
Łukasz Magiera
08b22edd89 fix make gen 2022-08-29 16:25:30 +02:00
Łukasz Magiera
e65fae28de chore: fix imports 2022-06-14 17:00:51 +02:00
Aayush Rajasekaran
27eaebad7e
Merge pull request #8302 from filecoin-project/raulk/tvx-fixes
feat: conformance & tvx: support ReportConsensusFault messages
2022-06-06 23:34:16 -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
Raúl Kripalani
eef436b030 go fmt. 2022-03-11 19:05:07 +00:00
Raúl Kripalani
5434cfdaa9 tvx: use addresses when scanning precursors. 2022-03-11 18:49:07 +00:00
Raúl Kripalani
92c9716595 tvx: widen 'sender' precursor strategy to match against both participants.
And also use inclusion tipset to run the message, which is more correct
than the execution tipset.
2022-03-11 18:47:44 +00:00
Raúl Kripalani
ba408cc2be tvx: print out epoch numbers that weren't found. 2022-03-10 21:33:49 +00:00
Raúl Kripalani
3aab77af8d tvx: add missing network upgrade names. 2022-01-24 20:13:04 +00:00
Raúl Kripalani
85447abe7f tvx: supply network version when extracting messages. 2022-01-24 20:06:07 +00:00
Raúl Kripalani
75d8c52004 tvx runner: exec: add support for multiple-level dirs. 2022-01-04 18:13:24 +00:00
vyzo
47bac4a0c9 plumb context in tvx 2021-12-13 15:03:54 +02:00
Łukasz Magiera
727bb84592 stmgr: drop MethdosMap 2021-09-02 18:58:34 +02:00
Steven Allen
f9c759fcb2 fix: always check if StateSearchMessage returns nil
It returns nil on "not found".

Fixes the cases not covered in:
https://github.com/filecoin-project/lotus/pull/6787
2021-07-20 11:28:27 -07:00
Łukasz Magiera
1e4456138e Merge master into feat/nv13 2021-05-27 12:28:20 +02:00
Aayush Rajasekaran
b5da2655dc Introduce v5 actors 2021-05-10 19:44:28 -04:00
Łukasz Magiera
cf96ad4fdb fix lint 2021-04-06 14:30:49 +02:00
Łukasz Magiera
eee50caaf1 Fix buildall 2021-04-05 20:12:47 +02:00
whyrusleeping
e7a1d72ba8 extract build/version to api/version, remove api package dep on build 2021-03-05 14:28:13 -08:00
Raúl Kripalani
b0cbc932bd consolidate all blockstores in blockstore package. 2021-01-29 20:01:00 +00:00
Łukasz Magiera
9b70fdbe9d
Merge pull request #5289 from filecoin-project/asr/remove-env-var
Remove LOTUS_DISABLE_V2_ACTOR_MIGRATION envvar
2021-01-05 20:10:26 +01:00
Aayush Rajasekaran
11d1e3cd5f Remove LOTUS_DISABLE_V2_ACTOR_MIGRATION envvar 2021-01-05 00:46:57 -05:00
Raúl Kripalani
cd032d5418 tvx extract: more tipset extraction goodness.
- ability to extract a tipset range into individual vectors.
- ability to extract a tipset range and squash into a single multi-tipset vector.
- mark statediff output deterministically, so it can be extracted by tooling.
- ability to execute callbacks between tipsets in the driver.
- implement save-balances callback.
2020-12-27 18:58:35 +00:00
Raúl Kripalani
2af1283c65 tvx exec: flag to fallback to API blockstore. 2020-12-15 17:44:56 +00:00
Raúl Kripalani
3fa51f08e1 fix lint error; stamp metadata on vector. 2020-12-15 17:08:49 +00:00
Raúl Kripalani
446b1cc883 tvx command to extract tipset vectors. 2020-12-15 16:56:01 +00:00
Raúl Kripalani
bb9d2b5af4
finish comment. 2020-11-20 14:05:50 +00:00
Raúl Kripalani
cdfa869ea6 tvx extract: make it work with secp messages.
Unfortunately ChainGetMessage returns a *types.Message, which in
the case of secp messages is lacking the signature. The signature
is part of the input to calculate the CID on secp messages. Therefore,
calling `.Cid()` on the result of ChainGetMessage for this kind of
message will lead to an incorrect CID.

tvx was relying on that call to return the correct CID. Since this is
not the case (and this is a footgun that needs to be corrected, ideally
together with the *types.{,Signed}Message duality mess), I'm replacing
the comparison.
2020-10-24 20:16:14 +01:00
Raúl Kripalani
39d9150175 fix tvx init. 2020-10-23 13:30:04 +01:00
Raúl Kripalani
5301c416bc tvx extract: --ignore-sanity-checks flag. 2020-10-23 10:47:22 +01:00
Raúl Kripalani
92395745d3 tvx simulate: execute raw message against height. 2020-10-23 10:46:32 +01:00
Steven Allen
4e730b5ec8 port to v2 imports 2020-10-21 12:16:23 -07:00
Aayush Rajasekaran
556f92a823 Update to actors v2.2.0 at PostLiftoff epoch 2020-10-20 17:23:35 -04:00
Raúl Kripalani
1fb9ed1c9a remove TODO. 2020-10-15 12:58:43 +01:00
Raúl Kripalani
4e659e30c5 fix lint errors. 2020-10-15 12:14:16 +01:00
Raúl Kripalani
45cd510da1 conformance: support multiple protocol versions.
This PR introduces support for running multiple variants of a vector,
each of which targets a unique protocol version.

tvx tooling has been adapted to produce and parse the new version
of the schema.
2020-10-14 14:39:43 +01:00