commenting a lot of things and some config changes to start testing
This commit is contained in:
parent
2c0eb59d9f
commit
4fa26147e8
|
@ -18,27 +18,7 @@
|
||||||
|
|
||||||
package wakuv2
|
package wakuv2
|
||||||
|
|
||||||
import (
|
/*
|
||||||
"context"
|
|
||||||
"crypto/ecdsa"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"sync"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/payload"
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/protocol/pb"
|
|
||||||
|
|
||||||
"github.com/status-im/status-go/wakuv2/common"
|
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
|
||||||
"github.com/ethereum/go-ethereum/log"
|
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
|
||||||
|
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
)
|
|
||||||
|
|
||||||
// List of errors
|
// List of errors
|
||||||
var (
|
var (
|
||||||
ErrSymAsym = errors.New("specify either a symmetric or an asymmetric key")
|
ErrSymAsym = errors.New("specify either a symmetric or an asymmetric key")
|
||||||
|
@ -513,4 +493,4 @@ func (api *PublicWakuAPI) NewMessageFilter(req Criteria) (string, error) {
|
||||||
api.mu.Unlock()
|
api.mu.Unlock()
|
||||||
|
|
||||||
return id, nil
|
return id, nil
|
||||||
}
|
} */
|
||||||
|
|
|
@ -18,16 +18,7 @@
|
||||||
|
|
||||||
package wakuv2
|
package wakuv2
|
||||||
|
|
||||||
import (
|
/* func TestMultipleTopicCopyInNewMessageFilter(t *testing.T) {
|
||||||
"testing"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"golang.org/x/exp/maps"
|
|
||||||
|
|
||||||
"github.com/status-im/status-go/wakuv2/common"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestMultipleTopicCopyInNewMessageFilter(t *testing.T) {
|
|
||||||
w, err := New(nil, "", nil, nil, nil, nil, nil, nil)
|
w, err := New(nil, "", nil, nil, nil, nil, nil, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Error creating WakuV2 client: %v", err)
|
t.Fatalf("Error creating WakuV2 client: %v", err)
|
||||||
|
@ -68,3 +59,4 @@ func TestMultipleTopicCopyInNewMessageFilter(t *testing.T) {
|
||||||
t.Fatalf("Could not find filter with both topics")
|
t.Fatalf("Could not find filter with both topics")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
|
@ -1,19 +1,5 @@
|
||||||
package wakuv2
|
package wakuv2
|
||||||
|
|
||||||
import (
|
|
||||||
"errors"
|
|
||||||
|
|
||||||
"go.uber.org/zap"
|
|
||||||
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/api/publish"
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/protocol"
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/protocol/pb"
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/protocol/relay"
|
|
||||||
|
|
||||||
gethcommon "github.com/ethereum/go-ethereum/common"
|
|
||||||
"github.com/status-im/status-go/wakuv2/common"
|
|
||||||
)
|
|
||||||
|
|
||||||
type PublishMethod int
|
type PublishMethod int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -34,7 +20,7 @@ func (pm PublishMethod) String() string {
|
||||||
|
|
||||||
// Send injects a message into the waku send queue, to be distributed in the
|
// Send injects a message into the waku send queue, to be distributed in the
|
||||||
// network in the coming cycles.
|
// network in the coming cycles.
|
||||||
func (w *Waku) Send(pubsubTopic string, msg *pb.WakuMessage, priority *int) ([]byte, error) {
|
/* func (w *Waku) Send(pubsubTopic string, msg *pb.WakuMessage, priority *int) ([]byte, error) {
|
||||||
pubsubTopic = w.GetPubsubTopic(pubsubTopic)
|
pubsubTopic = w.GetPubsubTopic(pubsubTopic)
|
||||||
if w.protectedTopicStore != nil {
|
if w.protectedTopicStore != nil {
|
||||||
privKey, err := w.protectedTopicStore.FetchPrivateKey(pubsubTopic)
|
privKey, err := w.protectedTopicStore.FetchPrivateKey(pubsubTopic)
|
||||||
|
@ -160,4 +146,4 @@ func (w *Waku) publishEnvelope(envelope *protocol.Envelope, publishFn publish.Pu
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
109
wakuv2/nwaku.go
109
wakuv2/nwaku.go
|
@ -269,7 +269,6 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/event"
|
"github.com/ethereum/go-ethereum/event"
|
||||||
"github.com/ethereum/go-ethereum/p2p"
|
"github.com/ethereum/go-ethereum/p2p"
|
||||||
"github.com/ethereum/go-ethereum/p2p/enode"
|
"github.com/ethereum/go-ethereum/p2p/enode"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
|
||||||
"github.com/jellydator/ttlcache/v3"
|
"github.com/jellydator/ttlcache/v3"
|
||||||
"github.com/libp2p/go-libp2p/core/metrics"
|
"github.com/libp2p/go-libp2p/core/metrics"
|
||||||
"github.com/libp2p/go-libp2p/core/peer"
|
"github.com/libp2p/go-libp2p/core/peer"
|
||||||
|
@ -350,7 +349,7 @@ func (w *Waku) SubscribeToConnStatusChanges() *types.ConnStatusSubscription {
|
||||||
return subscription
|
return subscription
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Waku) getDiscV5BootstrapNodes(ctx context.Context, addresses []string) ([]*enode.Node, error) {
|
/* func (w *Waku) getDiscV5BootstrapNodes(ctx context.Context, addresses []string) ([]*enode.Node, error) {
|
||||||
wg := sync.WaitGroup{}
|
wg := sync.WaitGroup{}
|
||||||
mu := sync.Mutex{}
|
mu := sync.Mutex{}
|
||||||
var result []*enode.Node
|
var result []*enode.Node
|
||||||
|
@ -394,11 +393,12 @@ func (w *Waku) getDiscV5BootstrapNodes(ctx context.Context, addresses []string)
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|
||||||
return result, nil
|
return result, nil
|
||||||
}
|
} */
|
||||||
|
|
||||||
type fnApplyToEachPeer func(d dnsdisc.DiscoveredNode, wg *sync.WaitGroup)
|
type fnApplyToEachPeer func(d dnsdisc.DiscoveredNode, wg *sync.WaitGroup)
|
||||||
|
|
||||||
func (w *Waku) dnsDiscover(ctx context.Context, enrtreeAddress string, apply fnApplyToEachPeer) error {
|
// This should be handled by nwaku?
|
||||||
|
/* func (w *Waku) dnsDiscover(ctx context.Context, enrtreeAddress string, apply fnApplyToEachPeer) error {
|
||||||
w.logger.Info("retrieving nodes", zap.String("enr", enrtreeAddress))
|
w.logger.Info("retrieving nodes", zap.String("enr", enrtreeAddress))
|
||||||
ctx, cancel := context.WithTimeout(ctx, requestTimeout)
|
ctx, cancel := context.WithTimeout(ctx, requestTimeout)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
@ -439,9 +439,10 @@ func (w *Waku) dnsDiscover(ctx context.Context, enrtreeAddress string, apply fnA
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
} */
|
||||||
|
|
||||||
func (w *Waku) discoverAndConnectPeers() {
|
// This too? nwaku?
|
||||||
|
/* func (w *Waku) discoverAndConnectPeers() {
|
||||||
fnApply := func(d dnsdisc.DiscoveredNode, wg *sync.WaitGroup) {
|
fnApply := func(d dnsdisc.DiscoveredNode, wg *sync.WaitGroup) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
if len(d.PeerInfo.Addrs) != 0 {
|
if len(d.PeerInfo.Addrs) != 0 {
|
||||||
|
@ -475,7 +476,7 @@ func (w *Waku) discoverAndConnectPeers() {
|
||||||
go w.connect(*peerInfo, nil, wps.Static)
|
go w.connect(*peerInfo, nil, wps.Static)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
||||||
func (w *Waku) connect(peerInfo peer.AddrInfo, enr *enode.Node, origin wps.Origin) {
|
func (w *Waku) connect(peerInfo peer.AddrInfo, enr *enode.Node, origin wps.Origin) {
|
||||||
// Connection will be prunned eventually by the connection manager if needed
|
// Connection will be prunned eventually by the connection manager if needed
|
||||||
|
@ -484,7 +485,7 @@ func (w *Waku) connect(peerInfo peer.AddrInfo, enr *enode.Node, origin wps.Origi
|
||||||
w.WakuConnect(addr.String(), 1000)
|
w.WakuConnect(addr.String(), 1000)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Waku) telemetryBandwidthStats(telemetryServerURL string) {
|
/* func (w *Waku) telemetryBandwidthStats(telemetryServerURL string) {
|
||||||
w.wg.Add(1)
|
w.wg.Add(1)
|
||||||
defer w.wg.Done()
|
defer w.wg.Done()
|
||||||
|
|
||||||
|
@ -571,22 +572,22 @@ func (w *Waku) runPeerExchangeLoop() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
||||||
func (w *Waku) GetPubsubTopic(topic string) string {
|
/* func (w *Waku) GetPubsubTopic(topic string) string {
|
||||||
if topic == "" {
|
if topic == "" {
|
||||||
topic = w.cfg.DefaultShardPubsubTopic
|
topic = w.cfg.DefaultShardPubsubTopic
|
||||||
}
|
}
|
||||||
|
|
||||||
return topic
|
return topic
|
||||||
}
|
} */
|
||||||
|
|
||||||
// CurrentTime returns current time.
|
// CurrentTime returns current time.
|
||||||
func (w *Waku) CurrentTime() time.Time {
|
func (w *Waku) CurrentTime() time.Time {
|
||||||
return w.timesource.Now()
|
return w.timesource.Now()
|
||||||
}
|
}
|
||||||
|
|
||||||
// APIs returns the RPC descriptors the Waku implementation offers
|
/* // APIs returns the RPC descriptors the Waku implementation offers
|
||||||
func (w *Waku) APIs() []rpc.API {
|
func (w *Waku) APIs() []rpc.API {
|
||||||
return []rpc.API{
|
return []rpc.API{
|
||||||
{
|
{
|
||||||
|
@ -596,7 +597,7 @@ func (w *Waku) APIs() []rpc.API {
|
||||||
Public: false,
|
Public: false,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
||||||
// Protocols returns the waku sub-protocols ran by this particular client.
|
// Protocols returns the waku sub-protocols ran by this particular client.
|
||||||
func (w *Waku) Protocols() []p2p.Protocol {
|
func (w *Waku) Protocols() []p2p.Protocol {
|
||||||
|
@ -851,7 +852,7 @@ func (w *Waku) GetSymKey(id string) ([]byte, error) {
|
||||||
|
|
||||||
// Subscribe installs a new message handler used for filtering, decrypting
|
// Subscribe installs a new message handler used for filtering, decrypting
|
||||||
// and subsequent storing of incoming messages.
|
// and subsequent storing of incoming messages.
|
||||||
func (w *Waku) Subscribe(f *common.Filter) (string, error) {
|
/* func (w *Waku) Subscribe(f *common.Filter) (string, error) {
|
||||||
f.PubsubTopic = w.GetPubsubTopic(f.PubsubTopic)
|
f.PubsubTopic = w.GetPubsubTopic(f.PubsubTopic)
|
||||||
id, err := w.filters.Install(f)
|
id, err := w.filters.Install(f)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -878,7 +879,7 @@ func (w *Waku) Unsubscribe(ctx context.Context, id string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
} */
|
||||||
|
|
||||||
// GetFilter returns the filter by id.
|
// GetFilter returns the filter by id.
|
||||||
func (w *Waku) GetFilter(id string) *common.Filter {
|
func (w *Waku) GetFilter(id string) *common.Filter {
|
||||||
|
@ -897,7 +898,7 @@ func (w *Waku) UnsubscribeMany(ids []string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Waku) SkipPublishToTopic(value bool) {
|
/* func (w *Waku) SkipPublishToTopic(value bool) {
|
||||||
w.cfg.SkipPublishToTopic = value
|
w.cfg.SkipPublishToTopic = value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -906,7 +907,7 @@ func (w *Waku) ConfirmMessageDelivered(hashes []gethcommon.Hash) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
w.messageSentCheck.DeleteByMessageIDs(hashes)
|
w.messageSentCheck.DeleteByMessageIDs(hashes)
|
||||||
}
|
} */
|
||||||
|
|
||||||
func (w *Waku) SetStorePeerID(peerID peer.ID) {
|
func (w *Waku) SetStorePeerID(peerID peer.ID) {
|
||||||
if w.messageSentCheck != nil {
|
if w.messageSentCheck != nil {
|
||||||
|
@ -999,10 +1000,10 @@ func (w *Waku) Query(ctx context.Context,
|
||||||
return nil, 0, nil
|
return nil, 0, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnNewEnvelope is an interface from Waku FilterManager API that gets invoked when any new message is received by Filter.
|
/* // OnNewEnvelope is an interface from Waku FilterManager API that gets invoked when any new message is received by Filter.
|
||||||
func (w *Waku) OnNewEnvelope(env *protocol.Envelope) error {
|
func (w *Waku) OnNewEnvelope(env *protocol.Envelope) error {
|
||||||
return w.OnNewEnvelopes(env, common.RelayedMessageType, false)
|
return w.OnNewEnvelopes(env, common.RelayedMessageType, false)
|
||||||
}
|
} */
|
||||||
|
|
||||||
// Start implements node.Service, starting the background data propagation thread
|
// Start implements node.Service, starting the background data propagation thread
|
||||||
// of the Waku protocol.
|
// of the Waku protocol.
|
||||||
|
@ -1188,7 +1189,7 @@ func (w *Waku) checkForConnectionChanges() {
|
||||||
// }()
|
// }()
|
||||||
// }
|
// }
|
||||||
|
|
||||||
func (w *Waku) MessageExists(mh pb.MessageHash) (bool, error) {
|
/* func (w *Waku) MessageExists(mh pb.MessageHash) (bool, error) {
|
||||||
w.poolMu.Lock()
|
w.poolMu.Lock()
|
||||||
defer w.poolMu.Unlock()
|
defer w.poolMu.Unlock()
|
||||||
return w.envelopeCache.Has(gethcommon.Hash(mh)), nil
|
return w.envelopeCache.Has(gethcommon.Hash(mh)), nil
|
||||||
|
@ -1200,9 +1201,9 @@ func (w *Waku) SetTopicsToVerifyForMissingMessages(peerID peer.ID, pubsubTopic s
|
||||||
}
|
}
|
||||||
|
|
||||||
w.missingMsgVerifier.SetCriteriaInterest(peerID, protocol.NewContentFilter(pubsubTopic, contentTopics...))
|
w.missingMsgVerifier.SetCriteriaInterest(peerID, protocol.NewContentFilter(pubsubTopic, contentTopics...))
|
||||||
}
|
} */
|
||||||
|
|
||||||
func (w *Waku) setupRelaySubscriptions() error {
|
/* func (w *Waku) setupRelaySubscriptions() error {
|
||||||
if w.cfg.LightClient {
|
if w.cfg.LightClient {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -1234,9 +1235,9 @@ func (w *Waku) setupRelaySubscriptions() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
} */
|
||||||
|
|
||||||
func (w *Waku) OnNewEnvelopes(envelope *protocol.Envelope, msgType common.MessageType, processImmediately bool) error {
|
/* func (w *Waku) OnNewEnvelopes(envelope *protocol.Envelope, msgType common.MessageType, processImmediately bool) error {
|
||||||
if envelope == nil {
|
if envelope == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -1323,9 +1324,9 @@ func (w *Waku) add(recvMessage *common.ReceivedMessage, processImmediately bool)
|
||||||
// postEvent queues the message for further processing.
|
// postEvent queues the message for further processing.
|
||||||
func (w *Waku) postEvent(envelope *common.ReceivedMessage) {
|
func (w *Waku) postEvent(envelope *common.ReceivedMessage) {
|
||||||
w.msgQueue <- envelope
|
w.msgQueue <- envelope
|
||||||
}
|
} */
|
||||||
|
|
||||||
// processQueueLoop delivers the messages to the watchers during the lifetime of the waku node.
|
/* // processQueueLoop delivers the messages to the watchers during the lifetime of the waku node.
|
||||||
func (w *Waku) processQueueLoop() {
|
func (w *Waku) processQueueLoop() {
|
||||||
if w.ctx == nil {
|
if w.ctx == nil {
|
||||||
return
|
return
|
||||||
|
@ -1379,7 +1380,7 @@ func (w *Waku) processMessage(e *common.ReceivedMessage) {
|
||||||
Hash: e.Hash(),
|
Hash: e.Hash(),
|
||||||
Event: common.EventEnvelopeAvailable,
|
Event: common.EventEnvelopeAvailable,
|
||||||
})
|
})
|
||||||
}
|
} */
|
||||||
|
|
||||||
// GetEnvelope retrieves an envelope from the message queue by its hash.
|
// GetEnvelope retrieves an envelope from the message queue by its hash.
|
||||||
// It returns nil if the envelope can not be found.
|
// It returns nil if the envelope can not be found.
|
||||||
|
@ -1421,7 +1422,7 @@ func (w *Waku) Peers() types.PeerStats {
|
||||||
// return FormatPeerStats(w.node)
|
// return FormatPeerStats(w.node)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Waku) RelayPeersByTopic(topic string) (*types.PeerList, error) {
|
/* func (w *Waku) RelayPeersByTopic(topic string) (*types.PeerList, error) {
|
||||||
if w.cfg.LightClient {
|
if w.cfg.LightClient {
|
||||||
return nil, errors.New("only available in relay mode")
|
return nil, errors.New("only available in relay mode")
|
||||||
}
|
}
|
||||||
|
@ -1483,7 +1484,7 @@ func (w *Waku) RemovePubsubTopicKey(topic string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
return w.protectedTopicStore.Delete(topic)
|
return w.protectedTopicStore.Delete(topic)
|
||||||
}
|
} */
|
||||||
|
|
||||||
func (w *Waku) handleNetworkChangeFromApp(state connection.State) {
|
func (w *Waku) handleNetworkChangeFromApp(state connection.State) {
|
||||||
//If connection state is reported by something other than peerCount becoming 0 e.g from mobile app, disconnect all peers
|
//If connection state is reported by something other than peerCount becoming 0 e.g from mobile app, disconnect all peers
|
||||||
|
@ -1497,7 +1498,7 @@ func (w *Waku) handleNetworkChangeFromApp(state connection.State) {
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Waku) ConnectionChanged(state connection.State) {
|
/* func (w *Waku) ConnectionChanged(state connection.State) {
|
||||||
isOnline := !state.Offline
|
isOnline := !state.Offline
|
||||||
if w.cfg.LightClient {
|
if w.cfg.LightClient {
|
||||||
//TODO: Update this as per https://github.com/waku-org/go-waku/issues/1114
|
//TODO: Update this as per https://github.com/waku-org/go-waku/issues/1114
|
||||||
|
@ -1519,7 +1520,7 @@ func (w *Waku) ConnectionChanged(state connection.State) {
|
||||||
w.onlineChecker.SetOnline(isOnline)
|
w.onlineChecker.SetOnline(isOnline)
|
||||||
}
|
}
|
||||||
w.state = state
|
w.state = state
|
||||||
}
|
} */
|
||||||
|
|
||||||
func (w *Waku) AddStorePeer(address multiaddr.Multiaddr) (peer.ID, error) {
|
func (w *Waku) AddStorePeer(address multiaddr.Multiaddr) (peer.ID, error) {
|
||||||
// peerID, err := w.node.AddPeer(address, wps.Static, w.cfg.DefaultShardedPubsubTopics, store.StoreQueryID_v300)
|
// peerID, err := w.node.AddPeer(address, wps.Static, w.cfg.DefaultShardedPubsubTopics, store.StoreQueryID_v300)
|
||||||
|
@ -1667,15 +1668,17 @@ type WakuPubsubTopic = string
|
||||||
type WakuContentTopic = string
|
type WakuContentTopic = string
|
||||||
|
|
||||||
type WakuConfig struct {
|
type WakuConfig struct {
|
||||||
Host string `json:"host,omitempty"`
|
Host string `json:"host,omitempty"`
|
||||||
Port int `json:"port,omitempty"`
|
Port int `json:"port,omitempty"`
|
||||||
NodeKey string `json:"key,omitempty"`
|
NodeKey string `json:"key,omitempty"`
|
||||||
EnableRelay bool `json:"relay"`
|
EnableRelay bool `json:"relay"`
|
||||||
LogLevel string `json:"logLevel"`
|
LogLevel string `json:"logLevel"`
|
||||||
|
DnsDiscovery string `json:"dnsDiscovery,omitempty"`
|
||||||
|
DnsDiscoveryUrl string `json:"dnsDiscoveryUrl,omitempty"`
|
||||||
|
MaxMessageSize string `json:"maxMessageSize,omitempty"`
|
||||||
|
DiscV5BootstrapNodes []string `json:"discv5BootstrapNodes,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
var jamon unsafe.Pointer
|
|
||||||
|
|
||||||
type Waku struct {
|
type Waku struct {
|
||||||
wakuCtx unsafe.Pointer
|
wakuCtx unsafe.Pointer
|
||||||
|
|
||||||
|
@ -1710,7 +1713,8 @@ type Waku struct {
|
||||||
cancel context.CancelFunc
|
cancel context.CancelFunc
|
||||||
wg sync.WaitGroup
|
wg sync.WaitGroup
|
||||||
|
|
||||||
cfg *Config
|
// cfg *Config
|
||||||
|
cfg *WakuConfig
|
||||||
options []node.WakuNodeOption
|
options []node.WakuNodeOption
|
||||||
|
|
||||||
envelopeFeed event.Feed
|
envelopeFeed event.Feed
|
||||||
|
@ -1769,20 +1773,12 @@ func printStackTrace() {
|
||||||
|
|
||||||
func wakuNew(nodeKey *ecdsa.PrivateKey,
|
func wakuNew(nodeKey *ecdsa.PrivateKey,
|
||||||
fleet string,
|
fleet string,
|
||||||
cfg *Config,
|
cfg *WakuConfig,
|
||||||
logger *zap.Logger,
|
logger *zap.Logger,
|
||||||
appDB *sql.DB,
|
appDB *sql.DB,
|
||||||
ts *timesource.NTPTimeSource,
|
ts *timesource.NTPTimeSource,
|
||||||
onHistoricMessagesRequestFailed func([]byte, peer.ID, error), onPeerStats func(types.ConnStatus)) (*Waku, error) {
|
onHistoricMessagesRequestFailed func([]byte, peer.ID, error), onPeerStats func(types.ConnStatus)) (*Waku, error) {
|
||||||
|
|
||||||
nwakuConfig := WakuConfig{
|
|
||||||
Host: cfg.Host,
|
|
||||||
Port: 30303,
|
|
||||||
NodeKey: "11d0dcea28e86f81937a3bd1163473c7fbc0a0db54fd72914849bc47bdf78710",
|
|
||||||
EnableRelay: true,
|
|
||||||
LogLevel: "DEBUG",
|
|
||||||
}
|
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
if logger == nil {
|
if logger == nil {
|
||||||
logger, err = zap.NewDevelopment()
|
logger, err = zap.NewDevelopment()
|
||||||
|
@ -1794,18 +1790,20 @@ func wakuNew(nodeKey *ecdsa.PrivateKey,
|
||||||
ts = timesource.Default()
|
ts = timesource.Default()
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg = setDefaults(cfg)
|
/* cfg = setDefaults(cfg)
|
||||||
if err = cfg.Validate(logger); err != nil {
|
if err = cfg.Validate(logger); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
} */
|
||||||
|
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
|
||||||
jsonConfig, err := json.Marshal(nwakuConfig)
|
jsonConfig, err := json.Marshal(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fmt.Println("-------- CREATING CONFIG, jsonConfig: ", string(jsonConfig))
|
||||||
|
|
||||||
var cJsonConfig = C.CString(string(jsonConfig))
|
var cJsonConfig = C.CString(string(jsonConfig))
|
||||||
var resp = C.allocResp()
|
var resp = C.allocResp()
|
||||||
|
|
||||||
|
@ -1813,7 +1811,6 @@ func wakuNew(nodeKey *ecdsa.PrivateKey,
|
||||||
defer C.freeResp(resp)
|
defer C.freeResp(resp)
|
||||||
|
|
||||||
wakuCtx := C.cGoWakuNew(cJsonConfig, resp)
|
wakuCtx := C.cGoWakuNew(cJsonConfig, resp)
|
||||||
jamon = wakuCtx
|
|
||||||
// Notice that the events for self node are handled by the 'MyEventCallback' method
|
// Notice that the events for self node are handled by the 'MyEventCallback' method
|
||||||
|
|
||||||
if C.getRet(resp) == C.RET_OK {
|
if C.getRet(resp) == C.RET_OK {
|
||||||
|
@ -1841,7 +1838,7 @@ func wakuNew(nodeKey *ecdsa.PrivateKey,
|
||||||
onHistoricMessagesRequestFailed: onHistoricMessagesRequestFailed,
|
onHistoricMessagesRequestFailed: onHistoricMessagesRequestFailed,
|
||||||
onPeerStats: onPeerStats,
|
onPeerStats: onPeerStats,
|
||||||
onlineChecker: onlinechecker.NewDefaultOnlineChecker(false).(*onlinechecker.DefaultOnlineChecker),
|
onlineChecker: onlinechecker.NewDefaultOnlineChecker(false).(*onlinechecker.DefaultOnlineChecker),
|
||||||
sendQueue: publish.NewMessageQueue(1000, cfg.UseThrottledPublish),
|
//sendQueue: publish.NewMessageQueue(1000, cfg.UseThrottledPublish),
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2386,14 +2383,14 @@ func (self *Waku) GetPeerIdsByProtocol(protocol string) (peer.IDSlice, error) {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// MaxMessageSize returns the maximum accepted message size.
|
// MaxMessageSize returns the maximum accepted message size.
|
||||||
func (w *Waku) MaxMessageSize() uint32 {
|
/* func (w *Waku) MaxMessageSize() uint32 {
|
||||||
return w.cfg.MaxMessageSize
|
return w.cfg.MaxMessageSize
|
||||||
}
|
} */
|
||||||
|
|
||||||
// New creates a WakuV2 client ready to communicate through the LibP2P network.
|
// New creates a WakuV2 client ready to communicate through the LibP2P network.
|
||||||
func New(nodeKey *ecdsa.PrivateKey,
|
func New(nodeKey *ecdsa.PrivateKey,
|
||||||
fleet string,
|
fleet string,
|
||||||
cfg *Config,
|
cfg *WakuConfig,
|
||||||
logger *zap.Logger,
|
logger *zap.Logger,
|
||||||
appDB *sql.DB,
|
appDB *sql.DB,
|
||||||
ts *timesource.NTPTimeSource,
|
ts *timesource.NTPTimeSource,
|
||||||
|
|
|
@ -5,11 +5,8 @@ package wakuv2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"crypto/rand"
|
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/big"
|
|
||||||
"os"
|
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -21,16 +18,8 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/p2p/enode"
|
"github.com/ethereum/go-ethereum/p2p/enode"
|
||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"golang.org/x/exp/maps"
|
|
||||||
"google.golang.org/protobuf/proto"
|
|
||||||
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/dnsdisc"
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/protocol"
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/protocol/pb"
|
|
||||||
"github.com/waku-org/go-waku/waku/v2/protocol/store"
|
|
||||||
|
|
||||||
"github.com/status-im/status-go/protocol/tt"
|
"github.com/status-im/status-go/protocol/tt"
|
||||||
"github.com/status-im/status-go/wakuv2/common"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var testStoreENRBootstrap = "enrtree://AI4W5N5IFEUIHF5LESUAOSMV6TKWF2MB6GU2YK7PU4TYUGUNOCEPW@store.staging.status.nodes.status.im"
|
var testStoreENRBootstrap = "enrtree://AI4W5N5IFEUIHF5LESUAOSMV6TKWF2MB6GU2YK7PU4TYUGUNOCEPW@store.staging.status.nodes.status.im"
|
||||||
|
@ -174,7 +163,7 @@ func TestBasicWakuV2(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
fmt.Println("---------- GABRIEL 2 ----------")
|
fmt.Println("---------- GABRIEL 2 ----------")
|
||||||
|
|
||||||
// Creating a fake DNS Discovery ENRTree
|
/* // Creating a fake DNS Discovery ENRTree
|
||||||
tree, url := makeTestTree("n", parseNodes([]string{nwakuInfo.EnrUri}), nil)
|
tree, url := makeTestTree("n", parseNodes([]string{nwakuInfo.EnrUri}), nil)
|
||||||
fmt.Println("---------- GABRIEL 3 ----------")
|
fmt.Println("---------- GABRIEL 3 ----------")
|
||||||
enrTreeAddress := url
|
enrTreeAddress := url
|
||||||
|
@ -184,14 +173,27 @@ func TestBasicWakuV2(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println("---------- GABRIEL 4 ----------")
|
fmt.Println("---------- GABRIEL 4 ----------")
|
||||||
config := &Config{}
|
fmt.Println("---------- enrTreeAddress: ", enrTreeAddress) */
|
||||||
|
|
||||||
|
// Instead of the Config type, use WakuConfig
|
||||||
|
/* config := &Config{}
|
||||||
setDefaultConfig(config, false)
|
setDefaultConfig(config, false)
|
||||||
config.Port = 0
|
config.Port = 0
|
||||||
config.Resolver = mapResolver(tree.ToTXT("n"))
|
config.Resolver = mapResolver(tree.ToTXT("n"))
|
||||||
config.DiscV5BootstrapNodes = []string{enrTreeAddress}
|
config.DiscV5BootstrapNodes = []string{enrTreeAddress}
|
||||||
config.DiscoveryLimit = 20
|
config.DiscoveryLimit = 20
|
||||||
config.WakuNodes = []string{enrTreeAddress}
|
config.WakuNodes = []string{enrTreeAddress} */
|
||||||
w, err := New(nil, "", config, nil, nil, nil, nil, nil)
|
|
||||||
|
nwakuConfig := WakuConfig{
|
||||||
|
// Host: cfg.Host,
|
||||||
|
Port: 30303,
|
||||||
|
NodeKey: "11d0dcea28e86f81937a3bd1163473c7fbc0a0db54fd72914849bc47bdf78710",
|
||||||
|
EnableRelay: true,
|
||||||
|
LogLevel: "DEBUG",
|
||||||
|
DiscV5BootstrapNodes: []string{nwakuInfo.EnrUri},
|
||||||
|
}
|
||||||
|
|
||||||
|
w, err := New(nil, "", &nwakuConfig, nil, nil, nil, nil, nil)
|
||||||
fmt.Println("---------- GABRIEL 5 ----------")
|
fmt.Println("---------- GABRIEL 5 ----------")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NoError(t, w.Start())
|
require.NoError(t, w.Start())
|
||||||
|
@ -203,6 +205,7 @@ func TestBasicWakuV2(t *testing.T) {
|
||||||
|
|
||||||
fmt.Println("---------- GABRIEL 7 ----------")
|
fmt.Println("---------- GABRIEL 7 ----------")
|
||||||
|
|
||||||
|
/*
|
||||||
// DNSDiscovery
|
// DNSDiscovery
|
||||||
ctx, cancel := context.WithTimeout(context.TODO(), 30*time.Second)
|
ctx, cancel := context.WithTimeout(context.TODO(), 30*time.Second)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
@ -212,6 +215,8 @@ func TestBasicWakuV2(t *testing.T) {
|
||||||
discoveredNodes, err := dnsdisc.RetrieveNodes(ctx, enrTreeAddress, dnsdisc.WithResolver(config.Resolver))
|
discoveredNodes, err := dnsdisc.RetrieveNodes(ctx, enrTreeAddress, dnsdisc.WithResolver(config.Resolver))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
fmt.Println("---------- discoveredNodes: ", discoveredNodes)
|
||||||
|
|
||||||
fmt.Println("---------- GABRIEL 9 ----------")
|
fmt.Println("---------- GABRIEL 9 ----------")
|
||||||
// Peer used for retrieving history
|
// Peer used for retrieving history
|
||||||
r, err := rand.Int(rand.Reader, big.NewInt(int64(len(discoveredNodes))))
|
r, err := rand.Int(rand.Reader, big.NewInt(int64(len(discoveredNodes))))
|
||||||
|
@ -219,6 +224,11 @@ func TestBasicWakuV2(t *testing.T) {
|
||||||
|
|
||||||
storeNode := discoveredNodes[int(r.Int64())]
|
storeNode := discoveredNodes[int(r.Int64())]
|
||||||
|
|
||||||
|
fmt.Println("---------- storeNode: ", storeNode)
|
||||||
|
*/
|
||||||
|
|
||||||
|
// storeNode := discoveredNodes[int(r.Int64())]
|
||||||
|
|
||||||
fmt.Println("---------- GABRIEL 10 ----------")
|
fmt.Println("---------- GABRIEL 10 ----------")
|
||||||
options := func(b *backoff.ExponentialBackOff) {
|
options := func(b *backoff.ExponentialBackOff) {
|
||||||
b.MaxElapsedTime = 30 * time.Second
|
b.MaxElapsedTime = 30 * time.Second
|
||||||
|
@ -236,7 +246,7 @@ func TestBasicWakuV2(t *testing.T) {
|
||||||
|
|
||||||
fmt.Println("---------- GABRIEL 12 ----------")
|
fmt.Println("---------- GABRIEL 12 ----------")
|
||||||
|
|
||||||
// Dropping Peer
|
/* // Dropping Peer
|
||||||
err = w.DropPeer(storeNode.PeerID)
|
err = w.DropPeer(storeNode.PeerID)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
@ -309,7 +319,7 @@ func TestBasicWakuV2(t *testing.T) {
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}, options)
|
}, options)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err) */
|
||||||
|
|
||||||
require.NoError(t, w.Stop())
|
require.NoError(t, w.Stop())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue