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 }