lotus/api/types.go

60 lines
1.0 KiB
Go
Raw Normal View History

package api
import (
"encoding/json"
2019-07-09 15:19:27 +00:00
ma "github.com/multiformats/go-multiaddr"
)
2019-10-22 10:20:43 +00:00
type DealState = uint64
2019-09-10 14:13:24 +00:00
const (
2019-10-22 10:09:36 +00:00
DealUnknown = DealState(iota)
DealRejected // Provider didn't like the proposal
DealAccepted // Proposal accepted, data moved
2019-10-22 10:09:36 +00:00
DealStaged // Data put into the sector
DealSealing // Data in process of being sealed
2019-09-10 14:13:24 +00:00
DealFailed
DealComplete
2019-09-13 19:43:33 +00:00
2019-09-16 18:04:15 +00:00
// Internal
2019-09-13 19:43:33 +00:00
DealError // deal failed with an unexpected error
2019-09-16 18:04:15 +00:00
DealNoUpdate = DealUnknown
2019-09-10 14:13:24 +00:00
)
2019-11-07 00:18:06 +00:00
var DealStates = []string{
"DealUnknown",
"DealRejected",
"DealAccepted",
"DealStaged",
"DealSealing",
"DealFailed",
"DealComplete",
"DealError",
}
// TODO: check if this exists anywhere else
type MultiaddrSlice []ma.Multiaddr
func (m *MultiaddrSlice) UnmarshalJSON(raw []byte) (err error) {
var temp []string
if err := json.Unmarshal(raw, &temp); err != nil {
return err
}
res := make([]ma.Multiaddr, len(temp))
for i, str := range temp {
res[i], err = ma.NewMultiaddr(str)
if err != nil {
return err
}
}
*m = res
return nil
}
var _ json.Unmarshaler = new(MultiaddrSlice)