package paych import ( "fmt" "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/lotus/chain/actors" "github.com/filecoin-project/lotus/chain/types" builtin3 "github.com/filecoin-project/specs-actors/v3/actors/builtin" ) var Methods = builtin3.MethodsPaych func Message(version actors.Version, from address.Address) MessageBuilder { switch version { case actors.Version0: return message0{from} case actors.Version2: return message2{from} case actors.Version3: return message3{from} default: panic(fmt.Sprintf("unsupported actors version: %d", version)) } } type MessageBuilder interface { Create(to address.Address, initialAmount abi.TokenAmount) (*types.Message, error) Update(paych address.Address, voucher *SignedVoucher, secret []byte) (*types.Message, error) Settle(paych address.Address) (*types.Message, error) Collect(paych address.Address) (*types.Message, error) }