It starts an asynchronous infinite task that checks the connectivity
with the database. In case of error, the postgres_healthcheck task
tries to reconnect for a while, and if it determines that the connection
cannot be resumed, then it invokes a callback indicating that
situation. For the case of the `wakunode2` app, this callback
quits the application itself and adds a log trace indicating
the connectivity issue with the database.
* Refactoring the Waku Archive. Simplifying the app.nim
This change is needed to accommodate the further PRs where we will integrate Postgres in `wakunode2`.
Notice that I had to adapt to use 'rlpx_connected_peers' instead
of 'connected_peers' in 'wakunode1.nim' because due to the update
of the 'vendor/nim-eth', which adds the dependency-break with
'confutils' but also includes another changes.
Aside note: we cannot have 'confutils' dependency in 'nim-eth' because
that will prevent the generation of any waku dynamic library.
* feat(cbindings): first commit - waku relay (#1632)
* test_app.nim: fix compilation issue. App.init(..) -> App.new(..)
* Simplifying library name (libwaku) and standardizing function names (waku_*)
* Proper wrapper of the waku_node API and creation of the libwaku.a
* Rolling back changes that are not needed
* Rolling back changes that are out of the scope of this task
* wakunode.nim: Removing unnecessary import
* Aplying PR suggestions
* Renaming 'waku.h' -> 'libwaku.h'
* Use of 'isNil' instead of '== nil'
* libwaku.nim: explicitly setting waku_poll() as gcsafe
* chore: update submodules
* fix: SIGTERM ambiguity
* fix: ambiguous RNGs
* fix: ContentType is no longer a string
* fix: more fixes related to ambiguous RNGs
* fix: start all protocols
* chore: also update nim-eth
* chore: important new fixes in nim-libp2p
* fix: more changes related to RNG. Some reversion to reflect nim-eth update
* fix: breaking changes in nim-eth submodule
* fix: start protocols in tests
* fix: chat2bridge protocols async mounting
* fix: v1 test compilation
* fix: rln test compilation
* fix: remove confusing keys qualifier for the same HmacDrbgContext
* Refactor timestamps type from float64 to int64 (milliseconds resolution)
* Revert epochs to float64
* Update 00002_addSenderTimeStamp.up.sql
* Update quicksim2.nim
* Add files via upload
* Delete 00003_convertTimestampsToInts.up.sql
* Add files via upload
* Rename 00003_convertTimestampsToInts.up.sql to 00003_addTimestampsToInts.up.sql
* Delete 00003_addTimestampsToInts.up.sql
* Rln-relay integration into chat2 (#835)
* adds ProofMetadata
* adds EPOCH_INTERVAL
* adds messageLog field
* adds updateLog, toEpoch, fromEpoch, getEpoch, compareTo
* adds unit test for toEpoch and fromEpoch
* adds unit test for Epoch comparison
* adds result codes for updateLog
* adds unit test for update log
* renames epoch related consts
* modifies updateLog with new return type and new logic of spam detection
* adds unit text for the modified updateLog
* changes max epoch gap type size
* splits updateLog into two procs isSpam and updateLog
* updates unittests
* fixes a bug, returns false when the message is not spam
* renames messageLog to nullifierLog
* renames isSpam to hasDuplicate
* updates the rln validator, adds comments
* adds appendRLNProof proc plus some code beatification
* unit test for validate message
* adds unhappy test to validateMessage unit test
* renames EPOCH_UNIT_SECONDS
* renames MAX_CLOCK_GAP_SECONDS
* WIP: integration test
* fixes compile errors
* sets a real epoch value
* updates on old unittests
* adds comments to the rln relay tests
* adds more comments
* makes rln import conditional
* adds todos
* adds more todos
* adds rln-relay mount process into chat2
* further todos
* logs contentTopic
* introduces rln relay configs
* changes default pubsub topic
* adds contentTopic config
* imports rln relay dependencies
* consolidates imports
* removes module identifier from ContentTopic
* adds contentTopic field
* adds contentTopic argument to mountRlnRelay calls
* appends rln proof to chat2 messages
* changes the default chat2 contentTopic
* adds missing content topic fields
* fixes a bug
* adds a new logic about empty content topics
* appends proof only when rln flag is active
* removes unnecessary todos
* fixes an indentation issue
* adds log messages
* verifies the proof against the concatenation of msg payload and content topic
* a bug fix
* removes duplicate epoch time calculation
* updates log level to trace
* updates default rln-relay content topic
* adds support for empty content topics
* updates changelog
* changelog updates
* removes a commented code block
* updates addRLNRelayValidator string doc
* Squashed commit of the following:
commit bc36c99ab2
Merge: dc2b29465a77d6e2
Author: G <28568419+s1fr0@users.noreply.github.com>
Date: Sat Feb 5 01:10:06 2022 +0100
Merge branch 'master' into int64-timestamps-ns
commit dc2b294667
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Sat Feb 5 00:24:45 2022 +0100
Fix
commit f97b95a036
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Sat Feb 5 00:13:18 2022 +0100
Missing import
commit 060c4f8d64
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Sat Feb 5 00:10:36 2022 +0100
Fixed typo
commit 08ca99b6f6
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Fri Feb 4 23:59:20 2022 +0100
Time util file
commit 2b5c360746
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Fri Feb 4 23:33:20 2022 +0100
Moved time utility functions to utils/time
commit fdaf121f08
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Fri Feb 4 23:10:25 2022 +0100
Fix comment
commit c7e06ab4e7
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Fri Feb 4 23:04:13 2022 +0100
Restore previous migration script
commit 80282db1d7
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Fri Feb 4 22:54:15 2022 +0100
Typo
commit b9d67f89b0
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Fri Feb 4 22:49:29 2022 +0100
Added utilities to get int64 nanosecond, microsecond, millisecond time resolution from float
commit 0130d496e6
Author: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Date: Fri Feb 4 22:36:35 2022 +0100
Switched to nanoseconds support.
* Update CHANGELOG.md
* Create 00003_convertTimestampsToInt64.up.sql
Migration script
* Moved migration script to right location
* Update waku_rln_relay_utils.nim
* Update waku_rln_relay_utils.nim
* Addressed reviewers' comments
* Update default fleet metrics dashboard (#844)
* Fix
* No need for float
* Aligning master to changes in PR
* Further fixes
Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>