Youngjoon Lee
06a741fe3b
refactor: abstract all maintenance logic into `nomos-mix` crate
2024-12-04 17:23:11 +09:00
Youngjoon Lee
f0df03df19
Merge branch 'master' into mix-conn-monitor
2024-12-02 23:31:58 +09:00
Youngjoon Lee
9dda7c79b5
clippy: remove empty lines under comment documents ( #927 )
2024-12-02 23:30:44 +09:00
Youngjoon Lee
65f0327897
Mix: add connection maintenance
2024-12-02 15:09:49 +09:00
Youngjoon Lee
d923328744
Mix: Use Sphinx instead of mock ( #924 )
2024-11-29 00:07:08 +09:00
Roman Zajic
516d11b50a
chore: Data dispersal storage tests ( #921 )
...
* test: send blob with closed receiver
* fix: add tracing-subscriber dep
* test: unwrap on not existing blob_col_idx
* fix: add third node
* test: write orphan blob info into mempool
* test: indexer filtering with app_id
* fix: assert on result returned from indexer
* fix: remove custom logs from verifier service
* fix: remove newline from verifier service
2024-11-28 21:39:56 +08:00
Youngjoon Lee
7b1772a84c
Mix: Re-define max_payload_size parameter ( #923 )
2024-11-28 11:34:32 +09:00
Youngjoon Lee
63c472e172
Mix: Integrate cover traffic to mix service ( #920 )
2024-11-28 10:36:43 +09:00
Youngjoon Lee
dc286a967a
Mix: Don't panic on SendError in libp2p mix backend ( #919 )
2024-11-28 10:36:30 +09:00
Youngjoon Lee
0ff16ef5f2
Mix: Packet header encryption ( #897 )
...
* Mix: Packet header encryption
* modularization
* apply feedbacks
* use itertools::chain! instead of concat_bytes
* use explicit RoutingFlag type in error
* define size of layered encryption data as const
* remove MixMessage::Settings
* Use proper size for drop message
* remove TODOs
2024-11-28 10:36:14 +09:00
Daniel Sanchez
f71db1a7fe
Mix: Fix bug in cover traffic ticket generation ( #915 )
...
* Fix bug in cover traffic ticket generation
* fix hash bug
* Clippy happy
2024-11-09 09:06:32 +09:00
Daniel Sanchez
360a9aa558
Add missing bounds for cover traffic ( #914 )
2024-11-08 04:09:52 +01:00
Álex
a3c2fe5d55
Add deserialize to CoverTrafficSettings ( #913 )
2024-11-08 02:45:21 +01:00
Youngjoon Lee
7b984a4e29
Just use priv/pubkey as Node ID in the mock mix message encoding ( #912 )
...
* Just use priv/pubkey as Node ID in the mock mix message encoding
* do not convert private key to public key in mix service
2024-11-08 10:14:34 +09:00
Álex
1c62ced9ea
Add clone and copy to CoverTrafficSettings ( #911 )
...
* Add clone and copy to CoverTrafficSettings
* Make settings fields public.
2024-11-07 06:40:22 +01:00
Daniel Sanchez
727b838042
Add rs encode/decode benches ( #907 )
2024-11-07 05:17:54 +01:00
Daniel Sanchez
d73f3c2040
Mix: Implemented cover traffic ( #910 )
...
* Implemented cover traffic
* Update as per last specs
2024-11-07 12:22:26 +09:00
gusto
a5243c6af2
Tracing: Otlp metrics ( #909 )
...
* Metrics layer configuration in nomos-tracing
* Add metrics layer to tracing service
* Use http/proto for prometheus
* Add metrics layer to integration tests
* Use metrics layer in cfgsync
* Plug metric in node and tests
* Remove old metrics
* Use otlp metrics in mempool
2024-11-07 04:25:20 +02:00
Youngjoon Lee
e0959644a9
Add Sync bound to BoxStream in blend stream ( #908 )
2024-11-06 18:59:06 +09:00
Daniel Sanchez
9b29c17e2f
Mix: time abstract from streams ( #906 )
...
* Extract temporal async stream
* Make stuff public
* Extract persistent transmission scheduler
* Fix tests
* Push temporal scheduler one layer up
* fix compile errors
* return Poll::Pending instead of Poll::Ready(None) when queue is empty
---------
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
2024-11-06 14:08:52 +09:00
Youngjoon Lee
c84a29db31
Use public keys for the mock mix message encoding ( #905 )
...
* add node IDs in message
* integrate
* handle variable-lenght messages in nomos-mix-network
* add trait MixMessage
* make tests work
* clippy happy
* remove println!
* remove unnecssary dependency
* remove unnecessary trait bounds
* remove leftover
2024-11-06 10:49:38 +09:00
Daniel Sanchez
d0eafb7635
Abstract blend rng ( #904 )
2024-11-05 11:24:41 +01:00
Daniel Sanchez
23f93dcc28
Abstract persistent transmission rng ( #903 )
2024-11-05 09:00:31 +01:00
Daniel Sanchez
c237333791
Mix: Use streams in message blend and mix service ( #896 )
...
* Use streams in message blend and mix service
* Refactor temporal stream method naming
* Clippy happy
* Clippy test happy
* Undo coupling
* Remove bypassing from blend
* Clippy happy
* Un-entangle tiers
* Send local messages to persistent transmission
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
---------
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
2024-11-02 22:57:10 +01:00
Daniel Sanchez
2f92c183ab
Mix: Implement blend as stream + extension ( #864 )
...
* First attempt
* Implement blend as stream and extension
* Implement blend as stream and extension
2024-10-30 11:50:15 +01:00
Giacomo Pasini
9b5d4d329e
Move POL definition into nomos-core ( #837 )
2024-10-30 11:46:51 +01:00
Roman Zajic
07b215e885
fix: Codecov workflow output directory cleanup ( #866 )
...
* fix: self-hosted runner needs clean up
* fix: remove on push trigger
2024-10-30 17:15:27 +08:00
Giacomo Pasini
3213453c43
[CL-1] Add proofs to CL txs ( #850 )
...
* Add missing tx proofs to complete bundle validation
* address review comments
2024-10-30 10:07:55 +01:00
Roman Zajic
6567a2d890
fix: Codecov workflow conflicting output directory ( #862 )
...
* fix: change conflicting output directory name
* test: try to remove unwanted software
* test: run on self-hosted
* fix: remove dispatch on push
2024-10-29 20:27:05 +08:00
Youngjoon Lee
0c0aae0712
Mix: Packet algorithms ( #859 )
...
* add keyset
* add packet
* add comments
* add comments
* use functions in sphinx
2024-10-29 17:51:52 +09:00
Daniel Sanchez
9d52297cdf
Mix: temporal as stream extension ( #861 )
...
* forward msgs immediately without any processing
* Mix: Offload transmission rate and message processing from libp2p behaviour/handler
* Mix: Core skeleton used in `MixService`
* rename Processor to MessageBlend
* Mix: Implement Persistent Transmission (Tier 1) (#845 )
* Mix: Add Persistent Transmission (Tier 1)
* add test
* define Coin struct with Uniform distribution for fast repeated sampling
* use ChaCha12Rng for Coin
* improve comment
* Mix: Implement Temporal Processor (Tier 2) (#846 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* use pub(crate)
* Mix: Use TemporalProcessor in MessageBlend (#847 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* Mix: Use TemporalProcessor in MessageBlend
* remove duplicate members in Cargo.toml
* Implement persistent transmission as stream trait extension
* Replicate test for stream version
* Temporal processor as stream extension
---------
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
2024-10-28 17:12:50 +01:00
Daniel Sanchez
e207743f69
Mix: Persistent rate as stream + Extension ( #860 )
...
* forward msgs immediately without any processing
* Mix: Offload transmission rate and message processing from libp2p behaviour/handler
* Mix: Core skeleton used in `MixService`
* rename Processor to MessageBlend
* Mix: Implement Persistent Transmission (Tier 1) (#845 )
* Mix: Add Persistent Transmission (Tier 1)
* add test
* define Coin struct with Uniform distribution for fast repeated sampling
* use ChaCha12Rng for Coin
* improve comment
* Mix: Implement Temporal Processor (Tier 2) (#846 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* use pub(crate)
* Mix: Use TemporalProcessor in MessageBlend (#847 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* Mix: Use TemporalProcessor in MessageBlend
* remove duplicate members in Cargo.toml
* Implement persistent transmission as stream trait extension
* Replicate test for stream version
---------
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
2024-10-28 15:24:40 +01:00
Youngjoon Lee
7aea30132d
Mix: Implement PersistsentTransmission & Temporal/CryptoProcessor and use them in `MixService` ( #844 )
...
* forward msgs immediately without any processing
* Mix: Offload transmission rate and message processing from libp2p behaviour/handler
* Mix: Core skeleton used in `MixService`
* rename Processor to MessageBlend
* Mix: Implement Persistent Transmission (Tier 1) (#845 )
* Mix: Add Persistent Transmission (Tier 1)
* add test
* define Coin struct with Uniform distribution for fast repeated sampling
* use ChaCha12Rng for Coin
* improve comment
* Mix: Implement Temporal Processor (Tier 2) (#846 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* use pub(crate)
* Mix: Use TemporalProcessor in MessageBlend (#847 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* Mix: Use TemporalProcessor in MessageBlend
* remove duplicate members in Cargo.toml
2024-10-28 17:32:39 +09:00
gusto
bebb15f921
Cli: Deserialization and runtime fixes ( #854 )
...
* Deserialization and runtime fixes for cli
* Disable dissemination test
2024-10-25 14:56:37 +03:00
gusto
461a7beaf8
Ignore reconstruction test in CI ( #856 )
2024-10-25 13:48:13 +03:00
gusto
5a2c41574a
Tests: Local debugging setup using grafana ( #855 )
...
* Local debug setup for integration tests
* Tests debugging setup readme
* Clippy too smart
2024-10-25 13:39:07 +03:00
gusto
938bcd7926
Nomos tracing crate ( #849 )
...
* tmp grafana stack
* Testnet configure otlp tracing
* tmp: Configurable loki and tempo in cfgsync
* Rename nomos-log to nomos-tracing-service
* nomos-tracing crate for tracing layer creation
* Use multiple layers in nomos-tracing-service
* Tracing in tests and testnet
* Tempo volume instead of local host dir
2024-10-24 19:33:04 +03:00
Daniel Sanchez
733f50b521
Abort tasks for da networks backends ( #853 )
...
* Abort tasks for da networks backends
* fmt
2024-10-24 18:17:33 +02:00
gusto
193ff82980
Cli: Dissemination and retrieval ( #851 )
...
* Remove chat and dissemination from nomos-cli
* Dissemination using executor http client in nomos-cli
* Blob retrieval from indexer using executor http client
* Range reqeust type from nomos-node
* Split executor and validator commands
2024-10-24 16:21:27 +03:00
Youngjoon Lee
ce24a03a23
Mix: Offload transmission rate and message processing from libp2p behaviour/handler ( #843 )
2024-10-24 21:00:26 +09:00
gusto
97330a763f
Reconstruct from incomplete blobs ( #852 )
2024-10-24 12:01:19 +03:00
Youngjoon Lee
929fb1b7b1
forward msgs immediately without any processing ( #841 )
2024-10-24 11:44:35 +09:00
Roman Zajic
ca786fd264
fix: Coverage workflow to run on ubuntu-22.04 ( #836 )
...
* fix: remove Remove unwanted software step
* fix: return Remove unwanted software step
- change to run ubuntu-latest to not occupy self-hosted runner
* fix: remove redundant condition
* fix: remove Checkout submodules step
* test: run on ubuntu-22.04
* test: without Remove unwanted software
* fix: remove on push trigger
2024-10-23 11:12:01 +08:00
Daniel Sanchez
5a85281ec0
Use tokio 1 in deps ( #842 )
2024-10-22 16:59:42 +02:00
Giacomo Pasini
ad88d2bc0c
Add first tx defition ( #835 )
...
* Add first tx defition
* address review comments
* review comments
2024-10-22 15:51:54 +02:00
Deep Mondal
b0142d7173
Fix: membership comments to documentation ( #838 )
...
* rebased
* doc comment add
* fmt
2024-10-22 13:13:29 +02:00
gusto
03854f4c23
Executor in testnet ( #839 )
2024-10-22 12:36:06 +03:00
gusto
328398ca68
DA: Use executor in tests ( #818 )
...
* Use executor in tests instead of nomos node
* Executor config from node config
* Bring generics to the testing game
* Fill in missing gaps in test
* Implement testnode wrapper
* Use sleep on dispersal service instead
* Fix cfgsync
* Clippy happy
* Clippy happy tests
* Mixnet config in tests for validator
* Tests: General config and multiple nodes (#832 )
* Use executor in tests instead of nomos node
* Bring generics to the testing game
* Fill in missing gaps in test
* Clippy happy
* Mixnet config in tests for validator
* Derive different types of configs from general in tests
* Validator and executor in cfgsync
---------
Co-authored-by: danielSanchezQ <3danimanimal@gmail.com>
* Tests executor node mix config (#834 )
* Merge branch 'master' into tests-executor-node-mix-config
* add mix configs
---------
Co-authored-by: danielSanchezQ <3danimanimal@gmail.com>
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
2024-10-21 15:38:56 +03:00
Youngjoon Lee
83d9ef7738
Mix: Integrate mix service to the system ( #824 )
...
* Mix: remove all of the previous mixnet stuff
* Mix: Add mix service
* Integrate mix service to the node
* Add mock mix service for DA integration tests
* clippy happy
* use explicit function name and add TODOs
* remove the redundant use of tokio::sync::broadcast channel in mix adapter
* add mix service to nomos-executor binary
* removed mock mix backend and related adapters
Use the real mix backend for DA integration tests
* fix compile error generated when merging master
* rename all `MixNetwork*` to `Mix*` for further changes
* use explicit name for adapters
* Mix: Perform broadcasting within the mix service (#829 )
* rename relay variables properly
2024-10-21 18:12:47 +09:00
Youngjoon Lee
163cc2ce64
chore: clippy: remove irrefutable `let...else` patterns in DA ( #830 )
2024-10-20 01:49:48 +09:00