Co-authored-by: Julien Robert <julien@rbrt.fr>
This commit is contained in:
co-authored by
Julien Robert
parent
5624447be5
commit
f42be248f5
@@ -30,9 +30,9 @@ type proposalType struct {
|
||||
}
|
||||
|
||||
// Prompt the proposal type values and return the proposal and its metadata.
|
||||
func (p *proposalType) Prompt(cdc codec.Codec) (*Proposal, govtypes.ProposalMetadata, error) {
|
||||
func (p *proposalType) Prompt(cdc codec.Codec, skipMetadata bool) (*Proposal, govtypes.ProposalMetadata, error) {
|
||||
// set metadata
|
||||
metadata, err := govcli.Prompt(govtypes.ProposalMetadata{}, "proposal")
|
||||
metadata, err := govcli.PromptMetadata(skipMetadata)
|
||||
if err != nil {
|
||||
return nil, metadata, fmt.Errorf("failed to set proposal metadata: %w", err)
|
||||
}
|
||||
@@ -86,6 +86,8 @@ func (p *proposalType) Prompt(cdc codec.Codec) (*Proposal, govtypes.ProposalMeta
|
||||
|
||||
// NewCmdDraftProposal let a user generate a draft proposal.
|
||||
func NewCmdDraftProposal() *cobra.Command {
|
||||
flagSkipMetadata := "skip-metadata"
|
||||
|
||||
cmd := &cobra.Command{
|
||||
Use: "draft-proposal",
|
||||
Short: "Generate a draft proposal json file. The generated proposal json contains only one message (skeleton).",
|
||||
@@ -137,7 +139,9 @@ func NewCmdDraftProposal() *cobra.Command {
|
||||
panic("unexpected proposal type")
|
||||
}
|
||||
|
||||
result, metadata, err := proposal.Prompt(clientCtx.Codec)
|
||||
skipMetadataPrompt, _ := cmd.Flags().GetBool(flagSkipMetadata)
|
||||
|
||||
result, metadata, err := proposal.Prompt(clientCtx.Codec, skipMetadataPrompt)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -146,17 +150,20 @@ func NewCmdDraftProposal() *cobra.Command {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := writeFile(draftMetadataFileName, metadata); err != nil {
|
||||
return err
|
||||
if !skipMetadataPrompt {
|
||||
if err := writeFile(draftMetadataFileName, metadata); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Printf("The draft proposal has successfully been generated.\nProposals should contain off-chain metadata, please upload the metadata JSON to IPFS.\nThen, replace the generated metadata field with the IPFS CID.\n")
|
||||
cmd.Println("The draft proposal has successfully been generated.\nProposals should contain off-chain metadata, please upload the metadata JSON to IPFS.\nThen, replace the generated metadata field with the IPFS CID.")
|
||||
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
||||
flags.AddTxFlagsToCmd(cmd)
|
||||
cmd.Flags().Bool(flagSkipMetadata, false, "skip metadata prompt")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user