diff --git a/lamassu-schema.json b/lamassu-schema.json index 641449f2..069722b8 100644 --- a/lamassu-schema.json +++ b/lamassu-schema.json @@ -20,7 +20,7 @@ "display": "Cash-out commission", "fieldType": "percentage", "fieldClass": null, - "fieldValidation": [{"code": "required"}] + "fieldValidation": [] }, { "code": "lowBalanceMargin", @@ -29,19 +29,12 @@ "fieldClass": null, "fieldValidation": [{"code": "required"}] }, - { - "code": "cashOut", - "display": "Cash-out enabled", - "fieldType": "onOff", - "fieldClass": null, - "fieldValidation": [{"code": "required"}] - }, { "code": "zeroConfLimit", "display": "Zero conf limit", "fieldType": "integer", "fieldClass": null, - "fieldValidation": [{"code": "required"}] + "fieldValidation": [] } ] }, @@ -76,44 +69,37 @@ ] }, { - "code": "extraServices", - "display": "Extra services", + "code": "fiat", + "display": "Fiat currencies", "cryptoScope": "global", "machineScope": "global", "entries": [ { - "code": "sms", - "display": "SMS gateway", - "fieldType": "account", - "fieldClass": "sms", - "fieldValidation": [] - }, - { - "code": "email", - "display": "Email gateway", - "fieldType": "account", - "fieldClass": "email", - "fieldValidation": [] + "code": "fiatCurrency", + "display": "Fiat Currency", + "fieldType": "fiatCurrency", + "fieldClass": null, + "fieldValidation": [{"code": "required"}] } ] }, { - "code": "currencies", - "display": "Currencies", + "code": "machineSettings", + "display": "Machine settings", "cryptoScope": "global", "machineScope": "both", "entries": [ { - "code": "cryptoCurrencies", - "display": "Crypto Currencies", - "fieldType": "cryptoCurrency", + "code": "machineLanguages", + "display": "Languages", + "fieldType": "language", "fieldClass": null, "fieldValidation": [{"code": "required"}] }, { - "code": "fiatCurrency", - "display": "Fiat Currency", - "fieldType": "fiatCurrency", + "code": "cryptoCurrencies", + "display": "Crypto Currencies", + "fieldType": "cryptoCurrency", "fieldClass": null, "fieldValidation": [{"code": "required"}] }, @@ -137,12 +123,19 @@ "fieldType": "integer", "fieldClass": null, "fieldValidation": [] + }, + { + "code": "emptyBillMargin", + "display": "Empty bill margin", + "fieldType": "integer", + "fieldClass": null, + "fieldValidation": [] } ] }, { - "code": "limits", - "display": "Limits", + "code": "compliance", + "display": "Compliance", "cryptoScope": "global", "machineScope": "both", "entries": [ @@ -159,15 +152,7 @@ "fieldType": "integer", "fieldClass": null, "fieldValidation": [] - } - ] - }, - { - "code": "compliance", - "display": "Compliance", - "cryptoScope": "global", - "machineScope": "both", - "entries": [ + }, { "code": "smsVerificationEnabled", "display": "SMS verification", @@ -198,21 +183,6 @@ } ] }, - { - "code": "languages", - "display": "Languages", - "cryptoScope": "global", - "machineScope": "both", - "entries": [ - { - "code": "machineLanguages", - "display": "Languages", - "fieldType": "language", - "fieldClass": null, - "fieldValidation": [{"code": "required"}] - } - ] - }, { "code": "machines", "display": "Machines", @@ -223,13 +193,15 @@ "code": "machineName", "display": "Name", "fieldType": "string", - "fieldClass": null + "fieldClass": null, + "fieldValidation": [{"code": "required"}] }, { "code": "machineLocation", "display": "Location", "fieldType": "string", - "fieldClass": null + "fieldClass": null, + "fieldValidation": [] } ] }, @@ -260,6 +232,20 @@ "fieldClass": null, "fieldValidation": [{"code": "required"}] }, + { + "code": "sms", + "display": "SMS gateway", + "fieldType": "account", + "fieldClass": "sms", + "fieldValidation": [] + }, + { + "code": "email", + "display": "Email gateway", + "fieldType": "account", + "fieldClass": "email", + "fieldValidation": [] + }, { "code": "lowBalanceThreshold", "display": "Low Balance Threshold", diff --git a/lib/plugins.js b/lib/plugins.js index 98fc6fc8..9a06b1ef 100644 --- a/lib/plugins.js +++ b/lib/plugins.js @@ -319,6 +319,7 @@ function pongClear () { */ function startPolling () { executeTrades() + pong() pongClear() setInterval(executeTrades, TRADE_INTERVAL) diff --git a/schema.json b/schema.json new file mode 100644 index 00000000..6e4e2a10 --- /dev/null +++ b/schema.json @@ -0,0 +1,45 @@ +{ + "definitions": { + "cashOutEnabledTrue": { + "properties": { + "#/machine/cashOutEnabled": { + "constant": true + } + } + }, + "cashOutEnabledDepencies": { + "allOf": [ + { + "$ref": "#/definitions/cashOutEnabledTrue" + } + ] + } + }, + "type": "object", + "properties": { + "commissions": { + "type": "object", + "properties": { + "cashInCommission": { + "type": "number", + "minimum": 0 + }, + "cashOutCommission": { + "type": "number", + "minimum": 0 + } + }, + "allOf": [ + { "$ref": "#/definitions/cashOutEnabledDepencies" } + ] + }, + "machine": { + "type": "object", + "properties": { + "cashOutEnabled": { + "type": "boolean" + } + } + } + } +}