Documentation ¶
Index ¶
- Constants
- func AggregateSealProofs(aggregateInfo proof5.AggregateSealVerifyProofAndInfos, proofs [][]byte) (out []byte, err error)
- func ClearCache(sectorSize uint64, cacheDirPath string) error
- func FauxRep(proofType abi.RegisteredSealProof, cacheDirPath string, ...) (cid.Cid, error)
- func FauxRep2(proofType abi.RegisteredSealProof, cacheDirPath string, ...) (cid.Cid, error)
- func GeneratePieceCID(proofType abi.RegisteredSealProof, piecePath string, ...) (cid.Cid, error)
- func GeneratePieceCIDFromFile(proofType abi.RegisteredSealProof, pieceCesse *os.File, ...) (cid.Cid, error)
- func GenerateSingleVanillaProof(replica PrivateSectorInfo, challange []uint64) ([]byte, error)
- func GenerateUnsealedCID(proofType abi.RegisteredSealProof, pieces []abi.PieceInfo) (cid.Cid, error)
- func GenerateWindowPoSt(minerID abi.ActorID, privateSectorInfo SortedPrivateSectorInfo, ...) ([]proof5.PoStProof, []abi.SectorNumber, error)
- func GenerateWindowPoStWithVanilla(proofType abi.RegisteredPoStProof, minerID abi.ActorID, ...) ([]proof.PoStProof, error)
- func GenerateWinningPoSt(minerID abi.ActorID, privateSectorInfo SortedPrivateSectorInfo, ...) ([]proof5.PoStProof, error)
- func GenerateWinningPoStSectorChallenge(proofType abi.RegisteredPoStProof, minerID abi.ActorID, ...) ([]uint64, error)
- func GenerateWinningPoStWithVanilla(proofType abi.RegisteredPoStProof, minerID abi.ActorID, ...) ([]proof.PoStProof, error)
- func GetGPUDevices() ([]string, error)
- func GetNumPartitionForFallbackPost(proofType abi.RegisteredPoStProof, numSectors uint) (uint, error)
- func GetPoStVersion(proofType abi.RegisteredPoStProof) (string, error)
- func GetSealVersion(proofType abi.RegisteredSealProof) (string, error)
- func HashVerify(signature *Signature, messages []Message, publicKeys []PublicKey) bool
- func MergeWindowPoStPartitionProofs(proofType abi.RegisteredPoStProof, partitionProofs []PartitionProof) (*proof.PoStProof, error)
- func SealCommitPhase1(proofType abi.RegisteredSealProof, sealedCID cid.Cid, unsealedCID cid.Cid, ...) (phase1Output []byte, err error)
- func SealCommitPhase2(phase1Output []byte, sectorNum abi.SectorNumber, minerID abi.ActorID) ([]byte, error)
- func SealPreCommitPhase1(proofType abi.RegisteredSealProof, cacheDirPath string, ...) (phase1Output []byte, err error)
- func SealPreCommitPhase2(phase1Output []byte, cacheDirPath string, sealedSectorPath string) (sealedCID cid.Cid, unsealedCID cid.Cid, err error)
- func Unseal(proofType abi.RegisteredSealProof, cacheDirPath string, sealedSector *os.File, ...) error
- func UnsealRange(proofType abi.RegisteredSealProof, cacheDirPath string, sealedSector *os.File, ...) error
- func Verify(signature *Signature, digests []Digest, publicKeys []PublicKey) bool
- func VerifyAggregateSeals(aggregate proof5.AggregateSealVerifyProofAndInfos) (bool, error)
- func VerifySeal(info proof5.SealVerifyInfo) (bool, error)
- func VerifyWindowPoSt(info proof5.WindowPoStVerifyInfo) (bool, error)
- func VerifyWinningPoSt(info proof5.WinningPoStVerifyInfo) (bool, error)
- func WorkflowGenerateWinningPoStSectorChallenge(t TestHelper)
- func WorkflowGenerateWinningPoStSectorChallengeEdgeCase(t TestHelper)
- func WorkflowGetGPUDevicesDoesNotProduceAnError(t TestHelper)
- func WorkflowProofsLifecycle(t TestHelper)
- func WorkflowRegisteredPoStProofFunctions(t TestHelper)
- func WorkflowRegisteredSealProofFunctions(t TestHelper)
- func WriteWithAlignment(proofType abi.RegisteredSealProof, pieceCesse *os.File, ...) (leftAlignment, total abi.UnpaddedPieceSize, pieceCID cid.Cid, retErr error)
- func WriteWithoutAlignment(proofType abi.RegisteredSealProof, pieceCesse *os.File, ...) (abi.UnpaddedPieceSize, cid.Cid, error)
- type AllocationManager
- type Digest
- type FallbackChallenges
- type Message
- type PartitionProof
- type PrivateKey
- type PrivateKeyGenSeed
- type PrivateSectorInfo
- type PublicKey
- type Signature
- type SortedPrivateSectorInfo
- type SortedPublicSectorInfo
- type TestHelper
- type VanillaProof
Constants ¶
const DigestBytes = 96
DigestBytes is the length of a BLS message hash/digest
const PrivateKeyBytes = 32
PrivateKeyBytes is the length of a BLS private key
const PublicKeyBytes = 48
PublicKeyBytes is the length of a BLS public key
const SignatureBytes = 96
SignatureBytes is the length of a BLS signature
const Version int = 3
Version is most similar to semver's minor version. It is here as we cannot use gomod versioning due to local replace directives for native dependencies.
Variables ¶
This section is empty.
Functions ¶
func AggregateSealProofs ¶
func AggregateSealProofs(aggregateInfo proof5.AggregateSealVerifyProofAndInfos, proofs [][]byte) (out []byte, err error)
TODO AggregateSealProofs it only needs InteractiveRandomness out of the aggregateInfo.Infos
func FauxRep ¶
func FauxRep(proofType abi.RegisteredSealProof, cacheDirPath string, sealedSectorPath string) (cid.Cid, error)
func FauxRep2 ¶
func FauxRep2(proofType abi.RegisteredSealProof, cacheDirPath string, existingPAuxPath string) (cid.Cid, error)
func GeneratePieceCID ¶
func GeneratePieceCID(proofType abi.RegisteredSealProof, piecePath string, pieceSize abi.UnpaddedPieceSize) (cid.Cid, error)
GeneratePieceCommitment produces a piece commitment for the provided data stored at a given path.
func GeneratePieceCIDFromFile ¶
func GeneratePieceCIDFromFile(proofType abi.RegisteredSealProof, pieceCesse *os.File, pieceSize abi.UnpaddedPieceSize) (cid.Cid, error)
GeneratePieceCIDFromFile produces a piece CID for the provided data stored in a given file.
func GenerateSingleVanillaProof ¶
func GenerateSingleVanillaProof( replica PrivateSectorInfo, challange []uint64, ) ([]byte, error)
func GenerateUnsealedCID ¶
func GenerateUnsealedCID(proofType abi.RegisteredSealProof, pieces []abi.PieceInfo) (cid.Cid, error)
GenerateDataCommitment produces a commitment for the sector containing the provided pieces.
func GenerateWindowPoSt ¶
func GenerateWindowPoSt( minerID abi.ActorID, privateSectorInfo SortedPrivateSectorInfo, randomness abi.PoStRandomness, ) ([]proof5.PoStProof, []abi.SectorNumber, error)
GenerateWindowPoSt
func GenerateWindowPoStWithVanilla ¶
func GenerateWindowPoStWithVanilla( proofType abi.RegisteredPoStProof, minerID abi.ActorID, randomness abi.PoStRandomness, proofs [][]byte, ) ([]proof.PoStProof, error)
func GenerateWinningPoSt ¶
func GenerateWinningPoSt( minerID abi.ActorID, privateSectorInfo SortedPrivateSectorInfo, randomness abi.PoStRandomness, ) ([]proof5.PoStProof, error)
GenerateWinningPoSt
func GenerateWinningPoStSectorChallenge ¶
func GenerateWinningPoStSectorChallenge( proofType abi.RegisteredPoStProof, minerID abi.ActorID, randomness abi.PoStRandomness, eligibleSectorsLen uint64, ) ([]uint64, error)
GenerateWinningPoStSectorChallenge
func GenerateWinningPoStWithVanilla ¶
func GenerateWinningPoStWithVanilla( proofType abi.RegisteredPoStProof, minerID abi.ActorID, randomness abi.PoStRandomness, proofs [][]byte, ) ([]proof.PoStProof, error)
func GetGPUDevices ¶
GetGPUDevices produces a slice of strings, each representing the name of a detected GPU device.
func GetNumPartitionForFallbackPost ¶
func GetNumPartitionForFallbackPost(proofType abi.RegisteredPoStProof, numSectors uint) (uint, error)
func GetPoStVersion ¶
func GetPoStVersion(proofType abi.RegisteredPoStProof) (string, error)
GetPoStVersion
func GetSealVersion ¶
func GetSealVersion(proofType abi.RegisteredSealProof) (string, error)
GetSealVersion
func HashVerify ¶
HashVerify verifies that a signature is the aggregated signature of hashed messages.
func MergeWindowPoStPartitionProofs ¶
func MergeWindowPoStPartitionProofs( proofType abi.RegisteredPoStProof, partitionProofs []PartitionProof, ) (*proof.PoStProof, error)
func SealCommitPhase1 ¶
func SealCommitPhase1( proofType abi.RegisteredSealProof, sealedCID cid.Cid, unsealedCID cid.Cid, cacheDirPath string, sealedSectorPath string, sectorNum abi.SectorNumber, minerID abi.ActorID, ticket abi.SealRandomness, seed abi.InteractiveSealRandomness, pieces []abi.PieceInfo, ) (phase1Output []byte, err error)
SealCommitPhase1
func SealCommitPhase2 ¶
func SealCommitPhase2( phase1Output []byte, sectorNum abi.SectorNumber, minerID abi.ActorID, ) ([]byte, error)
SealCommitPhase2
func SealPreCommitPhase1 ¶
func SealPreCommitPhase1( proofType abi.RegisteredSealProof, cacheDirPath string, stagedSectorPath string, sealedSectorPath string, sectorNum abi.SectorNumber, minerID abi.ActorID, ticket abi.SealRandomness, pieces []abi.PieceInfo, ) (phase1Output []byte, err error)
SealPreCommitPhase1
func SealPreCommitPhase2 ¶
func SealPreCommitPhase2( phase1Output []byte, cacheDirPath string, sealedSectorPath string, ) (sealedCID cid.Cid, unsealedCID cid.Cid, err error)
SealPreCommitPhase2
func Unseal ¶
func Unseal( proofType abi.RegisteredSealProof, cacheDirPath string, sealedSector *os.File, unsealOutput *os.File, sectorNum abi.SectorNumber, minerID abi.ActorID, ticket abi.SealRandomness, unsealedCID cid.Cid, ) error
Unseal
func UnsealRange ¶
func UnsealRange( proofType abi.RegisteredSealProof, cacheDirPath string, sealedSector *os.File, unsealOutput *os.File, sectorNum abi.SectorNumber, minerID abi.ActorID, ticket abi.SealRandomness, unsealedCID cid.Cid, unpaddedByteIndex uint64, unpaddedBytesAmount uint64, ) error
UnsealRange
func VerifyAggregateSeals ¶
func VerifyAggregateSeals(aggregate proof5.AggregateSealVerifyProofAndInfos) (bool, error)
func VerifySeal ¶
func VerifySeal(info proof5.SealVerifyInfo) (bool, error)
VerifySeal returns true if the sealing operation from which its inputs were derived was valid, and false if not.
func VerifyWindowPoSt ¶
func VerifyWindowPoSt(info proof5.WindowPoStVerifyInfo) (bool, error)
VerifyWindowPoSt returns true if the Winning PoSt-generation operation from which its inputs were derived was valid, and false if not.
func VerifyWinningPoSt ¶
func VerifyWinningPoSt(info proof5.WinningPoStVerifyInfo) (bool, error)
VerifyWinningPoSt returns true if the Winning PoSt-generation operation from which its inputs were derived was valid, and false if not.
func WorkflowGenerateWinningPoStSectorChallenge ¶
func WorkflowGenerateWinningPoStSectorChallenge(t TestHelper)
func WorkflowGenerateWinningPoStSectorChallengeEdgeCase ¶
func WorkflowGenerateWinningPoStSectorChallengeEdgeCase(t TestHelper)
func WorkflowGetGPUDevicesDoesNotProduceAnError ¶
func WorkflowGetGPUDevicesDoesNotProduceAnError(t TestHelper)
func WorkflowProofsLifecycle ¶
func WorkflowProofsLifecycle(t TestHelper)
func WorkflowRegisteredPoStProofFunctions ¶
func WorkflowRegisteredPoStProofFunctions(t TestHelper)
func WorkflowRegisteredSealProofFunctions ¶
func WorkflowRegisteredSealProofFunctions(t TestHelper)
func WriteWithAlignment ¶
func WriteWithAlignment( proofType abi.RegisteredSealProof, pieceCesse *os.File, pieceBytes abi.UnpaddedPieceSize, stagedSectorCesse *os.File, existingPieceSizes []abi.UnpaddedPieceSize, ) (leftAlignment, total abi.UnpaddedPieceSize, pieceCID cid.Cid, retErr error)
WriteWithAlignment
func WriteWithoutAlignment ¶
func WriteWithoutAlignment( proofType abi.RegisteredSealProof, pieceCesse *os.File, pieceBytes abi.UnpaddedPieceSize, stagedSectorCesse *os.File, ) (abi.UnpaddedPieceSize, cid.Cid, error)
WriteWithoutAlignment
Types ¶
type AllocationManager ¶
type AllocationManager interface {
Free()
}
AllocationManager is an interface that provides Free() capability.
type FallbackChallenges ¶
type FallbackChallenges struct { Sectors []abi.SectorNumber Challenges map[abi.SectorNumber][]uint64 }
func GeneratePoStFallbackSectorChallenges ¶
func GeneratePoStFallbackSectorChallenges( proofType abi.RegisteredPoStProof, minerID abi.ActorID, randomness abi.PoStRandomness, sectorIds []abi.SectorNumber, ) (*FallbackChallenges, error)
GenerateWinningPoStSectorChallenge
type PartitionProof ¶
func GenerateSinglePartitionWindowPoStWithVanilla ¶
func GenerateSinglePartitionWindowPoStWithVanilla( proofType abi.RegisteredPoStProof, minerID abi.ActorID, randomness abi.PoStRandomness, proofs [][]byte, partitionIndex uint, ) (*PartitionProof, error)
type PrivateKey ¶
type PrivateKey [PrivateKeyBytes]byte
PrivateKey is a compressed affine
func PrivateKeyGenerate ¶
func PrivateKeyGenerate() PrivateKey
PrivateKeyGenerate generates a private key
func PrivateKeyGenerateWithSeed ¶
func PrivateKeyGenerateWithSeed(seed PrivateKeyGenSeed) PrivateKey
PrivateKeyGenerate generates a private key in a predictable manner
type PrivateKeyGenSeed ¶
type PrivateKeyGenSeed [32]byte
Used when generating a private key deterministically
type PrivateSectorInfo ¶
type PrivateSectorInfo struct { proof.SectorInfo CacheDirPath string PoStProofType abi.RegisteredPoStProof SealedSectorPath string }
type PublicKey ¶
type PublicKey [PublicKeyBytes]byte
PublicKey is a compressed affine
func PrivateKeyPublicKey ¶
func PrivateKeyPublicKey(privateKey PrivateKey) PublicKey
PrivateKeyPublicKey gets the public key for a private key
type Signature ¶
type Signature [SignatureBytes]byte
Signature is a compressed affine
func Aggregate ¶
Aggregate aggregates signatures together into a new signature. If the provided signatures cannot be aggregated (due to invalid input or an an operational error), Aggregate will return nil.
func CreateZeroSignature ¶
func CreateZeroSignature() Signature
CreateZeroSignature creates a zero signature, used as placeholder in Cessecoin.
func PrivateKeySign ¶
func PrivateKeySign(privateKey PrivateKey, message Message) *Signature
PrivateKeySign signs a message
type SortedPrivateSectorInfo ¶
type SortedPrivateSectorInfo struct {
// contains filtered or unexported fields
}
SortedPrivateSectorInfo is a slice of PrivateSectorInfo sorted (lexicographically, ascending) by sealed (replica) CID.
func NewSortedPrivateSectorInfo ¶
func NewSortedPrivateSectorInfo(sectorInfo []PrivateSectorInfo) SortedPrivateSectorInfo
NewSortedPrivateSectorInfo returns a SortedPrivateSectorInfo
func (SortedPrivateSectorInfo) MarshalJSON ¶
func (s SortedPrivateSectorInfo) MarshalJSON() ([]byte, error)
MarshalJSON JSON-encodes and serializes the SortedPrivateSectorInfo.
func (*SortedPrivateSectorInfo) UnmarshalJSON ¶
func (s *SortedPrivateSectorInfo) UnmarshalJSON(b []byte) error
func (*SortedPrivateSectorInfo) Values ¶
func (s *SortedPrivateSectorInfo) Values() []PrivateSectorInfo
Values returns the sorted PrivateSectorInfo as a slice
type SortedPublicSectorInfo ¶
type SortedPublicSectorInfo struct {
// contains filtered or unexported fields
}
SortedPublicSectorInfo is a slice of publicSectorInfo sorted (lexicographically, ascending) by sealed (replica) CID.
func (SortedPublicSectorInfo) MarshalJSON ¶
func (s SortedPublicSectorInfo) MarshalJSON() ([]byte, error)
MarshalJSON JSON-encodes and serializes the SortedPublicSectorInfo.
func (*SortedPublicSectorInfo) UnmarshalJSON ¶
func (s *SortedPublicSectorInfo) UnmarshalJSON(b []byte) error
UnmarshalJSON parses the JSON-encoded byte slice and stores the result in the value pointed to by s.f. Note that this method allows for construction of a SortedPublicSectorInfo which violates its invariant (that its publicSectorInfo are sorted in some defined way). Callers should take care to never provide a byte slice which would violate this invariant.
func (*SortedPublicSectorInfo) Values ¶
func (s *SortedPublicSectorInfo) Values() []publicSectorInfo
Values returns the sorted publicSectorInfo as a slice
type TestHelper ¶
type TestHelper interface { AssertEqual(expected, actual interface{}, msgAndArgs ...interface{}) bool AssertNoError(err error, msgAndArgs ...interface{}) bool AssertTrue(value bool, msgAndArgs ...interface{}) bool RequireEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) RequireNoError(err error, msgAndArgs ...interface{}) RequireTrue(value bool, msgAndArgs ...interface{}) }
type VanillaProof ¶
type VanillaProof []byte