diff --git a/backend/secretapi/config.go b/backend/secretapi/config.go index 6dbebde..8b2ace4 100644 --- a/backend/secretapi/config.go +++ b/backend/secretapi/config.go @@ -77,11 +77,18 @@ func (c Config) Validate() error { if c.ChainID <= 0 { return fmt.Errorf("SECRET_API_CHAIN_ID must be positive") } - if strings.ToUpper(strings.TrimSpace(c.MintCurrency)) != "USDC" { - return fmt.Errorf("SECRET_API_MINT_CURRENCY must be USDC") - } - if c.MintDecimals != 6 { - return fmt.Errorf("SECRET_API_MINT_DECIMALS must be 6") + currency := strings.ToUpper(strings.TrimSpace(c.MintCurrency)) + switch currency { + case "USDC": + if c.MintDecimals != 6 { + return fmt.Errorf("SECRET_API_MINT_DECIMALS must be 6 for USDC") + } + case "ETH": + if c.MintDecimals != 18 { + return fmt.Errorf("SECRET_API_MINT_DECIMALS must be 18 for ETH") + } + default: + return fmt.Errorf("SECRET_API_MINT_CURRENCY must be USDC or ETH") } amountRaw := strings.TrimSpace(c.MintAmountAtomic) amount, ok := new(big.Int).SetString(amountRaw, 10)