Concordium/concordium-swift-sdk

Feature parity with old wallet crypto library

bisgardo opened this issue · 0 comments

The SDK is not yet on feature parity with the old [mobile_wallet](https://github.com/Concordium/concordium-base/tree/main/mobile_wallet) library. The library is integrated into the reference iOS wallet as a Swift package located in the repository that has been repurposed into ConcordiumWalletCrypto (which is a part of this SDK).

Most notably, the SDK only supports a single kind of account transactions, namely transfer. The old one supported all kinds of transactions. Also, deserialization of smart contract parameters is needed for the approval screen for WalletConnect requests.

It seems reasonable to assume that all the functions in the old library are currently in use by the wallets. This means that the SDK will have to reach full feature parity before migrating the wallets to this SDK is feasible.

Sub tasks (crypto actions)

  • generate baker keys
  • create ID request (v1) - do we need v0 as well?
  • create credential (v1) - do we need v0 as well?
  • generate recovery request
  • prove ID statement
  • combine encrypted amounts
  • generate accounts
  • get identity keys and randomness
  • get account keys and randomness
  • serialize CIS2 transfer parameters
  • sign message
  • get verifiable credential keys