Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert serial/synchronous rounds to parallel/asynchronous rounds (#301) #302

Merged
merged 49 commits into from
Jul 12, 2022

Conversation

drewstone
Copy link
Contributor

No description provided.

tbraun96 and others added 2 commits May 3, 2022 00:47
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Thomas Braun <93542359+tpbraun96@users.noreply.github.com>
Co-authored-by: Drew Stone <drewstone329@gmail.com>
Co-authored-by: Dustin Brickwood <dustinbrickwood204@gmail.com>
@tbraun96
Copy link
Contributor

tbraun96 commented May 3, 2022

Linting with clippy when using the dependency socket2 causes errors. Evidently, Clippy internally sets an invalid build target, and as such, we get the errors that we do in the pipeline. For a potential workaround, we can tell clippy to use a workaround. This will require a change to the github actions pipeline on a single line.

Linting with clippy works when we use: cargo clippy -Zunstable-options -- -D warnings

@codecov-commenter
Copy link

codecov-commenter commented May 3, 2022

Codecov Report

Merging #302 (e5b3740) into master (18b1305) will decrease coverage by 1.52%.
The diff coverage is 6.72%.

@@            Coverage Diff             @@
##           master     #302      +/-   ##
==========================================
- Coverage   41.67%   40.14%   -1.53%     
==========================================
  Files          72       73       +1     
  Lines        5006     4743     -263     
==========================================
- Hits         2086     1904     -182     
+ Misses       2920     2839      -81     
Impacted Files Coverage Δ
...gadget/src/async_protocols/blockchain_interface.rs 0.00% <0.00%> (ø)
dkg-gadget/src/async_protocols/incoming.rs 0.00% <0.00%> (ø)
dkg-gadget/src/async_protocols/keygen/handler.rs 0.00% <0.00%> (ø)
...gadget/src/async_protocols/keygen/state_machine.rs 0.00% <0.00%> (ø)
...gadget/src/async_protocols/misbehaviour_monitor.rs 0.00% <0.00%> (ø)
dkg-gadget/src/async_protocols/mod.rs 0.00% <0.00%> (ø)
dkg-gadget/src/async_protocols/remote.rs 0.00% <0.00%> (ø)
dkg-gadget/src/async_protocols/sign/handler.rs 0.00% <0.00%> (ø)
...g-gadget/src/async_protocols/sign/state_machine.rs 0.00% <0.00%> (ø)
dkg-gadget/src/async_protocols/state_machine.rs 0.00% <0.00%> (ø)
... and 48 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 18b1305...e5b3740. Read the comment docs.

@tbraun96
Copy link
Contributor

tbraun96 commented May 3, 2022

The reason why tests is failing the pipeline is because we are using the rust toolchain wasm32-unknown-unknown, yet, when compiling socket2, we get an error because socket2 does not (yet) support wasm.

@dutterbutter
Copy link
Contributor

@tbraun96 hmmmm it doesn't look like too much momentum in having socket2 support wasm based on this issue. It mentions perhaps disabling tokio net feature might work, I don't know if that is a great idea tho.

@tbraun96
Copy link
Contributor

tbraun96 commented May 3, 2022

@tbraun96 hmmmm it doesn't look like too much momentum in having socket2 support wasm based on this issue. It mentions perhaps disabling tokio net feature might work, I don't know if that is a great idea tho.

The issue is that WASM cannot access File I/O, and as such, it cannot access the underlying file descriptors required by async programming. Custom socket opts are requires for libp2p since NAT traversal, depending on the technique, requires SO_REUSE set.

Regardless, it appears now that only 1 test is failing.

@dutterbutter dutterbutter linked an issue May 5, 2022 that may be closed by this pull request
drewstone and others added 2 commits May 23, 2022 15:36
Co-authored-by: Thomas Braun <38082993+tbraun96@users.noreply.github.com>
Co-authored-by: Shady Khalifa <shekohex@gmail.com>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

license-eye has totally checked 279 files.

Valid Invalid Ignored Fixed
153 4 122 0
Click to see the invalid file list
  • dkg-gadget/src/messages/dkg_message.rs
  • dkg-gadget/src/meta_async_rounds/dkg_gossip_engine/mock.rs
  • dkg-gadget/src/meta_async_rounds/dkg_gossip_engine/mod.rs
  • dkg-gadget/src/meta_async_rounds/dkg_gossip_engine/network.rs

dkg-gadget/src/messages/dkg_message.rs Outdated Show resolved Hide resolved
dkg-gadget/src/meta_async_rounds/dkg_gossip_engine/mock.rs Outdated Show resolved Hide resolved
dkg-gadget/src/meta_async_rounds/dkg_gossip_engine/mod.rs Outdated Show resolved Hide resolved
drewstone and others added 5 commits May 25, 2022 23:08
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

license-eye has totally checked 268 files.

Valid Invalid Ignored Fixed
145 3 120 0
Click to see the invalid file list
  • standalone/node/src/command.rs
  • standalone/node/src/command_helper.rs
  • standalone/node/src/rpc.rs

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

license-eye has totally checked 268 files.

Valid Invalid Ignored Fixed
145 3 120 0
Click to see the invalid file list
  • standalone/node/src/command.rs
  • standalone/node/src/command_helper.rs
  • standalone/node/src/rpc.rs

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

license-eye has totally checked 268 files.

Valid Invalid Ignored Fixed
145 3 120 0
Click to see the invalid file list
  • standalone/node/src/command.rs
  • standalone/node/src/command_helper.rs
  • standalone/node/src/rpc.rs

@drewstone
Copy link
Contributor Author

drewstone commented Jun 1, 2022

@dutterbutter can you fix the link errors on this branch?

@dutterbutter
Copy link
Contributor

@drewstone yes no problem

drewstone and others added 12 commits June 16, 2022 15:57
Co-authored-by: Shady Khalifa <dev+github@shadykhalifa.me>
* add more logs and debug info

* remove tokio-console for now
Co-authored-by: drewstone <drewstone329@gmail.com>
* try not to sign if we are not in the current best set

* Bump threshold in chain_spec

* update the logs and emit events with more info

* try to rotate locally if the key on-chain is same as the local queued key

* another bug we found

* check with prev dkg key too

* Restore worker.rs

* Restore lib.rs

* Restore lib.rs

* fix the bug in counting bytes manually

* Fix change authorities threshold updates

* Fixes to race on proposal sign/next keygen

* Bump signing set limit

Co-authored-by: drewstone <drewstone329@gmail.com>
@shekohex shekohex added feature ➕ New feature or request optimization ⚙️ Tasks that are refactor, optimize, or are considered chores. difficulty: challenging 🏴‍☠️ labels Jul 5, 2022
@drewstone drewstone merged commit cdb9da7 into master Jul 12, 2022
@drewstone drewstone deleted the async branch July 12, 2022 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty: challenging 🏴‍☠️ feature ➕ New feature or request optimization ⚙️ Tasks that are refactor, optimize, or are considered chores.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[TASK] Integrate async multi-party-ecdsa protocols POC
6 participants