github.com/Finschia/finschia-sdk@v0.48.1/x/distribution/client/cli/utils.go (about)

     1  package cli
     2  
     3  import (
     4  	"github.com/Finschia/finschia-sdk/codec"
     5  	"github.com/Finschia/finschia-sdk/internal/os"
     6  	"github.com/Finschia/finschia-sdk/x/distribution/types"
     7  )
     8  
     9  // ParseCommunityPoolSpendProposalWithDeposit reads and parses a CommunityPoolSpendProposalWithDeposit from a file.
    10  func ParseCommunityPoolSpendProposalWithDeposit(cdc codec.JSONCodec, proposalFile string) (types.CommunityPoolSpendProposalWithDeposit, error) {
    11  	proposal := types.CommunityPoolSpendProposalWithDeposit{}
    12  
    13  	// 2M size limit is enough for a proposal.
    14  	// Check the proposals:
    15  	// https://hubble.figment.io/cosmos/chains/cosmoshub-4/governance
    16  	contents, err := os.ReadFileWithSizeLimit(proposalFile, 2*1024*1024)
    17  	if err != nil {
    18  		return proposal, err
    19  	}
    20  
    21  	if err = cdc.UnmarshalJSON(contents, &proposal); err != nil {
    22  		return proposal, err
    23  	}
    24  
    25  	return proposal, nil
    26  }