Git Product home page Git Product logo

aleo-setup's Introduction

Aleo Setup I

Overview

Pairing based SNARKs require the generation of certain parameters in order to achieve high efficiency (small proof sizes, fast proving and verifying time). These parameters are generated by another set of parameters which MUST remain secret. We call these secret parameters the "toxic waste". If a prover knows these secrets, then they can generate valid proofs for invalid statements, breaking soundness. This is undesired!

In order to guarantee that no prover will ever know these secrets, we can generate them in a distributed manner. Each participant in this so-called "ceremony" will contribute to the generation of the parameters with their own secret. If at least 1 participant is honest and destroys their secret, then there should be no way for a malicious prover to create fake proofs.

This repository contains implementations for the BGM17 multi party computation. The ceremony is split in two phases, one which generates the Powers of Tau, and one which "specializes" them to the provided arithmetic circuit for the Groth16 SNARK.

Note that the generated Powers of Tau can be re-used for any other Phase 2 setup, or for instantiating other mechanisms, such as the KZG10 polynomial commitment scheme.

For instructions on how to ensure that the ceremony is executed properly, refer to RECOMMENDATIONS.md

Setup I

Phase 1 (Powers of Tau)

  1. A coordinator generates an accumulator
  2. Participant downloads the latest accumulator
  3. Participant contributes their randomness to the accumulator (randomness is permantently deleted after this step)
  4. Participant uploads the accumulator back to the coordinator
  5. Coordinator verifies the accumulator was transformed correctly and produces a new challenge

The notable part about this procedure, is that it _never_has to end. This is what allows SNARKs utilizing KZG10 to have a "continuous" setup. If a participant does not trust the setup, they themselves can contribute to the Powers of Tau, and instantiate KZG10 with the new parameters.

Setup II

Phase 2 (Parameterization to Groth16)

  1. Coordinator "prepares" the parameters from Phase 1 and converts them to Lagrange Coefficients
  2. Participant downloads the latest state of the parameters
  3. Participant contributes their randomness to the parameters (randomness is permantently deleted after this step)
  4. Participant uploads the parameters back to the coordinator
  5. Coordinator verifies the accumulator was transformed correctly
  6. Loop from 2 for all participants

This produces parameters which can then be used for constructing Groth16 SNARKs for that circuit. The setup is sound so long as 1 party was honest and destroyed their "toxic waste" in step 3.

Build Guide

Build with cargo build (--release). You will receive a phase1 and prepare_phase2 binary in the target/ directory.

Test with cargo test --all.

Benchmark with cargo bench --all (uses criterion)

If contributing, do not forget to run cargo fmt and cargo clippy --all-targets --all-features -- -D warnings

All crates require Rust 2018 edition and are tested on the following channels:

  • 1.39.0
  • stable

If you do not have Rust installed, run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Directory Structure

This repository contains several Rust crates that implement the different building blocks of the MPC. The high-level structure of the repository is as follows:

  • phase1: Rust crate that provides an accumulator for Powers of Tau. It runs multithreaded and works in "batches", allowing large powers to be calculated in resource constrained environments
  • phase2: Rust crate that provides a wrapper over Groth16's parameters which also contains a verifiable transcript of the so-far contributions to the specialization phase
  • setup1-contributor: Rust crate for the Aleo Setup I contributor
  • setup1-verifier: Rust crate for the Aleo Setup I verifier
  • setup2: Rust crate for running Aleo Setup II
  • setup-utils: Utility functions shared across crates, involving i/o, mathematical operations and errors.

License

This library is a collection of repositories licensed under different standard licenses. Please refer to each individual repository for its respective license.

aleo-setup's People

Contributors

