sclass BitGetCredentials { settable S name; settable S apiKey; settable S passphrase; settable S secretKey; toString { ret joinNempties(" with ", spaceCombine(shortClassName(this), quoteOrEmpty(name)), commaCombine( nempty(apiKey) ? "apiKey" : null, nempty(passphrase) ? "passphrase" : null, nempty(secretKey) ? "secretKey" : null)); } static BitGetCredentials fromFile(File f) { SS credMap = mapValues toSecretValue(parseColonPropertyCIMap(f)); var cred = new BitGetCredentials; cred.apiKey(credMap.get("API-Key").get()); cred.passphrase(credMap.get("Passphrase").get()); cred.secretKey(credMap.get("secretKey").get()); cred.name(credMap.get("Name").get()); ret cred; } }