Skip to content
This repository has been archived by the owner on Jan 4, 2022. It is now read-only.

Dash Platform Protocol v0.12.0

Compare
Choose a tag to compare
@shumkov shumkov released this 18 Apr 10:56
· 219 commits to master since this release

Bug Fixes

  • do not allow to change ownerId and entropy (bff5807)
  • json schema for signaturePublicKeyId (#161)
  • wrong entropy size (#157)
  • data contract definitions might be null or undefined (#153)
  • identity existence validation in data contract structure validation (#149)
  • state transition signature validation in data contract structure validation (#150)

Code Refactoring

  • rename $rev to $revision (#140)
  • rename userId to ownerId (b9a5e83)
  • remove type from Identity (227dc4d)
  • remove version from Data Contract (f856ecc)
  • rename $ownerId to ownerId in Data Contract (#160)
  • rename $contractId to $dataContractId in Document (158)
  • split document model and it's state transitions (#126, #156)
  • store document ID as a part of the document (3d10a01)
  • Data Contract Create Transition now accepts raw data (#136)
  • start types and indices from 0 instead of 1 (#155)
  • put JSON Schemas into order (#135)

Features

  • implement apply state transition function (#138, #139, #142, #141, #147, #143)
  • generate Data Contract ID from ownerId and entropy (4c0dae1)
  • introduce balance to Identities (#137, b13a9bb, #146)
  • validate ST size is less than 16 Kb (ff7aa51, 70c3c54)
  • validate state transition fee (48c9fda, #145, 0cb1d6f)
  • create Identity factory now accepts locked out point and public keys (#151)
  • getDataContractFixture accepts ownerId (#148)
  • implement create identity create transition factory (#152)
  • introduce signByPrivateKey and verifySignatureByPublicKey methods to ST (4eb5cdc)
  • verbose invalid data errors (#134)

BREAKING CHANGES

  • Data Contract ID is ownerId + entropy. You don't need to create an additional identity anymore.
  • Data Contract Create Transition now accepts raw data
  • size of serialized state transition must be less than 16 Kb
  • type removed from Identity due to Data Contract doesn't require it anymore
  • version removed from Data Contract
  • userId renamed to ownerId
  • Documents State Transition renamed to and it's structure is changed
  • applyStateTransition methods no longer a part of identity, data contract and document facades
  • renamed $rev field to $revision in raw document model
  • applyIdentityStateTransition is now asynchronous
  • Documents State Transition is now happening through separate state transition classes and renamed to Documents Batch Transition. Hence document class no longer have $action field. $action is now starting from 0. $entropy field is now a part of document create state transition. createStateTransition method of a document factory now accepts a map with actions as keys (create, replace, delete) and document arrays as values respectively.
  • create Identity factory accepts locked out point and public keys instead of ID and IndentityPublicKey
  • types and indices now starts from 0 instead of 1
  • Data Provider renamed to State Repository and store/remove functions introduced