From 2d061b64a917bf7b09b546238e048df18040b67b Mon Sep 17 00:00:00 2001 From: Jono Wenger <jono@elixxir.io> Date: Sat, 24 Sep 2022 17:12:27 -0700 Subject: [PATCH] Make NewChannelsManagerWithIndexedDb use the public key as its codename --- wasm/channels.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/wasm/channels.go b/wasm/channels.go index e72e300f..550ba506 100644 --- a/wasm/channels.go +++ b/wasm/channels.go @@ -10,6 +10,8 @@ package wasm import ( + "encoding/base64" + "gitlab.com/elixxir/crypto/channel" "syscall/js" "gitlab.com/elixxir/client/bindings" @@ -184,7 +186,6 @@ func NewChannelsManager(_ js.Value, args []js.Value) interface{} { // using [Cmix.GetID]. // - args[1] - Bytes of a private identity ([channel.PrivateIdentity]) that is // generated by [GenerateChannelIdentity] (Uint8Array). -// - args[2] - Username (string). // // Returns: // - Javascript representation of the [ChannelsManager] object. @@ -192,7 +193,16 @@ func NewChannelsManager(_ js.Value, args []js.Value) interface{} { // manager fails. func NewChannelsManagerWithIndexedDb(_ js.Value, args []js.Value) interface{} { privateIdentity := utils.CopyBytesToGo(args[1]) - em, err := indexedDb.NewWasmEventModel(args[2].String()) + + // Get the public key to use as a key for indexedDb + pi, err := channel.UnmarshalPrivateIdentity(privateIdentity) + if err != nil { + utils.Throw(utils.TypeError, err) + return nil + } + + key := base64.StdEncoding.EncodeToString(pi.Identity.PubKey) + em, err := indexedDb.NewWasmEventModel(key) if err != nil { utils.Throw(utils.TypeError, err) return nil -- GitLab