apruden2008 avatar bmerge avatar brechtpd avatar dependabot-preview[bot] avatar drpetervannostrand avatar ebfull avatar emmorais avatar gakonst avatar garethtdavies avatar gluk64 avatar howardwu avatar ibaryshnikov avatar jasondavies avatar jules avatar kellpossible avatar kobigurk avatar mmaker avatar niklaslong avatar petertodd avatar poma avatar raychu86 avatar shamatar avatar skywinder avatar ssdbkey avatar str4d avatar weijiekoh avatar weikengchen avatar zosorock avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aleo-setup's Issues

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.2` are: 0.8.2

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Contributors (and probably verifiers) probably cannot have a decimal place in the name

I'm getting this error while doing some testing. We may want to add some validation for creating participants, if it is assumed that the contributor and verifier id takes a certain format or cannot contain specific characters.

Caused by:
    0: error while contributor test-contributor-1.0.contributor was making contribution
    1: JsonError(Error("unknown participant type", line: 8, column: 3))'

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.0` are: 0.8.0

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

    Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.0` are: 0.8.0

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Enable clippy checks in CI

Clippy has a lot of lints related to performance and correctness. We can benefit by having it as part of CI

phase1-coordinator panic when number of chunks is 1

thread 'tests::coordinator_proptest' panicked at 'assertion failed: size != 0', /home/luke/.cargo/registry/src/github.com-1ecc6299db9ec823/itertools-0.9.0/src/lib.rs:544:9
stack backtrace:
   0: std::panicking::begin_panic
             at /home/luke/.rustup/toolchains/1.48-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:505
   1: itertools::Itertools::chunks
             at /home/luke/.cargo/registry/src/github.com-1ecc6299db9ec823/itertools-0.9.0/src/lib.rs:544
   2: phase1::helpers::buffers::iter_chunk
             at /home/luke/programming/aleo/aleo-setup/phase1/src/helpers/buffers.rs:48
   3: phase1::computation::<impl phase1::Phase1<E>>::computation
             at /home/luke/programming/aleo/aleo-setup/phase1/src/computation.rs:49
   4: phase1_coordinator::commands::computation::Computation::contribute
             at ./src/commands/computation.rs:151
   5: phase1_coordinator::commands::computation::Computation::run
             at ./src/commands/computation.rs:60
   6: phase1_coordinator::coordinator::Coordinator::run_computation
             at ./src/coordinator.rs:2393
   7: phase1_coordinator::coordinator::Coordinator::contribute
             at ./src/coordinator.rs:2302

Remove lazy_static from tests

Motivation:
We have two dependencies in tests which do the same thing: lazy_static and once_cell. We can remove one without any downsides. As once_cell is advertised as a macros-free alternative to lazy_static and it became widely popular in the community, I'd stick to it.

Sort out features

Motivation:
to reduce the number of dependencies for the users of the library

In particular, aleo-setup-coordinator uses feature operator, which contains the following sequence:

operator = ["log_file", "testing"]
testing = ["function_name", "serial_test"]

at the same time, function_name and serial_test are used only in tests, and not in the library code.
There are some functions which still gated behind the testing feature, but they also don't use function_name or serial_test. As a result, we can safely move them to dev-dependencies and remove from dependencies, while making testing = []

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.3` are: 0.8.3

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.1` are: 0.8.1

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.0` are: 0.8.0

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.3` are: 0.8.3

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Remove the pinned rustc version

As we are affected by the regression in rust stable 1.49.0, there's a need to pin rustc version in CI to 1.48.0. The pinned version should be removed once the fix is out, it may happen in point release or next major release (1.49.1 or 1.50.0)
Bug in rustc: rust-lang/rust#79904
rustc version was pinned in #147

phase1-wasm doesn't have console_error_panic_hook set up

When I trigger a panic I get the following in the browser console.

RuntimeError: unreachable
    at __rust_start_panic (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[4928]:0x1c9bf6)
    at rust_panic (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[4432]:0x1c6801)
    at std::panicking::rust_panic_with_hook::h6c81660583233495 (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[1062]:0x175ac9)
    at std::panicking::begin_panic_handler::{{closure}}::h35f4baddc401ed83 (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[4250]:0x1c48fb)
    at std::sys_common::backtrace::__rust_end_short_backtrace::h9f9c9a1ba07fa30f (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[4268]:0x1c4c3d)
    at rust_begin_unwind (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[3821]:0x1bf004)
    at core::panicking::panic_fmt::h29e09648cb9a0a7a (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[4270]:0x1c4ca1)
    at core::option::expect_none_failed::hf0424e633716ac95 (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[1864]:0x196db5)
    at core::result::Result<T,E>::expect::ha26b22df99b57479 (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[1236]:0x17eaf0)
    at phase1_wasm::phase1::Phase1WASM::contribute_chunked::hfccb5296d2ee3d4c (http://localhost:8080/35110bd7605535989399.module.wasm:wasm-function[153]:0x11272f)

The reason for the panic is not displayed, I think because https://github.com/rustwasm/console_error_panic_hook has not been correctly instantiated for use with this api.

Coordinator Contributor Task Allocation Test

If a contributor is dropped during the round, they need to be replaced by a coordinator contributor. The coordinator contributor should assume all of their assigned tasks and recompute any tasks according to the coordinator task redistribution logic.

Currently, there is NO test to check if work was properly re-allocated to the coordinator contributor. Implement a test to ensure that the work was properly reallocated.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.1` are: 0.8.1

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.3` are: 0.8.3

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.2` are: 0.8.2

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.1` are: 0.8.1

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.0` are: 0.8.0

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.0` are: 0.8.0

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Drop Multiple Contributors and Allocate Tasks to Coordinator

Currently, the setup does not handle the case where we need to drop multiple failing contributors and allocate tasks to the coordinator contributor correctly (seetest_coordinator_drop_multiple_contributors in the features/coordinator-participants branch.

A solution should reallocate work to the contributor with least load in add_replacement_contributor_unsafe in rounds.rs. May need some interleaving logic.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.3` are: 0.8.3

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.0` are: 0.8.0

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.1` are: 0.8.1

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Disable dependabot in favour of cargo-audit and cargo-deny

