nomos-node/simulations/Cargo.toml

48 lines
1.4 KiB
TOML
Raw Normal View History

[package]
name = "simulations"
version = "0.1.0"
edition = "2021"
Simulation happy path (#161) * finish subscriber manager * optimize subscribe on SimulationRunnerHandle * fix comment * replace std locks to parking_lot locks * move producer initialization out simulate fn * WIP * optimize run fn * update condition * fix CI * collect run times * Add happy-path consensus engine * tmp * Fit types from spec (#124) * Match types to spec * Remove Output import * Consensus engine rework (#126) * rework * fix test * clippy happy --------- Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com> * Adapt carnot network adapter interfaces and implementations * Fix errors * Update network with engine types * Fit types yet again * Remove leadership and old overlay Create carnot event builder Added some adjustments * Add view to vote * Fix serde derive in consensus-engine * Add serde feature for engine in core * Use view in tally * Move carnot tally to consensus service * Add new view msg * Fit engine types in adapter * Missing serde feature in consensus service * Implement carnot event builder * Implement even builder run main tasks * Fill up view resolver * Fix errors on network adapter implementations * Clippy happy * Extract event handling to independent methods in View * Fix test * Refactor carnot event builder (#135) * refactor * format * Discriminate proposal messages (#136) * Derive block id from wire format (#139) * Derive block id from wire format * Derive id on block creation * Use compile time hash size * Add leader role (#138) * add leadership stub * fix gather_new_views * fmt * actually build qc * remove redundant fields * add flat overlay (#143) * add flat overlay * fix * sort imports * fix tests * Fix waku update * rewrite data collection add different kind of subscribers * fix fmt * Unhappy tally (#137) * Refactor tally module * Implement tally for new view messages * Assess pr comments * Fix rebase * simplify tally --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> * fix gather_new_views * working node * fix unhappy path * remove leftover * Kickstart event building in sim app * finish event builder * fix comment * add Tally * gather enough new views then construct ProposalBlock event * Revert "gather enough new views then construct ProposalBlock event" This reverts commit 87da2bdd0c5d7ba19c110e128749ee356934ccbd. * WIP: CarnotNode * WIP * finish event handle * dump state * WIP * finish message sending * fix some compile errors * make project compile * update * fix fmt and clippy * optimize json ser/deser and add a config * update Cargo.toml * Implement leader proposing (#154) * Implement leader proposing * fix fmt --------- Co-authored-by: al8n <scygliu1@gmail.com> * fix ser/deser bugs * fix subscriber bugs * Fix proposing genesis * Fix genesis retrieval in consensus-engine * Bring back general block proposal event * Fix leaf voting * fix init node bugs * add more tracing * fix empty qc * fix data race * fix all panics * cleanup * propose new blocks * fix comment * do not approve for the same block * no panics * fix some comments * use serde_with * Bring back genesis on 0 * Fix genesis retrieval Replace output enum Vote for genesis proposal * Genesis methods * fix StardardQc::genesis() * fix genesis block bug * fix PR comment * fix PR comment * fix PR comment * fix PR comment * fix PR comment * Fix tally Fix proposing * Remove public block building Added raw method * Missing fmt * clippy happy * fix io stream downcast * optional stream-type arg, by default we do not run any subscriber * fmt * cleanup * Remove from header block constructor * Fix duplicated approve (#180) * fix duplicated approve * Success tally just on threshold * Integrate random beacon on happy path * Fix missing updating beacon * Replicate consensus output * Prune older non relevant messages from cache * Remove view info just again * Refactor Block deps * Reverse wrong parent committee call in Consensus engine * Remove useless event builder settings * Remove blocks store from event builder * Remove unnecessary carnot seed * Remove duplicated proposals check --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> Co-authored-by: Daniel Sanchez <sanchez.quiros.daniel@gmail.com> Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com>
2023-06-14 14:52:37 +00:00
[[bin]]
name = "simulation"
path = "src/bin/app/main.rs"
Simulation happy path (#161) * finish subscriber manager * optimize subscribe on SimulationRunnerHandle * fix comment * replace std locks to parking_lot locks * move producer initialization out simulate fn * WIP * optimize run fn * update condition * fix CI * collect run times * Add happy-path consensus engine * tmp * Fit types from spec (#124) * Match types to spec * Remove Output import * Consensus engine rework (#126) * rework * fix test * clippy happy --------- Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com> * Adapt carnot network adapter interfaces and implementations * Fix errors * Update network with engine types * Fit types yet again * Remove leadership and old overlay Create carnot event builder Added some adjustments * Add view to vote * Fix serde derive in consensus-engine * Add serde feature for engine in core * Use view in tally * Move carnot tally to consensus service * Add new view msg * Fit engine types in adapter * Missing serde feature in consensus service * Implement carnot event builder * Implement even builder run main tasks * Fill up view resolver * Fix errors on network adapter implementations * Clippy happy * Extract event handling to independent methods in View * Fix test * Refactor carnot event builder (#135) * refactor * format * Discriminate proposal messages (#136) * Derive block id from wire format (#139) * Derive block id from wire format * Derive id on block creation * Use compile time hash size * Add leader role (#138) * add leadership stub * fix gather_new_views * fmt * actually build qc * remove redundant fields * add flat overlay (#143) * add flat overlay * fix * sort imports * fix tests * Fix waku update * rewrite data collection add different kind of subscribers * fix fmt * Unhappy tally (#137) * Refactor tally module * Implement tally for new view messages * Assess pr comments * Fix rebase * simplify tally --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> * fix gather_new_views * working node * fix unhappy path * remove leftover * Kickstart event building in sim app * finish event builder * fix comment * add Tally * gather enough new views then construct ProposalBlock event * Revert "gather enough new views then construct ProposalBlock event" This reverts commit 87da2bdd0c5d7ba19c110e128749ee356934ccbd. * WIP: CarnotNode * WIP * finish event handle * dump state * WIP * finish message sending * fix some compile errors * make project compile * update * fix fmt and clippy * optimize json ser/deser and add a config * update Cargo.toml * Implement leader proposing (#154) * Implement leader proposing * fix fmt --------- Co-authored-by: al8n <scygliu1@gmail.com> * fix ser/deser bugs * fix subscriber bugs * Fix proposing genesis * Fix genesis retrieval in consensus-engine * Bring back general block proposal event * Fix leaf voting * fix init node bugs * add more tracing * fix empty qc * fix data race * fix all panics * cleanup * propose new blocks * fix comment * do not approve for the same block * no panics * fix some comments * use serde_with * Bring back genesis on 0 * Fix genesis retrieval Replace output enum Vote for genesis proposal * Genesis methods * fix StardardQc::genesis() * fix genesis block bug * fix PR comment * fix PR comment * fix PR comment * fix PR comment * fix PR comment * Fix tally Fix proposing * Remove public block building Added raw method * Missing fmt * clippy happy * fix io stream downcast * optional stream-type arg, by default we do not run any subscriber * fmt * cleanup * Remove from header block constructor * Fix duplicated approve (#180) * fix duplicated approve * Success tally just on threshold * Integrate random beacon on happy path * Fix missing updating beacon * Replicate consensus output * Prune older non relevant messages from cache * Remove view info just again * Refactor Block deps * Reverse wrong parent committee call in Consensus engine * Remove useless event builder settings * Remove blocks store from event builder * Remove unnecessary carnot seed * Remove duplicated proposals check --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> Co-authored-by: Daniel Sanchez <sanchez.quiros.daniel@gmail.com> Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com>
2023-06-14 14:52:37 +00:00
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
2023-04-04 12:26:57 +00:00
anyhow = "1"
blake2 = "0.10"
Simulation happy path (#161) * finish subscriber manager * optimize subscribe on SimulationRunnerHandle * fix comment * replace std locks to parking_lot locks * move producer initialization out simulate fn * WIP * optimize run fn * update condition * fix CI * collect run times * Add happy-path consensus engine * tmp * Fit types from spec (#124) * Match types to spec * Remove Output import * Consensus engine rework (#126) * rework * fix test * clippy happy --------- Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com> * Adapt carnot network adapter interfaces and implementations * Fix errors * Update network with engine types * Fit types yet again * Remove leadership and old overlay Create carnot event builder Added some adjustments * Add view to vote * Fix serde derive in consensus-engine * Add serde feature for engine in core * Use view in tally * Move carnot tally to consensus service * Add new view msg * Fit engine types in adapter * Missing serde feature in consensus service * Implement carnot event builder * Implement even builder run main tasks * Fill up view resolver * Fix errors on network adapter implementations * Clippy happy * Extract event handling to independent methods in View * Fix test * Refactor carnot event builder (#135) * refactor * format * Discriminate proposal messages (#136) * Derive block id from wire format (#139) * Derive block id from wire format * Derive id on block creation * Use compile time hash size * Add leader role (#138) * add leadership stub * fix gather_new_views * fmt * actually build qc * remove redundant fields * add flat overlay (#143) * add flat overlay * fix * sort imports * fix tests * Fix waku update * rewrite data collection add different kind of subscribers * fix fmt * Unhappy tally (#137) * Refactor tally module * Implement tally for new view messages * Assess pr comments * Fix rebase * simplify tally --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> * fix gather_new_views * working node * fix unhappy path * remove leftover * Kickstart event building in sim app * finish event builder * fix comment * add Tally * gather enough new views then construct ProposalBlock event * Revert "gather enough new views then construct ProposalBlock event" This reverts commit 87da2bdd0c5d7ba19c110e128749ee356934ccbd. * WIP: CarnotNode * WIP * finish event handle * dump state * WIP * finish message sending * fix some compile errors * make project compile * update * fix fmt and clippy * optimize json ser/deser and add a config * update Cargo.toml * Implement leader proposing (#154) * Implement leader proposing * fix fmt --------- Co-authored-by: al8n <scygliu1@gmail.com> * fix ser/deser bugs * fix subscriber bugs * Fix proposing genesis * Fix genesis retrieval in consensus-engine * Bring back general block proposal event * Fix leaf voting * fix init node bugs * add more tracing * fix empty qc * fix data race * fix all panics * cleanup * propose new blocks * fix comment * do not approve for the same block * no panics * fix some comments * use serde_with * Bring back genesis on 0 * Fix genesis retrieval Replace output enum Vote for genesis proposal * Genesis methods * fix StardardQc::genesis() * fix genesis block bug * fix PR comment * fix PR comment * fix PR comment * fix PR comment * fix PR comment * Fix tally Fix proposing * Remove public block building Added raw method * Missing fmt * clippy happy * fix io stream downcast * optional stream-type arg, by default we do not run any subscriber * fmt * cleanup * Remove from header block constructor * Fix duplicated approve (#180) * fix duplicated approve * Success tally just on threshold * Integrate random beacon on happy path * Fix missing updating beacon * Replicate consensus output * Prune older non relevant messages from cache * Remove view info just again * Refactor Block deps * Reverse wrong parent committee call in Consensus engine * Remove useless event builder settings * Remove blocks store from event builder * Remove unnecessary carnot seed * Remove duplicated proposals check --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> Co-authored-by: Daniel Sanchez <sanchez.quiros.daniel@gmail.com> Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com>
2023-06-14 14:52:37 +00:00
bls-signatures = "0.14"
digest = "0.10"
csv = "1"
clap = { version = "4", features = ["derive"] }
ctrlc = "3.4"
Simulation happy path (#161) * finish subscriber manager * optimize subscribe on SimulationRunnerHandle * fix comment * replace std locks to parking_lot locks * move producer initialization out simulate fn * WIP * optimize run fn * update condition * fix CI * collect run times * Add happy-path consensus engine * tmp * Fit types from spec (#124) * Match types to spec * Remove Output import * Consensus engine rework (#126) * rework * fix test * clippy happy --------- Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com> * Adapt carnot network adapter interfaces and implementations * Fix errors * Update network with engine types * Fit types yet again * Remove leadership and old overlay Create carnot event builder Added some adjustments * Add view to vote * Fix serde derive in consensus-engine * Add serde feature for engine in core * Use view in tally * Move carnot tally to consensus service * Add new view msg * Fit engine types in adapter * Missing serde feature in consensus service * Implement carnot event builder * Implement even builder run main tasks * Fill up view resolver * Fix errors on network adapter implementations * Clippy happy * Extract event handling to independent methods in View * Fix test * Refactor carnot event builder (#135) * refactor * format * Discriminate proposal messages (#136) * Derive block id from wire format (#139) * Derive block id from wire format * Derive id on block creation * Use compile time hash size * Add leader role (#138) * add leadership stub * fix gather_new_views * fmt * actually build qc * remove redundant fields * add flat overlay (#143) * add flat overlay * fix * sort imports * fix tests * Fix waku update * rewrite data collection add different kind of subscribers * fix fmt * Unhappy tally (#137) * Refactor tally module * Implement tally for new view messages * Assess pr comments * Fix rebase * simplify tally --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> * fix gather_new_views * working node * fix unhappy path * remove leftover * Kickstart event building in sim app * finish event builder * fix comment * add Tally * gather enough new views then construct ProposalBlock event * Revert "gather enough new views then construct ProposalBlock event" This reverts commit 87da2bdd0c5d7ba19c110e128749ee356934ccbd. * WIP: CarnotNode * WIP * finish event handle * dump state * WIP * finish message sending * fix some compile errors * make project compile * update * fix fmt and clippy * optimize json ser/deser and add a config * update Cargo.toml * Implement leader proposing (#154) * Implement leader proposing * fix fmt --------- Co-authored-by: al8n <scygliu1@gmail.com> * fix ser/deser bugs * fix subscriber bugs * Fix proposing genesis * Fix genesis retrieval in consensus-engine * Bring back general block proposal event * Fix leaf voting * fix init node bugs * add more tracing * fix empty qc * fix data race * fix all panics * cleanup * propose new blocks * fix comment * do not approve for the same block * no panics * fix some comments * use serde_with * Bring back genesis on 0 * Fix genesis retrieval Replace output enum Vote for genesis proposal * Genesis methods * fix StardardQc::genesis() * fix genesis block bug * fix PR comment * fix PR comment * fix PR comment * fix PR comment * fix PR comment * Fix tally Fix proposing * Remove public block building Added raw method * Missing fmt * clippy happy * fix io stream downcast * optional stream-type arg, by default we do not run any subscriber * fmt * cleanup * Remove from header block constructor * Fix duplicated approve (#180) * fix duplicated approve * Success tally just on threshold * Integrate random beacon on happy path * Fix missing updating beacon * Replicate consensus output * Prune older non relevant messages from cache * Remove view info just again * Refactor Block deps * Reverse wrong parent committee call in Consensus engine * Remove useless event builder settings * Remove blocks store from event builder * Remove unnecessary carnot seed * Remove duplicated proposals check --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> Co-authored-by: Daniel Sanchez <sanchez.quiros.daniel@gmail.com> Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com>
2023-06-14 14:52:37 +00:00
chrono = { version = "0.4", features = ["serde"] }
2023-03-30 08:35:29 +00:00
crc32fast = "1.3"
crossbeam = { version = "0.8.2", features = ["crossbeam-channel"] }
carnot-engine = { path = "../consensus/carnot-engine", features = ["simulation"] }
fixed-slice-deque = "0.1.0-beta2"
Simulation happy path (#161) * finish subscriber manager * optimize subscribe on SimulationRunnerHandle * fix comment * replace std locks to parking_lot locks * move producer initialization out simulate fn * WIP * optimize run fn * update condition * fix CI * collect run times * Add happy-path consensus engine * tmp * Fit types from spec (#124) * Match types to spec * Remove Output import * Consensus engine rework (#126) * rework * fix test * clippy happy --------- Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com> * Adapt carnot network adapter interfaces and implementations * Fix errors * Update network with engine types * Fit types yet again * Remove leadership and old overlay Create carnot event builder Added some adjustments * Add view to vote * Fix serde derive in consensus-engine * Add serde feature for engine in core * Use view in tally * Move carnot tally to consensus service * Add new view msg * Fit engine types in adapter * Missing serde feature in consensus service * Implement carnot event builder * Implement even builder run main tasks * Fill up view resolver * Fix errors on network adapter implementations * Clippy happy * Extract event handling to independent methods in View * Fix test * Refactor carnot event builder (#135) * refactor * format * Discriminate proposal messages (#136) * Derive block id from wire format (#139) * Derive block id from wire format * Derive id on block creation * Use compile time hash size * Add leader role (#138) * add leadership stub * fix gather_new_views * fmt * actually build qc * remove redundant fields * add flat overlay (#143) * add flat overlay * fix * sort imports * fix tests * Fix waku update * rewrite data collection add different kind of subscribers * fix fmt * Unhappy tally (#137) * Refactor tally module * Implement tally for new view messages * Assess pr comments * Fix rebase * simplify tally --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> * fix gather_new_views * working node * fix unhappy path * remove leftover * Kickstart event building in sim app * finish event builder * fix comment * add Tally * gather enough new views then construct ProposalBlock event * Revert "gather enough new views then construct ProposalBlock event" This reverts commit 87da2bdd0c5d7ba19c110e128749ee356934ccbd. * WIP: CarnotNode * WIP * finish event handle * dump state * WIP * finish message sending * fix some compile errors * make project compile * update * fix fmt and clippy * optimize json ser/deser and add a config * update Cargo.toml * Implement leader proposing (#154) * Implement leader proposing * fix fmt --------- Co-authored-by: al8n <scygliu1@gmail.com> * fix ser/deser bugs * fix subscriber bugs * Fix proposing genesis * Fix genesis retrieval in consensus-engine * Bring back general block proposal event * Fix leaf voting * fix init node bugs * add more tracing * fix empty qc * fix data race * fix all panics * cleanup * propose new blocks * fix comment * do not approve for the same block * no panics * fix some comments * use serde_with * Bring back genesis on 0 * Fix genesis retrieval Replace output enum Vote for genesis proposal * Genesis methods * fix StardardQc::genesis() * fix genesis block bug * fix PR comment * fix PR comment * fix PR comment * fix PR comment * fix PR comment * Fix tally Fix proposing * Remove public block building Added raw method * Missing fmt * clippy happy * fix io stream downcast * optional stream-type arg, by default we do not run any subscriber * fmt * cleanup * Remove from header block constructor * Fix duplicated approve (#180) * fix duplicated approve * Success tally just on threshold * Integrate random beacon on happy path * Fix missing updating beacon * Replicate consensus output * Prune older non relevant messages from cache * Remove view info just again * Refactor Block deps * Reverse wrong parent committee call in Consensus engine * Remove useless event builder settings * Remove blocks store from event builder * Remove unnecessary carnot seed * Remove duplicated proposals check --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> Co-authored-by: Daniel Sanchez <sanchez.quiros.daniel@gmail.com> Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com>
2023-06-14 14:52:37 +00:00
futures = "0.3"
humantime = "2.1"
Simulation happy path (#161) * finish subscriber manager * optimize subscribe on SimulationRunnerHandle * fix comment * replace std locks to parking_lot locks * move producer initialization out simulate fn * WIP * optimize run fn * update condition * fix CI * collect run times * Add happy-path consensus engine * tmp * Fit types from spec (#124) * Match types to spec * Remove Output import * Consensus engine rework (#126) * rework * fix test * clippy happy --------- Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com> * Adapt carnot network adapter interfaces and implementations * Fix errors * Update network with engine types * Fit types yet again * Remove leadership and old overlay Create carnot event builder Added some adjustments * Add view to vote * Fix serde derive in consensus-engine * Add serde feature for engine in core * Use view in tally * Move carnot tally to consensus service * Add new view msg * Fit engine types in adapter * Missing serde feature in consensus service * Implement carnot event builder * Implement even builder run main tasks * Fill up view resolver * Fix errors on network adapter implementations * Clippy happy * Extract event handling to independent methods in View * Fix test * Refactor carnot event builder (#135) * refactor * format * Discriminate proposal messages (#136) * Derive block id from wire format (#139) * Derive block id from wire format * Derive id on block creation * Use compile time hash size * Add leader role (#138) * add leadership stub * fix gather_new_views * fmt * actually build qc * remove redundant fields * add flat overlay (#143) * add flat overlay * fix * sort imports * fix tests * Fix waku update * rewrite data collection add different kind of subscribers * fix fmt * Unhappy tally (#137) * Refactor tally module * Implement tally for new view messages * Assess pr comments * Fix rebase * simplify tally --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> * fix gather_new_views * working node * fix unhappy path * remove leftover * Kickstart event building in sim app * finish event builder * fix comment * add Tally * gather enough new views then construct ProposalBlock event * Revert "gather enough new views then construct ProposalBlock event" This reverts commit 87da2bdd0c5d7ba19c110e128749ee356934ccbd. * WIP: CarnotNode * WIP * finish event handle * dump state * WIP * finish message sending * fix some compile errors * make project compile * update * fix fmt and clippy * optimize json ser/deser and add a config * update Cargo.toml * Implement leader proposing (#154) * Implement leader proposing * fix fmt --------- Co-authored-by: al8n <scygliu1@gmail.com> * fix ser/deser bugs * fix subscriber bugs * Fix proposing genesis * Fix genesis retrieval in consensus-engine * Bring back general block proposal event * Fix leaf voting * fix init node bugs * add more tracing * fix empty qc * fix data race * fix all panics * cleanup * propose new blocks * fix comment * do not approve for the same block * no panics * fix some comments * use serde_with * Bring back genesis on 0 * Fix genesis retrieval Replace output enum Vote for genesis proposal * Genesis methods * fix StardardQc::genesis() * fix genesis block bug * fix PR comment * fix PR comment * fix PR comment * fix PR comment * fix PR comment * Fix tally Fix proposing * Remove public block building Added raw method * Missing fmt * clippy happy * fix io stream downcast * optional stream-type arg, by default we do not run any subscriber * fmt * cleanup * Remove from header block constructor * Fix duplicated approve (#180) * fix duplicated approve * Success tally just on threshold * Integrate random beacon on happy path * Fix missing updating beacon * Replicate consensus output * Prune older non relevant messages from cache * Remove view info just again * Refactor Block deps * Reverse wrong parent committee call in Consensus engine * Remove useless event builder settings * Remove blocks store from event builder * Remove unnecessary carnot seed * Remove duplicated proposals check --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> Co-authored-by: Daniel Sanchez <sanchez.quiros.daniel@gmail.com> Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com>
2023-06-14 14:52:37 +00:00
humantime-serde = "1"
nomos-core = { path = "../nomos-core" }
carnot-consensus = { path = "../nomos-services/carnot-consensus" }
Simulation happy path (#161) * finish subscriber manager * optimize subscribe on SimulationRunnerHandle * fix comment * replace std locks to parking_lot locks * move producer initialization out simulate fn * WIP * optimize run fn * update condition * fix CI * collect run times * Add happy-path consensus engine * tmp * Fit types from spec (#124) * Match types to spec * Remove Output import * Consensus engine rework (#126) * rework * fix test * clippy happy --------- Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com> * Adapt carnot network adapter interfaces and implementations * Fix errors * Update network with engine types * Fit types yet again * Remove leadership and old overlay Create carnot event builder Added some adjustments * Add view to vote * Fix serde derive in consensus-engine * Add serde feature for engine in core * Use view in tally * Move carnot tally to consensus service * Add new view msg * Fit engine types in adapter * Missing serde feature in consensus service * Implement carnot event builder * Implement even builder run main tasks * Fill up view resolver * Fix errors on network adapter implementations * Clippy happy * Extract event handling to independent methods in View * Fix test * Refactor carnot event builder (#135) * refactor * format * Discriminate proposal messages (#136) * Derive block id from wire format (#139) * Derive block id from wire format * Derive id on block creation * Use compile time hash size * Add leader role (#138) * add leadership stub * fix gather_new_views * fmt * actually build qc * remove redundant fields * add flat overlay (#143) * add flat overlay * fix * sort imports * fix tests * Fix waku update * rewrite data collection add different kind of subscribers * fix fmt * Unhappy tally (#137) * Refactor tally module * Implement tally for new view messages * Assess pr comments * Fix rebase * simplify tally --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> * fix gather_new_views * working node * fix unhappy path * remove leftover * Kickstart event building in sim app * finish event builder * fix comment * add Tally * gather enough new views then construct ProposalBlock event * Revert "gather enough new views then construct ProposalBlock event" This reverts commit 87da2bdd0c5d7ba19c110e128749ee356934ccbd. * WIP: CarnotNode * WIP * finish event handle * dump state * WIP * finish message sending * fix some compile errors * make project compile * update * fix fmt and clippy * optimize json ser/deser and add a config * update Cargo.toml * Implement leader proposing (#154) * Implement leader proposing * fix fmt --------- Co-authored-by: al8n <scygliu1@gmail.com> * fix ser/deser bugs * fix subscriber bugs * Fix proposing genesis * Fix genesis retrieval in consensus-engine * Bring back general block proposal event * Fix leaf voting * fix init node bugs * add more tracing * fix empty qc * fix data race * fix all panics * cleanup * propose new blocks * fix comment * do not approve for the same block * no panics * fix some comments * use serde_with * Bring back genesis on 0 * Fix genesis retrieval Replace output enum Vote for genesis proposal * Genesis methods * fix StardardQc::genesis() * fix genesis block bug * fix PR comment * fix PR comment * fix PR comment * fix PR comment * fix PR comment * Fix tally Fix proposing * Remove public block building Added raw method * Missing fmt * clippy happy * fix io stream downcast * optional stream-type arg, by default we do not run any subscriber * fmt * cleanup * Remove from header block constructor * Fix duplicated approve (#180) * fix duplicated approve * Success tally just on threshold * Integrate random beacon on happy path * Fix missing updating beacon * Replicate consensus output * Prune older non relevant messages from cache * Remove view info just again * Refactor Block deps * Reverse wrong parent committee call in Consensus engine * Remove useless event builder settings * Remove blocks store from event builder * Remove unnecessary carnot seed * Remove duplicated proposals check --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> Co-authored-by: Daniel Sanchez <sanchez.quiros.daniel@gmail.com> Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com>
2023-06-14 14:52:37 +00:00
once_cell = "1.17"
parking_lot = "0.12"
polars = { version = "0.27", features = ["serde", "object", "json", "csv-file", "parquet", "dtype-struct"], optional = true }
rand = { version = "0.8", features = ["small_rng"] }
rayon = "1.8"
scopeguard = "1"
serde = { version = "1.0", features = ["derive", "rc"] }
serde_with = "2.3"
serde_json = "1.0"
thiserror = "1"
Simulation happy path (#161) * finish subscriber manager * optimize subscribe on SimulationRunnerHandle * fix comment * replace std locks to parking_lot locks * move producer initialization out simulate fn * WIP * optimize run fn * update condition * fix CI * collect run times * Add happy-path consensus engine * tmp * Fit types from spec (#124) * Match types to spec * Remove Output import * Consensus engine rework (#126) * rework * fix test * clippy happy --------- Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com> * Adapt carnot network adapter interfaces and implementations * Fix errors * Update network with engine types * Fit types yet again * Remove leadership and old overlay Create carnot event builder Added some adjustments * Add view to vote * Fix serde derive in consensus-engine * Add serde feature for engine in core * Use view in tally * Move carnot tally to consensus service * Add new view msg * Fit engine types in adapter * Missing serde feature in consensus service * Implement carnot event builder * Implement even builder run main tasks * Fill up view resolver * Fix errors on network adapter implementations * Clippy happy * Extract event handling to independent methods in View * Fix test * Refactor carnot event builder (#135) * refactor * format * Discriminate proposal messages (#136) * Derive block id from wire format (#139) * Derive block id from wire format * Derive id on block creation * Use compile time hash size * Add leader role (#138) * add leadership stub * fix gather_new_views * fmt * actually build qc * remove redundant fields * add flat overlay (#143) * add flat overlay * fix * sort imports * fix tests * Fix waku update * rewrite data collection add different kind of subscribers * fix fmt * Unhappy tally (#137) * Refactor tally module * Implement tally for new view messages * Assess pr comments * Fix rebase * simplify tally --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> * fix gather_new_views * working node * fix unhappy path * remove leftover * Kickstart event building in sim app * finish event builder * fix comment * add Tally * gather enough new views then construct ProposalBlock event * Revert "gather enough new views then construct ProposalBlock event" This reverts commit 87da2bdd0c5d7ba19c110e128749ee356934ccbd. * WIP: CarnotNode * WIP * finish event handle * dump state * WIP * finish message sending * fix some compile errors * make project compile * update * fix fmt and clippy * optimize json ser/deser and add a config * update Cargo.toml * Implement leader proposing (#154) * Implement leader proposing * fix fmt --------- Co-authored-by: al8n <scygliu1@gmail.com> * fix ser/deser bugs * fix subscriber bugs * Fix proposing genesis * Fix genesis retrieval in consensus-engine * Bring back general block proposal event * Fix leaf voting * fix init node bugs * add more tracing * fix empty qc * fix data race * fix all panics * cleanup * propose new blocks * fix comment * do not approve for the same block * no panics * fix some comments * use serde_with * Bring back genesis on 0 * Fix genesis retrieval Replace output enum Vote for genesis proposal * Genesis methods * fix StardardQc::genesis() * fix genesis block bug * fix PR comment * fix PR comment * fix PR comment * fix PR comment * fix PR comment * Fix tally Fix proposing * Remove public block building Added raw method * Missing fmt * clippy happy * fix io stream downcast * optional stream-type arg, by default we do not run any subscriber * fmt * cleanup * Remove from header block constructor * Fix duplicated approve (#180) * fix duplicated approve * Success tally just on threshold * Integrate random beacon on happy path * Fix missing updating beacon * Replicate consensus output * Prune older non relevant messages from cache * Remove view info just again * Refactor Block deps * Reverse wrong parent committee call in Consensus engine * Remove useless event builder settings * Remove blocks store from event builder * Remove unnecessary carnot seed * Remove duplicated proposals check --------- Co-authored-by: Giacomo Pasini <g.pasini98@gmail.com> Co-authored-by: Daniel Sanchez <sanchez.quiros.daniel@gmail.com> Co-authored-by: Giacomo Pasini <Zeegomo@users.noreply.github.com>
2023-06-14 14:52:37 +00:00
tracing = { version = "0.1", default-features = false, features = ["log", "attributes"] }
tracing-subscriber = { version = "0.3", features = ["json", "env-filter", "tracing-log"]}
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2", features = ["js"] }
[features]
polars = ["dep:polars"]