Documentation Index
Fetch the complete documentation index at: https://docs.therootnetwork.com/llms.txt
Use this file to discover all available pages before exploring further.
The Sylo Data Verification pallet provides functionality for registering resolvers and verifying data through validation records. It allows users to create, update, and delete validation records that can be used to verify the authenticity and integrity of data.
Calls
setPaymentAsset
Set the asset used to pay for sylo extrinsics.
This operation requires root access.
Namespace
api.tx.syloDataVerification.setPaymentAsset
Type
function setPaymentAsset(
payment_asset: u32
)
setSyloResolverMethod
Set the string used as the reserved sylo resolver method.
This operation requires root access.
Namespace
api.tx.syloDataVerification.setSyloResolverMethod
Type
function setSyloResolverMethod(
resolver_method: Bytes
)
registerResolver
Register a new resolver.
The caller will be set as the controller of the resolver.
Namespace
api.tx.syloDataVerification.registerResolver
Type
function registerResolver(
identifier: Bytes,
service_endpoints: Vec<Bytes>
)
updateResolver
Update the service endpoints of an existing resolver.
Caller must be the controller of the resolver.
Namespace
api.tx.syloDataVerification.updateResolver
Type
function updateResolver(
identifier: Bytes,
service_endpoints: Vec<Bytes>
)
deregisterResolver
Deregister an existing resolver.
Caller must be the controller of the resolver.
Namespace
api.tx.syloDataVerification.deregisterResolver
Type
function deregisterResolver(
identifier: Bytes
)
createValidationRecord
Create a new validation record.
The caller will be set as the record’s author.
For any specified resolvers which use the reserved sylo resolver method, those resolvers must already be registered and exist in storage.
The initial record entry will use the current system block for the block value.
Namespace
api.tx.syloDataVerification.createValidationRecord
Type
function createValidationRecord(
data_id: Bytes,
resolvers: Vec<{method: Bytes, identifier: Bytes}>,
data_type: Bytes,
tags: Vec<Bytes>,
checksum: H256
)
addValidationRecordEntry
Add a new entry to an existing validation record.
The current block will be used as the entry’s block number.
Caller must be the author of the record.
Namespace
api.tx.syloDataVerification.addValidationRecordEntry
Type
function addValidationRecordEntry(
data_id: Bytes,
checksum: H256
)
updateValidationRecord
Update a validation record’s fields. The call takes in an Option value for the fields: resolvers, data_type, and tags.
Setting those fields to Some value will update the field in storage, whilst setting to None will be a no-op.
Caller must be the author of the record.
Namespace
api.tx.syloDataVerification.updateValidationRecord
Type
function updateValidationRecord(
data_id: Bytes,
resolvers: Option<Vec<{method: Bytes, identifier: Bytes}>>,
data_type: Option<Bytes>,
tags: Option<Vec<Bytes>>
)
deleteValidationRecord
Delete an existing validation record.
Caller must be the author of the record.
Namespace
api.tx.syloDataVerification.deleteValidationRecord
Type
function deleteValidationRecord(
data_id: Bytes
)
Storage
SyloAssetId
The asset used to pay for sylo extrinsics.
Namespace
api.query.syloDataVerification.syloAssetId
Type
function syloAssetId(): Option<u32>
SyloResolverMethod
The string reserved for the method used by sylo resolvers.
Namespace
api.query.syloDataVerification.syloResolverMethod
Type
function syloResolverMethod(): Bytes
Resolvers
Map from resolver identifier to resolver information.
Namespace
api.query.syloDataVerification.resolvers
Type
function resolvers(
Bytes
): Option<{
controller: AccountId,
service_endpoints: Vec<Bytes>
}>
ValidationRecords
Map from account and data identifier to validation record information.
Namespace
api.query.syloDataVerification.validationRecords
Type
function validationRecords(
AccountId,
Bytes
): Option<{
author: AccountId,
resolvers: Vec<{method: Bytes, identifier: Bytes}>,
data_type: Bytes,
tags: Vec<Bytes>,
entries: Vec<{checksum: H256, block: BlockNumber}>
}>
Events
PaymentAssetSet
The asset used for extrinsics has been set.
Namespace
api.events.syloDataVerification.PaymentAssetSet
Type
type PaymentAssetSet = {
asset_id: u32
}
SyloResolverMethodSet
The string reserved for the method used by sylo resolvers has been set.
Namespace
api.events.syloDataVerification.SyloResolverMethodSet
Type
type SyloResolverMethodSet = {
method: Vec<u8>
}
ResolverRegistered
A new resolver has been registered and set in storage.
Namespace
api.events.syloDataVerification.ResolverRegistered
Type
type ResolverRegistered = {
id: Vec<u8>,
controller: AccountId,
service_endpoints: Vec<Vec<u8>>
}
ResolverUpdated
An existing resolver has had its service endpoints updated.
Namespace
api.events.syloDataVerification.ResolverUpdated
Type
type ResolverUpdated = {
id: Vec<u8>,
controller: AccountId,
service_endpoints: Vec<Vec<u8>>
}
ResolverDeregistered
An existing resolver has been deregistered and removed from storage.
Namespace
api.events.syloDataVerification.ResolverDeregistered
Type
type ResolverDeregistered = {
id: Vec<u8>
}
ValidationRecordCreated
A new validation record has been created and set in storage.
Namespace
api.events.syloDataVerification.ValidationRecordCreated
Type
type ValidationRecordCreated = {
author: AccountId,
id: Vec<u8>
}
ValidationEntryAdded
An entry of an existing validation record has been added.
Namespace
api.events.syloDataVerification.ValidationEntryAdded
Type
type ValidationEntryAdded = {
author: AccountId,
id: Vec<u8>,
checksum: H256
}
ValidationRecordUpdated
An existing validation record has had its fields updated.
Namespace
api.events.syloDataVerification.ValidationRecordUpdated
Type
type ValidationRecordUpdated = {
author: AccountId,
id: Vec<u8>,
resolvers: Option<Vec<Vec<u8>>>,
data_type: Option<Vec<u8>>,
tags: Option<Vec<Vec<u8>>>
}
ValidationRecordDeleted
An existing validation record has been deleted and removed from storage.
Namespace
api.events.syloDataVerification.ValidationRecordDeleted
Type
type ValidationRecordDeleted = {
author: AccountId,
id: Vec<u8>
}
Errors
ResolverAlreadyRegistered
The Resolver identifier is already in use.
Namespace
api.errors.syloDataVerification.ResolverAlreadyRegistered
ResolverNotRegistered
The Resolver has not been registered.
Namespace
api.errors.syloDataVerification.ResolverNotRegistered
NotController
Account is not controller of resolver.
Namespace
api.errors.syloDataVerification.NotController
RecordAlreadyCreated
A validation record with the given data id has already been created.
Namespace
api.errors.syloDataVerification.RecordAlreadyCreated
NoValidationRecord
The validation record to be updated has not been created.
Namespace
api.errors.syloDataVerification.NoValidationRecord
Constants
MaxResolvers
The maximum number of resolvers in a validation record.
Namespace
api.consts.syloDataVerification.MaxResolvers
Type
The maximum number of tags in a validation record.
Namespace
api.consts.syloDataVerification.MaxTags
Type
MaxEntries
The maximum number of validation entries in a record.
Namespace
api.consts.syloDataVerification.MaxEntries
Type
MaxServiceEndpoints
The maximum number of service endpoints for a registered resolver.
Namespace
api.consts.syloDataVerification.MaxServiceEndpoints
Type
type MaxServiceEndpoints = u32
StringLimit
The max length of strings used within the Sylo Pallet.
Namespace
api.consts.syloDataVerification.StringLimit
Type