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

     1  package utils
     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  	"github.com/fibonacci-chain/fbc/x/feesplit/types"
     9  )
    10  
    11  type FeeSplitSharesProposalJSON struct {
    12  	Title       string         `json:"title" yaml:"title"`
    13  	Description string         `json:"description" yaml:"description"`
    14  	Shares      []types.Shares `json:"shares" yaml:"shares"`
    15  	Deposit     sdk.SysCoins   `json:"deposit" yaml:"deposit"`
    16  }
    17  
    18  // ParseFeeSplitSharesProposalJSON reads and parses a FeeSplitSharesProposalJSON from file
    19  func ParseFeeSplitSharesProposalJSON(cdc *codec.Codec, proposalFile string) (FeeSplitSharesProposalJSON, error) {
    20  	var proposal FeeSplitSharesProposalJSON
    21  
    22  	contents, err := ioutil.ReadFile(proposalFile)
    23  	if err != nil {
    24  		return proposal, err
    25  	}
    26  
    27  	if err := cdc.UnmarshalJSON(contents, &proposal); err != nil {
    28  		return proposal, err
    29  	}
    30  
    31  	return proposal, nil
    32  }