diff --git a/Makefile b/Makefile index e2e7b86..3ba4ebe 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ else # "variables.mk" was included. Business as usual until the end of this file .PHONY: all update clean # default target, because it's the first one that doesn't start with '.' -all: | waku_example tui bot_echo pingpong +all: | bot_echo pingpong test_file := $(word 2,$(MAKECMDGOALS)) define test_name @@ -81,12 +81,6 @@ tests: | build-waku-librln build-waku-nat nim_chat_poc.nims ########## ## Example ## ########## -.PHONY: waku_example - -waku_example: | build-waku-librln build-waku-nat nim_chat_poc.nims - echo -e $(BUILD_MSG) "build/$@" && \ - \ - $(ENV_SCRIPT) nim waku_example $(NIM_PARAMS) nim_chat_poc.nims # Ensure there is a nimble task with a name that matches the target tui bot_echo pingpong: | build-waku-librln build-waku-nat nim_chat_poc.nims diff --git a/examples/bot_echo.nim b/examples/bot_echo.nim index c3eb755..fa59987 100644 --- a/examples/bot_echo.nim +++ b/examples/bot_echo.nim @@ -3,26 +3,23 @@ import chronicles import chronos -import chat_sdk +import chat import content_types -import ./tui/persistence # Temporary Workaround for PeerDiscovery - proc main() {.async.} = - let cfg = await getCfg("EchoBot") let dsConfig = DefaultConfig() let ident = createIdentity("EchoBot") var chatClient = newClient(dsConfig, ident) chatClient.onNewMessage(proc(convo: Conversation, msg: ReceivedMessage) {.async.} = info "New Message: ", convoId = convo.id(), msg= msg - discard await convo.sendMessage(chatClient.ds, msg.content) + discard await convo.sendMessage(msg.content) ) chatClient.onNewConversation(proc(convo: Conversation) {.async.} = info "New Conversation Initiated: ", convoId = convo.id() - discard await convo.sendMessage(chatClient.ds, initTextFrame("Hello!").toContentFrame()) + discard await convo.sendMessage(initTextFrame("Hello!").toContentFrame().encode()) ) await chatClient.start() diff --git a/examples/waku_example.nim b/examples/waku_example.nim deleted file mode 100644 index 4f79546..0000000 --- a/examples/waku_example.nim +++ /dev/null @@ -1,66 +0,0 @@ -import - std/[options, strutils, sequtils, net], - chronicles, - chronos, - metrics, - system/ansi_c, - libp2p/crypto/crypto -import waku as waku_module - -logScope: - topics = "waku example main" - -const git_version* {.strdefine.} = "n/a" - -proc mm() {.async.} = - await sleepAsync(1000) - echo "Hello, world!" - -when isMainModule: - const versionString = "version / git commit hash: " & waku.git_version - - var wakuNodeConf = WakuNodeConf.load(version = versionString).valueOr: - error "failure while loading the configuration", error = error - quit(QuitFailure) - - ## Also called within Waku.new. The call to startRestServerEssentials needs the following line - logging.setupLog(wakuNodeConf.logLevel, wakuNodeConf.logFormat) - - let conf = wakuNodeConf.toWakuConf().valueOr: - error "Waku configuration failed", error = error - quit(QuitFailure) - - var waku = (waitFor Waku.new(conf)).valueOr: - error "Waku initialization failed", error = error - quit(QuitFailure) - - (waitFor startWaku(addr waku)).isOkOr: - error "Starting waku failed", error = error - quit(QuitFailure) - - debug "Setting up shutdown hooks" - proc asyncStopper(waku: Waku) {.async: (raises: [Exception]).} = - await waku.stop() - quit(QuitSuccess) - - # Handle Ctrl-C SIGINT - proc handleCtrlC() {.noconv.} = - when defined(windows): - # workaround for https://github.com/nim-lang/Nim/issues/4057 - setupForeignThreadGc() - notice "Shutting down after receiving SIGINT" - asyncSpawn asyncStopper(waku) - - setControlCHook(handleCtrlC) - - # Handle SIGTERM - when defined(posix): - proc handleSigterm(signal: cint) {.noconv.} = - notice "Shutting down after receiving SIGTERM" - asyncSpawn asyncStopper(waku) - - c_signal(ansi_c.SIGTERM, handleSigterm) - - info "Node setup complete" - - runForever() diff --git a/src/chat.nim b/src/chat.nim index 398e3fe..754d8da 100644 --- a/src/chat.nim +++ b/src/chat.nim @@ -14,3 +14,4 @@ export client, conversations, identity, links, waku_client export MessageId export toHex +export crypto.`$` diff --git a/src/chat/crypto.nim b/src/chat/crypto.nim index 44e5aa3..1aa4cc5 100644 --- a/src/chat/crypto.nim +++ b/src/chat/crypto.nim @@ -7,7 +7,7 @@ import results import utils export PublicKey, PrivateKey, bytes, createRandomKey, loadPrivateKeyFromBytes, loadPublicKeyFromBytes, - getPublicKey, Dh, Result, get_addr + getPublicKey, Dh, Result, get_addr, `$` proc encrypt_plain*[T: EncryptableTypes](frame: T): EncryptedPayload = diff --git a/src/chat/inbox.nim b/src/chat/inbox.nim index 9549ade..7af319a 100644 --- a/src/chat/inbox.nim +++ b/src/chat/inbox.nim @@ -15,8 +15,7 @@ import errors, identity, proto_types, - types, - utils + types logScope: topics = "chat inbox"