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  }