mirror of
https://github.com/status-im/status-console-client.git
synced 2025-02-24 16:48:09 +00:00
58 lines
1.0 KiB
Go
58 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
|
|
"github.com/status-im/status-console-client/protocol/adapters"
|
|
)
|
|
|
|
var (
|
|
publicTopic = flag.String("topic-public", "", "print public topic")
|
|
privateTopic = flag.Bool("topic-private", false, "print private topic")
|
|
output = flag.String("o", "hex", "output format (hex, text, go)")
|
|
)
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
|
|
log.Println("flags:", *publicTopic, *privateTopic, *output)
|
|
|
|
if *publicTopic != "" {
|
|
topic, err := adapters.PublicChatTopic(*publicTopic)
|
|
exitErr(err)
|
|
|
|
printOutput(topic)
|
|
} else if *privateTopic {
|
|
topic, err := adapters.PrivateChatTopic()
|
|
exitErr(err)
|
|
|
|
printOutput(topic)
|
|
}
|
|
}
|
|
|
|
func printOutput(data interface{}) {
|
|
var err error
|
|
|
|
if *output == "hex" {
|
|
_, err = fmt.Fprintf(os.Stdout, "0x%x\n", data)
|
|
} else if *output == "text" {
|
|
_, err = fmt.Fprintf(os.Stdout, "%s\n", data)
|
|
} else {
|
|
_, err = fmt.Fprintf(os.Stdout, "%+v\n", data)
|
|
}
|
|
|
|
exitErr(err)
|
|
}
|
|
|
|
func exitErr(err error) {
|
|
if err == nil {
|
|
return
|
|
}
|
|
|
|
fmt.Println(err)
|
|
os.Exit(1)
|
|
}
|