Skip to content
Snippets Groups Projects
Commit 79cbc843 authored by Jonah Husson's avatar Jonah Husson
Browse files

Add storing/loading of rekeyparams

parent b93de46f
Branches
Tags
3 merge requests!510Release,!207WIP: Client Restructure,!203Symmetric broadcast
package e2e
import (
"encoding/json"
"github.com/pkg/errors"
"gitlab.com/elixxir/client/catalog"
"gitlab.com/elixxir/client/e2e/parse"
"gitlab.com/elixxir/client/e2e/ratchet"
......@@ -31,12 +33,26 @@ type manager struct {
rekeyParams rekey.Params
}
const e2eRekeyParamsKey = "e2eRekeyParams"
const e2eRekeyParamsVer = 0
// Init Creates stores. After calling, use load
// Passes a default ID and public key which is used for relationship with
// partners when no default ID is selected
func Init(kv *versioned.KV, myDefaultID *id.ID, privKey *cyclic.Int,
grp *cyclic.Group, rekeyParams rekey.Params) error {
//store rekey params here
rekeyParamsData, err := json.Marshal(rekeyParams)
if err != nil {
return errors.WithMessage(err, "Failed to marshal rekeyParams")
}
err = kv.Set(e2eRekeyParamsKey, e2eRekeyParamsVer, &versioned.Object{
Version: e2eRekeyParamsVer,
Timestamp: time.Now(),
Data: rekeyParamsData,
})
if err != nil {
return errors.WithMessage(err, "Failed to save rekeyParams")
}
return ratchet.New(kv, myDefaultID, privKey, grp)
}
......@@ -54,6 +70,7 @@ func Load(kv *versioned.KV, net network.Manager, myDefaultID *id.ID,
myDefaultID: myDefaultID,
events: events,
grp: grp,
rekeyParams: rekey.Params{},
}
var err error
......@@ -65,6 +82,14 @@ func Load(kv *versioned.KV, net network.Manager, myDefaultID *id.ID,
}
//load rekey params here
rekeyParams, err := kv.Get(e2eRekeyParamsKey, e2eRekeyParamsVer)
if err != nil {
return nil, errors.WithMessage(err, "Failed to load rekeyParams")
}
err = json.Unmarshal(rekeyParams.Data, &m.rekeyParams)
if err != nil {
return nil, errors.WithMessage(err, "Failed to unmarshal rekeyParams data")
}
//attach critical messages
m.crit = newCritical(kv, net.AddHealthCallback,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment