spcli

package
v1.28.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2024 License: Apache-2.0, MIT Imports: 52 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ActorNewMinerCmd = &cli.Command{
	Name:  "new-miner",
	Usage: "Initializes a new miner actor",
	Flags: []cli.Flag{
		&cli.StringFlag{
			Name:    "worker",
			Aliases: []string{"w"},
			Usage:   "worker key to use for new miner initialisation",
		},
		&cli.StringFlag{
			Name:    "owner",
			Aliases: []string{"o"},
			Usage:   "owner key to use for new miner initialisation",
		},
		&cli.StringFlag{
			Name:    "from",
			Aliases: []string{"f"},
			Usage:   "address to send actor(miner) creation message from",
		},
		&cli.StringFlag{
			Name:  "sector-size",
			Usage: "specify sector size to use for new miner initialisation",
		},
		&cli.IntFlag{
			Name:  "confidence",
			Usage: "number of block confirmations to wait for",
			Value: int(build.MessageConfidence),
		},
	},
	Action: func(cctx *cli.Context) error {
		ctx := cctx.Context

		full, closer, err := cliutil.GetFullNodeAPIV1(cctx)
		if err != nil {
			return xerrors.Errorf("connecting to full node: %w", err)
		}
		defer closer()

		var owner address.Address
		if cctx.String("owner") == "" {
			return xerrors.Errorf("must provide a owner address")
		}
		owner, err = address.NewFromString(cctx.String("owner"))

		if err != nil {
			return err
		}

		worker := owner
		if cctx.String("worker") != "" {
			worker, err = address.NewFromString(cctx.String("worker"))
			if err != nil {
				return xerrors.Errorf("could not parse worker address: %w", err)
			}
		}

		sender := owner
		if fromstr := cctx.String("from"); fromstr != "" {
			faddr, err := address.NewFromString(fromstr)
			if err != nil {
				return xerrors.Errorf("could not parse from address: %w", err)
			}
			sender = faddr
		}

		if !cctx.IsSet("sector-size") {
			return xerrors.Errorf("must define sector size")
		}

		sectorSizeInt, err := units.RAMInBytes(cctx.String("sector-size"))
		if err != nil {
			return err
		}
		ssize := abi.SectorSize(sectorSizeInt)

		_, err = CreateStorageMiner(ctx, full, owner, worker, sender, ssize, cctx.Uint64("confidence"))
		if err != nil {
			return err
		}
		return nil
	},
}
View Source
var StateList = []StateMeta{
	{Col: 39, State: "Total"},
	{Col: color.FgGreen, State: sealing.Proving},
	{Col: color.FgGreen, State: sealing.Available},
	{Col: color.FgGreen, State: sealing.UpdateActivating},

	{Col: color.FgMagenta, State: sealing.ReceiveSector},

	{Col: color.FgBlue, State: sealing.Empty},
	{Col: color.FgBlue, State: sealing.WaitDeals},
	{Col: color.FgBlue, State: sealing.AddPiece},
	{Col: color.FgBlue, State: sealing.SnapDealsWaitDeals},
	{Col: color.FgBlue, State: sealing.SnapDealsAddPiece},

	{Col: color.FgRed, State: sealing.UndefinedSectorState},
	{Col: color.FgYellow, State: sealing.Packing},
	{Col: color.FgYellow, State: sealing.GetTicket},
	{Col: color.FgYellow, State: sealing.PreCommit1},
	{Col: color.FgYellow, State: sealing.PreCommit2},
	{Col: color.FgYellow, State: sealing.PreCommitting},
	{Col: color.FgYellow, State: sealing.PreCommitWait},
	{Col: color.FgYellow, State: sealing.SubmitPreCommitBatch},
	{Col: color.FgYellow, State: sealing.PreCommitBatchWait},
	{Col: color.FgYellow, State: sealing.WaitSeed},
	{Col: color.FgYellow, State: sealing.Committing},
	{Col: color.FgYellow, State: sealing.CommitFinalize},
	{Col: color.FgYellow, State: sealing.SubmitCommit},
	{Col: color.FgYellow, State: sealing.CommitWait},
	{Col: color.FgYellow, State: sealing.SubmitCommitAggregate},
	{Col: color.FgYellow, State: sealing.CommitAggregateWait},
	{Col: color.FgYellow, State: sealing.FinalizeSector},
	{Col: color.FgYellow, State: sealing.SnapDealsPacking},
	{Col: color.FgYellow, State: sealing.UpdateReplica},
	{Col: color.FgYellow, State: sealing.ProveReplicaUpdate},
	{Col: color.FgYellow, State: sealing.SubmitReplicaUpdate},
	{Col: color.FgYellow, State: sealing.ReplicaUpdateWait},
	{Col: color.FgYellow, State: sealing.WaitMutable},
	{Col: color.FgYellow, State: sealing.FinalizeReplicaUpdate},
	{Col: color.FgYellow, State: sealing.ReleaseSectorKey},

	{Col: color.FgCyan, State: sealing.Terminating},
	{Col: color.FgCyan, State: sealing.TerminateWait},
	{Col: color.FgCyan, State: sealing.TerminateFinality},
	{Col: color.FgCyan, State: sealing.TerminateFailed},
	{Col: color.FgCyan, State: sealing.Removing},
	{Col: color.FgCyan, State: sealing.Removed},
	{Col: color.FgCyan, State: sealing.AbortUpgrade},

	{Col: color.FgRed, State: sealing.FailedUnrecoverable},
	{Col: color.FgRed, State: sealing.AddPieceFailed},
	{Col: color.FgRed, State: sealing.SealPreCommit1Failed},
	{Col: color.FgRed, State: sealing.SealPreCommit2Failed},
	{Col: color.FgRed, State: sealing.PreCommitFailed},
	{Col: color.FgRed, State: sealing.ComputeProofFailed},
	{Col: color.FgRed, State: sealing.RemoteCommitFailed},
	{Col: color.FgRed, State: sealing.CommitFailed},
	{Col: color.FgRed, State: sealing.CommitFinalizeFailed},
	{Col: color.FgRed, State: sealing.PackingFailed},
	{Col: color.FgRed, State: sealing.FinalizeFailed},
	{Col: color.FgRed, State: sealing.Faulty},
	{Col: color.FgRed, State: sealing.FaultReported},
	{Col: color.FgRed, State: sealing.FaultedFinal},
	{Col: color.FgRed, State: sealing.RemoveFailed},
	{Col: color.FgRed, State: sealing.DealsExpired},
	{Col: color.FgRed, State: sealing.RecoverDealIDs},
	{Col: color.FgRed, State: sealing.SnapDealsAddPieceFailed},
	{Col: color.FgRed, State: sealing.SnapDealsDealsExpired},
	{Col: color.FgRed, State: sealing.ReplicaUpdateFailed},
	{Col: color.FgRed, State: sealing.ReleaseSectorKeyFailed},
	{Col: color.FgRed, State: sealing.FinalizeReplicaUpdateFailed},
}
View Source
var StateOrder = map[sealing.SectorState]StateMeta{}

