rarimo-core

Rarimo Identity

Rarimo identity transfers provides issuers with opportunity to publish cheap state updates into Rarimo chain directly, that allows to skip transferring from Polygon to Rarimo in default flow. Also, all states from all issuers will be aggregated into one Merkle hash that allows us to update all states by single transaction.

Generally, common flow looks like this:


DApp flow:

On the DApp side the following flow should be executed to use our aggregated state:

  1. Get state information from Rarimo: /rarimo/rarimo-core/identity/state/{id}. Also get path from /rarimo/rarimo-core/identity/state/{id}/proof.

  2. If the last state update timestamp is equal (or less) to the timestamp on target chain - go to (5).

  3. Using lastUpdateOperationIndex call: /rarimo/rarimo-core/rarimocore/operation/{index}. It provides the information about GISTRoot and StatesRoot hash. Use it in state transition.

  4. Using lastUpdateOperationIndex call: /rarimo/rarimo-core/rarimocore/operation/{index}/proof. Using signature, path and information from previous request execute signedStateTransition on target chain state smart contract.

  5. Generate ZKP using state information from (1) request. Execute ZKP verification on modified Verificator contract using generated proof information, information and path from (1).