classic-ui-dev/services/schema/relayer/default.js
Danil Kovtonyuk 44f31f8b9f
init
2022-04-22 13:14:19 +10:00

173 lines
4.8 KiB
JavaScript

import { addressType } from '@/constants'
const statusSchema = {
type: 'object',
properties: {
rewardAccount: addressType,
instances: {
type: 'object',
properties: {
dai: {
type: 'object',
properties: {
instanceAddress: {
type: 'object',
properties: {
'100': addressType,
'1000': addressType,
'10000': addressType,
'100000': addressType
},
required: ['100', '1000', '10000', '100000']
},
tokenAddress: addressType,
symbol: { enum: ['DAI'] },
decimals: { enum: [18] }
},
required: ['instanceAddress', 'tokenAddress', 'decimals']
},
usdt: {
type: 'object',
properties: {
instanceAddress: {
type: 'object',
properties: {
'100': addressType,
'1000': addressType,
'10000': addressType,
'100000': addressType
},
required: ['100', '1000']
},
tokenAddress: addressType,
symbol: { enum: ['USDT'] },
decimals: { enum: [6] }
},
required: ['instanceAddress', 'tokenAddress', 'decimals']
},
usdc: {
type: 'object',
properties: {
instanceAddress: {
type: 'object',
properties: {
'100': addressType,
'1000': addressType,
'10000': addressType,
'100000': addressType
},
required: ['100', '1000']
},
tokenAddress: addressType,
symbol: { enum: ['USDC'] },
decimals: { enum: [6] }
},
required: ['instanceAddress', 'tokenAddress', 'decimals']
},
cdai: {
type: 'object',
properties: {
instanceAddress: {
type: 'object',
properties: {
'5000': addressType,
'50000': addressType,
'500000': addressType,
'5000000': addressType
},
required: ['5000', '50000', '500000', '5000000']
},
tokenAddress: addressType,
symbol: { enum: ['cDAI'] },
decimals: { enum: [8] }
},
required: ['instanceAddress', 'tokenAddress', 'decimals']
},
wbtc: {
type: 'object',
properties: {
instanceAddress: {
type: 'object',
properties: {
'0.1': addressType,
'1': addressType,
'10': addressType,
'100': addressType
},
required: ['0.1', '1', '10']
},
tokenAddress: addressType,
symbol: { enum: ['WBTC'] },
decimals: { enum: [8] }
},
required: ['instanceAddress', 'tokenAddress', 'decimals']
},
eth: {
type: 'object',
properties: {
instanceAddress: {
type: 'object',
properties: {
'0.1': addressType,
'1': addressType,
'10': addressType,
'100': addressType
},
required: ['0.1', '1', '10', '100']
},
decimals: { enum: [18] }
},
required: ['instanceAddress', 'decimals']
}
},
required: ['eth']
},
gasPrices: {
type: 'object',
properties: {
fast: { type: 'number' },
additionalProperties: { type: 'number' }
},
required: ['fast']
},
netId: { type: 'integer' },
ethPrices: {
type: 'object',
properties: {
dai: { type: 'string', BN: true },
cdai: { type: 'string', BN: true },
usdc: { type: 'string', BN: true },
usdt: { type: 'string', BN: true },
torn: { type: 'string', BN: true },
wbtc: { type: 'string', BN: true }
},
required: ['dai', 'cdai', 'usdc', 'usdt', 'torn', 'wbtc']
},
tornadoServiceFee: { type: 'number', maximum: 20, minimum: 0 },
miningServiceFee: { type: 'number', maximum: 20, minimum: 0 },
latestBlock: { type: 'number' },
version: { type: 'string' },
health: {
type: 'object',
properties: {
status: { const: 'true' },
error: { type: 'string' }
},
required: ['status']
},
currentQueue: { type: 'number' }
},
required: [
'rewardAccount',
'instances',
'netId',
'ethPrices',
'tornadoServiceFee',
'miningServiceFee',
'version',
'health'
]
}
export { statusSchema }