github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/dex/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  )
     9  
    10  // DelistProposalJSON defines a DelistProposal with a deposit used
    11  // to parse parameter change proposals from a JSON file.
    12  type DelistProposalJSON struct {
    13  	Title       string       `json:"title" yaml:"title"`
    14  	Description string       `json:"description" yaml:"description"`
    15  	BaseAsset   string       `json:"base_asset" yaml:"base_asset"`
    16  	QuoteAsset  string       `json:"quote_asset" yaml:"quote_asset"`
    17  	Deposit     sdk.SysCoins `json:"deposit" yaml:"deposit"`
    18  }
    19  
    20  // ParseDelistProposalJSON parse json from proposal file to DelistProposalJSON struct
    21  func ParseDelistProposalJSON(cdc *codec.Codec, proposalFilePath string) (proposal DelistProposalJSON, err error) {
    22  	contents, err := ioutil.ReadFile(proposalFilePath)
    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  }