diff --git a/wasm/channels.go b/wasm/channels.go index e72e300f9a53c4cf27de2a6022a907598c3acbef..550ba506f4e0e08bbff1b1bf9beb49434195eab8 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