-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.go
41 lines (31 loc) · 1.35 KB
/
utils.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package cli
import (
"os"
"path/filepath"
"github.com/QuadrateOrg/core/x/grow/types"
"github.com/cosmos/cosmos-sdk/codec"
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
)
// ParseRegisterCoinProposal reads and parses a ParseRegisterCoinProposal from a file.
func ParseMetadataForAssetProposal(cdc codec.JSONCodec, metadataFile string) (banktypes.Metadata, string, error) {
proposalMetadata := types.ProposalMetadataForRegisterLendAssetProposal{}
contents, err := os.ReadFile(filepath.Clean(metadataFile))
if err != nil {
return banktypes.Metadata{}, "", err
}
if err = cdc.UnmarshalJSON(contents, &proposalMetadata); err != nil {
return banktypes.Metadata{}, "", err
}
return proposalMetadata.AssetMetadata, proposalMetadata.OracleAssetId, nil
}
func ParseMetadataForGTokenPairProposal(cdc codec.JSONCodec, metadataFile string) (banktypes.Metadata, string, string, string, error) {
proposalMetadata := types.ProposalMetadataForRegisterGTokenPairProposal{}
contents, err := os.ReadFile(filepath.Clean(metadataFile))
if err != nil {
return banktypes.Metadata{}, "", "", "", err
}
if err = cdc.UnmarshalJSON(contents, &proposalMetadata); err != nil {
return banktypes.Metadata{}, "", "", "", err
}
return proposalMetadata.GTokenMetadata, proposalMetadata.QStablePairId, proposalMetadata.MinAmountIn, proposalMetadata.MinAmountOut, nil
}