func (c *CrawlerPubSub) BuildMultiSigMessage(multiSigException bool,
	contractAddress string) (*cpubsub.GooglePubSubMsg, error) {
	msg := CrawlerPubSubMessage{
		MultiSigException: multiSigException,
		ContractAddress:   contractAddress,
	}
	msgBytes, err := json.Marshal(msg)
	if err != nil {
		return nil, err
	}
	return &cpubsub.GooglePubSubMsg{Topic: c.Topic, Payload: string(msgBytes)}, nil
}
BuildMultiSigMessage builds a message for the publisher
package pubsub
import (
	"encoding/json"
	cpubsub "github.com/joincivil/go-common/pkg/pubsub"
)
type CrawlerPubSub struct {
	GooglePubsub *cpubsub.GooglePubSub
	Topic        string
}
func NewCrawlerPubSub(projectID string, topic string) (*CrawlerPubSub, error) {
	pubsub, err := cpubsub.NewGooglePubSub(projectID)
	if err != nil {
		return nil, err
	}
	return &CrawlerPubSub{GooglePubsub: pubsub, Topic: topic}, nil
}
type CrawlerPubSubMessage struct {
	NewsroomException bool   `json:"newsroomException"`
	MultiSigException bool   `json:"multiSigException"`
	ContractAddress   string `json:"contractAddress"`
}
func (c *CrawlerPubSub) StartPublishers() error {
	return c.GooglePubsub.StartPublishers()
}
func (c *CrawlerPubSub) StopPublishers() error {
	return c.GooglePubsub.StopPublishers()
}
func (c *CrawlerPubSub) BuildMessage(newsroomException bool,
	contractAddress string) (*cpubsub.GooglePubSubMsg, error) {
	msg := CrawlerPubSubMessage{
		NewsroomException: newsroomException,
		ContractAddress:   contractAddress,
	}
	msgBytes, err := json.Marshal(msg)
	if err != nil {
		return nil, err
	}
	return &cpubsub.GooglePubSubMsg{Topic: c.Topic, Payload: string(msgBytes)}, nil
}