diff --git a/cmd/ud.go b/cmd/ud.go index a4ff2dbe2c8c2744192deac3ce99aafce45e01b0..cf1a0df7be220da8ded2bc23bba9b0c1c6c01fa3 100644 --- a/cmd/ud.go +++ b/cmd/ud.go @@ -82,11 +82,11 @@ var udCmd = &cobra.Command{ // Make user discovery manager rng := client.GetRng() userToRegister := viper.GetString("register") - userDiscoveryMgr, err := ud.NewManager(client, + userDiscoveryMgr, err := ud.NewManager(client, client.GetComms(), client.NetworkFollowerStatus, userToRegister, nil) if err != nil { if strings.Contains(err.Error(), ud.IsRegisteredErr) { - userDiscoveryMgr, err = ud.LoadManager(client) + userDiscoveryMgr, err = ud.LoadManager(client, client.GetComms()) if err != nil { jww.FATAL.Panicf("Failed to load UD manager: %+v", err) } diff --git a/ud/interfaces.go b/ud/interfaces.go index 7fef03ba3d8e3368b67884e1033e1c492fe1c621..42b0c570f5ff522bcb2b8204ad867b4b08fd9b4a 100644 --- a/ud/interfaces.go +++ b/ud/interfaces.go @@ -1,6 +1,7 @@ package ud import ( + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/e2e" "gitlab.com/elixxir/client/event" "gitlab.com/elixxir/client/single" @@ -21,10 +22,9 @@ type CMix interface { // relevant to what is used in this package. type E2E interface { GetReceptionIdentity() xxdk.ReceptionIdentity - GetCmix() CMix + GetCmix() cmix.Client GetE2E() e2e.Handler GetEventReporter() event.Reporter - GetComms() Comms GetRng() *fastRNG.StreamGenerator GetStorage() storage.Session GetTransmissionIdentity() xxdk.TransmissionIdentity diff --git a/ud/manager.go b/ud/manager.go index e9db3962b50bac55b60c9c6cda7b880f1523e4db..757d2247331fdbc2f531039c72e6643306a4725c 100644 --- a/ud/manager.go +++ b/ud/manager.go @@ -74,7 +74,7 @@ type Manager struct { // It requires that an updated // NDF is available and will error if one is not. // registrationValidationSignature may be set to nil -func NewManager(e2e E2E, follower NetworkStatus, +func NewManager(e2e E2E, comms Comms, follower NetworkStatus, username string, registrationValidationSignature []byte) (*Manager, error) { jww.INFO.Println("ud.NewManager()") @@ -88,7 +88,7 @@ func NewManager(e2e E2E, follower NetworkStatus, network: e2e.GetCmix(), e2e: e2e, events: e2e.GetEventReporter(), - comms: e2e.GetComms(), + comms: comms, kv: e2e.GetStorage().GetKV(), rng: e2e.GetRng(), registrationValidationSignature: registrationValidationSignature, @@ -133,7 +133,7 @@ func NewManager(e2e E2E, follower NetworkStatus, // NewManagerFromBackup builds a new user discover manager from a backup. // It will construct a manager that is already registered and restore // already registered facts into store. -func NewManagerFromBackup(e2e E2E, follower NetworkStatus, +func NewManagerFromBackup(e2e E2E, comms Comms, follower NetworkStatus, email, phone fact.Fact) (*Manager, error) { jww.INFO.Println("ud.NewManagerFromBackup()") if follower() != xxdk.Running { @@ -147,7 +147,7 @@ func NewManagerFromBackup(e2e E2E, follower NetworkStatus, network: e2e.GetCmix(), e2e: e2e, events: e2e.GetEventReporter(), - comms: e2e.GetComms(), + comms: comms, kv: e2e.GetStorage().GetKV(), rng: e2e.GetRng(), } @@ -212,13 +212,13 @@ func InitStoreFromBackup(kv *versioned.KV, // LoadManager loads the state of the Manager // from disk. This is meant to be called after any the first // instantiation of the manager by NewUserDiscovery. -func LoadManager(e2e E2E) (*Manager, error) { +func LoadManager(e2e E2E, comms Comms) (*Manager, error) { m := &Manager{ network: e2e.GetCmix(), e2e: e2e, events: e2e.GetEventReporter(), - comms: e2e.GetComms(), + comms: comms, rng: e2e.GetRng(), kv: e2e.GetStorage().GetKV(), } diff --git a/ud/mockE2e_test.go b/ud/mockE2e_test.go index c61fb3da85f186016ce282d0c7057c47fe51bc9c..4341478526e251ff22b85a0ccfa458383137798b 100644 --- a/ud/mockE2e_test.go +++ b/ud/mockE2e_test.go @@ -3,6 +3,7 @@ package ud import ( "github.com/cloudflare/circl/dh/sidh" "gitlab.com/elixxir/client/catalog" + "gitlab.com/elixxir/client/cmix" "gitlab.com/elixxir/client/cmix/message" "gitlab.com/elixxir/client/e2e" "gitlab.com/elixxir/client/e2e/ratchet/partner" @@ -78,11 +79,7 @@ func (m mockE2e) GetEventReporter() event.Reporter { return mockReporter{} } -func (m mockE2e) GetComms() Comms { - return &mockComms{} -} - -func (m mockE2e) GetCmix() CMix { +func (m mockE2e) GetCmix() cmix.Client { //TODO implement me panic("implement me") }