Documentation ¶
Index ¶
- Constants
- Variables
- func AggregateSealProofs(aggregateInfo proof.AggregateSealVerifyProofAndInfos, proofs [][]byte) (out []byte, err error)
- func ClearCache(sectorSize uint64, cacheDirPath string) error
- func ClearSyntheticProofs(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, pieceFile *os.File, ...) (cid.Cid, error)
- func GenerateSDR(proofType abi.RegisteredSealProof, cacheDirPath string, replicaId [32]byte) (err error)
- func GenerateSingleVanillaProof(replica PrivateSectorInfo, challenges []uint64) ([]byte, error)
- func GenerateSynthProofs(proofType abi.RegisteredSealProof, sealedCID, unsealedCID cid.Cid, ...) error
- func GenerateUnsealedCID(proofType abi.RegisteredSealProof, pieces []abi.PieceInfo) (cid.Cid, error)
- func GenerateWindowPoSt(minerID abi.ActorID, privateSectorInfo SortedPrivateSectorInfo, ...) ([]proof.PoStProof, []abi.SectorNumber, error)
- func GenerateWindowPoStWithVanilla(proofType abi.RegisteredPoStProof, minerID abi.ActorID, ...) ([]proof.PoStProof, error)
- func GenerateWinningPoSt(minerID abi.ActorID, privateSectorInfo SortedPrivateSectorInfo, ...) ([]proof.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 proof.AggregateSealVerifyProofAndInfos) (bool, error)
- func VerifySeal(info proof.SealVerifyInfo) (bool, error)
- func VerifyWindowPoSt(info proof.WindowPoStVerifyInfo) (bool, error)
- func VerifyWinningPoSt(info proof.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, pieceFile *os.File, ...) (leftAlignment, total abi.UnpaddedPieceSize, pieceCID cid.Cid, retErr error)
- func WriteWithoutAlignment(proofType abi.RegisteredSealProof, pieceFile *os.File, ...) (abi.UnpaddedPieceSize, cid.Cid, error)
- type AllocationManager
- type ApplyRet
- type Digest
- type FVM
- type FVMOpts
- type FallbackChallenges
- type FunctionsSectorUpdate
- func (FunctionsSectorUpdate) DecodeFrom(proofType abi.RegisteredUpdateProof, outDataPath string, replicaPath string, ...) error
- func (FunctionsSectorUpdate) EncodeInto(proofType abi.RegisteredUpdateProof, newReplicaPath string, ...) (sealedCID cid.Cid, unsealedCID cid.Cid, err error)
- func (FunctionsSectorUpdate) GenerateUpdateProof(proofType abi.RegisteredUpdateProof, oldSealedCID cid.Cid, ...) ([]byte, error)
- func (FunctionsSectorUpdate) GenerateUpdateProofWithVanilla(proofType abi.RegisteredUpdateProof, oldSealedCID cid.Cid, ...) ([]byte, error)
- func (FunctionsSectorUpdate) GenerateUpdateVanillaProofs(proofType abi.RegisteredUpdateProof, oldSealedCID cid.Cid, ...) ([][]byte, error)
- func (FunctionsSectorUpdate) RemoveData(proofType abi.RegisteredUpdateProof, sectorKeyPath string, ...) error
- func (FunctionsSectorUpdate) VerifyUpdateProof(info proof.ReplicaUpdateInfo) (bool, error)
- func (FunctionsSectorUpdate) VerifyVanillaProofs(proofType abi.RegisteredUpdateProof, oldSealedCID cid.Cid, ...) (bool, error)
- type Message
- type PartitionProof
- type PrivateKey
- type PrivateKeyGenSeed
- type PrivateSectorInfo
- type PublicKey
- type Signature
- type SortedPrivateSectorInfo
- type SortedPublicSectorInfo
- type TestHelper
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 ¶
var SectorUpdate = FunctionsSectorUpdate{}
Functions ¶
func AggregateSealProofs ¶ added in v1.20.0
func AggregateSealProofs(aggregateInfo proof.AggregateSealVerifyProofAndInfos, proofs [][]byte) (out []byte, err error)
TODO AggregateSealProofs it only needs InteractiveRandomness out of the aggregateInfo.Infos
func ClearSyntheticProofs ¶ added in v1.26.0
ClearSyntheticProofs
func FauxRep ¶ added in v0.30.3
func FauxRep(proofType abi.RegisteredSealProof, cacheDirPath string, sealedSectorPath string) (cid.Cid, error)
func FauxRep2 ¶ added in v1.20.0
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, pieceFile *os.File, pieceSize abi.UnpaddedPieceSize) (cid.Cid, error)
GeneratePieceCIDFromFile produces a piece CID for the provided data stored in a given file.
func GenerateSDR ¶ added in v1.24.0
func GenerateSDR( proofType abi.RegisteredSealProof, cacheDirPath string, replicaId [32]byte, ) (err error)
func GenerateSingleVanillaProof ¶ added in v1.20.0
func GenerateSingleVanillaProof( replica PrivateSectorInfo, challenges []uint64, ) ([]byte, error)
func GenerateSynthProofs ¶ added in v1.26.0
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, ) ([]proof.PoStProof, []abi.SectorNumber, error)
GenerateWindowPoSt
func GenerateWindowPoStWithVanilla ¶ added in v1.20.0
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, ) ([]proof.PoStProof, error)
GenerateWinningPoSt
func GenerateWinningPoStSectorChallenge ¶
func GenerateWinningPoStSectorChallenge( proofType abi.RegisteredPoStProof, minerID abi.ActorID, randomness abi.PoStRandomness, eligibleSectorsLen uint64, ) ([]uint64, error)
GenerateWinningPoStSectorChallenge
func GenerateWinningPoStWithVanilla ¶ added in v1.20.0
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 ¶ added in v1.20.0
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 ¶ added in v1.20.0
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 ¶ added in v1.20.0
func VerifyAggregateSeals(aggregate proof.AggregateSealVerifyProofAndInfos) (bool, error)
func VerifySeal ¶
func VerifySeal(info proof.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 proof.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 proof.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, pieceFile *os.File, pieceBytes abi.UnpaddedPieceSize, stagedSectorFile *os.File, existingPieceSizes []abi.UnpaddedPieceSize, ) (leftAlignment, total abi.UnpaddedPieceSize, pieceCID cid.Cid, retErr error)
WriteWithAlignment
func WriteWithoutAlignment ¶
func WriteWithoutAlignment( proofType abi.RegisteredSealProof, pieceFile *os.File, pieceBytes abi.UnpaddedPieceSize, stagedSectorFile *os.File, ) (abi.UnpaddedPieceSize, cid.Cid, error)
WriteWithoutAlignment
Types ¶
type AllocationManager ¶ added in v1.20.0
type AllocationManager interface {
Free()
}
AllocationManager is an interface that provides Free() capability.
type ApplyRet ¶ added in v1.20.0
type ApplyRet struct { Return []byte ExitCode uint64 GasUsed int64 MinerPenalty abi.TokenAmount MinerTip abi.TokenAmount BaseFeeBurn abi.TokenAmount OverEstimationBurn abi.TokenAmount Refund abi.TokenAmount GasRefund int64 GasBurned int64 ExecTraceBytes []byte FailureInfo string EventsRoot *cid.Cid EventsBytes []byte }
type FVM ¶ added in v1.20.0
type FVM struct {
// contains filtered or unexported fields
}
func (*FVM) ApplyImplicitMessage ¶ added in v1.20.0
func (*FVM) ApplyMessage ¶ added in v1.20.0
type FVMOpts ¶ added in v1.20.0
type FVMOpts struct { FVMVersion uint64 Externs cgo.Externs Epoch abi.ChainEpoch Timestamp uint64 ChainID uint64 BaseFee abi.TokenAmount BaseCircSupply abi.TokenAmount NetworkVersion network.Version StateBase cid.Cid Tracing bool Debug bool ActorRedirect cid.Cid }
type FallbackChallenges ¶ added in v1.20.0
type FallbackChallenges struct { Sectors []abi.SectorNumber Challenges map[abi.SectorNumber][]uint64 }
func GeneratePoStFallbackSectorChallenges ¶ added in v1.20.0
func GeneratePoStFallbackSectorChallenges( proofType abi.RegisteredPoStProof, minerID abi.ActorID, randomness abi.PoStRandomness, sectorIds []abi.SectorNumber, ) (*FallbackChallenges, error)
GenerateWinningPoStSectorChallenge
type FunctionsSectorUpdate ¶ added in v1.20.0
type FunctionsSectorUpdate struct{}
func (FunctionsSectorUpdate) DecodeFrom ¶ added in v1.20.0
func (FunctionsSectorUpdate) DecodeFrom( proofType abi.RegisteredUpdateProof, outDataPath string, replicaPath string, sectorKeyPath string, sectorKeyCachePath string, unsealedCID cid.Cid, ) error
func (FunctionsSectorUpdate) EncodeInto ¶ added in v1.20.0
func (FunctionsSectorUpdate) GenerateUpdateProof ¶ added in v1.20.0
func (FunctionsSectorUpdate) GenerateUpdateProof( proofType abi.RegisteredUpdateProof, oldSealedCID cid.Cid, newSealedCID cid.Cid, unsealedCID cid.Cid, newReplicaPath string, newReplicaCachePath string, sectorKeyPath string, sectorKeyCachePath string, ) ([]byte, error)
func (FunctionsSectorUpdate) GenerateUpdateProofWithVanilla ¶ added in v1.20.0
func (FunctionsSectorUpdate) GenerateUpdateProofWithVanilla( proofType abi.RegisteredUpdateProof, oldSealedCID cid.Cid, newSealedCID cid.Cid, unsealedCID cid.Cid, vanillaProofs [][]byte, ) ([]byte, error)
func (FunctionsSectorUpdate) GenerateUpdateVanillaProofs ¶ added in v1.20.0
func (FunctionsSectorUpdate) GenerateUpdateVanillaProofs( proofType abi.RegisteredUpdateProof, oldSealedCID cid.Cid, newSealedCID cid.Cid, unsealedCID cid.Cid, newReplicaPath string, newReplicaCachePath string, sectorKeyPath string, sectorKeyCachePath string, ) ([][]byte, error)
func (FunctionsSectorUpdate) RemoveData ¶ added in v1.20.0
func (FunctionsSectorUpdate) RemoveData( proofType abi.RegisteredUpdateProof, sectorKeyPath string, sectorKeyCachePath string, replicaPath string, replicaCachePath string, dataPath string, unsealedCID cid.Cid, ) error
func (FunctionsSectorUpdate) VerifyUpdateProof ¶ added in v1.20.0
func (FunctionsSectorUpdate) VerifyUpdateProof(info proof.ReplicaUpdateInfo) (bool, error)
func (FunctionsSectorUpdate) VerifyVanillaProofs ¶ added in v1.20.0
func (FunctionsSectorUpdate) VerifyVanillaProofs( proofType abi.RegisteredUpdateProof, oldSealedCID cid.Cid, newSealedCID cid.Cid, unsealedCID cid.Cid, vanillaProofs [][]byte, ) (bool, error)
type PartitionProof ¶ added in v1.20.0
func GenerateSinglePartitionWindowPoStWithVanilla ¶ added in v1.20.0
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 ¶ added in v1.20.0
func CreateZeroSignature() Signature
CreateZeroSignature creates a zero signature, used as placeholder in filecoin.
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 SplitSortedPrivateSectorInfo ¶ added in v1.20.0
func SplitSortedPrivateSectorInfo(ctx context.Context, sortPrivSectors SortedPrivateSectorInfo, start int, end int) (SortedPrivateSectorInfo, error)
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{}) }