Functions

func ActorCompactAllocatedCmd

func ActorCompactAllocatedCmd(getActor ActorAddressGetter) *cli.Command

func ActorConfirmChangeBeneficiaryCmd

func ActorConfirmChangeBeneficiaryCmd(getActor ActorAddressGetter) *cli.Command

func ActorConfirmChangeWorkerCmd

func ActorConfirmChangeWorkerCmd(getActor ActorAddressGetter) *cli.Command

func ActorControlCmd

func ActorControlCmd(getActor ActorAddressGetter, actorControlListCmd *cli.Command) *cli.Command

func ActorProposeChangeBeneficiaryCmd

func ActorProposeChangeBeneficiaryCmd(getActor ActorAddressGetter) *cli.Command

func ActorProposeChangeWorkerCmd

func ActorProposeChangeWorkerCmd(getActor ActorAddressGetter) *cli.Command

func ActorRepayDebtCmd

func ActorRepayDebtCmd(getActor ActorAddressGetter) *cli.Command

func ActorSetAddrsCmd

func ActorSetAddrsCmd(getActor ActorAddressGetter) *cli.Command

func ActorSetOwnerCmd

func ActorSetOwnerCmd(getActor ActorAddressGetter) *cli.Command

func ActorSetPeeridCmd

func ActorSetPeeridCmd(getActor ActorAddressGetter) *cli.Command

