forked from tornadocash/classic-ui
173 lines
4.8 KiB
JavaScript
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 }
|