MCPcopy
hub / github.com/trustwallet/assets / ValidateCoinRequiredKeys

Function ValidateCoinRequiredKeys

internal/info/fields_validators.go:92–125  ·  view source on GitHub ↗

CoinModel info specific validators.

(c CoinModel)

Source from the content-addressed store, hash-verified

90// CoinModel info specific validators.
91
92func ValidateCoinRequiredKeys(c CoinModel) error {
93 var fields []string
94 if c.Name != nil && !isEmpty(*c.Name) {
95 fields = append(fields, "name")
96 }
97 if c.Symbol != nil && !isEmpty(*c.Symbol) {
98 fields = append(fields, "symbol")
99 }
100 if c.Type != nil && !isEmpty(*c.Type) {
101 fields = append(fields, "type")
102 }
103 if c.Decimals != nil {
104 fields = append(fields, "decimals")
105 }
106 if c.Description != nil && !isEmpty(*c.Description) {
107 fields = append(fields, "description")
108 }
109 if c.Website != nil && !isEmpty(*c.Website) {
110 fields = append(fields, "website")
111 }
112 if c.Explorer != nil && !isEmpty(*c.Explorer) {
113 fields = append(fields, "explorer")
114 }
115 if c.Status != nil && !isEmpty(*c.Status) {
116 fields = append(fields, "status")
117 }
118
119 if len(fields) != len(requiredCoinFields) {
120 return fmt.Errorf("%w: %s", validation.ErrMissingField,
121 strings.Join(str.Difference(requiredCoinFields, fields), ", "))
122 }
123
124 return nil
125}
126
127func ValidateLinks(links []Link) error {
128 if len(links) < 2 {

Callers 1

ValidateCoinFunction · 0.85

Calls 1

isEmptyFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…