blockchain integration
This commit is contained in:
127
src/utils/Schemas.js
Normal file
127
src/utils/Schemas.js
Normal file
@@ -0,0 +1,127 @@
|
||||
export const IdentityModuleSchema = {
|
||||
$id: 'idntty/identity/module',
|
||||
title: 'Identity module account schema',
|
||||
type: 'object',
|
||||
properties: {
|
||||
features: {
|
||||
fieldNumber: 1,
|
||||
type: 'array',
|
||||
maxItems: 256,
|
||||
items: {
|
||||
type: 'object',
|
||||
required: ['label', 'value'],
|
||||
properties: {
|
||||
label: { fieldNumber: 1, dataType: 'string'},
|
||||
value: { fieldNumber: 2, dataType: 'bytes'},
|
||||
}
|
||||
}
|
||||
},
|
||||
verifications: {
|
||||
fieldNumber: 2,
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'object',
|
||||
required: ['label', 'account', 'tx'],
|
||||
properties: {
|
||||
label: { fieldNumber: 1, dataType: 'string'},
|
||||
account: { fieldNumber: 2, dataType: 'bytes'},
|
||||
tx: { fieldNumber: 3, dataType: 'bytes'},
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
default: {features: [], verifications: []}
|
||||
};
|
||||
|
||||
|
||||
export const setFeatureAssetSchema = {
|
||||
$id: 'idntty/identity/setfeature',
|
||||
title: 'Asset schema to set or update account features for identity module',
|
||||
type: 'object',
|
||||
required: ['features'],
|
||||
properties: {
|
||||
features: {
|
||||
fieldNumber: 1,
|
||||
type: 'array',
|
||||
minItems: 1,
|
||||
maxItems: 16,
|
||||
items: {
|
||||
type: 'object',
|
||||
required: ['label','value'],
|
||||
properties: {
|
||||
label: { fieldNumber: 1, dataType: 'string', maxLength: 16},
|
||||
value: { fieldNumber: 2, dataType: 'bytes', maxLength: 32},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const removeFeatureAssetSchema = {
|
||||
$id: 'idntty/identity/removefeature',
|
||||
title: 'Asset schema to remove account features for identity module',
|
||||
type: 'object',
|
||||
required: ['features'],
|
||||
properties: {
|
||||
features: {
|
||||
fieldNumber: 1,
|
||||
type: 'array',
|
||||
minItems: 1,
|
||||
maxItems: 16,
|
||||
items: {
|
||||
type: 'object',
|
||||
required: ['label'],
|
||||
properties: {
|
||||
label: { fieldNumber: 1, dataType: 'string', maxLength: 16},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const validateFeatureAssetSchema = {
|
||||
$id: 'idntty/identity/validatefeature',
|
||||
title: 'Asset schema to validate account features for identity module',
|
||||
type: 'object',
|
||||
required: ['recipientAddress','features'],
|
||||
properties: {
|
||||
recipientAddress: {fieldNumber: 1, dataType: 'bytes', minLength: 20, maxLength: 20},
|
||||
features: {
|
||||
fieldNumber: 2,
|
||||
type: 'array',
|
||||
minItems: 1,
|
||||
maxItems: 16,
|
||||
items: {
|
||||
type: 'object',
|
||||
required: ['label', 'value'],
|
||||
properties: {
|
||||
label: { fieldNumber: 1, dataType: 'string', maxLength: 16},
|
||||
value: { fieldNumber: 2, dataType: 'bytes', maxLength: 32},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const invalidateFeatureAssetSchema = {
|
||||
$id: 'idntty/identity/invalidatefeature',
|
||||
title: 'Asset schema to invalidate account features for identity module',
|
||||
type: 'object',
|
||||
required: ['recipientAddress','features'],
|
||||
properties: {
|
||||
recipientAddress: {fieldNumber: 1, dataType: 'bytes', minLength: 20, maxLength: 20},
|
||||
features: {
|
||||
fieldNumber: 2,
|
||||
type: 'array',
|
||||
minItems: 1,
|
||||
maxItems: 16,
|
||||
items: {
|
||||
type: 'object',
|
||||
required: ['label'],
|
||||
properties: {
|
||||
label: { fieldNumber: 1, dataType: 'string', maxLength: 16},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user