github.com/cosmos/cosmos-sdk@v0.50.10/x/authz/generic_authorization.go (about) 1 package authz 2 3 import ( 4 "context" 5 "errors" 6 7 sdk "github.com/cosmos/cosmos-sdk/types" 8 ) 9 10 var _ Authorization = &GenericAuthorization{} 11 12 // NewGenericAuthorization creates a new GenericAuthorization object. 13 func NewGenericAuthorization(msgTypeURL string) *GenericAuthorization { 14 return &GenericAuthorization{ 15 Msg: msgTypeURL, 16 } 17 } 18 19 // MsgTypeURL implements Authorization.MsgTypeURL. 20 func (a GenericAuthorization) MsgTypeURL() string { 21 return a.Msg 22 } 23 24 // Accept implements Authorization.Accept. 25 func (a GenericAuthorization) Accept(ctx context.Context, msg sdk.Msg) (AcceptResponse, error) { 26 return AcceptResponse{Accept: true}, nil 27 } 28 29 // ValidateBasic implements Authorization.ValidateBasic. 30 func (a GenericAuthorization) ValidateBasic() error { 31 if a.Msg == "" { 32 return errors.New("msg type cannot be empty") 33 } 34 return nil 35 }