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 }