Skip to content

Commit

Permalink
fix: failing test
Browse files Browse the repository at this point in the history
  • Loading branch information
harsh-98 committed Sep 6, 2023
1 parent 9ad1355 commit b5ff218
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 24 deletions.
17 changes: 9 additions & 8 deletions waku/v2/node/wakunode2_rln.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,12 @@ func (w *WakuNode) setupRLNRelay() error {
return nil
}

var groupManager rln.GroupManager
var groupManager group_manager.GroupManagerI

rlnInstance, rootTracker := rln.GetRLNInstanceAndRootTracker(w.opts.rlnTreePath)
rlnInstance, rootTracker, err := rln.GetRLNInstanceAndRootTracker(w.opts.rlnTreePath)
if err != nil {
return err
}
if !w.opts.rlnRelayDynamic {
w.log.Info("setting up waku-rln-relay in off-chain mode")

Expand All @@ -41,7 +44,8 @@ func (w *WakuNode) setupRLNRelay() error {
return err
}

groupManager, err = static.NewStaticGroupManager(groupKeys, idCredential, w.opts.rlnRelayMemIndex, w.log)
groupManager, err = static.NewStaticGroupManager(groupKeys, idCredential, w.opts.rlnRelayMemIndex, rlnInstance,
rootTracker, w.log)
if err != nil {
return err
}
Expand All @@ -60,23 +64,20 @@ func (w *WakuNode) setupRLNRelay() error {
appKeystore,
w.opts.keystorePassword,
w.opts.prometheusReg,
w.log,
rlnInstance,
rootTracker,
w.log,
)
if err != nil {
return err
}
}

