status-go/protocol/requests/set_community_shard.go
Ivan Folgueira Bande 940adb99ec
refactor_: start using nwaku
- some minor progress to add nwaku in status-go
- nwaku.go: GetNumConnectedPeers controls when passed pubsub is empty
- waku_test.go: adapt TestWakuV2Store
- add missing shard.go
- feat_: build nwaku with nix and use build tags to choose between go-waku and nwaku (#5896)
- chore_: update nwaku
- nwaku bump (#5911)
- bump: nwaku
- chore: add USE_NWAKU env flag
- fix: build libwaku only if needed
- feat: testing discovery and dialing with nwaku integration (#5940)
2024-10-29 12:18:19 -04:00

31 lines
733 B
Go

package requests
import (
"errors"
"github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/wakuv2"
)
type SetCommunityShard struct {
CommunityID types.HexBytes `json:"communityId"`
Shard *wakuv2.Shard `json:"shard,omitempty"`
PrivateKey *types.HexBytes `json:"privateKey,omitempty"`
}
func (s *SetCommunityShard) Validate() error {
if s == nil {
return errors.New("invalid request")
}
if s.Shard != nil {
// TODO: for now only MainStatusShard(16) is accepted
if s.Shard.Cluster != wakuv2.MainStatusShardCluster {
return errors.New("invalid shard cluster")
}
if s.Shard.Index > 1023 {
return errors.New("invalid shard index. Only 0-1023 is allowed")
}
}
return nil
}