2026-06-25 00:40:02 +02:00
|
|
|
import std/strutils
|
|
|
|
|
import chronos, results, ffi
|
|
|
|
|
import logos_delivery, library/declare_lib
|
2025-12-19 17:00:43 +01:00
|
|
|
|
|
|
|
|
proc waku_version(
|
2026-06-23 01:20:09 +02:00
|
|
|
ctx: ptr FFIContext[LogosDelivery], callback: FFICallBack, userData: pointer
|
2025-12-19 17:00:43 +01:00
|
|
|
) {.ffi.} =
|
2026-06-25 00:40:02 +02:00
|
|
|
let v = (await ctx.myLib[].waku.version()).valueOr:
|
|
|
|
|
return err(error)
|
|
|
|
|
return ok(v)
|
2025-12-19 17:00:43 +01:00
|
|
|
|
|
|
|
|
proc waku_listen_addresses(
|
2026-06-23 01:20:09 +02:00
|
|
|
ctx: ptr FFIContext[LogosDelivery], callback: FFICallBack, userData: pointer
|
2025-12-19 17:00:43 +01:00
|
|
|
) {.ffi.} =
|
|
|
|
|
## returns a comma-separated string of the listen addresses
|
2026-06-25 00:40:02 +02:00
|
|
|
let addrs = (await ctx.myLib[].waku.listenAddresses()).valueOr:
|
|
|
|
|
return err(error)
|
|
|
|
|
return ok(addrs.join(","))
|
2025-12-19 17:00:43 +01:00
|
|
|
|
|
|
|
|
proc waku_get_my_enr(
|
2026-06-23 01:20:09 +02:00
|
|
|
ctx: ptr FFIContext[LogosDelivery], callback: FFICallBack, userData: pointer
|
2025-12-19 17:00:43 +01:00
|
|
|
) {.ffi.} =
|
2026-06-25 00:40:02 +02:00
|
|
|
let enrUri = (await ctx.myLib[].waku.myEnr()).valueOr:
|
|
|
|
|
return err(error)
|
|
|
|
|
return ok(enrUri)
|
2025-12-19 17:00:43 +01:00
|
|
|
|
|
|
|
|
proc waku_get_my_peerid(
|
2026-06-23 01:20:09 +02:00
|
|
|
ctx: ptr FFIContext[LogosDelivery], callback: FFICallBack, userData: pointer
|
2025-12-19 17:00:43 +01:00
|
|
|
) {.ffi.} =
|
2026-06-25 00:40:02 +02:00
|
|
|
let peerId = (await ctx.myLib[].waku.myPeerId()).valueOr:
|
|
|
|
|
return err(error)
|
|
|
|
|
return ok(peerId)
|
2025-12-19 17:00:43 +01:00
|
|
|
|
|
|
|
|
proc waku_get_metrics(
|
2026-06-23 01:20:09 +02:00
|
|
|
ctx: ptr FFIContext[LogosDelivery], callback: FFICallBack, userData: pointer
|
2025-12-19 17:00:43 +01:00
|
|
|
) {.ffi.} =
|
2026-06-25 00:40:02 +02:00
|
|
|
let m = (await ctx.myLib[].waku.metrics()).valueOr:
|
|
|
|
|
return err(error)
|
|
|
|
|
return ok(m)
|
2025-12-19 17:00:43 +01:00
|
|
|
|
|
|
|
|
proc waku_is_online(
|
2026-06-23 01:20:09 +02:00
|
|
|
ctx: ptr FFIContext[LogosDelivery], callback: FFICallBack, userData: pointer
|
2025-12-19 17:00:43 +01:00
|
|
|
) {.ffi.} =
|
2026-06-25 00:40:02 +02:00
|
|
|
let online = (await ctx.myLib[].waku.isOnline()).valueOr:
|
|
|
|
|
return err(error)
|
|
|
|
|
return ok($online)
|