rlnRelay, err := rln.New(group_manager.GMDetails{
rlnRelay := rln.New(group_manager.GMDetails{
GroupManager: groupManager,
RootTracker: rootTracker,
RLN: rlnInstance,
}, w.timesource, w.opts.prometheusReg, w.log)
if err != nil {
return err
}

w.rlnRelay = rlnRelay

Expand Down
2 changes: 1 addition & 1 deletion waku/v2/protocol/rln/group_manager/dynamic/dynamic.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ func NewDynamicGroupManager(
appKeystore *keystore.AppKeystore,
keystorePassword string,
reg prometheus.Registerer,
log *zap.Logger,
rlnInstance *rln.RLN,
rootTracker *group_manager.MerkleRootTracker,
log *zap.Logger,
) (*DynamicGroupManager, error) {
log = log.Named("rln-dynamic")

Expand Down
4 changes: 2 additions & 2 deletions waku/v2/protocol/rln/group_manager/group_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ import (
"github.com/waku-org/go-zerokit-rln/rln"
)

type GroupManager interface {
type GroupManagerI interface {
Start(ctx context.Context) error
IdentityCredentials() (rln.IdentityCredential, error)
MembershipIndex() rln.MembershipIndex
Stop() error
}

type GMDetails struct {
GroupManager GroupManager
GroupManager GroupManagerI
RootTracker *MerkleRootTracker

RLN *rln.RLN
Expand Down
2 changes: 1 addition & 1 deletion waku/v2/protocol/rln/group_manager/static/static.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ func NewStaticGroupManager(
group []rln.IDCommitment,
identityCredential rln.IdentityCredential,
index rln.MembershipIndex,
log *zap.Logger,
rlnInstance *rln.RLN,
rootTracker *group_manager.MerkleRootTracker,
log *zap.Logger,
) (*StaticGroupManager, error) {
// check the peer's index and the inclusion of user's identity commitment in the group
if identityCredential.IDCommitment != group[int(index)] {
Expand Down
37 changes: 27 additions & 10 deletions waku/v2/protocol/rln/onchain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -149,14 +149,16 @@ func (s *WakuRLNRelayDynamicSuite) TestDynamicGroupManagement() {

membershipIndex := s.register(appKeystore, u1Credentials, s.u1PrivKey)

gm, err := dynamic.NewDynamicGroupManager(s.web3Config.ETHClientAddress, s.web3Config.RegistryContract.Address, membershipIndex, appKeystore, keystorePassword, prometheus.DefaultRegisterer, utils.Logger())
gm, err := dynamic.NewDynamicGroupManager(s.web3Config.ETHClientAddress, s.web3Config.RegistryContract.Address, membershipIndex, appKeystore, keystorePassword, prometheus.DefaultRegisterer, rlnInstance, rt, utils.Logger())
s.Require().NoError(err)

// initialize the WakuRLNRelay
rlnRelay := &WakuRLNRelay{
rootTracker: rt,
groupManager: gm,
RLN: rlnInstance,
GMDetails: group_manager.GMDetails{
RootTracker: rt,
GroupManager: gm,
RLN: rlnInstance,
},
log: utils.Logger(),
nullifierLog: make(map[rln.MerkleNode][]rln.ProofMetadata),
}
Expand Down Expand Up @@ -231,11 +233,16 @@ func (s *WakuRLNRelayDynamicSuite) TestMerkleTreeConstruction() {
membershipIndex := s.register(appKeystore, credentials1, s.u1PrivKey)
membershipIndex = s.register(appKeystore, credentials2, s.u1PrivKey)

rlnInstance, rootTracker := GetRLNInstanceAndRootTracker(s.tmpRLNDBPath())
// mount the rln relay protocol in the on-chain/dynamic mode
gm, err := dynamic.NewDynamicGroupManager(s.web3Config.ETHClientAddress, s.web3Config.RegistryContract.Address, membershipIndex, appKeystore, keystorePassword, prometheus.DefaultRegisterer, utils.Logger())
gm, err := dynamic.NewDynamicGroupManager(s.web3Config.ETHClientAddress, s.web3Config.RegistryContract.Address, membershipIndex, appKeystore, keystorePassword, prometheus.DefaultRegisterer, rlnInstance, rootTracker, utils.Logger())
s.Require().NoError(err)

rlnRelay, err := New(gm, s.tmpRLNDBPath(), timesource.NewDefaultClock(), prometheus.DefaultRegisterer, utils.Logger())
rlnRelay := New(group_manager.GMDetails{
RLN: rlnInstance,
RootTracker: rootTracker,
GroupManager: gm,
}, timesource.NewDefaultClock(), prometheus.DefaultRegisterer, utils.Logger())
s.Require().NoError(err)

err = rlnRelay.Start(context.TODO())
Expand Down Expand Up @@ -265,10 +272,15 @@ func (s *WakuRLNRelayDynamicSuite) TestCorrectRegistrationOfPeers() {
membershipGroupIndex := s.register(appKeystore, credentials1, s.u1PrivKey)

// mount the rln relay protocol in the on-chain/dynamic mode
gm1, err := dynamic.NewDynamicGroupManager(s.web3Config.ETHClientAddress, s.web3Config.RegistryContract.Address, membershipGroupIndex, appKeystore, keystorePassword, prometheus.DefaultRegisterer, utils.Logger())
rootIntance, rootTracker := GetRLNInstanceAndRootTracker(s.tmpRLNDBPath())
gm1, err := dynamic.NewDynamicGroupManager(s.web3Config.ETHClientAddress, s.web3Config.RegistryContract.Address, membershipGroupIndex, appKeystore, keystorePassword, prometheus.DefaultRegisterer, rootIntance, rootTracker, utils.Logger())
s.Require().NoError(err)

rlnRelay1, err := New(gm1, s.tmpRLNDBPath(), timesource.NewDefaultClock(), prometheus.DefaultRegisterer, utils.Logger())
rlnRelay1, err := New(group_manager.GMDetails{
GroupManager: gm1,
RootTracker: rootTracker,
RLN: rootIntance,
}, timesource.NewDefaultClock(), prometheus.DefaultRegisterer, utils.Logger())
s.Require().NoError(err)
err = rlnRelay1.Start(context.TODO())
s.Require().NoError(err)
Expand All @@ -283,10 +295,15 @@ func (s *WakuRLNRelayDynamicSuite) TestCorrectRegistrationOfPeers() {
membershipGroupIndex = s.register(appKeystore2, credentials2, s.u2PrivKey)

// mount the rln relay protocol in the on-chain/dynamic mode
gm2, err := dynamic.NewDynamicGroupManager(s.web3Config.ETHClientAddress, s.web3Config.RegistryContract.Address, membershipGroupIndex, appKeystore2, keystorePassword, prometheus.DefaultRegisterer, utils.Logger())
rootIntance, rootTracker := GetRLNInstanceAndRootTracker(s.tmpRLNDBPath())
gm2, err := dynamic.NewDynamicGroupManager(s.web3Config.ETHClientAddress, s.web3Config.RegistryContract.Address, membershipGroupIndex, appKeystore2, keystorePassword, prometheus.DefaultRegisterer, rootIntance, rootTracker, utils.Logger())
s.Require().NoError(err)

rlnRelay2, err := New(gm2, s.tmpRLNDBPath(), timesource.NewDefaultClock(), prometheus.DefaultRegisterer, utils.Logger())
rlnRelay2, err := New(group_manager.GMDetails{
GroupManager: gm1,
RootTracker: rootTracker,
RLN: rootIntance,
}, timesource.NewDefaultClock(), prometheus.DefaultRegisterer, utils.Logger())
s.Require().NoError(err)
err = rlnRelay2.Start(context.TODO())
s.Require().NoError(err)
Expand Down
4 changes: 2 additions & 2 deletions waku/v2/protocol/rln/rln_relay_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func (s *WakuRLNRelaySuite) TestOffchainMode() {

//
idCredential := groupKeyPairs[index]
groupManager, err := static.NewStaticGroupManager(groupIDCommitments, idCredential, index, utils.Logger(), rlnInstance, rootTracker)
groupManager, err := static.NewStaticGroupManager(groupIDCommitments, idCredential, index, rlnInstance, rootTracker, utils.Logger())
s.Require().NoError(err)

wakuRLNRelay := New(group_manager.GMDetails{
Expand Down Expand Up @@ -180,7 +180,7 @@ func (s *WakuRLNRelaySuite) TestValidateMessage() {
s.Require().NoError(err)
//
idCredential := groupKeyPairs[index]
groupManager, err := static.NewStaticGroupManager(groupIDCommitments, idCredential, index, utils.Logger(), rlnInstance, rootTracker)
groupManager, err := static.NewStaticGroupManager(groupIDCommitments, idCredential, index, rlnInstance, rootTracker, utils.Logger())
s.Require().NoError(err)

rlnRelay := &WakuRLNRelay{
Expand Down

0 comments on commit b5ff218

Please sign in to comment.