Though dependabot is a great tool, it produces a lot of noise in notifications, which can lead to missing some important information by contributors. From the other side, we don't always have to upgrade on minor version changes in dependencies. Using cargo-audit and cargo-deny should provide more tangible insights in order to know if we need to upgrade the dependencies.

Use temporary files in tests

Use temporary files an folders in tests. Make an option to use specified folder in order to debug particular test cases.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.2` are: 0.8.2

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Add cargo-deny to CI

It's a good tool to keep track of the licenses of our dependencies and it has some other handy features

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.0` are: 0.8.0

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.3` are: 0.8.3

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.2` are: 0.8.2

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.2` are: 0.8.2

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Remove panics from the library code

Check for any use of panic!, .unwrap() and .expect() in the library code and remove / replace with error propagation if there are any. This does not include tests.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.2` are: 0.8.2

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.0` are: 0.8.0

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.0` are: 0.8.0

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.3` are: 0.8.3

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.2` are: 0.8.2

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.2` are: 0.8.2

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.3` are: 0.8.3

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Rust dependency files

Dependabot can't resolve your Rust dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Updating crates.io index
error: failed to select a version for `rand`.
    ... required by package `setup-utils v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/setup-utils)`
    ... which is depended on by `phase1 v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1)`
    ... which is depended on by `phase1-cli v0.3.0 (/home/dependabot/dependabot-updater/dependabot_tmp_dir/phase1-cli)`
versions that meet the requirements `=0.8.1` are: 0.8.1

the package `setup-utils` depends on `rand`, with features: `wasm-bindgen` but `rand` does not have these features.


failed to select a version for `rand` which could resolve this conflict

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Move main.rs from phase1-coordinator to a separate example folder

Motivation:
aleo-setup-coordinator uses rocket, which depends on tokio. phase1-coordinator also has tokio in Cargo.toml, but it is not used in the library itself. The whole purpose of including tokio there is to make main.rs work.
There's a situation where we need to update the version of tokio in aleo-setup-coordinator. To avoid duplication and possible errors, we need to change Cargo.toml in both the user code (aleo-setup-coordinator), and the library code (aleo-setup/phase1-coordinator), while the library doesn't even use it.

Proposed solution:
to make a separate folder and to move main.rs there, it will become standalone example of setting up and running the coordinator.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.