fix docs and nits.
This commit is contained in:
parent
6969202a03
commit
07f40b9488
@ -166,6 +166,8 @@ type StorageMiner interface {
|
|||||||
MarketPendingDeals(ctx context.Context) (PendingDealInfo, error) //perm:write
|
MarketPendingDeals(ctx context.Context) (PendingDealInfo, error) //perm:write
|
||||||
MarketPublishPendingDeals(ctx context.Context) error //perm:admin
|
MarketPublishPendingDeals(ctx context.Context) error //perm:admin
|
||||||
|
|
||||||
|
// RuntimeSubsystems returns the subsystems that are enabled
|
||||||
|
// in this instance.
|
||||||
RuntimeSubsystems(ctx context.Context) (MinerSubsystems, error) //perm:read
|
RuntimeSubsystems(ctx context.Context) (MinerSubsystems, error) //perm:read
|
||||||
|
|
||||||
DealsImportData(ctx context.Context, dealPropCid cid.Cid, file string) error //perm:admin
|
DealsImportData(ctx context.Context, dealPropCid cid.Cid, file string) error //perm:admin
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
package api
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/json"
|
|
||||||
)
|
|
||||||
|
|
||||||
type MinerSubsystems []MinerSubsystem
|
|
||||||
|
|
||||||
func (ms MinerSubsystems) Has(entry MinerSubsystem) bool {
|
|
||||||
for _, v := range ms {
|
|
||||||
if v == entry {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
type MinerSubsystem int
|
|
||||||
|
|
||||||
const (
|
|
||||||
MarketsSubsystem MinerSubsystem = iota
|
|
||||||
MiningSubsystem
|
|
||||||
SealingSubsystem
|
|
||||||
SectorStorageSubsystem
|
|
||||||
)
|
|
||||||
|
|
||||||
func (ms MinerSubsystem) String() string {
|
|
||||||
return MinerSubsystemToString[ms]
|
|
||||||
}
|
|
||||||
|
|
||||||
var MinerSubsystemToString = map[MinerSubsystem]string{
|
|
||||||
MarketsSubsystem: "Markets",
|
|
||||||
MiningSubsystem: "Mining",
|
|
||||||
SealingSubsystem: "Sealing",
|
|
||||||
SectorStorageSubsystem: "SectorStorage",
|
|
||||||
}
|
|
||||||
|
|
||||||
var MinerSubsystemToID = map[string]MinerSubsystem{
|
|
||||||
"Markets": MarketsSubsystem,
|
|
||||||
"Mining": MiningSubsystem,
|
|
||||||
"Sealing": SealingSubsystem,
|
|
||||||
"SectorStorage": SectorStorageSubsystem,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ms MinerSubsystem) MarshalJSON() ([]byte, error) {
|
|
||||||
buffer := bytes.NewBufferString(`"`)
|
|
||||||
buffer.WriteString(MinerSubsystemToString[ms])
|
|
||||||
buffer.WriteString(`"`)
|
|
||||||
return buffer.Bytes(), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ms *MinerSubsystem) UnmarshalJSON(b []byte) error {
|
|
||||||
var j string
|
|
||||||
err := json.Unmarshal(b, &j)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
// TODO: handle zero value
|
|
||||||
*ms = MinerSubsystemToID[j]
|
|
||||||
return nil
|
|
||||||
}
|
|
@ -16,10 +16,10 @@ import (
|
|||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/ipfs/go-cid"
|
"github.com/ipfs/go-cid"
|
||||||
"github.com/ipfs/go-filestore"
|
"github.com/ipfs/go-filestore"
|
||||||
metrics "github.com/libp2p/go-libp2p-core/metrics"
|
"github.com/libp2p/go-libp2p-core/metrics"
|
||||||
"github.com/libp2p/go-libp2p-core/network"
|
"github.com/libp2p/go-libp2p-core/network"
|
||||||
"github.com/libp2p/go-libp2p-core/peer"
|
"github.com/libp2p/go-libp2p-core/peer"
|
||||||
protocol "github.com/libp2p/go-libp2p-core/protocol"
|
"github.com/libp2p/go-libp2p-core/protocol"
|
||||||
pubsub "github.com/libp2p/go-libp2p-pubsub"
|
pubsub "github.com/libp2p/go-libp2p-pubsub"
|
||||||
"github.com/multiformats/go-multiaddr"
|
"github.com/multiformats/go-multiaddr"
|
||||||
|
|
||||||
@ -265,6 +265,12 @@ func init() {
|
|||||||
|
|
||||||
addExample(api.CheckStatusCode(0))
|
addExample(api.CheckStatusCode(0))
|
||||||
addExample(map[string]interface{}{"abc": 123})
|
addExample(map[string]interface{}{"abc": 123})
|
||||||
|
addExample(api.MinerSubsystems{
|
||||||
|
api.SubsystemMining,
|
||||||
|
api.SubsystemSealing,
|
||||||
|
api.SubsystemSectorStorage,
|
||||||
|
api.SubsystemMarkets,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetAPIType(name, pkg string) (i interface{}, t reflect.Type, permStruct []reflect.Type) {
|
func GetAPIType(name, pkg string) (i interface{}, t reflect.Type, permStruct []reflect.Type) {
|
||||||
|
79
api/miner_subsystems.go
Normal file
79
api/miner_subsystems.go
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MinerSubsystem represents a miner subsystem. Int and string values are not
|
||||||
|
// guaranteed to be stable over time is not
|
||||||
|
// guaranteed to be stable over time.
|
||||||
|
type MinerSubsystem int
|
||||||
|
|
||||||
|
const (
|
||||||
|
// SubsystemUnknown is a placeholder for the zero value. It should never
|
||||||
|
// be used.
|
||||||
|
SubsystemUnknown MinerSubsystem = iota
|
||||||
|
// SubsystemMarkets signifies the storage and retrieval
|
||||||
|
// deal-making subsystem.
|
||||||
|
SubsystemMarkets
|
||||||
|
// SubsystemMining signifies the mining subsystem.
|
||||||
|
SubsystemMining
|
||||||
|
// SubsystemSealing signifies the sealing subsystem.
|
||||||
|
SubsystemSealing
|
||||||
|
// SubsystemSectorStorage signifies the sector storage subsystem.
|
||||||
|
SubsystemSectorStorage
|
||||||
|
)
|
||||||
|
|
||||||
|
var MinerSubsystemToString = map[MinerSubsystem]string{
|
||||||
|
SubsystemUnknown: "Unknown",
|
||||||
|
SubsystemMarkets: "Markets",
|
||||||
|
SubsystemMining: "Mining",
|
||||||
|
SubsystemSealing: "Sealing",
|
||||||
|
SubsystemSectorStorage: "SectorStorage",
|
||||||
|
}
|
||||||
|
|
||||||
|
var MinerSubsystemToID = map[string]MinerSubsystem{
|
||||||
|
"Unknown": SubsystemUnknown,
|
||||||
|
"Markets": SubsystemMarkets,
|
||||||
|
"Mining": SubsystemMining,
|
||||||
|
"Sealing": SubsystemSealing,
|
||||||
|
"SectorStorage": SubsystemSectorStorage,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ms MinerSubsystem) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(MinerSubsystemToString[ms])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ms *MinerSubsystem) UnmarshalJSON(b []byte) error {
|
||||||
|
var j string
|
||||||
|
err := json.Unmarshal(b, &j)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
s, ok := MinerSubsystemToID[j]
|
||||||
|
if !ok {
|
||||||
|
*ms = SubsystemUnknown
|
||||||
|
} else {
|
||||||
|
*ms = s
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type MinerSubsystems []MinerSubsystem
|
||||||
|
|
||||||
|
func (ms MinerSubsystems) Has(entry MinerSubsystem) bool {
|
||||||
|
for _, v := range ms {
|
||||||
|
if v == entry {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ms MinerSubsystem) String() string {
|
||||||
|
s, ok := MinerSubsystemToString[ms]
|
||||||
|
if !ok {
|
||||||
|
return MinerSubsystemToString[SubsystemUnknown]
|
||||||
|
}
|
||||||
|
return s
|
||||||
|
}
|
Binary file not shown.
@ -103,14 +103,14 @@ func infoCmdAct(cctx *cli.Context) error {
|
|||||||
|
|
||||||
fmt.Println()
|
fmt.Println()
|
||||||
|
|
||||||
if subsystems.Has(api.SectorStorageSubsystem) {
|
if subsystems.Has(api.SubsystemSectorStorage) {
|
||||||
err := handleMiningInfo(ctx, cctx, fullapi, nodeApi)
|
err := handleMiningInfo(ctx, cctx, fullapi, nodeApi)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if subsystems.Has(api.MarketsSubsystem) {
|
if subsystems.Has(api.SubsystemMarkets) {
|
||||||
err := handleMarketsInfo(ctx, nodeApi)
|
err := handleMarketsInfo(ctx, nodeApi)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -1528,13 +1528,23 @@ Response: `{}`
|
|||||||
|
|
||||||
|
|
||||||
### RuntimeSubsystems
|
### RuntimeSubsystems
|
||||||
|
RuntimeSubsystems returns the subsystems that are enabled
|
||||||
|
in this instance.
|
||||||
|
|
||||||
|
|
||||||
Perms: read
|
Perms: read
|
||||||
|
|
||||||
Inputs: `null`
|
Inputs: `null`
|
||||||
|
|
||||||
Response: `null`
|
Response:
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
"Mining",
|
||||||
|
"Sealing",
|
||||||
|
"SectorStorage",
|
||||||
|
"Markets"
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
## Sealing
|
## Sealing
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ func ConfigStorageMiner(c interface{}) Option {
|
|||||||
return Options(
|
return Options(
|
||||||
ConfigCommon(&cfg.Common, enableLibp2pNode),
|
ConfigCommon(&cfg.Common, enableLibp2pNode),
|
||||||
|
|
||||||
Override(new(api.MinerSubsystems), modules.AddMinerSubsystems(cfg.Subsystems)),
|
Override(new(api.MinerSubsystems), modules.PopulateEnabledMinerSubsystems(cfg.Subsystems)),
|
||||||
Override(new(stores.LocalStorage), From(new(repo.LockedRepo))),
|
Override(new(stores.LocalStorage), From(new(repo.LockedRepo))),
|
||||||
Override(new(*stores.Local), modules.LocalStorage),
|
Override(new(*stores.Local), modules.LocalStorage),
|
||||||
Override(new(*stores.Remote), modules.RemoteStorage),
|
Override(new(*stores.Remote), modules.RemoteStorage),
|
||||||
|
@ -23,8 +23,8 @@ import (
|
|||||||
"github.com/filecoin-project/go-address"
|
"github.com/filecoin-project/go-address"
|
||||||
datatransfer "github.com/filecoin-project/go-data-transfer"
|
datatransfer "github.com/filecoin-project/go-data-transfer"
|
||||||
"github.com/filecoin-project/go-fil-markets/piecestore"
|
"github.com/filecoin-project/go-fil-markets/piecestore"
|
||||||
retrievalmarket "github.com/filecoin-project/go-fil-markets/retrievalmarket"
|
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
|
||||||
storagemarket "github.com/filecoin-project/go-fil-markets/storagemarket"
|
"github.com/filecoin-project/go-fil-markets/storagemarket"
|
||||||
"github.com/filecoin-project/go-state-types/abi"
|
"github.com/filecoin-project/go-state-types/abi"
|
||||||
|
|
||||||
sectorstorage "github.com/filecoin-project/lotus/extern/sector-storage"
|
sectorstorage "github.com/filecoin-project/lotus/extern/sector-storage"
|
||||||
@ -48,11 +48,11 @@ import (
|
|||||||
type StorageMinerAPI struct {
|
type StorageMinerAPI struct {
|
||||||
fx.In
|
fx.In
|
||||||
|
|
||||||
Subsystems api.MinerSubsystems
|
|
||||||
|
|
||||||
api.Common
|
api.Common
|
||||||
api.Net
|
api.Net
|
||||||
|
|
||||||
|
EnabledSubsystems api.MinerSubsystems
|
||||||
|
|
||||||
Full api.FullNode
|
Full api.FullNode
|
||||||
LocalStore *stores.Local
|
LocalStore *stores.Local
|
||||||
RemoteStore *stores.Remote
|
RemoteStore *stores.Remote
|
||||||
@ -706,7 +706,7 @@ func (sm *StorageMinerAPI) ComputeProof(ctx context.Context, ssi []builtin.Secto
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sm *StorageMinerAPI) RuntimeSubsystems(context.Context) (res api.MinerSubsystems, err error) {
|
func (sm *StorageMinerAPI) RuntimeSubsystems(context.Context) (res api.MinerSubsystems, err error) {
|
||||||
return sm.Subsystems, nil
|
return sm.EnabledSubsystems, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ api.StorageMiner = &StorageMinerAPI{}
|
var _ api.StorageMiner = &StorageMinerAPI{}
|
||||||
|
@ -1008,19 +1008,18 @@ func mutateCfg(r repo.LockedRepo, mutator func(*config.StorageMiner)) error {
|
|||||||
return multierr.Combine(typeErr, setConfigErr)
|
return multierr.Combine(typeErr, setConfigErr)
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddMinerSubsystems(cfg config.MinerSubsystemConfig) (res api.MinerSubsystems) {
|
func PopulateEnabledMinerSubsystems(cfg config.MinerSubsystemConfig) (res api.MinerSubsystems) {
|
||||||
if cfg.EnableMining {
|
if cfg.EnableMining {
|
||||||
res = append(res, api.MiningSubsystem)
|
res = append(res, api.SubsystemMining)
|
||||||
}
|
}
|
||||||
if cfg.EnableSealing {
|
if cfg.EnableSealing {
|
||||||
res = append(res, api.SealingSubsystem)
|
res = append(res, api.SubsystemSealing)
|
||||||
}
|
}
|
||||||
if cfg.EnableSectorStorage {
|
if cfg.EnableSectorStorage {
|
||||||
res = append(res, api.SectorStorageSubsystem)
|
res = append(res, api.SubsystemSectorStorage)
|
||||||
}
|
}
|
||||||
if cfg.EnableMarkets {
|
if cfg.EnableMarkets {
|
||||||
res = append(res, api.MarketsSubsystem)
|
res = append(res, api.SubsystemMarkets)
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user