add "lotus-storage-miner retrieval-deals" subcommands
- enable retrieval - disable retrieval
This commit is contained in:
parent
bc90b857c9
commit
176d0bb7c0
@ -57,6 +57,7 @@ type StorageMiner interface {
|
|||||||
DealsImportData(ctx context.Context, dealPropCid cid.Cid, file string) error
|
DealsImportData(ctx context.Context, dealPropCid cid.Cid, file string) error
|
||||||
DealsList(ctx context.Context) ([]storagemarket.StorageDeal, error)
|
DealsList(ctx context.Context) ([]storagemarket.StorageDeal, error)
|
||||||
DealsSetAcceptingStorageDeals(context.Context, bool) error
|
DealsSetAcceptingStorageDeals(context.Context, bool) error
|
||||||
|
DealsSetAcceptingRetrievalDeals(context.Context, bool) error
|
||||||
DealsPieceCidBlocklist(context.Context) ([]cid.Cid, error)
|
DealsPieceCidBlocklist(context.Context) ([]cid.Cid, error)
|
||||||
DealsSetPieceCidBlocklist(context.Context, []cid.Cid) error
|
DealsSetPieceCidBlocklist(context.Context, []cid.Cid) error
|
||||||
|
|
||||||
|
@ -224,11 +224,12 @@ type StorageMinerStruct struct {
|
|||||||
StorageLock func(ctx context.Context, sector abi.SectorID, read stores.SectorFileType, write stores.SectorFileType) error `perm:"admin"`
|
StorageLock func(ctx context.Context, sector abi.SectorID, read stores.SectorFileType, write stores.SectorFileType) error `perm:"admin"`
|
||||||
StorageTryLock func(ctx context.Context, sector abi.SectorID, read stores.SectorFileType, write stores.SectorFileType) (bool, error) `perm:"admin"`
|
StorageTryLock func(ctx context.Context, sector abi.SectorID, read stores.SectorFileType, write stores.SectorFileType) (bool, error) `perm:"admin"`
|
||||||
|
|
||||||
DealsImportData func(ctx context.Context, dealPropCid cid.Cid, file string) error `perm:"write"`
|
DealsImportData func(ctx context.Context, dealPropCid cid.Cid, file string) error `perm:"write"`
|
||||||
DealsList func(ctx context.Context) ([]storagemarket.StorageDeal, error) `perm:"read"`
|
DealsList func(ctx context.Context) ([]storagemarket.StorageDeal, error) `perm:"read"`
|
||||||
DealsSetAcceptingStorageDeals func(context.Context, bool) error `perm:"admin"`
|
DealsSetAcceptingStorageDeals func(context.Context, bool) error `perm:"admin"`
|
||||||
DealsPieceCidBlocklist func(context.Context) ([]cid.Cid, error) `perm:"admin"`
|
DealsSetAcceptingRetrievalDeals func(context.Context, bool) error `perm:"admin"`
|
||||||
DealsSetPieceCidBlocklist func(context.Context, []cid.Cid) error `perm:"read"`
|
DealsPieceCidBlocklist func(context.Context) ([]cid.Cid, error) `perm:"admin"`
|
||||||
|
DealsSetPieceCidBlocklist func(context.Context, []cid.Cid) error `perm:"read"`
|
||||||
|
|
||||||
StorageAddLocal func(ctx context.Context, path string) error `perm:"admin"`
|
StorageAddLocal func(ctx context.Context, path string) error `perm:"admin"`
|
||||||
}
|
}
|
||||||
@ -881,6 +882,10 @@ func (c *StorageMinerStruct) DealsSetAcceptingStorageDeals(ctx context.Context,
|
|||||||
return c.Internal.DealsSetAcceptingStorageDeals(ctx, b)
|
return c.Internal.DealsSetAcceptingStorageDeals(ctx, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *StorageMinerStruct) DealsSetAcceptingRetrievalDeals(ctx context.Context, b bool) error {
|
||||||
|
return c.Internal.DealsSetAcceptingRetrievalDeals(ctx, b)
|
||||||
|
}
|
||||||
|
|
||||||
func (c *StorageMinerStruct) DealsPieceCidBlocklist(ctx context.Context) ([]cid.Cid, error) {
|
func (c *StorageMinerStruct) DealsPieceCidBlocklist(ctx context.Context) ([]cid.Cid, error) {
|
||||||
return c.Internal.DealsPieceCidBlocklist(ctx)
|
return c.Internal.DealsPieceCidBlocklist(ctx)
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ func main() {
|
|||||||
local := []*cli.Command{
|
local := []*cli.Command{
|
||||||
actorCmd,
|
actorCmd,
|
||||||
storageDealsCmd,
|
storageDealsCmd,
|
||||||
|
retrievalDealsCmd,
|
||||||
infoCmd,
|
infoCmd,
|
||||||
initCmd,
|
initCmd,
|
||||||
rewardsCmd,
|
rewardsCmd,
|
||||||
|
@ -219,7 +219,7 @@ var getAskCmd = &cli.Command{
|
|||||||
|
|
||||||
var storageDealsCmd = &cli.Command{
|
var storageDealsCmd = &cli.Command{
|
||||||
Name: "storage-deals",
|
Name: "storage-deals",
|
||||||
Usage: "interact with your storage deals",
|
Usage: "Manage storage deals and related configuration",
|
||||||
Subcommands: []*cli.Command{
|
Subcommands: []*cli.Command{
|
||||||
dealsImportDataCmd,
|
dealsImportDataCmd,
|
||||||
dealsListCmd,
|
dealsListCmd,
|
||||||
|
45
cmd/lotus-storage-miner/retrieval-deals.go
Normal file
45
cmd/lotus-storage-miner/retrieval-deals.go
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
lcli "github.com/filecoin-project/lotus/cli"
|
||||||
|
"github.com/urfave/cli/v2"
|
||||||
|
)
|
||||||
|
|
||||||
|
var retrievalDealsCmd = &cli.Command{
|
||||||
|
Name: "retrieval-deals",
|
||||||
|
Usage: "Manage retrieval deals and related configuration",
|
||||||
|
Subcommands: []*cli.Command{
|
||||||
|
enableRetrievalCmd,
|
||||||
|
disableRetrievalCmd,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
var enableRetrievalCmd = &cli.Command{
|
||||||
|
Name: "enable",
|
||||||
|
Usage: "Configure the miner to consider retrieval deal proposals",
|
||||||
|
Flags: []cli.Flag{},
|
||||||
|
Action: func(cctx *cli.Context) error {
|
||||||
|
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer closer()
|
||||||
|
|
||||||
|
return api.DealsSetAcceptingRetrievalDeals(lcli.DaemonContext(cctx), true)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
var disableRetrievalCmd = &cli.Command{
|
||||||
|
Name: "disable",
|
||||||
|
Usage: "Configure the miner to reject all retrieval deal proposals",
|
||||||
|
Flags: []cli.Flag{},
|
||||||
|
Action: func(cctx *cli.Context) error {
|
||||||
|
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer closer()
|
||||||
|
|
||||||
|
return api.DealsSetAcceptingRetrievalDeals(lcli.DaemonContext(cctx), false)
|
||||||
|
},
|
||||||
|
}
|
@ -44,6 +44,7 @@ type StorageMinerAPI struct {
|
|||||||
*stores.Index
|
*stores.Index
|
||||||
|
|
||||||
SetAcceptingStorageDealsConfigFunc dtypes.SetAcceptingStorageDealsConfigFunc
|
SetAcceptingStorageDealsConfigFunc dtypes.SetAcceptingStorageDealsConfigFunc
|
||||||
|
SetAcceptingRetrievalDealsConfigFunc dtypes.SetAcceptingRetrievalDealsConfigFunc
|
||||||
StorageDealPieceCidBlocklistConfigFunc dtypes.StorageDealPieceCidBlocklistConfigFunc
|
StorageDealPieceCidBlocklistConfigFunc dtypes.StorageDealPieceCidBlocklistConfigFunc
|
||||||
SetStorageDealPieceCidBlocklistConfigFunc dtypes.SetStorageDealPieceCidBlocklistConfigFunc
|
SetStorageDealPieceCidBlocklistConfigFunc dtypes.SetStorageDealPieceCidBlocklistConfigFunc
|
||||||
}
|
}
|
||||||
@ -228,6 +229,10 @@ func (sm *StorageMinerAPI) DealsSetAcceptingStorageDeals(ctx context.Context, b
|
|||||||
return sm.SetAcceptingStorageDealsConfigFunc(b)
|
return sm.SetAcceptingStorageDealsConfigFunc(b)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (sm *StorageMinerAPI) DealsSetAcceptingRetrievalDeals(ctx context.Context, b bool) error {
|
||||||
|
return sm.SetAcceptingRetrievalDealsConfigFunc(b)
|
||||||
|
}
|
||||||
|
|
||||||
func (sm *StorageMinerAPI) DealsImportData(ctx context.Context, deal cid.Cid, fname string) error {
|
func (sm *StorageMinerAPI) DealsImportData(ctx context.Context, deal cid.Cid, fname string) error {
|
||||||
fi, err := os.Open(fname)
|
fi, err := os.Open(fname)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user