github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/distribution/client/cli/utils.go (about)

     1  package cli
     2  
     3  import (
     4  	"io/ioutil"
     5  
     6  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec"
     7  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     8  )
     9  
    10  type (
    11  	// CommunityPoolSpendProposalJSON defines a CommunityPoolSpendProposal with a deposit
    12  	CommunityPoolSpendProposalJSON struct {
    13  		Title       string         `json:"title" yaml:"title"`
    14  		Description string         `json:"description" yaml:"description"`
    15  		Recipient   sdk.AccAddress `json:"recipient" yaml:"recipient"`
    16  		Amount      sdk.SysCoins   `json:"amount" yaml:"amount"`
    17  		Deposit     sdk.SysCoins   `json:"deposit" yaml:"deposit"`
    18  	}
    19  )
    20  
    21  // ParseCommunityPoolSpendProposalJSON reads and parses a CommunityPoolSpendProposalJSON from a file.
    22  func ParseCommunityPoolSpendProposalJSON(cdc *codec.Codec, proposalFile string) (CommunityPoolSpendProposalJSON, error) {
    23  	proposal := CommunityPoolSpendProposalJSON{}
    24  
    25  	contents, err := ioutil.ReadFile(proposalFile)
    26  	if err != nil {
    27  		return proposal, err
    28  	}
    29  
    30  	if err := cdc.UnmarshalJSON(contents, &proposal); err != nil {
    31  		return proposal, err
    32  	}
    33  
    34  	return proposal, nil
    35  }