diff --git a/chain/actors/builtin/paych/message.go.template b/chain/actors/builtin/paych/message.go.template index 99f64cabb..962942f81 100644 --- a/chain/actors/builtin/paych/message.go.template +++ b/chain/actors/builtin/paych/message.go.template @@ -1,6 +1,10 @@ package paych import ( + {{if (ge .v 8)}} + "golang.org/x/xerrors" + {{end}} + "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-state-types/abi" @@ -16,12 +20,21 @@ import ( type message{{.v}} struct{ from address.Address } func (m message{{.v}}) Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) { + {{if (le .v 7)}} + actorCodeID := builtin{{.v}}.PaymentChannelActorCodeID + {{else}} + actorCodeID, ok := actors.GetActorCodeID(actors.Version{{.v}}, "paymentchannel") + if !ok { + return nil, xerrors.Errorf("error getting actor paymentchannel code id for actor version %d", {{.v}}) + } + {{end}} + params, aerr := actors.SerializeParams(&paych{{.v}}.ConstructorParams{From: m.from, To: to}) if aerr != nil { return nil, aerr } enc, aerr := actors.SerializeParams(&init{{.v}}.ExecParams{ - CodeCID: builtin{{.v}}.PaymentChannelActorCodeID, + CodeCID: actorCodeID, ConstructorParams: params, }) if aerr != nil { diff --git a/chain/actors/builtin/paych/message0.go b/chain/actors/builtin/paych/message0.go index 7cba977e3..d7f8201ee 100644 --- a/chain/actors/builtin/paych/message0.go +++ b/chain/actors/builtin/paych/message0.go @@ -16,12 +16,15 @@ import ( type message0 struct{ from address.Address } func (m message0) Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) { + + actorCodeID := builtin0.PaymentChannelActorCodeID + params, aerr := actors.SerializeParams(&paych0.ConstructorParams{From: m.from, To: to}) if aerr != nil { return nil, aerr } enc, aerr := actors.SerializeParams(&init0.ExecParams{ - CodeCID: builtin0.PaymentChannelActorCodeID, + CodeCID: actorCodeID, ConstructorParams: params, }) if aerr != nil { diff --git a/chain/actors/builtin/paych/message2.go b/chain/actors/builtin/paych/message2.go index 60c7fe16e..30bd5b886 100644 --- a/chain/actors/builtin/paych/message2.go +++ b/chain/actors/builtin/paych/message2.go @@ -16,12 +16,15 @@ import ( type message2 struct{ from address.Address } func (m message2) Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) { + + actorCodeID := builtin2.PaymentChannelActorCodeID + params, aerr := actors.SerializeParams(&paych2.ConstructorParams{From: m.from, To: to}) if aerr != nil { return nil, aerr } enc, aerr := actors.SerializeParams(&init2.ExecParams{ - CodeCID: builtin2.PaymentChannelActorCodeID, + CodeCID: actorCodeID, ConstructorParams: params, }) if aerr != nil { diff --git a/chain/actors/builtin/paych/message3.go b/chain/actors/builtin/paych/message3.go index 04fb35b57..06e43a4b3 100644 --- a/chain/actors/builtin/paych/message3.go +++ b/chain/actors/builtin/paych/message3.go @@ -16,12 +16,15 @@ import ( type message3 struct{ from address.Address } func (m message3) Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) { + + actorCodeID := builtin3.PaymentChannelActorCodeID + params, aerr := actors.SerializeParams(&paych3.ConstructorParams{From: m.from, To: to}) if aerr != nil { return nil, aerr } enc, aerr := actors.SerializeParams(&init3.ExecParams{ - CodeCID: builtin3.PaymentChannelActorCodeID, + CodeCID: actorCodeID, ConstructorParams: params, }) if aerr != nil { diff --git a/chain/actors/builtin/paych/message4.go b/chain/actors/builtin/paych/message4.go index 9f5e000d9..abb1c056b 100644 --- a/chain/actors/builtin/paych/message4.go +++ b/chain/actors/builtin/paych/message4.go @@ -16,12 +16,15 @@ import ( type message4 struct{ from address.Address } func (m message4) Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) { + + actorCodeID := builtin4.PaymentChannelActorCodeID + params, aerr := actors.SerializeParams(&paych4.ConstructorParams{From: m.from, To: to}) if aerr != nil { return nil, aerr } enc, aerr := actors.SerializeParams(&init4.ExecParams{ - CodeCID: builtin4.PaymentChannelActorCodeID, + CodeCID: actorCodeID, ConstructorParams: params, }) if aerr != nil { diff --git a/chain/actors/builtin/paych/message5.go b/chain/actors/builtin/paych/message5.go index 71e6b6799..bddb3a3eb 100644 --- a/chain/actors/builtin/paych/message5.go +++ b/chain/actors/builtin/paych/message5.go @@ -16,12 +16,15 @@ import ( type message5 struct{ from address.Address } func (m message5) Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) { + + actorCodeID := builtin5.PaymentChannelActorCodeID + params, aerr := actors.SerializeParams(&paych5.ConstructorParams{From: m.from, To: to}) if aerr != nil { return nil, aerr } enc, aerr := actors.SerializeParams(&init5.ExecParams{ - CodeCID: builtin5.PaymentChannelActorCodeID, + CodeCID: actorCodeID, ConstructorParams: params, }) if aerr != nil { diff --git a/chain/actors/builtin/paych/message6.go b/chain/actors/builtin/paych/message6.go index 7f80bc4a6..5918a5c92 100644 --- a/chain/actors/builtin/paych/message6.go +++ b/chain/actors/builtin/paych/message6.go @@ -16,12 +16,15 @@ import ( type message6 struct{ from address.Address } func (m message6) Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) { + + actorCodeID := builtin6.PaymentChannelActorCodeID + params, aerr := actors.SerializeParams(&paych6.ConstructorParams{From: m.from, To: to}) if aerr != nil { return nil, aerr } enc, aerr := actors.SerializeParams(&init6.ExecParams{ - CodeCID: builtin6.PaymentChannelActorCodeID, + CodeCID: actorCodeID, ConstructorParams: params, }) if aerr != nil { diff --git a/chain/actors/builtin/paych/message7.go b/chain/actors/builtin/paych/message7.go index e3ee0d77b..3ad5d35db 100644 --- a/chain/actors/builtin/paych/message7.go +++ b/chain/actors/builtin/paych/message7.go @@ -16,12 +16,15 @@ import ( type message7 struct{ from address.Address } func (m message7) Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) { + + actorCodeID := builtin7.PaymentChannelActorCodeID + params, aerr := actors.SerializeParams(&paych7.ConstructorParams{From: m.from, To: to}) if aerr != nil { return nil, aerr } enc, aerr := actors.SerializeParams(&init7.ExecParams{ - CodeCID: builtin7.PaymentChannelActorCodeID, + CodeCID: actorCodeID, ConstructorParams: params, }) if aerr != nil { diff --git a/chain/actors/builtin/paych/message8.go b/chain/actors/builtin/paych/message8.go index f49f457e8..bfc3cfdde 100644 --- a/chain/actors/builtin/paych/message8.go +++ b/chain/actors/builtin/paych/message8.go @@ -1,6 +1,8 @@ package paych import ( + "golang.org/x/xerrors" + "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-state-types/abi" @@ -16,12 +18,18 @@ import ( type message8 struct{ from address.Address } func (m message8) Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) { + + actorCodeID, ok := actors.GetActorCodeID(actors.Version8, "paymentchannel") + if !ok { + return nil, xerrors.Errorf("error getting actor paymentchannel code id for actor version %d", 8) + } + params, aerr := actors.SerializeParams(&paych8.ConstructorParams{From: m.from, To: to}) if aerr != nil { return nil, aerr } enc, aerr := actors.SerializeParams(&init8.ExecParams{ - CodeCID: builtin8.PaymentChannelActorCodeID, + CodeCID: actorCodeID, ConstructorParams: params, }) if aerr != nil {