lotus/chain/actors/version.go

57 lines
1.2 KiB
Go
Raw Normal View History

package actors
import (
"fmt"
"github.com/filecoin-project/go-state-types/network"
)
type Version int
2021-10-18 15:46:50 +00:00
/* inline-gen template
var LatestVersion = {{.latestActorsVersion}}
2021-10-18 15:46:50 +00:00
var Versions = []int{ {{range .actorVersions}} {{.}}, {{end}} }
const ({{range .actorVersions}}
Version{{.}} Version = {{.}}{{end}}
)
/* inline-gen start */
2021-09-15 15:22:25 +00:00
var LatestVersion = 6
2021-10-18 15:46:50 +00:00
var Versions = []int{0, 2, 3, 4, 5, 6}
const (
2020-10-07 00:51:43 +00:00
Version0 Version = 0
Version2 Version = 2
2021-01-16 04:12:31 +00:00
Version3 Version = 3
Version4 Version = 4
2021-05-06 05:44:11 +00:00
Version5 Version = 5
2021-09-15 15:22:25 +00:00
Version6 Version = 6
)
2021-10-18 15:46:50 +00:00
/* inline-gen end */
// Converts a network version into an actors adt version.
2021-08-09 10:17:54 +00:00
func VersionForNetwork(version network.Version) (Version, error) {
switch version {
2020-09-28 19:53:40 +00:00
case network.Version0, network.Version1, network.Version2, network.Version3:
2021-08-09 10:17:54 +00:00
return Version0, nil
case network.Version4, network.Version5, network.Version6, network.Version7, network.Version8, network.Version9:
2021-08-09 10:17:54 +00:00
return Version2, nil
case network.Version10, network.Version11:
2021-08-09 10:17:54 +00:00
return Version3, nil
case network.Version12:
2021-08-09 10:17:54 +00:00
return Version4, nil
2021-05-06 05:44:11 +00:00
case network.Version13:
2021-08-09 10:17:54 +00:00
return Version5, nil
2021-09-15 15:22:25 +00:00
case network.Version14:
return Version6, nil
default:
2021-08-09 10:17:54 +00:00
return -1, fmt.Errorf("unsupported network version %d", version)
}
}