func ActorWithdrawCmd

func ActorWithdrawCmd(getActor ActorAddressGetter) *cli.Command

func ArrayToString

func ArrayToString(array []uint64) string

ArrayToString Example: {1,3,4,5,8,9} -> "1,3-5,8-9"

func CreateStorageMiner

func CreateStorageMiner(ctx context.Context, fullNode v1api.FullNode, owner, worker, sender address.Address, ssize abi.SectorSize, confidence uint64) (address.Address, error)

func InfoCmd

func InfoCmd(getActorAddress ActorAddressGetter) *cli.Command

func ProvingDeadlineInfoCmd

func ProvingDeadlineInfoCmd(getActorAddress ActorAddressGetter) *cli.Command

func ProvingDeadlinesCmd

func ProvingDeadlinesCmd(getActorAddress ActorAddressGetter) *cli.Command

func ProvingFaultsCmd

func ProvingFaultsCmd(getActorAddress ActorAddressGetter) *cli.Command

func ProvingInfoCmd

func ProvingInfoCmd(getActorAddress ActorAddressGetter) *cli.Command

func SectorNumsToBitfield

func SectorNumsToBitfield(sectors []abi.SectorNumber) bitfield.BitField

func SectorPreCommitsCmd

func SectorPreCommitsCmd(getActorAddress ActorAddressGetter) *cli.Command

func SectorsCheckExpireCmd

func SectorsCheckExpireCmd(getActorAddress ActorAddressGetter) *cli.Command

func SectorsCompactPartitionsCmd

func SectorsCompactPartitionsCmd(getActorAddress ActorAddressGetter) *cli.Command

func SectorsExtendCmd

func SectorsExtendCmd(getActorAddress ActorAddressGetter) *cli.Command

func SectorsListUpgradeBoundsCmd

func SectorsListUpgradeBoundsCmd(getActorAddress ActorAddressGetter) *cli.Command

func SectorsStatusCmd

func SectorsStatusCmd(getActorAddress ActorAddressGetter, getOnDiskInfo OnDiskInfoGetter) *cli.Command

func TerminateSectorCmd

func TerminateSectorCmd(getActorAddress ActorAddressGetter) *cli.Command

func TerminateSectors

func TerminateSectors(ctx context.Context, full TerminatorNode, maddr address.Address, sectorNumbers []int, fromAddr address.Address) (*types.SignedMessage, error)

Types

type ActorAddressGetter

type ActorAddressGetter func(cctx *cli.Context) (address address.Address, err error)

type OnDiskInfoGetter

type OnDiskInfoGetter func(cctx *cli.Context, id abi.SectorNumber, onChainInfo bool) (api.SectorInfo, error)

type PseudoExpirationExtension

type PseudoExpirationExtension struct {
	Deadline      uint64
	Partition     uint64
	Sectors       string
	NewExpiration abi.ChainEpoch
}

type PseudoExtendSectorExpirationParams

type PseudoExtendSectorExpirationParams struct {
	Extensions []PseudoExpirationExtension
}

type StateMeta

type StateMeta struct {
	I     int
	Col   color.Attribute
	State sealing.SectorState
}

type TerminatorNode

type TerminatorNode interface {
	StateSectorPartition(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok types.TipSetKey) (*miner.SectorLocation, error)
	MpoolPushMessage(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec) (*types.SignedMessage, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL