* feat: add profile showcase collectibles & assets missing fileds * feat: resolve collectible identification issue * feat: add validation for collectible visibility relative account * feat: separate profile showcase assets on verified and unverified tokens * fix: make chainId uint64, comment collectible account check * chore: re-generate protobuf binaries with right protoc version * Update protocol/messenger_profile_showcase.go Co-authored-by: Igor Sirotin <sirotin@status.im>
protocol/encryption package
Hash ratchet encryption
encryptor.GenerateHashRatchetKey()
generates a hash ratchet key and stores it in in the DB.
There, 2 new tables are created: hash_ratchet_encryption
and hash_ratchet_encryption_cache
.
Each hash ratchet key is uniquely identified by the (groupId, keyId)
pair, where keyId
is derived from a clock value.
protocol.BuildHashRatchetKeyExchangeMessage
builds an 1-on-1 message containing the hash ratchet key, given it's ID.
protocol.BuildHashRatchetMessage
builds a hash ratchet message with arbitrary payload, given groupId
. It will use the latest hash ratchet key available. encryptor.encryptWithHR
encrypts the payload using Hash Ratchet algorithms. Intermediate hashes are stored in hash_ratchet_encryption_cache
table.
protocol.HandleMessage
uses encryptor.decryptWithHR
fn for decryption.