github.com/Finschia/finschia-sdk@v0.48.1/x/upgrade/types/proposal.go (about)

     1  package types
     2  
     3  import (
     4  	"fmt"
     5  
     6  	gov "github.com/Finschia/finschia-sdk/x/gov/types"
     7  )
     8  
     9  const (
    10  	ProposalTypeSoftwareUpgrade       string = "SoftwareUpgrade"
    11  	ProposalTypeCancelSoftwareUpgrade string = "CancelSoftwareUpgrade"
    12  )
    13  
    14  func NewSoftwareUpgradeProposal(title, description string, plan Plan) gov.Content {
    15  	return &SoftwareUpgradeProposal{title, description, plan}
    16  }
    17  
    18  // Implements Proposal Interface
    19  var _ gov.Content = &SoftwareUpgradeProposal{}
    20  
    21  func init() {
    22  	gov.RegisterProposalType(ProposalTypeSoftwareUpgrade)
    23  	gov.RegisterProposalType(ProposalTypeCancelSoftwareUpgrade)
    24  }
    25  
    26  func (sup *SoftwareUpgradeProposal) GetTitle() string       { return sup.Title }
    27  func (sup *SoftwareUpgradeProposal) GetDescription() string { return sup.Description }
    28  func (sup *SoftwareUpgradeProposal) ProposalRoute() string  { return RouterKey }
    29  func (sup *SoftwareUpgradeProposal) ProposalType() string   { return ProposalTypeSoftwareUpgrade }
    30  func (sup *SoftwareUpgradeProposal) ValidateBasic() error {
    31  	if err := sup.Plan.ValidateBasic(); err != nil {
    32  		return err
    33  	}
    34  	return gov.ValidateAbstract(sup)
    35  }
    36  
    37  func (sup SoftwareUpgradeProposal) String() string {
    38  	return fmt.Sprintf(`Software Upgrade Proposal:
    39    Title:       %s
    40    Description: %s
    41  `, sup.Title, sup.Description)
    42  }
    43  
    44  func NewCancelSoftwareUpgradeProposal(title, description string) gov.Content {
    45  	return &CancelSoftwareUpgradeProposal{title, description}
    46  }
    47  
    48  // Implements Proposal Interface
    49  var _ gov.Content = &CancelSoftwareUpgradeProposal{}
    50  
    51  func (csup *CancelSoftwareUpgradeProposal) GetTitle() string       { return csup.Title }
    52  func (csup *CancelSoftwareUpgradeProposal) GetDescription() string { return csup.Description }
    53  func (csup *CancelSoftwareUpgradeProposal) ProposalRoute() string  { return RouterKey }
    54  func (csup *CancelSoftwareUpgradeProposal) ProposalType() string {
    55  	return ProposalTypeCancelSoftwareUpgrade
    56  }
    57  
    58  func (csup *CancelSoftwareUpgradeProposal) ValidateBasic() error {
    59  	return gov.ValidateAbstract(csup)
    60  }
    61  
    62  func (csup CancelSoftwareUpgradeProposal) String() string {
    63  	return fmt.Sprintf(`Cancel Software Upgrade Proposal:
    64    Title:       %s
    65    Description: %s
    66  `, csup.Title, csup.Description)
    67  }