2019-07-09 13:35:32 +00:00
|
|
|
package api
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
2019-07-09 15:19:27 +00:00
|
|
|
|
2019-07-09 13:35:32 +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)
|
2019-10-21 18:12:11 +00:00
|
|
|
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-10-21 18:12:11 +00:00
|
|
|
|
2019-09-10 14:13:24 +00:00
|
|
|
DealFailed
|
2019-10-21 18:12:11 +00:00
|
|
|
|
2019-09-10 14:13:24 +00:00
|
|
|
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
|
|
|
|
DealExpired
|
2019-09-16 18:04:15 +00:00
|
|
|
|
|
|
|
DealNoUpdate = DealUnknown
|
2019-09-10 14:13:24 +00:00
|
|
|
)
|
|
|
|
|
2019-07-09 13:35:32 +00:00
|
|
|
// 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)
|