State Change Records

State Change Records constitute the observable output of a DSNP system. Frequency uses a combination of on chain data to store and Events to notify for Records.

Frequency Transaction Identifier

Frequency uses the hash of the Operation transaction to then request a node report the transaction status and any Events related to that hash. (Client libraries usually have this built in.)

Frequency Records

Frequency produces three types of data that map or point to DSNP Records.

Events

Events are generated on each block and may contain a pointer to the Record data instead of the entire Record.

Events are referenced by pallet::EventName.

Messages

Frequency Messages store Announcements or Batch Publication Records. It uses the Messages Pallet.

Messages are retrieved via state queries (pallet.stateQuery) or RPC calls (pallet.rpcCall()).

State

Frequency State stores data associated with an Identity. It can also be used to look up the state of prior Records related to an Identity.

State data is retrieved via state queries (pallet.stateQuery) or RPC calls (pallet.rpcCall()).

Record Mappings

Record TypeRecord Pointer/Location
Identifier Creation RecordEvent:
msa::MsaCreated
State:
msa.publicKeyToMsaId
Identifier Retirement RecordEvent:
msa::MsaRetired
Delegation Definition RecordEvent:
msa::DelegationGranted,
msa::DelegationUpdated
RPC:
msa.checkDelegations(),
msa.getGrantedSchemasByMsaId()
Delegation Revocation RecordEvent:
msa::DelegationRevoked
RPC:
msa.checkDelegations()
Control Key Addition RecordEvent:
msa::PublicKeyAdded
State:
msa.publicKeyToMsaId
Control Key Removal RecordEvent:
msa::PublicKeyDeleted
State:
msa.publicKeyToMsaId
Announcement Published RecordEvent:
messages::MessagesStored
RPC:
messages.getBySchemaId()
Batch Published RecordEvent:
messages::MessagesStored
RPC:
messages.getBySchemaId()
Failure RecordSee section on Failure Handling
User Data Replaced RecordEvent:
stateful_storage::ItemizedPageUpdated,
stateful_storage::ItemizedPageDeleted,
stateful_storage::PaginatedPageUpdated,
stateful_storage::PaginatedPageDeleted
RPC:
statefulStorage.getPaginatedStorage(),
statefulStorage.getItemizedStorage()
See Also: Read User Data