filecoin-project / lotus

Reference implementation of the Filecoin protocol, written in Go
https://lotus.filecoin.io/
Other
2.81k stars 1.25k forks source link

Correct `SupportedProofTypes` in `Filecoin.StateGetNetworkParams` #11996

Open rjan90 opened 2 months ago

rjan90 commented 2 months ago

Description Updating SupportedProofTypes in Filecoin.StateGetNetworkParams to the correct ProofTypes caused failures in devnet tooling:

PR #11988 updated SupportedProofTypes to the correct values, but this caused panics in the the devnet tooling when using lotus-seed, more specifically it seems to come from this part of the code: https://github.com/filecoin-project/lotus/blob/7e005be751d3695bb05010292ed24f10c1d583bf/chain/actors/policy/policy.go#L107-L139

./lotus-seed pre-seal --sector-size 2KiB --num-sectors 2 
panic: must specify v1 proof types only

goroutine 1 [running]:
github.com/filecoin-project/lotus/chain/actors/policy.AddSupportedProofTypes({0x911e340, 0x4, 0xc00003b230?})
        /root/lotus/chain/actors/policy/policy.go:112 +0x2e5
github.com/filecoin-project/lotus/chain/actors/policy.SetSupportedProofTypes({0x911e340, 0x4, 0x4})
        /root/lotus/chain/actors/policy/policy.go:104 +0x305
github.com/filecoin-project/lotus/build.init.1()
        /root/lotus/build/params_2k.go:101 +0x2c

PR #11990 reverted the changes from PR #11988 to restore devnet-testing stability in the master branch. But we should look into the root-cause here, and fix it, so that we can update the SupportedProofTypes to the correct values.

rjan90 commented 2 months ago

The correct way forward here is to find out why it panics, then fix the SupportedProofTypes to the correct values.