From 060a7d67e255eef60d96128a8fe5ed8840fff8a2 Mon Sep 17 00:00:00 2001 From: Cassandra Heart Date: Mon, 18 Nov 2024 02:45:57 -0600 Subject: [PATCH] prover pause --- client/cmd/proverPause.go | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/client/cmd/proverPause.go b/client/cmd/proverPause.go index 046e3a8..31e2df2 100644 --- a/client/cmd/proverPause.go +++ b/client/cmd/proverPause.go @@ -2,7 +2,9 @@ package cmd import ( "bytes" + "fmt" "strings" + "time" "github.com/iden3/go-iden3-crypto/poseidon" "github.com/libp2p/go-libp2p/core/crypto" @@ -29,7 +31,7 @@ var proverPauseCmd = &cobra.Command{ pubsub := p2p.NewBlossomSub(NodeConfig.P2P, logger) intrinsicFilter := p2p.GetBloomFilter(application.TOKEN_ADDRESS, 256, 3) pubsub.Subscribe( - intrinsicFilter, + append([]byte{0x00}, intrinsicFilter...), func(message *pb.Message) error { return nil }, ) key, err := GetPrivKeyFromConfig(NodeConfig) @@ -52,10 +54,28 @@ var proverPauseCmd = &cobra.Command{ panic(err) } + loop: + for { + peers := pubsub.GetBitmaskPeers() + if len(peers) == 0 { + fmt.Println("Waiting for peer list to form before broadcasting pause...") + time.Sleep(5 * time.Second) + continue loop + } + for _, set := range peers { + if len(set) < 3 { + fmt.Println("Waiting for more peers before broadcasting pause...") + time.Sleep(5 * time.Second) + continue loop + } + break loop + } + } + err = publishMessage( key, pubsub, - intrinsicFilter, + append([]byte{0x00}, intrinsicFilter...), &protobufs.AnnounceProverPause{ Filter: filter, PublicKeySignatureEd448: &protobufs.Ed448Signature{