lamassu-server/lamassu-schema.json
Josh Harvey 784fe4127c WIP
2016-12-02 16:49:08 +02:00

397 lines
8.4 KiB
JSON

{
"groups": [
{
"code": "commissions",
"display": "Commissions",
"cryptoScope": "both",
"machineScope": "both",
"fields": [
"cashInCommission",
"cashOutCommission",
"lowBalanceMargin",
"zeroConfLimit"
]
},
{
"code": "cryptoServices",
"display": "Crypto services",
"cryptoScope": "specific",
"machineScope": "global",
"fields": [
"ticker",
"wallet",
"exchange"
]
},
{
"code": "fiat",
"display": "Fiat currencies",
"cryptoScope": "global",
"machineScope": "global",
"fields": [
"fiatCurrency"
]
},
{
"code": "machineSettings",
"display": "Machine settings",
"cryptoScope": "global",
"machineScope": "both",
"fields": [
"machineLanguages",
"cryptoCurrencies",
"topCashOutDenomination",
"bottomCashOutDenomination",
"virtualCashOutDenomination",
"emptyBillMargin"
]
},
{
"code": "compliance",
"display": "Compliance",
"cryptoScope": "global",
"machineScope": "both",
"fields": [
"cashInTransactionLimit",
"cashOutTransactionLimit",
"smsVerificationEnabled",
"idVerificationEnabled",
"idVerifier",
"idVerificationLimit"
]
},
{
"code": "machines",
"display": "Machines",
"cryptoScope": "global",
"machineScope": "specific",
"fields": [
"machineName",
"machineLocation"
]
},
{
"code": "notifications",
"display": "Notifications",
"cryptoScope": "global",
"machineScope": "global",
"fields": [
"notificationsEnabled",
"notificationsEmailEnabled",
"notificationsSMSEnabled",
"sms",
"email",
"lowBalanceThreshold"
]
}
],
"fields": [
{
"code": "cashInCommission",
"display": "Cash-in commission",
"fieldType": "percentage",
"fieldClass": null,
"cryptoScope": "both",
"machineScope": "both",
"fieldValidation": [
{
"code": "required"
},
{
"code": "min",
"min": 0
}
]
},
{
"code": "cashOutCommission",
"display": "Cash-out commission",
"fieldType": "percentage",
"fieldClass": null,
"cryptoScope": "both",
"machineScope": "both",
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": []
},
{
"code": "lowBalanceMargin",
"display": "Low balance margin",
"fieldType": "percentage",
"fieldClass": null,
"cryptoScope": "both",
"machineScope": "both",
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "zeroConfLimit",
"display": "Zero conf limit",
"fieldType": "integer",
"fieldClass": null,
"cryptoScope": "both",
"machineScope": "both",
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": []
},
{
"code": "ticker",
"display": "Ticker",
"fieldType": "account",
"fieldClass": "ticker",
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "wallet",
"display": "Wallet",
"fieldType": "account",
"fieldClass": "wallet",
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "exchange",
"display": "Exchange",
"fieldType": "account",
"fieldClass": "exchange",
"fieldValidation": []
},
{
"code": "fiatCurrency",
"display": "Fiat Currency",
"fieldType": "fiatCurrency",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "machineLanguages",
"display": "Languages",
"fieldType": "language",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "cryptoCurrencies",
"display": "Crypto Currencies",
"fieldType": "cryptoCurrency",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "topCashOutDenomination",
"display": "Top cash-out denomination",
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": []
},
{
"code": "bottomCashOutDenomination",
"display": "Bottom cash-out denomination",
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": []
},
{
"code": "virtualCashOutDenomination",
"display": "Virtual cash-out denomination",
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": []
},
{
"code": "emptyBillMargin",
"display": "Empty bill margin",
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": []
},
{
"code": "cashInTransactionLimit",
"display": "Cash-in tx limit",
"fieldType": "integer",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "cashOutTransactionLimit",
"display": "Cash-out tx limit",
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"cashOutEnabled"
],
"fieldValidation": []
},
{
"code": "smsVerificationEnabled",
"display": "SMS verification",
"fieldType": "onOff",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "idVerificationEnabled",
"display": "ID verification",
"fieldType": "onOff",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "idVerifier",
"display": "ID verify service",
"fieldType": "account",
"fieldClass": "idVerifier",
"enabledIf": [
"idVerificationEnabled"
],
"fieldValidation": []
},
{
"code": "idVerificationLimit",
"display": "ID Verification Limit",
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"idVerificationEnabled"
],
"fieldValidation": []
},
{
"code": "machineName",
"display": "Name",
"fieldType": "string",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "machineLocation",
"display": "Location",
"fieldType": "string",
"fieldClass": null,
"fieldValidation": []
},
{
"code": "notificationsEnabled",
"display": "Notifications",
"fieldType": "onOff",
"fieldClass": null,
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "notificationsEmailEnabled",
"display": "Email notifications",
"fieldType": "onOff",
"fieldClass": null,
"enabledIf": [
"notificationsEnabled"
],
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "notificationsSMSEnabled",
"display": "SMS notifications",
"fieldType": "onOff",
"fieldClass": null,
"enabledIf": [
"notificationsEnabled"
],
"fieldValidation": [
{
"code": "required"
}
]
},
{
"code": "sms",
"display": "SMS gateway",
"fieldType": "account",
"fieldClass": "sms",
"enabledIf": [
"notificationsEnabled",
"cashOutEnabled"
],
"fieldValidation": []
},
{
"code": "email",
"display": "Email gateway",
"fieldType": "account",
"fieldClass": "email",
"enabledIf": [
"notificationsEnabled"
],
"fieldValidation": []
},
{
"code": "lowBalanceThreshold",
"display": "Low Balance Threshold",
"fieldType": "integer",
"fieldClass": null,
"enabledIf": [
"notificationsEnabled"
],
"fieldValidation": []
}
]
}