* 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>
* 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
* WIP
* removes duplicate epoch time calculation
* converts echo to log
* invokes handler
* bug fix
* prints calculated epoch
* changes the format of printed epoch
* updates log levels
* logs the input buffer supplied to the generate_proof
* replaces echos with logs
* changes log level to trace
* resets the log level of chat2 to INFO
* upgrades log level to debug
* exports toRLNSignal and adds a doc string
* updates log level
* enables all test2
* removes an echo statement
* modifies a comment
* further updates on the log level
* a minor update
* invokes the spam handler when provided
* checks for payload version
* deletes a redundant check
* deletes a rendant check
* updates default rln-relay cht2 content topic
* adds a todo and log
* changes the case of testnet content topic
* removes a flaky check
* 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
* compiles RLN if CI is defined
* minor ineffective change
* minor
* removes excess space
* resolves namespace conflicts
* moves pubsub import under compiler flag
* disables rln on-chain tests
* brings back the on-chain tests and fixes a name mismatch
* adds a debug log message
* minor formating
* kills ganache-cli procces on windows
* wip: adds a line to kill ganache-cli on windows
* disables rln-relay tests that depend on ganache-cli
* disables ganache-cli installation
* introduces onchain rln flag
* fixes a flaky test
* enables onchain test in non-windows CIs
* moves variables around
it seems detected_os is undefined, hence the compiler flag onchain_rln, which is conditioned to the os, does not get added
* limits onchain rln to macOS
* Never exceed maxPageSize, even with no specified pagination
* fix test
* Changelog
* Forgot to stage everything...
* Account for timing difference in Windows
* 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 trace log for the valid messages
* brings the log trace one line up
* wip: updates the hash interface
* updates hash unittests
* exposes appendLength
* updates proof gen interface and the unittests
* enables test, fixes proofGen and verify utils and unittest, beautifies the code
* removes int size from mem index type
* enables all the rln tests
* adds documentation of two private procs
* documentation for the appendLength
* minor clean up
* adds clarificaltion on the endianness of input length
* Delete .DS_Store
* WIP
* WIP: fixes a bug
* adds test for static group formation
* adds static group creation when rln-relay is enabled
* adds createStatic group
* wip: adds group formation to mount rlnrelay
* adds createMembershipList utility function
* adds doc strings and todos
* cleans up the code and add comments
* defaults createRLNInstance depth argument to 32
* renames Depth
* distinguishes between onchain and offchain modes
* updates index boundaries
* updates log levels
* updates docstring
* updates log level of displayed membership keys
* relocates a todo
* activates all the tests
* fixes some comments and todos
* extracts some utils procs for better debugging
* adds todo
* moves calculateMerkleRoot and toMembersipKeyPairs to the rln utils
* makes calls to the utils functions
* adds unit test for createMembershipList
* adds unittest for toMembershipKeyPairs and calcMerkleRoot
* cleans up the code and fixes tree root value
* reverts an unwanted change
* minor
* adds comments and cleans up the code
* updates config message
* adds more comments
* fixes a minor value mismatch
* edits the size of group
* minor rewording
* defines a const var for the group keys
* replaces the sequence literal with the StaticGroupKeys const
* adds a rudimentary unittest
* adds todos
* adds more comment
* replaces uint with MembeshipIndex type
* fixes rln relay mem index config message
* adds rln relay setup proc
* decouples relay and rln-relay
* uses MemIndexType instead of uint
* brings back the rlnRelayEnabled flag to mountRlnRelay
* deletes commented codes
* adds rln relay topic validator inside updates rln relay mounting procedure
* adds rln-relay-pubsub-topic cli option
* adds a static rln-relay topic
* deletes rlnrelayEnabled argument
* adds pubsub topic for rln-relay
* deletes static pubsub topic
* mounts relay before rlnrelay in the tests
* logs rln relay pubsub topic
* cleans up the code
* edits rlnrelay setup
* uninitializes the input parameter of rlnrelay setup
* adds comments
* removes unused comments
* compiles addRLNRelayValidtor when RLN compilation flag is set
* adds comment about topic validator
* minor
* mode modifications on the description of add validator
* adds pubsubtopic field to wakuRlnRelay type
* WIP: shaping the test
* Checks whether rln relay pubsub topic is within the supported topics of relay protocol
* minor
* WIP: unit test for actual proof
* fixes a bug
* removes a redundant proc
* refines the test for actual proof
* breaks lines to 80 chars
* defines NonSpamProof type
* adds a return
* defines Epoch type
* WIP: proof gen
* implements actual proof gen
* adds proto enc and init
* adds notes about proof structure
* adds NonSpamProof to wakumessage
* adds proof gen
* WIP: non working tests for protobuf
* fixes the protobuf encoding issue
* discards the output of copyFrom
* WIP: hash unittest and proofVrfy and ProofGen
* integrates proofVrfy
* uses toBuffer inside the hash proc
* adds comment
* fixes a bug
* removes proof field initialization
* cleans up the test
* generalizes input from byte seq to byte openArray
* adds toBuffer
* adds a bad test
* cleans up unused tests
* adds integration test
* adds comments
* cleans up
* adds description to the integration test
* adds test for unhappy path
* tides up the tests
* tides up hash unit test
* renames a few var
* uses a const for wku rln relay pubsub topic
* minor refinement
* deletes an obsolete comment
* comment revision
* adds comments
* cleans up and adds docstrings
* profGen returns proofRes instead of proof
* removes extra sleepAsync
* fixes two bugs
* returns reject when proof is not verified\
* addresses comments
* adds comments
* links to rln doc
* more comments
* fixes space format
* uncomments v2 tests
* dnsclient branch update
* undo branch update
* minor spacing fix
* makes proof field conditional
* adds instructions on how to generate parameters for a different tree size
* updates the depth of tree
* modifies the Merkle root
* updates parameters for the new tree size
* fixes failing tests
* updates the comment
* replaces uint with MembeshipIndex type
* fixes rln relay mem index config message
* adds rln relay setup proc
* decouples relay and rln-relay
* uses MemIndexType instead of uint
* brings back the rlnRelayEnabled flag to mountRlnRelay
* deletes commented codes
* adds rln relay topic validator inside updates rln relay mounting procedure
* adds rln-relay-pubsub-topic cli option
* adds a static rln-relay topic
* deletes rlnrelayEnabled argument
* adds pubsub topic for rln-relay
* deletes static pubsub topic
* mounts relay before rlnrelay in the tests
* logs rln relay pubsub topic
* cleans up the code
* edits rlnrelay setup
* uninitializes the input parameter of rlnrelay setup
* adds comments
* removes unused comments
* compiles addRLNRelayValidtor when RLN compilation flag is set
* adds comment about topic validator
* minor
* mode modifications on the description of add validator
* Checks whether rln relay pubsub topic is within the supported topics of relay protocol
* minor
* addresses comments
membeshipindex to membershipindex,
adds default value for rln topic
adds missing return
* WIP
* WIP: fixes a bug
* adds test for static group formation
* adds static group creation when rln-relay is enabled
* adds createStatic group
* wip: adds group formation to mount rlnrelay
* adds createMembershipList utility function
* adds doc strings and todos
* cleans up the code and add comments
* defaults createRLNInstance depth argument to 32
* renames Depth
* distinguishes between onchain and offchain modes
* updates index boundaries
* updates log levels
* updates docstring
* updates log level of displayed membership keys
* relocates a todo
* activates all the tests
* fixes some comments and todos
* extracts some utils procs for better debugging
* adds todo
* moves calculateMerkleRoot and toMembersipKeyPairs to the rln utils
* makes calls to the utils functions
* adds unit test for createMembershipList
* adds unittest for toMembershipKeyPairs and calcMerkleRoot
* cleans up the code and fixes tree root value
* reverts an unwanted change
* minor
* adds comments and cleans up the code
* updates config message
* adds more comments
* fixes a minor value mismatch
* edits the size of group
* minor rewording
* defines a const var for the group keys
* replaces the sequence literal with the StaticGroupKeys const
* converts var to let when applicable
* replaces hardcoded value with well-defined constants
* moves createMembershipList to the rln relay utils module
* renames HashSize to HashHexSize
* minor updates on the comments
* reorganizes the consts
* indicates that rlnRelayMemIndex is an experimental option
* fixes a type conversion bug
* revises the unittest of "mount waku rln-relay off-chain"
* clarifies the use of index
* updates a docstring
* removes redundant constants and capitalize all of them
* deletes the ETH_CLIENT const from the test file
* renames a few vars for the sake of clarity
* reorganizes unittest into blocks of execution, debug messages, and checks
* adds more comments
* more comments and clarifications
* cleans up the tests
* minor
* adds a minor fix
* replaces a var usage with let
* fixes a bug
* tests rln instance as pointer
* test insertion
* tests deletion
* tests proof generation and verification
* updates rln instance type and the rln api
* deletes old API
* removes temporary tests
* deletes unused codes
* Delete settings.json
* reverts the changes in tests v2
* removes an old comment
* adds member insertion and deletion
* adds getMerkleRoot and unit tests
* makes insertMember argument a value type
* adds static group creation
* adds rln field to WakuRLNRelay type, and enables static group construction inside mountRlnRelay
* renames self to membershipKeyPair and removes key generation from mountRlnRelay
* renames sk,pk tp idKey and idCommitment
* updates mountRlnRelay arguments name
* logs created keys
* uncomments the key generation and adds explainer about it
* enables all the tests
* adds comments to the rln relay types
* logs error message for the arguments that are not set
* tests rln instance as pointer
* test insertion
* tests deletion
* tests proof generation and verification
* updates rln instance type and the rln api
* deletes old API
* removes temporary tests
* deletes unused codes
* Delete settings.json
* reverts the changes in tests v2
* removes an old comment
* initial simplification
* simplify forward pagination
* simplifies the backward pagination part
* removes old paginate proc
* revises comments, cleans up the code
* comments on initial paging query
* defines temporary variable for the paginate output
* adds timestamp to WakuRelayMessage
* converts float to float64
* generates timestamp using epochTime()
* tides up imports and generates timestamps using epochTime()
* updates changelog
* adds timestamp to the post_waku_v2_relay_v1_message query parameters
* Move Whisper type and protocol from nim-eth
- Import whisper_protocol and whisper_types
- Change import locations as appropriate
* Explicit errors in wakunode1
* cleans up store modules
* removes endians2 as an unused imports
* reorganizes imports
* fixes an ambiguous import
* adds comments re imports order
* adds message_store
* adds error field to history response
* unittest for protobuf enc/dec
* renames HistoryResponseError to Store Error and simplifies pagination logic
* reverts the naming of StoreError to HistoryResponseError
* fixes a unittest for invalid cursor
* renames OK to NONE
* enables pagination based on sender timestamp
* uncomments a test
* bumps up version number
* updates migration script
* clean up
* unpdates changelog
* undo removal of receiver timestamp
* updates message_storage
* uses epochTime()
* minor
* removes a comment
* removes receiver timestamp deletion migration script
* fixes formatting issues
* fixes a bad field name
* fixes field issue
* adjusts spacing
* adds queryFromWithPaging
* adds unit test for paged queryFrom
* adds a new resume with paging capability
* unittest for resumePaging
* fixes the bug
* implementes a second version of query with paging
* integrates the second version of resume
* clean up
* adds the error message
* fixes a format issue
* renames variables
* defines DefaultPageSize
* adds a todo
* updates a docstring
* gets the pagesize as proc input
* updates unittest description
* removes unused gcsafe pragma
* better var naming
* updates changelog
* updates changelog
* updates the TODO
* more debug logs
* moves migration paths to the migration_types module
* moves USER_VERSION to the migration_types module
* updates migration execution condition to cover the peer store
* adds a message to the store if it is inserted to the db
* adds debug messages and checks migration path recursively
* deletes unused debug messages
* deletes commented codes
* clean up
* fixes a bug
* renames the first migration file of the message store
* Add function for getting peer Id
* Modify Handle Cheque and Send Cheque function
* Include PeerInfo in debit and credit functions
* Minor changes to queryWithAccounting function
* adds timestamp to waku message store impl
* stores timestamp as int64
* adds untitest
* stores timestamp as seq of bytes
* minor
* re-orders unittest
* changes receiver timestamp to float64
* unit test for receiver timestamps
* adds comments
* reorder a few lines
* updates changelog
* more updates on changelog
* WIP: deduplicate
* add debug messages
* more debugging logs
* add timestamp to the message store
* converts resume result to uint64, removes some logs
* docstring for isDuplicate
* increments `added` before insertion into the db
* unit test for deduplication
* removes float to/from Bytes procs
* deletes extra spaces
* returns failed instead of the error
* minor
* minor
* adds changelog
In the `when isMainModule:` section of wakunode2.nim, the module
`./storage/message/waku_message_store` is imported, which in turn imports
waku's sqlite module and also the sqlite3_abi module from `vendor/`.
Outside of the `when isMainModule:` section, imports from waku's sqlite module
are not used in wakunode2. However, importing it at the top-level results in
the C code underlying sqlite3_abi to be compiled into whatever executable one
is building, and this is a problem if nim-waku is being consumed together with
another library, e.g. nim-sqlcipher, which links against a different build of
sqlite (sqlcipher being a superset of sqlite). The linker step fails with
reports of duplicate symbols for sqlite.
* adds timestamp to waku message store impl
* stores timestamp as int64
* adds untitest
* stores timestamp as seq of bytes
* minor
* re-orders unittest
* changes receiver timestamp to float64
* unit test for receiver timestamps
* adds comments
* reorder a few lines
* updates changelog
* more updates on changelog
* WIP
* WIP
* adds migration
* more debug messages
* passes the path to the migration scripts from message store module
* adds migration result type
* replaces migrationScripts with migrationScriptsResult
* adds path calculation to the message store
* removes some tests binary file
* removes redundant imports
* comments out user_version assignment in sqlite init
* more descriptive err messages
* clean up test file
* more info logs
* minor code format
* removes a todo
* minor updates
* remove a binary file
* unit tests for migration utils
* adds split script
* integrates split query to handle scripts with multiple commands
* updates migration script for v1
* updates the v1 migration script
* update user version
* updates script
* fixes a few bugs on the splitScript
* more debug logs
* adds float64 parameter support to sqlite3
* change in timestamp type in the script
* deletes float64 toBytes utils
* enables storage of timestamp as a real number in the sqlite db
* bump up script index
* comment edits
* removes migrate unit test
* adds todo and docstring
* updates changelog
* removes an unused item in .gitignore
* minor
* updates changelog
* organizes imports
* cleans up imports
* WIP
* updates script
fixes a few bugs on the splitScript
more debug logs
adds float64 parameter support to sqlite3
change in timestamp type in the script
deletes float64 toBytes utils
* edits migration util test
* remove an empty test file
* includes migration utils tests in
* deletes unused codes
* tides up imports
* adds range based filter to the filterMigrationScripts
* renames procs: removes Migration
* tides up imports
* edits docstring
* edits docstring
* edits docstring
* removes unused imports
* more clean up
* groups std imports
* updates changelog
* adds docstring for setUserVersion
* adds unittest for the migrate
* Update waku/v2/node/storage/message/waku_message_store.nim
Co-authored-by: RichΛrd <info@richardramos.me>
* Update waku/v2/node/storage/sqlite.nim
Co-authored-by: RichΛrd <info@richardramos.me>
* Update waku/v2/node/storage/sqlite.nim
Co-authored-by: RichΛrd <info@richardramos.me>
* removes split scripts
* fixes a naming issue
* fixes a bug
* fixes a typo
* adds a log re updated user_version
* fixes a proc naming mismatch
* fixes naming mismatch
* more descriptive var names
* adds migration script of the first user version
* moves migration to after persistMessages flag is checked
* deletes unused comment
* fixes a bug
* brings back split script
* adds unit tests for split scripts
* runs scripts one command at a time
* deletes a commented line
* relocates the migrate proc to sqlite.nim
* adds unit test for filter scripts
* adds filterScripts unittest testing varying zero-prefixed user versions
* minor
Co-authored-by: RichΛrd <info@richardramos.me>
* Add mode to waku swap
* Modify swap test and policy function
* Make rln optional (dependencies and compilation) (#602)
* makes rlnlib target optional
* makes the rln-related targets conditioned to the RLN command line flag
* adds the rln compiler flag condition
* adds the rln compiler flag condition to the rln module
* wakunode2 rln conditional compilation
* updates wakunode2 test
* updates waku rln relay tests
* removing the rln test from the default imports of the v2 tests
* imports rln module conditionally
* removes the rln flag condition from the rln module
* separates rln data types from its procs
* adds the import statement
* brings back the contract def to the rln utils
* adds rln module import to the rln unit tests
* clean up and reorganization
* adds a todo
* minor edits on a comment
* Fix indentation and typo
* Add Swap Config Object and set default config value on mount
* Minor changes
* Fix issues with grammar in code comment
* Create init procedure for setting default values in SwapConfig
* Minor changes to mountSwap call in wakunode2
* Improve Docs on Swap Mode
Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
* makes rlnlib target optional
* makes the rln-related targets conditioned to the RLN command line flag
* adds the rln compiler flag condition
* adds the rln compiler flag condition to the rln module
* wakunode2 rln conditional compilation
* updates wakunode2 test
* updates waku rln relay tests
* removing the rln test from the default imports of the v2 tests
* imports rln module conditionally
* removes the rln flag condition from the rln module
* separates rln data types from its procs
* adds the import statement
* brings back the contract def to the rln utils
* adds rln module import to the rln unit tests
* clean up and reorganization
* adds a todo
* minor edits on a comment
* Fix gcsafe issues with log account metrics function
Signed-off-by: kripsonud <kripsonud@gmail.com>
* Change Line ending to LF
* Minor changes to waku_swap
* Mount keepalive on chat2bridge and bridge (#591)
* Light push beta bump (#590)
Closes https://github.com/status-im/nim-waku/issues/565
* Filter and lightpush showcase (#593)
* Filter and lightpush showcase
* Fix log error
* Add swap account panel to grafana dashboard template
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* moves resume to after the relay is mounted
* Update waku/v2/node/wakunode2.nim
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
* activates resume
* adds unit test
* add store condition
* mode debug info
* updates wakunode resume api and its unittest
* adds todo
* adds documentation
* edits resume documentation
* further edits on the docs
* removes a todo
* fixes a bug
* add resume to waku node api
* further updates on the node.md
* updates the changelog
* minor
* removes return type
* adds a brief desc of the resume to node.md
* Enable Swap by default
* Add PeerId and amount to Logs
* Add Policy function in swap protocol
* Modified Changelog to reflect changes to swap config
* Commented out test for updating account state after a cheque has been sent
* adds an optional list of peers to the resume proc
WIP working
adds unit tests
* cleans up and adds comments
* adds unittest for queryFrom
* converts queryLoop to a private func
* elaborates on the peer selection of the resume proc
* minor format correction
* returns the status of the resume call as a Result object
* updates unittest based on the new return type
* defines QueryResult type
* adds resume function
* unittest for findLastSeen
* fixes a bug in find last seen unit test
* argument type change to indexed waku message
* relocates findLastSeen
* adds unit test for resume
* adds comments
* adds a TODO
* adds offset
* cleans up
* modifies some of tests title and deletes a duplicate unit test
* more condition on running resume()
* adds more detailed docstring and simplifies if statement
* Update waku/v2/protocol/waku_store/waku_store.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* new doc string
* Update waku/v2/protocol/waku_store/waku_store.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* fixes a bug
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Fix nim-waku config inconsistencies
* Revert staticnode to singular form
* Fix reference to deprecated config item
* Revert nodekey config item to be consistent with Waku v1
* WIP
* stores version in db, edits error messages
* fixes a bug
* reverts edit messages
* converts uint32 storage to int64
* unit tests for various version numbers
* minor comments edit
* removes debugging messages
* updates changelog
made resulting changes to waku_filter
Made changes to wakunode2, filter_api and waku_filter
Update waku v2 test scripts referencing Content Topics
Update ContentFilter in chat example
Remove unneccesary loops from filter api
closes#496
Apply keep-alive for chat2 (#525)
Makes the arguments of the store jsonrpc api optional (#526)
* makes pubsubTopic filter optional
* makes contentFilter optional
* append Option
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Update Changelog with changes to ContentFilter
Fix indentation and code semantics
Enables perssist-message flag in the store protocol for wakunode2 (#519)
* enables perssistmessage flag
* disables in memory storage when persist-messages is false
* adds the persistMessages input to the mountStore
* defaults the store flag to true
* adds the missing argument
* persists messages in memory conditioned to the persistMessages flag
* adds persistmessages flag to the config_bridge
* defaults persistmessages to true
* defaults the store flag to true and persist-messages to false
* updates store.md
* updates chat2 instructions about --store flag
* removes --store flag from chat2 command execution
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Fix: light-mode relay for all light protocols (#529)
* Fix: light-mode relay for all light protocols
* Clear up confusing use of overloaded concepts
Fix ContentFilter Schema in wakunode test script
Enables perssist-message flag in the store protocol for wakunode2 (#519)
* enables perssistmessage flag
* disables in memory storage when persist-messages is false
* adds the persistMessages input to the mountStore
* defaults the store flag to true
* adds the missing argument
* persists messages in memory conditioned to the persistMessages flag
* adds persistmessages flag to the config_bridge
* defaults persistmessages to true
* defaults the store flag to true and persist-messages to false
* updates store.md
* updates chat2 instructions about --store flag
* removes --store flag from chat2 command execution
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Fix: light-mode relay for all light protocols (#529)
* Fix: light-mode relay for all light protocols
* Clear up confusing use of overloaded concepts
Fix resulting issues after merge
* enables perssistmessage flag
* disables in memory storage when persist-messages is false
* adds the persistMessages input to the mountStore
* defaults the store flag to true
* adds the missing argument
* persists messages in memory conditioned to the persistMessages flag
* adds persistmessages flag to the config_bridge
* defaults persistmessages to true
* defaults the store flag to true and persist-messages to false
* updates store.md
* updates chat2 instructions about --store flag
* removes --store flag from chat2 command execution
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* replaces topics with seq of ContentFilters
* update topics to contentFilter
* updates the contentFilter structure
one content topic per content filter instead of a sequence of topics
* updates store json rpc api
* renames ContentFilter to HistoryContentFilter
* unit test for a query with several content filters
* makes shortcut for store api
* updates chat2
* clean up
* renames topic to contentTopic
* adds pubsub topic to the history query
updates message store interface to return the pubsub topic
updates waku message store implementation
updates database schema to hold pubsub topi per waku message
* clarifies the use of content topic in store api
* clarifies the use of contentTopic in the init method of HistoryContentFilter
* simplifies the test and add comments
* lowers the field number of pubsub topic in historyQuery protobuf
* captures an empty contentFilter case
* test pubsub topic filter for the entire history and no message match
* demoves duplicates
* adds TODO
* fix a broken comment line
* updates waku store codec
* swaps the order of pubsub topic and content topic in protobuf
* Update waku/v2/protocol/waku_store/waku_store_types.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* updates the pubsub topic to the default value
* bumps protocol id
* moves the comment close to IndexedWakuMessage
* adds checks to the store put method
* makes table title a constant variable and retitles the table to Message
* updates the changelog
* minor update
* minor
* adds pubsubtopic to the store json rpc api
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* replaces topics with seq of ContentFilters
* update topics to contentFilter
* updates the contentFilter structure
one content topic per content filter instead of a sequence of topics
* updates store json rpc api
* renames ContentFilter to HistoryContentFilter
* unit test for a query with several content filters
* makes shortcut for store api
* updates chat2
* clean up
* renames topic to contentTopic
* adds pubsub topic to the history query
updates message store interface to return the pubsub topic
updates waku message store implementation
updates database schema to hold pubsub topi per waku message
* clarifies the use of content topic in store api
* clarifies the use of contentTopic in the init method of HistoryContentFilter
* simplifies the test and add comments
* lowers the field number of pubsub topic in historyQuery protobuf
* captures an empty contentFilter case
* test pubsub topic filter for the entire history and no message match
* demoves duplicates
* adds TODO
* fix a broken comment line
* updates waku store codec
* swaps the order of pubsub topic and content topic in protobuf
* Update waku/v2/protocol/waku_store/waku_store_types.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* updates the pubsub topic to the default value
* bumps protocol id
* moves the comment close to IndexedWakuMessage
* adds checks to the store put method
* makes table title a constant variable and retitles the table to Message
* updates the changelog
* minor update
* minor
* beta2 to beta3
* minor
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* lightpush conf and mount with relay from node
* mount lightpush after relay
* lightpush relay integration wip
* lightpush node integrate and test node
* clean
* replaces topics with seq of ContentFilters
* update topics to contentFilter
* updates the contentFilter structure
one content topic per content filter instead of a sequence of topics
* updates store json rpc api
* renames ContentFilter to HistoryContentFilter
* unit test for a query with several content filters
* makes shortcut for store api
* updates chat2
* clean up
* renames topic to contentTopic
* clarifies the use of content topic in store api
* clarifies the use of contentTopic in the init method of HistoryContentFilter
* handles initial paging query for history of size one
* adds two more tests to fetch the entire history in the initial paging request
* increases the pageSize
* adds time based query
* handling temporal history queries
* more tests for corner cases
* edits tests comments
* further comments
* updates the time query logic
queries with zero-size window will result in an empty response
* returns no messages for invalid time queries
* comment update
* converts contentTopics from int to string
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Force chronological message history
* Fix start/end index computation
* Sleep before RPC call
* Lower default max cache sizes on APIs
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* changes pageSize to uint64
* WIP
* reworks tests and indexing proc to match uint64 pageSize
* minor simplification
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* updates the fields numbers of proof and timestamp
* clarifies that proof is not part of waku message specs
* Update waku/v2/protocol/waku_message.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* fixes indentation
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* entirely replaces the prior rln header, the var variables are changed to ptr
* updates the unittest of key_gen
* adds test for update_next_member
* updates membershipKeyGen internals and prototype
* adds createRLNInstance
* adds helpers methods
* adds generateKeyPairBuffer
* cleans up the test and adds comments
* renames merkleTreeDepth to d
* fixes a buf re decoding the keys into sk and pk
* adds getSKPK proc
* unifies key gen helper procs, adds todos
* comments out the createRLNInstance
* refactors the code based on the updated createRLNInstance interface
* adds the test for the verify proc
* fixes a variable name and replaces random key gen with the real key gen
* tests a simple hash
* adds get_root method
* fixes the data pointer issue and adds the proof breakdown
* adds rln
* adds unit tests for Merkle tree
* adds a sample hash test
* fixes the hash bug and comments out unused part of proof gen test
* cleans up the proof gent test
* replaces unsafeAddr with addr
* fixes an issue in key gen
* updates rln submodule
* fixes the verification problem
* adds a failed test
* replaces an old test scenario with a new one
* handles createRLNInstance output
* working createRLNInstance2
* refactors the code by replacing the old createRLNInstance
* renames createRLNInstance2
* adds documentation and reorganizes rln.nim
* replace echo with debug, renames vars, adds a bad proof test
* minor
* minor
* edits var names
* adds one more check
* adds one more test to the hash
* enforcing exception handling
* adds pacman -Sy
* removes update:true
* activates update
* Bump nim-chronos and fix exception tracking issues
* Bump other Nim submodules to latest
* Fix repeatMessage properly through proc type fix in nim-eth
Also add and use unittest2 through testutils to avoid extra
annotations.
* entirely replaces the prior rln header, the var variables are changed to ptr
* updates the unittest of key_gen
* adds test for update_next_member
* updates membershipKeyGen internals and prototype
* adds createRLNInstance
* adds helpers methods
* adds generateKeyPairBuffer
* cleans up the test and adds comments
* renames merkleTreeDepth to d
* fixes a buf re decoding the keys into sk and pk
* adds getSKPK proc
* unifies key gen helper procs, adds todos
* comments out the createRLNInstance
* refactors the code based on the updated createRLNInstance interface
* adds the test for the verify proc
* fixes a variable name and replaces random key gen with the real key gen
* tests a simple hash
* adds get_root method
* fixes the data pointer issue and adds the proof breakdown
* adds rln
* adds unit tests for Merkle tree
* deletes unnecessary comments
* updates createRLNInstance to return bool indicating the success of call
* updates create RLN Instance interface
* minor
* clean up
* removes unused imports
* adds documentation
* adds comments
* adds byteutils
* removes extra spaces
* updates rln submodule
* deletes genSKPK
* fixes a bug in membershipKeyGen
* unsafeAddr to addr
* Update waku/v2/protocol/waku_rln_relay/rln.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* clean up
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>