ffiwrapper: Test some assumptions about GeneratePoStFallbackSectorChallenges
This commit is contained in:
parent
32818c528f
commit
7a1beacd00
41
extern/sector-storage/ffiwrapper/sealer_test.go
vendored
41
extern/sector-storage/ffiwrapper/sealer_test.go
vendored
@ -944,3 +944,44 @@ func TestMulticoreSDR(t *testing.T) {
|
||||
|
||||
require.True(t, ok)
|
||||
}
|
||||
|
||||
func TestPoStChallengeAssumptions(t *testing.T) {
|
||||
var r [32]byte
|
||||
rand.Read(r[:])
|
||||
|
||||
// behaves like a pure function
|
||||
{
|
||||
c1, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{1, 2, 3, 4})
|
||||
require.NoError(t, err)
|
||||
|
||||
c2, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{1, 2, 3, 4})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, c1, c2)
|
||||
}
|
||||
|
||||
// doesn't sort, challenges position dependant
|
||||
{
|
||||
c1, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{1, 2, 3, 4})
|
||||
require.NoError(t, err)
|
||||
|
||||
c2, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{4, 2, 3, 1})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.NotEqual(t, c1, c2)
|
||||
|
||||
require.Equal(t, c1.Challenges[2], c2.Challenges[2])
|
||||
require.Equal(t, c1.Challenges[3], c2.Challenges[3])
|
||||
|
||||
require.NotEqual(t, c1.Challenges[1], c2.Challenges[1])
|
||||
require.NotEqual(t, c1.Challenges[4], c2.Challenges[4])
|
||||
}
|
||||
|
||||
// generate dedupes
|
||||
{
|
||||
c1, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{1, 2, 1, 4})
|
||||
require.NoError(t, err)
|
||||
require.Len(t, c1.Sectors, 3)
|
||||
require.Len(t, c1.Challenges, 3)
|
||||
}
|
||||
}
|
||||
|
5
extern/sector-storage/manager_post.go
vendored
5
extern/sector-storage/manager_post.go
vendored
@ -122,9 +122,8 @@ func (m *Manager) generateWindowPoSt(ctx context.Context, minerID abi.ActorID, s
|
||||
|
||||
// We're supplied the list of sectors that the miner actor expects - this
|
||||
// list contains substitutes for skipped sectors - but we don't care about
|
||||
// those for the purpose of the proof because post proof challenges are based
|
||||
// on sector numbers, not position in the proof - so for things to work, we
|
||||
// need to dedupe here.
|
||||
// those for the purpose of the proof, so for things to work, we need to
|
||||
// dedupe here.
|
||||
sectorInfo = dedupeSectorInfo(sectorInfo)
|
||||
|
||||
// The partitions number of this batch
|
||||
|
Loading…
Reference in New Issue
Block a user